From b351922fdb9bb1a30b5695cc8050cee609f02828 Mon Sep 17 00:00:00 2001 From: "Worker Pants (Pantsbuild GitHub Automation Bot)" <133242086+WorkerPants@users.noreply.github.com> Date: Wed, 17 Jan 2024 14:13:36 -0800 Subject: [PATCH] Update docs site for version 2.19.0rc5 (#131) Docs from https://github.com/pantsbuild/pants/releases/tag/release_2.19.0rc5 --- .../version-2.19/docs/docker/index.mdx | 30 +- .../getting-started/initial-configuration.mdx | 12 +- .../goals/go-dump-import-path-mapping.mdx | 41 + .../reference/goals/go-export-cgo-codegen.mdx | 44 + .../goals/go-show-package-analysis.mdx | 44 + .../goals/java-dump-source-analysis.mdx | 45 + .../reference/goals/jvm-symbol-map.mdx | 43 + .../goals/kotlin-dump-source-analysis.mdx | 45 + .../goals/scala-dump-source-analysis.mdx | 47 + .../version-2.19/reference/help-all.json | 137248 +++++++++------ .../reference/subsystems/avro.mdx | 48 + .../reference/subsystems/cc-external.mdx | 252 + .../reference/subsystems/cc-infer.mdx | 66 + .../version-2.19/reference/subsystems/cc.mdx | 184 + .../reference/subsystems/clang-format.mdx | 156 + .../version-2.19/reference/subsystems/cue.mdx | 168 + .../subsystems/environments-preview.mdx | 2 +- .../reference/subsystems/go-vet.mdx | 48 + .../reference/subsystems/golangci-lint.mdx | 198 + .../subsystems/google-java-format.mdx | 2 +- .../reference/subsystems/jarjar.mdx | 2 +- .../reference/subsystems/java-avro.mdx | 104 + .../reference/subsystems/java-thrift.mdx | 52 + .../reference/subsystems/junit.mdx | 2 +- .../reference/subsystems/ktlint.mdx | 2 +- .../reference/subsystems/kubeconform.mdx | 223 + .../reference/subsystems/nodejs-infer.mdx | 2 +- .../reference/subsystems/nodejs-test.mdx | 99 + .../reference/subsystems/nodejs.mdx | 2 +- .../subsystems/openapi-generator.mdx | 104 + .../reference/subsystems/prettier.mdx | 94 + .../subsystems/protobuf-java-grpc.mdx | 2 +- .../reference/subsystems/pydocstyle.mdx | 2 +- .../subsystems/pyenv-python-provider.mdx | 169 + .../reference/subsystems/pyright.mdx | 112 + .../reference/subsystems/rust.mdx | 68 + .../reference/subsystems/rustfmt.mdx | 48 + .../reference/subsystems/scalafmt.mdx | 2 +- .../reference/subsystems/scalapb.mdx | 2 +- .../reference/subsystems/scalatest.mdx | 2 +- .../reference/subsystems/scrooge.mdx | 104 + .../reference/subsystems/taplo.mdx | 206 + .../reference/subsystems/terraform-tfsec.mdx | 162 + .../reference/subsystems/visibility.mdx | 62 + .../reference/targets/avro_source.mdx | 106 + .../reference/targets/avro_sources.mdx | 134 + .../reference/targets/cc_source.mdx | 90 + .../reference/targets/cc_sources.mdx | 92 + .../reference/targets/cue_package.mdx | 63 + .../reference/targets/debian_package.mdx | 123 + .../reference/targets/docker_environment.mdx | 168 +- .../reference/targets/docker_image.mdx | 2 - .../reference/targets/go_package.mdx | 24 + .../reference/targets/helm_chart.mdx | 84 + .../reference/targets/helm_deployment.mdx | 84 + .../reference/targets/javascript_source.mdx | 90 + .../reference/targets/javascript_sources.mdx | 121 + .../reference/targets/javascript_test.mdx | 130 + .../reference/targets/javascript_tests.mdx | 161 + .../reference/targets/jvm_artifact.mdx | 2 +- .../reference/targets/local_environment.mdx | 168 +- .../reference/targets/node_package.mdx | 104 + .../targets/node_third_party_package.mdx | 91 + .../reference/targets/openapi_document.mdx | 62 + .../reference/targets/openapi_documents.mdx | 62 + .../reference/targets/package_json.mdx | 95 + .../reference/targets/pants_requirements.mdx | 2 +- .../reference/targets/protobuf_source.mdx | 42 +- .../reference/targets/protobuf_sources.mdx | 54 +- .../targets/python_aws_lambda_function.mdx | 13 + .../targets/python_aws_lambda_layer.mdx | 13 + .../targets/python_google_cloud_function.mdx | 13 + .../reference/targets/python_requirement.mdx | 4 +- .../reference/targets/python_source.mdx | 96 +- .../reference/targets/python_sources.mdx | 96 +- .../reference/targets/python_test.mdx | 118 +- .../reference/targets/python_test_utils.mdx | 96 +- .../reference/targets/python_tests.mdx | 118 +- .../reference/targets/remote_environment.mdx | 168 +- .../reference/targets/rust_package.mdx | 75 + .../reference/targets/scala_artifact.mdx | 2 +- .../reference/targets/swift_source.mdx | 78 + .../reference/targets/swift_sources.mdx | 80 + .../targets/terraform_deployment.mdx | 12 + .../reference/targets/terraform_module.mdx | 24 + .../reference/targets/thrift_source.mdx | 38 + .../reference/targets/thrift_sources.mdx | 38 + 87 files changed, 90181 insertions(+), 53405 deletions(-) create mode 100644 versioned_docs/version-2.19/reference/goals/go-dump-import-path-mapping.mdx create mode 100644 versioned_docs/version-2.19/reference/goals/go-export-cgo-codegen.mdx create mode 100644 versioned_docs/version-2.19/reference/goals/go-show-package-analysis.mdx create mode 100644 versioned_docs/version-2.19/reference/goals/java-dump-source-analysis.mdx create mode 100644 versioned_docs/version-2.19/reference/goals/jvm-symbol-map.mdx create mode 100644 versioned_docs/version-2.19/reference/goals/kotlin-dump-source-analysis.mdx create mode 100644 versioned_docs/version-2.19/reference/goals/scala-dump-source-analysis.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/avro.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/cc-external.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/cc-infer.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/cc.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/clang-format.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/cue.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/go-vet.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/golangci-lint.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/java-avro.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/java-thrift.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/kubeconform.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/nodejs-test.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/openapi-generator.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/prettier.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/pyenv-python-provider.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/pyright.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/rust.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/rustfmt.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/scrooge.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/taplo.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/terraform-tfsec.mdx create mode 100644 versioned_docs/version-2.19/reference/subsystems/visibility.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/avro_source.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/avro_sources.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/cc_source.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/cc_sources.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/cue_package.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/debian_package.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/javascript_source.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/javascript_sources.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/javascript_test.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/javascript_tests.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/node_package.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/node_third_party_package.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/package_json.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/rust_package.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/swift_source.mdx create mode 100644 versioned_docs/version-2.19/reference/targets/swift_sources.mdx diff --git a/versioned_docs/version-2.19/docs/docker/index.mdx b/versioned_docs/version-2.19/docs/docker/index.mdx index e3407cd31..d52757209 100644 --- a/versioned_docs/version-2.19/docs/docker/index.mdx +++ b/versioned_docs/version-2.19/docs/docker/index.mdx @@ -182,23 +182,20 @@ Secrets should not be checked into version control. Use absolute paths to refere See the example for the [`secrets`](../../reference/targets/docker_image.mdx#secrets) field. ::: -### External cache storage backends +### Buildx Support -BuildKit supports exporting build cache to an external location, making it possible to import in future builds. Cache backends can be configured using the [`cache_to`](../../reference/targets/docker_image.mdx#cache_to) and [`cache_from`](../../reference/targets/docker_image.mdx#cache_from) fields. +Buildx (using BuildKit) supports exporting build cache to an external location, making it possible to import in future builds. Cache backends can be configured using the [`cache_to`](../../reference/targets/docker_image.mdx#cache_to) and [`cache_from`](../../reference/targets/docker_image.mdx#cache_from) fields. -Create a builder using a [build driver](https://docs.docker.com/build/drivers/) that is compatible with the cache backend: - -``` -❯ docker buildx create --name container --driver=docker-container container -``` - -Use the builder: - -``` -❯ export BUILDX_BUILDER=container +To use BuildKit with Pants, enable the [Containerd Image Store](https://docs.docker.com/desktop/containerd/), either via [Docker Desktop settings](https://docs.docker.com/storage/containerd/) or by [setting daemon config](https://docs.docker.com/storage/containerd/#enable-containerd-image-store-on-docker-engine): +```json +{ + "features": { + "containerd-snapshotter": true + } +} ``` -Optionally, validate a build with the Docker CLI directly: +Optionally, run a build with the Docker CLI directly to validate buildx support on your system: ``` ❯ docker buildx build -t pants-cache-test:latest \ @@ -206,14 +203,11 @@ Optionally, validate a build with the Docker CLI directly: --cache-from type=local,src=/tmp/docker/pants-test-cache . ``` -Configure Pants to use buildx and pass the BUILDX_BUILDER environment variable: +Configure Pants to use buildx: ```toml tab={"label":"pants.toml"} [docker] use_buildx = true -env_vars = [ - "BUILDX_BUILDER" -] ``` ```python tab={"label":"example/BUILD"} @@ -230,6 +224,8 @@ docker_image( ) ``` +For working examples, including multi-platform builds with Github Actions, refer to the [example-docker](https://github.com/pantsbuild/example-docker) repository. + ### Build Docker image example This example copies both a `file` and `pex_binary`. The file is specified as an explicit dependency in the `BUILD` file, whereas the `pex_binary` dependency is inferred from the path in the `Dockerfile`. diff --git a/versioned_docs/version-2.19/docs/getting-started/initial-configuration.mdx b/versioned_docs/version-2.19/docs/getting-started/initial-configuration.mdx index f9b7b8da1..54b27cc84 100644 --- a/versioned_docs/version-2.19/docs/getting-started/initial-configuration.mdx +++ b/versioned_docs/version-2.19/docs/getting-started/initial-configuration.mdx @@ -9,7 +9,7 @@ Creating the configuration necessary to run Pants. To get started in a new repository, follow these steps, and then visit one of the language-specific overview pages. -1. # Create `pants.toml` +## 1. Create `pants.toml` Pants configuration lives in a file called `pants.toml` in the root of the repo. This file uses the [TOML](https://github.com/toml-lang/toml) format. @@ -22,7 +22,7 @@ pants_version = "$PANTS_VERSION" where `$PANTS_VERSION` is the version of Pants that you want to pin your repo to. When you'd like to upgrade Pants, edit `pants_version` and the `pants` script will self-update on the next run. -2. # Configure source roots +## 2. Configure source roots Many languages organize code in a package hierarchy, so that the relative location of a source file on the filesystem corresponds to a logical package name. The directories that correspond to the roots of the language's package hierarchy are referred to as [source roots](../using-pants/key-concepts/source-roots.mdx). These are the filesystem locations from which import paths are computed. @@ -38,7 +38,7 @@ If your project has a different structure, see [Source roots](../using-pants/key Golang projects already use `go.mod` to indicate source roots. ::: -3. # Enable backends +## 3. Enable backends Most Pants functionality is provided via pluggable [_backends_](../using-pants/key-concepts/backends.mdx), which are activated by adding to the `[GLOBAL].backend_packages` option like this: @@ -54,7 +54,7 @@ backend_packages = [ See [here](../using-pants/key-concepts/backends.mdx) for a list of available backends. -4. # Update `.gitignore` +## 4. Update `.gitignore` If you use Git, we recommend adding these lines to your top-level `.gitignore` file: @@ -68,7 +68,7 @@ If you use Git, we recommend adding these lines to your top-level `.gitignore` f The `pants_ignore` option tells Pants which files to avoid looking at, but it additionally ignores all `.gitignore`d files by default. Occasionally, you will want to ignore something with Git, but still want Pants to work on the file. See [Troubleshooting / common issues](../using-pants/troubleshooting-common-issues.mdx) for how to do this. ::: -5. # Generate BUILD files +## 5. Generate BUILD files Once you have enabled the backends for the language(s) you'd like to use, run [`pants tailor ::`](./initial-configuration.mdx#5-generate-build-files) to generate an initial set of [BUILD](../using-pants/key-concepts/targets-and-build-files.mdx) files. @@ -106,6 +106,6 @@ To fix `tailor` failures, run `pants tailor`. ::: -6. # Visit a language specific overview +## 6. Visit a language specific overview You're almost ready to go! Next up is visiting one of the language-specific overviews listed below. diff --git a/versioned_docs/version-2.19/reference/goals/go-dump-import-path-mapping.mdx b/versioned_docs/version-2.19/reference/goals/go-dump-import-path-mapping.mdx new file mode 100644 index 000000000..065c13791 --- /dev/null +++ b/versioned_docs/version-2.19/reference/goals/go-dump-import-path-mapping.mdx @@ -0,0 +1,41 @@ +--- +title: go-dump-import-path-mapping +description: | + Dump import paths mapped to package addresses. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +``` +pants go-dump-import-path-mapping [args] +``` + +Dump import paths mapped to package addresses. + +Backend: `pants.backend.experimental.go.debug_goals` + +Config section: `[go-dump-import-path-mapping]` + + + +## Basic options + +None + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +- [environments-preview](../subsystems/environments-preview.mdx) +- [filter](../subsystems/filter.mdx) + + diff --git a/versioned_docs/version-2.19/reference/goals/go-export-cgo-codegen.mdx b/versioned_docs/version-2.19/reference/goals/go-export-cgo-codegen.mdx new file mode 100644 index 000000000..b479be09c --- /dev/null +++ b/versioned_docs/version-2.19/reference/goals/go-export-cgo-codegen.mdx @@ -0,0 +1,44 @@ +--- +title: go-export-cgo-codegen +description: | + Export files generated by Cgo. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +``` +pants go-export-cgo-codegen [args] +``` + +Export files generated by Cgo. + +Backend: `pants.backend.experimental.go.debug_goals` + +Config section: `[go-export-cgo-codegen]` + + + +## Basic options + +None + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +- [environments-preview](../subsystems/environments-preview.mdx) +- [filter](../subsystems/filter.mdx) +- [go-test](../subsystems/go-test.mdx) +- [golang](../subsystems/golang.mdx) +- [system-binaries](../subsystems/system-binaries.mdx) + + diff --git a/versioned_docs/version-2.19/reference/goals/go-show-package-analysis.mdx b/versioned_docs/version-2.19/reference/goals/go-show-package-analysis.mdx new file mode 100644 index 000000000..f9b44692c --- /dev/null +++ b/versioned_docs/version-2.19/reference/goals/go-show-package-analysis.mdx @@ -0,0 +1,44 @@ +--- +title: go-show-package-analysis +description: | + Show the package analysis for Go package targets. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +``` +pants go-show-package-analysis [args] +``` + +Show the package analysis for Go package targets. + +Backend: `pants.backend.experimental.go.debug_goals` + +Config section: `[go-show-package-analysis]` + + + +## Basic options + +None + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +- [environments-preview](../subsystems/environments-preview.mdx) +- [filter](../subsystems/filter.mdx) +- [go-test](../subsystems/go-test.mdx) +- [golang](../subsystems/golang.mdx) +- [system-binaries](../subsystems/system-binaries.mdx) + + diff --git a/versioned_docs/version-2.19/reference/goals/java-dump-source-analysis.mdx b/versioned_docs/version-2.19/reference/goals/java-dump-source-analysis.mdx new file mode 100644 index 000000000..fdef972de --- /dev/null +++ b/versioned_docs/version-2.19/reference/goals/java-dump-source-analysis.mdx @@ -0,0 +1,45 @@ +--- +title: java-dump-source-analysis +description: | + Dump source analysis for java_source[s] targets. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +``` +pants java-dump-source-analysis [args] +``` + +Dump source analysis for java_source[s] targets. + +Backend: `pants.backend.experimental.java.debug_goals` + +Config section: `[java-dump-source-analysis]` + + + +## Basic options + +None + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +- [coursier](../subsystems/coursier.mdx) +- [environments-preview](../subsystems/environments-preview.mdx) +- [filter](../subsystems/filter.mdx) +- [jvm](../subsystems/jvm.mdx) +- [python-bootstrap](../subsystems/python-bootstrap.mdx) +- [system-binaries](../subsystems/system-binaries.mdx) + + diff --git a/versioned_docs/version-2.19/reference/goals/jvm-symbol-map.mdx b/versioned_docs/version-2.19/reference/goals/jvm-symbol-map.mdx new file mode 100644 index 000000000..90be05024 --- /dev/null +++ b/versioned_docs/version-2.19/reference/goals/jvm-symbol-map.mdx @@ -0,0 +1,43 @@ +--- +title: jvm-symbol-map +description: | + Dump the JVM dependency inference symbol mapping. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +``` +pants jvm-symbol-map [args] +``` + +Dump the JVM dependency inference symbol mapping. + +Backend: `pants.backend.experimental.java.debug_goals` + +Config section: `[jvm-symbol-map]` + + + +## Basic options + +None + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +- [environments-preview](../subsystems/environments-preview.mdx) +- [filter](../subsystems/filter.mdx) +- [java-infer](../subsystems/java-infer.mdx) +- [jvm](../subsystems/jvm.mdx) + + diff --git a/versioned_docs/version-2.19/reference/goals/kotlin-dump-source-analysis.mdx b/versioned_docs/version-2.19/reference/goals/kotlin-dump-source-analysis.mdx new file mode 100644 index 000000000..1b18e154c --- /dev/null +++ b/versioned_docs/version-2.19/reference/goals/kotlin-dump-source-analysis.mdx @@ -0,0 +1,45 @@ +--- +title: kotlin-dump-source-analysis +description: | + Dump source analysis for kotlin_source targets. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +``` +pants kotlin-dump-source-analysis [args] +``` + +Dump source analysis for kotlin_source targets. + +Backend: `pants.backend.experimental.kotlin.debug_goals` + +Config section: `[kotlin-dump-source-analysis]` + + + +## Basic options + +None + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +- [coursier](../subsystems/coursier.mdx) +- [environments-preview](../subsystems/environments-preview.mdx) +- [filter](../subsystems/filter.mdx) +- [jvm](../subsystems/jvm.mdx) +- [python-bootstrap](../subsystems/python-bootstrap.mdx) +- [system-binaries](../subsystems/system-binaries.mdx) + + diff --git a/versioned_docs/version-2.19/reference/goals/scala-dump-source-analysis.mdx b/versioned_docs/version-2.19/reference/goals/scala-dump-source-analysis.mdx new file mode 100644 index 000000000..37525aa7b --- /dev/null +++ b/versioned_docs/version-2.19/reference/goals/scala-dump-source-analysis.mdx @@ -0,0 +1,47 @@ +--- +title: scala-dump-source-analysis +description: | + Dump source analysis for scala_source targets. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +``` +pants scala-dump-source-analysis [args] +``` + +Dump source analysis for scala_source targets. + +Backend: `pants.backend.experimental.scala.debug_goals` + +Config section: `[scala-dump-source-analysis]` + + + +## Basic options + +None + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +- [coursier](../subsystems/coursier.mdx) +- [environments-preview](../subsystems/environments-preview.mdx) +- [filter](../subsystems/filter.mdx) +- [jvm](../subsystems/jvm.mdx) +- [python-bootstrap](../subsystems/python-bootstrap.mdx) +- [scala](../subsystems/scala.mdx) +- [scalac](../subsystems/scalac.mdx) +- [system-binaries](../subsystems/system-binaries.mdx) + + diff --git a/versioned_docs/version-2.19/reference/help-all.json b/versioned_docs/version-2.19/reference/help-all.json index a9649c3fe..ffc3f236c 100644 --- a/versioned_docs/version-2.19/reference/help-all.json +++ b/versioned_docs/version-2.19/reference/help-all.json @@ -16,10 +16,14 @@ "help": "Arguments to pass directly to add-trailing-comma, e.g. `--add-trailing-comma-args='--py36-plus'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-args"], + "scoped_cmd_line_args": [ + "--add-trailing-comma-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -43,16 +47,22 @@ "default": "add-trailing-comma", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--add-trailing-comma-console-script="], + "display_args": [ + "--add-trailing-comma-console-script=" + ], "env_var": "PANTS_ADD_TRAILING_COMMA_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-console-script"], + "scoped_cmd_line_args": [ + "--add-trailing-comma-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -76,16 +86,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--add-trailing-comma-entry-point="], + "display_args": [ + "--add-trailing-comma-entry-point=" + ], "env_var": "PANTS_ADD_TRAILING_COMMA_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-entry-point"], + "scoped_cmd_line_args": [ + "--add-trailing-comma-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -104,16 +120,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--add-trailing-comma-install-from-resolve="], + "display_args": [ + "--add-trailing-comma-install-from-resolve=" + ], "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--add-trailing-comma-install-from-resolve"], + "scoped_cmd_line_args": [ + "--add-trailing-comma-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -129,7 +151,9 @@ "comma_separated_choices": null, "comma_separated_display_args": "--add-trailing-comma-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -140,10 +164,14 @@ "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--add-trailing-comma-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -154,7 +182,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -175,10 +205,14 @@ "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-requirements"], + "scoped_cmd_line_args": [ + "--add-trailing-comma-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -202,7 +236,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]add-trailing-comma-skip"], + "display_args": [ + "--[no-]add-trailing-comma-skip" + ], "env_var": "PANTS_ADD_TRAILING_COMMA_SKIP", "fromfile": false, "help": "If true, don't use add-trailing-comma when running `pants fmt` and `pants lint`.", @@ -214,7 +250,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -238,7 +277,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]anonymous-telemetry-enabled"], + "display_args": [ + "--[no-]anonymous-telemetry-enabled" + ], "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/v2.19/docs/anonymous-telemetry for details.", @@ -250,7 +291,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--enabled", "--no-enabled"], + "unscoped_cmd_line_args": [ + "--enabled", + "--no-enabled" + ], "value_history": { "ranked_values": [ { @@ -274,16 +318,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--anonymous-telemetry-repo-id="], + "display_args": [ + "--anonymous-telemetry-repo-id=" + ], "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/v2.19/docs/anonymous-telemetry for details.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--anonymous-telemetry-repo-id"], + "scoped_cmd_line_args": [ + "--anonymous-telemetry-repo-id" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--repo-id"], + "unscoped_cmd_line_args": [ + "--repo-id" + ], "value_history": { "ranked_values": [ { @@ -302,16 +352,22 @@ "default": "0.15", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--apache-thrift-expected-version="], + "display_args": [ + "--apache-thrift-expected-version=" + ], "env_var": "PANTS_APACHE_THRIFT_EXPECTED_VERSION", "fromfile": false, "help": "The major/minor version of Apache Thrift that you are using, such as `0.15`.\n\nPants will only use Thrift binaries from `--thrift-search-paths` that have the expected version, and it will error if none are found.\n\nDo not include the patch version.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--apache-thrift-expected-version"], + "scoped_cmd_line_args": [ + "--apache-thrift-expected-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--expected-version"], + "unscoped_cmd_line_args": [ + "--expected-version" + ], "value_history": { "ranked_values": [ { @@ -332,7 +388,9 @@ "comma_separated_choices": null, "comma_separated_display_args": "--apache-thrift-thrift-search-paths=\"['', '', ...]\"", "config_key": "thrift_search_paths", - "default": [""], + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -343,10 +401,14 @@ "help": "A list of paths to search for Thrift.\n\nSpecify absolute paths to directories with the `thrift` binary, e.g. `/usr/bin`. Earlier entries will be searched first.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--apache-thrift-thrift-search-paths"], + "scoped_cmd_line_args": [ + "--apache-thrift-thrift-search-paths" + ], "target_field_name": "apache_thrift_thrift_search_paths", "typ": "list", - "unscoped_cmd_line_args": ["--thrift-search-paths"], + "unscoped_cmd_line_args": [ + "--thrift-search-paths" + ], "value_history": { "ranked_values": [ { @@ -357,7 +419,9 @@ { "details": "", "rank": "HARDCODED", - "value": [""] + "value": [ + "" + ] } ] } @@ -367,19 +431,27 @@ "comma_separated_choices": null, "comma_separated_display_args": "--autoflake-args=\"[, , ...]\"", "config_key": "args", - "default": ["--remove-all-unused-imports"], + "default": [ + "--remove-all-unused-imports" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--autoflake-args=\"[, , ...]\""], + "display_args": [ + "--autoflake-args=\"[, , ...]\"" + ], "env_var": "PANTS_AUTOFLAKE_ARGS", "fromfile": false, "help": "Arguments to pass directly to Autoflake, e.g. `--autoflake-args='--remove-all-unused-imports --target-version=py37 --quiet'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-args"], + "scoped_cmd_line_args": [ + "--autoflake-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -390,7 +462,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["--remove-all-unused-imports"] + "value": [ + "--remove-all-unused-imports" + ] } ] } @@ -403,16 +477,22 @@ "default": "autoflake", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--autoflake-console-script="], + "display_args": [ + "--autoflake-console-script=" + ], "env_var": "PANTS_AUTOFLAKE_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-console-script"], + "scoped_cmd_line_args": [ + "--autoflake-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -436,16 +516,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--autoflake-entry-point="], + "display_args": [ + "--autoflake-entry-point=" + ], "env_var": "PANTS_AUTOFLAKE_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-entry-point"], + "scoped_cmd_line_args": [ + "--autoflake-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -464,16 +550,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--autoflake-install-from-resolve="], + "display_args": [ + "--autoflake-install-from-resolve=" + ], "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--autoflake-install-from-resolve"], + "scoped_cmd_line_args": [ + "--autoflake-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -489,7 +581,9 @@ "comma_separated_choices": null, "comma_separated_display_args": "--autoflake-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -500,10 +594,14 @@ "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--autoflake-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -514,7 +612,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -527,16 +627,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--autoflake-requirements=\"['', '', ...]\""], + "display_args": [ + "--autoflake-requirements=\"['', '', ...]\"" + ], "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-requirements"], + "scoped_cmd_line_args": [ + "--autoflake-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -560,16 +666,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]autoflake-skip"], + "display_args": [ + "--[no-]autoflake-skip" + ], "env_var": "PANTS_AUTOFLAKE_SKIP", "fromfile": false, "help": "If true, don't use Autoflake when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-skip", "--no-autoflake-skip"], + "scoped_cmd_line_args": [ + "--autoflake-skip", + "--no-autoflake-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -585,6 +699,47 @@ ] } }, + "PANTS_AVRO_TAILOR": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]avro-tailor", + "config_key": "tailor", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]avro-tailor" + ], + "env_var": "PANTS_AVRO_TAILOR", + "fromfile": false, + "help": "If true, add `avro_sources` targets with the `tailor` goal.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--avro-tailor", + "--no-avro-tailor" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, "PANTS_BACKEND_PACKAGES": { "choices": null, "comma_separated_choices": null, @@ -593,16 +748,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--backend-packages=\"['', '', ...]\""], + "display_args": [ + "--backend-packages=\"['', '', ...]\"" + ], "env_var": "PANTS_BACKEND_PACKAGES", "fromfile": false, "help": "Register functionality from these backends.\n\nThe backend packages must be present on the PYTHONPATH, typically because they are in the Pants core dist, in a plugin dist, or available as sources in the repo.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--backend-packages"], + "scoped_cmd_line_args": [ + "--backend-packages" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--backend-packages"], + "unscoped_cmd_line_args": [ + "--backend-packages" + ], "value_history": { "ranked_values": [ { @@ -615,52 +776,74 @@ "rank": "HARDCODED", "value": [] }, - { - "details": "from env var PANTS_BACKEND_PACKAGES", - "rank": "ENVIRONMENT", - "value": [] - }, { "details": "from command-line flag", "rank": "FLAG", "value": [ + "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.yapf", - "pants.backend.awslambda.python", "pants.backend.codegen.protobuf.lint.buf", "pants.backend.codegen.protobuf.python", "pants.backend.codegen.thrift.apache.python", "pants.backend.docker", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.codegen.avro.java", "pants.backend.experimental.codegen.protobuf.go", "pants.backend.experimental.codegen.protobuf.java", "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", + "pants.backend.experimental.cue", + "pants.backend.experimental.debian", "pants.backend.experimental.go", + "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.debug_goals", "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.debug_goals", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.openapi", + "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.django", "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.python.lint.add_trailing_comma", + "pants.backend.experimental.python.lint.autoflake", + "pants.backend.experimental.python.lint.pyupgrade", "pants.backend.experimental.python.lint.ruff", "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.rust", "pants.backend.experimental.scala", + "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.swift", "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.workunit_logger", "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.visibility", "pants.backend.google_cloud_function.python", "pants.backend.plugin_development", + "pants.backend.project_info", "pants.backend.python", "pants.backend.python.lint.autoflake", "pants.backend.python.lint.bandit", @@ -673,11 +856,16 @@ "pants.backend.python.lint.pyupgrade", "pants.backend.python.lint.yapf", "pants.backend.python.mixed_interpreter_constraints", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", "pants.backend.python.typecheck.mypy", "pants.backend.shell", "pants.backend.shell.lint.shellcheck", "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble" + "pants.backend.tools.preamble", + "pants.backend.tools.taplo", + "pants.backend.url_handlers.s3", + "pants.core" ] } ] @@ -691,16 +879,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-args=\"[, , ...]\""], + "display_args": [ + "--bandit-args=\"[, , ...]\"" + ], "env_var": "PANTS_BANDIT_ARGS", "fromfile": false, "help": "Arguments to pass directly to Bandit, e.g. `--bandit-args='--skip B101,B308 --confidence'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-args"], + "scoped_cmd_line_args": [ + "--bandit-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -724,16 +918,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-config="], + "display_args": [ + "--bandit-config=" + ], "env_var": "PANTS_BANDIT_CONFIG", "fromfile": false, "help": "Path to a Bandit YAML config file (https://bandit.readthedocs.io/en/latest/config.html).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-config"], + "scoped_cmd_line_args": [ + "--bandit-config" + ], "target_field_name": null, "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -752,16 +952,22 @@ "default": "bandit", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-console-script="], + "display_args": [ + "--bandit-console-script=" + ], "env_var": "PANTS_BANDIT_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-console-script"], + "scoped_cmd_line_args": [ + "--bandit-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -785,16 +991,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-entry-point="], + "display_args": [ + "--bandit-entry-point=" + ], "env_var": "PANTS_BANDIT_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-entry-point"], + "scoped_cmd_line_args": [ + "--bandit-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -813,16 +1025,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-install-from-resolve="], + "display_args": [ + "--bandit-install-from-resolve=" + ], "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--bandit-install-from-resolve"], + "scoped_cmd_line_args": [ + "--bandit-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -841,16 +1059,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-requirements=\"['', '', ...]\""], + "display_args": [ + "--bandit-requirements=\"['', '', ...]\"" + ], "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-requirements"], + "scoped_cmd_line_args": [ + "--bandit-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -874,16 +1098,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]bandit-skip"], + "display_args": [ + "--[no-]bandit-skip" + ], "env_var": "PANTS_BANDIT_SKIP", "fromfile": false, "help": "If true, don't use Bandit when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-skip", "--no-bandit-skip"], + "scoped_cmd_line_args": [ + "--bandit-skip", + "--no-bandit-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -907,16 +1139,22 @@ "default": "pants", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-bin-name="], + "display_args": [ + "--pants-bin-name=" + ], "env_var": "PANTS_BIN_NAME", "fromfile": false, "help": "The name of the script or binary used to invoke Pants. Useful when printing help messages.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-bin-name"], + "scoped_cmd_line_args": [ + "--pants-bin-name" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--pants-bin-name"], + "unscoped_cmd_line_args": [ + "--pants-bin-name" + ], "value_history": { "ranked_values": [ { @@ -932,7 +1170,7 @@ { "details": "from env var PANTS_BIN_NAME", "rank": "ENVIRONMENT", - "value": "/home/josh/work/scie-pants/dist/pants" + "value": "pants" } ] } @@ -945,16 +1183,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-args=\"[, , ...]\""], + "display_args": [ + "--black-args=\"[, , ...]\"" + ], "env_var": "PANTS_BLACK_ARGS", "fromfile": false, "help": "Arguments to pass directly to Black, e.g. `--black-args='--target-version=py37 --quiet'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-args"], + "scoped_cmd_line_args": [ + "--black-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -978,16 +1222,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-config="], + "display_args": [ + "--black-config=" + ], "env_var": "PANTS_BLACK_CONFIG", "fromfile": false, "help": "Path to a TOML config file understood by Black (https://github.com/psf/black#configuration-format).\n\nSetting this option will disable `[black].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-config"], + "scoped_cmd_line_args": [ + "--black-config" + ], "target_field_name": null, "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -1006,7 +1256,9 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]black-config-discovery"], + "display_args": [ + "--[no-]black-config-discovery" + ], "env_var": "PANTS_BLACK_CONFIG_DISCOVERY", "fromfile": false, "help": "If true, Pants will include any relevant pyproject.toml config files during runs.\n\nUse `[black].config` instead if your config is in a non-standard location.", @@ -1018,7 +1270,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -1042,16 +1297,22 @@ "default": "black", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-console-script="], + "display_args": [ + "--black-console-script=" + ], "env_var": "PANTS_BLACK_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-console-script"], + "scoped_cmd_line_args": [ + "--black-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -1075,16 +1336,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-entry-point="], + "display_args": [ + "--black-entry-point=" + ], "env_var": "PANTS_BLACK_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-entry-point"], + "scoped_cmd_line_args": [ + "--black-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -1103,16 +1370,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-install-from-resolve="], + "display_args": [ + "--black-install-from-resolve=" + ], "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--black-install-from-resolve"], + "scoped_cmd_line_args": [ + "--black-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -1128,7 +1401,9 @@ "comma_separated_choices": null, "comma_separated_display_args": "--black-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -1139,10 +1414,14 @@ "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--black-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -1153,7 +1432,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -1166,16 +1447,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-requirements=\"['', '', ...]\""], + "display_args": [ + "--black-requirements=\"['', '', ...]\"" + ], "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-requirements"], + "scoped_cmd_line_args": [ + "--black-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -1199,16 +1486,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]black-skip"], + "display_args": [ + "--[no-]black-skip" + ], "env_var": "PANTS_BLACK_SKIP", "fromfile": false, "help": "If true, don't use Black when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-skip", "--no-black-skip"], + "scoped_cmd_line_args": [ + "--black-skip", + "--no-black-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -1232,16 +1527,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-config="], + "display_args": [ + "--buf-config=" + ], "env_var": "PANTS_BUF_CONFIG", "fromfile": false, "help": "Path to a config file understood by Buf (https://docs.buf.build/configuration/overview).\n\nSetting this option will disable `[buf].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-config"], + "scoped_cmd_line_args": [ + "--buf-config" + ], "target_field_name": null, "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -1260,7 +1561,9 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]buf-config-discovery"], + "display_args": [ + "--[no-]buf-config-discovery" + ], "env_var": "PANTS_BUF_CONFIG_DISCOVERY", "fromfile": false, "help": "If true, Pants will include any relevant root config files during runs (`buf.yaml`). If the json format is preferred, the path to the `buf.json` file should be provided in the config option.\n\nUse `[buf].config` instead if your config is in a non-standard location.", @@ -1272,7 +1575,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -1296,16 +1602,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-format-args=\"[, , ...]\""], + "display_args": [ + "--buf-format-args=\"[, , ...]\"" + ], "env_var": "PANTS_BUF_FORMAT_ARGS", "fromfile": false, "help": "Arguments to pass directly to Buf, e.g. `--buf-args='--error-format json'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-format-args"], + "scoped_cmd_line_args": [ + "--buf-format-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--format-args"], + "unscoped_cmd_line_args": [ + "--format-args" + ], "value_history": { "ranked_values": [ { @@ -1329,16 +1641,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]buf-format-skip"], + "display_args": [ + "--[no-]buf-format-skip" + ], "env_var": "PANTS_BUF_FORMAT_SKIP", "fromfile": false, "help": "If true, don't use Buf when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-format-skip", "--no-buf-format-skip"], + "scoped_cmd_line_args": [ + "--buf-format-skip", + "--no-buf-format-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--format-skip", "--no-format-skip"], + "unscoped_cmd_line_args": [ + "--format-skip", + "--no-format-skip" + ], "value_history": { "ranked_values": [ { @@ -1367,16 +1687,22 @@ ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-known-versions=\"['', '', ...]\""], + "display_args": [ + "--buf-known-versions=\"['', '', ...]\"" + ], "env_var": "PANTS_BUF_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": ["--buf-known-versions"], + "scoped_cmd_line_args": [ + "--buf-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -1405,16 +1731,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-lint-args=\"[, , ...]\""], + "display_args": [ + "--buf-lint-args=\"[, , ...]\"" + ], "env_var": "PANTS_BUF_LINT_ARGS", "fromfile": false, "help": "Arguments to pass directly to Buf, e.g. `--buf-args='--error-format json'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-lint-args"], + "scoped_cmd_line_args": [ + "--buf-lint-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--lint-args"], + "unscoped_cmd_line_args": [ + "--lint-args" + ], "value_history": { "ranked_values": [ { @@ -1438,16 +1770,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]buf-lint-skip"], + "display_args": [ + "--[no-]buf-lint-skip" + ], "env_var": "PANTS_BUF_LINT_SKIP", "fromfile": false, "help": "If true, don't use Buf when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-lint-skip", "--no-buf-lint-skip"], + "scoped_cmd_line_args": [ + "--buf-lint-skip", + "--no-buf-lint-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--lint-skip", "--no-lint-skip"], + "unscoped_cmd_line_args": [ + "--lint-skip", + "--no-lint-skip" + ], "value_history": { "ranked_values": [ { @@ -1484,10 +1824,14 @@ "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": ["--buf-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--buf-url-platform-mapping" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { @@ -1516,16 +1860,22 @@ "default": "https://github.com/bufbuild/buf/releases/download/{version}/buf-{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-url-template="], + "display_args": [ + "--buf-url-template=" + ], "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/v2.19/docs/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": ["--buf-url-template"], + "scoped_cmd_line_args": [ + "--buf-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -1542,7 +1892,10 @@ } }, "PANTS_BUF_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], + "choices": [ + "error", + "warning" + ], "comma_separated_choices": "error, warning", "comma_separated_display_args": "--buf-use-unsupported-version=", "config_key": "use_unsupported_version", @@ -1557,10 +1910,14 @@ "help": "\nWhat action to take in case the requested version of Buf is not supported.\n\nSupported Buf versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--buf-use-unsupported-version" + ], "target_field_name": null, "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -1584,16 +1941,22 @@ "default": "v1.3.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-version="], + "display_args": [ + "--buf-version=" + ], "env_var": "PANTS_BUF_VERSION", "fromfile": false, "help": "Use this version of Buf.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-version"], + "scoped_cmd_line_args": [ + "--buf-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -1617,16 +1980,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buildifier-args=\"[, , ...]\""], + "display_args": [ + "--buildifier-args=\"[, , ...]\"" + ], "env_var": "PANTS_BUILDIFIER_ARGS", "fromfile": false, "help": "Arguments to pass directly to Buildifier, e.g. `--buildifier-args='-lint=fix'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-args"], + "scoped_cmd_line_args": [ + "--buildifier-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -1663,10 +2032,14 @@ "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": ["--buildifier-known-versions"], + "scoped_cmd_line_args": [ + "--buildifier-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -1695,16 +2068,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]buildifier-skip"], + "display_args": [ + "--[no-]buildifier-skip" + ], "env_var": "PANTS_BUILDIFIER_SKIP", "fromfile": false, "help": "If true, don't use Buildifier when running `pants fmt`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-skip", "--no-buildifier-skip"], + "scoped_cmd_line_args": [ + "--buildifier-skip", + "--no-buildifier-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -1741,10 +2122,14 @@ "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": ["--buildifier-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--buildifier-url-platform-mapping" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { @@ -1773,16 +2158,22 @@ "default": "https://github.com/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buildifier-url-template="], + "display_args": [ + "--buildifier-url-template=" + ], "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/v2.19/docs/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": ["--buildifier-url-template"], + "scoped_cmd_line_args": [ + "--buildifier-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -1799,7 +2190,10 @@ } }, "PANTS_BUILDIFIER_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], + "choices": [ + "error", + "warning" + ], "comma_separated_choices": "error, warning", "comma_separated_display_args": "--buildifier-use-unsupported-version=", "config_key": "use_unsupported_version", @@ -1814,10 +2208,14 @@ "help": "\nWhat action to take in case the requested version of Buildifier is not supported.\n\nSupported Buildifier versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--buildifier-use-unsupported-version" + ], "target_field_name": null, "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -1841,16 +2239,22 @@ "default": "5.1.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buildifier-version="], + "display_args": [ + "--buildifier-version=" + ], "env_var": "PANTS_BUILDIFIER_VERSION", "fromfile": false, "help": "Use this version of Buildifier.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-version"], + "scoped_cmd_line_args": [ + "--buildifier-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -1874,7 +2278,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]build-deprecations-fixer-skip"], + "display_args": [ + "--[no-]build-deprecations-fixer-skip" + ], "env_var": "PANTS_BUILD_DEPRECATIONS_FIXER_SKIP", "fromfile": false, "help": "If true, don't use BUILD Deprecations Fixer when running `pants fix`.", @@ -1886,7 +2292,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -1918,10 +2327,14 @@ "help": "Python files to evaluate and whose symbols should be exposed to all BUILD files. See https://www.pantsbuild.org/v2.19/docs/macros.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--build-file-prelude-globs"], + "scoped_cmd_line_args": [ + "--build-file-prelude-globs" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--build-file-prelude-globs"], + "unscoped_cmd_line_args": [ + "--build-file-prelude-globs" + ], "value_history": { "ranked_values": [ { @@ -1945,16 +2358,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--build-ignore=\"['', '', ...]\""], + "display_args": [ + "--build-ignore=\"['', '', ...]\"" + ], "env_var": "PANTS_BUILD_IGNORE", "fromfile": false, "help": "Path globs or literals to ignore when identifying BUILD files.\n\nThis does not affect any other filesystem operations; use `--pants-ignore` for that instead.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--build-ignore"], + "scoped_cmd_line_args": [ + "--build-ignore" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--build-ignore"], + "unscoped_cmd_line_args": [ + "--build-ignore" + ], "value_history": { "ranked_values": [ { @@ -1975,19 +2394,28 @@ "comma_separated_choices": null, "comma_separated_display_args": "--build-patterns=\"['', '', ...]\"", "config_key": "build_patterns", - "default": ["BUILD", "BUILD.*"], + "default": [ + "BUILD", + "BUILD.*" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--build-patterns=\"['', '', ...]\""], + "display_args": [ + "--build-patterns=\"['', '', ...]\"" + ], "env_var": "PANTS_BUILD_PATTERNS", "fromfile": false, "help": "The naming scheme for BUILD files, i.e. where you define targets.\n\nThis only sets the naming scheme, not the directory paths to look for. To add ignore patterns, use the option `[GLOBAL].build_ignore`.\n\nYou may also need to update the option `[tailor].build_file_name` so that it is compatible with this option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--build-patterns"], + "scoped_cmd_line_args": [ + "--build-patterns" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--build-patterns"], + "unscoped_cmd_line_args": [ + "--build-patterns" + ], "value_history": { "ranked_values": [ { @@ -1998,29 +2426,42 @@ { "details": "", "rank": "HARDCODED", - "value": ["BUILD", "BUILD.*"] + "value": [ + "BUILD", + "BUILD.*" + ] } ] } }, "PANTS_CACHE_CONTENT_BEHAVIOR": { - "choices": ["fetch", "validate", "defer"], + "choices": [ + "fetch", + "validate", + "defer" + ], "comma_separated_choices": "fetch, validate, defer", "comma_separated_display_args": "--cache-content-behavior=", "config_key": "cache_content_behavior", "default": "fetch", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--cache-content-behavior="], + "display_args": [ + "--cache-content-behavior=" + ], "env_var": "PANTS_CACHE_CONTENT_BEHAVIOR", "fromfile": false, "help": "Controls how the content of cache entries is handled during process execution.\n\nWhen using a remote cache, the `fetch` behavior will fetch remote cache content from the remote store before considering the cache lookup a hit, while the `validate` behavior will only validate (for either a local or remote cache) that the content exists, without fetching it.\n\nThe `defer` behavior, on the other hand, will neither fetch nor validate the cache content before calling a cache hit a hit. This \"defers\" actually fetching the cache entry until Pants needs it (which may be never).\n\nThe `defer` mode is the most network efficient (because it will completely skip network requests in many cases), followed by the `validate` mode (since it can still skip fetching the content if no consumer ends up needing it). But both the `validate` and `defer` modes rely on an experimental feature called \"backtracking\" to attempt to recover if content later turns out to be missing (`validate` has a much narrower window for backtracking though, since content would need to disappear between validation and consumption: generally, within one `pantsd` session).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--cache-content-behavior"], + "scoped_cmd_line_args": [ + "--cache-content-behavior" + ], "target_field_name": null, "typ": "CacheContentBehavior", - "unscoped_cmd_line_args": ["--cache-content-behavior"], + "unscoped_cmd_line_args": [ + "--cache-content-behavior" + ], "value_history": { "ranked_values": [ { @@ -2044,166 +2485,185 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ca-certs-path="], + "display_args": [ + "--ca-certs-path=" + ], "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/v2.19/docs/options.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ca-certs-path"], + "scoped_cmd_line_args": [ + "--ca-certs-path" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--ca-certs-path"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - } - ] - } - }, - "PANTS_CHANGED_DEPENDEES": { - "choices": ["none", "direct", "transitive"], - "comma_separated_choices": "none, direct, transitive", - "comma_separated_display_args": "--changed-dependees=", - "config_key": "dependees", - "default": "none", - "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.23.0.dev0.", - "deprecation_active": true, - "display_args": ["--changed-dependees="], - "env_var": "PANTS_CHANGED_DEPENDEES", - "fromfile": false, - "help": "Include direct or transitive dependents of changed targets.", - "removal_hint": "Use --dependents instead", - "removal_version": "2.23.0.dev0", - "scoped_cmd_line_args": ["--changed-dependees"], - "target_field_name": null, - "typ": "DependentsOption", - "unscoped_cmd_line_args": ["--dependees"], + "unscoped_cmd_line_args": [ + "--ca-certs-path" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "none" } ] } }, - "PANTS_CHANGED_DEPENDENTS": { - "choices": ["none", "direct", "transitive"], - "comma_separated_choices": "none, direct, transitive", - "comma_separated_display_args": "--changed-dependents=", - "config_key": "dependents", - "default": "none", + "PANTS_CC_CXX_COMPILER_FLAGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--cc-cxx-compiler-flags=\"['', '', ...]\"", + "config_key": "cxx_compiler_flags", + "default": [ + "-std=c++11" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--changed-dependents="], - "env_var": "PANTS_CHANGED_DEPENDENTS", + "display_args": [ + "--cc-cxx-compiler-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_CXX_COMPILER_FLAGS", "fromfile": false, - "help": "Include direct or transitive dependents of changed targets.", + "help": "Flags passed to the C++ compiler. These flags are merged with the target-level defines, with the target-level flags taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--changed-dependents"], + "scoped_cmd_line_args": [ + "--cc-cxx-compiler-flags" + ], "target_field_name": null, - "typ": "DependentsOption", - "unscoped_cmd_line_args": ["--dependents"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-compiler-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "none" + "value": [ + "-std=c++11" + ] } ] } }, - "PANTS_CHANGED_DIFFSPEC": { + "PANTS_CC_CXX_DEFINITIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--changed-diffspec=", - "config_key": "diffspec", - "default": null, + "comma_separated_display_args": "--cc-cxx-definitions=\"['', '', ...]\"", + "config_key": "cxx_definitions", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--changed-diffspec="], - "env_var": "PANTS_CHANGED_DIFFSPEC", + "display_args": [ + "--cc-cxx-definitions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_CXX_DEFINITIONS", "fromfile": false, - "help": "Calculate changes contained within a given Git spec (commit range/SHA/ref).", + "help": "A list of strings to define in the C++ preprocessor. Will be prefixed by -D at the command line. These defines are merged with the target-level defines, with the target-level definitions taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--changed-diffspec"], + "scoped_cmd_line_args": [ + "--cc-cxx-definitions" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--diffspec"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-definitions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_CHANGED_SINCE": { + "PANTS_CC_CXX_EXECUTABLE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--changed-since=", - "config_key": "since", - "default": null, + "comma_separated_display_args": "--cc-cxx-executable=\"['', '', ...]\"", + "config_key": "cxx_executable", + "default": [ + "clang++", + "g++" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--changed-since="], - "env_var": "PANTS_CHANGED_SINCE", + "display_args": [ + "--cc-cxx-executable=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_CXX_EXECUTABLE", "fromfile": false, - "help": "Calculate changes since this Git spec (commit range/SHA/ref).", + "help": "A list of binary names for the C compiler (in the `search_paths`). The list is searched in order until a compiler is found.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--changed-since"], + "scoped_cmd_line_args": [ + "--cc-cxx-executable" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--since"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-executable" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "clang++", + "g++" + ] } ] } }, - "PANTS_CHECK_ONLY": { + "PANTS_CC_C_COMPILER_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--check-only=\"['', '', ...]\"", - "config_key": "only", - "default": [], + "comma_separated_display_args": "--cc-c-compiler-flags=\"['', '', ...]\"", + "config_key": "c_compiler_flags", + "default": [ + "-std=c11" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--check-only=\"['', '', ...]\""], - "env_var": "PANTS_CHECK_ONLY", + "display_args": [ + "--cc-c-compiler-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_C_COMPILER_FLAGS", "fromfile": false, - "help": "Only run these checkers and skip all others.\n\nThe checker names are outputted at the final summary of running this goal, e.g. `mypy` and `javac`. You can also run `check --only=fake` to get a list of all activated checkers.\n\nYou can repeat this option, e.g. `check --only=mypy --only=javac` or `check --only=['mypy', 'javac']`.", + "help": "Flags passed to the C compiler. These flags are merged with the target-level defines, with the target-level flags taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--check-only"], + "scoped_cmd_line_args": [ + "--cc-c-compiler-flags" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--only"], + "unscoped_cmd_line_args": [ + "--c-compiler-flags" + ], "value_history": { "ranked_values": [ { @@ -2214,128 +2674,164 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "-std=c11" + ] } ] } }, - "PANTS_CLI_ALIAS": { + "PANTS_CC_C_DEFINITIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--cli-alias=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "alias", - "default": {}, + "comma_separated_display_args": "--cc-c-definitions=\"['', '', ...]\"", + "config_key": "c_definitions", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--cli-alias=\"{'key1': val1, 'key2': val2, ...}\""], - "env_var": "PANTS_CLI_ALIAS", + "display_args": [ + "--cc-c-definitions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_C_DEFINITIONS", "fromfile": false, - "help": "Register command line aliases.\n\nExample:\n\n [cli.alias]\n green = \"fmt lint check\"\n all-changed = \"--changed-since=HEAD --changed-dependents=transitive\"\n\nThis would allow you to run `pants green all-changed`, which is shorthand for `pants fmt lint check --changed-since=HEAD --changed-dependents=transitive`.\n\nNotice: this option must be placed in a config file (e.g. `pants.toml` or `pantsrc`) to have any effect.", + "help": "A list of strings to define in the C preprocessor. Will be prefixed by -D at the command line. These defines are merged with the target-level defines, with the target-level definitions taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--cli-alias"], + "scoped_cmd_line_args": [ + "--cc-c-definitions" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--alias"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--c-definitions" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [] } ] } }, - "PANTS_COLORS": { + "PANTS_CC_C_EXECUTABLE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]colors", - "config_key": "colors", - "default": false, + "comma_separated_display_args": "--cc-c-executable=\"['', '', ...]\"", + "config_key": "c_executable", + "default": [ + "clang", + "gcc" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]colors"], - "env_var": "PANTS_COLORS", + "display_args": [ + "--cc-c-executable=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_C_EXECUTABLE", "fromfile": false, - "help": "Whether Pants should use colors in output or not. This may also impact whether some tools Pants runs use color.\n\nWhen unset, this value defaults based on whether the output destination supports color.", + "help": "A list of binary names for the C compiler (in the `search_paths`). The list is searched in order until a compiler is found.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--colors", "--no-colors"], + "scoped_cmd_line_args": [ + "--cc-c-executable" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--colors", "--no-colors"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--c-executable" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "clang", + "gcc" + ] } ] } }, - "PANTS_CONCURRENT": { + "PANTS_CC_EXTERNAL_CXX_COMPILER_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]concurrent", - "config_key": "concurrent", - "default": false, + "comma_separated_display_args": "--cc-external-cxx-compiler-flags=\"['', '', ...]\"", + "config_key": "cxx_compiler_flags", + "default": [ + "-std=c++11" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]concurrent"], - "env_var": "PANTS_CONCURRENT", + "display_args": [ + "--cc-external-cxx-compiler-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_CXX_COMPILER_FLAGS", "fromfile": false, - "help": "Enable concurrent runs of Pants. With this enabled, Pants will start up all concurrent invocations (e.g. in other terminals) without pantsd. As a result, enabling this option will increase the per-run startup cost, but will not block subsequent invocations.", + "help": "Flags passed to the C++ compiler. These flags are merged with the target-level defines, with the target-level flags taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--concurrent", "--no-concurrent"], + "scoped_cmd_line_args": [ + "--cc-external-cxx-compiler-flags" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--concurrent", "--no-concurrent"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-compiler-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "-std=c++11" + ] } ] } }, - "PANTS_CONFIG_FILES": { + "PANTS_CC_EXTERNAL_CXX_DEFINITIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-config-files=\"['', '', ...]\"", - "config_key": "pants_config_files", - "default": ["/tmp/tmp.TG08L3iBWC/pants.toml"], + "comma_separated_display_args": "--cc-external-cxx-definitions=\"['', '', ...]\"", + "config_key": "cxx_definitions", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-config-files=\"['', '', ...]\""], - "env_var": "PANTS_CONFIG_FILES", + "display_args": [ + "--cc-external-cxx-definitions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_CXX_DEFINITIONS", "fromfile": false, - "help": "Paths to Pants config files. This may only be set through the environment variable `PANTS_CONFIG_FILES` and the command line argument `--pants-config-files`; it will be ignored if in a config file like `pants.toml`.", + "help": "A list of strings to define in the C++ preprocessor. Will be prefixed by -D at the command line. These defines are merged with the target-level defines, with the target-level definitions taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-config-files"], + "scoped_cmd_line_args": [ + "--cc-external-cxx-definitions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--pants-config-files"], + "unscoped_cmd_line_args": [ + "--cxx-definitions" + ], "value_history": { "ranked_values": [ { @@ -2346,91 +2842,76 @@ { "details": "", "rank": "HARDCODED", - "value": ["/tmp/tmp.TG08L3iBWC/pants.toml"] + "value": [] } ] } }, - "PANTS_COURSIER_KNOWN_VERSIONS": { + "PANTS_CC_EXTERNAL_CXX_EXECUTABLE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "v2.1.6|macos_arm64 |746b3e346fa2c0107fdbc8a627890d495cb09dee4f8dcc87146bdb45941088cf|20829782|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-apple-darwin.gz", - "v2.1.6|linux_arm64 |33330ca433781c9db9458e15d2d32e5d795de3437771647e26835e8b1391af82|20899290|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-pc-linux.gz", - "v2.1.6|linux_x86_64|af7234f8802107f5e1130307ef8a5cc90262d392f16ddff7dce27a4ed0ddd292|20681688", - "v2.1.6|macos_x86_64|36a5d42a0724be2ac39d0ebd8869b985e3d58ceb121bc60389ee2d6d7408dd56|20037412", - "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005", - "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533", - "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", - "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", - "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472", - "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946", - "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182", - "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182" - ], + "comma_separated_display_args": "--cc-external-cxx-executable=", + "config_key": "cxx_executable", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coursier-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_COURSIER_KNOWN_VERSIONS", + "display_args": [ + "--cc-external-cxx-executable=" + ], + "env_var": "PANTS_CC_EXTERNAL_CXX_EXECUTABLE", "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", + "help": "The relative path to the C++ compiler binary from the downloaded source. E.g. For the ARM gcc-rm toolchain, this value would be: `gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-g++`", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-known-versions"], + "scoped_cmd_line_args": [ + "--cc-external-cxx-executable" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--cxx-executable" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "v2.1.6|macos_arm64 |746b3e346fa2c0107fdbc8a627890d495cb09dee4f8dcc87146bdb45941088cf|20829782|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-apple-darwin.gz", - "v2.1.6|linux_arm64 |33330ca433781c9db9458e15d2d32e5d795de3437771647e26835e8b1391af82|20899290|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-pc-linux.gz", - "v2.1.6|linux_x86_64|af7234f8802107f5e1130307ef8a5cc90262d392f16ddff7dce27a4ed0ddd292|20681688", - "v2.1.6|macos_x86_64|36a5d42a0724be2ac39d0ebd8869b985e3d58ceb121bc60389ee2d6d7408dd56|20037412", - "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005", - "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533", - "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", - "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", - "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472", - "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946", - "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182", - "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182" - ] + "value": "" } ] } }, - "PANTS_COURSIER_REPOS": { + "PANTS_CC_EXTERNAL_C_COMPILER_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-repos=\"['', '', ...]\"", - "config_key": "repos", + "comma_separated_display_args": "--cc-external-c-compiler-flags=\"['', '', ...]\"", + "config_key": "c_compiler_flags", "default": [ - "https://maven-central.storage-download.googleapis.com/maven2", - "https://repo1.maven.org/maven2" + "-std=c11" ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coursier-repos=\"['', '', ...]\""], - "env_var": "PANTS_COURSIER_REPOS", + "display_args": [ + "--cc-external-c-compiler-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_C_COMPILER_FLAGS", "fromfile": false, - "help": "Maven style repositories to resolve artifacts from.\n\nCoursier will resolve these repositories in the order in which they are specifed, and re-ordering repositories will cause artifacts to be re-downloaded. This can result in artifacts in lockfiles becoming invalid.", + "help": "Flags passed to the C compiler. These flags are merged with the target-level defines, with the target-level flags taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-repos"], + "scoped_cmd_line_args": [ + "--cc-external-c-compiler-flags" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--repos"], + "unscoped_cmd_line_args": [ + "--c-compiler-flags" + ], "value_history": { "ranked_values": [ { @@ -2442,76 +2923,75 @@ "details": "", "rank": "HARDCODED", "value": [ - "https://maven-central.storage-download.googleapis.com/maven2", - "https://repo1.maven.org/maven2" + "-std=c11" ] } ] } }, - "PANTS_COURSIER_URL_PLATFORM_MAPPING": { + "PANTS_CC_EXTERNAL_C_DEFINITIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "aarch64-pc-linux", - "linux_x86_64": "x86_64-pc-linux", - "macos_arm64": "x86_64-apple-darwin", - "macos_x86_64": "x86_64-apple-darwin" - }, + "comma_separated_display_args": "--cc-external-c-definitions=\"['', '', ...]\"", + "config_key": "c_definitions", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coursier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--cc-external-c-definitions=\"['', '', ...]\"" ], - "env_var": "PANTS_COURSIER_URL_PLATFORM_MAPPING", + "env_var": "PANTS_CC_EXTERNAL_C_DEFINITIONS", "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`.", + "help": "A list of strings to define in the C preprocessor. Will be prefixed by -D at the command line. These defines are merged with the target-level defines, with the target-level definitions taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--cc-external-c-definitions" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--c-definitions" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "linux_arm64": "aarch64-pc-linux", - "linux_x86_64": "x86_64-pc-linux", - "macos_arm64": "x86_64-apple-darwin", - "macos_x86_64": "x86_64-apple-darwin" - } + "value": [] } ] } }, - "PANTS_COURSIER_URL_TEMPLATE": { + "PANTS_CC_EXTERNAL_C_EXECUTABLE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-url-template=", - "config_key": "url_template", - "default": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz", + "comma_separated_display_args": "--cc-external-c-executable=", + "config_key": "c_executable", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coursier-url-template="], - "env_var": "PANTS_COURSIER_URL_TEMPLATE", + "display_args": [ + "--cc-external-c-executable=" + ], + "env_var": "PANTS_CC_EXTERNAL_C_EXECUTABLE", "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/v2.19/docs/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": "The relative path to the C compiler binary from the downloaded source. E.g. For the ARM gcc-rm toolchain, this value would be: `gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-gcc`", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-url-template"], + "scoped_cmd_line_args": [ + "--cc-external-c-executable" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--c-executable" + ], "value_history": { "ranked_values": [ { @@ -2522,128 +3002,152 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz" + "value": "" } ] } }, - "PANTS_COURSIER_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--coursier-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_CC_EXTERNAL_INCLUDE_DIRECTORIES": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--cc-external-include-directories=\"['', '', ...]\"", + "config_key": "include_directories", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coursier-use-unsupported-version=" + "--cc-external-include-directories=\"['', '', ...]\"" ], - "env_var": "PANTS_COURSIER_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_CC_EXTERNAL_INCLUDE_DIRECTORIES", "fromfile": false, - "help": "\nWhat action to take in case the requested version of coursier is not supported.\n\nSupported coursier versions: unspecified\n", + "help": "A list of include directories passed to the compiler. Will be prefixed by -I at the command line. These flags are merged with the target-level includes, with the target-level includes taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--cc-external-include-directories" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--include-directories" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": [] } ] } }, - "PANTS_COURSIER_VERSION": { + "PANTS_CC_EXTERNAL_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-version=", - "config_key": "version", - "default": "v2.1.6", + "comma_separated_display_args": "--cc-external-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coursier-version="], - "env_var": "PANTS_COURSIER_VERSION", + "display_args": [ + "--cc-external-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_KNOWN_VERSIONS", "fromfile": false, - "help": "Use this version of coursier.", + "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": ["--coursier-version"], + "scoped_cmd_line_args": [ + "--cc-external-known-versions" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "v2.1.6" + "value": [] } ] } }, - "PANTS_COVERAGE_PY_CONFIG": { + "PANTS_CC_EXTERNAL_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--cc-external-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-config="], - "env_var": "PANTS_COVERAGE_PY_CONFIG", + "display_args": [ + "--cc-external-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_CC_EXTERNAL_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Path to an INI or TOML config file understood by coverage.py (https://coverage.readthedocs.io/en/stable/config.html).\n\nSetting this option will disable `[coverage-py].config_discovery`. Use this option if the config is located in a non-standard location.", + "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": ["--coverage-py-config"], + "scoped_cmd_line_args": [ + "--cc-external-url-platform-mapping" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} } ] } }, - "PANTS_COVERAGE_PY_CONFIG_DISCOVERY": { + "PANTS_CC_EXTERNAL_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]coverage-py-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--cc-external-url-template=", + "config_key": "url_template", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]coverage-py-config-discovery"], - "env_var": "PANTS_COVERAGE_PY_CONFIG_DISCOVERY", + "display_args": [ + "--cc-external-url-template=" + ], + "env_var": "PANTS_CC_EXTERNAL_URL_TEMPLATE", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.coveragerc`, `setup.cfg`, `tox.ini`, and `pyproject.toml`).\n\nUse `[coverage-py].config` instead if your config is in a non-standard location.", + "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/v2.19/docs/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": [ - "--coverage-py-config-discovery", - "--no-coverage-py-config-discovery" + "--cc-external-url-template" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -2654,29 +3158,38 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "" } ] } }, - "PANTS_COVERAGE_PY_CONSOLE_SCRIPT": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-console-script=", - "config_key": "console_script", - "default": "coverage", + "PANTS_CC_EXTERNAL_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--cc-external-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-console-script="], - "env_var": "PANTS_COVERAGE_PY_CONSOLE_SCRIPT", + "display_args": [ + "--cc-external-use-unsupported-version=" + ], + "env_var": "PANTS_CC_EXTERNAL_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "\nWhat action to take in case the requested version of cc-external is not supported.\n\nSupported cc-external versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-console-script"], + "scoped_cmd_line_args": [ + "--cc-external-use-unsupported-version" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -2687,85 +3200,74 @@ { "details": null, "rank": "HARDCODED", - "value": "coverage" + "value": "error" } ] } }, - "PANTS_COVERAGE_PY_ENTRY_POINT": { + "PANTS_CC_EXTERNAL_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--cc-external-version=", + "config_key": "version", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-entry-point="], - "env_var": "PANTS_COVERAGE_PY_ENTRY_POINT", + "display_args": [ + "--cc-external-version=" + ], + "env_var": "PANTS_CC_EXTERNAL_VERSION", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Use this version of cc-external.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-entry-point"], + "scoped_cmd_line_args": [ + "--cc-external-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - } - ] - } - }, - "PANTS_COVERAGE_PY_FAIL_UNDER": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-fail-under=", - "config_key": "fail_under", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--coverage-py-fail-under="], - "env_var": "PANTS_COVERAGE_PY_FAIL_UNDER", - "fromfile": false, - "help": "Fail if the total combined coverage percentage for all tests is less than this number.\n\nUse this instead of setting `fail_under` in a coverage.py config file, as the config will apply to each test separately, while you typically want this to apply to the combined coverage for all tests run.\n\nNote that you must generate at least one (non-raw) coverage report for this check to trigger.\n\nNote also that if you specify a non-integral value, you must also set `[report] precision` properly in the coverage.py config file to make use of the decimal places. See https://coverage.readthedocs.io/en/latest/config.html.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-fail-under"], - "target_field_name": null, - "typ": "float", - "unscoped_cmd_line_args": ["--fail-under"], - "value_history": { - "ranked_values": [ + }, { "details": null, - "rank": "NONE", - "value": null + "rank": "HARDCODED", + "value": "" } ] } }, - "PANTS_COVERAGE_PY_FILTER": { + "PANTS_CC_INCLUDE_DIRECTORIES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-filter=\"['', '', ...]\"", - "config_key": "filter", + "comma_separated_display_args": "--cc-include-directories=\"['', '', ...]\"", + "config_key": "include_directories", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-filter=\"['', '', ...]\""], - "env_var": "PANTS_COVERAGE_PY_FILTER", + "display_args": [ + "--cc-include-directories=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_INCLUDE_DIRECTORIES", "fromfile": false, - "help": "A list of Python modules or filesystem paths to use in the coverage report, e.g. `['helloworld_test', 'helloworld/util/dirutil']`.\n\nBoth modules and directory paths are recursive: any submodules or child paths, respectively, will be included.\n\nIf you leave this off, the coverage report will include every file in the transitive closure of the address/file arguments; for example, `test ::` will include every Python file in your project, whereas `test project/app_test.py` will include `app_test.py` and any of its transitive dependencies.", + "help": "A list of include directories passed to the compiler. Will be prefixed by -I at the command line. These flags are merged with the target-level includes, with the target-level includes taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-filter"], + "scoped_cmd_line_args": [ + "--cc-include-directories" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--filter"], + "unscoped_cmd_line_args": [ + "--include-directories" + ], "value_history": { "ranked_values": [ { @@ -2781,27 +3283,32 @@ ] } }, - "PANTS_COVERAGE_PY_GLOBAL_REPORT": { + "PANTS_CC_INFER_INCLUDES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]coverage-py-global-report", - "config_key": "global_report", - "default": false, + "comma_separated_display_args": "--[no-]cc-infer-includes", + "config_key": "includes", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]coverage-py-global-report"], - "env_var": "PANTS_COVERAGE_PY_GLOBAL_REPORT", + "display_args": [ + "--[no-]cc-infer-includes" + ], + "env_var": "PANTS_CC_INFER_INCLUDES", "fromfile": false, - "help": "If true, Pants will generate a global coverage report.\n\nThe global report will include all Python source files in the workspace and not just those depended on by the tests that were run.", + "help": "Infer a target's dependencies by parsing #include statements from sources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--coverage-py-global-report", - "--no-coverage-py-global-report" + "--cc-infer-includes", + "--no-cc-infer-includes" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--global-report", "--no-global-report"], + "unscoped_cmd_line_args": [ + "--includes", + "--no-includes" + ], "value_history": { "ranked_values": [ { @@ -2812,59 +3319,78 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_COVERAGE_PY_INSTALL_FROM_RESOLVE": { + "PANTS_CC_INFER_INCLUDE_FROM_SOURCE_ROOTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]cc-infer-include-from-source-roots", + "config_key": "include_from_source_roots", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-install-from-resolve="], - "env_var": "PANTS_COVERAGE_PY_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]cc-infer-include-from-source-roots" + ], + "env_var": "PANTS_CC_INFER_INCLUDE_FROM_SOURCE_ROOTS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Infer a target's dependencies by trying to include relative to source roots.\n\nAn example where this may be useful is if you have a a file at `root/include/mylib/foo.h` which may be referenced via `#include \"mylib/foo.h\"`. This option will allow you to correctly infer dependencies if you have a source root at `root/{include}` and searching for `mylib/foo.h` relative to the that source root.\n\nThe inferred files take part in compilation, and the source root is added to the compilation include search path (https://clang.llvm.org/docs/ClangCommandLineReference.html#include-path-management) with command line arguments prefixed by the '-I' flag.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-install-from-resolve"], + "scoped_cmd_line_args": [ + "--cc-infer-include-from-source-roots", + "--no-cc-infer-include-from-source-roots" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--include-from-source-roots", + "--no-include-from-source-roots" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_COVERAGE_PY_INTERPRETER_CONSTRAINTS": { + "PANTS_CC_SEARCH_PATHS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--cc-search-paths=\"['', '', ...]\"", + "config_key": "search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coverage-py-interpreter-constraints=\"['', '', ...]\"" + "--cc-search-paths=\"['', '', ...]\"" ], - "env_var": "PANTS_COVERAGE_PY_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_CC_SEARCH_PATHS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "A list of paths to search for CC toolchain binaries.\n\nSpecify absolute paths to directories, 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", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--cc-search-paths" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--search-paths" + ], "value_history": { "ranked_values": [ { @@ -2875,29 +3401,84 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "" + ] } ] } }, - "PANTS_COVERAGE_PY_OUTPUT_DIR": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-output-dir=", - "config_key": "output_dir", - "default": "{distdir}/coverage/python", + "PANTS_CHANGED_DEPENDEES": { + "choices": [ + "none", + "direct", + "transitive" + ], + "comma_separated_choices": "none, direct, transitive", + "comma_separated_display_args": "--changed-dependees=", + "config_key": "dependees", + "default": "none", + "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.23.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--changed-dependees=" + ], + "env_var": "PANTS_CHANGED_DEPENDEES", + "fromfile": false, + "help": "Include direct or transitive dependents of changed targets.", + "removal_hint": "Use --dependents instead", + "removal_version": "2.23.0.dev0", + "scoped_cmd_line_args": [ + "--changed-dependees" + ], + "target_field_name": null, + "typ": "DependentsOption", + "unscoped_cmd_line_args": [ + "--dependees" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "none" + } + ] + } + }, + "PANTS_CHANGED_DEPENDENTS": { + "choices": [ + "none", + "direct", + "transitive" + ], + "comma_separated_choices": "none, direct, transitive", + "comma_separated_display_args": "--changed-dependents=", + "config_key": "dependents", + "default": "none", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-output-dir="], - "env_var": "PANTS_COVERAGE_PY_OUTPUT_DIR", + "display_args": [ + "--changed-dependents=" + ], + "env_var": "PANTS_CHANGED_DEPENDENTS", "fromfile": false, - "help": "Path to write the Pytest Coverage report to. Must be relative to the build root.", + "help": "Include direct or transitive dependents of changed targets.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-output-dir"], + "scoped_cmd_line_args": [ + "--changed-dependents" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-dir"], + "typ": "DependentsOption", + "unscoped_cmd_line_args": [ + "--dependents" + ], "value_history": { "ranked_values": [ { @@ -2908,66 +3489,103 @@ { "details": null, "rank": "HARDCODED", - "value": "{distdir}/coverage/python" + "value": "none" } ] } }, - "PANTS_COVERAGE_PY_REPORT": { - "choices": ["console", "xml", "html", "raw", "json", "lcov"], - "comma_separated_choices": "console, xml, html, raw, json, lcov", - "comma_separated_display_args": "--coverage-py-report=\"[, , ...]\"", - "config_key": "report", - "default": ["console"], + "PANTS_CHANGED_DIFFSPEC": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--changed-diffspec=", + "config_key": "diffspec", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coverage-py-report=\"[, , ...]\"" + "--changed-diffspec=" ], - "env_var": "PANTS_COVERAGE_PY_REPORT", + "env_var": "PANTS_CHANGED_DIFFSPEC", "fromfile": false, - "help": "Which coverage report type(s) to emit.", + "help": "Calculate changes contained within a given Git spec (commit range/SHA/ref).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-report"], + "scoped_cmd_line_args": [ + "--changed-diffspec" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--report"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--diffspec" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, + "value": null + } + ] + } + }, + "PANTS_CHANGED_SINCE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--changed-since=", + "config_key": "since", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--changed-since=" + ], + "env_var": "PANTS_CHANGED_SINCE", + "fromfile": false, + "help": "Calculate changes since this Git spec (commit range/SHA/ref).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--changed-since" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--since" + ], + "value_history": { + "ranked_values": [ { - "details": "", - "rank": "HARDCODED", - "value": ["console"] + "details": null, + "rank": "NONE", + "value": null } ] } }, - "PANTS_COVERAGE_PY_REQUIREMENTS": { + "PANTS_CHECK_ONLY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--check-only=\"['', '', ...]\"", + "config_key": "only", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coverage-py-requirements=\"['', '', ...]\"" + "--check-only=\"['', '', ...]\"" ], - "env_var": "PANTS_COVERAGE_PY_REQUIREMENTS", + "env_var": "PANTS_CHECK_ONLY", "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": "Only run these checkers and skip all others.\n\nThe checker names are outputted at the final summary of running this goal, e.g. `mypy` and `javac`. You can also run `check --only=fake` to get a list of all activated checkers.\n\nYou can repeat this option, e.g. `check --only=mypy --only=javac` or `check --only=['mypy', 'javac']`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-requirements"], + "scoped_cmd_line_args": [ + "--check-only" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--only" + ], "value_history": { "ranked_values": [ { @@ -2983,24 +3601,30 @@ ] } }, - "PANTS_DEBUGPY_ARGS": { + "PANTS_CLANG_FORMAT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-args=\"[, , ...]\"", + "comma_separated_display_args": "--clang-format-args=\"[, , ...]\"", "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debugpy-args=\"[, , ...]\""], - "env_var": "PANTS_DEBUGPY_ARGS", + "display_args": [ + "--clang-format-args=\"[, , ...]\"" + ], + "env_var": "PANTS_CLANG_FORMAT_ARGS", "fromfile": false, - "help": "Arguments to pass directly to debugpy, e.g. `--debugpy-args='--log-to-stderr'`.", + "help": "Arguments to pass directly to ClangFormat, e.g. `--clang-format-args='--version'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-args"], + "scoped_cmd_line_args": [ + "--clang-format-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -3016,85 +3640,103 @@ ] } }, - "PANTS_DEBUGPY_CONSOLE_SCRIPT": { + "PANTS_CLANG_FORMAT_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-console-script=", + "comma_separated_display_args": "--clang-format-console-script=", "config_key": "console_script", - "default": null, + "default": "clang-format", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debugpy-console-script="], - "env_var": "PANTS_DEBUGPY_CONSOLE_SCRIPT", + "display_args": [ + "--clang-format-console-script=" + ], + "env_var": "PANTS_CLANG_FORMAT_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-console-script"], + "scoped_cmd_line_args": [ + "--clang-format-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "clang-format" } ] } }, - "PANTS_DEBUGPY_ENTRY_POINT": { + "PANTS_CLANG_FORMAT_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-entry-point=", + "comma_separated_display_args": "--clang-format-entry-point=", "config_key": "entry_point", - "default": "debugpy", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debugpy-entry-point="], - "env_var": "PANTS_DEBUGPY_ENTRY_POINT", + "display_args": [ + "--clang-format-entry-point=" + ], + "env_var": "PANTS_CLANG_FORMAT_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-entry-point"], + "scoped_cmd_line_args": [ + "--clang-format-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "debugpy" } ] } }, - "PANTS_DEBUGPY_INSTALL_FROM_RESOLVE": { + "PANTS_CLANG_FORMAT_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-install-from-resolve=", + "comma_separated_display_args": "--clang-format-install-from-resolve=", "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debugpy-install-from-resolve="], - "env_var": "PANTS_DEBUGPY_INSTALL_FROM_RESOLVE", + "display_args": [ + "--clang-format-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--debugpy-install-from-resolve"], + "scoped_cmd_line_args": [ + "--clang-format-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -3105,26 +3747,32 @@ ] } }, - "PANTS_DEBUGPY_INTERPRETER_CONSTRAINTS": { + "PANTS_CLANG_FORMAT_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-interpreter-constraints=\"['', '', ...]\"", + "comma_separated_display_args": "--clang-format-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--debugpy-interpreter-constraints=\"['', '', ...]\"" + "--clang-format-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_DEBUGPY_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_CLANG_FORMAT_INTERPRETER_CONSTRAINTS", "fromfile": false, "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--clang-format-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -3135,29 +3783,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_DEBUGPY_REQUIREMENTS": { + "PANTS_CLANG_FORMAT_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-requirements=\"['', '', ...]\"", + "comma_separated_display_args": "--clang-format-requirements=\"['', '', ...]\"", "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debugpy-requirements=\"['', '', ...]\""], - "env_var": "PANTS_DEBUGPY_REQUIREMENTS", + "display_args": [ + "--clang-format-requirements=\"['', '', ...]\"" + ], + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-requirements"], + "scoped_cmd_line_args": [ + "--clang-format-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -3173,24 +3829,32 @@ ] } }, - "PANTS_DEBUG_ADAPTER_HOST": { + "PANTS_CLANG_FORMAT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debug-adapter-host=", - "config_key": "host", - "default": "127.0.0.1", + "comma_separated_display_args": "--[no-]clang-format-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debug-adapter-host="], - "env_var": "PANTS_DEBUG_ADAPTER_HOST", + "display_args": [ + "--[no-]clang-format-skip" + ], + "env_var": "PANTS_CLANG_FORMAT_SKIP", "fromfile": false, - "help": "The hostname to use when launching the server.", + "help": "If true, don't use ClangFormat when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debug-adapter-host"], + "scoped_cmd_line_args": [ + "--clang-format-skip", + "--no-clang-format-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--host"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -3201,62 +3865,76 @@ { "details": null, "rank": "HARDCODED", - "value": "127.0.0.1" + "value": false } ] } }, - "PANTS_DEBUG_ADAPTER_PORT": { + "PANTS_CLI_ALIAS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debug-adapter-port=", - "config_key": "port", - "default": 5678, + "comma_separated_display_args": "--cli-alias=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "alias", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debug-adapter-port="], - "env_var": "PANTS_DEBUG_ADAPTER_PORT", + "display_args": [ + "--cli-alias=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_CLI_ALIAS", "fromfile": false, - "help": "The port to use when launching the server.", + "help": "Register command line aliases.\n\nExample:\n\n [cli.alias]\n green = \"fmt lint check\"\n all-changed = \"--changed-since=HEAD --changed-dependents=transitive\"\n\nThis would allow you to run `pants green all-changed`, which is shorthand for `pants fmt lint check --changed-since=HEAD --changed-dependents=transitive`.\n\nNotice: this option must be placed in a config file (e.g. `pants.toml` or `pantsrc`) to have any effect.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debug-adapter-port"], + "scoped_cmd_line_args": [ + "--cli-alias" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--port"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--alias" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 5678 + "value": {} } ] } }, - "PANTS_DEPENDEES_CLOSED": { + "PANTS_COLORS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependees-closed", - "config_key": "closed", + "comma_separated_display_args": "--[no-]colors", + "config_key": "colors", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependees-closed"], - "env_var": "PANTS_DEPENDEES_CLOSED", + "display_args": [ + "--[no-]colors" + ], + "env_var": "PANTS_COLORS", "fromfile": false, - "help": "Include the input targets in the output, along with the dependents.", + "help": "Whether Pants should use colors in output or not. This may also impact whether some tools Pants runs use color.\n\nWhen unset, this value defaults based on whether the output destination supports color.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependees-closed", "--no-dependees-closed"], + "scoped_cmd_line_args": [ + "--colors", + "--no-colors" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--closed", "--no-closed"], + "unscoped_cmd_line_args": [ + "--colors", + "--no-colors" + ], "value_history": { "ranked_values": [ { @@ -3272,185 +3950,273 @@ ] } }, - "PANTS_DEPENDEES_OUTPUT_FILE": { + "PANTS_CONCURRENT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependees-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--[no-]concurrent", + "config_key": "concurrent", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependees-output-file="], - "env_var": "PANTS_DEPENDEES_OUTPUT_FILE", + "display_args": [ + "--[no-]concurrent" + ], + "env_var": "PANTS_CONCURRENT", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "Enable concurrent runs of Pants. With this enabled, Pants will start up all concurrent invocations (e.g. in other terminals) without pantsd. As a result, enabling this option will increase the per-run startup cost, but will not block subsequent invocations.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependees-output-file"], + "scoped_cmd_line_args": [ + "--concurrent", + "--no-concurrent" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--concurrent", + "--no-concurrent" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_DEPENDEES_SEP": { + "PANTS_CONFIG_FILES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependees-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--pants-config-files=\"['', '', ...]\"", + "config_key": "pants_config_files", + "default": [ + "/home/runner/work/pantsbuild.org/pantsbuild.org/pants.toml" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependees-sep="], - "env_var": "PANTS_DEPENDEES_SEP", + "display_args": [ + "--pants-config-files=\"['', '', ...]\"" + ], + "env_var": "PANTS_CONFIG_FILES", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "Paths to Pants config files. This may only be set through the environment variable `PANTS_CONFIG_FILES` and the command line argument `--pants-config-files`; it will be ignored if in a config file like `pants.toml`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependees-sep"], + "scoped_cmd_line_args": [ + "--pants-config-files" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--pants-config-files" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "\\n" + "value": [ + "/home/runner/work/pantsbuild.org/pantsbuild.org/pants.toml" + ] } ] } }, - "PANTS_DEPENDEES_TRANSITIVE": { + "PANTS_COURSIER_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependees-transitive", - "config_key": "transitive", - "default": false, + "comma_separated_display_args": "--coursier-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v2.1.6|macos_arm64 |746b3e346fa2c0107fdbc8a627890d495cb09dee4f8dcc87146bdb45941088cf|20829782|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-apple-darwin.gz", + "v2.1.6|linux_arm64 |33330ca433781c9db9458e15d2d32e5d795de3437771647e26835e8b1391af82|20899290|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-pc-linux.gz", + "v2.1.6|linux_x86_64|af7234f8802107f5e1130307ef8a5cc90262d392f16ddff7dce27a4ed0ddd292|20681688", + "v2.1.6|macos_x86_64|36a5d42a0724be2ac39d0ebd8869b985e3d58ceb121bc60389ee2d6d7408dd56|20037412", + "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005", + "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533", + "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", + "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", + "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472", + "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946", + "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182", + "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependees-transitive"], - "env_var": "PANTS_DEPENDEES_TRANSITIVE", + "display_args": [ + "--coursier-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_COURSIER_KNOWN_VERSIONS", "fromfile": false, - "help": "List all transitive dependents. If unspecified, list direct dependents only.", + "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": [ - "--dependees-transitive", - "--no-dependees-transitive" + "--coursier-known-versions" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--transitive", "--no-transitive"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "v2.1.6|macos_arm64 |746b3e346fa2c0107fdbc8a627890d495cb09dee4f8dcc87146bdb45941088cf|20829782|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-apple-darwin.gz", + "v2.1.6|linux_arm64 |33330ca433781c9db9458e15d2d32e5d795de3437771647e26835e8b1391af82|20899290|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-pc-linux.gz", + "v2.1.6|linux_x86_64|af7234f8802107f5e1130307ef8a5cc90262d392f16ddff7dce27a4ed0ddd292|20681688", + "v2.1.6|macos_x86_64|36a5d42a0724be2ac39d0ebd8869b985e3d58ceb121bc60389ee2d6d7408dd56|20037412", + "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005", + "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533", + "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", + "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", + "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472", + "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946", + "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182", + "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182" + ] } ] } }, - "PANTS_DEPENDENCIES_CLOSED": { + "PANTS_COURSIER_REPOS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependencies-closed", - "config_key": "closed", - "default": false, + "comma_separated_display_args": "--coursier-repos=\"['', '', ...]\"", + "config_key": "repos", + "default": [ + "https://maven-central.storage-download.googleapis.com/maven2", + "https://repo1.maven.org/maven2" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependencies-closed"], - "env_var": "PANTS_DEPENDENCIES_CLOSED", + "display_args": [ + "--coursier-repos=\"['', '', ...]\"" + ], + "env_var": "PANTS_COURSIER_REPOS", "fromfile": false, - "help": "Include the input targets in the output, along with the dependencies.", + "help": "Maven style repositories to resolve artifacts from.\n\nCoursier will resolve these repositories in the order in which they are specifed, and re-ordering repositories will cause artifacts to be re-downloaded. This can result in artifacts in lockfiles becoming invalid.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependencies-closed", - "--no-dependencies-closed" + "--coursier-repos" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--closed", "--no-closed"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--repos" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "https://maven-central.storage-download.googleapis.com/maven2", + "https://repo1.maven.org/maven2" + ] } ] } }, - "PANTS_DEPENDENCIES_OUTPUT_FILE": { + "PANTS_COURSIER_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependencies-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--coursier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "aarch64-pc-linux", + "linux_x86_64": "x86_64-pc-linux", + "macos_arm64": "x86_64-apple-darwin", + "macos_x86_64": "x86_64-apple-darwin" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependencies-output-file="], - "env_var": "PANTS_DEPENDENCIES_OUTPUT_FILE", + "display_args": [ + "--coursier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_COURSIER_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "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": ["--dependencies-output-file"], + "scoped_cmd_line_args": [ + "--coursier-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "linux_arm64": "aarch64-pc-linux", + "linux_x86_64": "x86_64-pc-linux", + "macos_arm64": "x86_64-apple-darwin", + "macos_x86_64": "x86_64-apple-darwin" + } } ] } }, - "PANTS_DEPENDENCIES_SEP": { + "PANTS_COURSIER_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependencies-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--coursier-url-template=", + "config_key": "url_template", + "default": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependencies-sep="], - "env_var": "PANTS_DEPENDENCIES_SEP", + "display_args": [ + "--coursier-url-template=" + ], + "env_var": "PANTS_COURSIER_URL_TEMPLATE", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "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/v2.19/docs/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": ["--dependencies-sep"], + "scoped_cmd_line_args": [ + "--coursier-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -3461,32 +4227,38 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz" } ] } }, - "PANTS_DEPENDENCIES_TRANSITIVE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependencies-transitive", - "config_key": "transitive", - "default": false, + "PANTS_COURSIER_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--coursier-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependencies-transitive"], - "env_var": "PANTS_DEPENDENCIES_TRANSITIVE", + "display_args": [ + "--coursier-use-unsupported-version=" + ], + "env_var": "PANTS_COURSIER_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "List all transitive dependencies. If unspecified, list direct dependencies only.", + "help": "\nWhat action to take in case the requested version of coursier is not supported.\n\nSupported coursier versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependencies-transitive", - "--no-dependencies-transitive" + "--coursier-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--transitive", "--no-transitive"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -3497,29 +4269,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } }, - "PANTS_DEPENDENTS_CLOSED": { + "PANTS_COURSIER_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependents-closed", - "config_key": "closed", - "default": false, + "comma_separated_display_args": "--coursier-version=", + "config_key": "version", + "default": "v2.1.6", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependents-closed"], - "env_var": "PANTS_DEPENDENTS_CLOSED", + "display_args": [ + "--coursier-version=" + ], + "env_var": "PANTS_COURSIER_VERSION", "fromfile": false, - "help": "Include the input targets in the output, along with the dependents.", + "help": "Use this version of coursier.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependents-closed", "--no-dependents-closed"], + "scoped_cmd_line_args": [ + "--coursier-version" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--closed", "--no-closed"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -3530,29 +4308,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "v2.1.6" } ] } }, - "PANTS_DEPENDENTS_OUTPUT_FILE": { + "PANTS_COVERAGE_PY_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependents-output-file=", - "config_key": "output_file", + "comma_separated_display_args": "--coverage-py-config=", + "config_key": "config", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependents-output-file="], - "env_var": "PANTS_DEPENDENTS_OUTPUT_FILE", + "display_args": [ + "--coverage-py-config=" + ], + "env_var": "PANTS_COVERAGE_PY_CONFIG", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "Path to an INI or TOML config file understood by coverage.py (https://coverage.readthedocs.io/en/stable/config.html).\n\nSetting this option will disable `[coverage-py].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependents-output-file"], + "scoped_cmd_line_args": [ + "--coverage-py-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -3563,24 +4347,32 @@ ] } }, - "PANTS_DEPENDENTS_SEP": { + "PANTS_COVERAGE_PY_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependents-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--[no-]coverage-py-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependents-sep="], - "env_var": "PANTS_DEPENDENTS_SEP", + "display_args": [ + "--[no-]coverage-py-config-discovery" + ], + "env_var": "PANTS_COVERAGE_PY_CONFIG_DISCOVERY", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "If true, Pants will include any relevant config files during runs (`.coveragerc`, `setup.cfg`, `tox.ini`, and `pyproject.toml`).\n\nUse `[coverage-py].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependents-sep"], + "scoped_cmd_line_args": [ + "--coverage-py-config-discovery", + "--no-coverage-py-config-discovery" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -3591,32 +4383,35 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": true } ] } }, - "PANTS_DEPENDENTS_TRANSITIVE": { + "PANTS_COVERAGE_PY_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependents-transitive", - "config_key": "transitive", - "default": false, + "comma_separated_display_args": "--coverage-py-console-script=", + "config_key": "console_script", + "default": "coverage", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependents-transitive"], - "env_var": "PANTS_DEPENDENTS_TRANSITIVE", + "display_args": [ + "--coverage-py-console-script=" + ], + "env_var": "PANTS_COVERAGE_PY_CONSOLE_SCRIPT", "fromfile": false, - "help": "List all transitive dependents. If unspecified, list direct dependents only.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependents-transitive", - "--no-dependents-transitive" + "--coverage-py-console-script" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--transitive", "--no-transitive"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -3627,158 +4422,183 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "coverage" } ] } }, - "PANTS_DISTDIR": { + "PANTS_COVERAGE_PY_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-distdir=", - "config_key": "pants_distdir", - "default": "/tmp/tmp.TG08L3iBWC/dist", + "comma_separated_display_args": "--coverage-py-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-distdir="], - "env_var": "PANTS_DISTDIR", + "display_args": [ + "--coverage-py-entry-point=" + ], + "env_var": "PANTS_COVERAGE_PY_ENTRY_POINT", "fromfile": false, - "help": "Write end products, such as the results of `pants package`, to this dir.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-distdir"], + "scoped_cmd_line_args": [ + "--coverage-py-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--pants-distdir"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "/tmp/tmp.TG08L3iBWC/dist" } ] } }, - "PANTS_DOCFORMATTER_ARGS": { + "PANTS_COVERAGE_PY_FAIL_UNDER": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--coverage-py-fail-under=", + "config_key": "fail_under", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docformatter-args=\"[, , ...]\"" + "--coverage-py-fail-under=" ], - "env_var": "PANTS_DOCFORMATTER_ARGS", + "env_var": "PANTS_COVERAGE_PY_FAIL_UNDER", "fromfile": false, - "help": "Arguments to pass directly to docformatter, e.g. `--docformatter-args='--wrap-summaries=100 --pre-summary-newline'`.", + "help": "Fail if the total combined coverage percentage for all tests is less than this number.\n\nUse this instead of setting `fail_under` in a coverage.py config file, as the config will apply to each test separately, while you typically want this to apply to the combined coverage for all tests run.\n\nNote that you must generate at least one (non-raw) coverage report for this check to trigger.\n\nNote also that if you specify a non-integral value, you must also set `[report] precision` properly in the coverage.py config file to make use of the decimal places. See https://coverage.readthedocs.io/en/latest/config.html.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-args"], + "scoped_cmd_line_args": [ + "--coverage-py-fail-under" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "float", + "unscoped_cmd_line_args": [ + "--fail-under" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, - "PANTS_DOCFORMATTER_CONSOLE_SCRIPT": { + "PANTS_COVERAGE_PY_FILTER": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-console-script=", - "config_key": "console_script", - "default": "docformatter", + "comma_separated_display_args": "--coverage-py-filter=\"['', '', ...]\"", + "config_key": "filter", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docformatter-console-script="], - "env_var": "PANTS_DOCFORMATTER_CONSOLE_SCRIPT", + "display_args": [ + "--coverage-py-filter=\"['', '', ...]\"" + ], + "env_var": "PANTS_COVERAGE_PY_FILTER", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "A list of Python modules or filesystem paths to use in the coverage report, e.g. `['helloworld_test', 'helloworld/util/dirutil']`.\n\nBoth modules and directory paths are recursive: any submodules or child paths, respectively, will be included.\n\nIf you leave this off, the coverage report will include every file in the transitive closure of the address/file arguments; for example, `test ::` will include every Python file in your project, whereas `test project/app_test.py` will include `app_test.py` and any of its transitive dependencies.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-console-script"], + "scoped_cmd_line_args": [ + "--coverage-py-filter" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--filter" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "docformatter" + "value": [] } ] } }, - "PANTS_DOCFORMATTER_ENTRY_POINT": { + "PANTS_COVERAGE_PY_GLOBAL_REPORT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]coverage-py-global-report", + "config_key": "global_report", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docformatter-entry-point="], - "env_var": "PANTS_DOCFORMATTER_ENTRY_POINT", + "display_args": [ + "--[no-]coverage-py-global-report" + ], + "env_var": "PANTS_COVERAGE_PY_GLOBAL_REPORT", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "If true, Pants will generate a global coverage report.\n\nThe global report will include all Python source files in the workspace and not just those depended on by the tests that were run.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-entry-point"], + "scoped_cmd_line_args": [ + "--coverage-py-global-report", + "--no-coverage-py-global-report" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--global-report", + "--no-global-report" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_DOCFORMATTER_INSTALL_FROM_RESOLVE": { + "PANTS_COVERAGE_PY_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-install-from-resolve=", + "comma_separated_display_args": "--coverage-py-install-from-resolve=", "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docformatter-install-from-resolve="], - "env_var": "PANTS_DOCFORMATTER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--coverage-py-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--docformatter-install-from-resolve"], + "scoped_cmd_line_args": [ + "--coverage-py-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -3789,26 +4609,32 @@ ] } }, - "PANTS_DOCFORMATTER_INTERPRETER_CONSTRAINTS": { + "PANTS_COVERAGE_PY_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-interpreter-constraints=\"['', '', ...]\"", + "comma_separated_display_args": "--coverage-py-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docformatter-interpreter-constraints=\"['', '', ...]\"" + "--coverage-py-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_DOCFORMATTER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_COVERAGE_PY_INTERPRETER_CONSTRAINTS", "fromfile": false, "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--coverage-py-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -3819,64 +4645,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_DOCFORMATTER_REQUIREMENTS": { + "PANTS_COVERAGE_PY_OUTPUT_DIR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--coverage-py-output-dir=", + "config_key": "output_dir", + "default": "{distdir}/coverage/python", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docformatter-requirements=\"['', '', ...]\"" + "--coverage-py-output-dir=" ], - "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.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-requirements"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_DOCFORMATTER_SKIP": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docformatter-skip", - "config_key": "skip", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]docformatter-skip"], - "env_var": "PANTS_DOCFORMATTER_SKIP", + "env_var": "PANTS_COVERAGE_PY_OUTPUT_DIR", "fromfile": false, - "help": "If true, don't use docformatter when running `pants fmt` and `pants lint`.", + "help": "Path to write the Pytest Coverage report to. Must be relative to the build root.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-skip", "--no-docformatter-skip"], + "scoped_cmd_line_args": [ + "--coverage-py-output-dir" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-dir" + ], "value_history": { "ranked_values": [ { @@ -3887,59 +4686,44 @@ { "details": null, "rank": "HARDCODED", - "value": false - } - ] - } - }, - "PANTS_DOCKERFILE_PARSER_INSTALL_FROM_RESOLVE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--dockerfile-parser-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--dockerfile-parser-install-from-resolve="], - "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--dockerfile-parser-install-from-resolve"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null + "value": "{distdir}/coverage/python" } ] } }, - "PANTS_DOCKERFILE_PARSER_INTERPRETER_CONSTRAINTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "PANTS_COVERAGE_PY_REPORT": { + "choices": [ + "console", + "xml", + "html", + "raw", + "json", + "lcov" + ], + "comma_separated_choices": "console, xml, html, raw, json, lcov", + "comma_separated_display_args": "--coverage-py-report=\"[, , ...]\"", + "config_key": "report", + "default": [ + "console" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"" + "--coverage-py-report=\"[, , ...]\"" ], - "env_var": "PANTS_DOCKERFILE_PARSER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_COVERAGE_PY_REPORT", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Which coverage report type(s) to emit.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dockerfile-parser-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--coverage-py-report" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--report" + ], "value_history": { "ranked_values": [ { @@ -3950,31 +4734,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "console" + ] } ] } }, - "PANTS_DOCKERFILE_PARSER_REQUIREMENTS": { + "PANTS_COVERAGE_PY_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dockerfile-parser-requirements=\"['', '', ...]\"", + "comma_separated_display_args": "--coverage-py-requirements=\"['', '', ...]\"", "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--dockerfile-parser-requirements=\"['', '', ...]\"" + "--coverage-py-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_DOCKERFILE_PARSER_REQUIREMENTS", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dockerfile-parser-requirements"], + "scoped_cmd_line_args": [ + "--coverage-py-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -3990,26 +4780,30 @@ ] } }, - "PANTS_DOCKER_BUILD_ARGS": { + "PANTS_CUE_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-build-args=\"[, , ...]\"", - "config_key": "build_args", + "comma_separated_display_args": "--cue-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-build-args=\"[, , ...]\"" + "--cue-args=\"[, , ...]\"" ], - "env_var": "PANTS_DOCKER_BUILD_ARGS", + "env_var": "PANTS_CUE_ARGS", "fromfile": false, - "help": "Global build arguments (for Docker `--build-arg` options) to use for all `docker build` invocations.\n\nEntries are either strings in the form `ARG_NAME=value` to set an explicit value; or just `ARG_NAME` to copy the value from Pants's own environment.\n\nExample:\n\n [docker]\n build_args = [\"VAR1=value\", \"VAR2\"]\n\nUse the `extra_build_args` field on a `docker_image` target for additional image specific build arguments.", + "help": "Arguments to pass directly to CUE, e.g. `--cue-args='--all-errors'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-build-args"], + "scoped_cmd_line_args": [ + "--cue-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--build-args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -4025,62 +4819,81 @@ ] } }, - "PANTS_DOCKER_BUILD_HOSTS": { + "PANTS_CUE_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-build-hosts=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "build_hosts", - "default": {}, + "comma_separated_display_args": "--cue-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v0.4.3|macos_x86_64|1161254cf38b928b87a7ac1552dc2e12e6c5da298f9ce370d80e5518ddb6513d|6240316", + "v0.4.3|macos_arm64 |3d84b85a7288f94301a4726dcf95b2d92c8ff796c4d45c4733fbdcc04ceaf21d|5996085", + "v0.4.3|linux_x86_64|5e7ecb614b5926acfc36eb1258800391ab7c6e6e026fa7cacbfe92006bac895c|6037013", + "v0.4.3|linux_arm64 |a8c3f4140d18c324cc69f5de4df0566e529e1636cff340095a42475799bf3fed|5548404" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-build-hosts=\"{'key1': val1, 'key2': val2, ...}\"" + "--cue-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_DOCKER_BUILD_HOSTS", + "env_var": "PANTS_CUE_KNOWN_VERSIONS", "fromfile": false, - "help": "Hosts entries to be added to the `/etc/hosts` file in all built images.\n\nExample:\n\n [docker]\n build_hosts = {\"docker\": \"10.180.0.1\", \"docker2\": \"10.180.0.2\"}\n\nUse the `extra_build_hosts` field on a `docker_image` target for additional image specific host entries.", + "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": ["--docker-build-hosts"], + "scoped_cmd_line_args": [ + "--cue-known-versions" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--build-hosts"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [ + "v0.4.3|macos_x86_64|1161254cf38b928b87a7ac1552dc2e12e6c5da298f9ce370d80e5518ddb6513d|6240316", + "v0.4.3|macos_arm64 |3d84b85a7288f94301a4726dcf95b2d92c8ff796c4d45c4733fbdcc04ceaf21d|5996085", + "v0.4.3|linux_x86_64|5e7ecb614b5926acfc36eb1258800391ab7c6e6e026fa7cacbfe92006bac895c|6037013", + "v0.4.3|linux_arm64 |a8c3f4140d18c324cc69f5de4df0566e529e1636cff340095a42475799bf3fed|5548404" + ] } ] } }, - "PANTS_DOCKER_BUILD_NO_CACHE": { + "PANTS_CUE_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-build-no-cache", - "config_key": "build_no_cache", + "comma_separated_display_args": "--[no-]cue-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-build-no-cache"], - "env_var": "PANTS_DOCKER_BUILD_NO_CACHE", + "display_args": [ + "--[no-]cue-skip" + ], + "env_var": "PANTS_CUE_SKIP", "fromfile": false, - "help": "Do not use the Docker cache when building images.", + "help": "If true, don't use CUE when running `pants fmt` and `pants fix` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--docker-build-no-cache", - "--no-docker-build-no-cache" + "--cue-skip", + "--no-cue-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--build-no-cache", "--no-build-no-cache"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -4096,55 +4909,79 @@ ] } }, - "PANTS_DOCKER_BUILD_TARGET_STAGE": { + "PANTS_CUE_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-build-target-stage=", - "config_key": "build_target_stage", - "default": null, + "comma_separated_display_args": "--cue-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-build-target-stage="], - "env_var": "PANTS_DOCKER_BUILD_TARGET_STAGE", + "display_args": [ + "--cue-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_CUE_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Global default value for `target_stage` on `docker_image` targets, overriding the field value on the targets, if there is a matching stage in the `Dockerfile`.\n\nThis is useful to provide from the command line, to specify the target stage to build for at execution time.", + "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": ["--docker-build-target-stage"], + "scoped_cmd_line_args": [ + "--cue-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--build-target-stage"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + } } ] } }, - "PANTS_DOCKER_BUILD_VERBOSE": { + "PANTS_CUE_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-build-verbose", - "config_key": "build_verbose", - "default": false, + "comma_separated_display_args": "--cue-url-template=", + "config_key": "url_template", + "default": "https://github.com/cue-lang/cue/releases/download/{version}/cue_{version}_{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-build-verbose"], - "env_var": "PANTS_DOCKER_BUILD_VERBOSE", + "display_args": [ + "--cue-url-template=" + ], + "env_var": "PANTS_CUE_URL_TEMPLATE", "fromfile": false, - "help": "Whether to log the Docker output to the console. If false, only the image ID is logged.", + "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/v2.19/docs/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": [ - "--docker-build-verbose", - "--no-docker-build-verbose" + "--cue-url-template" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--build-verbose", "--no-build-verbose"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -4155,29 +4992,38 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "https://github.com/cue-lang/cue/releases/download/{version}/cue_{version}_{platform}.tar.gz" } ] } }, - "PANTS_DOCKER_DEFAULT_CONTEXT_ROOT": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--docker-default-context-root=", - "config_key": "default_context_root", - "default": "", + "PANTS_CUE_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--cue-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-default-context-root="], - "env_var": "PANTS_DOCKER_DEFAULT_CONTEXT_ROOT", + "display_args": [ + "--cue-use-unsupported-version=" + ], + "env_var": "PANTS_CUE_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Provide a default Docker build context root path for `docker_image` targets that does not specify their own `context_root` field.\n\nThe context root is relative to the build root by default, but may be prefixed with `./` to be relative to the directory of the BUILD file of the `docker_image`.\n\nExamples:\n\n --default-context-root=src/docker\n --default-context-root=./relative_to_the_build_file", + "help": "\nWhat action to take in case the requested version of CUE is not supported.\n\nSupported CUE versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-default-context-root"], + "scoped_cmd_line_args": [ + "--cue-use-unsupported-version" + ], "target_field_name": null, - "typ": "workspace_path", - "unscoped_cmd_line_args": ["--default-context-root"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -4188,29 +5034,35 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": "error" } ] } }, - "PANTS_DOCKER_DEFAULT_REPOSITORY": { + "PANTS_CUE_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-default-repository=", - "config_key": "default_repository", - "default": "{name}", + "comma_separated_display_args": "--cue-version=", + "config_key": "version", + "default": "v0.4.3", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-default-repository="], - "env_var": "PANTS_DOCKER_DEFAULT_REPOSITORY", + "display_args": [ + "--cue-version=" + ], + "env_var": "PANTS_CUE_VERSION", "fromfile": false, - "help": "Configure the default repository name used in the Docker image tag.\n\nThe value is formatted and may reference these variables (in addition to the normal placeheolders derived from the Dockerfile and build args etc):\n\n * name\n * directory\n * parent_directory\n * target_repository\n\nExample: `--default-repository=\"{directory}/{name}\"`.\n\nThe `name` variable is the `docker_image`'s target name, `directory` and `parent_directory` are the name of the directory in which the BUILD file is for the target, and its parent directory respectively.\n\nUse the `repository` field to set this value directly on a `docker_image` target.\n\nRegistries may override the repository value for a specific registry.\n\nAny registries or tags are added to the image name as required, and should not be part of the repository name.", + "help": "Use this version of CUE.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-default-repository"], + "scoped_cmd_line_args": [ + "--cue-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--default-repository"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -4221,29 +5073,35 @@ { "details": null, "rank": "HARDCODED", - "value": "{name}" + "value": "v0.4.3" } ] } }, - "PANTS_DOCKER_ENV_VARS": { + "PANTS_DEBUGPY_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-env-vars=\"[, , ...]\"", - "config_key": "env_vars", + "comma_separated_display_args": "--debugpy-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-env-vars=\"[, , ...]\""], - "env_var": "PANTS_DOCKER_ENV_VARS", + "display_args": [ + "--debugpy-args=\"[, , ...]\"" + ], + "env_var": "PANTS_DEBUGPY_ARGS", "fromfile": false, - "help": "Environment variables to set for `docker` 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.", + "help": "Arguments to pass directly to debugpy, e.g. `--debugpy-args='--log-to-stderr'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-env-vars"], - "target_field_name": "docker_env_vars", + "scoped_cmd_line_args": [ + "--debugpy-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--env-vars"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -4259,59 +5117,64 @@ ] } }, - "PANTS_DOCKER_EXECUTABLE_SEARCH_PATHS": { + "PANTS_DEBUGPY_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [""], + "comma_separated_display_args": "--debugpy-console-script=", + "config_key": "console_script", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-executable-search-paths=\"[, , ...]\"" + "--debugpy-console-script=" ], - "env_var": "PANTS_DOCKER_EXECUTABLE_SEARCH_PATHS", + "env_var": "PANTS_DEBUGPY_CONSOLE_SCRIPT", "fromfile": false, - "help": "The PATH value that will be used to find the Docker client and any tools required. The special string `\"\"` will expand to the contents of the PATH env var.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-executable-search-paths"], - "target_field_name": "docker_executable_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--executable-search-paths"], + "scoped_cmd_line_args": [ + "--debugpy-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [""] + "value": null } ] } }, - "PANTS_DOCKER_EXECUTION": { + "PANTS_DEBUGPY_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-execution", - "config_key": "docker_execution", - "default": true, + "comma_separated_display_args": "--debugpy-entry-point=", + "config_key": "entry_point", + "default": "debugpy", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-execution"], - "env_var": "PANTS_DOCKER_EXECUTION", + "display_args": [ + "--debugpy-entry-point=" + ], + "env_var": "PANTS_DEBUGPY_ENTRY_POINT", "fromfile": false, - "help": "If true, `docker_environment` targets can be used to run builds inside a Docker container.\n\nIf false, anytime a `docker_environment` target is used, Pants will instead fallback to whatever the target's `fallback_environment` field is set to.\n\nThis can be useful, for example, if you want to always use Docker locally, but disable it in CI, or vice versa.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-execution", "--no-docker-execution"], + "scoped_cmd_line_args": [ + "--debugpy-entry-point" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--docker-execution", "--no-docker-execution"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -4322,64 +5185,112 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "debugpy" } ] } }, - "PANTS_DOCKER_REGISTRIES": { + "PANTS_DEBUGPY_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-registries=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "registries", - "default": {}, + "comma_separated_display_args": "--debugpy-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-registries=\"{'key1': val1, 'key2': val2, ...}\"" + "--debugpy-install-from-resolve=" ], - "env_var": "PANTS_DOCKER_REGISTRIES", - "fromfile": true, - "help": "Configure Docker registries. The schema for a registry entry is as follows:\n\n {\n \"registry-alias\": {\n \"address\": \"registry-domain:port\",\n \"default\": bool,\n \"extra_image_tags\": [],\n \"skip_push\": bool,\n \"repository\": str,\n \"use_local_alias\": bool,\n },\n ...\n }\n\nIf no registries are provided in a `docker_image` target, then all default addresses will be used, if any.\n\nThe `docker_image.registries` may be provided with a list of registry addresses and registry aliases prefixed with `@` to be used instead of the defaults.\n\nA configured registry is marked as default either by setting `default = true` or with an alias of `\"default\"`.\n\nA `docker_image` may be pushed to a subset of registries using the per registry `skip_push` option rather then the all or nothing toggle of the field option `skip_push` on the `docker_image` target.\n\nAny image tags that should only be added for specific registries may be provided as the `extra_image_tags` option. The tags may use value formatting the same as for the `image_tags` field of the `docker_image` target.\n\nWhen a registry provides a `repository` value, it will be used instead of the `docker_image.repository` or the default repository. Using the placeholders `{target_repository}` or `{default_repository}` those overridden values may be incorporated into the registry specific repository value.\n\nIf `use_local_alias` is true, a built image is additionally tagged locally using the registry alias as the value for repository (i.e. the additional image tag is not pushed) and will be used for any `pants run` requests.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--docker-registries"], + "scoped_cmd_line_args": [ + "--debugpy-install-from-resolve" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--registries"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_DEBUGPY_INTERPRETER_CONSTRAINTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--debugpy-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--debugpy-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_DEBUGPY_INTERPRETER_CONSTRAINTS", + "fromfile": false, + "help": "Python interpreter constraints for this tool.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--debugpy-interpreter-constraints" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_DOCKER_RUN_ARGS": { + "PANTS_DEBUGPY_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-run-args=\"[, , ...]\"", - "config_key": "run_args", + "comma_separated_display_args": "--debugpy-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-run-args=\"[, , ...]\""], - "env_var": "PANTS_DOCKER_RUN_ARGS", + "display_args": [ + "--debugpy-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_DEBUGPY_REQUIREMENTS", "fromfile": false, - "help": "Additional arguments to use for `docker run` invocations.\n\nExample:\n\n $ pants run --docker-run-args=\"-p 127.0.0.1:80:8080/tcp --name demo\" src/example:image -- [image entrypoint args]\n\nTo provide the top-level options to the `docker` client, use `[docker].env_vars` to configure the [Environment variables](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) as appropriate.\n\nThe arguments for the image entrypoint may be passed on the command line after a double dash (`--`), or using the `--run-args` option.\n\nDefaults to `--interactive --tty` when stdout is connected to a terminal.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-run-args"], + "scoped_cmd_line_args": [ + "--debugpy-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--run-args"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -4395,24 +5306,110 @@ ] } }, - "PANTS_DOCKER_TAILOR": { + "PANTS_DEBUG_ADAPTER_HOST": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-tailor", - "config_key": "tailor", - "default": true, + "comma_separated_display_args": "--debug-adapter-host=", + "config_key": "host", + "default": "127.0.0.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-tailor"], - "env_var": "PANTS_DOCKER_TAILOR", + "display_args": [ + "--debug-adapter-host=" + ], + "env_var": "PANTS_DEBUG_ADAPTER_HOST", "fromfile": false, - "help": "If true, add `docker_image` targets with the `tailor` goal.", + "help": "The hostname to use when launching the server.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--debug-adapter-host" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--host" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "127.0.0.1" + } + ] + } + }, + "PANTS_DEBUG_ADAPTER_PORT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--debug-adapter-port=", + "config_key": "port", + "default": 5678, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--debug-adapter-port=" + ], + "env_var": "PANTS_DEBUG_ADAPTER_PORT", + "fromfile": false, + "help": "The port to use when launching the server.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--debug-adapter-port" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--port" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 5678 + } + ] + } + }, + "PANTS_DEPENDEES_CLOSED": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]dependees-closed", + "config_key": "closed", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]dependees-closed" + ], + "env_var": "PANTS_DEPENDEES_CLOSED", + "fromfile": false, + "help": "Include the input targets in the output, along with the dependents.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-tailor", "--no-docker-tailor"], + "scoped_cmd_line_args": [ + "--dependees-closed", + "--no-dependees-closed" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "unscoped_cmd_line_args": [ + "--closed", + "--no-closed" + ], "value_history": { "ranked_values": [ { @@ -4423,62 +5420,110 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_DOCKER_TOOLS": { + "PANTS_DEPENDEES_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-tools=\"['', '', ...]\"", - "config_key": "tools", - "default": [], + "comma_separated_display_args": "--dependees-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-tools=\"['', '', ...]\""], - "env_var": "PANTS_DOCKER_TOOLS", + "display_args": [ + "--dependees-output-file=" + ], + "env_var": "PANTS_DEPENDEES_OUTPUT_FILE", "fromfile": false, - "help": "List any additional executable tools required for Docker to work. 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.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-tools"], + "scoped_cmd_line_args": [ + "--dependees-output-file" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--tools"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null + } + ] + } + }, + "PANTS_DEPENDEES_SEP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--dependees-sep=", + "config_key": "sep", + "default": "\\n", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--dependees-sep=" + ], + "env_var": "PANTS_DEPENDEES_SEP", + "fromfile": false, + "help": "String to use to separate lines in line-oriented output.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--dependees-sep" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--sep" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "\\n" } ] } }, - "PANTS_DOCKER_USE_BUILDX": { + "PANTS_DEPENDEES_TRANSITIVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-use-buildx", - "config_key": "use_buildx", + "comma_separated_display_args": "--[no-]dependees-transitive", + "config_key": "transitive", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-use-buildx"], - "env_var": "PANTS_DOCKER_USE_BUILDX", + "display_args": [ + "--[no-]dependees-transitive" + ], + "env_var": "PANTS_DEPENDEES_TRANSITIVE", "fromfile": false, - "help": "Use [buildx](https://github.com/docker/buildx#buildx) (and BuildKit) for builds.", + "help": "List all transitive dependents. If unspecified, list direct dependents only.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-use-buildx", "--no-docker-use-buildx"], + "scoped_cmd_line_args": [ + "--dependees-transitive", + "--no-dependees-transitive" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--use-buildx", "--no-use-buildx"], + "unscoped_cmd_line_args": [ + "--transitive", + "--no-transitive" + ], "value_history": { "ranked_values": [ { @@ -4494,479 +5539,187 @@ ] } }, - "PANTS_DOWNLOAD_TERRAFORM_ARGS": { + "PANTS_DEPENDENCIES_CLOSED": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]dependencies-closed", + "config_key": "closed", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--[no-]dependencies-closed" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_ARGS", + "env_var": "PANTS_DEPENDENCIES_CLOSED", "fromfile": false, - "help": "Arguments to pass directly to terraform, e.g. `--download-terraform-args='-auto-approve'`.\n\nAdditional arguments to pass to the Terraform command line.", + "help": "Include the input targets in the output, along with the dependencies.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-args"], + "scoped_cmd_line_args": [ + "--dependencies-closed", + "--no-dependencies-closed" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--closed", + "--no-closed" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, - "PANTS_DOWNLOAD_TERRAFORM_EXTRA_ENV_VARS": { + "PANTS_DEPENDENCIES_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-extra-env-vars=\"['', '', ...]\"", - "config_key": "extra_env_vars", - "default": [], + "comma_separated_display_args": "--dependencies-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-extra-env-vars=\"['', '', ...]\"" + "--dependencies-output-file=" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_EXTRA_ENV_VARS", + "env_var": "PANTS_DEPENDENCIES_OUTPUT_FILE", "fromfile": false, - "help": "Additional environment variables that would be made available to all Terraform processes.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-extra-env-vars"], + "scoped_cmd_line_args": [ + "--dependencies-output-file" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--extra-env-vars"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null + } + ] + } + }, + "PANTS_DEPENDENCIES_SEP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--dependencies-sep=", + "config_key": "sep", + "default": "\\n", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--dependencies-sep=" + ], + "env_var": "PANTS_DEPENDENCIES_SEP", + "fromfile": false, + "help": "String to use to separate lines in line-oriented output.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--dependencies-sep" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--sep" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "\\n" } ] } }, - "PANTS_DOWNLOAD_TERRAFORM_KNOWN_VERSIONS": { + "PANTS_DEPENDENCIES_TRANSITIVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "1.4.6|macos_x86_64|5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d|22051279", - "1.4.6|macos_arm64|30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1|20613318", - "1.4.6|linux_x86_64|e079db1a8945e39b1f8ba4e513946b3ab9f32bd5a2bdf19b9b186d22c5a3d53b|20779821", - "1.4.6|linux_arm64|b38f5db944ac4942f11ceea465a91e365b0636febd9998c110fbbe95d61c3b26|18834675", - "1.4.5|macos_x86_64|808e54d826737e9a0ca79bbe29330e50d3622bbeeb26066c63b371a291731711|22031074", - "1.4.5|macos_arm64|7104d9d13632aa61b494a349c589048d21bd550e579404c3a41c4932e4d6aa97|20592841", - "1.4.5|linux_x86_64|ce10e941cd11554b15a189cd00191c05abc20dff865599d361bdb863c5f406a9|20767621", - "1.4.5|linux_arm64|ca2c48f518f72fef668255150cc5e63b92545edc62a05939bbff8a350bceb357|18813058", - "1.4.4|macos_x86_64|0303ed9d7e5a225fc2e6fa9bf76fc6574c0c0359f22d5dfc04bc8b3234444f7c|22032187", - "1.4.4|macos_arm64|75602d9ec491982ceabea813569579b2991093a4e0d76b7ca86ffd9b7a2a1d1e|20594012", - "1.4.4|linux_x86_64|67541c1f6631befcc25b764028e5605e59234d4424e60a256518ee1e8dd50593|20767354", - "1.4.4|linux_arm64|f0b4e092f2aa6de3324e5e4b5b51260ecf5e8c2f5335ff7a2ffdc4fb54a8922d|18814310", - "1.4.3|macos_x86_64|89bdb242bfacf24167f365ef7a3bf0ad0e443ddd27ebde425fb71d77ce1a2597|22032267", - "1.4.3|macos_arm64|20b9d484bf99ada6c0de89316176ba33f7c87f64c0738991188465147bba221b|20574247", - "1.4.3|linux_x86_64|2252ee6ac8437b93db2b2ba341edc87951e2916afaeb50a88b858e80796e9111|20781685", - "1.4.3|linux_arm64|d3d9464953d390970e7f4f7cbcd94dbf63136da6fe1cbb4955d944a9315bdcdb|18814307", - "1.4.2|macos_x86_64|c218a6c0ef6692b25af16995c8c7bdf6739e9638fef9235c6aced3cd84afaf66|22030042", - "1.4.2|macos_arm64|af8ff7576c8fc41496fdf97e9199b00d8d81729a6a0e821eaf4dfd08aa763540|20588400", - "1.4.2|linux_x86_64|9f3ca33d04f5335472829d1df7785115b60176d610ae6f1583343b0a2221a931|20234129", - "1.4.2|linux_arm64|39c182670c4e63e918e0a16080b1cc47bb16e158d7da96333d682d6a9cb8eb91|18206088", - "1.4.1|macos_x86_64|96466364a7e66e3d456ecb6c85a63c83e124c004f8835fb8ea9b7bbb7542a9d0|22077050", - "1.4.1|macos_arm64|61f76e130b97c8a9017d8aaff15d252af29117e35ea1a0fc30bcaab7ceafce73|20634145", - "1.4.1|linux_x86_64|9e9f3e6752168dea8ecb3643ea9c18c65d5a52acc06c22453ebc4e3fc2d34421|20276168", - "1.4.1|linux_arm64|53322cc70b6e50ac1985bf26a78ffa2814789a4704880f071eaf3e67a463d6f6|18248378", - "1.4.0|macos_x86_64|e897a4217f1c3bfe37c694570dcc6371336fbda698790bb6b0547ec8daf1ffb3|21935694", - "1.4.0|macos_arm64|d4a1e564714c6acf848e86dc020ff182477b49f932e3f550a5d9c8f5da7636fb|20508091", - "1.4.0|linux_x86_64|5da60da508d6d1941ffa8b9216147456a16bbff6db7622ae9ad01d314cbdd188|20144407", - "1.4.0|linux_arm64|33e0f4f0b75f507fc19012111de008308df343153cd6a3992507f4566c0bb723|18130960", - "1.3.9|macos_x86_64|a73326ea8fb06f6976597e005f8047cbd55ac76ed1e517303d8f6395db6c7805|21194871", - "1.3.9|macos_arm64|d8a59a794a7f99b484a07a0ed2aa6520921d146ac5a7f4b1b806dcf5c4af0525|19793371", - "1.3.9|linux_x86_64|53048fa573effdd8f2a59b726234c6f450491fe0ded6931e9f4c6e3df6eece56|19477757", - "1.3.9|linux_arm64|da571087268c5faf884912c4239c6b9c8e1ed8e8401ab1dcb45712df70f42f1b|17513770", - "1.3.8|macos_x86_64|1a27a6fac31ecb05de610daf61a29fe83d304d7c519d773afbf56c11c3b6276b|21189878", - "1.3.8|macos_arm64|873b05ac81645cd7289d6ccfd3e73d4735af1a453f2cd19da0650bdabf7d2eb6|19780134", - "1.3.8|linux_x86_64|9d9e7d6a9b41cef8b837af688441d4fbbd84b503d24061d078ad662441c70240|19479266", - "1.3.8|linux_arm64|a42bf3c7d6327f45d2b212b692ab4229285fb44dbb8adb7c39e18be2b26167c8|17507360", - "1.3.7|macos_x86_64|eeae48adcd55212b34148ed203dd5843e9b2a84a852a9877f3386fadb0514980|21185288", - "1.3.7|macos_arm64|01d553db5f7b4cf0729b725e4402643efde5884b1dabf5eb80af328ce5e447cf|19774151", - "1.3.7|linux_x86_64|b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e|19464102", - "1.3.7|linux_arm64|5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38|17499971", - "1.3.6|macos_x86_64|13881fe0100238577394243a90c0631783aad21b77a9a7ee830404f86c0d37bb|21183111", - "1.3.6|macos_arm64|dbff0aeeaeee877c254f5414bef5c9d186e159aa0019223aac678abad9442c53|19779986", - "1.3.6|linux_x86_64|bb44a4c2b0a832d49253b9034d8ccbd34f9feeb26eda71c665f6e7fa0861f49b|19466755", - "1.3.6|linux_arm64|f4b1af29094290f1b3935c29033c4e5291664ee2c015ca251a020dd425c847c3|17501845", - "1.3.5|macos_x86_64|e6c9836188265b20c2588e9c9d6b1727094b324a379337e68ba58a6d26be8b51|21182319", - "1.3.5|macos_arm64|fcec1cbff229fbe59b03257ba2451d5ad1f5129714f08ccf6372b2737647c063|19780547", - "1.3.5|linux_x86_64|ac28037216c3bc41de2c22724e863d883320a770056969b8d211ca8af3d477cf|19469337", - "1.3.5|linux_arm64|ba5b1761046b899197bbfce3ad9b448d14550106d2cc37c52a60fc6822b584ed|17502759", - "1.3.4|macos_x86_64|2a75c69ec5ed8506658b266a40075256b62a7d245ff6297df7e48fa72af23879|21181585", - "1.3.4|macos_arm64|a1f740f92afac6db84421a3ec07d9061c34a32f88b4b0b47d243de16c961169f|19773343", - "1.3.4|linux_x86_64|b24210f28191fa2a08efe69f54e3db2e87a63369ac4f5dcaf9f34dc9318eb1a8|19462529", - "1.3.4|linux_arm64|65381c6b61b2d1a98892199f649a5764ff5a772080a73d70f8663245e6402c39|17494667", - "1.3.3|macos_x86_64|2b3cf653cd106becdea562b6c8d3f8939641e5626c5278729cbef81678fa9f42|21163874", - "1.3.3|macos_arm64|51e94ecf88059e8a53c363a048b658230f560574f99b0d8396ebacead894d159|19755200", - "1.3.3|linux_x86_64|fa5cbf4274c67f2937cabf1a6544529d35d0b8b729ce814b40d0611fd26193c1|19451941", - "1.3.3|linux_arm64|b940a080c698564df5e6a2f1c4e1b51b2c70a5115358d2361e3697d3985ecbfe|17488660", - "1.3.2|macos_x86_64|3639461bbc712dc130913bbe632afb449fce8c0df692429d311e7cb808601901|21163990", - "1.3.2|macos_arm64|80480acbfee2e2d0b094f721f7568a40b790603080d6612e19b797a16b8ba82d|19757201", - "1.3.2|linux_x86_64|6372e02a7f04bef9dac4a7a12f4580a0ad96a37b5997e80738e070be330cb11c|19451510", - "1.3.2|linux_arm64|ce1a8770aaf27736a3352c5c31e95fb10d0944729b9d81013bf6848f8657da5f|17485206", - "1.3.1|macos_x86_64|4282ebe6d1d72ace0d93e8a4bcf9a6f3aceac107966216355bb516b1c49cc203|21161667", - "1.3.1|macos_arm64|f0514f29b08da2f39ba4fff0d7eb40093915c9c69ddc700b6f39b78275207d96|19756039", - "1.3.1|linux_x86_64|0847b14917536600ba743a759401c45196bf89937b51dd863152137f32791899|19450765", - "1.3.1|linux_arm64|7ebb3d1ff94017fbef8acd0193e0bd29dec1a8925e2b573c05a92fdb743d1d5b|17486534", - "1.3.0|macos_x86_64|80e55182d4495da867c93c25dc6ae29be83ece39d3225e6adedecd55b72d6bbf|21163947", - "1.3.0|macos_arm64|df703317b5c7f80dc7c61e46de4697c9f440e650a893623351ab5e184995b404|19741011", - "1.3.0|linux_x86_64|380ca822883176af928c80e5771d1c0ac9d69b13c6d746e6202482aedde7d457|19450952", - "1.3.0|linux_arm64|0a15de6f934cf2217e5055412e7600d342b4f7dcc133564690776fece6213a9a|17488551", - "1.2.9|macos_x86_64|84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c|21672810", - "1.2.9|macos_arm64|bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa|20280541", - "1.2.9|linux_x86_64|0e0fc38641addac17103122e1953a9afad764a90e74daf4ff8ceeba4e362f2fb|19906116", - "1.2.9|linux_arm64|6da7bf01f5a72e61255c2d80eddeba51998e2bb1f50a6d81b0d3b71e70e18531|17946045", - "1.2.8|macos_x86_64|efd3e21a9bb1cfa68303f8d119ea8970dbb616f5f99caa0fe21d796e0cd70252|21678594", - "1.2.8|macos_arm64|2c83bfea9e1c202c449e91bee06a804afb45cb8ba64a73da48fb0f61df51b327|20277152", - "1.2.8|linux_x86_64|3e9c46d6f37338e90d5018c156d89961b0ffb0f355249679593aff99f9abe2a2|19907515", - "1.2.8|linux_arm64|26c05cadb05cdaa8ac64b90b982b4e9350715ec2e9995a6b03bb964d230de055|17947439", - "1.2.7|macos_x86_64|74e47b54ea78685be24c84e0e17b22b56220afcdb24ec853514b3863199f01e4|21673162", - "1.2.7|macos_arm64|ec4e623914b411f8cc93a1e71396a1e7f1fe1e96bb2e532ba3e955d2ca5cc442|20278743", - "1.2.7|linux_x86_64|dfd7c44a5b6832d62860a01095a15b53616fb3ea4441ab89542f9364e3fca718|19907183", - "1.2.7|linux_arm64|80d064008d57ba5dc97e189215c87275bf39ca14b1234430eae2f114394ea229|17943724", - "1.2.6|macos_x86_64|d896d2776af8b06cd4acd695ad75913040ce31234f5948688fd3c3fde53b1f75|21670957", - "1.2.6|macos_arm64|c88ceb34f343a2bb86960e32925c5ec43b41922ee9ede1019c5cf7d7b4097718|20279669", - "1.2.6|linux_x86_64|9fd445e7a191317dcfc99d012ab632f2cc01f12af14a44dfbaba82e0f9680365|19905977", - "1.2.6|linux_arm64|322755d11f0da11169cdb234af74ada5599046c698dccc125859505f85da2a20|17943213", - "1.2.5|macos_x86_64|2520fde736b43332b0c2648f4f6dde407335f322a3085114dc4f70e6e50eadc0|21659883", - "1.2.5|macos_arm64|92ad40db4a0930bdf872d6336a7b3a18b17c6fd04d9fc769b554bf51c8add505|20266441", - "1.2.5|linux_x86_64|281344ed7e2b49b3d6af300b1fe310beed8778c56f3563c4d60e5541c0978f1b|19897064", - "1.2.5|linux_arm64|0544420eb29b792444014988018ae77a7c8df6b23d84983728695ba73e38f54a|17938208", - "1.2.4|macos_x86_64|e7d2c66264a3da94854ae6ff692bbb9a1bc11c36bb5658e3ef19841388a07430|21658356", - "1.2.4|macos_arm64|c31754ff5553707ef9fd2f913b833c779ab05ce192eb14913f51816a077c6798|20263133", - "1.2.4|linux_x86_64|705ea62a44a0081594dad6b2b093eefefb12d54fa5a20a66562f9e082b00414c|19895510", - "1.2.4|linux_arm64|11cfa2233dc708b51b16d5b923379db67e35c22b1b988773e5b31a7c2e251471|17936883", - "1.2.3|macos_x86_64|bdc22658463237530dc120dadb0221762d9fb9116e7a6e0dc063d8ae649c431e|21658937", - "1.2.3|macos_arm64|6f06debac2ac54951464bf490e1606f973ab53ad8ba5decea76646e8f9309512|20256836", - "1.2.3|linux_x86_64|728b6fbcb288ad1b7b6590585410a98d3b7e05efe4601ef776c37e15e9a83a96|19891436", - "1.2.3|linux_arm64|a48991e938a25bfe5d257f4b6cbbdc73d920cc34bbc8f0e685e28b9610ad75fe|17933271", - "1.2.2|macos_x86_64|1d22663c1ab22ecea774ae63aee21eecfee0bbc23b953206d889a5ba3c08525a|21656824", - "1.2.2|macos_arm64|b87716b55a3b10cced60db5285bae57aee9cc0f81c555dccdc4f54f62c2a3b60|20254768", - "1.2.2|linux_x86_64|2934a0e8824925beb956b2edb5fef212a6141c089d29d8568150a43f95b3a626|19889133", - "1.2.2|linux_arm64|9c6202237d7477412054dcd36fdc269da9ee66ecbc45bb07d0d63b7d36af7b21|17932829", - "1.2.1|macos_x86_64|31c0fd4deb7c6a77c08d2fdf59c37950e6df7165088c004e1dd7f5e09fbf6307|21645582", - "1.2.1|macos_arm64|70159b3e3eb49ee71193815943d9217c59203fd4ee8c6960aeded744094a2250|20253448", - "1.2.1|linux_x86_64|8cf8eb7ed2d95a4213fbfd0459ab303f890e79220196d1c4aae9ecf22547302e|19881618", - "1.2.1|linux_arm64|972ea512dac822274791dedceb6e7f8b9ac2ed36bd7759269b6806d0ab049128|17922073", - "1.2.0|macos_x86_64|1b102ba3bf0c60ff6cbee74f721bf8105793c1107a1c6d03dcab98d7079f0c77|21645732", - "1.2.0|macos_arm64|f5e46cabe5889b60597f0e9c365cbc663e4c952c90a16c10489897c2075ae4f0|20253335", - "1.2.0|linux_x86_64|b87de03adbdfdff3c2552c8c8377552d0eecd787154465100cf4e29de4a7be1f|19880608", - "1.2.0|linux_arm64|ee80b8635d8fdbaed57beffe281cf87b8b1fd1ddb29c08d20e25a152d9f0f871|17920355", - "1.1.9|macos_x86_64|685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc|20850638", - "1.1.9|macos_arm64|39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c|20093184", - "1.1.9|linux_x86_64|9d2d8a89f5cc8bc1c06cb6f34ce76ec4b99184b07eb776f8b39183b513d7798a|19262029", - "1.1.9|linux_arm64|e8a09d1fe5a68ed75e5fabe26c609ad12a7e459002dea6543f1084993b87a266|17521011", - "1.1.8|macos_x86_64|48f1f1e04d0aa8f5f1a661de95e3c2b8fd8ab16b3d44015372aff7693d36c2cf|20354970", - "1.1.8|macos_arm64|943e1948c4eae82cf8b490bb274939fe666252bbc146f098e7da65b23416264a|19631574", - "1.1.8|linux_x86_64|fbd37c1ec3d163f493075aa0fa85147e7e3f88dd98760ee7af7499783454f4c5|18796132", - "1.1.8|linux_arm64|10b2c063dcff91329ee44bce9d71872825566b713308b3da1e5768c6998fb84f|17107405", - "1.1.7|macos_x86_64|6e56eea328683541f6de0d5f449251a974d173e6d8161530956a20d9c239731a|20351873", - "1.1.7|macos_arm64|8919ceee34f6bfb16a6e9ff61c95f4043c35c6d70b21de27e5a153c19c7eba9c|19625836", - "1.1.7|linux_x86_64|e4add092a54ff6febd3325d1e0c109c9e590dc6c38f8bb7f9632e4e6bcca99d4|18795309", - "1.1.7|linux_arm64|2f72982008c52d2d57294ea50794d7c6ae45d2948e08598bfec3e492bce8d96e|17109768", - "1.1.6|macos_x86_64|7a499c1f08d89548ae4c0e829eea43845fa1bd7b464e7df46102b35e6081fe44|20303856", - "1.1.6|macos_arm64|f06a14fdb610ec5a7f18bdbb2f67187230eb418329756732d970b6ca3dae12c3|19577273", - "1.1.6|linux_x86_64|3e330ce4c8c0434cdd79fe04ed6f6e28e72db44c47ae50d01c342c8a2b05d331|18751464", - "1.1.6|linux_arm64|a53fb63625af3572f7252b9fb61d787ab153132a8984b12f4bb84b8ee408ec53|17069580", - "1.1.5|macos_x86_64|dcf7133ebf61d195e432ddcb70e604bf45056163d960e991881efbecdbd7892b|20300006", - "1.1.5|macos_arm64|6e5a8d22343722dc8bfcf1d2fd7b742f5b46287f87171e8143fc9b87db32c3d4|19581167", - "1.1.5|linux_x86_64|30942d5055c7151f051c8ea75481ff1dc95b2c4409dbb50196419c21168d6467|18748879", - "1.1.5|linux_arm64|2fb6324c24c14523ae63cedcbc94a8e6c1c317987eced0abfca2f6218d217ca5|17069683", - "1.1.4|macos_x86_64|4f3bc78fedd4aa17f67acc0db4eafdb6d70ba72392aaba65fe72855520f11f3d|20242050", - "1.1.4|macos_arm64|5642b46e9c7fb692f05eba998cd4065fb2e48aa8b0aac9d2a116472fbabe34a1|19498408", - "1.1.4|linux_x86_64|fca028d622f82788fdc35c1349e78d69ff07c7bb68c27d12f8b48c420e3ecdfb|18695508", - "1.1.4|linux_arm64|3c1982cf0d16276c82960db60c998d79ba19e413af4fa2c7f6f86e4994379437|16996040", - "1.1.3|macos_x86_64|016bab760c96d4e64d2140a5f25c614ccc13c3fe9b3889e70c564bd02099259f|20241648", - "1.1.3|macos_arm64|02ba769bb0a8d4bc50ff60989b0f201ce54fd2afac2fb3544a0791aca5d3f6d5|19493636", - "1.1.3|linux_x86_64|b215de2a18947fff41803716b1829a3c462c4f009b687c2cbdb52ceb51157c2f|18692580", - "1.1.3|linux_arm64|ad5a1f2c132bedc5105e3f9900e4fe46858d582c0f2a2d74355da718bbcef65d|16996972", - "1.1.2|macos_x86_64|78faa76db5dc0ecfe4bf7c6368dbf5cca019a806f9d203580a24a4e0f8cd8353|20240584", - "1.1.2|macos_arm64|cc3bd03b72db6247c9105edfeb9c8f674cf603e08259075143ffad66f5c25a07|19486800", - "1.1.2|linux_x86_64|734efa82e2d0d3df8f239ce17f7370dabd38e535d21e64d35c73e45f35dfa95c|18687805", - "1.1.2|linux_arm64|088e2226d1ddb7f68a4f65c704022a1cfdbf20fe40f02e0c3646942f211fd746|16994702", - "1.1.1|macos_x86_64|d125dd2e92b9245f2202199b52f234035f36bdcbcd9a06f08e647e14a9d9067a|20237718", - "1.1.1|macos_arm64|4cb6e5eb4f6036924caf934c509a1dfd61cd2c651bb3ee8fbfe2e2914dd9ed17|19488315", - "1.1.1|linux_x86_64|07b8dc444540918597a60db9351af861335c3941f28ea8774e168db97dd74557|18687006", - "1.1.1|linux_arm64|d6fd14da47af9ec5fa3ad5962eaef8eed6ff2f8a5041671f9c90ec5f4f8bb554|16995635", - "1.1.0|macos_x86_64|6e0ba9afb8795a544e70dc0459f0095fea7df15e38f5d88a7dd3f620d50f8bfe|20226329", - "1.1.0|macos_arm64|7955e173c7eadb87123fc0633c3ee67d5ba3b7d6c7f485fe803efed9f99dce54|19491369", - "1.1.0|linux_x86_64|763378aa75500ce5ba67d0cba8aa605670cd28bf8bafc709333a30908441acb5|18683106", - "1.1.0|linux_arm64|6697e9a263e264310373f3c91bf83f4cbfeb67b13994d2a8f7bcc492b554552e|16987201", - "1.0.11|macos_x86_64|551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131|19422757", - "1.0.11|macos_arm64|737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6|18467868", - "1.0.11|linux_x86_64|eeb46091a42dc303c3a3c300640c7774ab25cbee5083dafa5fd83b54c8aca664|18082446", - "1.0.11|linux_arm64|30c650f4bc218659d43e07d911c00f08e420664a3d12c812228e66f666758645|16148492", - "1.0.10|macos_x86_64|077479e98701bc9be88db21abeec684286fd85a3463ce437d7739d2a4e372f18|33140832", - "1.0.10|macos_arm64|776f2e144039ece66ae326ebda0884254848a2e11f0590757d02e3a74f058c81|32013985", - "1.0.10|linux_x86_64|a221682fcc9cbd7fde22f305ead99b3ad49d8303f152e118edda086a2807716d|32674953", - "1.0.10|linux_arm64|b091dbe5c00785ae8b5cb64149d697d61adea75e495d9e3d910f61d8c9967226|30505040", - "1.0.9|macos_x86_64|be122ff7fb925643c5ebf4e5704b18426e18d3ca49ab59ae33d208c908cb6d5a|33140006", - "1.0.9|macos_arm64|89b2b4fd1a0c57fabc08ad3180ad148b1f7c1c0492ed865408f75f12e11a083b|32010657", - "1.0.9|linux_x86_64|f06ac64c6a14ed6a923d255788e4a5daefa2b50e35f32d7a3b5a2f9a5a91e255|32674820", - "1.0.9|linux_arm64|457ac590301126e7b151ea08c5b9586a882c60039a0605fb1e44b8d23d2624fd|30510941", - "1.0.8|macos_x86_64|909781ee76250cf7445f3b7d2b82c701688725fa1db3fb5543dfeed8c47b59de|33140123", - "1.0.8|macos_arm64|92fa31b93d736fab6f3d105beb502a9da908445ed942a3d46952eae88907c53e|32011344", - "1.0.8|linux_x86_64|a73459d406067ce40a46f026dce610740d368c3b4a3d96591b10c7a577984c2e|32681118", - "1.0.8|linux_arm64|01aaef769f4791f9b28530e750aadbc983a8eabd0d55909e26392b333a1a26e4|30515501", - "1.0.7|macos_x86_64|23b85d914465882b027d3819cc05cd114a1aaf39b550de742e81a99daa998183|33140742", - "1.0.7|macos_arm64|d9062959f28ba0f934bfe2b6e0b021e0c01a48fa065102554ca103b8274e8e0c|32012708", - "1.0.7|linux_x86_64|bc79e47649e2529049a356f9e60e06b47462bf6743534a10a4c16594f443be7b|32671441", - "1.0.7|linux_arm64|4e71a9e759578020750be41e945c086e387affb58568db6d259d80d123ac80d3|30529105", - "1.0.6|macos_x86_64|5ac4f41d5e28f31817927f2c5766c5d9b98b68d7b342e25b22d053f9ecd5a9f1|33141677", - "1.0.6|macos_arm64|613020f90a6a5d0b98ebeb4e7cdc4b392aa06ce738fbb700159a465cd27dcbfa|32024047", - "1.0.6|linux_x86_64|6a454323d252d34e928785a3b7c52bfaff1192f82685dfee4da1279bb700b733|32677516", - "1.0.6|linux_arm64|2047f8afc7d0d7b645a0422181ba3fe47b3547c4fe658f95eebeb872752ec129|30514636" - ], + "comma_separated_display_args": "--[no-]dependencies-transitive", + "config_key": "transitive", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-known-versions=\"['', '', ...]\"" + "--[no-]dependencies-transitive" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_KNOWN_VERSIONS", + "env_var": "PANTS_DEPENDENCIES_TRANSITIVE", "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", + "help": "List all transitive dependencies. If unspecified, list direct dependencies only.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-known-versions"], + "scoped_cmd_line_args": [ + "--dependencies-transitive", + "--no-dependencies-transitive" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--transitive", + "--no-transitive" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "1.4.6|macos_x86_64|5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d|22051279", - "1.4.6|macos_arm64|30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1|20613318", - "1.4.6|linux_x86_64|e079db1a8945e39b1f8ba4e513946b3ab9f32bd5a2bdf19b9b186d22c5a3d53b|20779821", - "1.4.6|linux_arm64|b38f5db944ac4942f11ceea465a91e365b0636febd9998c110fbbe95d61c3b26|18834675", - "1.4.5|macos_x86_64|808e54d826737e9a0ca79bbe29330e50d3622bbeeb26066c63b371a291731711|22031074", - "1.4.5|macos_arm64|7104d9d13632aa61b494a349c589048d21bd550e579404c3a41c4932e4d6aa97|20592841", - "1.4.5|linux_x86_64|ce10e941cd11554b15a189cd00191c05abc20dff865599d361bdb863c5f406a9|20767621", - "1.4.5|linux_arm64|ca2c48f518f72fef668255150cc5e63b92545edc62a05939bbff8a350bceb357|18813058", - "1.4.4|macos_x86_64|0303ed9d7e5a225fc2e6fa9bf76fc6574c0c0359f22d5dfc04bc8b3234444f7c|22032187", - "1.4.4|macos_arm64|75602d9ec491982ceabea813569579b2991093a4e0d76b7ca86ffd9b7a2a1d1e|20594012", - "1.4.4|linux_x86_64|67541c1f6631befcc25b764028e5605e59234d4424e60a256518ee1e8dd50593|20767354", - "1.4.4|linux_arm64|f0b4e092f2aa6de3324e5e4b5b51260ecf5e8c2f5335ff7a2ffdc4fb54a8922d|18814310", - "1.4.3|macos_x86_64|89bdb242bfacf24167f365ef7a3bf0ad0e443ddd27ebde425fb71d77ce1a2597|22032267", - "1.4.3|macos_arm64|20b9d484bf99ada6c0de89316176ba33f7c87f64c0738991188465147bba221b|20574247", - "1.4.3|linux_x86_64|2252ee6ac8437b93db2b2ba341edc87951e2916afaeb50a88b858e80796e9111|20781685", - "1.4.3|linux_arm64|d3d9464953d390970e7f4f7cbcd94dbf63136da6fe1cbb4955d944a9315bdcdb|18814307", - "1.4.2|macos_x86_64|c218a6c0ef6692b25af16995c8c7bdf6739e9638fef9235c6aced3cd84afaf66|22030042", - "1.4.2|macos_arm64|af8ff7576c8fc41496fdf97e9199b00d8d81729a6a0e821eaf4dfd08aa763540|20588400", - "1.4.2|linux_x86_64|9f3ca33d04f5335472829d1df7785115b60176d610ae6f1583343b0a2221a931|20234129", - "1.4.2|linux_arm64|39c182670c4e63e918e0a16080b1cc47bb16e158d7da96333d682d6a9cb8eb91|18206088", - "1.4.1|macos_x86_64|96466364a7e66e3d456ecb6c85a63c83e124c004f8835fb8ea9b7bbb7542a9d0|22077050", - "1.4.1|macos_arm64|61f76e130b97c8a9017d8aaff15d252af29117e35ea1a0fc30bcaab7ceafce73|20634145", - "1.4.1|linux_x86_64|9e9f3e6752168dea8ecb3643ea9c18c65d5a52acc06c22453ebc4e3fc2d34421|20276168", - "1.4.1|linux_arm64|53322cc70b6e50ac1985bf26a78ffa2814789a4704880f071eaf3e67a463d6f6|18248378", - "1.4.0|macos_x86_64|e897a4217f1c3bfe37c694570dcc6371336fbda698790bb6b0547ec8daf1ffb3|21935694", - "1.4.0|macos_arm64|d4a1e564714c6acf848e86dc020ff182477b49f932e3f550a5d9c8f5da7636fb|20508091", - "1.4.0|linux_x86_64|5da60da508d6d1941ffa8b9216147456a16bbff6db7622ae9ad01d314cbdd188|20144407", - "1.4.0|linux_arm64|33e0f4f0b75f507fc19012111de008308df343153cd6a3992507f4566c0bb723|18130960", - "1.3.9|macos_x86_64|a73326ea8fb06f6976597e005f8047cbd55ac76ed1e517303d8f6395db6c7805|21194871", - "1.3.9|macos_arm64|d8a59a794a7f99b484a07a0ed2aa6520921d146ac5a7f4b1b806dcf5c4af0525|19793371", - "1.3.9|linux_x86_64|53048fa573effdd8f2a59b726234c6f450491fe0ded6931e9f4c6e3df6eece56|19477757", - "1.3.9|linux_arm64|da571087268c5faf884912c4239c6b9c8e1ed8e8401ab1dcb45712df70f42f1b|17513770", - "1.3.8|macos_x86_64|1a27a6fac31ecb05de610daf61a29fe83d304d7c519d773afbf56c11c3b6276b|21189878", - "1.3.8|macos_arm64|873b05ac81645cd7289d6ccfd3e73d4735af1a453f2cd19da0650bdabf7d2eb6|19780134", - "1.3.8|linux_x86_64|9d9e7d6a9b41cef8b837af688441d4fbbd84b503d24061d078ad662441c70240|19479266", - "1.3.8|linux_arm64|a42bf3c7d6327f45d2b212b692ab4229285fb44dbb8adb7c39e18be2b26167c8|17507360", - "1.3.7|macos_x86_64|eeae48adcd55212b34148ed203dd5843e9b2a84a852a9877f3386fadb0514980|21185288", - "1.3.7|macos_arm64|01d553db5f7b4cf0729b725e4402643efde5884b1dabf5eb80af328ce5e447cf|19774151", - "1.3.7|linux_x86_64|b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e|19464102", - "1.3.7|linux_arm64|5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38|17499971", - "1.3.6|macos_x86_64|13881fe0100238577394243a90c0631783aad21b77a9a7ee830404f86c0d37bb|21183111", - "1.3.6|macos_arm64|dbff0aeeaeee877c254f5414bef5c9d186e159aa0019223aac678abad9442c53|19779986", - "1.3.6|linux_x86_64|bb44a4c2b0a832d49253b9034d8ccbd34f9feeb26eda71c665f6e7fa0861f49b|19466755", - "1.3.6|linux_arm64|f4b1af29094290f1b3935c29033c4e5291664ee2c015ca251a020dd425c847c3|17501845", - "1.3.5|macos_x86_64|e6c9836188265b20c2588e9c9d6b1727094b324a379337e68ba58a6d26be8b51|21182319", - "1.3.5|macos_arm64|fcec1cbff229fbe59b03257ba2451d5ad1f5129714f08ccf6372b2737647c063|19780547", - "1.3.5|linux_x86_64|ac28037216c3bc41de2c22724e863d883320a770056969b8d211ca8af3d477cf|19469337", - "1.3.5|linux_arm64|ba5b1761046b899197bbfce3ad9b448d14550106d2cc37c52a60fc6822b584ed|17502759", - "1.3.4|macos_x86_64|2a75c69ec5ed8506658b266a40075256b62a7d245ff6297df7e48fa72af23879|21181585", - "1.3.4|macos_arm64|a1f740f92afac6db84421a3ec07d9061c34a32f88b4b0b47d243de16c961169f|19773343", - "1.3.4|linux_x86_64|b24210f28191fa2a08efe69f54e3db2e87a63369ac4f5dcaf9f34dc9318eb1a8|19462529", - "1.3.4|linux_arm64|65381c6b61b2d1a98892199f649a5764ff5a772080a73d70f8663245e6402c39|17494667", - "1.3.3|macos_x86_64|2b3cf653cd106becdea562b6c8d3f8939641e5626c5278729cbef81678fa9f42|21163874", - "1.3.3|macos_arm64|51e94ecf88059e8a53c363a048b658230f560574f99b0d8396ebacead894d159|19755200", - "1.3.3|linux_x86_64|fa5cbf4274c67f2937cabf1a6544529d35d0b8b729ce814b40d0611fd26193c1|19451941", - "1.3.3|linux_arm64|b940a080c698564df5e6a2f1c4e1b51b2c70a5115358d2361e3697d3985ecbfe|17488660", - "1.3.2|macos_x86_64|3639461bbc712dc130913bbe632afb449fce8c0df692429d311e7cb808601901|21163990", - "1.3.2|macos_arm64|80480acbfee2e2d0b094f721f7568a40b790603080d6612e19b797a16b8ba82d|19757201", - "1.3.2|linux_x86_64|6372e02a7f04bef9dac4a7a12f4580a0ad96a37b5997e80738e070be330cb11c|19451510", - "1.3.2|linux_arm64|ce1a8770aaf27736a3352c5c31e95fb10d0944729b9d81013bf6848f8657da5f|17485206", - "1.3.1|macos_x86_64|4282ebe6d1d72ace0d93e8a4bcf9a6f3aceac107966216355bb516b1c49cc203|21161667", - "1.3.1|macos_arm64|f0514f29b08da2f39ba4fff0d7eb40093915c9c69ddc700b6f39b78275207d96|19756039", - "1.3.1|linux_x86_64|0847b14917536600ba743a759401c45196bf89937b51dd863152137f32791899|19450765", - "1.3.1|linux_arm64|7ebb3d1ff94017fbef8acd0193e0bd29dec1a8925e2b573c05a92fdb743d1d5b|17486534", - "1.3.0|macos_x86_64|80e55182d4495da867c93c25dc6ae29be83ece39d3225e6adedecd55b72d6bbf|21163947", - "1.3.0|macos_arm64|df703317b5c7f80dc7c61e46de4697c9f440e650a893623351ab5e184995b404|19741011", - "1.3.0|linux_x86_64|380ca822883176af928c80e5771d1c0ac9d69b13c6d746e6202482aedde7d457|19450952", - "1.3.0|linux_arm64|0a15de6f934cf2217e5055412e7600d342b4f7dcc133564690776fece6213a9a|17488551", - "1.2.9|macos_x86_64|84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c|21672810", - "1.2.9|macos_arm64|bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa|20280541", - "1.2.9|linux_x86_64|0e0fc38641addac17103122e1953a9afad764a90e74daf4ff8ceeba4e362f2fb|19906116", - "1.2.9|linux_arm64|6da7bf01f5a72e61255c2d80eddeba51998e2bb1f50a6d81b0d3b71e70e18531|17946045", - "1.2.8|macos_x86_64|efd3e21a9bb1cfa68303f8d119ea8970dbb616f5f99caa0fe21d796e0cd70252|21678594", - "1.2.8|macos_arm64|2c83bfea9e1c202c449e91bee06a804afb45cb8ba64a73da48fb0f61df51b327|20277152", - "1.2.8|linux_x86_64|3e9c46d6f37338e90d5018c156d89961b0ffb0f355249679593aff99f9abe2a2|19907515", - "1.2.8|linux_arm64|26c05cadb05cdaa8ac64b90b982b4e9350715ec2e9995a6b03bb964d230de055|17947439", - "1.2.7|macos_x86_64|74e47b54ea78685be24c84e0e17b22b56220afcdb24ec853514b3863199f01e4|21673162", - "1.2.7|macos_arm64|ec4e623914b411f8cc93a1e71396a1e7f1fe1e96bb2e532ba3e955d2ca5cc442|20278743", - "1.2.7|linux_x86_64|dfd7c44a5b6832d62860a01095a15b53616fb3ea4441ab89542f9364e3fca718|19907183", - "1.2.7|linux_arm64|80d064008d57ba5dc97e189215c87275bf39ca14b1234430eae2f114394ea229|17943724", - "1.2.6|macos_x86_64|d896d2776af8b06cd4acd695ad75913040ce31234f5948688fd3c3fde53b1f75|21670957", - "1.2.6|macos_arm64|c88ceb34f343a2bb86960e32925c5ec43b41922ee9ede1019c5cf7d7b4097718|20279669", - "1.2.6|linux_x86_64|9fd445e7a191317dcfc99d012ab632f2cc01f12af14a44dfbaba82e0f9680365|19905977", - "1.2.6|linux_arm64|322755d11f0da11169cdb234af74ada5599046c698dccc125859505f85da2a20|17943213", - "1.2.5|macos_x86_64|2520fde736b43332b0c2648f4f6dde407335f322a3085114dc4f70e6e50eadc0|21659883", - "1.2.5|macos_arm64|92ad40db4a0930bdf872d6336a7b3a18b17c6fd04d9fc769b554bf51c8add505|20266441", - "1.2.5|linux_x86_64|281344ed7e2b49b3d6af300b1fe310beed8778c56f3563c4d60e5541c0978f1b|19897064", - "1.2.5|linux_arm64|0544420eb29b792444014988018ae77a7c8df6b23d84983728695ba73e38f54a|17938208", - "1.2.4|macos_x86_64|e7d2c66264a3da94854ae6ff692bbb9a1bc11c36bb5658e3ef19841388a07430|21658356", - "1.2.4|macos_arm64|c31754ff5553707ef9fd2f913b833c779ab05ce192eb14913f51816a077c6798|20263133", - "1.2.4|linux_x86_64|705ea62a44a0081594dad6b2b093eefefb12d54fa5a20a66562f9e082b00414c|19895510", - "1.2.4|linux_arm64|11cfa2233dc708b51b16d5b923379db67e35c22b1b988773e5b31a7c2e251471|17936883", - "1.2.3|macos_x86_64|bdc22658463237530dc120dadb0221762d9fb9116e7a6e0dc063d8ae649c431e|21658937", - "1.2.3|macos_arm64|6f06debac2ac54951464bf490e1606f973ab53ad8ba5decea76646e8f9309512|20256836", - "1.2.3|linux_x86_64|728b6fbcb288ad1b7b6590585410a98d3b7e05efe4601ef776c37e15e9a83a96|19891436", - "1.2.3|linux_arm64|a48991e938a25bfe5d257f4b6cbbdc73d920cc34bbc8f0e685e28b9610ad75fe|17933271", - "1.2.2|macos_x86_64|1d22663c1ab22ecea774ae63aee21eecfee0bbc23b953206d889a5ba3c08525a|21656824", - "1.2.2|macos_arm64|b87716b55a3b10cced60db5285bae57aee9cc0f81c555dccdc4f54f62c2a3b60|20254768", - "1.2.2|linux_x86_64|2934a0e8824925beb956b2edb5fef212a6141c089d29d8568150a43f95b3a626|19889133", - "1.2.2|linux_arm64|9c6202237d7477412054dcd36fdc269da9ee66ecbc45bb07d0d63b7d36af7b21|17932829", - "1.2.1|macos_x86_64|31c0fd4deb7c6a77c08d2fdf59c37950e6df7165088c004e1dd7f5e09fbf6307|21645582", - "1.2.1|macos_arm64|70159b3e3eb49ee71193815943d9217c59203fd4ee8c6960aeded744094a2250|20253448", - "1.2.1|linux_x86_64|8cf8eb7ed2d95a4213fbfd0459ab303f890e79220196d1c4aae9ecf22547302e|19881618", - "1.2.1|linux_arm64|972ea512dac822274791dedceb6e7f8b9ac2ed36bd7759269b6806d0ab049128|17922073", - "1.2.0|macos_x86_64|1b102ba3bf0c60ff6cbee74f721bf8105793c1107a1c6d03dcab98d7079f0c77|21645732", - "1.2.0|macos_arm64|f5e46cabe5889b60597f0e9c365cbc663e4c952c90a16c10489897c2075ae4f0|20253335", - "1.2.0|linux_x86_64|b87de03adbdfdff3c2552c8c8377552d0eecd787154465100cf4e29de4a7be1f|19880608", - "1.2.0|linux_arm64|ee80b8635d8fdbaed57beffe281cf87b8b1fd1ddb29c08d20e25a152d9f0f871|17920355", - "1.1.9|macos_x86_64|685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc|20850638", - "1.1.9|macos_arm64|39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c|20093184", - "1.1.9|linux_x86_64|9d2d8a89f5cc8bc1c06cb6f34ce76ec4b99184b07eb776f8b39183b513d7798a|19262029", - "1.1.9|linux_arm64|e8a09d1fe5a68ed75e5fabe26c609ad12a7e459002dea6543f1084993b87a266|17521011", - "1.1.8|macos_x86_64|48f1f1e04d0aa8f5f1a661de95e3c2b8fd8ab16b3d44015372aff7693d36c2cf|20354970", - "1.1.8|macos_arm64|943e1948c4eae82cf8b490bb274939fe666252bbc146f098e7da65b23416264a|19631574", - "1.1.8|linux_x86_64|fbd37c1ec3d163f493075aa0fa85147e7e3f88dd98760ee7af7499783454f4c5|18796132", - "1.1.8|linux_arm64|10b2c063dcff91329ee44bce9d71872825566b713308b3da1e5768c6998fb84f|17107405", - "1.1.7|macos_x86_64|6e56eea328683541f6de0d5f449251a974d173e6d8161530956a20d9c239731a|20351873", - "1.1.7|macos_arm64|8919ceee34f6bfb16a6e9ff61c95f4043c35c6d70b21de27e5a153c19c7eba9c|19625836", - "1.1.7|linux_x86_64|e4add092a54ff6febd3325d1e0c109c9e590dc6c38f8bb7f9632e4e6bcca99d4|18795309", - "1.1.7|linux_arm64|2f72982008c52d2d57294ea50794d7c6ae45d2948e08598bfec3e492bce8d96e|17109768", - "1.1.6|macos_x86_64|7a499c1f08d89548ae4c0e829eea43845fa1bd7b464e7df46102b35e6081fe44|20303856", - "1.1.6|macos_arm64|f06a14fdb610ec5a7f18bdbb2f67187230eb418329756732d970b6ca3dae12c3|19577273", - "1.1.6|linux_x86_64|3e330ce4c8c0434cdd79fe04ed6f6e28e72db44c47ae50d01c342c8a2b05d331|18751464", - "1.1.6|linux_arm64|a53fb63625af3572f7252b9fb61d787ab153132a8984b12f4bb84b8ee408ec53|17069580", - "1.1.5|macos_x86_64|dcf7133ebf61d195e432ddcb70e604bf45056163d960e991881efbecdbd7892b|20300006", - "1.1.5|macos_arm64|6e5a8d22343722dc8bfcf1d2fd7b742f5b46287f87171e8143fc9b87db32c3d4|19581167", - "1.1.5|linux_x86_64|30942d5055c7151f051c8ea75481ff1dc95b2c4409dbb50196419c21168d6467|18748879", - "1.1.5|linux_arm64|2fb6324c24c14523ae63cedcbc94a8e6c1c317987eced0abfca2f6218d217ca5|17069683", - "1.1.4|macos_x86_64|4f3bc78fedd4aa17f67acc0db4eafdb6d70ba72392aaba65fe72855520f11f3d|20242050", - "1.1.4|macos_arm64|5642b46e9c7fb692f05eba998cd4065fb2e48aa8b0aac9d2a116472fbabe34a1|19498408", - "1.1.4|linux_x86_64|fca028d622f82788fdc35c1349e78d69ff07c7bb68c27d12f8b48c420e3ecdfb|18695508", - "1.1.4|linux_arm64|3c1982cf0d16276c82960db60c998d79ba19e413af4fa2c7f6f86e4994379437|16996040", - "1.1.3|macos_x86_64|016bab760c96d4e64d2140a5f25c614ccc13c3fe9b3889e70c564bd02099259f|20241648", - "1.1.3|macos_arm64|02ba769bb0a8d4bc50ff60989b0f201ce54fd2afac2fb3544a0791aca5d3f6d5|19493636", - "1.1.3|linux_x86_64|b215de2a18947fff41803716b1829a3c462c4f009b687c2cbdb52ceb51157c2f|18692580", - "1.1.3|linux_arm64|ad5a1f2c132bedc5105e3f9900e4fe46858d582c0f2a2d74355da718bbcef65d|16996972", - "1.1.2|macos_x86_64|78faa76db5dc0ecfe4bf7c6368dbf5cca019a806f9d203580a24a4e0f8cd8353|20240584", - "1.1.2|macos_arm64|cc3bd03b72db6247c9105edfeb9c8f674cf603e08259075143ffad66f5c25a07|19486800", - "1.1.2|linux_x86_64|734efa82e2d0d3df8f239ce17f7370dabd38e535d21e64d35c73e45f35dfa95c|18687805", - "1.1.2|linux_arm64|088e2226d1ddb7f68a4f65c704022a1cfdbf20fe40f02e0c3646942f211fd746|16994702", - "1.1.1|macos_x86_64|d125dd2e92b9245f2202199b52f234035f36bdcbcd9a06f08e647e14a9d9067a|20237718", - "1.1.1|macos_arm64|4cb6e5eb4f6036924caf934c509a1dfd61cd2c651bb3ee8fbfe2e2914dd9ed17|19488315", - "1.1.1|linux_x86_64|07b8dc444540918597a60db9351af861335c3941f28ea8774e168db97dd74557|18687006", - "1.1.1|linux_arm64|d6fd14da47af9ec5fa3ad5962eaef8eed6ff2f8a5041671f9c90ec5f4f8bb554|16995635", - "1.1.0|macos_x86_64|6e0ba9afb8795a544e70dc0459f0095fea7df15e38f5d88a7dd3f620d50f8bfe|20226329", - "1.1.0|macos_arm64|7955e173c7eadb87123fc0633c3ee67d5ba3b7d6c7f485fe803efed9f99dce54|19491369", - "1.1.0|linux_x86_64|763378aa75500ce5ba67d0cba8aa605670cd28bf8bafc709333a30908441acb5|18683106", - "1.1.0|linux_arm64|6697e9a263e264310373f3c91bf83f4cbfeb67b13994d2a8f7bcc492b554552e|16987201", - "1.0.11|macos_x86_64|551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131|19422757", - "1.0.11|macos_arm64|737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6|18467868", - "1.0.11|linux_x86_64|eeb46091a42dc303c3a3c300640c7774ab25cbee5083dafa5fd83b54c8aca664|18082446", - "1.0.11|linux_arm64|30c650f4bc218659d43e07d911c00f08e420664a3d12c812228e66f666758645|16148492", - "1.0.10|macos_x86_64|077479e98701bc9be88db21abeec684286fd85a3463ce437d7739d2a4e372f18|33140832", - "1.0.10|macos_arm64|776f2e144039ece66ae326ebda0884254848a2e11f0590757d02e3a74f058c81|32013985", - "1.0.10|linux_x86_64|a221682fcc9cbd7fde22f305ead99b3ad49d8303f152e118edda086a2807716d|32674953", - "1.0.10|linux_arm64|b091dbe5c00785ae8b5cb64149d697d61adea75e495d9e3d910f61d8c9967226|30505040", - "1.0.9|macos_x86_64|be122ff7fb925643c5ebf4e5704b18426e18d3ca49ab59ae33d208c908cb6d5a|33140006", - "1.0.9|macos_arm64|89b2b4fd1a0c57fabc08ad3180ad148b1f7c1c0492ed865408f75f12e11a083b|32010657", - "1.0.9|linux_x86_64|f06ac64c6a14ed6a923d255788e4a5daefa2b50e35f32d7a3b5a2f9a5a91e255|32674820", - "1.0.9|linux_arm64|457ac590301126e7b151ea08c5b9586a882c60039a0605fb1e44b8d23d2624fd|30510941", - "1.0.8|macos_x86_64|909781ee76250cf7445f3b7d2b82c701688725fa1db3fb5543dfeed8c47b59de|33140123", - "1.0.8|macos_arm64|92fa31b93d736fab6f3d105beb502a9da908445ed942a3d46952eae88907c53e|32011344", - "1.0.8|linux_x86_64|a73459d406067ce40a46f026dce610740d368c3b4a3d96591b10c7a577984c2e|32681118", - "1.0.8|linux_arm64|01aaef769f4791f9b28530e750aadbc983a8eabd0d55909e26392b333a1a26e4|30515501", - "1.0.7|macos_x86_64|23b85d914465882b027d3819cc05cd114a1aaf39b550de742e81a99daa998183|33140742", - "1.0.7|macos_arm64|d9062959f28ba0f934bfe2b6e0b021e0c01a48fa065102554ca103b8274e8e0c|32012708", - "1.0.7|linux_x86_64|bc79e47649e2529049a356f9e60e06b47462bf6743534a10a4c16594f443be7b|32671441", - "1.0.7|linux_arm64|4e71a9e759578020750be41e945c086e387affb58568db6d259d80d123ac80d3|30529105", - "1.0.6|macos_x86_64|5ac4f41d5e28f31817927f2c5766c5d9b98b68d7b342e25b22d053f9ecd5a9f1|33141677", - "1.0.6|macos_arm64|613020f90a6a5d0b98ebeb4e7cdc4b392aa06ce738fbb700159a465cd27dcbfa|32024047", - "1.0.6|linux_x86_64|6a454323d252d34e928785a3b7c52bfaff1192f82685dfee4da1279bb700b733|32677516", - "1.0.6|linux_arm64|2047f8afc7d0d7b645a0422181ba3fe47b3547c4fe658f95eebeb872752ec129|30514636" - ] + "value": false } ] } }, - "PANTS_DOWNLOAD_TERRAFORM_TAILOR": { + "PANTS_DEPENDENTS_CLOSED": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]download-terraform-tailor", - "config_key": "tailor", - "default": true, + "comma_separated_display_args": "--[no-]dependents-closed", + "config_key": "closed", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]download-terraform-tailor"], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_TAILOR", + "display_args": [ + "--[no-]dependents-closed" + ], + "env_var": "PANTS_DEPENDENTS_CLOSED", "fromfile": false, - "help": "If true, add `terraform_module` targets with the `tailor` goal.", + "help": "Include the input targets in the output, along with the dependents.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--download-terraform-tailor", - "--no-download-terraform-tailor" + "--dependents-closed", + "--no-dependents-closed" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "unscoped_cmd_line_args": [ + "--closed", + "--no-closed" + ], "value_history": { "ranked_values": [ { @@ -4977,74 +5730,69 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_DOWNLOAD_TERRAFORM_URL_PLATFORM_MAPPING": { + "PANTS_DEPENDENTS_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux_arm64", - "linux_x86_64": "linux_amd64", - "macos_arm64": "darwin_arm64", - "macos_x86_64": "darwin_amd64" - }, + "comma_separated_display_args": "--dependents-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--dependents-output-file=" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_URL_PLATFORM_MAPPING", + "env_var": "PANTS_DEPENDENTS_OUTPUT_FILE", "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`.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--dependents-output-file" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": { - "linux_arm64": "linux_arm64", - "linux_x86_64": "linux_amd64", - "macos_arm64": "darwin_arm64", - "macos_x86_64": "darwin_amd64" - } + "value": null } ] } }, - "PANTS_DOWNLOAD_TERRAFORM_URL_TEMPLATE": { + "PANTS_DEPENDENTS_SEP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-url-template=", - "config_key": "url_template", - "default": "https://releases.hashicorp.com/terraform/{version}/terraform_{version}_{platform}.zip", + "comma_separated_display_args": "--dependents-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--download-terraform-url-template="], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_URL_TEMPLATE", + "display_args": [ + "--dependents-sep=" + ], + "env_var": "PANTS_DEPENDENTS_SEP", "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/v2.19/docs/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": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-url-template"], + "scoped_cmd_line_args": [ + "--dependents-sep" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { @@ -5055,31 +5803,37 @@ { "details": null, "rank": "HARDCODED", - "value": "https://releases.hashicorp.com/terraform/{version}/terraform_{version}_{platform}.zip" + "value": "\\n" } ] } }, - "PANTS_DOWNLOAD_TERRAFORM_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--download-terraform-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_DEPENDENTS_TRANSITIVE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]dependents-transitive", + "config_key": "transitive", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-use-unsupported-version=" + "--[no-]dependents-transitive" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_DEPENDENTS_TRANSITIVE", "fromfile": false, - "help": "\nWhat action to take in case the requested version of terraform is not supported.\n\nSupported terraform versions: unspecified\n", + "help": "List all transitive dependents. If unspecified, list direct dependents only.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--dependents-transitive", + "--no-dependents-transitive" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--transitive", + "--no-transitive" + ], "value_history": { "ranked_values": [ { @@ -5090,29 +5844,35 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": false } ] } }, - "PANTS_DOWNLOAD_TERRAFORM_VERSION": { + "PANTS_DISTDIR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-version=", - "config_key": "version", - "default": "1.4.6", + "comma_separated_display_args": "--pants-distdir=", + "config_key": "pants_distdir", + "default": "/home/runner/work/pantsbuild.org/pantsbuild.org/dist", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--download-terraform-version="], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_VERSION", + "display_args": [ + "--pants-distdir=" + ], + "env_var": "PANTS_DISTDIR", "fromfile": false, - "help": "Use this version of terraform.", + "help": "Write end products, such as the results of `pants package`, to this dir.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-version"], + "scoped_cmd_line_args": [ + "--pants-distdir" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--pants-distdir" + ], "value_history": { "ranked_values": [ { @@ -5123,62 +5883,74 @@ { "details": null, "rank": "HARDCODED", - "value": "1.4.6" + "value": "/home/runner/work/pantsbuild.org/pantsbuild.org/dist" } ] } }, - "PANTS_DYNAMIC_UI": { + "PANTS_DOCFORMATTER_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dynamic-ui", - "config_key": "dynamic_ui", - "default": true, + "comma_separated_display_args": "--docformatter-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dynamic-ui"], - "env_var": "PANTS_DYNAMIC_UI", + "display_args": [ + "--docformatter-args=\"[, , ...]\"" + ], + "env_var": "PANTS_DOCFORMATTER_ARGS", "fromfile": false, - "help": "Display a dynamically-updating console UI as Pants runs. This is true by default if Pants detects a TTY and there is no 'CI' environment variable indicating that Pants is running in a continuous integration environment.", + "help": "Arguments to pass directly to docformatter, e.g. `--docformatter-args='--wrap-summaries=100 --pre-summary-newline'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dynamic-ui", "--no-dynamic-ui"], + "scoped_cmd_line_args": [ + "--docformatter-args" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--dynamic-ui", "--no-dynamic-ui"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } }, - "PANTS_DYNAMIC_UI_RENDERER": { - "choices": ["indicatif-spinner", "experimental-prodash"], - "comma_separated_choices": "indicatif-spinner, experimental-prodash", - "comma_separated_display_args": "--dynamic-ui-renderer=", - "config_key": "dynamic_ui_renderer", - "default": "indicatif-spinner", + "PANTS_DOCFORMATTER_CONSOLE_SCRIPT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--docformatter-console-script=", + "config_key": "console_script", + "default": "docformatter", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dynamic-ui-renderer="], - "env_var": "PANTS_DYNAMIC_UI_RENDERER", + "display_args": [ + "--docformatter-console-script=" + ], + "env_var": "PANTS_DOCFORMATTER_CONSOLE_SCRIPT", "fromfile": false, - "help": "If `--dynamic-ui` is enabled, selects the renderer.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dynamic-ui-renderer"], + "scoped_cmd_line_args": [ + "--docformatter-console-script" + ], "target_field_name": null, - "typ": "DynamicUIRenderer", - "unscoped_cmd_line_args": ["--dynamic-ui-renderer"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -5189,29 +5961,35 @@ { "details": null, "rank": "HARDCODED", - "value": "indicatif-spinner" + "value": "docformatter" } ] } }, - "PANTS_ENGINE_VISUALIZE_TO": { + "PANTS_DOCFORMATTER_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--engine-visualize-to=", - "config_key": "engine_visualize_to", + "comma_separated_display_args": "--docformatter-entry-point=", + "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--engine-visualize-to="], - "env_var": "PANTS_ENGINE_VISUALIZE_TO", + "display_args": [ + "--docformatter-entry-point=" + ], + "env_var": "PANTS_DOCFORMATTER_ENTRY_POINT", "fromfile": false, - "help": "A directory to write execution and rule graphs to as `dot` files. The contents of the directory will be overwritten if any filenames collide.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--engine-visualize-to"], + "scoped_cmd_line_args": [ + "--docformatter-entry-point" + ], "target_field_name": null, - "typ": "dir_option", - "unscoped_cmd_line_args": ["--engine-visualize-to"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -5222,61 +6000,66 @@ ] } }, - "PANTS_ENVIRONMENTS_PREVIEW_NAMES": { + "PANTS_DOCFORMATTER_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--environments-preview-names=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "names", - "default": {}, + "comma_separated_display_args": "--docformatter-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--environments-preview-names=\"{'key1': val1, 'key2': val2, ...}\"" + "--docformatter-install-from-resolve=" ], - "env_var": "PANTS_ENVIRONMENTS_PREVIEW_NAMES", + "env_var": "PANTS_DOCFORMATTER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "A mapping of logical names to addresses to environment targets. For example:\n\n [environments-preview.names]\n linux_local = \"//:linux_env\"\n macos_local = \"//:macos_env\"\n centos6 = \"//:centos6_docker_env\"\n linux_ci = \"build-support:linux_ci_env\"\n macos_ci = \"build-support:macos_ci_env\"\n\nTo use an environment for a given target, specify the name in the `environment` field on that target. Pants will consume the environment target at the address mapped from that name.\n\nPants will ignore any environment targets that are not given a name via this option.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--environments-preview-names"], + "scoped_cmd_line_args": [ + "--docformatter-install-from-resolve" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--names"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": {} + "value": null } ] } }, - "PANTS_EXPERIMENTAL_BSP_GROUPS_CONFIG_FILES": { + "PANTS_DOCFORMATTER_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--experimental-bsp-groups-config-files=\"[, , ...]\"", - "config_key": "groups_config_files", - "default": [], + "comma_separated_display_args": "--docformatter-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--experimental-bsp-groups-config-files=\"[, , ...]\"" + "--docformatter-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_EXPERIMENTAL_BSP_GROUPS_CONFIG_FILES", + "env_var": "PANTS_DOCFORMATTER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "A list of config files that define groups of Pants targets to expose to IDEs via Build Server Protocol.\n\nPants generally uses fine-grained targets to define the components of a build (in many cases on a file-by-file basis). Many IDEs, however, favor coarse-grained targets that contain large numbers of source files. To accommodate this distinction, the Pants BSP server will compute a set of BSP build targets to use from the groups specified in the config files set for this option. Each group will become one or more BSP build targets.\n\nEach config file is a TOML file with a `groups` dictionary with the following format for an entry:\n\n # The dictionary key is used to identify the group. It must be unique.\n [groups.ID1]:\n # One or more Pants address specs defining what targets to include in the group.\n addresses = [\n \"src/jvm::\",\n \"tests/jvm::\",\n ]\n # Filter targets to a specific resolve. Targets in a group must be from a single resolve.\n # Format of filter is `TYPE:RESOLVE_NAME`. The only supported TYPE is `jvm`. RESOLVE_NAME must be\n # a valid resolve name.\n resolve = \"jvm:jvm-default\"\n display_name = \"Display Name\" # (Optional) Name shown to the user in the IDE.\n base_directory = \"path/from/build/root\" # (Optional) Hint to the IDE for where the build target should \"live.\"\n\nPants will merge the contents of the config files together. If the same ID is used for a group definition, in multiple config files, the definition in the latter config file will take effect.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--experimental-bsp-groups-config-files"], + "scoped_cmd_line_args": [ + "--docformatter-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--groups-config-files"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -5287,31 +6070,37 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_EXPERIMENTAL_BSP_RUNNER_ENV_VARS": { + "PANTS_DOCFORMATTER_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--experimental-bsp-runner-env-vars=\"['', '', ...]\"", - "config_key": "runner_env_vars", - "default": ["PATH"], + "comma_separated_display_args": "--docformatter-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--experimental-bsp-runner-env-vars=\"['', '', ...]\"" + "--docformatter-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_EXPERIMENTAL_BSP_RUNNER_ENV_VARS", + "env_var": "PANTS_DOCFORMATTER_REQUIREMENTS", "fromfile": false, - "help": "Environment variables to set in the BSP runner script when setting up BSP in a repository. 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' own environment when the experimental-bsp goal was run.\n\nThis option only takes effect when the BSP runner script is written. If the option changes, you must run `pants experimental-bsp` again to write a new copy of the BSP runner script.\n\nNote: The environment variables passed to the Pants BSP server will be those set for your IDE and not your shell. For example, on macOS, the IDE is generally launched by `launchd` after clicking on a Dock icon, and not from the shell. Thus, any environment variables set for your shell will likely not be seen by the Pants BSP server. At the very least, on macOS consider writing an explicit PATH into the BSP runner script via this option.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--experimental-bsp-runner-env-vars"], + "scoped_cmd_line_args": [ + "--docformatter-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--runner-env-vars"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -5322,32 +6111,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["PATH"] + "value": [] } ] } }, - "PANTS_EXPERIMENTAL_BSP_SERVER": { + "PANTS_DOCFORMATTER_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]experimental-bsp-server", - "config_key": "server", + "comma_separated_display_args": "--[no-]docformatter-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]experimental-bsp-server"], - "env_var": "PANTS_EXPERIMENTAL_BSP_SERVER", + "display_args": [ + "--[no-]docformatter-skip" + ], + "env_var": "PANTS_DOCFORMATTER_SKIP", "fromfile": false, - "help": "Run the Build Server Protocol server. Pants will receive BSP RPC requests via the console. This should only ever be invoked via the IDE.", + "help": "If true, don't use docformatter when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--experimental-bsp-server", - "--no-experimental-bsp-server" + "--docformatter-skip", + "--no-docformatter-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--server", "--no-server"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -5363,92 +6157,107 @@ ] } }, - "PANTS_EXPERIMENTAL_EXPLORER_ADDRESS": { + "PANTS_DOCKERFILE_PARSER_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--experimental-explorer-address=", - "config_key": "address", - "default": "localhost", + "comma_separated_display_args": "--dockerfile-parser-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--experimental-explorer-address="], - "env_var": "PANTS_EXPERIMENTAL_EXPLORER_ADDRESS", + "display_args": [ + "--dockerfile-parser-install-from-resolve=" + ], + "env_var": "PANTS_DOCKERFILE_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Server address to bind to.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--experimental-explorer-address"], + "scoped_cmd_line_args": [ + "--dockerfile-parser-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--address"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "localhost" } ] } }, - "PANTS_EXPERIMENTAL_EXPLORER_PORT": { + "PANTS_DOCKERFILE_PARSER_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--experimental-explorer-port=", - "config_key": "port", - "default": 8000, + "comma_separated_display_args": "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--experimental-explorer-port="], - "env_var": "PANTS_EXPERIMENTAL_EXPLORER_PORT", + "display_args": [ + "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOCKERFILE_PARSER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Server port to bind to.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--experimental-explorer-port"], + "scoped_cmd_line_args": [ + "--dockerfile-parser-interpreter-constraints" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--port"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 8000 + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_EXPORT_PY_EDITABLE_IN_RESOLVE": { + "PANTS_DOCKERFILE_PARSER_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--export-py-editable-in-resolve=\"['', '', ...]\"", - "config_key": "py_editable_in_resolve", + "comma_separated_display_args": "--dockerfile-parser-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--export-py-editable-in-resolve=\"['', '', ...]\"" + "--dockerfile-parser-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_EXPORT_PY_EDITABLE_IN_RESOLVE", + "env_var": "PANTS_DOCKERFILE_PARSER_REQUIREMENTS", "fromfile": false, - "help": "When exporting a mutable virtualenv for a resolve, do PEP-660 editable installs of all 'python_distribution' targets that own code in the exported resolve.\n\nIf a resolve name is not in this list, 'python_distribution' targets will not be installed in the virtualenv. This defaults to an empty list for backwards compatibility and to prevent unnecessary work to generate and install the PEP-660 editable wheels.\n\nThis only applies when '[python].enable_resolves' is true and when exporting a 'mutable_virtualenv' ('symlinked_immutable_virtualenv' exports are not \"full\" virtualenvs because they must not be edited, and do not include 'pip').\n\nNOTE: If you are using legacy exports (not using the '--resolve' option), then this option has no effect. Legacy exports will not include any editable installs.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--export-py-editable-in-resolve"], + "scoped_cmd_line_args": [ + "--dockerfile-parser-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--py-editable-in-resolve"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -5464,97 +6273,109 @@ ] } }, - "PANTS_EXPORT_PY_RESOLVE_FORMAT": { - "choices": ["mutable_virtualenv", "symlinked_immutable_virtualenv"], - "comma_separated_choices": "mutable_virtualenv, symlinked_immutable_virtualenv", - "comma_separated_display_args": "--export-py-resolve-format=", - "config_key": "py_resolve_format", - "default": "mutable_virtualenv", + "PANTS_DOCKER_BUILD_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--docker-build-args=\"[, , ...]\"", + "config_key": "build_args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--export-py-resolve-format=" + "--docker-build-args=\"[, , ...]\"" ], - "env_var": "PANTS_EXPORT_PY_RESOLVE_FORMAT", + "env_var": "PANTS_DOCKER_BUILD_ARGS", "fromfile": false, - "help": "Export Python resolves using this format. Options are:\n - `mutable_virtualenv`: Export a standalone mutable virtualenv that you can\n further modify.\n - `symlinked_immutable_virtualenv`: Export a symlink into a cached Python virtualenv.\n This virtualenv will have no pip binary, and will be immutable. Any attempt to\n modify it will corrupt the cache! It may, however, take significantly less time\n to export than a standalone, mutable virtualenv.", + "help": "Global build arguments (for Docker `--build-arg` options) to use for all `docker build` invocations.\n\nEntries are either strings in the form `ARG_NAME=value` to set an explicit value; or just `ARG_NAME` to copy the value from Pants's own environment.\n\nExample:\n\n [docker]\n build_args = [\"VAR1=value\", \"VAR2\"]\n\nUse the `extra_build_args` field on a `docker_image` target for additional image specific build arguments.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--export-py-resolve-format"], + "scoped_cmd_line_args": [ + "--docker-build-args" + ], "target_field_name": null, - "typ": "PythonResolveExportFormat", - "unscoped_cmd_line_args": ["--py-resolve-format"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--build-args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "mutable_virtualenv" + "value": [] } ] } }, - "PANTS_EXPORT_RESOLVE": { + "PANTS_DOCKER_BUILD_HOSTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--export-resolve=\"['', '', ...]\"", - "config_key": "resolve", - "default": [], + "comma_separated_display_args": "--docker-build-hosts=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "build_hosts", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--export-resolve=\"['', '', ...]\""], - "env_var": "PANTS_EXPORT_RESOLVE", + "display_args": [ + "--docker-build-hosts=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_DOCKER_BUILD_HOSTS", "fromfile": false, - "help": "Export the specified resolve(s). The export format is backend-specific, e.g., Python resolves are exported as virtualenvs.", + "help": "Hosts entries to be added to the `/etc/hosts` file in all built images.\n\nExample:\n\n [docker]\n build_hosts = {\"docker\": \"10.180.0.1\", \"docker2\": \"10.180.0.2\"}\n\nUse the `extra_build_hosts` field on a `docker_image` target for additional image specific host entries.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--export-resolve"], + "scoped_cmd_line_args": [ + "--docker-build-hosts" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--resolve"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--build-hosts" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": {} } ] } }, - "PANTS_EXPORT_SYMLINK_PYTHON_VIRTUALENV": { + "PANTS_DOCKER_BUILD_NO_CACHE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]export-symlink-python-virtualenv", - "config_key": "symlink_python_virtualenv", + "comma_separated_display_args": "--[no-]docker-build-no-cache", + "config_key": "build_no_cache", "default": false, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.20.0.dev0.", - "deprecation_active": true, - "display_args": ["--[no-]export-symlink-python-virtualenv"], - "env_var": "PANTS_EXPORT_SYMLINK_PYTHON_VIRTUALENV", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]docker-build-no-cache" + ], + "env_var": "PANTS_DOCKER_BUILD_NO_CACHE", "fromfile": false, - "help": "Export a symlink into a cached Python virtualenv. This virtualenv will have no pip binary, and will be immutable. Any attempt to modify it will corrupt the cache! It may, however, take significantly less time to export than a standalone, mutable virtualenv will.", - "removal_hint": "Set the `[export].py_resolve_format` option to 'symlinked_immutable_virtualenv'", - "removal_version": "2.20.0.dev0", + "help": "Do not use the Docker cache when building images.", + "removal_hint": null, + "removal_version": null, "scoped_cmd_line_args": [ - "--export-symlink-python-virtualenv", - "--no-export-symlink-python-virtualenv" + "--docker-build-no-cache", + "--no-docker-build-no-cache" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--symlink-python-virtualenv", - "--no-symlink-python-virtualenv" + "--build-no-cache", + "--no-build-no-cache" ], "value_history": { "ranked_values": [ @@ -5571,57 +6392,66 @@ ] } }, - "PANTS_FILEDEPS_ABSOLUTE": { + "PANTS_DOCKER_BUILD_TARGET_STAGE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]filedeps-absolute", - "config_key": "absolute", - "default": false, + "comma_separated_display_args": "--docker-build-target-stage=", + "config_key": "build_target_stage", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]filedeps-absolute"], - "env_var": "PANTS_FILEDEPS_ABSOLUTE", + "display_args": [ + "--docker-build-target-stage=" + ], + "env_var": "PANTS_DOCKER_BUILD_TARGET_STAGE", "fromfile": false, - "help": "If True, output with absolute path. If unspecified, output with path relative to the build root.", + "help": "Global default value for `target_stage` on `docker_image` targets, overriding the field value on the targets, if there is a matching stage in the `Dockerfile`.\n\nThis is useful to provide from the command line, to specify the target stage to build for at execution time.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filedeps-absolute", "--no-filedeps-absolute"], + "scoped_cmd_line_args": [ + "--docker-build-target-stage" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--absolute", "--no-absolute"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--build-target-stage" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, - "PANTS_FILEDEPS_GLOBS": { + "PANTS_DOCKER_BUILD_VERBOSE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]filedeps-globs", - "config_key": "globs", + "comma_separated_display_args": "--[no-]docker-build-verbose", + "config_key": "build_verbose", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]filedeps-globs"], - "env_var": "PANTS_FILEDEPS_GLOBS", + "display_args": [ + "--[no-]docker-build-verbose" + ], + "env_var": "PANTS_DOCKER_BUILD_VERBOSE", "fromfile": false, - "help": "Instead of outputting filenames, output the original globs used in the BUILD file. This will not include exclude globs (i.e. globs that start with `!`).", + "help": "Whether to log the Docker output to the console. If false, only the image ID is logged.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filedeps-globs", "--no-filedeps-globs"], + "scoped_cmd_line_args": [ + "--docker-build-verbose", + "--no-docker-build-verbose" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--globs", "--no-globs"], + "unscoped_cmd_line_args": [ + "--build-verbose", + "--no-build-verbose" + ], "value_history": { "ranked_values": [ { @@ -5637,52 +6467,30 @@ ] } }, - "PANTS_FILEDEPS_OUTPUT_FILE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--filedeps-output-file=", - "config_key": "output_file", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--filedeps-output-file="], - "env_var": "PANTS_FILEDEPS_OUTPUT_FILE", - "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--filedeps-output-file"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - } - ] - } - }, - "PANTS_FILEDEPS_SEP": { + "PANTS_DOCKER_DEFAULT_CONTEXT_ROOT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filedeps-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--docker-default-context-root=", + "config_key": "default_context_root", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filedeps-sep="], - "env_var": "PANTS_FILEDEPS_SEP", + "display_args": [ + "--docker-default-context-root=" + ], + "env_var": "PANTS_DOCKER_DEFAULT_CONTEXT_ROOT", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "Provide a default Docker build context root path for `docker_image` targets that does not specify their own `context_root` field.\n\nThe context root is relative to the build root by default, but may be prefixed with `./` to be relative to the directory of the BUILD file of the `docker_image`.\n\nExamples:\n\n --default-context-root=src/docker\n --default-context-root=./relative_to_the_build_file", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filedeps-sep"], + "scoped_cmd_line_args": [ + "--docker-default-context-root" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "workspace_path", + "unscoped_cmd_line_args": [ + "--default-context-root" + ], "value_history": { "ranked_values": [ { @@ -5693,32 +6501,35 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": "" } ] } }, - "PANTS_FILEDEPS_TRANSITIVE": { + "PANTS_DOCKER_DEFAULT_REPOSITORY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]filedeps-transitive", - "config_key": "transitive", - "default": false, + "comma_separated_display_args": "--docker-default-repository=", + "config_key": "default_repository", + "default": "{name}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]filedeps-transitive"], - "env_var": "PANTS_FILEDEPS_TRANSITIVE", + "display_args": [ + "--docker-default-repository=" + ], + "env_var": "PANTS_DOCKER_DEFAULT_REPOSITORY", "fromfile": false, - "help": "If True, list files from all dependencies, including transitive dependencies. If unspecified, only list files from the target.", + "help": "Configure the default repository name used in the Docker image tag.\n\nThe value is formatted and may reference these variables (in addition to the normal placeheolders derived from the Dockerfile and build args etc):\n\n * name\n * directory\n * parent_directory\n * target_repository\n\nExample: `--default-repository=\"{directory}/{name}\"`.\n\nThe `name` variable is the `docker_image`'s target name, `directory` and `parent_directory` are the name of the directory in which the BUILD file is for the target, and its parent directory respectively.\n\nUse the `repository` field to set this value directly on a `docker_image` target.\n\nRegistries may override the repository value for a specific registry.\n\nAny registries or tags are added to the image name as required, and should not be part of the repository name.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--filedeps-transitive", - "--no-filedeps-transitive" + "--docker-default-repository" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--transitive", "--no-transitive"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--default-repository" + ], "value_history": { "ranked_values": [ { @@ -5729,31 +6540,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "{name}" } ] } }, - "PANTS_FILTER_ADDRESS_REGEX": { + "PANTS_DOCKER_ENV_VARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-address-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"", - "config_key": "address_regex", + "comma_separated_display_args": "--docker-env-vars=\"[, , ...]\"", + "config_key": "env_vars", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--filter-address-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"" + "--docker-env-vars=\"[, , ...]\"" ], - "env_var": "PANTS_FILTER_ADDRESS_REGEX", + "env_var": "PANTS_DOCKER_ENV_VARS", "fromfile": false, - "help": "Filter on target addresses matching these regexes.", + "help": "Environment variables to set for `docker` 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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filter-address-regex"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--docker-env-vars" + ], + "target_field_name": "docker_env_vars", "typ": "list", - "unscoped_cmd_line_args": ["--address-regex"], + "unscoped_cmd_line_args": [ + "--env-vars" + ], "value_history": { "ranked_values": [ { @@ -5769,120 +6584,153 @@ ] } }, - "PANTS_FILTER_GRANULARITY": { - "choices": ["all", "file", "BUILD"], - "comma_separated_choices": "all, file, BUILD", - "comma_separated_display_args": "--filter-granularity=", - "config_key": "granularity", - "default": "all", + "PANTS_DOCKER_EXECUTABLE_SEARCH_PATHS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--docker-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filter-granularity="], - "env_var": "PANTS_FILTER_GRANULARITY", + "display_args": [ + "--docker-executable-search-paths=\"[, , ...]\"" + ], + "env_var": "PANTS_DOCKER_EXECUTABLE_SEARCH_PATHS", "fromfile": false, - "help": "Filter to rendering only targets declared in BUILD files, only file-level targets, or all targets.", + "help": "The PATH value that will be used to find the Docker client and any tools required. The special string `\"\"` will expand to the contents of the PATH env var.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filter-granularity"], - "target_field_name": null, - "typ": "TargetGranularity", - "unscoped_cmd_line_args": ["--granularity"], + "scoped_cmd_line_args": [ + "--docker-executable-search-paths" + ], + "target_field_name": "docker_executable_search_paths", + "typ": "list", + "unscoped_cmd_line_args": [ + "--executable-search-paths" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "all" + "value": [ + "" + ] } ] } }, - "PANTS_FILTER_OUTPUT_FILE": { + "PANTS_DOCKER_EXECUTION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--[no-]docker-execution", + "config_key": "docker_execution", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filter-output-file="], - "env_var": "PANTS_FILTER_OUTPUT_FILE", + "display_args": [ + "--[no-]docker-execution" + ], + "env_var": "PANTS_DOCKER_EXECUTION", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "If true, `docker_environment` targets can be used to run builds inside a Docker container.\n\nIf false, anytime a `docker_environment` target is used, Pants will instead fallback to whatever the target's `fallback_environment` field is set to.\n\nThis can be useful, for example, if you want to always use Docker locally, but disable it in CI, or vice versa.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filter-output-file"], + "scoped_cmd_line_args": [ + "--docker-execution", + "--no-docker-execution" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--docker-execution", + "--no-docker-execution" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_FILTER_SEP": { + "PANTS_DOCKER_REGISTRIES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--docker-registries=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "registries", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filter-sep="], - "env_var": "PANTS_FILTER_SEP", - "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "display_args": [ + "--docker-registries=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_DOCKER_REGISTRIES", + "fromfile": true, + "help": "Configure Docker registries. The schema for a registry entry is as follows:\n\n {\n \"registry-alias\": {\n \"address\": \"registry-domain:port\",\n \"default\": bool,\n \"extra_image_tags\": [],\n \"skip_push\": bool,\n \"repository\": str,\n \"use_local_alias\": bool,\n },\n ...\n }\n\nIf no registries are provided in a `docker_image` target, then all default addresses will be used, if any.\n\nThe `docker_image.registries` may be provided with a list of registry addresses and registry aliases prefixed with `@` to be used instead of the defaults.\n\nA configured registry is marked as default either by setting `default = true` or with an alias of `\"default\"`.\n\nA `docker_image` may be pushed to a subset of registries using the per registry `skip_push` option rather then the all or nothing toggle of the field option `skip_push` on the `docker_image` target.\n\nAny image tags that should only be added for specific registries may be provided as the `extra_image_tags` option. The tags may use value formatting the same as for the `image_tags` field of the `docker_image` target.\n\nWhen a registry provides a `repository` value, it will be used instead of the `docker_image.repository` or the default repository. Using the placeholders `{target_repository}` or `{default_repository}` those overridden values may be incorporated into the registry specific repository value.\n\nIf `use_local_alias` is true, a built image is additionally tagged locally using the registry alias as the value for repository (i.e. the additional image tag is not pushed) and will be used for any `pants run` requests.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filter-sep"], + "scoped_cmd_line_args": [ + "--docker-registries" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--registries" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "\\n" + "value": {} } ] } }, - "PANTS_FILTER_TAG_REGEX": { + "PANTS_DOCKER_RUN_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-tag-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"", - "config_key": "tag_regex", + "comma_separated_display_args": "--docker-run-args=\"[, , ...]\"", + "config_key": "run_args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--filter-tag-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"" + "--docker-run-args=\"[, , ...]\"" ], - "env_var": "PANTS_FILTER_TAG_REGEX", + "env_var": "PANTS_DOCKER_RUN_ARGS", "fromfile": false, - "help": "Filter on targets with tags matching these regexes.", + "help": "Additional arguments to use for `docker run` invocations.\n\nExample:\n\n $ pants run --docker-run-args=\"-p 127.0.0.1:80:8080/tcp --name demo\" src/example:image -- [image entrypoint args]\n\nTo provide the top-level options to the `docker` client, use `[docker].env_vars` to configure the [Environment variables](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) as appropriate.\n\nThe arguments for the image entrypoint may be passed on the command line after a double dash (`--`), or using the `--run-args` option.\n\nDefaults to `--interactive --tty` when stdout is connected to a terminal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filter-tag-regex"], + "scoped_cmd_line_args": [ + "--docker-run-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--tag-regex"], + "unscoped_cmd_line_args": [ + "--run-args" + ], "value_history": { "ranked_values": [ { @@ -5898,128 +6746,32 @@ ] } }, - "PANTS_FILTER_TARGET_TYPE": { + "PANTS_DOCKER_TAILOR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-target-type=\"[[+-]type1,type2,..., [+-]type1,type2,..., ...]\"", - "config_key": "target_type", - "default": [], + "comma_separated_display_args": "--[no-]docker-tailor", + "config_key": "tailor", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--filter-target-type=\"[[+-]type1,type2,..., [+-]type1,type2,..., ...]\"" + "--[no-]docker-tailor" ], - "env_var": "PANTS_FILTER_TARGET_TYPE", - "fromfile": false, - "help": "Filter on these target types, e.g. `resources` or `python_sources`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--filter-target-type"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--target-type"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_FIX_BATCH_SIZE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--fix-batch-size=", - "config_key": "batch_size", - "default": 128, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--fix-batch-size="], - "env_var": "PANTS_FIX_BATCH_SIZE", - "fromfile": false, - "help": "The target number of files to be included in each fixer batch.\n\nFixer processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in fixer processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--fix-batch-size"], - "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--batch-size"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 128 - } - ] - } - }, - "PANTS_FIX_ONLY": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--fix-only=\"['', '', ...]\"", - "config_key": "only", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--fix-only=\"['', '', ...]\""], - "env_var": "PANTS_FIX_ONLY", - "fromfile": false, - "help": "Only run these fixers and skip all others.\n\nThe fixer names are outputted at the final summary of running this goal, e.g. `autoflake` and `pyupgrade`. You can also run `fix --only=fake` to get a list of all activated fixers.\n\nYou can repeat this option, e.g. `fix --only=autoflake --only=pyupgrade` or `fix --only=['autoflake', 'pyupgrade']`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--fix-only"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--only"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_FIX_SKIP_FORMATTERS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]fix-skip-formatters", - "config_key": "skip_formatters", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]fix-skip-formatters"], - "env_var": "PANTS_FIX_SKIP_FORMATTERS", + "env_var": "PANTS_DOCKER_TAILOR", "fromfile": false, - "help": "If true, skip running all formatters.\n\nFYI: when running `pants fix fmt ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fmt` when running `fix` where possible.", + "help": "If true, add `docker_image` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--fix-skip-formatters", - "--no-fix-skip-formatters" + "--docker-tailor", + "--no-docker-tailor" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip-formatters", "--no-skip-formatters"], + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], "value_history": { "ranked_values": [ { @@ -6030,29 +6782,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_FLAKE8_ARGS": { + "PANTS_DOCKER_TOOLS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--docker-tools=\"['', '', ...]\"", + "config_key": "tools", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--flake8-args=\"[, , ...]\""], - "env_var": "PANTS_FLAKE8_ARGS", + "display_args": [ + "--docker-tools=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOCKER_TOOLS", "fromfile": false, - "help": "Arguments to pass directly to Flake8, e.g. `--flake8-args='--ignore E123,W456 --enable-extensions H111'`.", + "help": "List any additional executable tools required for Docker to work. 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": ["--flake8-args"], + "scoped_cmd_line_args": [ + "--docker-tools" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--tools" + ], "value_history": { "ranked_values": [ { @@ -6068,88 +6826,32 @@ ] } }, - "PANTS_FLAKE8_CONFIG": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-config=", - "config_key": "config", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--flake8-config="], - "env_var": "PANTS_FLAKE8_CONFIG", - "fromfile": false, - "help": "Path to an INI config file understood by Flake8 (https://flake8.pycqa.org/en/latest/user/configuration.html).\n\nSetting this option will disable `[flake8].config_discovery`. Use this option if the config is located in a non-standard location.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--flake8-config"], - "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - } - ] - } - }, - "PANTS_FLAKE8_CONFIG_DISCOVERY": { + "PANTS_DOCKER_USE_BUILDX": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]flake8-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]docker-use-buildx", + "config_key": "use_buildx", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]flake8-config-discovery"], - "env_var": "PANTS_FLAKE8_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]docker-use-buildx" + ], + "env_var": "PANTS_DOCKER_USE_BUILDX", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.flake8`, `flake8`, `setup.cfg`, and `tox.ini`).\n\nUse `[flake8].config` instead if your config is in a non-standard location.", + "help": "Use [buildx](https://github.com/docker/buildx#buildx) (and BuildKit) for builds.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--flake8-config-discovery", - "--no-flake8-config-discovery" + "--docker-use-buildx", + "--no-docker-use-buildx" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true - } - ] - } - }, - "PANTS_FLAKE8_CONSOLE_SCRIPT": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-console-script=", - "config_key": "console_script", - "default": "flake8", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--flake8-console-script="], - "env_var": "PANTS_FLAKE8_CONSOLE_SCRIPT", - "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--flake8-console-script"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--use-buildx", + "--no-use-buildx" + ], "value_history": { "ranked_values": [ { @@ -6160,59 +6862,36 @@ { "details": null, "rank": "HARDCODED", - "value": "flake8" - } - ] - } - }, - "PANTS_FLAKE8_ENTRY_POINT": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-entry-point=", - "config_key": "entry_point", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--flake8-entry-point="], - "env_var": "PANTS_FLAKE8_ENTRY_POINT", - "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--flake8-entry-point"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null + "value": false } ] } }, - "PANTS_FLAKE8_EXTRA_FILES": { + "PANTS_DOWNLOAD_TERRAFORM_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-extra-files=\"[, , ...]\"", - "config_key": "extra_files", + "comma_separated_display_args": "--download-terraform-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--flake8-extra-files=\"[, , ...]\"" + "--download-terraform-args=\"[, , ...]\"", + "... -- [ [ [...]]]" ], - "env_var": "PANTS_FLAKE8_EXTRA_FILES", + "env_var": "PANTS_DOWNLOAD_TERRAFORM_ARGS", "fromfile": false, - "help": "Paths to extra files to include in the sandbox. This can be useful for Flake8 plugins,\n like including config files for the `flake8-bandit` plugin.", + "help": "Arguments to pass directly to terraform, e.g. `--download-terraform-args='-auto-approve'`.\n\nAdditional arguments to pass to the Terraform command line.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-extra-files"], + "scoped_cmd_line_args": [ + "--download-terraform-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--extra-files"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -6228,52 +6907,30 @@ ] } }, - "PANTS_FLAKE8_INSTALL_FROM_RESOLVE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--flake8-install-from-resolve="], - "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--flake8-install-from-resolve"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - } - ] - } - }, - "PANTS_FLAKE8_REQUIREMENTS": { + "PANTS_DOWNLOAD_TERRAFORM_EXTRA_ENV_VARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--download-terraform-extra-env-vars=\"['', '', ...]\"", + "config_key": "extra_env_vars", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--flake8-requirements=\"['', '', ...]\""], - "env_var": "PANTS_FLAKE8_REQUIREMENTS", + "display_args": [ + "--download-terraform-extra-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOWNLOAD_TERRAFORM_EXTRA_ENV_VARS", "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": "Additional environment variables that would be made available to all Terraform processes.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-requirements"], + "scoped_cmd_line_args": [ + "--download-terraform-extra-env-vars" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--extra-env-vars" + ], "value_history": { "ranked_values": [ { @@ -6289,59 +6946,203 @@ ] } }, - "PANTS_FLAKE8_SKIP": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]flake8-skip", - "config_key": "skip", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]flake8-skip"], - "env_var": "PANTS_FLAKE8_SKIP", - "fromfile": false, - "help": "If true, don't use Flake8 when running `pants lint`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--flake8-skip", "--no-flake8-skip"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false - } - ] - } - }, - "PANTS_FLAKE8_SOURCE_PLUGINS": { + "PANTS_DOWNLOAD_TERRAFORM_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-source-plugins=\"[, , ...]\"", - "config_key": "source_plugins", - "default": [], + "comma_separated_display_args": "--download-terraform-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "1.4.6|macos_x86_64|5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d|22051279", + "1.4.6|macos_arm64|30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1|20613318", + "1.4.6|linux_x86_64|e079db1a8945e39b1f8ba4e513946b3ab9f32bd5a2bdf19b9b186d22c5a3d53b|20779821", + "1.4.6|linux_arm64|b38f5db944ac4942f11ceea465a91e365b0636febd9998c110fbbe95d61c3b26|18834675", + "1.4.5|macos_x86_64|808e54d826737e9a0ca79bbe29330e50d3622bbeeb26066c63b371a291731711|22031074", + "1.4.5|macos_arm64|7104d9d13632aa61b494a349c589048d21bd550e579404c3a41c4932e4d6aa97|20592841", + "1.4.5|linux_x86_64|ce10e941cd11554b15a189cd00191c05abc20dff865599d361bdb863c5f406a9|20767621", + "1.4.5|linux_arm64|ca2c48f518f72fef668255150cc5e63b92545edc62a05939bbff8a350bceb357|18813058", + "1.4.4|macos_x86_64|0303ed9d7e5a225fc2e6fa9bf76fc6574c0c0359f22d5dfc04bc8b3234444f7c|22032187", + "1.4.4|macos_arm64|75602d9ec491982ceabea813569579b2991093a4e0d76b7ca86ffd9b7a2a1d1e|20594012", + "1.4.4|linux_x86_64|67541c1f6631befcc25b764028e5605e59234d4424e60a256518ee1e8dd50593|20767354", + "1.4.4|linux_arm64|f0b4e092f2aa6de3324e5e4b5b51260ecf5e8c2f5335ff7a2ffdc4fb54a8922d|18814310", + "1.4.3|macos_x86_64|89bdb242bfacf24167f365ef7a3bf0ad0e443ddd27ebde425fb71d77ce1a2597|22032267", + "1.4.3|macos_arm64|20b9d484bf99ada6c0de89316176ba33f7c87f64c0738991188465147bba221b|20574247", + "1.4.3|linux_x86_64|2252ee6ac8437b93db2b2ba341edc87951e2916afaeb50a88b858e80796e9111|20781685", + "1.4.3|linux_arm64|d3d9464953d390970e7f4f7cbcd94dbf63136da6fe1cbb4955d944a9315bdcdb|18814307", + "1.4.2|macos_x86_64|c218a6c0ef6692b25af16995c8c7bdf6739e9638fef9235c6aced3cd84afaf66|22030042", + "1.4.2|macos_arm64|af8ff7576c8fc41496fdf97e9199b00d8d81729a6a0e821eaf4dfd08aa763540|20588400", + "1.4.2|linux_x86_64|9f3ca33d04f5335472829d1df7785115b60176d610ae6f1583343b0a2221a931|20234129", + "1.4.2|linux_arm64|39c182670c4e63e918e0a16080b1cc47bb16e158d7da96333d682d6a9cb8eb91|18206088", + "1.4.1|macos_x86_64|96466364a7e66e3d456ecb6c85a63c83e124c004f8835fb8ea9b7bbb7542a9d0|22077050", + "1.4.1|macos_arm64|61f76e130b97c8a9017d8aaff15d252af29117e35ea1a0fc30bcaab7ceafce73|20634145", + "1.4.1|linux_x86_64|9e9f3e6752168dea8ecb3643ea9c18c65d5a52acc06c22453ebc4e3fc2d34421|20276168", + "1.4.1|linux_arm64|53322cc70b6e50ac1985bf26a78ffa2814789a4704880f071eaf3e67a463d6f6|18248378", + "1.4.0|macos_x86_64|e897a4217f1c3bfe37c694570dcc6371336fbda698790bb6b0547ec8daf1ffb3|21935694", + "1.4.0|macos_arm64|d4a1e564714c6acf848e86dc020ff182477b49f932e3f550a5d9c8f5da7636fb|20508091", + "1.4.0|linux_x86_64|5da60da508d6d1941ffa8b9216147456a16bbff6db7622ae9ad01d314cbdd188|20144407", + "1.4.0|linux_arm64|33e0f4f0b75f507fc19012111de008308df343153cd6a3992507f4566c0bb723|18130960", + "1.3.9|macos_x86_64|a73326ea8fb06f6976597e005f8047cbd55ac76ed1e517303d8f6395db6c7805|21194871", + "1.3.9|macos_arm64|d8a59a794a7f99b484a07a0ed2aa6520921d146ac5a7f4b1b806dcf5c4af0525|19793371", + "1.3.9|linux_x86_64|53048fa573effdd8f2a59b726234c6f450491fe0ded6931e9f4c6e3df6eece56|19477757", + "1.3.9|linux_arm64|da571087268c5faf884912c4239c6b9c8e1ed8e8401ab1dcb45712df70f42f1b|17513770", + "1.3.8|macos_x86_64|1a27a6fac31ecb05de610daf61a29fe83d304d7c519d773afbf56c11c3b6276b|21189878", + "1.3.8|macos_arm64|873b05ac81645cd7289d6ccfd3e73d4735af1a453f2cd19da0650bdabf7d2eb6|19780134", + "1.3.8|linux_x86_64|9d9e7d6a9b41cef8b837af688441d4fbbd84b503d24061d078ad662441c70240|19479266", + "1.3.8|linux_arm64|a42bf3c7d6327f45d2b212b692ab4229285fb44dbb8adb7c39e18be2b26167c8|17507360", + "1.3.7|macos_x86_64|eeae48adcd55212b34148ed203dd5843e9b2a84a852a9877f3386fadb0514980|21185288", + "1.3.7|macos_arm64|01d553db5f7b4cf0729b725e4402643efde5884b1dabf5eb80af328ce5e447cf|19774151", + "1.3.7|linux_x86_64|b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e|19464102", + "1.3.7|linux_arm64|5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38|17499971", + "1.3.6|macos_x86_64|13881fe0100238577394243a90c0631783aad21b77a9a7ee830404f86c0d37bb|21183111", + "1.3.6|macos_arm64|dbff0aeeaeee877c254f5414bef5c9d186e159aa0019223aac678abad9442c53|19779986", + "1.3.6|linux_x86_64|bb44a4c2b0a832d49253b9034d8ccbd34f9feeb26eda71c665f6e7fa0861f49b|19466755", + "1.3.6|linux_arm64|f4b1af29094290f1b3935c29033c4e5291664ee2c015ca251a020dd425c847c3|17501845", + "1.3.5|macos_x86_64|e6c9836188265b20c2588e9c9d6b1727094b324a379337e68ba58a6d26be8b51|21182319", + "1.3.5|macos_arm64|fcec1cbff229fbe59b03257ba2451d5ad1f5129714f08ccf6372b2737647c063|19780547", + "1.3.5|linux_x86_64|ac28037216c3bc41de2c22724e863d883320a770056969b8d211ca8af3d477cf|19469337", + "1.3.5|linux_arm64|ba5b1761046b899197bbfce3ad9b448d14550106d2cc37c52a60fc6822b584ed|17502759", + "1.3.4|macos_x86_64|2a75c69ec5ed8506658b266a40075256b62a7d245ff6297df7e48fa72af23879|21181585", + "1.3.4|macos_arm64|a1f740f92afac6db84421a3ec07d9061c34a32f88b4b0b47d243de16c961169f|19773343", + "1.3.4|linux_x86_64|b24210f28191fa2a08efe69f54e3db2e87a63369ac4f5dcaf9f34dc9318eb1a8|19462529", + "1.3.4|linux_arm64|65381c6b61b2d1a98892199f649a5764ff5a772080a73d70f8663245e6402c39|17494667", + "1.3.3|macos_x86_64|2b3cf653cd106becdea562b6c8d3f8939641e5626c5278729cbef81678fa9f42|21163874", + "1.3.3|macos_arm64|51e94ecf88059e8a53c363a048b658230f560574f99b0d8396ebacead894d159|19755200", + "1.3.3|linux_x86_64|fa5cbf4274c67f2937cabf1a6544529d35d0b8b729ce814b40d0611fd26193c1|19451941", + "1.3.3|linux_arm64|b940a080c698564df5e6a2f1c4e1b51b2c70a5115358d2361e3697d3985ecbfe|17488660", + "1.3.2|macos_x86_64|3639461bbc712dc130913bbe632afb449fce8c0df692429d311e7cb808601901|21163990", + "1.3.2|macos_arm64|80480acbfee2e2d0b094f721f7568a40b790603080d6612e19b797a16b8ba82d|19757201", + "1.3.2|linux_x86_64|6372e02a7f04bef9dac4a7a12f4580a0ad96a37b5997e80738e070be330cb11c|19451510", + "1.3.2|linux_arm64|ce1a8770aaf27736a3352c5c31e95fb10d0944729b9d81013bf6848f8657da5f|17485206", + "1.3.1|macos_x86_64|4282ebe6d1d72ace0d93e8a4bcf9a6f3aceac107966216355bb516b1c49cc203|21161667", + "1.3.1|macos_arm64|f0514f29b08da2f39ba4fff0d7eb40093915c9c69ddc700b6f39b78275207d96|19756039", + "1.3.1|linux_x86_64|0847b14917536600ba743a759401c45196bf89937b51dd863152137f32791899|19450765", + "1.3.1|linux_arm64|7ebb3d1ff94017fbef8acd0193e0bd29dec1a8925e2b573c05a92fdb743d1d5b|17486534", + "1.3.0|macos_x86_64|80e55182d4495da867c93c25dc6ae29be83ece39d3225e6adedecd55b72d6bbf|21163947", + "1.3.0|macos_arm64|df703317b5c7f80dc7c61e46de4697c9f440e650a893623351ab5e184995b404|19741011", + "1.3.0|linux_x86_64|380ca822883176af928c80e5771d1c0ac9d69b13c6d746e6202482aedde7d457|19450952", + "1.3.0|linux_arm64|0a15de6f934cf2217e5055412e7600d342b4f7dcc133564690776fece6213a9a|17488551", + "1.2.9|macos_x86_64|84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c|21672810", + "1.2.9|macos_arm64|bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa|20280541", + "1.2.9|linux_x86_64|0e0fc38641addac17103122e1953a9afad764a90e74daf4ff8ceeba4e362f2fb|19906116", + "1.2.9|linux_arm64|6da7bf01f5a72e61255c2d80eddeba51998e2bb1f50a6d81b0d3b71e70e18531|17946045", + "1.2.8|macos_x86_64|efd3e21a9bb1cfa68303f8d119ea8970dbb616f5f99caa0fe21d796e0cd70252|21678594", + "1.2.8|macos_arm64|2c83bfea9e1c202c449e91bee06a804afb45cb8ba64a73da48fb0f61df51b327|20277152", + "1.2.8|linux_x86_64|3e9c46d6f37338e90d5018c156d89961b0ffb0f355249679593aff99f9abe2a2|19907515", + "1.2.8|linux_arm64|26c05cadb05cdaa8ac64b90b982b4e9350715ec2e9995a6b03bb964d230de055|17947439", + "1.2.7|macos_x86_64|74e47b54ea78685be24c84e0e17b22b56220afcdb24ec853514b3863199f01e4|21673162", + "1.2.7|macos_arm64|ec4e623914b411f8cc93a1e71396a1e7f1fe1e96bb2e532ba3e955d2ca5cc442|20278743", + "1.2.7|linux_x86_64|dfd7c44a5b6832d62860a01095a15b53616fb3ea4441ab89542f9364e3fca718|19907183", + "1.2.7|linux_arm64|80d064008d57ba5dc97e189215c87275bf39ca14b1234430eae2f114394ea229|17943724", + "1.2.6|macos_x86_64|d896d2776af8b06cd4acd695ad75913040ce31234f5948688fd3c3fde53b1f75|21670957", + "1.2.6|macos_arm64|c88ceb34f343a2bb86960e32925c5ec43b41922ee9ede1019c5cf7d7b4097718|20279669", + "1.2.6|linux_x86_64|9fd445e7a191317dcfc99d012ab632f2cc01f12af14a44dfbaba82e0f9680365|19905977", + "1.2.6|linux_arm64|322755d11f0da11169cdb234af74ada5599046c698dccc125859505f85da2a20|17943213", + "1.2.5|macos_x86_64|2520fde736b43332b0c2648f4f6dde407335f322a3085114dc4f70e6e50eadc0|21659883", + "1.2.5|macos_arm64|92ad40db4a0930bdf872d6336a7b3a18b17c6fd04d9fc769b554bf51c8add505|20266441", + "1.2.5|linux_x86_64|281344ed7e2b49b3d6af300b1fe310beed8778c56f3563c4d60e5541c0978f1b|19897064", + "1.2.5|linux_arm64|0544420eb29b792444014988018ae77a7c8df6b23d84983728695ba73e38f54a|17938208", + "1.2.4|macos_x86_64|e7d2c66264a3da94854ae6ff692bbb9a1bc11c36bb5658e3ef19841388a07430|21658356", + "1.2.4|macos_arm64|c31754ff5553707ef9fd2f913b833c779ab05ce192eb14913f51816a077c6798|20263133", + "1.2.4|linux_x86_64|705ea62a44a0081594dad6b2b093eefefb12d54fa5a20a66562f9e082b00414c|19895510", + "1.2.4|linux_arm64|11cfa2233dc708b51b16d5b923379db67e35c22b1b988773e5b31a7c2e251471|17936883", + "1.2.3|macos_x86_64|bdc22658463237530dc120dadb0221762d9fb9116e7a6e0dc063d8ae649c431e|21658937", + "1.2.3|macos_arm64|6f06debac2ac54951464bf490e1606f973ab53ad8ba5decea76646e8f9309512|20256836", + "1.2.3|linux_x86_64|728b6fbcb288ad1b7b6590585410a98d3b7e05efe4601ef776c37e15e9a83a96|19891436", + "1.2.3|linux_arm64|a48991e938a25bfe5d257f4b6cbbdc73d920cc34bbc8f0e685e28b9610ad75fe|17933271", + "1.2.2|macos_x86_64|1d22663c1ab22ecea774ae63aee21eecfee0bbc23b953206d889a5ba3c08525a|21656824", + "1.2.2|macos_arm64|b87716b55a3b10cced60db5285bae57aee9cc0f81c555dccdc4f54f62c2a3b60|20254768", + "1.2.2|linux_x86_64|2934a0e8824925beb956b2edb5fef212a6141c089d29d8568150a43f95b3a626|19889133", + "1.2.2|linux_arm64|9c6202237d7477412054dcd36fdc269da9ee66ecbc45bb07d0d63b7d36af7b21|17932829", + "1.2.1|macos_x86_64|31c0fd4deb7c6a77c08d2fdf59c37950e6df7165088c004e1dd7f5e09fbf6307|21645582", + "1.2.1|macos_arm64|70159b3e3eb49ee71193815943d9217c59203fd4ee8c6960aeded744094a2250|20253448", + "1.2.1|linux_x86_64|8cf8eb7ed2d95a4213fbfd0459ab303f890e79220196d1c4aae9ecf22547302e|19881618", + "1.2.1|linux_arm64|972ea512dac822274791dedceb6e7f8b9ac2ed36bd7759269b6806d0ab049128|17922073", + "1.2.0|macos_x86_64|1b102ba3bf0c60ff6cbee74f721bf8105793c1107a1c6d03dcab98d7079f0c77|21645732", + "1.2.0|macos_arm64|f5e46cabe5889b60597f0e9c365cbc663e4c952c90a16c10489897c2075ae4f0|20253335", + "1.2.0|linux_x86_64|b87de03adbdfdff3c2552c8c8377552d0eecd787154465100cf4e29de4a7be1f|19880608", + "1.2.0|linux_arm64|ee80b8635d8fdbaed57beffe281cf87b8b1fd1ddb29c08d20e25a152d9f0f871|17920355", + "1.1.9|macos_x86_64|685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc|20850638", + "1.1.9|macos_arm64|39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c|20093184", + "1.1.9|linux_x86_64|9d2d8a89f5cc8bc1c06cb6f34ce76ec4b99184b07eb776f8b39183b513d7798a|19262029", + "1.1.9|linux_arm64|e8a09d1fe5a68ed75e5fabe26c609ad12a7e459002dea6543f1084993b87a266|17521011", + "1.1.8|macos_x86_64|48f1f1e04d0aa8f5f1a661de95e3c2b8fd8ab16b3d44015372aff7693d36c2cf|20354970", + "1.1.8|macos_arm64|943e1948c4eae82cf8b490bb274939fe666252bbc146f098e7da65b23416264a|19631574", + "1.1.8|linux_x86_64|fbd37c1ec3d163f493075aa0fa85147e7e3f88dd98760ee7af7499783454f4c5|18796132", + "1.1.8|linux_arm64|10b2c063dcff91329ee44bce9d71872825566b713308b3da1e5768c6998fb84f|17107405", + "1.1.7|macos_x86_64|6e56eea328683541f6de0d5f449251a974d173e6d8161530956a20d9c239731a|20351873", + "1.1.7|macos_arm64|8919ceee34f6bfb16a6e9ff61c95f4043c35c6d70b21de27e5a153c19c7eba9c|19625836", + "1.1.7|linux_x86_64|e4add092a54ff6febd3325d1e0c109c9e590dc6c38f8bb7f9632e4e6bcca99d4|18795309", + "1.1.7|linux_arm64|2f72982008c52d2d57294ea50794d7c6ae45d2948e08598bfec3e492bce8d96e|17109768", + "1.1.6|macos_x86_64|7a499c1f08d89548ae4c0e829eea43845fa1bd7b464e7df46102b35e6081fe44|20303856", + "1.1.6|macos_arm64|f06a14fdb610ec5a7f18bdbb2f67187230eb418329756732d970b6ca3dae12c3|19577273", + "1.1.6|linux_x86_64|3e330ce4c8c0434cdd79fe04ed6f6e28e72db44c47ae50d01c342c8a2b05d331|18751464", + "1.1.6|linux_arm64|a53fb63625af3572f7252b9fb61d787ab153132a8984b12f4bb84b8ee408ec53|17069580", + "1.1.5|macos_x86_64|dcf7133ebf61d195e432ddcb70e604bf45056163d960e991881efbecdbd7892b|20300006", + "1.1.5|macos_arm64|6e5a8d22343722dc8bfcf1d2fd7b742f5b46287f87171e8143fc9b87db32c3d4|19581167", + "1.1.5|linux_x86_64|30942d5055c7151f051c8ea75481ff1dc95b2c4409dbb50196419c21168d6467|18748879", + "1.1.5|linux_arm64|2fb6324c24c14523ae63cedcbc94a8e6c1c317987eced0abfca2f6218d217ca5|17069683", + "1.1.4|macos_x86_64|4f3bc78fedd4aa17f67acc0db4eafdb6d70ba72392aaba65fe72855520f11f3d|20242050", + "1.1.4|macos_arm64|5642b46e9c7fb692f05eba998cd4065fb2e48aa8b0aac9d2a116472fbabe34a1|19498408", + "1.1.4|linux_x86_64|fca028d622f82788fdc35c1349e78d69ff07c7bb68c27d12f8b48c420e3ecdfb|18695508", + "1.1.4|linux_arm64|3c1982cf0d16276c82960db60c998d79ba19e413af4fa2c7f6f86e4994379437|16996040", + "1.1.3|macos_x86_64|016bab760c96d4e64d2140a5f25c614ccc13c3fe9b3889e70c564bd02099259f|20241648", + "1.1.3|macos_arm64|02ba769bb0a8d4bc50ff60989b0f201ce54fd2afac2fb3544a0791aca5d3f6d5|19493636", + "1.1.3|linux_x86_64|b215de2a18947fff41803716b1829a3c462c4f009b687c2cbdb52ceb51157c2f|18692580", + "1.1.3|linux_arm64|ad5a1f2c132bedc5105e3f9900e4fe46858d582c0f2a2d74355da718bbcef65d|16996972", + "1.1.2|macos_x86_64|78faa76db5dc0ecfe4bf7c6368dbf5cca019a806f9d203580a24a4e0f8cd8353|20240584", + "1.1.2|macos_arm64|cc3bd03b72db6247c9105edfeb9c8f674cf603e08259075143ffad66f5c25a07|19486800", + "1.1.2|linux_x86_64|734efa82e2d0d3df8f239ce17f7370dabd38e535d21e64d35c73e45f35dfa95c|18687805", + "1.1.2|linux_arm64|088e2226d1ddb7f68a4f65c704022a1cfdbf20fe40f02e0c3646942f211fd746|16994702", + "1.1.1|macos_x86_64|d125dd2e92b9245f2202199b52f234035f36bdcbcd9a06f08e647e14a9d9067a|20237718", + "1.1.1|macos_arm64|4cb6e5eb4f6036924caf934c509a1dfd61cd2c651bb3ee8fbfe2e2914dd9ed17|19488315", + "1.1.1|linux_x86_64|07b8dc444540918597a60db9351af861335c3941f28ea8774e168db97dd74557|18687006", + "1.1.1|linux_arm64|d6fd14da47af9ec5fa3ad5962eaef8eed6ff2f8a5041671f9c90ec5f4f8bb554|16995635", + "1.1.0|macos_x86_64|6e0ba9afb8795a544e70dc0459f0095fea7df15e38f5d88a7dd3f620d50f8bfe|20226329", + "1.1.0|macos_arm64|7955e173c7eadb87123fc0633c3ee67d5ba3b7d6c7f485fe803efed9f99dce54|19491369", + "1.1.0|linux_x86_64|763378aa75500ce5ba67d0cba8aa605670cd28bf8bafc709333a30908441acb5|18683106", + "1.1.0|linux_arm64|6697e9a263e264310373f3c91bf83f4cbfeb67b13994d2a8f7bcc492b554552e|16987201", + "1.0.11|macos_x86_64|551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131|19422757", + "1.0.11|macos_arm64|737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6|18467868", + "1.0.11|linux_x86_64|eeb46091a42dc303c3a3c300640c7774ab25cbee5083dafa5fd83b54c8aca664|18082446", + "1.0.11|linux_arm64|30c650f4bc218659d43e07d911c00f08e420664a3d12c812228e66f666758645|16148492", + "1.0.10|macos_x86_64|077479e98701bc9be88db21abeec684286fd85a3463ce437d7739d2a4e372f18|33140832", + "1.0.10|macos_arm64|776f2e144039ece66ae326ebda0884254848a2e11f0590757d02e3a74f058c81|32013985", + "1.0.10|linux_x86_64|a221682fcc9cbd7fde22f305ead99b3ad49d8303f152e118edda086a2807716d|32674953", + "1.0.10|linux_arm64|b091dbe5c00785ae8b5cb64149d697d61adea75e495d9e3d910f61d8c9967226|30505040", + "1.0.9|macos_x86_64|be122ff7fb925643c5ebf4e5704b18426e18d3ca49ab59ae33d208c908cb6d5a|33140006", + "1.0.9|macos_arm64|89b2b4fd1a0c57fabc08ad3180ad148b1f7c1c0492ed865408f75f12e11a083b|32010657", + "1.0.9|linux_x86_64|f06ac64c6a14ed6a923d255788e4a5daefa2b50e35f32d7a3b5a2f9a5a91e255|32674820", + "1.0.9|linux_arm64|457ac590301126e7b151ea08c5b9586a882c60039a0605fb1e44b8d23d2624fd|30510941", + "1.0.8|macos_x86_64|909781ee76250cf7445f3b7d2b82c701688725fa1db3fb5543dfeed8c47b59de|33140123", + "1.0.8|macos_arm64|92fa31b93d736fab6f3d105beb502a9da908445ed942a3d46952eae88907c53e|32011344", + "1.0.8|linux_x86_64|a73459d406067ce40a46f026dce610740d368c3b4a3d96591b10c7a577984c2e|32681118", + "1.0.8|linux_arm64|01aaef769f4791f9b28530e750aadbc983a8eabd0d55909e26392b333a1a26e4|30515501", + "1.0.7|macos_x86_64|23b85d914465882b027d3819cc05cd114a1aaf39b550de742e81a99daa998183|33140742", + "1.0.7|macos_arm64|d9062959f28ba0f934bfe2b6e0b021e0c01a48fa065102554ca103b8274e8e0c|32012708", + "1.0.7|linux_x86_64|bc79e47649e2529049a356f9e60e06b47462bf6743534a10a4c16594f443be7b|32671441", + "1.0.7|linux_arm64|4e71a9e759578020750be41e945c086e387affb58568db6d259d80d123ac80d3|30529105", + "1.0.6|macos_x86_64|5ac4f41d5e28f31817927f2c5766c5d9b98b68d7b342e25b22d053f9ecd5a9f1|33141677", + "1.0.6|macos_arm64|613020f90a6a5d0b98ebeb4e7cdc4b392aa06ce738fbb700159a465cd27dcbfa|32024047", + "1.0.6|linux_x86_64|6a454323d252d34e928785a3b7c52bfaff1192f82685dfee4da1279bb700b733|32677516", + "1.0.6|linux_arm64|2047f8afc7d0d7b645a0422181ba3fe47b3547c4fe658f95eebeb872752ec129|30514636" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--flake8-source-plugins=\"[, , ...]\"" + "--download-terraform-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_FLAKE8_SOURCE_PLUGINS", + "env_var": "PANTS_DOWNLOAD_TERRAFORM_KNOWN_VERSIONS", "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/v2.19/docs/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/v2.19/docs/python-lockfiles#lockfiles-for-tools.", + "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": ["--flake8-source-plugins"], + "scoped_cmd_line_args": [ + "--download-terraform-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--source-plugins"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -6352,29 +7153,210 @@ { "details": "", "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_FMT_BATCH_SIZE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--fmt-batch-size=", - "config_key": "batch_size", - "default": 128, + "value": [ + "1.4.6|macos_x86_64|5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d|22051279", + "1.4.6|macos_arm64|30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1|20613318", + "1.4.6|linux_x86_64|e079db1a8945e39b1f8ba4e513946b3ab9f32bd5a2bdf19b9b186d22c5a3d53b|20779821", + "1.4.6|linux_arm64|b38f5db944ac4942f11ceea465a91e365b0636febd9998c110fbbe95d61c3b26|18834675", + "1.4.5|macos_x86_64|808e54d826737e9a0ca79bbe29330e50d3622bbeeb26066c63b371a291731711|22031074", + "1.4.5|macos_arm64|7104d9d13632aa61b494a349c589048d21bd550e579404c3a41c4932e4d6aa97|20592841", + "1.4.5|linux_x86_64|ce10e941cd11554b15a189cd00191c05abc20dff865599d361bdb863c5f406a9|20767621", + "1.4.5|linux_arm64|ca2c48f518f72fef668255150cc5e63b92545edc62a05939bbff8a350bceb357|18813058", + "1.4.4|macos_x86_64|0303ed9d7e5a225fc2e6fa9bf76fc6574c0c0359f22d5dfc04bc8b3234444f7c|22032187", + "1.4.4|macos_arm64|75602d9ec491982ceabea813569579b2991093a4e0d76b7ca86ffd9b7a2a1d1e|20594012", + "1.4.4|linux_x86_64|67541c1f6631befcc25b764028e5605e59234d4424e60a256518ee1e8dd50593|20767354", + "1.4.4|linux_arm64|f0b4e092f2aa6de3324e5e4b5b51260ecf5e8c2f5335ff7a2ffdc4fb54a8922d|18814310", + "1.4.3|macos_x86_64|89bdb242bfacf24167f365ef7a3bf0ad0e443ddd27ebde425fb71d77ce1a2597|22032267", + "1.4.3|macos_arm64|20b9d484bf99ada6c0de89316176ba33f7c87f64c0738991188465147bba221b|20574247", + "1.4.3|linux_x86_64|2252ee6ac8437b93db2b2ba341edc87951e2916afaeb50a88b858e80796e9111|20781685", + "1.4.3|linux_arm64|d3d9464953d390970e7f4f7cbcd94dbf63136da6fe1cbb4955d944a9315bdcdb|18814307", + "1.4.2|macos_x86_64|c218a6c0ef6692b25af16995c8c7bdf6739e9638fef9235c6aced3cd84afaf66|22030042", + "1.4.2|macos_arm64|af8ff7576c8fc41496fdf97e9199b00d8d81729a6a0e821eaf4dfd08aa763540|20588400", + "1.4.2|linux_x86_64|9f3ca33d04f5335472829d1df7785115b60176d610ae6f1583343b0a2221a931|20234129", + "1.4.2|linux_arm64|39c182670c4e63e918e0a16080b1cc47bb16e158d7da96333d682d6a9cb8eb91|18206088", + "1.4.1|macos_x86_64|96466364a7e66e3d456ecb6c85a63c83e124c004f8835fb8ea9b7bbb7542a9d0|22077050", + "1.4.1|macos_arm64|61f76e130b97c8a9017d8aaff15d252af29117e35ea1a0fc30bcaab7ceafce73|20634145", + "1.4.1|linux_x86_64|9e9f3e6752168dea8ecb3643ea9c18c65d5a52acc06c22453ebc4e3fc2d34421|20276168", + "1.4.1|linux_arm64|53322cc70b6e50ac1985bf26a78ffa2814789a4704880f071eaf3e67a463d6f6|18248378", + "1.4.0|macos_x86_64|e897a4217f1c3bfe37c694570dcc6371336fbda698790bb6b0547ec8daf1ffb3|21935694", + "1.4.0|macos_arm64|d4a1e564714c6acf848e86dc020ff182477b49f932e3f550a5d9c8f5da7636fb|20508091", + "1.4.0|linux_x86_64|5da60da508d6d1941ffa8b9216147456a16bbff6db7622ae9ad01d314cbdd188|20144407", + "1.4.0|linux_arm64|33e0f4f0b75f507fc19012111de008308df343153cd6a3992507f4566c0bb723|18130960", + "1.3.9|macos_x86_64|a73326ea8fb06f6976597e005f8047cbd55ac76ed1e517303d8f6395db6c7805|21194871", + "1.3.9|macos_arm64|d8a59a794a7f99b484a07a0ed2aa6520921d146ac5a7f4b1b806dcf5c4af0525|19793371", + "1.3.9|linux_x86_64|53048fa573effdd8f2a59b726234c6f450491fe0ded6931e9f4c6e3df6eece56|19477757", + "1.3.9|linux_arm64|da571087268c5faf884912c4239c6b9c8e1ed8e8401ab1dcb45712df70f42f1b|17513770", + "1.3.8|macos_x86_64|1a27a6fac31ecb05de610daf61a29fe83d304d7c519d773afbf56c11c3b6276b|21189878", + "1.3.8|macos_arm64|873b05ac81645cd7289d6ccfd3e73d4735af1a453f2cd19da0650bdabf7d2eb6|19780134", + "1.3.8|linux_x86_64|9d9e7d6a9b41cef8b837af688441d4fbbd84b503d24061d078ad662441c70240|19479266", + "1.3.8|linux_arm64|a42bf3c7d6327f45d2b212b692ab4229285fb44dbb8adb7c39e18be2b26167c8|17507360", + "1.3.7|macos_x86_64|eeae48adcd55212b34148ed203dd5843e9b2a84a852a9877f3386fadb0514980|21185288", + "1.3.7|macos_arm64|01d553db5f7b4cf0729b725e4402643efde5884b1dabf5eb80af328ce5e447cf|19774151", + "1.3.7|linux_x86_64|b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e|19464102", + "1.3.7|linux_arm64|5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38|17499971", + "1.3.6|macos_x86_64|13881fe0100238577394243a90c0631783aad21b77a9a7ee830404f86c0d37bb|21183111", + "1.3.6|macos_arm64|dbff0aeeaeee877c254f5414bef5c9d186e159aa0019223aac678abad9442c53|19779986", + "1.3.6|linux_x86_64|bb44a4c2b0a832d49253b9034d8ccbd34f9feeb26eda71c665f6e7fa0861f49b|19466755", + "1.3.6|linux_arm64|f4b1af29094290f1b3935c29033c4e5291664ee2c015ca251a020dd425c847c3|17501845", + "1.3.5|macos_x86_64|e6c9836188265b20c2588e9c9d6b1727094b324a379337e68ba58a6d26be8b51|21182319", + "1.3.5|macos_arm64|fcec1cbff229fbe59b03257ba2451d5ad1f5129714f08ccf6372b2737647c063|19780547", + "1.3.5|linux_x86_64|ac28037216c3bc41de2c22724e863d883320a770056969b8d211ca8af3d477cf|19469337", + "1.3.5|linux_arm64|ba5b1761046b899197bbfce3ad9b448d14550106d2cc37c52a60fc6822b584ed|17502759", + "1.3.4|macos_x86_64|2a75c69ec5ed8506658b266a40075256b62a7d245ff6297df7e48fa72af23879|21181585", + "1.3.4|macos_arm64|a1f740f92afac6db84421a3ec07d9061c34a32f88b4b0b47d243de16c961169f|19773343", + "1.3.4|linux_x86_64|b24210f28191fa2a08efe69f54e3db2e87a63369ac4f5dcaf9f34dc9318eb1a8|19462529", + "1.3.4|linux_arm64|65381c6b61b2d1a98892199f649a5764ff5a772080a73d70f8663245e6402c39|17494667", + "1.3.3|macos_x86_64|2b3cf653cd106becdea562b6c8d3f8939641e5626c5278729cbef81678fa9f42|21163874", + "1.3.3|macos_arm64|51e94ecf88059e8a53c363a048b658230f560574f99b0d8396ebacead894d159|19755200", + "1.3.3|linux_x86_64|fa5cbf4274c67f2937cabf1a6544529d35d0b8b729ce814b40d0611fd26193c1|19451941", + "1.3.3|linux_arm64|b940a080c698564df5e6a2f1c4e1b51b2c70a5115358d2361e3697d3985ecbfe|17488660", + "1.3.2|macos_x86_64|3639461bbc712dc130913bbe632afb449fce8c0df692429d311e7cb808601901|21163990", + "1.3.2|macos_arm64|80480acbfee2e2d0b094f721f7568a40b790603080d6612e19b797a16b8ba82d|19757201", + "1.3.2|linux_x86_64|6372e02a7f04bef9dac4a7a12f4580a0ad96a37b5997e80738e070be330cb11c|19451510", + "1.3.2|linux_arm64|ce1a8770aaf27736a3352c5c31e95fb10d0944729b9d81013bf6848f8657da5f|17485206", + "1.3.1|macos_x86_64|4282ebe6d1d72ace0d93e8a4bcf9a6f3aceac107966216355bb516b1c49cc203|21161667", + "1.3.1|macos_arm64|f0514f29b08da2f39ba4fff0d7eb40093915c9c69ddc700b6f39b78275207d96|19756039", + "1.3.1|linux_x86_64|0847b14917536600ba743a759401c45196bf89937b51dd863152137f32791899|19450765", + "1.3.1|linux_arm64|7ebb3d1ff94017fbef8acd0193e0bd29dec1a8925e2b573c05a92fdb743d1d5b|17486534", + "1.3.0|macos_x86_64|80e55182d4495da867c93c25dc6ae29be83ece39d3225e6adedecd55b72d6bbf|21163947", + "1.3.0|macos_arm64|df703317b5c7f80dc7c61e46de4697c9f440e650a893623351ab5e184995b404|19741011", + "1.3.0|linux_x86_64|380ca822883176af928c80e5771d1c0ac9d69b13c6d746e6202482aedde7d457|19450952", + "1.3.0|linux_arm64|0a15de6f934cf2217e5055412e7600d342b4f7dcc133564690776fece6213a9a|17488551", + "1.2.9|macos_x86_64|84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c|21672810", + "1.2.9|macos_arm64|bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa|20280541", + "1.2.9|linux_x86_64|0e0fc38641addac17103122e1953a9afad764a90e74daf4ff8ceeba4e362f2fb|19906116", + "1.2.9|linux_arm64|6da7bf01f5a72e61255c2d80eddeba51998e2bb1f50a6d81b0d3b71e70e18531|17946045", + "1.2.8|macos_x86_64|efd3e21a9bb1cfa68303f8d119ea8970dbb616f5f99caa0fe21d796e0cd70252|21678594", + "1.2.8|macos_arm64|2c83bfea9e1c202c449e91bee06a804afb45cb8ba64a73da48fb0f61df51b327|20277152", + "1.2.8|linux_x86_64|3e9c46d6f37338e90d5018c156d89961b0ffb0f355249679593aff99f9abe2a2|19907515", + "1.2.8|linux_arm64|26c05cadb05cdaa8ac64b90b982b4e9350715ec2e9995a6b03bb964d230de055|17947439", + "1.2.7|macos_x86_64|74e47b54ea78685be24c84e0e17b22b56220afcdb24ec853514b3863199f01e4|21673162", + "1.2.7|macos_arm64|ec4e623914b411f8cc93a1e71396a1e7f1fe1e96bb2e532ba3e955d2ca5cc442|20278743", + "1.2.7|linux_x86_64|dfd7c44a5b6832d62860a01095a15b53616fb3ea4441ab89542f9364e3fca718|19907183", + "1.2.7|linux_arm64|80d064008d57ba5dc97e189215c87275bf39ca14b1234430eae2f114394ea229|17943724", + "1.2.6|macos_x86_64|d896d2776af8b06cd4acd695ad75913040ce31234f5948688fd3c3fde53b1f75|21670957", + "1.2.6|macos_arm64|c88ceb34f343a2bb86960e32925c5ec43b41922ee9ede1019c5cf7d7b4097718|20279669", + "1.2.6|linux_x86_64|9fd445e7a191317dcfc99d012ab632f2cc01f12af14a44dfbaba82e0f9680365|19905977", + "1.2.6|linux_arm64|322755d11f0da11169cdb234af74ada5599046c698dccc125859505f85da2a20|17943213", + "1.2.5|macos_x86_64|2520fde736b43332b0c2648f4f6dde407335f322a3085114dc4f70e6e50eadc0|21659883", + "1.2.5|macos_arm64|92ad40db4a0930bdf872d6336a7b3a18b17c6fd04d9fc769b554bf51c8add505|20266441", + "1.2.5|linux_x86_64|281344ed7e2b49b3d6af300b1fe310beed8778c56f3563c4d60e5541c0978f1b|19897064", + "1.2.5|linux_arm64|0544420eb29b792444014988018ae77a7c8df6b23d84983728695ba73e38f54a|17938208", + "1.2.4|macos_x86_64|e7d2c66264a3da94854ae6ff692bbb9a1bc11c36bb5658e3ef19841388a07430|21658356", + "1.2.4|macos_arm64|c31754ff5553707ef9fd2f913b833c779ab05ce192eb14913f51816a077c6798|20263133", + "1.2.4|linux_x86_64|705ea62a44a0081594dad6b2b093eefefb12d54fa5a20a66562f9e082b00414c|19895510", + "1.2.4|linux_arm64|11cfa2233dc708b51b16d5b923379db67e35c22b1b988773e5b31a7c2e251471|17936883", + "1.2.3|macos_x86_64|bdc22658463237530dc120dadb0221762d9fb9116e7a6e0dc063d8ae649c431e|21658937", + "1.2.3|macos_arm64|6f06debac2ac54951464bf490e1606f973ab53ad8ba5decea76646e8f9309512|20256836", + "1.2.3|linux_x86_64|728b6fbcb288ad1b7b6590585410a98d3b7e05efe4601ef776c37e15e9a83a96|19891436", + "1.2.3|linux_arm64|a48991e938a25bfe5d257f4b6cbbdc73d920cc34bbc8f0e685e28b9610ad75fe|17933271", + "1.2.2|macos_x86_64|1d22663c1ab22ecea774ae63aee21eecfee0bbc23b953206d889a5ba3c08525a|21656824", + "1.2.2|macos_arm64|b87716b55a3b10cced60db5285bae57aee9cc0f81c555dccdc4f54f62c2a3b60|20254768", + "1.2.2|linux_x86_64|2934a0e8824925beb956b2edb5fef212a6141c089d29d8568150a43f95b3a626|19889133", + "1.2.2|linux_arm64|9c6202237d7477412054dcd36fdc269da9ee66ecbc45bb07d0d63b7d36af7b21|17932829", + "1.2.1|macos_x86_64|31c0fd4deb7c6a77c08d2fdf59c37950e6df7165088c004e1dd7f5e09fbf6307|21645582", + "1.2.1|macos_arm64|70159b3e3eb49ee71193815943d9217c59203fd4ee8c6960aeded744094a2250|20253448", + "1.2.1|linux_x86_64|8cf8eb7ed2d95a4213fbfd0459ab303f890e79220196d1c4aae9ecf22547302e|19881618", + "1.2.1|linux_arm64|972ea512dac822274791dedceb6e7f8b9ac2ed36bd7759269b6806d0ab049128|17922073", + "1.2.0|macos_x86_64|1b102ba3bf0c60ff6cbee74f721bf8105793c1107a1c6d03dcab98d7079f0c77|21645732", + "1.2.0|macos_arm64|f5e46cabe5889b60597f0e9c365cbc663e4c952c90a16c10489897c2075ae4f0|20253335", + "1.2.0|linux_x86_64|b87de03adbdfdff3c2552c8c8377552d0eecd787154465100cf4e29de4a7be1f|19880608", + "1.2.0|linux_arm64|ee80b8635d8fdbaed57beffe281cf87b8b1fd1ddb29c08d20e25a152d9f0f871|17920355", + "1.1.9|macos_x86_64|685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc|20850638", + "1.1.9|macos_arm64|39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c|20093184", + "1.1.9|linux_x86_64|9d2d8a89f5cc8bc1c06cb6f34ce76ec4b99184b07eb776f8b39183b513d7798a|19262029", + "1.1.9|linux_arm64|e8a09d1fe5a68ed75e5fabe26c609ad12a7e459002dea6543f1084993b87a266|17521011", + "1.1.8|macos_x86_64|48f1f1e04d0aa8f5f1a661de95e3c2b8fd8ab16b3d44015372aff7693d36c2cf|20354970", + "1.1.8|macos_arm64|943e1948c4eae82cf8b490bb274939fe666252bbc146f098e7da65b23416264a|19631574", + "1.1.8|linux_x86_64|fbd37c1ec3d163f493075aa0fa85147e7e3f88dd98760ee7af7499783454f4c5|18796132", + "1.1.8|linux_arm64|10b2c063dcff91329ee44bce9d71872825566b713308b3da1e5768c6998fb84f|17107405", + "1.1.7|macos_x86_64|6e56eea328683541f6de0d5f449251a974d173e6d8161530956a20d9c239731a|20351873", + "1.1.7|macos_arm64|8919ceee34f6bfb16a6e9ff61c95f4043c35c6d70b21de27e5a153c19c7eba9c|19625836", + "1.1.7|linux_x86_64|e4add092a54ff6febd3325d1e0c109c9e590dc6c38f8bb7f9632e4e6bcca99d4|18795309", + "1.1.7|linux_arm64|2f72982008c52d2d57294ea50794d7c6ae45d2948e08598bfec3e492bce8d96e|17109768", + "1.1.6|macos_x86_64|7a499c1f08d89548ae4c0e829eea43845fa1bd7b464e7df46102b35e6081fe44|20303856", + "1.1.6|macos_arm64|f06a14fdb610ec5a7f18bdbb2f67187230eb418329756732d970b6ca3dae12c3|19577273", + "1.1.6|linux_x86_64|3e330ce4c8c0434cdd79fe04ed6f6e28e72db44c47ae50d01c342c8a2b05d331|18751464", + "1.1.6|linux_arm64|a53fb63625af3572f7252b9fb61d787ab153132a8984b12f4bb84b8ee408ec53|17069580", + "1.1.5|macos_x86_64|dcf7133ebf61d195e432ddcb70e604bf45056163d960e991881efbecdbd7892b|20300006", + "1.1.5|macos_arm64|6e5a8d22343722dc8bfcf1d2fd7b742f5b46287f87171e8143fc9b87db32c3d4|19581167", + "1.1.5|linux_x86_64|30942d5055c7151f051c8ea75481ff1dc95b2c4409dbb50196419c21168d6467|18748879", + "1.1.5|linux_arm64|2fb6324c24c14523ae63cedcbc94a8e6c1c317987eced0abfca2f6218d217ca5|17069683", + "1.1.4|macos_x86_64|4f3bc78fedd4aa17f67acc0db4eafdb6d70ba72392aaba65fe72855520f11f3d|20242050", + "1.1.4|macos_arm64|5642b46e9c7fb692f05eba998cd4065fb2e48aa8b0aac9d2a116472fbabe34a1|19498408", + "1.1.4|linux_x86_64|fca028d622f82788fdc35c1349e78d69ff07c7bb68c27d12f8b48c420e3ecdfb|18695508", + "1.1.4|linux_arm64|3c1982cf0d16276c82960db60c998d79ba19e413af4fa2c7f6f86e4994379437|16996040", + "1.1.3|macos_x86_64|016bab760c96d4e64d2140a5f25c614ccc13c3fe9b3889e70c564bd02099259f|20241648", + "1.1.3|macos_arm64|02ba769bb0a8d4bc50ff60989b0f201ce54fd2afac2fb3544a0791aca5d3f6d5|19493636", + "1.1.3|linux_x86_64|b215de2a18947fff41803716b1829a3c462c4f009b687c2cbdb52ceb51157c2f|18692580", + "1.1.3|linux_arm64|ad5a1f2c132bedc5105e3f9900e4fe46858d582c0f2a2d74355da718bbcef65d|16996972", + "1.1.2|macos_x86_64|78faa76db5dc0ecfe4bf7c6368dbf5cca019a806f9d203580a24a4e0f8cd8353|20240584", + "1.1.2|macos_arm64|cc3bd03b72db6247c9105edfeb9c8f674cf603e08259075143ffad66f5c25a07|19486800", + "1.1.2|linux_x86_64|734efa82e2d0d3df8f239ce17f7370dabd38e535d21e64d35c73e45f35dfa95c|18687805", + "1.1.2|linux_arm64|088e2226d1ddb7f68a4f65c704022a1cfdbf20fe40f02e0c3646942f211fd746|16994702", + "1.1.1|macos_x86_64|d125dd2e92b9245f2202199b52f234035f36bdcbcd9a06f08e647e14a9d9067a|20237718", + "1.1.1|macos_arm64|4cb6e5eb4f6036924caf934c509a1dfd61cd2c651bb3ee8fbfe2e2914dd9ed17|19488315", + "1.1.1|linux_x86_64|07b8dc444540918597a60db9351af861335c3941f28ea8774e168db97dd74557|18687006", + "1.1.1|linux_arm64|d6fd14da47af9ec5fa3ad5962eaef8eed6ff2f8a5041671f9c90ec5f4f8bb554|16995635", + "1.1.0|macos_x86_64|6e0ba9afb8795a544e70dc0459f0095fea7df15e38f5d88a7dd3f620d50f8bfe|20226329", + "1.1.0|macos_arm64|7955e173c7eadb87123fc0633c3ee67d5ba3b7d6c7f485fe803efed9f99dce54|19491369", + "1.1.0|linux_x86_64|763378aa75500ce5ba67d0cba8aa605670cd28bf8bafc709333a30908441acb5|18683106", + "1.1.0|linux_arm64|6697e9a263e264310373f3c91bf83f4cbfeb67b13994d2a8f7bcc492b554552e|16987201", + "1.0.11|macos_x86_64|551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131|19422757", + "1.0.11|macos_arm64|737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6|18467868", + "1.0.11|linux_x86_64|eeb46091a42dc303c3a3c300640c7774ab25cbee5083dafa5fd83b54c8aca664|18082446", + "1.0.11|linux_arm64|30c650f4bc218659d43e07d911c00f08e420664a3d12c812228e66f666758645|16148492", + "1.0.10|macos_x86_64|077479e98701bc9be88db21abeec684286fd85a3463ce437d7739d2a4e372f18|33140832", + "1.0.10|macos_arm64|776f2e144039ece66ae326ebda0884254848a2e11f0590757d02e3a74f058c81|32013985", + "1.0.10|linux_x86_64|a221682fcc9cbd7fde22f305ead99b3ad49d8303f152e118edda086a2807716d|32674953", + "1.0.10|linux_arm64|b091dbe5c00785ae8b5cb64149d697d61adea75e495d9e3d910f61d8c9967226|30505040", + "1.0.9|macos_x86_64|be122ff7fb925643c5ebf4e5704b18426e18d3ca49ab59ae33d208c908cb6d5a|33140006", + "1.0.9|macos_arm64|89b2b4fd1a0c57fabc08ad3180ad148b1f7c1c0492ed865408f75f12e11a083b|32010657", + "1.0.9|linux_x86_64|f06ac64c6a14ed6a923d255788e4a5daefa2b50e35f32d7a3b5a2f9a5a91e255|32674820", + "1.0.9|linux_arm64|457ac590301126e7b151ea08c5b9586a882c60039a0605fb1e44b8d23d2624fd|30510941", + "1.0.8|macos_x86_64|909781ee76250cf7445f3b7d2b82c701688725fa1db3fb5543dfeed8c47b59de|33140123", + "1.0.8|macos_arm64|92fa31b93d736fab6f3d105beb502a9da908445ed942a3d46952eae88907c53e|32011344", + "1.0.8|linux_x86_64|a73459d406067ce40a46f026dce610740d368c3b4a3d96591b10c7a577984c2e|32681118", + "1.0.8|linux_arm64|01aaef769f4791f9b28530e750aadbc983a8eabd0d55909e26392b333a1a26e4|30515501", + "1.0.7|macos_x86_64|23b85d914465882b027d3819cc05cd114a1aaf39b550de742e81a99daa998183|33140742", + "1.0.7|macos_arm64|d9062959f28ba0f934bfe2b6e0b021e0c01a48fa065102554ca103b8274e8e0c|32012708", + "1.0.7|linux_x86_64|bc79e47649e2529049a356f9e60e06b47462bf6743534a10a4c16594f443be7b|32671441", + "1.0.7|linux_arm64|4e71a9e759578020750be41e945c086e387affb58568db6d259d80d123ac80d3|30529105", + "1.0.6|macos_x86_64|5ac4f41d5e28f31817927f2c5766c5d9b98b68d7b342e25b22d053f9ecd5a9f1|33141677", + "1.0.6|macos_arm64|613020f90a6a5d0b98ebeb4e7cdc4b392aa06ce738fbb700159a465cd27dcbfa|32024047", + "1.0.6|linux_x86_64|6a454323d252d34e928785a3b7c52bfaff1192f82685dfee4da1279bb700b733|32677516", + "1.0.6|linux_arm64|2047f8afc7d0d7b645a0422181ba3fe47b3547c4fe658f95eebeb872752ec129|30514636" + ] + } + ] + } + }, + "PANTS_DOWNLOAD_TERRAFORM_TAILOR": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]download-terraform-tailor", + "config_key": "tailor", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--fmt-batch-size="], - "env_var": "PANTS_FMT_BATCH_SIZE", + "display_args": [ + "--[no-]download-terraform-tailor" + ], + "env_var": "PANTS_DOWNLOAD_TERRAFORM_TAILOR", "fromfile": false, - "help": "The target number of files to be included in each formatter batch.\n\nFormatter processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in formatter processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", + "help": "If true, add `terraform_module` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--fmt-batch-size"], + "scoped_cmd_line_args": [ + "--download-terraform-tailor", + "--no-download-terraform-tailor" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--batch-size"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], "value_history": { "ranked_values": [ { @@ -6385,93 +7367,84 @@ { "details": null, "rank": "HARDCODED", - "value": 128 + "value": true } ] } }, - "PANTS_FMT_ONLY": { + "PANTS_DOWNLOAD_TERRAFORM_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--fmt-only=\"['', '', ...]\"", - "config_key": "only", - "default": [], + "comma_separated_display_args": "--download-terraform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--fmt-only=\"['', '', ...]\""], - "env_var": "PANTS_FMT_ONLY", + "display_args": [ + "--download-terraform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_DOWNLOAD_TERRAFORM_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Only run these formatters and skip all others.\n\nThe formatter names are outputted at the final summary of running this goal, e.g. `isort` and `shfmt`. You can also run `fmt --only=fake` to get a list of all activated formatters.\n\nYou can repeat this option, e.g. `fmt --only=isort --only=shfmt` or `fmt --only=['isort', 'shfmt']`.", + "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": ["--fmt-only"], + "scoped_cmd_line_args": [ + "--download-terraform-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--only"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_GENERATE_LOCKFILES_CUSTOM_COMMAND": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--generate-lockfiles-custom-command=", - "config_key": "custom_command", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--generate-lockfiles-custom-command="], - "env_var": "PANTS_GENERATE_LOCKFILES_CUSTOM_COMMAND", - "fromfile": false, - "help": "If set, lockfile headers will say to run this command to regenerate the lockfile, rather than running `pants generate-lockfiles --resolve=` like normal.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--generate-lockfiles-custom-command"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--custom-command"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null + "value": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + } } ] } }, - "PANTS_GENERATE_LOCKFILES_DIFF": { + "PANTS_DOWNLOAD_TERRAFORM_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]generate-lockfiles-diff", - "config_key": "diff", - "default": true, + "comma_separated_display_args": "--download-terraform-url-template=", + "config_key": "url_template", + "default": "https://releases.hashicorp.com/terraform/{version}/terraform_{version}_{platform}.zip", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]generate-lockfiles-diff"], - "env_var": "PANTS_GENERATE_LOCKFILES_DIFF", + "display_args": [ + "--download-terraform-url-template=" + ], + "env_var": "PANTS_DOWNLOAD_TERRAFORM_URL_TEMPLATE", "fromfile": false, - "help": "Print a summary of changed distributions after generating the lockfile.", + "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/v2.19/docs/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": [ - "--generate-lockfiles-diff", - "--no-generate-lockfiles-diff" + "--download-terraform-url-template" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--diff", "--no-diff"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -6482,34 +7455,37 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "https://releases.hashicorp.com/terraform/{version}/terraform_{version}_{platform}.zip" } ] } }, - "PANTS_GENERATE_LOCKFILES_DIFF_INCLUDE_UNCHANGED": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]generate-lockfiles-diff-include-unchanged", - "config_key": "diff_include_unchanged", - "default": false, + "PANTS_DOWNLOAD_TERRAFORM_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--download-terraform-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]generate-lockfiles-diff-include-unchanged"], - "env_var": "PANTS_GENERATE_LOCKFILES_DIFF_INCLUDE_UNCHANGED", + "display_args": [ + "--download-terraform-use-unsupported-version=" + ], + "env_var": "PANTS_DOWNLOAD_TERRAFORM_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Include unchanged distributions in the diff summary output. Implies `diff=true`.", + "help": "\nWhat action to take in case the requested version of terraform is not supported.\n\nSupported terraform versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--generate-lockfiles-diff-include-unchanged", - "--no-generate-lockfiles-diff-include-unchanged" + "--download-terraform-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--diff-include-unchanged", - "--no-diff-include-unchanged" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -6521,97 +7497,118 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } }, - "PANTS_GENERATE_LOCKFILES_RESOLVE": { + "PANTS_DOWNLOAD_TERRAFORM_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--generate-lockfiles-resolve=\"['', '', ...]\"", - "config_key": "resolve", - "default": [], + "comma_separated_display_args": "--download-terraform-version=", + "config_key": "version", + "default": "1.4.6", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--generate-lockfiles-resolve=\"['', '', ...]\"" + "--download-terraform-version=" ], - "env_var": "PANTS_GENERATE_LOCKFILES_RESOLVE", + "env_var": "PANTS_DOWNLOAD_TERRAFORM_VERSION", "fromfile": false, - "help": "Only generate lockfiles for the specified resolve(s).\n\nResolves are the logical names for the different lockfiles used in your project. For your own code's dependencies, these come from backend-specific configuration such as `[python].resolves`. For tool lockfiles, resolve names are the options scope for that tool such as `black`, `pytest`, and `mypy-protobuf`.\n\nFor example, you can run `pants generate-lockfiles --resolve=black --resolve=pytest --resolve=data-science` to only generate lockfiles for those two tools and your resolve named `data-science`.\n\nIf you specify an invalid resolve name, like 'fake', Pants will output all possible values.\n\nIf not specified, Pants will generate lockfiles for all resolves.", + "help": "Use this version of terraform.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--generate-lockfiles-resolve"], + "scoped_cmd_line_args": [ + "--download-terraform-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--resolve"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "1.4.6" } ] } }, - "PANTS_GOFMT_ARGS": { + "PANTS_DYNAMIC_UI": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--gofmt-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]dynamic-ui", + "config_key": "dynamic_ui", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--gofmt-args=\"[, , ...]\""], - "env_var": "PANTS_GOFMT_ARGS", + "display_args": [ + "--[no-]dynamic-ui" + ], + "env_var": "PANTS_DYNAMIC_UI", "fromfile": false, - "help": "Arguments to pass directly to gofmt, e.g. `--gofmt-args='-s -e'`.\n\nOnly the following style related options are supported: `-e`, `-r`, `-s`.", + "help": "Display a dynamically-updating console UI as Pants runs. This is true by default if Pants detects a TTY and there is no 'CI' environment variable indicating that Pants is running in a continuous integration environment.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--gofmt-args"], + "scoped_cmd_line_args": [ + "--dynamic-ui", + "--no-dynamic-ui" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--dynamic-ui", + "--no-dynamic-ui" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, - "PANTS_GOFMT_SKIP": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]gofmt-skip", - "config_key": "skip", - "default": false, + "PANTS_DYNAMIC_UI_RENDERER": { + "choices": [ + "indicatif-spinner", + "experimental-prodash" + ], + "comma_separated_choices": "indicatif-spinner, experimental-prodash", + "comma_separated_display_args": "--dynamic-ui-renderer=", + "config_key": "dynamic_ui_renderer", + "default": "indicatif-spinner", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]gofmt-skip"], - "env_var": "PANTS_GOFMT_SKIP", + "display_args": [ + "--dynamic-ui-renderer=" + ], + "env_var": "PANTS_DYNAMIC_UI_RENDERER", "fromfile": false, - "help": "If true, don't use gofmt when running `pants fmt` and `pants lint`.", + "help": "If `--dynamic-ui` is enabled, selects the renderer.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--gofmt-skip", "--no-gofmt-skip"], + "scoped_cmd_line_args": [ + "--dynamic-ui-renderer" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "DynamicUIRenderer", + "unscoped_cmd_line_args": [ + "--dynamic-ui-renderer" + ], "value_history": { "ranked_values": [ { @@ -6622,95 +7619,108 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "indicatif-spinner" } ] } }, - "PANTS_GOLANG_ASDF_BIN_RELPATH": { + "PANTS_ENGINE_VISUALIZE_TO": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-asdf-bin-relpath=", - "config_key": "asdf_bin_relpath", - "default": "bin", + "comma_separated_display_args": "--engine-visualize-to=", + "config_key": "engine_visualize_to", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-asdf-bin-relpath="], - "env_var": "PANTS_GOLANG_ASDF_BIN_RELPATH", + "display_args": [ + "--engine-visualize-to=" + ], + "env_var": "PANTS_ENGINE_VISUALIZE_TO", "fromfile": false, - "help": "The path relative to an ASDF install directory to use to find the `bin` directory within an installed Go distribution. The default value for this option works for the `go-sdk` ASDF plugin. Other ASDF plugins that install Go may have a different relative path to use.", + "help": "A directory to write execution and rule graphs to as `dot` files. The contents of the directory will be overwritten if any filenames collide.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-asdf-bin-relpath"], + "scoped_cmd_line_args": [ + "--engine-visualize-to" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--asdf-bin-relpath"], + "typ": "dir_option", + "unscoped_cmd_line_args": [ + "--engine-visualize-to" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "bin" } ] } }, - "PANTS_GOLANG_ASDF_TOOL_NAME": { + "PANTS_ENVIRONMENTS_PREVIEW_NAMES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-asdf-tool-name=", - "config_key": "asdf_tool_name", - "default": "go-sdk", + "comma_separated_display_args": "--environments-preview-names=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "names", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-asdf-tool-name="], - "env_var": "PANTS_GOLANG_ASDF_TOOL_NAME", + "display_args": [ + "--environments-preview-names=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_ENVIRONMENTS_PREVIEW_NAMES", "fromfile": false, - "help": "The ASDF tool name to use when searching for installed Go distributions using the ASDF tool manager (https://asdf-vm.com/). The default value for this option is for the `go-sdk` ASDF plugin (https://github.com/yacchi/asdf-go-sdk.git). There are other plugins. If you wish to use one of them, then set this option to the ASDF tool name under which that other plugin was installed into ASDF.", + "help": "A mapping of logical names to addresses to environment targets. For example:\n\n [environments-preview.names]\n linux_local = \"//:linux_env\"\n macos_local = \"//:macos_env\"\n centos6 = \"//:centos6_docker_env\"\n linux_ci = \"build-support:linux_ci_env\"\n macos_ci = \"build-support:macos_ci_env\"\n\nTo use an environment for a given target, specify the name in the `environment` field on that target. Pants will consume the environment target at the address mapped from that name.\n\nPants will ignore any environment targets that are not given a name via this option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-asdf-tool-name"], + "scoped_cmd_line_args": [ + "--environments-preview-names" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--asdf-tool-name"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--names" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "go-sdk" + "value": {} } ] } }, - "PANTS_GOLANG_CGO_CXX_FLAGS": { + "PANTS_EXPERIMENTAL_BSP_GROUPS_CONFIG_FILES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-cxx-flags=\"['', '', ...]\"", - "config_key": "cgo_cxx_flags", - "default": ["-g", "-O2"], + "comma_separated_display_args": "--experimental-bsp-groups-config-files=\"[, , ...]\"", + "config_key": "groups_config_files", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-cxx-flags=\"['', '', ...]\""], - "env_var": "PANTS_GOLANG_CGO_CXX_FLAGS", + "display_args": [ + "--experimental-bsp-groups-config-files=\"[, , ...]\"" + ], + "env_var": "PANTS_EXPERIMENTAL_BSP_GROUPS_CONFIG_FILES", "fromfile": false, - "help": "Compiler options used when compiling C++ code when Cgo is enabled. Equivalent to setting the CGO_CXXFLAGS environment variable when invoking `go`.", + "help": "A list of config files that define groups of Pants targets to expose to IDEs via Build Server Protocol.\n\nPants generally uses fine-grained targets to define the components of a build (in many cases on a file-by-file basis). Many IDEs, however, favor coarse-grained targets that contain large numbers of source files. To accommodate this distinction, the Pants BSP server will compute a set of BSP build targets to use from the groups specified in the config files set for this option. Each group will become one or more BSP build targets.\n\nEach config file is a TOML file with a `groups` dictionary with the following format for an entry:\n\n # The dictionary key is used to identify the group. It must be unique.\n [groups.ID1]:\n # One or more Pants address specs defining what targets to include in the group.\n addresses = [\n \"src/jvm::\",\n \"tests/jvm::\",\n ]\n # Filter targets to a specific resolve. Targets in a group must be from a single resolve.\n # Format of filter is `TYPE:RESOLVE_NAME`. The only supported TYPE is `jvm`. RESOLVE_NAME must be\n # a valid resolve name.\n resolve = \"jvm:jvm-default\"\n display_name = \"Display Name\" # (Optional) Name shown to the user in the IDE.\n base_directory = \"path/from/build/root\" # (Optional) Hint to the IDE for where the build target should \"live.\"\n\nPants will merge the contents of the config files together. If the same ID is used for a group definition, in multiple config files, the definition in the latter config file will take effect.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-cxx-flags"], - "target_field_name": "golang_cgo_cxx_flags", + "scoped_cmd_line_args": [ + "--experimental-bsp-groups-config-files" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--cgo-cxx-flags"], + "unscoped_cmd_line_args": [ + "--groups-config-files" + ], "value_history": { "ranked_values": [ { @@ -6721,29 +7731,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["-g", "-O2"] + "value": [] } ] } }, - "PANTS_GOLANG_CGO_C_FLAGS": { + "PANTS_EXPERIMENTAL_BSP_RUNNER_ENV_VARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-c-flags=\"['', '', ...]\"", - "config_key": "cgo_c_flags", - "default": ["-g", "-O2"], + "comma_separated_display_args": "--experimental-bsp-runner-env-vars=\"['', '', ...]\"", + "config_key": "runner_env_vars", + "default": [ + "PATH" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-c-flags=\"['', '', ...]\""], - "env_var": "PANTS_GOLANG_CGO_C_FLAGS", + "display_args": [ + "--experimental-bsp-runner-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_EXPERIMENTAL_BSP_RUNNER_ENV_VARS", "fromfile": false, - "help": "Compiler options used when compiling C code when Cgo is enabled. Equivalent to setting the CGO_CFLAGS environment variable when invoking `go`.", + "help": "Environment variables to set in the BSP runner script when setting up BSP in a repository. 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' own environment when the experimental-bsp goal was run.\n\nThis option only takes effect when the BSP runner script is written. If the option changes, you must run `pants experimental-bsp` again to write a new copy of the BSP runner script.\n\nNote: The environment variables passed to the Pants BSP server will be those set for your IDE and not your shell. For example, on macOS, the IDE is generally launched by `launchd` after clicking on a Dock icon, and not from the shell. Thus, any environment variables set for your shell will likely not be seen by the Pants BSP server. At the very least, on macOS consider writing an explicit PATH into the BSP runner script via this option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-c-flags"], - "target_field_name": "golang_cgo_c_flags", + "scoped_cmd_line_args": [ + "--experimental-bsp-runner-env-vars" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--cgo-c-flags"], + "unscoped_cmd_line_args": [ + "--runner-env-vars" + ], "value_history": { "ranked_values": [ { @@ -6754,32 +7772,39 @@ { "details": "", "rank": "HARDCODED", - "value": ["-g", "-O2"] + "value": [ + "PATH" + ] } ] } }, - "PANTS_GOLANG_CGO_ENABLED": { + "PANTS_EXPERIMENTAL_BSP_SERVER": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]golang-cgo-enabled", - "config_key": "cgo_enabled", - "default": true, + "comma_separated_display_args": "--[no-]experimental-bsp-server", + "config_key": "server", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]golang-cgo-enabled"], - "env_var": "PANTS_GOLANG_CGO_ENABLED", + "display_args": [ + "--[no-]experimental-bsp-server" + ], + "env_var": "PANTS_EXPERIMENTAL_BSP_SERVER", "fromfile": false, - "help": "Enable Cgo support, which allows Go and C code to interact. This option must be enabled for any packages making use of Cgo to actually be compiled with Cgo support.\n\nSee https://go.dev/blog/cgo and https://pkg.go.dev/cmd/cgo for additional information about Cgo.", + "help": "Run the Build Server Protocol server. Pants will receive BSP RPC requests via the console. This should only ever be invoked via the IDE.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--golang-cgo-enabled", - "--no-golang-cgo-enabled" + "--experimental-bsp-server", + "--no-experimental-bsp-server" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--cgo-enabled", "--no-cgo-enabled"], + "unscoped_cmd_line_args": [ + "--server", + "--no-server" + ], "value_history": { "ranked_values": [ { @@ -6790,29 +7815,35 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_GOLANG_CGO_FORTRAN_BINARY_NAME": { + "PANTS_EXPERIMENTAL_EXPLORER_ADDRESS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-fortran-binary-name=", - "config_key": "cgo_fortran_binary_name", - "default": "gfortran", + "comma_separated_display_args": "--experimental-explorer-address=", + "config_key": "address", + "default": "localhost", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-fortran-binary-name="], - "env_var": "PANTS_GOLANG_CGO_FORTRAN_BINARY_NAME", + "display_args": [ + "--experimental-explorer-address=" + ], + "env_var": "PANTS_EXPERIMENTAL_EXPLORER_ADDRESS", "fromfile": false, - "help": "Name of the tool to use to compile fortran code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", + "help": "Server address to bind to.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-fortran-binary-name"], - "target_field_name": "golang_cgo_fortran_binary_name", + "scoped_cmd_line_args": [ + "--experimental-explorer-address" + ], + "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--cgo-fortran-binary-name"], + "unscoped_cmd_line_args": [ + "--address" + ], "value_history": { "ranked_values": [ { @@ -6823,97 +7854,116 @@ { "details": null, "rank": "HARDCODED", - "value": "gfortran" + "value": "localhost" } ] } }, - "PANTS_GOLANG_CGO_FORTRAN_FLAGS": { + "PANTS_EXPERIMENTAL_EXPLORER_PORT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-fortran-flags=\"['', '', ...]\"", - "config_key": "cgo_fortran_flags", - "default": ["-g", "-O2"], + "comma_separated_display_args": "--experimental-explorer-port=", + "config_key": "port", + "default": 8000, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--golang-cgo-fortran-flags=\"['', '', ...]\"" + "--experimental-explorer-port=" ], - "env_var": "PANTS_GOLANG_CGO_FORTRAN_FLAGS", + "env_var": "PANTS_EXPERIMENTAL_EXPLORER_PORT", "fromfile": false, - "help": "Compiler options used when compiling Fortran code when Cgo is enabled. Equivalent to setting the CGO_FFLAGS environment variable when invoking `go`.", + "help": "Server port to bind to.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-fortran-flags"], - "target_field_name": "golang_cgo_fortran_flags", - "typ": "list", - "unscoped_cmd_line_args": ["--cgo-fortran-flags"], + "scoped_cmd_line_args": [ + "--experimental-explorer-port" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--port" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["-g", "-O2"] + "value": 8000 } ] } }, - "PANTS_GOLANG_CGO_GCC_BINARY_NAME": { + "PANTS_EXPORT_PY_EDITABLE_IN_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-gcc-binary-name=", - "config_key": "cgo_gcc_binary_name", - "default": "gcc", + "comma_separated_display_args": "--export-py-editable-in-resolve=\"['', '', ...]\"", + "config_key": "py_editable_in_resolve", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-gcc-binary-name="], - "env_var": "PANTS_GOLANG_CGO_GCC_BINARY_NAME", + "display_args": [ + "--export-py-editable-in-resolve=\"['', '', ...]\"" + ], + "env_var": "PANTS_EXPORT_PY_EDITABLE_IN_RESOLVE", "fromfile": false, - "help": "Name of the tool to use to compile C code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", + "help": "When exporting a mutable virtualenv for a resolve, do PEP-660 editable installs of all 'python_distribution' targets that own code in the exported resolve.\n\nIf a resolve name is not in this list, 'python_distribution' targets will not be installed in the virtualenv. This defaults to an empty list for backwards compatibility and to prevent unnecessary work to generate and install the PEP-660 editable wheels.\n\nThis only applies when '[python].enable_resolves' is true and when exporting a 'mutable_virtualenv' ('symlinked_immutable_virtualenv' exports are not \"full\" virtualenvs because they must not be edited, and do not include 'pip').\n\nNOTE: If you are using legacy exports (not using the '--resolve' option), then this option has no effect. Legacy exports will not include any editable installs.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-gcc-binary-name"], - "target_field_name": "golang_cgo_gcc_binary_name", - "typ": "str", - "unscoped_cmd_line_args": ["--cgo-gcc-binary-name"], + "scoped_cmd_line_args": [ + "--export-py-editable-in-resolve" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--py-editable-in-resolve" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "gcc" + "value": [] } ] } }, - "PANTS_GOLANG_CGO_GXX_BINARY_NAME": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-gxx-binary-name=", - "config_key": "cgo_gxx_binary_name", - "default": "g++", + "PANTS_EXPORT_PY_RESOLVE_FORMAT": { + "choices": [ + "mutable_virtualenv", + "symlinked_immutable_virtualenv" + ], + "comma_separated_choices": "mutable_virtualenv, symlinked_immutable_virtualenv", + "comma_separated_display_args": "--export-py-resolve-format=", + "config_key": "py_resolve_format", + "default": "mutable_virtualenv", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-gxx-binary-name="], - "env_var": "PANTS_GOLANG_CGO_GXX_BINARY_NAME", + "display_args": [ + "--export-py-resolve-format=" + ], + "env_var": "PANTS_EXPORT_PY_RESOLVE_FORMAT", "fromfile": false, - "help": "Name of the tool to use to compile C++ code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", + "help": "Export Python resolves using this format. Options are:\n - `mutable_virtualenv`: Export a standalone mutable virtualenv that you can\n further modify.\n - `symlinked_immutable_virtualenv`: Export a symlink into a cached Python virtualenv.\n This virtualenv will have no pip binary, and will be immutable. Any attempt to\n modify it will corrupt the cache! It may, however, take significantly less time\n to export than a standalone, mutable virtualenv.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-gxx-binary-name"], - "target_field_name": "golang_cgo_gxx_binary_name", - "typ": "str", - "unscoped_cmd_line_args": ["--cgo-gxx-binary-name"], + "scoped_cmd_line_args": [ + "--export-py-resolve-format" + ], + "target_field_name": null, + "typ": "PythonResolveExportFormat", + "unscoped_cmd_line_args": [ + "--py-resolve-format" + ], "value_history": { "ranked_values": [ { @@ -6924,29 +7974,35 @@ { "details": null, "rank": "HARDCODED", - "value": "g++" + "value": "mutable_virtualenv" } ] } }, - "PANTS_GOLANG_CGO_LINKER_FLAGS": { + "PANTS_EXPORT_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-linker-flags=\"['', '', ...]\"", - "config_key": "cgo_linker_flags", - "default": ["-g", "-O2"], + "comma_separated_display_args": "--export-resolve=\"['', '', ...]\"", + "config_key": "resolve", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-linker-flags=\"['', '', ...]\""], - "env_var": "PANTS_GOLANG_CGO_LINKER_FLAGS", + "display_args": [ + "--export-resolve=\"['', '', ...]\"" + ], + "env_var": "PANTS_EXPORT_RESOLVE", "fromfile": false, - "help": "Compiler options used when linking native code when Cgo is enabled. Equivalent to setting the CGO_LDFLAGS environment variable when invoking `go`.", + "help": "Export the specified resolve(s). The export format is backend-specific, e.g., Python resolves are exported as virtualenvs.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-linker-flags"], - "target_field_name": "golang_cgo_linker_flags", + "scoped_cmd_line_args": [ + "--export-resolve" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--cgo-linker-flags"], + "unscoped_cmd_line_args": [ + "--resolve" + ], "value_history": { "ranked_values": [ { @@ -6957,64 +8013,78 @@ { "details": "", "rank": "HARDCODED", - "value": ["-g", "-O2"] + "value": [] } ] } }, - "PANTS_GOLANG_CGO_TOOL_SEARCH_PATHS": { + "PANTS_EXPORT_SYMLINK_PYTHON_VIRTUALENV": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-tool-search-paths=\"['', '', ...]\"", - "config_key": "cgo_tool_search_paths", - "default": [""], - "deprecated_message": null, - "deprecation_active": false, + "comma_separated_display_args": "--[no-]export-symlink-python-virtualenv", + "config_key": "symlink_python_virtualenv", + "default": false, + "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.20.0.dev0.", + "deprecation_active": true, "display_args": [ - "--golang-cgo-tool-search-paths=\"['', '', ...]\"" + "--[no-]export-symlink-python-virtualenv" ], - "env_var": "PANTS_GOLANG_CGO_TOOL_SEARCH_PATHS", + "env_var": "PANTS_EXPORT_SYMLINK_PYTHON_VIRTUALENV", "fromfile": false, - "help": "A list of paths to search for tools needed by CGo (e.g., gcc, g++).\n\nSpecify absolute paths to directories with tools needed by CGo , 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", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-tool-search-paths"], - "target_field_name": "golang_cgo_tool_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--cgo-tool-search-paths"], + "help": "Export a symlink into a cached Python virtualenv. This virtualenv will have no pip binary, and will be immutable. Any attempt to modify it will corrupt the cache! It may, however, take significantly less time to export than a standalone, mutable virtualenv will.", + "removal_hint": "Set the `[export].py_resolve_format` option to 'symlinked_immutable_virtualenv'", + "removal_version": "2.20.0.dev0", + "scoped_cmd_line_args": [ + "--export-symlink-python-virtualenv", + "--no-export-symlink-python-virtualenv" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--symlink-python-virtualenv", + "--no-symlink-python-virtualenv" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": false } ] } }, - "PANTS_GOLANG_EXTERNAL_LINKER_BINARY_NAME": { + "PANTS_FILEDEPS_ABSOLUTE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-external-linker-binary-name=", - "config_key": "external_linker_binary_name", - "default": "gcc", + "comma_separated_display_args": "--[no-]filedeps-absolute", + "config_key": "absolute", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-external-linker-binary-name="], - "env_var": "PANTS_GOLANG_EXTERNAL_LINKER_BINARY_NAME", + "display_args": [ + "--[no-]filedeps-absolute" + ], + "env_var": "PANTS_FILEDEPS_ABSOLUTE", "fromfile": false, - "help": "Name of the tool to use as the \"external linker\" when invoking `go tool link`. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", + "help": "If True, output with absolute path. If unspecified, output with path relative to the build root.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-external-linker-binary-name"], - "target_field_name": "golang_external_linker_binary_name", - "typ": "str", - "unscoped_cmd_line_args": ["--external-linker-binary-name"], + "scoped_cmd_line_args": [ + "--filedeps-absolute", + "--no-filedeps-absolute" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--absolute", + "--no-absolute" + ], "value_history": { "ranked_values": [ { @@ -7025,135 +8095,150 @@ { "details": null, "rank": "HARDCODED", - "value": "gcc" + "value": false } ] } }, - "PANTS_GOLANG_GO_SEARCH_PATHS": { + "PANTS_FILEDEPS_GLOBS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-go-search-paths=\"['', '', ...]\"", - "config_key": "go_search_paths", - "default": [""], + "comma_separated_display_args": "--[no-]filedeps-globs", + "config_key": "globs", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-go-search-paths=\"['', '', ...]\""], - "env_var": "PANTS_GOLANG_GO_SEARCH_PATHS", + "display_args": [ + "--[no-]filedeps-globs" + ], + "env_var": "PANTS_FILEDEPS_GLOBS", "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": "Instead of outputting filenames, output the original globs used in the BUILD file. This will not include exclude globs (i.e. globs that start with `!`).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-go-search-paths"], - "target_field_name": "golang_go_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--go-search-paths"], + "scoped_cmd_line_args": [ + "--filedeps-globs", + "--no-filedeps-globs" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--globs", + "--no-globs" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": false } ] } }, - "PANTS_GOLANG_MINIMUM_EXPECTED_VERSION": { + "PANTS_FILEDEPS_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-minimum-expected-version=", - "config_key": "minimum_expected_version", - "default": "1.17", + "comma_separated_display_args": "--filedeps-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-minimum-expected-version="], - "env_var": "PANTS_GOLANG_MINIMUM_EXPECTED_VERSION", + "display_args": [ + "--filedeps-output-file=" + ], + "env_var": "PANTS_FILEDEPS_OUTPUT_FILE", "fromfile": false, - "help": "The minimum Go version the distribution discovered by Pants must support.\n\nFor example, if you set `'1.17'`, then Pants will look for a Go binary that is 1.17+, e.g. 1.17 or 1.18.\n\nYou should still set the Go version for each module in your `go.mod` with the `go` directive.\n\nDo not include the patch version.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-minimum-expected-version"], + "scoped_cmd_line_args": [ + "--filedeps-output-file" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--minimum-expected-version"], + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "1.17" } ] } }, - "PANTS_GOLANG_SUBPROCESS_ENV_VARS": { + "PANTS_FILEDEPS_SEP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-subprocess-env-vars=\"['', '', ...]\"", - "config_key": "subprocess_env_vars", - "default": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"], + "comma_separated_display_args": "--filedeps-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--golang-subprocess-env-vars=\"['', '', ...]\"" + "--filedeps-sep=" ], - "env_var": "PANTS_GOLANG_SUBPROCESS_ENV_VARS", + "env_var": "PANTS_FILEDEPS_SEP", "fromfile": false, - "help": "Environment variables to set when invoking the `go` tool. 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.", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-subprocess-env-vars"], - "target_field_name": "golang_subprocess_env_vars", - "typ": "list", - "unscoped_cmd_line_args": ["--subprocess-env-vars"], + "scoped_cmd_line_args": [ + "--filedeps-sep" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"] + "value": "\\n" } ] } }, - "PANTS_GOLANG_TAILOR_BINARY_TARGETS": { + "PANTS_FILEDEPS_TRANSITIVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]golang-tailor-binary-targets", - "config_key": "tailor_binary_targets", - "default": true, + "comma_separated_display_args": "--[no-]filedeps-transitive", + "config_key": "transitive", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]golang-tailor-binary-targets"], - "env_var": "PANTS_GOLANG_TAILOR_BINARY_TARGETS", + "display_args": [ + "--[no-]filedeps-transitive" + ], + "env_var": "PANTS_FILEDEPS_TRANSITIVE", "fromfile": false, - "help": "If true, add a `go_binary` target with the `tailor` goal in every directory with a `.go` file with `package main`.", + "help": "If True, list files from all dependencies, including transitive dependencies. If unspecified, only list files from the target.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--golang-tailor-binary-targets", - "--no-golang-tailor-binary-targets" + "--filedeps-transitive", + "--no-filedeps-transitive" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-binary-targets", - "--no-tailor-binary-targets" + "--transitive", + "--no-transitive" ], "value_history": { "ranked_values": [ @@ -7165,34 +8250,77 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_GOLANG_TAILOR_GO_MOD_TARGETS": { + "PANTS_FILTER_ADDRESS_REGEX": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]golang-tailor-go-mod-targets", - "config_key": "tailor_go_mod_targets", - "default": true, + "comma_separated_display_args": "--filter-address-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"", + "config_key": "address_regex", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]golang-tailor-go-mod-targets"], - "env_var": "PANTS_GOLANG_TAILOR_GO_MOD_TARGETS", + "display_args": [ + "--filter-address-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"" + ], + "env_var": "PANTS_FILTER_ADDRESS_REGEX", "fromfile": false, - "help": "If true, add a `go_mod` target with the `tailor` goal wherever there is a `go.mod` file.", + "help": "Filter on target addresses matching these regexes.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--golang-tailor-go-mod-targets", - "--no-golang-tailor-go-mod-targets" + "--filter-address-regex" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--tailor-go-mod-targets", - "--no-tailor-go-mod-targets" + "--address-regex" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_FILTER_GRANULARITY": { + "choices": [ + "all", + "file", + "BUILD" + ], + "comma_separated_choices": "all, file, BUILD", + "comma_separated_display_args": "--filter-granularity=", + "config_key": "granularity", + "default": "all", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--filter-granularity=" + ], + "env_var": "PANTS_FILTER_GRANULARITY", + "fromfile": false, + "help": "Filter to rendering only targets declared in BUILD files, only file-level targets, or all targets.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--filter-granularity" + ], + "target_field_name": null, + "typ": "TargetGranularity", + "unscoped_cmd_line_args": [ + "--granularity" ], "value_history": { "ranked_values": [ @@ -7204,34 +8332,34 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "all" } ] } }, - "PANTS_GOLANG_TAILOR_PACKAGE_TARGETS": { + "PANTS_FILTER_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]golang-tailor-package-targets", - "config_key": "tailor_package_targets", - "default": true, + "comma_separated_display_args": "--filter-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]golang-tailor-package-targets"], - "env_var": "PANTS_GOLANG_TAILOR_PACKAGE_TARGETS", + "display_args": [ + "--filter-output-file=" + ], + "env_var": "PANTS_FILTER_OUTPUT_FILE", "fromfile": false, - "help": "If true, add a `go_package` target with the `tailor` goal in every directory with a `.go` file.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--golang-tailor-package-targets", - "--no-golang-tailor-package-targets" + "--filter-output-file" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--tailor-package-targets", - "--no-tailor-package-targets" + "--output-file" ], "value_history": { "ranked_values": [ @@ -7239,36 +8367,34 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } }, - "PANTS_GOOGLE_JAVA_FORMAT_AOSP": { + "PANTS_FILTER_SEP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]google-java-format-aosp", - "config_key": "aosp", - "default": false, + "comma_separated_display_args": "--filter-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]google-java-format-aosp"], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_AOSP", + "display_args": [ + "--filter-sep=" + ], + "env_var": "PANTS_FILTER_SEP", "fromfile": false, - "help": "Use AOSP style instead of Google Style (4-space indentation). (\"AOSP\" is the Android Open Source Project.)", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--google-java-format-aosp", - "--no-google-java-format-aosp" + "--filter-sep" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--aosp", "--no-aosp"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { @@ -7279,31 +8405,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "\\n" } ] } }, - "PANTS_GOOGLE_JAVA_FORMAT_ARTIFACTS": { + "PANTS_FILTER_TAG_REGEX": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--google-java-format-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["com.google.googlejavaformat:google-java-format:{version}"], + "comma_separated_display_args": "--filter-tag-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"", + "config_key": "tag_regex", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--google-java-format-artifacts=\"['', '', ...]\"" + "--filter-tag-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"" ], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_ARTIFACTS", + "env_var": "PANTS_FILTER_TAG_REGEX", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[google-java-format].version` option.", + "help": "Filter on targets with tags matching these regexes.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--google-java-format-artifacts"], + "scoped_cmd_line_args": [ + "--filter-tag-regex" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--tag-regex" + ], "value_history": { "ranked_values": [ { @@ -7314,33 +8444,35 @@ { "details": "", "rank": "HARDCODED", - "value": [ - "com.google.googlejavaformat:google-java-format:{version}" - ] + "value": [] } ] } }, - "PANTS_GOOGLE_JAVA_FORMAT_JVM_OPTIONS": { + "PANTS_FILTER_TARGET_TYPE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--google-java-format-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", + "comma_separated_display_args": "--filter-target-type=\"[[+-]type1,type2,..., [+-]type1,type2,..., ...]\"", + "config_key": "target_type", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--google-java-format-jvm-options=\"['', '', ...]\"" + "--filter-target-type=\"[[+-]type1,type2,..., [+-]type1,type2,..., ...]\"" ], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_JVM_OPTIONS", + "env_var": "PANTS_FILTER_TARGET_TYPE", "fromfile": false, - "help": "List of JVM options to pass to `google-java-format` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "Filter on these target types, e.g. `resources` or `python_sources`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--google-java-format-jvm-options"], + "scoped_cmd_line_args": [ + "--filter-target-type" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "unscoped_cmd_line_args": [ + "--target-type" + ], "value_history": { "ranked_values": [ { @@ -7356,24 +8488,30 @@ ] } }, - "PANTS_GOOGLE_JAVA_FORMAT_LOCKFILE": { + "PANTS_FIX_BATCH_SIZE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--google-java-format-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--fix-batch-size=", + "config_key": "batch_size", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--google-java-format-lockfile="], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_LOCKFILE", + "display_args": [ + "--fix-batch-size=" + ], + "env_var": "PANTS_FIX_BATCH_SIZE", "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.19.0rc1/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": "The target number of files to be included in each fixer batch.\n\nFixer processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in fixer processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--google-java-format-lockfile"], + "scoped_cmd_line_args": [ + "--fix-batch-size" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--batch-size" + ], "value_history": { "ranked_values": [ { @@ -7384,65 +8522,76 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": 128 } ] } }, - "PANTS_GOOGLE_JAVA_FORMAT_SKIP": { + "PANTS_FIX_ONLY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]google-java-format-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--fix-only=\"['', '', ...]\"", + "config_key": "only", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]google-java-format-skip"], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_SKIP", + "display_args": [ + "--fix-only=\"['', '', ...]\"" + ], + "env_var": "PANTS_FIX_ONLY", "fromfile": false, - "help": "If true, don't use Google Java Format when running `pants fmt` and `pants lint`.", + "help": "Only run these fixers and skip all others.\n\nThe fixer names are outputted at the final summary of running this goal, e.g. `autoflake` and `pyupgrade`. You can also run `fix --only=fake` to get a list of all activated fixers.\n\nYou can repeat this option, e.g. `fix --only=autoflake --only=pyupgrade` or `fix --only=['autoflake', 'pyupgrade']`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--google-java-format-skip", - "--no-google-java-format-skip" + "--fix-only" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--only" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_GOOGLE_JAVA_FORMAT_VERSION": { + "PANTS_FIX_SKIP_FORMATTERS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--google-java-format-version=", - "config_key": "version", - "default": "1.13.0", + "comma_separated_display_args": "--[no-]fix-skip-formatters", + "config_key": "skip_formatters", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--google-java-format-version="], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_VERSION", + "display_args": [ + "--[no-]fix-skip-formatters" + ], + "env_var": "PANTS_FIX_SKIP_FORMATTERS", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[google-java-format].artifacts` option by including the string `{version}`.", + "help": "If true, skip running all formatters.\n\nFYI: when running `pants fix fmt ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fmt` when running `fix` where possible.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--google-java-format-version"], + "scoped_cmd_line_args": [ + "--fix-skip-formatters", + "--no-fix-skip-formatters" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip-formatters", + "--no-skip-formatters" + ], "value_history": { "ranked_values": [ { @@ -7453,29 +8602,35 @@ { "details": null, "rank": "HARDCODED", - "value": "1.13.0" + "value": false } ] } }, - "PANTS_GO_GENERATE_ENV_VARS": { + "PANTS_FLAKE8_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--go-generate-env-vars=\"['', '', ...]\"", - "config_key": "env_vars", - "default": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"], + "comma_separated_display_args": "--flake8-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--go-generate-env-vars=\"['', '', ...]\""], - "env_var": "PANTS_GO_GENERATE_ENV_VARS", + "display_args": [ + "--flake8-args=\"[, , ...]\"" + ], + "env_var": "PANTS_FLAKE8_ARGS", "fromfile": false, - "help": "Environment variables to set when invoking generator programs. 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.", + "help": "Arguments to pass directly to Flake8, e.g. `--flake8-args='--ignore E123,W456 --enable-extensions H111'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-generate-env-vars"], - "target_field_name": "go_generate_env_vars", + "scoped_cmd_line_args": [ + "--flake8-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--env-vars"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -7486,68 +8641,71 @@ { "details": "", "rank": "HARDCODED", - "value": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"] + "value": [] } ] } }, - "PANTS_GO_TEST_ARGS": { + "PANTS_FLAKE8_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--go-test-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--flake8-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--go-test-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--flake8-config=" ], - "env_var": "PANTS_GO_TEST_ARGS", + "env_var": "PANTS_FLAKE8_CONFIG", "fromfile": false, - "help": "Arguments to pass directly to Go test binary, e.g. `--go-test-args='-run TestFoo -v'`.\n\nKnown Go test options will be transformed into the form expected by the test binary, e.g. `-v` becomes `-test.v`. Run `go help testflag` from the Go SDK to learn more about the options supported by Go test binaries.", + "help": "Path to an INI config file understood by Flake8 (https://flake8.pycqa.org/en/latest/user/configuration.html).\n\nSetting this option will disable `[flake8].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-args"], + "scoped_cmd_line_args": [ + "--flake8-config" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, - "PANTS_GO_TEST_BLOCK_PROFILE": { + "PANTS_FLAKE8_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-block-profile", - "config_key": "block_profile", - "default": false, + "comma_separated_display_args": "--[no-]flake8-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-block-profile"], - "env_var": "PANTS_GO_TEST_BLOCK_PROFILE", + "display_args": [ + "--[no-]flake8-config-discovery" + ], + "env_var": "PANTS_FLAKE8_CONFIG_DISCOVERY", "fromfile": false, - "help": "Capture a goroutine blocking profile from the execution of the test runner. The profile will be written to the file `block.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", + "help": "If true, Pants will include any relevant config files during runs (`.flake8`, `flake8`, `setup.cfg`, and `tox.ini`).\n\nUse `[flake8].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-block-profile", - "--no-go-test-block-profile" + "--flake8-config-discovery", + "--no-flake8-config-discovery" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--block-profile", "--no-block-profile"], + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -7558,32 +8716,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_GO_TEST_COVERAGE_HTML": { + "PANTS_FLAKE8_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-coverage-html", - "config_key": "coverage_html", - "default": true, + "comma_separated_display_args": "--flake8-console-script=", + "config_key": "console_script", + "default": "flake8", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-coverage-html"], - "env_var": "PANTS_GO_TEST_COVERAGE_HTML", + "display_args": [ + "--flake8-console-script=" + ], + "env_var": "PANTS_FLAKE8_CONSOLE_SCRIPT", "fromfile": false, - "help": "If true, then convert coverage reports to HTML format and write a `coverage.html` file next to the raw coverage data.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-coverage-html", - "--no-go-test-coverage-html" + "--flake8-console-script" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--coverage-html", "--no-coverage-html"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -7594,64 +8755,69 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "flake8" } ] } }, - "PANTS_GO_TEST_COVERAGE_OUTPUT_DIR": { + "PANTS_FLAKE8_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--go-test-coverage-output-dir=", - "config_key": "coverage_output_dir", - "default": "{distdir}/coverage/go/{target_spec}", + "comma_separated_display_args": "--flake8-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--go-test-coverage-output-dir="], - "env_var": "PANTS_GO_TEST_COVERAGE_OUTPUT_DIR", + "display_args": [ + "--flake8-entry-point=" + ], + "env_var": "PANTS_FLAKE8_ENTRY_POINT", "fromfile": false, - "help": "Path to write the Go coverage reports to. Must be relative to the build root.\n\nReplacements:\n\n - `{distdir}` is replaced with the Pants `distdir`.\n - `{target_spec}` is replaced with the address of the applicable `go_package` target with `/`\n characters replaced with dots (`.`).\n - `{import_path}` is replaced with the applicable package's import path. Subdirectories will be made\n for any path components separated by `/` characters.\n - `{import_path_escaped}` is replaced with the applicable package's import path but with\n slashes converted to underscores. This is deprecated and only exists to support behavior from\n earlier versions.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-coverage-output-dir"], + "scoped_cmd_line_args": [ + "--flake8-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--coverage-output-dir"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "{distdir}/coverage/go/{target_spec}" } ] } }, - "PANTS_GO_TEST_COVERAGE_PACKAGES": { + "PANTS_FLAKE8_EXTRA_FILES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--go-test-coverage-packages=\"['', '', ...]\"", - "config_key": "coverage_packages", + "comma_separated_display_args": "--flake8-extra-files=\"[, , ...]\"", + "config_key": "extra_files", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--go-test-coverage-packages=\"['', '', ...]\"" + "--flake8-extra-files=\"[, , ...]\"" ], - "env_var": "PANTS_GO_TEST_COVERAGE_PACKAGES", + "env_var": "PANTS_FLAKE8_EXTRA_FILES", "fromfile": false, - "help": "A list of \"import path patterns\" for determining which import paths will be instrumented for code coverage.\n\nFrom `go help packages`:\n\nAn import path is a pattern if it includes one or more \"...\" wildcards, each of which can match any string, including the empty string and strings containing slashes. Such a pattern expands to all package directories found in the GOPATH trees with names matching the patterns.\n\nTo make common patterns more convenient, there are two special cases. First, /... at the end of the pattern can match an empty string, so that net/... matches both net and packages in its subdirectories, like net/http. Second, any slash-separated pattern element containing a wildcard never participates in a match of the \"vendor\" element in the path of a vendored package, so that ./... does not match packages in subdirectories of ./vendor or ./mycode/vendor, but ./vendor/... and ./mycode/vendor/... do. Note, however, that a directory named vendor that itself contains code is not a vendored package: cmd/vendor would be a command named vendor, and the pattern cmd/... matches it. See golang.org/s/go15vendor for more about vendoring.\n\nThis option is similar to the `go test -coverpkg` option, but without support currently for reserved import path patterns like `std` and `all`.", + "help": "Paths to extra files to include in the sandbox. This can be useful for Flake8 plugins,\n like including config files for the `flake8-bandit` plugin.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-coverage-packages"], + "scoped_cmd_line_args": [ + "--flake8-extra-files" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--coverage-packages"], + "unscoped_cmd_line_args": [ + "--extra-files" + ], "value_history": { "ranked_values": [ { @@ -7667,96 +8833,105 @@ ] } }, - "PANTS_GO_TEST_COVER_MODE": { - "choices": ["set", "count", "atomic"], - "comma_separated_choices": "set, count, atomic", - "comma_separated_display_args": "--go-test-cover-mode=", - "config_key": "cover_mode", - "default": "set", + "PANTS_FLAKE8_INSTALL_FROM_RESOLVE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--flake8-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--go-test-cover-mode="], - "env_var": "PANTS_GO_TEST_COVER_MODE", + "display_args": [ + "--flake8-install-from-resolve=" + ], + "env_var": "PANTS_FLAKE8_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Coverage mode to use when running Go tests with coverage analysis enabled via `--test-use-coverage`. Valid values are `set`, `count`, and `atomic`:\n\n * `set`: bool: does this statement run?\n * `count`: int: how many times does this statement run?\n * `atomic`: int: count, but correct in multithreaded tests; significantly more expensive.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--go-test-cover-mode"], + "scoped_cmd_line_args": [ + "--flake8-install-from-resolve" + ], "target_field_name": null, - "typ": "GoCoverMode", - "unscoped_cmd_line_args": ["--cover-mode"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "set" } ] } }, - "PANTS_GO_TEST_CPU_PROFILE": { + "PANTS_FLAKE8_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-cpu-profile", - "config_key": "cpu_profile", - "default": false, + "comma_separated_display_args": "--flake8-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-cpu-profile"], - "env_var": "PANTS_GO_TEST_CPU_PROFILE", + "display_args": [ + "--flake8-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_FLAKE8_REQUIREMENTS", "fromfile": false, - "help": "Capture a CPU profile from the execution of the test runner. The profile will be written to the file `cpu.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", + "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.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-cpu-profile", - "--no-go-test-cpu-profile" + "--flake8-requirements" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--cpu-profile", "--no-cpu-profile"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_GO_TEST_FORCE_ASAN": { + "PANTS_FLAKE8_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-force-asan", - "config_key": "force_asan", + "comma_separated_display_args": "--[no-]flake8-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-force-asan"], - "env_var": "PANTS_GO_TEST_FORCE_ASAN", + "display_args": [ + "--[no-]flake8-skip" + ], + "env_var": "PANTS_FLAKE8_SKIP", "fromfile": false, - "help": "If true, then always enable interoperation between Go and the C/C++ \"address sanitizer\" when running tests regardless of the test-by-test `asan` field on the relevant `go_package` target.\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", + "help": "If true, don't use Flake8 when running `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-force-asan", - "--no-go-test-force-asan" + "--flake8-skip", + "--no-flake8-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--force-asan", "--no-force-asan"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -7772,63 +8947,69 @@ ] } }, - "PANTS_GO_TEST_FORCE_MSAN": { + "PANTS_FLAKE8_SOURCE_PLUGINS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-force-msan", - "config_key": "force_msan", - "default": false, + "comma_separated_display_args": "--flake8-source-plugins=\"[, , ...]\"", + "config_key": "source_plugins", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-force-msan"], - "env_var": "PANTS_GO_TEST_FORCE_MSAN", + "display_args": [ + "--flake8-source-plugins=\"[, , ...]\"" + ], + "env_var": "PANTS_FLAKE8_SOURCE_PLUGINS", "fromfile": false, - "help": "If true, then always enable interoperation between Go and the C/C++ \"memory sanitizer\" when running tests regardless of the test-by-test `msan` field on the relevant `go_package` target.\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", + "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/v2.19/docs/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/v2.19/docs/python-lockfiles#lockfiles-for-tools.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-force-msan", - "--no-go-test-force-msan" + "--flake8-source-plugins" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--force-msan", "--no-force-msan"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--source-plugins" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_GO_TEST_FORCE_RACE": { + "PANTS_FMT_BATCH_SIZE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-force-race", - "config_key": "force_race", - "default": false, + "comma_separated_display_args": "--fmt-batch-size=", + "config_key": "batch_size", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-force-race"], - "env_var": "PANTS_GO_TEST_FORCE_RACE", + "display_args": [ + "--fmt-batch-size=" + ], + "env_var": "PANTS_FMT_BATCH_SIZE", "fromfile": false, - "help": "If true, then always enable the Go data race detector when running tests regardless of the test-by-test `test_race` field on the relevant `go_package` target.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", + "help": "The target number of files to be included in each formatter batch.\n\nFormatter processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in formatter processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-force-race", - "--no-go-test-force-race" + "--fmt-batch-size" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--force-race", "--no-force-race"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--batch-size" + ], "value_history": { "ranked_values": [ { @@ -7839,106 +9020,109 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": 128 } ] } }, - "PANTS_GO_TEST_MEM_PROFILE": { + "PANTS_FMT_ONLY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-mem-profile", - "config_key": "mem_profile", - "default": false, + "comma_separated_display_args": "--fmt-only=\"['', '', ...]\"", + "config_key": "only", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-mem-profile"], - "env_var": "PANTS_GO_TEST_MEM_PROFILE", + "display_args": [ + "--fmt-only=\"['', '', ...]\"" + ], + "env_var": "PANTS_FMT_ONLY", "fromfile": false, - "help": "Capture an allocation profile from the execution of the test runner after tests have passed. The profile will be written to the file `mem.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", + "help": "Only run these formatters and skip all others.\n\nThe formatter names are outputted at the final summary of running this goal, e.g. `isort` and `shfmt`. You can also run `fmt --only=fake` to get a list of all activated formatters.\n\nYou can repeat this option, e.g. `fmt --only=isort --only=shfmt` or `fmt --only=['isort', 'shfmt']`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-mem-profile", - "--no-go-test-mem-profile" + "--fmt-only" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--mem-profile", "--no-mem-profile"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--only" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_GO_TEST_MUTEX_PROFILE": { + "PANTS_GENERATE_LOCKFILES_CUSTOM_COMMAND": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-mutex-profile", - "config_key": "mutex_profile", - "default": false, + "comma_separated_display_args": "--generate-lockfiles-custom-command=", + "config_key": "custom_command", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-mutex-profile"], - "env_var": "PANTS_GO_TEST_MUTEX_PROFILE", + "display_args": [ + "--generate-lockfiles-custom-command=" + ], + "env_var": "PANTS_GENERATE_LOCKFILES_CUSTOM_COMMAND", "fromfile": false, - "help": "Capture a mutex contention profile from the execution of the test runner when all tests are complete. The profile will be written to the file `mutex.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", + "help": "If set, lockfile headers will say to run this command to regenerate the lockfile, rather than running `pants generate-lockfiles --resolve=` like normal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-mutex-profile", - "--no-go-test-mutex-profile" + "--generate-lockfiles-custom-command" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--mutex-profile", "--no-mutex-profile"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--custom-command" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, - "PANTS_GO_TEST_OUTPUT_TEST_BINARY": { + "PANTS_GENERATE_LOCKFILES_DIFF": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-output-test-binary", - "config_key": "output_test_binary", - "default": false, + "comma_separated_display_args": "--[no-]generate-lockfiles-diff", + "config_key": "diff", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-output-test-binary"], - "env_var": "PANTS_GO_TEST_OUTPUT_TEST_BINARY", + "display_args": [ + "--[no-]generate-lockfiles-diff" + ], + "env_var": "PANTS_GENERATE_LOCKFILES_DIFF", "fromfile": false, - "help": "Write the test binary to the test extra output directory.\n\nThis is similar to the `go test -c` option, but will still run the underlying test.", + "help": "Print a summary of changed distributions after generating the lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-output-test-binary", - "--no-go-test-output-test-binary" + "--generate-lockfiles-diff", + "--no-generate-lockfiles-diff" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--output-test-binary", - "--no-output-test-binary" + "--diff", + "--no-diff" ], "value_history": { "ranked_values": [ @@ -7950,29 +9134,37 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_GO_TEST_SKIP": { + "PANTS_GENERATE_LOCKFILES_DIFF_INCLUDE_UNCHANGED": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-skip", - "config_key": "skip", + "comma_separated_display_args": "--[no-]generate-lockfiles-diff-include-unchanged", + "config_key": "diff_include_unchanged", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-skip"], - "env_var": "PANTS_GO_TEST_SKIP", + "display_args": [ + "--[no-]generate-lockfiles-diff-include-unchanged" + ], + "env_var": "PANTS_GENERATE_LOCKFILES_DIFF_INCLUDE_UNCHANGED", "fromfile": false, - "help": "If true, don't use Go test binary when running `pants test`.", + "help": "Include unchanged distributions in the diff summary output. Implies `diff=true`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-skip", "--no-go-test-skip"], + "scoped_cmd_line_args": [ + "--generate-lockfiles-diff-include-unchanged", + "--no-generate-lockfiles-diff-include-unchanged" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--diff-include-unchanged", + "--no-diff-include-unchanged" + ], "value_history": { "ranked_values": [ { @@ -7988,64 +9180,69 @@ ] } }, - "PANTS_GO_TEST_TRACE": { + "PANTS_GENERATE_LOCKFILES_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-trace", - "config_key": "trace", - "default": false, + "comma_separated_display_args": "--generate-lockfiles-resolve=\"['', '', ...]\"", + "config_key": "resolve", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-trace"], - "env_var": "PANTS_GO_TEST_TRACE", + "display_args": [ + "--generate-lockfiles-resolve=\"['', '', ...]\"" + ], + "env_var": "PANTS_GENERATE_LOCKFILES_RESOLVE", "fromfile": false, - "help": "Capture an execution trace from the execution of the test runner. The trace will be written to the file `trace.out` in the test extra output directory.", + "help": "Only generate lockfiles for the specified resolve(s).\n\nResolves are the logical names for the different lockfiles used in your project. For your own code's dependencies, these come from backend-specific configuration such as `[python].resolves`. For tool lockfiles, resolve names are the options scope for that tool such as `black`, `pytest`, and `mypy-protobuf`.\n\nFor example, you can run `pants generate-lockfiles --resolve=black --resolve=pytest --resolve=data-science` to only generate lockfiles for those two tools and your resolve named `data-science`.\n\nIf you specify an invalid resolve name, like 'fake', Pants will output all possible values.\n\nIf not specified, Pants will generate lockfiles for all resolves.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-trace", "--no-go-test-trace"], + "scoped_cmd_line_args": [ + "--generate-lockfiles-resolve" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--trace", "--no-trace"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--resolve" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_GRPC_PYTHON_PLUGIN_KNOWN_VERSIONS": { + "PANTS_GOFMT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--grpc-python-plugin-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "1.32.0|macos_arm64 |b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", - "1.32.0|macos_x86_64|b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", - "1.32.0|linux_arm64 |9365e728c603d64735963074340994245d324712344f63557ef3630864dd9f52|5233664", - "1.32.0|linux_x86_64|1af99df9bf733c17a75cbe379f3f9d9ff1627d8a8035ea057c3c78575afe1687|4965728" - ], + "comma_separated_display_args": "--gofmt-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--grpc-python-plugin-known-versions=\"['', '', ...]\"" + "--gofmt-args=\"[, , ...]\"" ], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_KNOWN_VERSIONS", + "env_var": "PANTS_GOFMT_ARGS", "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", + "help": "Arguments to pass directly to gofmt, e.g. `--gofmt-args='-s -e'`.\n\nOnly the following style related options are supported: `-e`, `-r`, `-s`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--grpc-python-plugin-known-versions"], + "scoped_cmd_line_args": [ + "--gofmt-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -8056,147 +9253,151 @@ { "details": "", "rank": "HARDCODED", - "value": [ - "1.32.0|macos_arm64 |b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", - "1.32.0|macos_x86_64|b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", - "1.32.0|linux_arm64 |9365e728c603d64735963074340994245d324712344f63557ef3630864dd9f52|5233664", - "1.32.0|linux_x86_64|1af99df9bf733c17a75cbe379f3f9d9ff1627d8a8035ea057c3c78575afe1687|4965728" - ] + "value": [] } ] } }, - "PANTS_GRPC_PYTHON_PLUGIN_URL_PLATFORM_MAPPING": { + "PANTS_GOFMT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--grpc-python-plugin-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux/arm64", - "linux_x86_64": "linux/x86_64", - "macos_arm64": "macos/x86_64", - "macos_x86_64": "macos/x86_64" - }, + "comma_separated_display_args": "--[no-]gofmt-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--grpc-python-plugin-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]gofmt-skip" ], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_PLATFORM_MAPPING", + "env_var": "PANTS_GOFMT_SKIP", "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`.", + "help": "If true, don't use gofmt when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--grpc-python-plugin-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--gofmt-skip", + "--no-gofmt-skip" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "linux_arm64": "linux/arm64", - "linux_x86_64": "linux/x86_64", - "macos_arm64": "macos/x86_64", - "macos_x86_64": "macos/x86_64" - } + "value": false } ] } }, - "PANTS_GRPC_PYTHON_PLUGIN_URL_TEMPLATE": { + "PANTS_GOLANGCI_LINT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--grpc-python-plugin-url-template=", - "config_key": "url_template", - "default": "https://binaries.pantsbuild.org/bin/grpc_python_plugin/{version}/{platform}/grpc_python_plugin", + "comma_separated_display_args": "--golangci-lint-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--grpc-python-plugin-url-template="], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_TEMPLATE", + "display_args": [ + "--golangci-lint-args=\"[, , ...]\"" + ], + "env_var": "PANTS_GOLANGCI_LINT_ARGS", "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/v2.19/docs/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": "Arguments to pass directly to golangci-lint, e.g. `--golangci-lint-args='--enable gocritic'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--grpc-python-plugin-url-template"], + "scoped_cmd_line_args": [ + "--golangci-lint-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "https://binaries.pantsbuild.org/bin/grpc_python_plugin/{version}/{platform}/grpc_python_plugin" + "value": [] } ] } }, - "PANTS_GRPC_PYTHON_PLUGIN_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--grpc-python-plugin-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_GOLANGCI_LINT_CONFIG": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--golangci-lint-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--grpc-python-plugin-use-unsupported-version=" + "--golangci-lint-config=" ], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_GOLANGCI_LINT_CONFIG", "fromfile": false, - "help": "\nWhat action to take in case the requested version of grpcpythonplugin is not supported.\n\nSupported grpcpythonplugin versions: unspecified\n", + "help": "Path to a YAML config file understood by golangci-lint (https://golangci-lint.run/usage/configuration/#config-file).\n\nSetting this option will disable `[golangci-lint].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--grpc-python-plugin-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--golangci-lint-config" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "error" } ] } }, - "PANTS_GRPC_PYTHON_PLUGIN_VERSION": { + "PANTS_GOLANGCI_LINT_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--grpc-python-plugin-version=", - "config_key": "version", - "default": "1.32.0", + "comma_separated_display_args": "--[no-]golangci-lint-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--grpc-python-plugin-version="], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_VERSION", + "display_args": [ + "--[no-]golangci-lint-config-discovery" + ], + "env_var": "PANTS_GOLANGCI_LINT_CONFIG_DISCOVERY", "fromfile": false, - "help": "Use this version of grpcpythonplugin.", + "help": "If true, Pants will include all relevant config files during runs (`.golangci.yml`, `.golangci.yaml`, `golangci.toml`, and `golangci.json`).\n\nUse `[golangci-lint].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--grpc-python-plugin-version"], + "scoped_cmd_line_args": [ + "--golangci-lint-config-discovery", + "--no-golangci-lint-config-discovery" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -8207,131 +9408,40 @@ { "details": null, "rank": "HARDCODED", - "value": "1.32.0" + "value": true } ] } }, - "PANTS_HADOLINT_ARGS": { + "PANTS_GOLANGCI_LINT_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-args=\"[, , ...]\"", - "config_key": "args", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--hadolint-args=\"[, , ...]\""], - "env_var": "PANTS_HADOLINT_ARGS", - "fromfile": false, - "help": "Arguments to pass directly to Hadolint, e.g. `--hadolint-args='--format json'`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-args"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_HADOLINT_CONFIG": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-config=", - "config_key": "config", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--hadolint-config="], - "env_var": "PANTS_HADOLINT_CONFIG", - "fromfile": false, - "help": "Path to an YAML config file understood by Hadolint (https://github.com/hadolint/hadolint#configure).\n\nSetting this option will disable `[hadolint].config_discovery`. Use this option if the config is located in a non-standard location.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-config"], - "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - } - ] - } - }, - "PANTS_HADOLINT_CONFIG_DISCOVERY": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]hadolint-config-discovery", - "config_key": "config_discovery", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]hadolint-config-discovery"], - "env_var": "PANTS_HADOLINT_CONFIG_DISCOVERY", - "fromfile": false, - "help": "If true, Pants will include all relevant config files during runs (`.hadolint.yaml` and `.hadolint.yml`).\n\nUse `[hadolint].config` instead if your config is in a non-standard location.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": [ - "--hadolint-config-discovery", - "--no-hadolint-config-discovery" - ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true - } - ] - } - }, - "PANTS_HADOLINT_KNOWN_VERSIONS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-known-versions=\"['', '', ...]\"", + "comma_separated_display_args": "--golangci-lint-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", - "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", - "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804", - "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520" + "1.51.1|macos_arm64 |75b8f0ff3a4e68147156be4161a49d4576f1be37a0b506473f8c482140c1e7f2|9724049", + "1.51.1|macos_x86_64|fba08acc4027f69f07cef48fbff70b8a7ecdfaa1c2aba9ad3fb31d60d9f5d4bc|10054954", + "1.51.1|linux_arm64 |9744bc34e7b8d82ca788b667bfb7155a39b4be9aef43bf9f10318b1372cea338|8927955", + "1.51.1|linux_x86_64|17aeb26c76820c22efa0e1838b0ab93e90cfedef43fbfc9a2f33f27eb9e5e070|9712769" ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--hadolint-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_HADOLINT_KNOWN_VERSIONS", + "display_args": [ + "--golangci-lint-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANGCI_LINT_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": ["--hadolint-known-versions"], + "scoped_cmd_line_args": [ + "--golangci-lint-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -8343,33 +9453,41 @@ "details": "", "rank": "HARDCODED", "value": [ - "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", - "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", - "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804", - "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520" + "1.51.1|macos_arm64 |75b8f0ff3a4e68147156be4161a49d4576f1be37a0b506473f8c482140c1e7f2|9724049", + "1.51.1|macos_x86_64|fba08acc4027f69f07cef48fbff70b8a7ecdfaa1c2aba9ad3fb31d60d9f5d4bc|10054954", + "1.51.1|linux_arm64 |9744bc34e7b8d82ca788b667bfb7155a39b4be9aef43bf9f10318b1372cea338|8927955", + "1.51.1|linux_x86_64|17aeb26c76820c22efa0e1838b0ab93e90cfedef43fbfc9a2f33f27eb9e5e070|9712769" ] } ] } }, - "PANTS_HADOLINT_SKIP": { + "PANTS_GOLANGCI_LINT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]hadolint-skip", + "comma_separated_display_args": "--[no-]golangci-lint-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]hadolint-skip"], - "env_var": "PANTS_HADOLINT_SKIP", + "display_args": [ + "--[no-]golangci-lint-skip" + ], + "env_var": "PANTS_GOLANGCI_LINT_SKIP", "fromfile": false, - "help": "If true, don't use Hadolint when running `pants lint`.", + "help": "If true, don't use golangci-lint when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-skip", "--no-hadolint-skip"], + "scoped_cmd_line_args": [ + "--golangci-lint-skip", + "--no-golangci-lint-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -8385,31 +9503,35 @@ ] } }, - "PANTS_HADOLINT_URL_PLATFORM_MAPPING": { + "PANTS_GOLANGCI_LINT_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "comma_separated_display_args": "--golangci-lint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", "config_key": "url_platform_mapping", "default": { - "linux_arm64": "Linux-arm64", - "linux_x86_64": "Linux-x86_64", - "macos_arm64": "Darwin-x86_64", - "macos_x86_64": "Darwin-x86_64" + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--hadolint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--golangci-lint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_HADOLINT_URL_PLATFORM_MAPPING", + "env_var": "PANTS_GOLANGCI_LINT_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": ["--hadolint-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--golangci-lint-url-platform-mapping" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { @@ -8421,33 +9543,39 @@ "details": "", "rank": "HARDCODED", "value": { - "linux_arm64": "Linux-arm64", - "linux_x86_64": "Linux-x86_64", - "macos_arm64": "Darwin-x86_64", - "macos_x86_64": "Darwin-x86_64" + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" } } ] } }, - "PANTS_HADOLINT_URL_TEMPLATE": { + "PANTS_GOLANGCI_LINT_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-url-template=", + "comma_separated_display_args": "--golangci-lint-url-template=", "config_key": "url_template", - "default": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}", + "default": "https://github.com/golangci/golangci-lint/releases/download/v{version}/golangci-lint-{version}-{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--hadolint-url-template="], - "env_var": "PANTS_HADOLINT_URL_TEMPLATE", + "display_args": [ + "--golangci-lint-url-template=" + ], + "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/v2.19/docs/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": ["--hadolint-url-template"], + "scoped_cmd_line_args": [ + "--golangci-lint-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -8458,31 +9586,38 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}" + "value": "https://github.com/golangci/golangci-lint/releases/download/v{version}/golangci-lint-{version}-{platform}.tar.gz" } ] } }, - "PANTS_HADOLINT_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], + "PANTS_GOLANGCI_LINT_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--hadolint-use-unsupported-version=", + "comma_separated_display_args": "--golangci-lint-use-unsupported-version=", "config_key": "use_unsupported_version", "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--hadolint-use-unsupported-version=" + "--golangci-lint-use-unsupported-version=" ], - "env_var": "PANTS_HADOLINT_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_GOLANGCI_LINT_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "\nWhat action to take in case the requested version of Hadolint is not supported.\n\nSupported Hadolint versions: unspecified\n", + "help": "\nWhat action to take in case the requested version of golangci-lint is not supported.\n\nSupported golangci-lint versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--golangci-lint-use-unsupported-version" + ], "target_field_name": null, "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -8498,24 +9633,30 @@ ] } }, - "PANTS_HADOLINT_VERSION": { + "PANTS_GOLANGCI_LINT_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-version=", + "comma_separated_display_args": "--golangci-lint-version=", "config_key": "version", - "default": "v2.10.0", + "default": "1.51.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--hadolint-version="], - "env_var": "PANTS_HADOLINT_VERSION", + "display_args": [ + "--golangci-lint-version=" + ], + "env_var": "PANTS_GOLANGCI_LINT_VERSION", "fromfile": false, - "help": "Use this version of Hadolint.", + "help": "Use this version of golangci-lint.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-version"], + "scoped_cmd_line_args": [ + "--golangci-lint-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -8526,93 +9667,116 @@ { "details": null, "rank": "HARDCODED", - "value": "v2.10.0" + "value": "1.51.1" } ] } }, - "PANTS_HELM_ARGS": { + "PANTS_GOLANG_ASDF_BIN_RELPATH": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--golang-asdf-bin-relpath=", + "config_key": "asdf_bin_relpath", + "default": "bin", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--golang-asdf-bin-relpath=" ], - "env_var": "PANTS_HELM_ARGS", + "env_var": "PANTS_GOLANG_ASDF_BIN_RELPATH", "fromfile": false, - "help": "Arguments to pass directly to helmsubsystem, e.g. `--helm-args='--dry-run'`.\n\nAdditional arguments to pass to Helm command line.\n\nOnly a subset of Helm arguments are considered valid as passthrough arguments as most of them have equivalents in the form of fields of the different target types.\n\nThe list of valid arguments is as follows:\n\n * --atomic\n * --cleanup-on-fail\n * --create-namespace\n * --debug\n * --dry-run\n * --force\n * --wait\n * --wait-for-jobs\n * --kubeconfig\n * --kube-context\n * --kube-apiserver\n * --kube-as-group\n * --kube-as-user\n * --kube-ca-file\n * --kube-token\n\nBefore attempting to use passthrough arguments, check the reference of each of the available target types to see what fields are accepted in each of them.", + "help": "The path relative to an ASDF install directory to use to find the `bin` directory within an installed Go distribution. The default value for this option works for the `go-sdk` ASDF plugin. Other ASDF plugins that install Go may have a different relative path to use.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-args"], + "scoped_cmd_line_args": [ + "--golang-asdf-bin-relpath" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--asdf-bin-relpath" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "bin" } ] } }, - "PANTS_HELM_DEFAULT_REGISTRY_REPOSITORY": { + "PANTS_GOLANG_ASDF_TOOL_NAME": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-default-registry-repository=", - "config_key": "default_registry_repository", - "default": null, + "comma_separated_display_args": "--golang-asdf-tool-name=", + "config_key": "asdf_tool_name", + "default": "go-sdk", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-default-registry-repository="], - "env_var": "PANTS_HELM_DEFAULT_REGISTRY_REPOSITORY", + "display_args": [ + "--golang-asdf-tool-name=" + ], + "env_var": "PANTS_GOLANG_ASDF_TOOL_NAME", "fromfile": false, - "help": "Default location where to push Helm charts in the available registries when no specific one has been given.\n\nIf no registry repository is given, charts will be pushed to the root of the OCI registry.", + "help": "The ASDF tool name to use when searching for installed Go distributions using the ASDF tool manager (https://asdf-vm.com/). The default value for this option is for the `go-sdk` ASDF plugin (https://github.com/yacchi/asdf-go-sdk.git). There are other plugins. If you wish to use one of them, then set this option to the ASDF tool name under which that other plugin was installed into ASDF.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-default-registry-repository"], + "scoped_cmd_line_args": [ + "--golang-asdf-tool-name" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--default-registry-repository"], + "unscoped_cmd_line_args": [ + "--asdf-tool-name" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "go-sdk" } ] } }, - "PANTS_HELM_EXTRA_ENV_VARS": { + "PANTS_GOLANG_CGO_CXX_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-extra-env-vars=\"['', '', ...]\"", - "config_key": "extra_env_vars", - "default": [], + "comma_separated_display_args": "--golang-cgo-cxx-flags=\"['', '', ...]\"", + "config_key": "cgo_cxx_flags", + "default": [ + "-g", + "-O2" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-extra-env-vars=\"['', '', ...]\""], - "env_var": "PANTS_HELM_EXTRA_ENV_VARS", + "display_args": [ + "--golang-cgo-cxx-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANG_CGO_CXX_FLAGS", "fromfile": false, - "help": "Additional environment variables that would be made available to all Helm processes or during value interpolation.", + "help": "Compiler options used when compiling C++ code when Cgo is enabled. Equivalent to setting the CGO_CXXFLAGS environment variable when invoking `go`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-extra-env-vars"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-cgo-cxx-flags" + ], + "target_field_name": "golang_cgo_cxx_flags", "typ": "list", - "unscoped_cmd_line_args": ["--extra-env-vars"], + "unscoped_cmd_line_args": [ + "--cgo-cxx-flags" + ], "value_history": { "ranked_values": [ { @@ -8623,156 +9787,166 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "-g", + "-O2" + ] } ] } }, - "PANTS_HELM_K8S_PARSER_INSTALL_FROM_RESOLVE": { + "PANTS_GOLANG_CGO_C_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-k8s-parser-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--golang-cgo-c-flags=\"['', '', ...]\"", + "config_key": "cgo_c_flags", + "default": [ + "-g", + "-O2" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-k8s-parser-install-from-resolve="], - "env_var": "PANTS_HELM_K8S_PARSER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--golang-cgo-c-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANG_CGO_C_FLAGS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Compiler options used when compiling C code when Cgo is enabled. Equivalent to setting the CGO_CFLAGS environment variable when invoking `go`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-k8s-parser-install-from-resolve"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "scoped_cmd_line_args": [ + "--golang-cgo-c-flags" + ], + "target_field_name": "golang_cgo_c_flags", + "typ": "list", + "unscoped_cmd_line_args": [ + "--cgo-c-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "-g", + "-O2" + ] } ] } }, - "PANTS_HELM_K8S_PARSER_INTERPRETER_CONSTRAINTS": { + "PANTS_GOLANG_CGO_ENABLED": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<3.10"], + "comma_separated_display_args": "--[no-]golang-cgo-enabled", + "config_key": "cgo_enabled", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"" + "--[no-]golang-cgo-enabled" ], - "env_var": "PANTS_HELM_K8S_PARSER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_GOLANG_CGO_ENABLED", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Enable Cgo support, which allows Go and C code to interact. This option must be enabled for any packages making use of Cgo to actually be compiled with Cgo support.\n\nSee https://go.dev/blog/cgo and https://pkg.go.dev/cmd/cgo for additional information about Cgo.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-k8s-parser-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--golang-cgo-enabled", + "--no-golang-cgo-enabled" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--cgo-enabled", + "--no-cgo-enabled" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<3.10"] + "value": true } ] } }, - "PANTS_HELM_K8S_PARSER_REQUIREMENTS": { + "PANTS_GOLANG_CGO_FORTRAN_BINARY_NAME": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-k8s-parser-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--golang-cgo-fortran-binary-name=", + "config_key": "cgo_fortran_binary_name", + "default": "gfortran", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-k8s-parser-requirements=\"['', '', ...]\"" + "--golang-cgo-fortran-binary-name=" ], - "env_var": "PANTS_HELM_K8S_PARSER_REQUIREMENTS", + "env_var": "PANTS_GOLANG_CGO_FORTRAN_BINARY_NAME", "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": "Name of the tool to use to compile fortran code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-k8s-parser-requirements"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "scoped_cmd_line_args": [ + "--golang-cgo-fortran-binary-name" + ], + "target_field_name": "golang_cgo_fortran_binary_name", + "typ": "str", + "unscoped_cmd_line_args": [ + "--cgo-fortran-binary-name" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "gfortran" } ] } }, - "PANTS_HELM_KNOWN_VERSIONS": { + "PANTS_GOLANG_CGO_FORTRAN_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", + "comma_separated_display_args": "--golang-cgo-fortran-flags=\"['', '', ...]\"", + "config_key": "cgo_fortran_flags", "default": [ - "3.12.3|linux_arm64|79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088|14355040", - "3.12.3|linux_x86_64|1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5|16028423", - "3.12.3|macos_arm64|240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1|16019570", - "3.12.3|macos_x86_64|1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47|16828211", - "3.12.2|linux_arm64|cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759|14350624", - "3.12.2|linux_x86_64|2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219|16028750", - "3.12.2|macos_arm64|b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55|16021202", - "3.12.2|macos_x86_64|6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e|16824814", - "3.11.3|linux_arm64|0816db0efd033c78c3cc1c37506967947b01965b9c0739fe13ec2b1eea08f601|14475471", - "3.11.3|linux_x86_64|ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89|15489735", - "3.11.3|macos_arm64|267e4d50b68e8854b9cc44517da9ab2f47dec39787fed9f7eba42080d61ac7f8|15451086", - "3.11.3|macos_x86_64|9d029df37664b50e427442a600e4e065fa75fd74dac996c831ac68359654b2c4|16275303", - "3.11.2|linux_arm64|444b65100e224beee0a3a3a54cb19dad37388fa9217ab2782ba63551c4a2e128|14090242", - "3.11.2|linux_x86_64|781d826daec584f9d50a01f0f7dadfd25a3312217a14aa2fbb85107b014ac8ca|15026301", - "3.11.2|macos_arm64|f61a3aa55827de2d8c64a2063fd744b618b443ed063871b79f52069e90813151|14932800", - "3.11.2|macos_x86_64|404938fd2c6eff9e0dab830b0db943fca9e1572cd3d7ee40904705760faa390f|15759988", - "3.11.1|linux_arm64 |919173e8fb7a3b54d76af9feb92e49e86d5a80c5185020bae8c393fa0f0de1e8|13484900", - "3.11.1|linux_x86_64|0b1be96b66fab4770526f136f5f1a385a47c41923d33aab0dcb500e0f6c1bf7c|15023104", - "3.11.1|macos_arm64 |43d0198a7a2ea2639caafa81bb0596c97bee2d4e40df50b36202343eb4d5c46b|14934852", - "3.11.1|macos_x86_64|2548a90e5cc957ccc5016b47060665a9d2cd4d5b4d61dcc32f5de3144d103826|15757902", - "3.10.0|linux_arm64 |3b72f5f8a60772fb156d0a4ab93272e8da7ef4d18e6421a7020d7c019f521fc1|13055719", - "3.10.0|linux_x86_64|bf56beb418bb529b5e0d6d43d56654c5a03f89c98400b409d1013a33d9586474|14530566", - "3.10.0|macos_arm64 |f7f6558ebc8211824032a7fdcf0d55ad064cb33ec1eeec3d18057b9fe2e04dbe|14446277", - "3.10.0|macos_x86_64|1e7fd528482ac2ef2d79fe300724b3e07ff6f846a2a9b0b0fe6f5fa05691786b|15237557", - "3.8.0|linux_arm64 |23e08035dc0106fe4e0bd85800fd795b2b9ecd9f32187aa16c49b0a917105161|12324642", - "3.8.0|linux_x86_64|8408c91e846c5b9ba15eb6b1a5a79fc22dd4d33ac6ea63388e5698d1b2320c8b|13626774", - "3.8.0|macos_arm64 |751348f1a4a876ffe089fd68df6aea310fd05fe3b163ab76aa62632e327122f3|14078604", - "3.8.0|macos_x86_64|532ddd6213891084873e5c2dcafa577f425ca662a6594a3389e288fc48dc2089|14318316" + "-g", + "-O2" ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_HELM_KNOWN_VERSIONS", + "display_args": [ + "--golang-cgo-fortran-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANG_CGO_FORTRAN_FLAGS", "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", + "help": "Compiler options used when compiling Fortran code when Cgo is enabled. Equivalent to setting the CGO_FFLAGS environment variable when invoking `go`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-known-versions"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-cgo-fortran-flags" + ], + "target_field_name": "golang_cgo_fortran_flags", "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--cgo-fortran-flags" + ], "value_history": { "ranked_values": [ { @@ -8784,57 +9958,37 @@ "details": "", "rank": "HARDCODED", "value": [ - "3.12.3|linux_arm64|79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088|14355040", - "3.12.3|linux_x86_64|1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5|16028423", - "3.12.3|macos_arm64|240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1|16019570", - "3.12.3|macos_x86_64|1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47|16828211", - "3.12.2|linux_arm64|cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759|14350624", - "3.12.2|linux_x86_64|2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219|16028750", - "3.12.2|macos_arm64|b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55|16021202", - "3.12.2|macos_x86_64|6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e|16824814", - "3.11.3|linux_arm64|0816db0efd033c78c3cc1c37506967947b01965b9c0739fe13ec2b1eea08f601|14475471", - "3.11.3|linux_x86_64|ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89|15489735", - "3.11.3|macos_arm64|267e4d50b68e8854b9cc44517da9ab2f47dec39787fed9f7eba42080d61ac7f8|15451086", - "3.11.3|macos_x86_64|9d029df37664b50e427442a600e4e065fa75fd74dac996c831ac68359654b2c4|16275303", - "3.11.2|linux_arm64|444b65100e224beee0a3a3a54cb19dad37388fa9217ab2782ba63551c4a2e128|14090242", - "3.11.2|linux_x86_64|781d826daec584f9d50a01f0f7dadfd25a3312217a14aa2fbb85107b014ac8ca|15026301", - "3.11.2|macos_arm64|f61a3aa55827de2d8c64a2063fd744b618b443ed063871b79f52069e90813151|14932800", - "3.11.2|macos_x86_64|404938fd2c6eff9e0dab830b0db943fca9e1572cd3d7ee40904705760faa390f|15759988", - "3.11.1|linux_arm64 |919173e8fb7a3b54d76af9feb92e49e86d5a80c5185020bae8c393fa0f0de1e8|13484900", - "3.11.1|linux_x86_64|0b1be96b66fab4770526f136f5f1a385a47c41923d33aab0dcb500e0f6c1bf7c|15023104", - "3.11.1|macos_arm64 |43d0198a7a2ea2639caafa81bb0596c97bee2d4e40df50b36202343eb4d5c46b|14934852", - "3.11.1|macos_x86_64|2548a90e5cc957ccc5016b47060665a9d2cd4d5b4d61dcc32f5de3144d103826|15757902", - "3.10.0|linux_arm64 |3b72f5f8a60772fb156d0a4ab93272e8da7ef4d18e6421a7020d7c019f521fc1|13055719", - "3.10.0|linux_x86_64|bf56beb418bb529b5e0d6d43d56654c5a03f89c98400b409d1013a33d9586474|14530566", - "3.10.0|macos_arm64 |f7f6558ebc8211824032a7fdcf0d55ad064cb33ec1eeec3d18057b9fe2e04dbe|14446277", - "3.10.0|macos_x86_64|1e7fd528482ac2ef2d79fe300724b3e07ff6f846a2a9b0b0fe6f5fa05691786b|15237557", - "3.8.0|linux_arm64 |23e08035dc0106fe4e0bd85800fd795b2b9ecd9f32187aa16c49b0a917105161|12324642", - "3.8.0|linux_x86_64|8408c91e846c5b9ba15eb6b1a5a79fc22dd4d33ac6ea63388e5698d1b2320c8b|13626774", - "3.8.0|macos_arm64 |751348f1a4a876ffe089fd68df6aea310fd05fe3b163ab76aa62632e327122f3|14078604", - "3.8.0|macos_x86_64|532ddd6213891084873e5c2dcafa577f425ca662a6594a3389e288fc48dc2089|14318316" + "-g", + "-O2" ] } ] } }, - "PANTS_HELM_LINT_STRICT": { + "PANTS_GOLANG_CGO_GCC_BINARY_NAME": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-lint-strict", - "config_key": "lint_strict", - "default": false, + "comma_separated_display_args": "--golang-cgo-gcc-binary-name=", + "config_key": "cgo_gcc_binary_name", + "default": "gcc", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]helm-lint-strict"], - "env_var": "PANTS_HELM_LINT_STRICT", + "display_args": [ + "--golang-cgo-gcc-binary-name=" + ], + "env_var": "PANTS_GOLANG_CGO_GCC_BINARY_NAME", "fromfile": false, - "help": "Enables strict linting of Helm charts", + "help": "Name of the tool to use to compile C code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-lint-strict", "--no-helm-lint-strict"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--lint-strict", "--no-lint-strict"], + "scoped_cmd_line_args": [ + "--golang-cgo-gcc-binary-name" + ], + "target_field_name": "golang_cgo_gcc_binary_name", + "typ": "str", + "unscoped_cmd_line_args": [ + "--cgo-gcc-binary-name" + ], "value_history": { "ranked_values": [ { @@ -8845,59 +9999,77 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "gcc" } ] } }, - "PANTS_HELM_POST_RENDERER_INSTALL_FROM_RESOLVE": { + "PANTS_GOLANG_CGO_GXX_BINARY_NAME": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-post-renderer-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--golang-cgo-gxx-binary-name=", + "config_key": "cgo_gxx_binary_name", + "default": "g++", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-post-renderer-install-from-resolve="], - "env_var": "PANTS_HELM_POST_RENDERER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--golang-cgo-gxx-binary-name=" + ], + "env_var": "PANTS_GOLANG_CGO_GXX_BINARY_NAME", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Name of the tool to use to compile C++ code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-post-renderer-install-from-resolve"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-cgo-gxx-binary-name" + ], + "target_field_name": "golang_cgo_gxx_binary_name", "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--cgo-gxx-binary-name" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "g++" } ] } }, - "PANTS_HELM_POST_RENDERER_INTERPRETER_CONSTRAINTS": { + "PANTS_GOLANG_CGO_LINKER_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<3.10"], + "comma_separated_display_args": "--golang-cgo-linker-flags=\"['', '', ...]\"", + "config_key": "cgo_linker_flags", + "default": [ + "-g", + "-O2" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"" + "--golang-cgo-linker-flags=\"['', '', ...]\"" ], - "env_var": "PANTS_HELM_POST_RENDERER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_GOLANG_CGO_LINKER_FLAGS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Compiler options used when linking native code when Cgo is enabled. Equivalent to setting the CGO_LDFLAGS environment variable when invoking `go`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-post-renderer-interpreter-constraints"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-cgo-linker-flags" + ], + "target_field_name": "golang_cgo_linker_flags", "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--cgo-linker-flags" + ], "value_history": { "ranked_values": [ { @@ -8908,31 +10080,40 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<3.10"] + "value": [ + "-g", + "-O2" + ] } ] } }, - "PANTS_HELM_POST_RENDERER_REQUIREMENTS": { + "PANTS_GOLANG_CGO_TOOL_SEARCH_PATHS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-post-renderer-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--golang-cgo-tool-search-paths=\"['', '', ...]\"", + "config_key": "cgo_tool_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-post-renderer-requirements=\"['', '', ...]\"" + "--golang-cgo-tool-search-paths=\"['', '', ...]\"" ], - "env_var": "PANTS_HELM_POST_RENDERER_REQUIREMENTS", + "env_var": "PANTS_GOLANG_CGO_TOOL_SEARCH_PATHS", "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": "A list of paths to search for tools needed by CGo (e.g., gcc, g++).\n\nSpecify absolute paths to directories with tools needed by CGo , 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", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-post-renderer-requirements"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-cgo-tool-search-paths" + ], + "target_field_name": "golang_cgo_tool_search_paths", "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--cgo-tool-search-paths" + ], "value_history": { "ranked_values": [ { @@ -8943,67 +10124,37 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "" + ] } ] } }, - "PANTS_HELM_REGISTRIES": { + "PANTS_GOLANG_EXTERNAL_LINKER_BINARY_NAME": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-registries=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "registries", - "default": {}, + "comma_separated_display_args": "--golang-external-linker-binary-name=", + "config_key": "external_linker_binary_name", + "default": "gcc", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-registries=\"{'key1': val1, 'key2': val2, ...}\"" + "--golang-external-linker-binary-name=" ], - "env_var": "PANTS_HELM_REGISTRIES", - "fromfile": true, - "help": "Configure Helm OCI registries. The schema for a registry entry is as follows:\n\n {\n \"registry-alias\": {\n \"address\": \"oci://registry-domain:port\",\n \"default\": bool,\n },\n ...\n }\n\nIf no registries are provided in either a `helm_chart` target, then all default addresses will be used, if any.\n\nThe `helm_chart.registries` may be provided with a list of registry addresses and registry alias prefixed with `@` to be used instead of the defaults.\n\nA configured registry is marked as default either by setting `default = true` or with an alias of `\"default\"`.\n\nRegistries also participate in resolving third party Helm charts uplodaded to those registries.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--helm-registries"], - "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--registries"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": {} - } - ] - } - }, - "PANTS_HELM_TAILOR_CHARTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-tailor-charts", - "config_key": "tailor_charts", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]helm-tailor-charts"], - "env_var": "PANTS_HELM_TAILOR_CHARTS", + "env_var": "PANTS_GOLANG_EXTERNAL_LINKER_BINARY_NAME", "fromfile": false, - "help": "If true, add `helm_chart` targets with the `tailor` goal.", + "help": "Name of the tool to use as the \"external linker\" when invoking `go tool link`. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-tailor-charts", - "--no-helm-tailor-charts" + "--golang-external-linker-binary-name" + ], + "target_field_name": "golang_external_linker_binary_name", + "typ": "str", + "unscoped_cmd_line_args": [ + "--external-linker-binary-name" ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor-charts", "--no-tailor-charts"], "value_history": { "ranked_values": [ { @@ -9014,68 +10165,78 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "gcc" } ] } }, - "PANTS_HELM_TAILOR_UNITTESTS": { + "PANTS_GOLANG_GO_SEARCH_PATHS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-tailor-unittests", - "config_key": "tailor_unittests", - "default": true, + "comma_separated_display_args": "--golang-go-search-paths=\"['', '', ...]\"", + "config_key": "go_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]helm-tailor-unittests"], - "env_var": "PANTS_HELM_TAILOR_UNITTESTS", + "display_args": [ + "--golang-go-search-paths=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANG_GO_SEARCH_PATHS", "fromfile": false, - "help": "If true, add `helm_unittest_tests` targets with the `tailor` goal.", + "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`", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-tailor-unittests", - "--no-helm-tailor-unittests" + "--golang-go-search-paths" + ], + "target_field_name": "golang_go_search_paths", + "typ": "list", + "unscoped_cmd_line_args": [ + "--go-search-paths" ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor-unittests", "--no-tailor-unittests"], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "" + ] } ] } }, - "PANTS_HELM_UNITTEST_COLOR": { + "PANTS_GOLANG_MINIMUM_EXPECTED_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-unittest-color", - "config_key": "color", - "default": false, + "comma_separated_display_args": "--golang-minimum-expected-version=", + "config_key": "minimum_expected_version", + "default": "1.17", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]helm-unittest-color"], - "env_var": "PANTS_HELM_UNITTEST_COLOR", + "display_args": [ + "--golang-minimum-expected-version=" + ], + "env_var": "PANTS_GOLANG_MINIMUM_EXPECTED_VERSION", "fromfile": false, - "help": "Enforce printing colored output even if stdout is not a tty.", + "help": "The minimum Go version the distribution discovered by Pants must support.\n\nFor example, if you set `'1.17'`, then Pants will look for a Go binary that is 1.17+, e.g. 1.17 or 1.18.\n\nYou should still set the Go version for each module in your `go.mod` with the `go` directive.\n\nDo not include the patch version.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-unittest-color", - "--no-helm-unittest-color" + "--golang-minimum-expected-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--color", "--no-color"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--minimum-expected-version" + ], "value_history": { "ranked_values": [ { @@ -9086,40 +10247,40 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "1.17" } ] } }, - "PANTS_HELM_UNITTEST_KNOWN_VERSIONS": { + "PANTS_GOLANG_SUBPROCESS_ENV_VARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-unittest-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", + "comma_separated_display_args": "--golang-subprocess-env-vars=\"['', '', ...]\"", + "config_key": "subprocess_env_vars", "default": [ - "0.3.3|linux_x86_64|8ebe20f77012a5d4e7139760cabe36dd1ea38e40b26f57de3f4165d96bd486ff|21685365", - "0.3.3|linux_arm64 |7f5e4426428cb9678f971576103df410e6fa38dd19b87fce4729f5217bd5c683|19944514", - "0.3.3|macos_x86_64|b2298a513b3cb6482ba2e42079c93ad18be8a31a230bd4dffdeb01ec2881d0f5|21497144", - "0.3.3|macos_arm64 |2365f5b3a99e6fc83218457046378b14039a3992e9ae96a4192bc2e43a33c742|20479438", - "0.2.8|linux_x86_64|d7c452559ad4406a1197435394fbcffe51198060de1aa9b4cb6feaf876776ba0|18299096", - "0.2.8|linux_arm64 |c793e241b063f0540ad9b4acc0a02e5a101bd9daea5bdf4d8562e9b2337fedb2|16943867", - "0.2.8|macos_x86_64|1dc95699320894bdebf055c4f4cc084c2cfa0133d3cb7fd6a4c0adca94df5c96|18161928", - "0.2.8|macos_arm64 |436e3167c26f71258b96e32c2877b4f97c051064db941de097cf3db2fc861342|17621648" + "LANG", + "LC_CTYPE", + "LC_ALL", + "PATH" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-unittest-known-versions=\"['', '', ...]\"" + "--golang-subprocess-env-vars=\"['', '', ...]\"" ], - "env_var": "PANTS_HELM_UNITTEST_KNOWN_VERSIONS", + "env_var": "PANTS_GOLANG_SUBPROCESS_ENV_VARS", "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", + "help": "Environment variables to set when invoking the `go` tool. 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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-known-versions"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-subprocess-env-vars" + ], + "target_field_name": "golang_subprocess_env_vars", "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--subprocess-env-vars" + ], "value_history": { "ranked_values": [ { @@ -9131,39 +10292,41 @@ "details": "", "rank": "HARDCODED", "value": [ - "0.3.3|linux_x86_64|8ebe20f77012a5d4e7139760cabe36dd1ea38e40b26f57de3f4165d96bd486ff|21685365", - "0.3.3|linux_arm64 |7f5e4426428cb9678f971576103df410e6fa38dd19b87fce4729f5217bd5c683|19944514", - "0.3.3|macos_x86_64|b2298a513b3cb6482ba2e42079c93ad18be8a31a230bd4dffdeb01ec2881d0f5|21497144", - "0.3.3|macos_arm64 |2365f5b3a99e6fc83218457046378b14039a3992e9ae96a4192bc2e43a33c742|20479438", - "0.2.8|linux_x86_64|d7c452559ad4406a1197435394fbcffe51198060de1aa9b4cb6feaf876776ba0|18299096", - "0.2.8|linux_arm64 |c793e241b063f0540ad9b4acc0a02e5a101bd9daea5bdf4d8562e9b2337fedb2|16943867", - "0.2.8|macos_x86_64|1dc95699320894bdebf055c4f4cc084c2cfa0133d3cb7fd6a4c0adca94df5c96|18161928", - "0.2.8|macos_arm64 |436e3167c26f71258b96e32c2877b4f97c051064db941de097cf3db2fc861342|17621648" + "LANG", + "LC_CTYPE", + "LC_ALL", + "PATH" ] } ] } }, - "PANTS_HELM_UNITTEST_OUTPUT_TYPE": { - "choices": ["XUnit", "NUnit", "JUnit"], - "comma_separated_choices": "XUnit, NUnit, JUnit", - "comma_separated_display_args": "--helm-unittest-output-type=", - "config_key": "output_type", - "default": "XUnit", + "PANTS_GOLANG_TAILOR_BINARY_TARGETS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]golang-tailor-binary-targets", + "config_key": "tailor_binary_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-unittest-output-type=" + "--[no-]golang-tailor-binary-targets" ], - "env_var": "PANTS_HELM_UNITTEST_OUTPUT_TYPE", + "env_var": "PANTS_GOLANG_TAILOR_BINARY_TARGETS", "fromfile": false, - "help": "Output type used for the test report.", + "help": "If true, add a `go_binary` target with the `tailor` goal in every directory with a `.go` file with `package main`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-output-type"], + "scoped_cmd_line_args": [ + "--golang-tailor-binary-targets", + "--no-golang-tailor-binary-targets" + ], "target_field_name": null, - "typ": "HelmUnitTestReportFormat", - "unscoped_cmd_line_args": ["--output-type"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-binary-targets", + "--no-tailor-binary-targets" + ], "value_history": { "ranked_values": [ { @@ -9174,32 +10337,37 @@ { "details": null, "rank": "HARDCODED", - "value": "XUnit" + "value": true } ] } }, - "PANTS_HELM_UNITTEST_SKIP": { + "PANTS_GOLANG_TAILOR_GO_MOD_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-unittest-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--[no-]golang-tailor-go-mod-targets", + "config_key": "tailor_go_mod_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]helm-unittest-skip"], - "env_var": "PANTS_HELM_UNITTEST_SKIP", + "display_args": [ + "--[no-]golang-tailor-go-mod-targets" + ], + "env_var": "PANTS_GOLANG_TAILOR_GO_MOD_TARGETS", "fromfile": false, - "help": "If true, don't use helmunittestsubsystem when running `pants test`.", + "help": "If true, add a `go_mod` target with the `tailor` goal wherever there is a `go.mod` file.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-unittest-skip", - "--no-helm-unittest-skip" + "--golang-tailor-go-mod-targets", + "--no-golang-tailor-go-mod-targets" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--tailor-go-mod-targets", + "--no-tailor-go-mod-targets" + ], "value_history": { "ranked_values": [ { @@ -9210,74 +10378,78 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_HELM_UNITTEST_URL_PLATFORM_MAPPING": { + "PANTS_GOLANG_TAILOR_PACKAGE_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-unittest-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-amd64", - "macos_arm64": "macos-arm64", - "macos_x86_64": "macos-amd64" - }, + "comma_separated_display_args": "--[no-]golang-tailor-package-targets", + "config_key": "tailor_package_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-unittest-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]golang-tailor-package-targets" ], - "env_var": "PANTS_HELM_UNITTEST_URL_PLATFORM_MAPPING", + "env_var": "PANTS_GOLANG_TAILOR_PACKAGE_TARGETS", "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`.", + "help": "If true, add a `go_package` target with the `tailor` goal in every directory with a `.go` file.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--golang-tailor-package-targets", + "--no-golang-tailor-package-targets" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-package-targets", + "--no-tailor-package-targets" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-amd64", - "macos_arm64": "macos-arm64", - "macos_x86_64": "macos-amd64" - } + "value": true } ] } }, - "PANTS_HELM_UNITTEST_URL_TEMPLATE": { + "PANTS_GOOGLE_JAVA_FORMAT_AOSP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-unittest-url-template=", - "config_key": "url_template", - "default": "https://github.com/helm-unittest/helm-unittest/releases/download/v{version}/helm-unittest-{platform}-{version}.tgz", + "comma_separated_display_args": "--[no-]google-java-format-aosp", + "config_key": "aosp", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-unittest-url-template="], - "env_var": "PANTS_HELM_UNITTEST_URL_TEMPLATE", + "display_args": [ + "--[no-]google-java-format-aosp" + ], + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_AOSP", "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/v2.19/docs/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": "Use AOSP style instead of Google Style (4-space indentation). (\"AOSP\" is the Android Open Source Project.)", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-url-template"], + "scoped_cmd_line_args": [ + "--google-java-format-aosp", + "--no-google-java-format-aosp" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--aosp", + "--no-aosp" + ], "value_history": { "ranked_values": [ { @@ -9288,142 +10460,158 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/helm-unittest/helm-unittest/releases/download/v{version}/helm-unittest-{platform}-{version}.tgz" + "value": false } ] } }, - "PANTS_HELM_UNITTEST_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--helm-unittest-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_GOOGLE_JAVA_FORMAT_ARTIFACTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--google-java-format-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.google.googlejavaformat:google-java-format:{version}" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-unittest-use-unsupported-version=" + "--google-java-format-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_HELM_UNITTEST_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_ARTIFACTS", "fromfile": false, - "help": "\nWhat action to take in case the requested version of helmunittestsubsystem is not supported.\n\nSupported helmunittestsubsystem versions: unspecified\n", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[google-java-format].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--google-java-format-artifacts" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": [ + "com.google.googlejavaformat:google-java-format:{version}" + ] } ] } }, - "PANTS_HELM_UNITTEST_VERSION": { + "PANTS_GOOGLE_JAVA_FORMAT_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-unittest-version=", - "config_key": "version", - "default": "0.3.3", + "comma_separated_display_args": "--google-java-format-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-unittest-version="], - "env_var": "PANTS_HELM_UNITTEST_VERSION", + "display_args": [ + "--google-java-format-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_JVM_OPTIONS", "fromfile": false, - "help": "Use this version of helmunittestsubsystem.", + "help": "List of JVM options to pass to `google-java-format` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-version"], + "scoped_cmd_line_args": [ + "--google-java-format-jvm-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "0.3.3" + "value": [] } ] } }, - "PANTS_HELM_URL_PLATFORM_MAPPING": { + "PANTS_GOOGLE_JAVA_FORMAT_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-amd64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-amd64" - }, + "comma_separated_display_args": "--google-java-format-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--google-java-format-lockfile=" ], - "env_var": "PANTS_HELM_URL_PLATFORM_MAPPING", + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_LOCKFILE", "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`.", + "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.19.0rc5/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": ["--helm-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--google-java-format-lockfile" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-amd64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-amd64" - } + "value": "" } ] } }, - "PANTS_HELM_URL_TEMPLATE": { + "PANTS_GOOGLE_JAVA_FORMAT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-url-template=", - "config_key": "url_template", - "default": "https://get.helm.sh/helm-v{version}-{platform}.tar.gz", + "comma_separated_display_args": "--[no-]google-java-format-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-url-template="], - "env_var": "PANTS_HELM_URL_TEMPLATE", + "display_args": [ + "--[no-]google-java-format-skip" + ], + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_SKIP", "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/v2.19/docs/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": "If true, don't use Google Java Format when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-url-template"], + "scoped_cmd_line_args": [ + "--google-java-format-skip", + "--no-google-java-format-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -9434,31 +10622,35 @@ { "details": null, "rank": "HARDCODED", - "value": "https://get.helm.sh/helm-v{version}-{platform}.tar.gz" + "value": false } ] } }, - "PANTS_HELM_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--helm-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_GOOGLE_JAVA_FORMAT_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--google-java-format-version=", + "config_key": "version", + "default": "1.13.0", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-use-unsupported-version=" + "--google-java-format-version=" ], - "env_var": "PANTS_HELM_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_VERSION", "fromfile": false, - "help": "\nWhat action to take in case the requested version of helmsubsystem is not supported.\n\nSupported helmsubsystem versions: unspecified\n", + "help": "Version string for the tool. This is available for substitution in the `[google-java-format].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--google-java-format-version" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -9469,62 +10661,85 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": "1.13.0" } ] } }, - "PANTS_HELM_VERSION": { + "PANTS_GO_GENERATE_ENV_VARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-version=", - "config_key": "version", - "default": "3.12.3", + "comma_separated_display_args": "--go-generate-env-vars=\"['', '', ...]\"", + "config_key": "env_vars", + "default": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "PATH" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-version="], - "env_var": "PANTS_HELM_VERSION", + "display_args": [ + "--go-generate-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_GO_GENERATE_ENV_VARS", "fromfile": false, - "help": "Use this version of helmsubsystem.", + "help": "Environment variables to set when invoking generator programs. 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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-version"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "scoped_cmd_line_args": [ + "--go-generate-env-vars" + ], + "target_field_name": "go_generate_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--env-vars" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "3.12.3" + "value": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "PATH" + ] } ] } }, - "PANTS_IGNORE": { + "PANTS_GO_TEST_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-ignore=\"['', '', ...]\"", - "config_key": "pants_ignore", - "default": [".*/", "/dist/", "__pycache__", "!.semgrep/"], + "comma_separated_display_args": "--go-test-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-ignore=\"['', '', ...]\""], - "env_var": "PANTS_IGNORE", + "display_args": [ + "--go-test-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_GO_TEST_ARGS", "fromfile": false, - "help": "Paths to ignore for all filesystem operations performed by pants (e.g. BUILD file scanning, glob matching, etc).\n\nPatterns use the gitignore syntax (https://git-scm.com/docs/gitignore). The `pants_distdir` and `pants_workdir` locations are automatically ignored.\n\n`pants_ignore` can be used in tandem with `pants_ignore_use_gitignore`; any rules specified here are applied after rules specified in a .gitignore file.", + "help": "Arguments to pass directly to Go test binary, e.g. `--go-test-args='-run TestFoo -v'`.\n\nKnown Go test options will be transformed into the form expected by the test binary, e.g. `-v` becomes `-test.v`. Run `go help testflag` from the Go SDK to learn more about the options supported by Go test binaries.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-ignore"], + "scoped_cmd_line_args": [ + "--go-test-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--pants-ignore"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -9535,34 +10750,36 @@ { "details": "", "rank": "HARDCODED", - "value": [".*/", "/dist/", "__pycache__", "!.semgrep/"] + "value": [] } ] } }, - "PANTS_IGNORE_USE_GITIGNORE": { + "PANTS_GO_TEST_BLOCK_PROFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pants-ignore-use-gitignore", - "config_key": "pants_ignore_use_gitignore", - "default": true, + "comma_separated_display_args": "--[no-]go-test-block-profile", + "config_key": "block_profile", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pants-ignore-use-gitignore"], - "env_var": "PANTS_IGNORE_USE_GITIGNORE", + "display_args": [ + "--[no-]go-test-block-profile" + ], + "env_var": "PANTS_GO_TEST_BLOCK_PROFILE", "fromfile": false, - "help": "Include patterns from `.gitignore`, `.git/info/exclude`, and the global gitignore files in the option `[GLOBAL].pants_ignore`, which is used for Pants to ignore filesystem operations on those patterns.\n\nPatterns from `[GLOBAL].pants_ignore` take precedence over these files' rules. For example, you can use `!my_pattern` in `pants_ignore` to have Pants operate on files that are gitignored.\n\nWarning: this does not yet support reading nested gitignore files.", + "help": "Capture a goroutine blocking profile from the execution of the test runner. The profile will be written to the file `block.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pants-ignore-use-gitignore", - "--no-pants-ignore-use-gitignore" + "--go-test-block-profile", + "--no-go-test-block-profile" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--pants-ignore-use-gitignore", - "--no-pants-ignore-use-gitignore" + "--block-profile", + "--no-block-profile" ], "value_history": { "ranked_values": [ @@ -9574,62 +10791,76 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_IGNORE_WARNINGS": { + "PANTS_GO_TEST_COVERAGE_HTML": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ignore-warnings=\"['', '', ...]\"", - "config_key": "ignore_warnings", - "default": [], + "comma_separated_display_args": "--[no-]go-test-coverage-html", + "config_key": "coverage_html", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ignore-warnings=\"['', '', ...]\""], - "env_var": "PANTS_IGNORE_WARNINGS", + "display_args": [ + "--[no-]go-test-coverage-html" + ], + "env_var": "PANTS_GO_TEST_COVERAGE_HTML", "fromfile": false, - "help": "Ignore logs and warnings matching these strings.\n\nNormally, Pants will look for literal matches from the start of the log/warning message, but you can prefix the ignore with `$regex$` for Pants to instead treat your string as a regex pattern. For example:\n\n ignore_warnings = [\n \"DEPRECATED: option 'config' in scope 'flake8' will be removed\",\n '$regex$:No files\\s*'\n ]", + "help": "If true, then convert coverage reports to HTML format and write a `coverage.html` file next to the raw coverage data.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ignore-warnings"], + "scoped_cmd_line_args": [ + "--go-test-coverage-html", + "--no-go-test-coverage-html" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--ignore-warnings"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--coverage-html", + "--no-coverage-html" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } }, - "PANTS_IPYTHON_CONSOLE_SCRIPT": { + "PANTS_GO_TEST_COVERAGE_OUTPUT_DIR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ipython-console-script=", - "config_key": "console_script", - "default": "ipython", + "comma_separated_display_args": "--go-test-coverage-output-dir=", + "config_key": "coverage_output_dir", + "default": "{distdir}/coverage/go/{target_spec}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ipython-console-script="], - "env_var": "PANTS_IPYTHON_CONSOLE_SCRIPT", + "display_args": [ + "--go-test-coverage-output-dir=" + ], + "env_var": "PANTS_GO_TEST_COVERAGE_OUTPUT_DIR", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Path to write the Go coverage reports to. Must be relative to the build root.\n\nReplacements:\n\n - `{distdir}` is replaced with the Pants `distdir`.\n - `{target_spec}` is replaced with the address of the applicable `go_package` target with `/`\n characters replaced with dots (`.`).\n - `{import_path}` is replaced with the applicable package's import path. Subdirectories will be made\n for any path components separated by `/` characters.\n - `{import_path_escaped}` is replaced with the applicable package's import path but with\n slashes converted to underscores. This is deprecated and only exists to support behavior from\n earlier versions.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ipython-console-script"], + "scoped_cmd_line_args": [ + "--go-test-coverage-output-dir" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--coverage-output-dir" + ], "value_history": { "ranked_values": [ { @@ -9640,60 +10871,78 @@ { "details": null, "rank": "HARDCODED", - "value": "ipython" + "value": "{distdir}/coverage/go/{target_spec}" } ] } }, - "PANTS_IPYTHON_ENTRY_POINT": { + "PANTS_GO_TEST_COVERAGE_PACKAGES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ipython-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--go-test-coverage-packages=\"['', '', ...]\"", + "config_key": "coverage_packages", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ipython-entry-point="], - "env_var": "PANTS_IPYTHON_ENTRY_POINT", + "display_args": [ + "--go-test-coverage-packages=\"['', '', ...]\"" + ], + "env_var": "PANTS_GO_TEST_COVERAGE_PACKAGES", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "A list of \"import path patterns\" for determining which import paths will be instrumented for code coverage.\n\nFrom `go help packages`:\n\nAn import path is a pattern if it includes one or more \"...\" wildcards, each of which can match any string, including the empty string and strings containing slashes. Such a pattern expands to all package directories found in the GOPATH trees with names matching the patterns.\n\nTo make common patterns more convenient, there are two special cases. First, /... at the end of the pattern can match an empty string, so that net/... matches both net and packages in its subdirectories, like net/http. Second, any slash-separated pattern element containing a wildcard never participates in a match of the \"vendor\" element in the path of a vendored package, so that ./... does not match packages in subdirectories of ./vendor or ./mycode/vendor, but ./vendor/... and ./mycode/vendor/... do. Note, however, that a directory named vendor that itself contains code is not a vendored package: cmd/vendor would be a command named vendor, and the pattern cmd/... matches it. See golang.org/s/go15vendor for more about vendoring.\n\nThis option is similar to the `go test -coverpkg` option, but without support currently for reserved import path patterns like `std` and `all`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ipython-entry-point"], + "scoped_cmd_line_args": [ + "--go-test-coverage-packages" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--coverage-packages" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_IPYTHON_IGNORE_CWD": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]ipython-ignore-cwd", - "config_key": "ignore_cwd", - "default": true, + "PANTS_GO_TEST_COVER_MODE": { + "choices": [ + "set", + "count", + "atomic" + ], + "comma_separated_choices": "set, count, atomic", + "comma_separated_display_args": "--go-test-cover-mode=", + "config_key": "cover_mode", + "default": "set", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]ipython-ignore-cwd"], - "env_var": "PANTS_IPYTHON_IGNORE_CWD", + "display_args": [ + "--go-test-cover-mode=" + ], + "env_var": "PANTS_GO_TEST_COVER_MODE", "fromfile": false, - "help": "Whether to tell IPython not to put the CWD on the import path.\n\nNormally you want this to be True, so that imports come from the hermetic environment Pants creates.\n\nHowever IPython<7.13.0 doesn't support this option, so if you're using an earlier version (e.g., because you have Python 2.7 code) then you will need to set this to False, and you may have issues with imports from your CWD shading the hermetic environment.", + "help": "Coverage mode to use when running Go tests with coverage analysis enabled via `--test-use-coverage`. Valid values are `set`, `count`, and `atomic`:\n\n * `set`: bool: does this statement run?\n * `count`: int: how many times does this statement run?\n * `atomic`: int: count, but correct in multithreaded tests; significantly more expensive.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--ipython-ignore-cwd", - "--no-ipython-ignore-cwd" + "--go-test-cover-mode" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--ignore-cwd", "--no-ignore-cwd"], + "typ": "GoCoverMode", + "unscoped_cmd_line_args": [ + "--cover-mode" + ], "value_history": { "ranked_values": [ { @@ -9704,161 +10953,160 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "set" } ] } }, - "PANTS_IPYTHON_INSTALL_FROM_RESOLVE": { + "PANTS_GO_TEST_CPU_PROFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ipython-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]go-test-cpu-profile", + "config_key": "cpu_profile", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ipython-install-from-resolve="], - "env_var": "PANTS_IPYTHON_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]go-test-cpu-profile" + ], + "env_var": "PANTS_GO_TEST_CPU_PROFILE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Capture a CPU profile from the execution of the test runner. The profile will be written to the file `cpu.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ipython-install-from-resolve"], + "scoped_cmd_line_args": [ + "--go-test-cpu-profile", + "--no-go-test-cpu-profile" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--cpu-profile", + "--no-cpu-profile" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - } - ] - } - }, - "PANTS_IPYTHON_REQUIREMENTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--ipython-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--ipython-requirements=\"['', '', ...]\""], - "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.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--ipython-requirements"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, - "PANTS_ISORT_ARGS": { + "PANTS_GO_TEST_FORCE_ASAN": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]go-test-force-asan", + "config_key": "force_asan", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-args=\"[, , ...]\""], - "env_var": "PANTS_ISORT_ARGS", + "display_args": [ + "--[no-]go-test-force-asan" + ], + "env_var": "PANTS_GO_TEST_FORCE_ASAN", "fromfile": false, - "help": "Arguments to pass directly to isort, e.g. `--isort-args='--case-sensitive --trailing-comma'`.", + "help": "If true, then always enable interoperation between Go and the C/C++ \"address sanitizer\" when running tests regardless of the test-by-test `asan` field on the relevant `go_package` target.\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-args"], + "scoped_cmd_line_args": [ + "--go-test-force-asan", + "--no-go-test-force-asan" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force-asan", + "--no-force-asan" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, - "PANTS_ISORT_CONFIG": { + "PANTS_GO_TEST_FORCE_MSAN": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-config=\"[, , ...]\"", - "config_key": "config", - "default": [], + "comma_separated_display_args": "--[no-]go-test-force-msan", + "config_key": "force_msan", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--isort-config=\"[, , ...]\"" + "--[no-]go-test-force-msan" ], - "env_var": "PANTS_ISORT_CONFIG", + "env_var": "PANTS_GO_TEST_FORCE_MSAN", "fromfile": false, - "help": "Path to config file understood by isort (https://pycqa.github.io/isort/docs/configuration/config_files/).\n\nSetting this option will disable `[isort].config_discovery`. Use this option if the config is located in a non-standard location.\n\nIf using isort 5+ and you specify only 1 config file, Pants will configure isort's argv to point to your config file.", + "help": "If true, then always enable interoperation between Go and the C/C++ \"memory sanitizer\" when running tests regardless of the test-by-test `msan` field on the relevant `go_package` target.\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-config"], + "scoped_cmd_line_args": [ + "--go-test-force-msan", + "--no-go-test-force-msan" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--config"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force-msan", + "--no-force-msan" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, - "PANTS_ISORT_CONFIG_DISCOVERY": { + "PANTS_GO_TEST_FORCE_RACE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]isort-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]go-test-force-race", + "config_key": "force_race", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]isort-config-discovery"], - "env_var": "PANTS_ISORT_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]go-test-force-race" + ], + "env_var": "PANTS_GO_TEST_FORCE_RACE", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.isort.cfg`, `pyproject.toml`, `setup.cfg`, `tox.ini` and `.editorconfig`).\n\nUse `[isort].config` instead if your config is in a non-standard location.", + "help": "If true, then always enable the Go data race detector when running tests regardless of the test-by-test `test_race` field on the relevant `go_package` target.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--isort-config-discovery", - "--no-isort-config-discovery" + "--go-test-force-race", + "--no-go-test-force-race" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "unscoped_cmd_line_args": [ + "--force-race", + "--no-force-race" + ], "value_history": { "ranked_values": [ { @@ -9869,29 +11117,37 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_ISORT_CONSOLE_SCRIPT": { + "PANTS_GO_TEST_MEM_PROFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-console-script=", - "config_key": "console_script", - "default": "isort", + "comma_separated_display_args": "--[no-]go-test-mem-profile", + "config_key": "mem_profile", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-console-script="], - "env_var": "PANTS_ISORT_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]go-test-mem-profile" + ], + "env_var": "PANTS_GO_TEST_MEM_PROFILE", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Capture an allocation profile from the execution of the test runner after tests have passed. The profile will be written to the file `mem.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-console-script"], + "scoped_cmd_line_args": [ + "--go-test-mem-profile", + "--no-go-test-mem-profile" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--mem-profile", + "--no-mem-profile" + ], "value_history": { "ranked_values": [ { @@ -9902,153 +11158,201 @@ { "details": null, "rank": "HARDCODED", - "value": "isort" + "value": false } ] } }, - "PANTS_ISORT_ENTRY_POINT": { + "PANTS_GO_TEST_MUTEX_PROFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]go-test-mutex-profile", + "config_key": "mutex_profile", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-entry-point="], - "env_var": "PANTS_ISORT_ENTRY_POINT", + "display_args": [ + "--[no-]go-test-mutex-profile" + ], + "env_var": "PANTS_GO_TEST_MUTEX_PROFILE", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Capture a mutex contention profile from the execution of the test runner when all tests are complete. The profile will be written to the file `mutex.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-entry-point"], + "scoped_cmd_line_args": [ + "--go-test-mutex-profile", + "--no-go-test-mutex-profile" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--mutex-profile", + "--no-mutex-profile" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_ISORT_INSTALL_FROM_RESOLVE": { + "PANTS_GO_TEST_OUTPUT_TEST_BINARY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]go-test-output-test-binary", + "config_key": "output_test_binary", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-install-from-resolve="], - "env_var": "PANTS_ISORT_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]go-test-output-test-binary" + ], + "env_var": "PANTS_GO_TEST_OUTPUT_TEST_BINARY", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Write the test binary to the test extra output directory.\n\nThis is similar to the `go test -c` option, but will still run the underlying test.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-install-from-resolve"], + "scoped_cmd_line_args": [ + "--go-test-output-test-binary", + "--no-go-test-output-test-binary" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--output-test-binary", + "--no-output-test-binary" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_ISORT_INTERPRETER_CONSTRAINTS": { + "PANTS_GO_TEST_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]go-test-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--isort-interpreter-constraints=\"['', '', ...]\"" + "--[no-]go-test-skip" ], - "env_var": "PANTS_ISORT_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_GO_TEST_SKIP", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "If true, don't use Go test binary when running `pants test`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--go-test-skip", + "--no-go-test-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": false } ] } }, - "PANTS_ISORT_REQUIREMENTS": { + "PANTS_GO_TEST_TRACE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]go-test-trace", + "config_key": "trace", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-requirements=\"['', '', ...]\""], - "env_var": "PANTS_ISORT_REQUIREMENTS", + "display_args": [ + "--[no-]go-test-trace" + ], + "env_var": "PANTS_GO_TEST_TRACE", "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": "Capture an execution trace from the execution of the test runner. The trace will be written to the file `trace.out` in the test extra output directory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-requirements"], + "scoped_cmd_line_args": [ + "--go-test-trace", + "--no-go-test-trace" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--trace", + "--no-trace" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, - "PANTS_ISORT_SKIP": { + "PANTS_GO_VET_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]isort-skip", + "comma_separated_display_args": "--[no-]go-vet-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]isort-skip"], - "env_var": "PANTS_ISORT_SKIP", + "display_args": [ + "--[no-]go-vet-skip" + ], + "env_var": "PANTS_GO_VET_SKIP", "fromfile": false, - "help": "If true, don't use isort when running `pants fmt` and `pants lint`.", + "help": "If true, don't use `go vet` when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-skip", "--no-isort-skip"], + "scoped_cmd_line_args": [ + "--go-vet-skip", + "--no-go-vet-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -10064,24 +11368,35 @@ ] } }, - "PANTS_JARJAR_ARTIFACTS": { + "PANTS_GRPC_PYTHON_PLUGIN_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jarjar-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["com.eed3si9n.jarjar:jarjar-assembly:{version}"], + "comma_separated_display_args": "--grpc-python-plugin-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "1.32.0|macos_arm64 |b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", + "1.32.0|macos_x86_64|b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", + "1.32.0|linux_arm64 |9365e728c603d64735963074340994245d324712344f63557ef3630864dd9f52|5233664", + "1.32.0|linux_x86_64|1af99df9bf733c17a75cbe379f3f9d9ff1627d8a8035ea057c3c78575afe1687|4965728" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jarjar-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_JARJAR_ARTIFACTS", + "display_args": [ + "--grpc-python-plugin-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_KNOWN_VERSIONS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[jarjar].version` option.", + "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": ["--jarjar-artifacts"], + "scoped_cmd_line_args": [ + "--grpc-python-plugin-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -10092,62 +11407,89 @@ { "details": "", "rank": "HARDCODED", - "value": ["com.eed3si9n.jarjar:jarjar-assembly:{version}"] + "value": [ + "1.32.0|macos_arm64 |b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", + "1.32.0|macos_x86_64|b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", + "1.32.0|linux_arm64 |9365e728c603d64735963074340994245d324712344f63557ef3630864dd9f52|5233664", + "1.32.0|linux_x86_64|1af99df9bf733c17a75cbe379f3f9d9ff1627d8a8035ea057c3c78575afe1687|4965728" + ] } ] } }, - "PANTS_JARJAR_JVM_OPTIONS": { + "PANTS_GRPC_PYTHON_PLUGIN_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jarjar-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "comma_separated_display_args": "--grpc-python-plugin-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux/arm64", + "linux_x86_64": "linux/x86_64", + "macos_arm64": "macos/x86_64", + "macos_x86_64": "macos/x86_64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jarjar-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_JARJAR_JVM_OPTIONS", + "display_args": [ + "--grpc-python-plugin-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "List of JVM options to pass to `jarjar` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "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": ["--jarjar-jvm-options"], + "scoped_cmd_line_args": [ + "--grpc-python-plugin-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "linux_arm64": "linux/arm64", + "linux_x86_64": "linux/x86_64", + "macos_arm64": "macos/x86_64", + "macos_x86_64": "macos/x86_64" + } } ] } }, - "PANTS_JARJAR_LOCKFILE": { + "PANTS_GRPC_PYTHON_PLUGIN_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jarjar-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--grpc-python-plugin-url-template=", + "config_key": "url_template", + "default": "https://binaries.pantsbuild.org/bin/grpc_python_plugin/{version}/{platform}/grpc_python_plugin", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jarjar-lockfile="], - "env_var": "PANTS_JARJAR_LOCKFILE", + "display_args": [ + "--grpc-python-plugin-url-template=" + ], + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_TEMPLATE", "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.19.0rc1/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": "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/v2.19/docs/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": ["--jarjar-lockfile"], + "scoped_cmd_line_args": [ + "--grpc-python-plugin-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -10158,62 +11500,77 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": "https://binaries.pantsbuild.org/bin/grpc_python_plugin/{version}/{platform}/grpc_python_plugin" } ] } }, - "PANTS_JARJAR_MISPLACED_CLASS_STRATEGY": { - "choices": ["fatal", "skip", "omit", "move"], - "comma_separated_choices": "fatal, skip, omit, move", - "comma_separated_display_args": "--jarjar-misplaced-class-strategy=", - "config_key": "misplaced_class_strategy", - "default": null, + "PANTS_GRPC_PYTHON_PLUGIN_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--grpc-python-plugin-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--jarjar-misplaced-class-strategy=" + "--grpc-python-plugin-use-unsupported-version=" ], - "env_var": "PANTS_JARJAR_MISPLACED_CLASS_STRATEGY", + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "The strategy to use when processing class files that are in the wrong package.", + "help": "\nWhat action to take in case the requested version of grpcpythonplugin is not supported.\n\nSupported grpcpythonplugin versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jarjar-misplaced-class-strategy"], + "scoped_cmd_line_args": [ + "--grpc-python-plugin-use-unsupported-version" + ], "target_field_name": null, - "typ": "MisplacedClassStrategy", - "unscoped_cmd_line_args": ["--misplaced-class-strategy"], + "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_JARJAR_SKIP_MANIFEST": { + "PANTS_GRPC_PYTHON_PLUGIN_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]jarjar-skip-manifest", - "config_key": "skip_manifest", - "default": false, + "comma_separated_display_args": "--grpc-python-plugin-version=", + "config_key": "version", + "default": "1.32.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]jarjar-skip-manifest"], - "env_var": "PANTS_JARJAR_SKIP_MANIFEST", + "display_args": [ + "--grpc-python-plugin-version=" + ], + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_VERSION", "fromfile": false, - "help": "Skip the processing of the JAR manifest.", + "help": "Use this version of grpcpythonplugin.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--jarjar-skip-manifest", - "--no-jarjar-skip-manifest" + "--grpc-python-plugin-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip-manifest", "--no-skip-manifest"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -10224,100 +11581,109 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "1.32.0" } ] } }, - "PANTS_JARJAR_VERSION": { + "PANTS_HADOLINT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jarjar-version=", - "config_key": "version", - "default": "1.8.1", + "comma_separated_display_args": "--hadolint-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jarjar-version="], - "env_var": "PANTS_JARJAR_VERSION", + "display_args": [ + "--hadolint-args=\"[, , ...]\"" + ], + "env_var": "PANTS_HADOLINT_ARGS", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[jarjar].artifacts` option by including the string `{version}`.", + "help": "Arguments to pass directly to Hadolint, e.g. `--hadolint-args='--format json'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jarjar-version"], + "scoped_cmd_line_args": [ + "--hadolint-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "1.8.1" + "value": [] } ] } }, - "PANTS_JAVAC_ARGS": { + "PANTS_HADOLINT_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--javac-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--hadolint-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--javac-args=\"[, , ...]\""], - "env_var": "PANTS_JAVAC_ARGS", + "display_args": [ + "--hadolint-config=" + ], + "env_var": "PANTS_HADOLINT_CONFIG", "fromfile": false, - "help": "Arguments to pass directly to javac, e.g. `--javac-args='-g -deprecation'`.", + "help": "Path to an YAML config file understood by Hadolint (https://github.com/hadolint/hadolint#configure).\n\nSetting this option will disable `[hadolint].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--javac-args"], + "scoped_cmd_line_args": [ + "--hadolint-config" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, - "PANTS_JAVAC_TAILOR_SOURCE_TARGETS": { + "PANTS_HADOLINT_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]javac-tailor-source-targets", - "config_key": "tailor_source_targets", + "comma_separated_display_args": "--[no-]hadolint-config-discovery", + "config_key": "config_discovery", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]javac-tailor-source-targets"], - "env_var": "PANTS_JAVAC_TAILOR_SOURCE_TARGETS", + "display_args": [ + "--[no-]hadolint-config-discovery" + ], + "env_var": "PANTS_HADOLINT_CONFIG_DISCOVERY", "fromfile": false, - "help": "If true, add `java_sources` and `java_tests` targets with the `tailor` goal.", + "help": "If true, Pants will include all relevant config files during runs (`.hadolint.yaml` and `.hadolint.yml`).\n\nUse `[hadolint].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--javac-tailor-source-targets", - "--no-javac-tailor-source-targets" + "--hadolint-config-discovery", + "--no-hadolint-config-discovery" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-source-targets", - "--no-tailor-source-targets" + "--config-discovery", + "--no-config-discovery" ], "value_history": { "ranked_values": [ @@ -10334,63 +11700,81 @@ ] } }, - "PANTS_JAVA_INFER_CONSUMED_TYPES": { + "PANTS_HADOLINT_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]java-infer-consumed-types", - "config_key": "consumed_types", - "default": true, + "comma_separated_display_args": "--hadolint-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", + "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", + "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804", + "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]java-infer-consumed-types"], - "env_var": "PANTS_JAVA_INFER_CONSUMED_TYPES", + "display_args": [ + "--hadolint-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_HADOLINT_KNOWN_VERSIONS", "fromfile": false, - "help": "Infer a target's dependencies by parsing consumed types from sources.", + "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": [ - "--java-infer-consumed-types", - "--no-java-infer-consumed-types" + "--hadolint-known-versions" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--consumed-types", "--no-consumed-types"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", + "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", + "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804", + "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520" + ] } ] } }, - "PANTS_JAVA_INFER_IMPORTS": { + "PANTS_HADOLINT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]java-infer-imports", - "config_key": "imports", - "default": true, + "comma_separated_display_args": "--[no-]hadolint-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]java-infer-imports"], - "env_var": "PANTS_JAVA_INFER_IMPORTS", + "display_args": [ + "--[no-]hadolint-skip" + ], + "env_var": "PANTS_HADOLINT_SKIP", "fromfile": false, - "help": "Infer a target's dependencies by parsing import statements from sources.", + "help": "If true, don't use Hadolint when running `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--java-infer-imports", - "--no-java-infer-imports" + "--hadolint-skip", + "--no-hadolint-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -10401,31 +11785,40 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_JAVA_INFER_THIRD_PARTY_IMPORT_MAPPING": { + "PANTS_HADOLINT_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--java-infer-third-party-import-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "third_party_import_mapping", - "default": {}, + "comma_separated_display_args": "--hadolint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "Linux-arm64", + "linux_x86_64": "Linux-x86_64", + "macos_arm64": "Darwin-x86_64", + "macos_x86_64": "Darwin-x86_64" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--java-infer-third-party-import-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--hadolint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_JAVA_INFER_THIRD_PARTY_IMPORT_MAPPING", + "env_var": "PANTS_HADOLINT_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "A dictionary mapping a Java package path to a JVM artifact coordinate (GROUP:ARTIFACT) without the version.\n\nSee `jvm_artifact` for more information on the mapping syntax.", + "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": ["--java-infer-third-party-import-mapping"], + "scoped_cmd_line_args": [ + "--hadolint-url-platform-mapping" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--third-party-import-mapping"], + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { @@ -10436,139 +11829,121 @@ { "details": "", "rank": "HARDCODED", - "value": {} + "value": { + "linux_arm64": "Linux-arm64", + "linux_x86_64": "Linux-x86_64", + "macos_arm64": "Darwin-x86_64", + "macos_x86_64": "Darwin-x86_64" + } } ] } }, - "PANTS_JUNIT_ARGS": { + "PANTS_HADOLINT_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--junit-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--hadolint-url-template=", + "config_key": "url_template", + "default": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--junit-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--hadolint-url-template=" ], - "env_var": "PANTS_JUNIT_ARGS", + "env_var": "PANTS_HADOLINT_URL_TEMPLATE", "fromfile": false, - "help": "Arguments to pass directly to JUnit, e.g. `--junit-args='--disable-ansi-colors'`.", + "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/v2.19/docs/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": ["--junit-args"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_JUNIT_ARTIFACTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--junit-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": [ - "org.junit.platform:junit-platform-console:1.7.2", - "org.junit.jupiter:junit-jupiter-engine:{version}", - "org.junit.vintage:junit-vintage-engine:{version}" + "scoped_cmd_line_args": [ + "--hadolint-url-template" ], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--junit-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_JUNIT_ARTIFACTS", - "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[junit].version` option.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--junit-artifacts"], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "org.junit.platform:junit-platform-console:1.7.2", - "org.junit.jupiter:junit-jupiter-engine:{version}", - "org.junit.vintage:junit-vintage-engine:{version}" - ] + "value": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}" } ] } }, - "PANTS_JUNIT_JVM_OPTIONS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--junit-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "PANTS_HADOLINT_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--hadolint-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--junit-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_JUNIT_JVM_OPTIONS", + "display_args": [ + "--hadolint-use-unsupported-version=" + ], + "env_var": "PANTS_HADOLINT_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "List of JVM options to pass to `junit` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "\nWhat action to take in case the requested version of Hadolint is not supported.\n\nSupported Hadolint versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--junit-jvm-options"], + "scoped_cmd_line_args": [ + "--hadolint-use-unsupported-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "error" } ] } }, - "PANTS_JUNIT_LOCKFILE": { + "PANTS_HADOLINT_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--junit-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--hadolint-version=", + "config_key": "version", + "default": "v2.10.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--junit-lockfile="], - "env_var": "PANTS_JUNIT_LOCKFILE", + "display_args": [ + "--hadolint-version=" + ], + "env_var": "PANTS_HADOLINT_VERSION", "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.19.0rc1/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": "Use this version of Hadolint.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--junit-lockfile"], + "scoped_cmd_line_args": [ + "--hadolint-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -10579,95 +11954,109 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": "v2.10.0" } ] } }, - "PANTS_JUNIT_SKIP": { + "PANTS_HELM_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]junit-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--helm-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]junit-skip"], - "env_var": "PANTS_JUNIT_SKIP", + "display_args": [ + "--helm-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_HELM_ARGS", "fromfile": false, - "help": "If true, don't use JUnit when running `pants test`.", + "help": "Arguments to pass directly to helmsubsystem, e.g. `--helm-args='--dry-run'`.\n\nAdditional arguments to pass to Helm command line.\n\nOnly a subset of Helm arguments are considered valid as passthrough arguments as most of them have equivalents in the form of fields of the different target types.\n\nThe list of valid arguments is as follows:\n\n * --atomic\n * --cleanup-on-fail\n * --create-namespace\n * --debug\n * --dry-run\n * --force\n * --wait\n * --wait-for-jobs\n * --kubeconfig\n * --kube-context\n * --kube-apiserver\n * --kube-as-group\n * --kube-as-user\n * --kube-ca-file\n * --kube-token\n\nBefore attempting to use passthrough arguments, check the reference of each of the available target types to see what fields are accepted in each of them.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--junit-skip", "--no-junit-skip"], + "scoped_cmd_line_args": [ + "--helm-args" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_JUNIT_VERSION": { + "PANTS_HELM_DEFAULT_REGISTRY_REPOSITORY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--junit-version=", - "config_key": "version", - "default": "5.7.2", + "comma_separated_display_args": "--helm-default-registry-repository=", + "config_key": "default_registry_repository", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--junit-version="], - "env_var": "PANTS_JUNIT_VERSION", + "display_args": [ + "--helm-default-registry-repository=" + ], + "env_var": "PANTS_HELM_DEFAULT_REGISTRY_REPOSITORY", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[junit].artifacts` option by including the string `{version}`.", + "help": "Default location where to push Helm charts in the available registries when no specific one has been given.\n\nIf no registry repository is given, charts will be pushed to the root of the OCI registry.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--junit-version"], + "scoped_cmd_line_args": [ + "--helm-default-registry-repository" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--default-registry-repository" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "5.7.2" } ] } }, - "PANTS_JVM_DEBUG_ARGS": { + "PANTS_HELM_EXTRA_ENV_VARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-debug-args=\"['', '', ...]\"", - "config_key": "debug_args", + "comma_separated_display_args": "--helm-extra-env-vars=\"['', '', ...]\"", + "config_key": "extra_env_vars", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-debug-args=\"['', '', ...]\""], - "env_var": "PANTS_JVM_DEBUG_ARGS", + "display_args": [ + "--helm-extra-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_EXTRA_ENV_VARS", "fromfile": false, - "help": "Extra JVM arguments to use when running tests in debug mode.\n\nFor example, if you want to attach a remote debugger, use something like `['-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005']`.", + "help": "Additional environment variables that would be made available to all Helm processes or during value interpolation.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jvm-debug-args"], + "scoped_cmd_line_args": [ + "--helm-extra-env-vars" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--debug-args"], + "unscoped_cmd_line_args": [ + "--extra-env-vars" + ], "value_history": { "ranked_values": [ { @@ -10683,57 +12072,66 @@ ] } }, - "PANTS_JVM_DEFAULT_RESOLVE": { + "PANTS_HELM_K8S_PARSER_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-default-resolve=", - "config_key": "default_resolve", - "default": "jvm-default", + "comma_separated_display_args": "--helm-k8s-parser-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-default-resolve="], - "env_var": "PANTS_JVM_DEFAULT_RESOLVE", + "display_args": [ + "--helm-k8s-parser-install-from-resolve=" + ], + "env_var": "PANTS_HELM_K8S_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "The default value used for the `resolve` and `compatible_resolves` fields.\n\nThe name must be defined as a resolve in `[jvm].resolves`.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--jvm-default-resolve"], + "scoped_cmd_line_args": [ + "--helm-k8s-parser-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--default-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "jvm-default" } ] } }, - "PANTS_JVM_GLOBAL_OPTIONS": { + "PANTS_HELM_K8S_PARSER_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-global-options=\"['', '', ...]\"", - "config_key": "global_options", - "default": [], + "comma_separated_display_args": "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<3.10" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-global-options=\"['', '', ...]\""], - "env_var": "PANTS_JVM_GLOBAL_OPTIONS", + "display_args": [ + "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_K8S_PARSER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "List of JVM options to pass to all JVM processes.\n\nOptions set here will be used by any JVM processes required by Pants, with the exception of heap memory settings like `-Xmx`, which need to be set using `[GLOBAL].process_total_child_memory_usage` and `[GLOBAL].process_per_child_memory_usage`.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jvm-global-options"], - "target_field_name": "jvm_global_options", + "scoped_cmd_line_args": [ + "--helm-k8s-parser-interpreter-constraints" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--global-options"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -10744,100 +12142,174 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<3.10" + ] } ] } }, - "PANTS_JVM_JDK": { + "PANTS_HELM_K8S_PARSER_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-jdk=", - "config_key": "jdk", - "default": "temurin:1.11", + "comma_separated_display_args": "--helm-k8s-parser-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-jdk="], - "env_var": "PANTS_JVM_JDK", + "display_args": [ + "--helm-k8s-parser-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_K8S_PARSER_REQUIREMENTS", "fromfile": false, - "help": "The JDK to use.\n\nThis string will be passed directly to Coursier's `--jvm` parameter. Run `cs java --available` to see a list of available JVM versions on your platform.\n\nIf the string `'system'` is passed, Coursier's `--system-jvm` option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jvm-jdk"], + "scoped_cmd_line_args": [ + "--helm-k8s-parser-requirements" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--jdk"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "temurin:1.11" + "value": [] } ] } }, - "PANTS_JVM_NAILGUN_REMOTE_CACHE_SPECULATION_DELAY": { + "PANTS_HELM_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-nailgun-remote-cache-speculation-delay=", - "config_key": "nailgun_remote_cache_speculation_delay", - "default": 1000, + "comma_separated_display_args": "--helm-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "3.12.3|linux_arm64|79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088|14355040", + "3.12.3|linux_x86_64|1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5|16028423", + "3.12.3|macos_arm64|240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1|16019570", + "3.12.3|macos_x86_64|1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47|16828211", + "3.12.2|linux_arm64|cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759|14350624", + "3.12.2|linux_x86_64|2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219|16028750", + "3.12.2|macos_arm64|b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55|16021202", + "3.12.2|macos_x86_64|6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e|16824814", + "3.11.3|linux_arm64|0816db0efd033c78c3cc1c37506967947b01965b9c0739fe13ec2b1eea08f601|14475471", + "3.11.3|linux_x86_64|ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89|15489735", + "3.11.3|macos_arm64|267e4d50b68e8854b9cc44517da9ab2f47dec39787fed9f7eba42080d61ac7f8|15451086", + "3.11.3|macos_x86_64|9d029df37664b50e427442a600e4e065fa75fd74dac996c831ac68359654b2c4|16275303", + "3.11.2|linux_arm64|444b65100e224beee0a3a3a54cb19dad37388fa9217ab2782ba63551c4a2e128|14090242", + "3.11.2|linux_x86_64|781d826daec584f9d50a01f0f7dadfd25a3312217a14aa2fbb85107b014ac8ca|15026301", + "3.11.2|macos_arm64|f61a3aa55827de2d8c64a2063fd744b618b443ed063871b79f52069e90813151|14932800", + "3.11.2|macos_x86_64|404938fd2c6eff9e0dab830b0db943fca9e1572cd3d7ee40904705760faa390f|15759988", + "3.11.1|linux_arm64 |919173e8fb7a3b54d76af9feb92e49e86d5a80c5185020bae8c393fa0f0de1e8|13484900", + "3.11.1|linux_x86_64|0b1be96b66fab4770526f136f5f1a385a47c41923d33aab0dcb500e0f6c1bf7c|15023104", + "3.11.1|macos_arm64 |43d0198a7a2ea2639caafa81bb0596c97bee2d4e40df50b36202343eb4d5c46b|14934852", + "3.11.1|macos_x86_64|2548a90e5cc957ccc5016b47060665a9d2cd4d5b4d61dcc32f5de3144d103826|15757902", + "3.10.0|linux_arm64 |3b72f5f8a60772fb156d0a4ab93272e8da7ef4d18e6421a7020d7c019f521fc1|13055719", + "3.10.0|linux_x86_64|bf56beb418bb529b5e0d6d43d56654c5a03f89c98400b409d1013a33d9586474|14530566", + "3.10.0|macos_arm64 |f7f6558ebc8211824032a7fdcf0d55ad064cb33ec1eeec3d18057b9fe2e04dbe|14446277", + "3.10.0|macos_x86_64|1e7fd528482ac2ef2d79fe300724b3e07ff6f846a2a9b0b0fe6f5fa05691786b|15237557", + "3.8.0|linux_arm64 |23e08035dc0106fe4e0bd85800fd795b2b9ecd9f32187aa16c49b0a917105161|12324642", + "3.8.0|linux_x86_64|8408c91e846c5b9ba15eb6b1a5a79fc22dd4d33ac6ea63388e5698d1b2320c8b|13626774", + "3.8.0|macos_arm64 |751348f1a4a876ffe089fd68df6aea310fd05fe3b163ab76aa62632e327122f3|14078604", + "3.8.0|macos_x86_64|532ddd6213891084873e5c2dcafa577f425ca662a6594a3389e288fc48dc2089|14318316" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-nailgun-remote-cache-speculation-delay="], - "env_var": "PANTS_JVM_NAILGUN_REMOTE_CACHE_SPECULATION_DELAY", + "display_args": [ + "--helm-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_KNOWN_VERSIONS", "fromfile": false, - "help": "The time in milliseconds to delay speculation of nailgun processes while reading from the remote cache.\n\nWhen speculating, a remote cache hit will cancel the local copy of a process. But because nailgun does not natively support cancellation, that requires killing a nailgun server, which will mean that future processes take longer to warm up.\n\nThis setting allows for trading off waiting for potentially slow cache entries against potentially having to warm up a new nailgun server.", + "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": ["--jvm-nailgun-remote-cache-speculation-delay"], + "scoped_cmd_line_args": [ + "--helm-known-versions" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--nailgun-remote-cache-speculation-delay"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 1000 + "value": [ + "3.12.3|linux_arm64|79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088|14355040", + "3.12.3|linux_x86_64|1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5|16028423", + "3.12.3|macos_arm64|240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1|16019570", + "3.12.3|macos_x86_64|1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47|16828211", + "3.12.2|linux_arm64|cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759|14350624", + "3.12.2|linux_x86_64|2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219|16028750", + "3.12.2|macos_arm64|b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55|16021202", + "3.12.2|macos_x86_64|6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e|16824814", + "3.11.3|linux_arm64|0816db0efd033c78c3cc1c37506967947b01965b9c0739fe13ec2b1eea08f601|14475471", + "3.11.3|linux_x86_64|ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89|15489735", + "3.11.3|macos_arm64|267e4d50b68e8854b9cc44517da9ab2f47dec39787fed9f7eba42080d61ac7f8|15451086", + "3.11.3|macos_x86_64|9d029df37664b50e427442a600e4e065fa75fd74dac996c831ac68359654b2c4|16275303", + "3.11.2|linux_arm64|444b65100e224beee0a3a3a54cb19dad37388fa9217ab2782ba63551c4a2e128|14090242", + "3.11.2|linux_x86_64|781d826daec584f9d50a01f0f7dadfd25a3312217a14aa2fbb85107b014ac8ca|15026301", + "3.11.2|macos_arm64|f61a3aa55827de2d8c64a2063fd744b618b443ed063871b79f52069e90813151|14932800", + "3.11.2|macos_x86_64|404938fd2c6eff9e0dab830b0db943fca9e1572cd3d7ee40904705760faa390f|15759988", + "3.11.1|linux_arm64 |919173e8fb7a3b54d76af9feb92e49e86d5a80c5185020bae8c393fa0f0de1e8|13484900", + "3.11.1|linux_x86_64|0b1be96b66fab4770526f136f5f1a385a47c41923d33aab0dcb500e0f6c1bf7c|15023104", + "3.11.1|macos_arm64 |43d0198a7a2ea2639caafa81bb0596c97bee2d4e40df50b36202343eb4d5c46b|14934852", + "3.11.1|macos_x86_64|2548a90e5cc957ccc5016b47060665a9d2cd4d5b4d61dcc32f5de3144d103826|15757902", + "3.10.0|linux_arm64 |3b72f5f8a60772fb156d0a4ab93272e8da7ef4d18e6421a7020d7c019f521fc1|13055719", + "3.10.0|linux_x86_64|bf56beb418bb529b5e0d6d43d56654c5a03f89c98400b409d1013a33d9586474|14530566", + "3.10.0|macos_arm64 |f7f6558ebc8211824032a7fdcf0d55ad064cb33ec1eeec3d18057b9fe2e04dbe|14446277", + "3.10.0|macos_x86_64|1e7fd528482ac2ef2d79fe300724b3e07ff6f846a2a9b0b0fe6f5fa05691786b|15237557", + "3.8.0|linux_arm64 |23e08035dc0106fe4e0bd85800fd795b2b9ecd9f32187aa16c49b0a917105161|12324642", + "3.8.0|linux_x86_64|8408c91e846c5b9ba15eb6b1a5a79fc22dd4d33ac6ea63388e5698d1b2320c8b|13626774", + "3.8.0|macos_arm64 |751348f1a4a876ffe089fd68df6aea310fd05fe3b163ab76aa62632e327122f3|14078604", + "3.8.0|macos_x86_64|532ddd6213891084873e5c2dcafa577f425ca662a6594a3389e288fc48dc2089|14318316" + ] } ] } }, - "PANTS_JVM_REPRODUCIBLE_JARS": { + "PANTS_HELM_LINT_STRICT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]jvm-reproducible-jars", - "config_key": "reproducible_jars", + "comma_separated_display_args": "--[no-]helm-lint-strict", + "config_key": "lint_strict", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]jvm-reproducible-jars"], - "env_var": "PANTS_JVM_REPRODUCIBLE_JARS", + "display_args": [ + "--[no-]helm-lint-strict" + ], + "env_var": "PANTS_HELM_LINT_STRICT", "fromfile": false, - "help": "When enabled, JAR files produced by JVM tools will have timestamps stripped.\n\nBecause some compilers do not support this step as a native operation, it can have a performance cost, and is not enabled by default.", + "help": "Enables strict linting of Helm charts", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--jvm-reproducible-jars", - "--no-jvm-reproducible-jars" + "--helm-lint-strict", + "--no-helm-lint-strict" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--reproducible-jars", - "--no-reproducible-jars" + "--lint-strict", + "--no-lint-strict" ], "value_history": { "ranked_values": [ @@ -10854,127 +12326,107 @@ ] } }, - "PANTS_JVM_RESOLVES": { + "PANTS_HELM_POST_RENDERER_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-resolves=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves", - "default": { - "jvm-default": "3rdparty/jvm/default.lock" - }, + "comma_separated_display_args": "--helm-post-renderer-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-resolves=\"{'key1': val1, 'key2': val2, ...}\""], - "env_var": "PANTS_JVM_RESOLVES", + "display_args": [ + "--helm-post-renderer-install-from-resolve=" + ], + "env_var": "PANTS_HELM_POST_RENDERER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "A dictionary mapping resolve names to the path of their lockfile.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--jvm-resolves"], - "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": { - "jvm-default": "3rdparty/jvm/default.lock" - } - } - ] - } - }, - "PANTS_JVM_TOOL_JDK": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-tool-jdk=", - "config_key": "tool_jdk", - "default": "temurin:1.11", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--jvm-tool-jdk="], - "env_var": "PANTS_JVM_TOOL_JDK", - "fromfile": false, - "help": "The JDK to use when building and running Pants' internal JVM support code and other non-compiler tools. See `jvm` help for supported values.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--jvm-tool-jdk"], + "scoped_cmd_line_args": [ + "--helm-post-renderer-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--tool-jdk"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "temurin:1.11" } ] } }, - "PANTS_KEEP_SANDBOXES": { - "choices": ["always", "on_failure", "never"], - "comma_separated_choices": "always, on_failure, never", - "comma_separated_display_args": "--keep-sandboxes=", - "config_key": "keep_sandboxes", - "default": "never", + "PANTS_HELM_POST_RENDERER_INTERPRETER_CONSTRAINTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<3.10" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--keep-sandboxes="], - "env_var": "PANTS_KEEP_SANDBOXES", + "display_args": [ + "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_POST_RENDERER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Controls whether Pants will clean up local directories used as chroots for running processes.\n\nPants will log their location so that you can inspect the chroot, and run the `__run.sh` script to recreate the process using the same argv and environment variables used by Pants. This option is useful for debugging.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--keep-sandboxes"], + "scoped_cmd_line_args": [ + "--helm-post-renderer-interpreter-constraints" + ], "target_field_name": null, - "typ": "KeepSandboxes", - "unscoped_cmd_line_args": ["--keep-sandboxes"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "never" + "value": [ + "CPython>=3.7,<3.10" + ] } ] } }, - "PANTS_KOTLINC_ARGS": { + "PANTS_HELM_POST_RENDERER_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--kotlinc-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--helm-post-renderer-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--kotlinc-args=\"[, , ...]\""], - "env_var": "PANTS_KOTLINC_ARGS", + "display_args": [ + "--helm-post-renderer-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_POST_RENDERER_REQUIREMENTS", "fromfile": false, - "help": "Arguments to pass directly to kotlinc, e.g. `--kotlinc-args='-Werror'`.\n\nSee https://kotlinlang.org/docs/compiler-reference.html for supported arguments.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--kotlinc-args"], + "scoped_cmd_line_args": [ + "--helm-post-renderer-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -10990,26 +12442,30 @@ ] } }, - "PANTS_KOTLINC_PLUGINS_FOR_RESOLVE": { + "PANTS_HELM_REGISTRIES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--kotlinc-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "plugins_for_resolve", + "comma_separated_display_args": "--helm-registries=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "registries", "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--kotlinc-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + "--helm-registries=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_KOTLINC_PLUGINS_FOR_RESOLVE", - "fromfile": false, - "help": "A dictionary, whose keys are the names of each JVM resolve that requires default `kotlinc` plugins, and the value is a comma-separated string consisting of kotlinc plugin names. Each specified plugin must have a corresponding `kotlinc_plugin` target that specifies that name in either its `plugin_name` field or is the same as its target name.", + "env_var": "PANTS_HELM_REGISTRIES", + "fromfile": true, + "help": "Configure Helm OCI registries. The schema for a registry entry is as follows:\n\n {\n \"registry-alias\": {\n \"address\": \"oci://registry-domain:port\",\n \"default\": bool,\n },\n ...\n }\n\nIf no registries are provided in either a `helm_chart` target, then all default addresses will be used, if any.\n\nThe `helm_chart.registries` may be provided with a list of registry addresses and registry alias prefixed with `@` to be used instead of the defaults.\n\nA configured registry is marked as default either by setting `default = true` or with an alias of `\"default\"`.\n\nRegistries also participate in resolving third party Helm charts uplodaded to those registries.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--kotlinc-plugins-for-resolve"], + "scoped_cmd_line_args": [ + "--helm-registries" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--plugins-for-resolve"], + "unscoped_cmd_line_args": [ + "--registries" + ], "value_history": { "ranked_values": [ { @@ -11025,27 +12481,32 @@ ] } }, - "PANTS_KOTLIN_INFER_CONSUMED_TYPES": { + "PANTS_HELM_TAILOR_CHARTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]kotlin-infer-consumed-types", - "config_key": "consumed_types", + "comma_separated_display_args": "--[no-]helm-tailor-charts", + "config_key": "tailor_charts", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]kotlin-infer-consumed-types"], - "env_var": "PANTS_KOTLIN_INFER_CONSUMED_TYPES", + "display_args": [ + "--[no-]helm-tailor-charts" + ], + "env_var": "PANTS_HELM_TAILOR_CHARTS", "fromfile": false, - "help": "Infer a target's dependencies by parsing consumed types from sources.", + "help": "If true, add `helm_chart` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--kotlin-infer-consumed-types", - "--no-kotlin-infer-consumed-types" + "--helm-tailor-charts", + "--no-helm-tailor-charts" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--consumed-types", "--no-consumed-types"], + "unscoped_cmd_line_args": [ + "--tailor-charts", + "--no-tailor-charts" + ], "value_history": { "ranked_values": [ { @@ -11061,27 +12522,32 @@ ] } }, - "PANTS_KOTLIN_INFER_IMPORTS": { + "PANTS_HELM_TAILOR_UNITTESTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]kotlin-infer-imports", - "config_key": "imports", + "comma_separated_display_args": "--[no-]helm-tailor-unittests", + "config_key": "tailor_unittests", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]kotlin-infer-imports"], - "env_var": "PANTS_KOTLIN_INFER_IMPORTS", + "display_args": [ + "--[no-]helm-tailor-unittests" + ], + "env_var": "PANTS_HELM_TAILOR_UNITTESTS", "fromfile": false, - "help": "Infer a target's dependencies by parsing import statements from sources.", + "help": "If true, add `helm_unittest_tests` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--kotlin-infer-imports", - "--no-kotlin-infer-imports" + "--helm-tailor-unittests", + "--no-helm-tailor-unittests" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "unscoped_cmd_line_args": [ + "--tailor-unittests", + "--no-tailor-unittests" + ], "value_history": { "ranked_values": [ { @@ -11097,29 +12563,31 @@ ] } }, - "PANTS_KOTLIN_TAILOR_SOURCE_TARGETS": { + "PANTS_HELM_UNITTEST_COLOR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]kotlin-tailor-source-targets", - "config_key": "tailor_source_targets", - "default": true, + "comma_separated_display_args": "--[no-]helm-unittest-color", + "config_key": "color", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]kotlin-tailor-source-targets"], - "env_var": "PANTS_KOTLIN_TAILOR_SOURCE_TARGETS", + "display_args": [ + "--[no-]helm-unittest-color" + ], + "env_var": "PANTS_HELM_UNITTEST_COLOR", "fromfile": false, - "help": "If true, add `kotlin_sources` targets with the `tailor` goal.", + "help": "Enforce printing colored output even if stdout is not a tty.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--kotlin-tailor-source-targets", - "--no-kotlin-tailor-source-targets" + "--helm-unittest-color", + "--no-helm-unittest-color" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-source-targets", - "--no-tailor-source-targets" + "--color", + "--no-color" ], "value_history": { "ranked_values": [ @@ -11131,64 +12599,44 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_KOTLIN_VERSION_FOR_RESOLVE": { + "PANTS_HELM_UNITTEST_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--kotlin-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "version_for_resolve", - "default": {}, + "comma_separated_display_args": "--helm-unittest-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "0.3.3|linux_x86_64|8ebe20f77012a5d4e7139760cabe36dd1ea38e40b26f57de3f4165d96bd486ff|21685365", + "0.3.3|linux_arm64 |7f5e4426428cb9678f971576103df410e6fa38dd19b87fce4729f5217bd5c683|19944514", + "0.3.3|macos_x86_64|b2298a513b3cb6482ba2e42079c93ad18be8a31a230bd4dffdeb01ec2881d0f5|21497144", + "0.3.3|macos_arm64 |2365f5b3a99e6fc83218457046378b14039a3992e9ae96a4192bc2e43a33c742|20479438", + "0.2.8|linux_x86_64|d7c452559ad4406a1197435394fbcffe51198060de1aa9b4cb6feaf876776ba0|18299096", + "0.2.8|linux_arm64 |c793e241b063f0540ad9b4acc0a02e5a101bd9daea5bdf4d8562e9b2337fedb2|16943867", + "0.2.8|macos_x86_64|1dc95699320894bdebf055c4f4cc084c2cfa0133d3cb7fd6a4c0adca94df5c96|18161928", + "0.2.8|macos_arm64 |436e3167c26f71258b96e32c2877b4f97c051064db941de097cf3db2fc861342|17621648" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--kotlin-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + "--helm-unittest-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_KOTLIN_VERSION_FOR_RESOLVE", - "fromfile": false, - "help": "A dictionary mapping the name of a resolve to the Kotlin version to use for all Kotlin targets consuming that resolve.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--kotlin-version-for-resolve"], - "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--version-for-resolve"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": {} - } - ] - } - }, - "PANTS_KTLINT_ARTIFACTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--ktlint-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["com.pinterest:ktlint:{version}"], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--ktlint-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_KTLINT_ARTIFACTS", + "env_var": "PANTS_HELM_UNITTEST_KNOWN_VERSIONS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[ktlint].version` option.", + "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": ["--ktlint-artifacts"], + "scoped_cmd_line_args": [ + "--helm-unittest-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -11199,62 +12647,89 @@ { "details": "", "rank": "HARDCODED", - "value": ["com.pinterest:ktlint:{version}"] + "value": [ + "0.3.3|linux_x86_64|8ebe20f77012a5d4e7139760cabe36dd1ea38e40b26f57de3f4165d96bd486ff|21685365", + "0.3.3|linux_arm64 |7f5e4426428cb9678f971576103df410e6fa38dd19b87fce4729f5217bd5c683|19944514", + "0.3.3|macos_x86_64|b2298a513b3cb6482ba2e42079c93ad18be8a31a230bd4dffdeb01ec2881d0f5|21497144", + "0.3.3|macos_arm64 |2365f5b3a99e6fc83218457046378b14039a3992e9ae96a4192bc2e43a33c742|20479438", + "0.2.8|linux_x86_64|d7c452559ad4406a1197435394fbcffe51198060de1aa9b4cb6feaf876776ba0|18299096", + "0.2.8|linux_arm64 |c793e241b063f0540ad9b4acc0a02e5a101bd9daea5bdf4d8562e9b2337fedb2|16943867", + "0.2.8|macos_x86_64|1dc95699320894bdebf055c4f4cc084c2cfa0133d3cb7fd6a4c0adca94df5c96|18161928", + "0.2.8|macos_arm64 |436e3167c26f71258b96e32c2877b4f97c051064db941de097cf3db2fc861342|17621648" + ] } ] } }, - "PANTS_KTLINT_JVM_OPTIONS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--ktlint-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "PANTS_HELM_UNITTEST_OUTPUT_TYPE": { + "choices": [ + "XUnit", + "NUnit", + "JUnit" + ], + "comma_separated_choices": "XUnit, NUnit, JUnit", + "comma_separated_display_args": "--helm-unittest-output-type=", + "config_key": "output_type", + "default": "XUnit", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ktlint-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_KTLINT_JVM_OPTIONS", + "display_args": [ + "--helm-unittest-output-type=" + ], + "env_var": "PANTS_HELM_UNITTEST_OUTPUT_TYPE", "fromfile": false, - "help": "List of JVM options to pass to `ktlint` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "Output type used for the test report.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ktlint-jvm-options"], + "scoped_cmd_line_args": [ + "--helm-unittest-output-type" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "HelmUnitTestReportFormat", + "unscoped_cmd_line_args": [ + "--output-type" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "XUnit" } ] } }, - "PANTS_KTLINT_LOCKFILE": { + "PANTS_HELM_UNITTEST_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ktlint-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--[no-]helm-unittest-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ktlint-lockfile="], - "env_var": "PANTS_KTLINT_LOCKFILE", + "display_args": [ + "--[no-]helm-unittest-skip" + ], + "env_var": "PANTS_HELM_UNITTEST_SKIP", "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.19.0rc1/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": "If true, don't use helmunittestsubsystem when running `pants test`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ktlint-lockfile"], + "scoped_cmd_line_args": [ + "--helm-unittest-skip", + "--no-helm-unittest-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -11265,62 +12740,84 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": false } ] } }, - "PANTS_KTLINT_SKIP": { + "PANTS_HELM_UNITTEST_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]ktlint-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--helm-unittest-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "macos-arm64", + "macos_x86_64": "macos-amd64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]ktlint-skip"], - "env_var": "PANTS_KTLINT_SKIP", + "display_args": [ + "--helm-unittest-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_HELM_UNITTEST_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "If true, don't use Ktlint when running `pants fmt` and `pants lint`.", + "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": ["--ktlint-skip", "--no-ktlint-skip"], + "scoped_cmd_line_args": [ + "--helm-unittest-url-platform-mapping" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "macos-arm64", + "macos_x86_64": "macos-amd64" + } } ] } }, - "PANTS_KTLINT_VERSION": { + "PANTS_HELM_UNITTEST_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ktlint-version=", - "config_key": "version", - "default": "0.45.2", + "comma_separated_display_args": "--helm-unittest-url-template=", + "config_key": "url_template", + "default": "https://github.com/helm-unittest/helm-unittest/releases/download/v{version}/helm-unittest-{platform}-{version}.tgz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ktlint-version="], - "env_var": "PANTS_KTLINT_VERSION", + "display_args": [ + "--helm-unittest-url-template=" + ], + "env_var": "PANTS_HELM_UNITTEST_URL_TEMPLATE", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[ktlint].artifacts` option by including the string `{version}`.", + "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/v2.19/docs/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": ["--ktlint-version"], + "scoped_cmd_line_args": [ + "--helm-unittest-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -11331,29 +12828,38 @@ { "details": null, "rank": "HARDCODED", - "value": "0.45.2" + "value": "https://github.com/helm-unittest/helm-unittest/releases/download/v{version}/helm-unittest-{platform}-{version}.tgz" } ] } }, - "PANTS_LEVEL": { - "choices": ["trace", "debug", "info", "warn", "error"], - "comma_separated_choices": "trace, debug, info, warn, error", - "comma_separated_display_args": "-l=, --level=", - "config_key": "level", - "default": "info", + "PANTS_HELM_UNITTEST_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--helm-unittest-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["-l=", "--level="], - "env_var": "PANTS_LEVEL", + "display_args": [ + "--helm-unittest-use-unsupported-version=" + ], + "env_var": "PANTS_HELM_UNITTEST_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Set the logging level.", + "help": "\nWhat action to take in case the requested version of helmunittestsubsystem is not supported.\n\nSupported helmunittestsubsystem versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["-l", "--level"], + "scoped_cmd_line_args": [ + "--helm-unittest-use-unsupported-version" + ], "target_field_name": null, - "typ": "LogLevel", - "unscoped_cmd_line_args": ["-l", "--level"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -11364,29 +12870,35 @@ { "details": null, "rank": "HARDCODED", - "value": "info" + "value": "error" } ] } }, - "PANTS_LINT_BATCH_SIZE": { + "PANTS_HELM_UNITTEST_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--lint-batch-size=", - "config_key": "batch_size", - "default": 128, + "comma_separated_display_args": "--helm-unittest-version=", + "config_key": "version", + "default": "0.3.3", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--lint-batch-size="], - "env_var": "PANTS_LINT_BATCH_SIZE", + "display_args": [ + "--helm-unittest-version=" + ], + "env_var": "PANTS_HELM_UNITTEST_VERSION", "fromfile": false, - "help": "The target number of files to be included in each linter batch.\n\nLinter processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in linter processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", + "help": "Use this version of helmunittestsubsystem.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--lint-batch-size"], + "scoped_cmd_line_args": [ + "--helm-unittest-version" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--batch-size"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -11397,62 +12909,84 @@ { "details": null, "rank": "HARDCODED", - "value": 128 + "value": "0.3.3" } ] } }, - "PANTS_LINT_ONLY": { + "PANTS_HELM_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--lint-only=\"['', '', ...]\"", - "config_key": "only", - "default": [], + "comma_separated_display_args": "--helm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--lint-only=\"['', '', ...]\""], - "env_var": "PANTS_LINT_ONLY", + "display_args": [ + "--helm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_HELM_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Only run these linters and skip all others.\n\nThe linter names are outputted at the final summary of running this goal, e.g. `flake8` and `shellcheck`. You can also run `lint --only=fake` to get a list of all activated linters.\n\nYou can repeat this option, e.g. `lint --only=flake8 --only=shellcheck` or `lint --only=['flake8', 'shellcheck']`.", + "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": ["--lint-only"], + "scoped_cmd_line_args": [ + "--helm-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--only"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + } } ] } }, - "PANTS_LINT_SKIP_FIXERS": { + "PANTS_HELM_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]lint-skip-fixers", - "config_key": "skip_fixers", - "default": false, + "comma_separated_display_args": "--helm-url-template=", + "config_key": "url_template", + "default": "https://get.helm.sh/helm-v{version}-{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]lint-skip-fixers"], - "env_var": "PANTS_LINT_SKIP_FIXERS", + "display_args": [ + "--helm-url-template=" + ], + "env_var": "PANTS_HELM_URL_TEMPLATE", "fromfile": false, - "help": "If true, skip running all fixers in check-only mode.\n\nFYI: when running `pants fix lint ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fix` when running `lint` where possible.", + "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/v2.19/docs/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": ["--lint-skip-fixers", "--no-lint-skip-fixers"], + "scoped_cmd_line_args": [ + "--helm-url-template" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip-fixers", "--no-skip-fixers"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -11463,32 +12997,38 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "https://get.helm.sh/helm-v{version}-{platform}.tar.gz" } ] } }, - "PANTS_LINT_SKIP_FORMATTERS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]lint-skip-formatters", - "config_key": "skip_formatters", - "default": false, + "PANTS_HELM_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--helm-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]lint-skip-formatters"], - "env_var": "PANTS_LINT_SKIP_FORMATTERS", + "display_args": [ + "--helm-use-unsupported-version=" + ], + "env_var": "PANTS_HELM_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "If true, skip running all formatters in check-only mode.\n\nFYI: when running `pants fmt lint ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fmt` when running `lint` where possible.", + "help": "\nWhat action to take in case the requested version of helmsubsystem is not supported.\n\nSupported helmsubsystem versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--lint-skip-formatters", - "--no-lint-skip-formatters" + "--helm-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip-formatters", "--no-skip-formatters"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -11499,29 +13039,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } }, - "PANTS_LIST_DOCUMENTED": { + "PANTS_HELM_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]list-documented", - "config_key": "documented", - "default": false, + "comma_separated_display_args": "--helm-version=", + "config_key": "version", + "default": "3.12.3", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]list-documented"], - "env_var": "PANTS_LIST_DOCUMENTED", + "display_args": [ + "--helm-version=" + ], + "env_var": "PANTS_HELM_VERSION", "fromfile": false, - "help": "Print only targets that are documented with a description.", + "help": "Use this version of helmsubsystem.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--list-documented", "--no-list-documented"], + "scoped_cmd_line_args": [ + "--helm-version" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--documented", "--no-documented"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -11532,57 +13078,86 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "3.12.3" } ] } }, - "PANTS_LIST_OUTPUT_FILE": { + "PANTS_IGNORE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--list-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--pants-ignore=\"['', '', ...]\"", + "config_key": "pants_ignore", + "default": [ + ".*/", + "/dist/", + "__pycache__", + "!.semgrep/" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--list-output-file="], - "env_var": "PANTS_LIST_OUTPUT_FILE", + "display_args": [ + "--pants-ignore=\"['', '', ...]\"" + ], + "env_var": "PANTS_IGNORE", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "Paths to ignore for all filesystem operations performed by pants (e.g. BUILD file scanning, glob matching, etc).\n\nPatterns use the gitignore syntax (https://git-scm.com/docs/gitignore). The `pants_distdir` and `pants_workdir` locations are automatically ignored.\n\n`pants_ignore` can be used in tandem with `pants_ignore_use_gitignore`; any rules specified here are applied after rules specified in a .gitignore file.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--list-output-file"], + "scoped_cmd_line_args": [ + "--pants-ignore" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--pants-ignore" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + ".*/", + "/dist/", + "__pycache__", + "!.semgrep/" + ] } ] } }, - "PANTS_LIST_SEP": { + "PANTS_IGNORE_USE_GITIGNORE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--list-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--[no-]pants-ignore-use-gitignore", + "config_key": "pants_ignore_use_gitignore", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--list-sep="], - "env_var": "PANTS_LIST_SEP", + "display_args": [ + "--[no-]pants-ignore-use-gitignore" + ], + "env_var": "PANTS_IGNORE_USE_GITIGNORE", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "Include patterns from `.gitignore`, `.git/info/exclude`, and the global gitignore files in the option `[GLOBAL].pants_ignore`, which is used for Pants to ignore filesystem operations on those patterns.\n\nPatterns from `[GLOBAL].pants_ignore` take precedence over these files' rules. For example, you can use `!my_pattern` in `pants_ignore` to have Pants operate on files that are gitignored.\n\nWarning: this does not yet support reading nested gitignore files.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--list-sep"], + "scoped_cmd_line_args": [ + "--pants-ignore-use-gitignore", + "--no-pants-ignore-use-gitignore" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--pants-ignore-use-gitignore", + "--no-pants-ignore-use-gitignore" + ], "value_history": { "ranked_values": [ { @@ -11593,62 +13168,74 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": true } ] } }, - "PANTS_LOCAL_CACHE": { + "PANTS_IGNORE_WARNINGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]local-cache", - "config_key": "local_cache", - "default": true, + "comma_separated_display_args": "--ignore-warnings=\"['', '', ...]\"", + "config_key": "ignore_warnings", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]local-cache"], - "env_var": "PANTS_LOCAL_CACHE", + "display_args": [ + "--ignore-warnings=\"['', '', ...]\"" + ], + "env_var": "PANTS_IGNORE_WARNINGS", "fromfile": false, - "help": "Whether to cache process executions in a local cache persisted to disk at `--local-store-dir`.", + "help": "Ignore logs and warnings matching these strings.\n\nNormally, Pants will look for literal matches from the start of the log/warning message, but you can prefix the ignore with `$regex$` for Pants to instead treat your string as a regex pattern. For example:\n\n ignore_warnings = [\n \"DEPRECATED: option 'config' in scope 'flake8' will be removed\",\n '$regex$:No files\\s*'\n ]", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-cache", "--no-local-cache"], + "scoped_cmd_line_args": [ + "--ignore-warnings" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--local-cache", "--no-local-cache"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--ignore-warnings" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } }, - "PANTS_LOCAL_EXECUTION_ROOT_DIR": { + "PANTS_IPYTHON_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-execution-root-dir=", - "config_key": "local_execution_root_dir", - "default": "", + "comma_separated_display_args": "--ipython-console-script=", + "config_key": "console_script", + "default": "ipython", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-execution-root-dir="], - "env_var": "PANTS_LOCAL_EXECUTION_ROOT_DIR", + "display_args": [ + "--ipython-console-script=" + ], + "env_var": "PANTS_IPYTHON_CONSOLE_SCRIPT", "fromfile": false, - "help": "Directory to use for local process execution sandboxing.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-execution-root-dir"], + "scoped_cmd_line_args": [ + "--ipython-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--local-execution-root-dir"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -11659,62 +13246,71 @@ { "details": null, "rank": "HARDCODED", - "value": "/tmp" + "value": "ipython" } ] } }, - "PANTS_LOCAL_STORE_DIR": { + "PANTS_IPYTHON_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-dir=", - "config_key": "local_store_dir", - "default": "/home/josh/.cache/pants/lmdb_store", + "comma_separated_display_args": "--ipython-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-dir="], - "env_var": "PANTS_LOCAL_STORE_DIR", + "display_args": [ + "--ipython-entry-point=" + ], + "env_var": "PANTS_IPYTHON_ENTRY_POINT", "fromfile": false, - "help": "Directory to use for the local file store, which stores the results of subprocesses run by Pants.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-store-dir"], + "scoped_cmd_line_args": [ + "--ipython-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--local-store-dir"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "/home/josh/.cache/pants/lmdb_store" } ] } }, - "PANTS_LOCAL_STORE_DIRECTORIES_MAX_SIZE_BYTES": { + "PANTS_IPYTHON_IGNORE_CWD": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-directories-max-size-bytes=", - "config_key": "local_store_directories_max_size_bytes", - "default": 16000000000, + "comma_separated_display_args": "--[no-]ipython-ignore-cwd", + "config_key": "ignore_cwd", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-directories-max-size-bytes="], - "env_var": "PANTS_LOCAL_STORE_DIRECTORIES_MAX_SIZE_BYTES", + "display_args": [ + "--[no-]ipython-ignore-cwd" + ], + "env_var": "PANTS_IPYTHON_IGNORE_CWD", "fromfile": false, - "help": "The maximum size in bytes of the local store containing directories. Stored below `--local-store-dir`.", + "help": "Whether to tell IPython not to put the CWD on the import path.\n\nNormally you want this to be True, so that imports come from the hermetic environment Pants creates.\n\nHowever IPython<7.13.0 doesn't support this option, so if you're using an earlier version (e.g., because you have Python 2.7 code) then you will need to set this to False, and you may have issues with imports from your CWD shading the hermetic environment.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-store-directories-max-size-bytes"], + "scoped_cmd_line_args": [ + "--ipython-ignore-cwd", + "--no-ipython-ignore-cwd" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--local-store-directories-max-size-bytes"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--ignore-cwd", + "--no-ignore-cwd" + ], "value_history": { "ranked_values": [ { @@ -11725,196 +13321,226 @@ { "details": null, "rank": "HARDCODED", - "value": 16000000000 + "value": true } ] } }, - "PANTS_LOCAL_STORE_FILES_MAX_SIZE_BYTES": { + "PANTS_IPYTHON_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-files-max-size-bytes=", - "config_key": "local_store_files_max_size_bytes", - "default": 256000000000, + "comma_separated_display_args": "--ipython-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-files-max-size-bytes="], - "env_var": "PANTS_LOCAL_STORE_FILES_MAX_SIZE_BYTES", + "display_args": [ + "--ipython-install-from-resolve=" + ], + "env_var": "PANTS_IPYTHON_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "The maximum size in bytes of the local store containing files. Stored below `--local-store-dir`.\n\nNB: This size value bounds the total size of all files, but (due to sharding of the store on disk) it also bounds the per-file size to (VALUE / `--local-store-shard-count`).\n\nThis value doesn't reflect space allocated on disk, or RAM allocated (it may be reflected in VIRT but not RSS). However, the default is lower than you might otherwise choose because macOS creates core dumps that include MMAP'd pages, and setting this too high might cause core dumps to use an unreasonable amount of disk if they are enabled.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--local-store-files-max-size-bytes"], + "scoped_cmd_line_args": [ + "--ipython-install-from-resolve" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--local-store-files-max-size-bytes"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 256000000000 } ] } }, - "PANTS_LOCAL_STORE_PROCESSES_MAX_SIZE_BYTES": { + "PANTS_IPYTHON_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-processes-max-size-bytes=", - "config_key": "local_store_processes_max_size_bytes", - "default": 16000000000, + "comma_separated_display_args": "--ipython-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-processes-max-size-bytes="], - "env_var": "PANTS_LOCAL_STORE_PROCESSES_MAX_SIZE_BYTES", + "display_args": [ + "--ipython-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_IPYTHON_REQUIREMENTS", "fromfile": false, - "help": "The maximum size in bytes of the local store containing process cache entries. Stored below `--local-store-dir`.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-store-processes-max-size-bytes"], + "scoped_cmd_line_args": [ + "--ipython-requirements" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--local-store-processes-max-size-bytes"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 16000000000 + "value": [] } ] } }, - "PANTS_LOCAL_STORE_SHARD_COUNT": { + "PANTS_ISORT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-shard-count=", - "config_key": "local_store_shard_count", - "default": 16, + "comma_separated_display_args": "--isort-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-shard-count="], - "env_var": "PANTS_LOCAL_STORE_SHARD_COUNT", + "display_args": [ + "--isort-args=\"[, , ...]\"" + ], + "env_var": "PANTS_ISORT_ARGS", "fromfile": false, - "help": "The number of LMDB shards created for the local store. This setting also impacts the maximum size of stored files: see `--local-store-files-max-size-bytes` for more information.\n\nBecause LMDB allows only one simultaneous writer per database, the store is split into multiple shards to allow for more concurrent writers. The faster your disks are, the fewer shards you are likely to need for performance.\n\nNB: After changing this value, you will likely want to manually clear the `--local-store-dir` directory to clear the space used by old shard layouts.", + "help": "Arguments to pass directly to isort, e.g. `--isort-args='--case-sensitive --trailing-comma'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-store-shard-count"], + "scoped_cmd_line_args": [ + "--isort-args" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--local-store-shard-count"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 16 + "value": [] } ] } }, - "PANTS_LOGDIR": { + "PANTS_ISORT_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--logdir=", - "config_key": "logdir", - "default": null, + "comma_separated_display_args": "--isort-config=\"[, , ...]\"", + "config_key": "config", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--logdir="], - "env_var": "PANTS_LOGDIR", + "display_args": [ + "--isort-config=\"[, , ...]\"" + ], + "env_var": "PANTS_ISORT_CONFIG", "fromfile": false, - "help": "Write logs to files under this directory.", + "help": "Path to config file understood by isort (https://pycqa.github.io/isort/docs/configuration/config_files/).\n\nSetting this option will disable `[isort].config_discovery`. Use this option if the config is located in a non-standard location.\n\nIf using isort 5+ and you specify only 1 config file, Pants will configure isort's argv to point to your config file.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--logdir"], + "scoped_cmd_line_args": [ + "--isort-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--logdir"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_LOG_LEVELS_BY_TARGET": { + "PANTS_ISORT_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--log-levels-by-target=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "log_levels_by_target", - "default": {}, + "comma_separated_display_args": "--[no-]isort-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--log-levels-by-target=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]isort-config-discovery" ], - "env_var": "PANTS_LOG_LEVELS_BY_TARGET", + "env_var": "PANTS_ISORT_CONFIG_DISCOVERY", "fromfile": false, - "help": "Set a more specific logging level for one or more logging targets. The names of logging targets are specified in log strings when the --show-log-target option is set. The logging levels are one of: \"error\", \"warn\", \"info\", \"debug\", \"trace\". All logging targets not specified here use the global log level set with `--level`. For example, you can set `--log-levels-by-target='{\"workunit_store\": \"info\", \"pants.engine.rules\": \"warn\"}'`.", + "help": "If true, Pants will include any relevant config files during runs (`.isort.cfg`, `pyproject.toml`, `setup.cfg`, `tox.ini` and `.editorconfig`).\n\nUse `[isort].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--log-levels-by-target"], + "scoped_cmd_line_args": [ + "--isort-config-discovery", + "--no-isort-config-discovery" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--log-levels-by-target"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": true } ] } }, - "PANTS_LOG_SHOW_RUST_3RDPARTY": { + "PANTS_ISORT_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]log-show-rust-3rdparty", - "config_key": "log_show_rust_3rdparty", - "default": false, + "comma_separated_display_args": "--isort-console-script=", + "config_key": "console_script", + "default": "isort", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]log-show-rust-3rdparty"], - "env_var": "PANTS_LOG_SHOW_RUST_3RDPARTY", + "display_args": [ + "--isort-console-script=" + ], + "env_var": "PANTS_ISORT_CONSOLE_SCRIPT", "fromfile": false, - "help": "Whether to show/hide logging done by 3rdparty Rust crates used by the Pants engine.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--log-show-rust-3rdparty", - "--no-log-show-rust-3rdparty" + "--isort-console-script" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--log-show-rust-3rdparty", - "--no-log-show-rust-3rdparty" + "--console-script" ], "value_history": { "ranked_values": [ @@ -11926,95 +13552,105 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "isort" } ] } }, - "PANTS_LOOP": { + "PANTS_ISORT_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]loop", - "config_key": "loop", - "default": false, + "comma_separated_display_args": "--isort-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]loop"], - "env_var": "PANTS_LOOP", + "display_args": [ + "--isort-entry-point=" + ], + "env_var": "PANTS_ISORT_ENTRY_POINT", "fromfile": false, - "help": "Run goals continuously as file changes are detected.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--loop", "--no-loop"], + "scoped_cmd_line_args": [ + "--isort-entry-point" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--loop", "--no-loop"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, - "PANTS_LOOP_MAX": { + "PANTS_ISORT_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--loop-max=", - "config_key": "loop_max", - "default": 4294967296, + "comma_separated_display_args": "--isort-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--loop-max="], - "env_var": "PANTS_LOOP_MAX", + "display_args": [ + "--isort-install-from-resolve=" + ], + "env_var": "PANTS_ISORT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "The maximum number of times to loop when `--loop` is specified.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--loop-max"], + "scoped_cmd_line_args": [ + "--isort-install-from-resolve" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--loop-max"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 4294967296 } ] } }, - "PANTS_MYPY_ARGS": { + "PANTS_ISORT_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--isort-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-args=\"[, , ...]\""], - "env_var": "PANTS_MYPY_ARGS", + "display_args": [ + "--isort-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_ISORT_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Arguments to pass directly to MyPy, e.g. `--mypy-args='--python-version 3.7 --disallow-any-expr'`.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-args"], + "scoped_cmd_line_args": [ + "--isort-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -12025,60 +13661,78 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_MYPY_CONFIG": { + "PANTS_ISORT_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--isort-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-config="], - "env_var": "PANTS_MYPY_CONFIG", + "display_args": [ + "--isort-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_ISORT_REQUIREMENTS", "fromfile": false, - "help": "Path to a config file understood by MyPy (https://mypy.readthedocs.io/en/stable/config_file.html).\n\nSetting this option will disable `[mypy].config_discovery`. Use this option if the config is located in a non-standard location.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-config"], + "scoped_cmd_line_args": [ + "--isort-requirements" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_MYPY_CONFIG_DISCOVERY": { + "PANTS_ISORT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]mypy-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]isort-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]mypy-config-discovery"], - "env_var": "PANTS_MYPY_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]isort-skip" + ], + "env_var": "PANTS_ISORT_SKIP", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`mypy.ini`, `.mypy.ini`, and `setup.cfg`).\n\nUse `[mypy].config` instead if your config is in a non-standard location.", + "help": "If true, don't use isort when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--mypy-config-discovery", - "--no-mypy-config-discovery" + "--isort-skip", + "--no-isort-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -12089,153 +13743,161 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_MYPY_CONSOLE_SCRIPT": { + "PANTS_JARJAR_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-console-script=", - "config_key": "console_script", - "default": "mypy", + "comma_separated_display_args": "--jarjar-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.eed3si9n.jarjar:jarjar-assembly:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-console-script="], - "env_var": "PANTS_MYPY_CONSOLE_SCRIPT", + "display_args": [ + "--jarjar-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_JARJAR_ARTIFACTS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[jarjar].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-console-script"], + "scoped_cmd_line_args": [ + "--jarjar-artifacts" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "mypy" + "value": [ + "com.eed3si9n.jarjar:jarjar-assembly:{version}" + ] } ] } }, - "PANTS_MYPY_ENTRY_POINT": { + "PANTS_JARJAR_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--jarjar-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-entry-point="], - "env_var": "PANTS_MYPY_ENTRY_POINT", + "display_args": [ + "--jarjar-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_JARJAR_JVM_OPTIONS", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "List of JVM options to pass to `jarjar` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-entry-point"], + "scoped_cmd_line_args": [ + "--jarjar-jvm-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_MYPY_INSTALL_FROM_RESOLVE": { + "PANTS_JARJAR_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--jarjar-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-install-from-resolve="], - "env_var": "PANTS_MYPY_INSTALL_FROM_RESOLVE", + "display_args": [ + "--jarjar-lockfile=" + ], + "env_var": "PANTS_JARJAR_LOCKFILE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "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.19.0rc5/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": ["--mypy-install-from-resolve"], + "scoped_cmd_line_args": [ + "--jarjar-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "" } ] } }, - "PANTS_MYPY_INTERPRETER_CONSTRAINTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--mypy-interpreter-constraints=\"['', '', ...]\"" + "PANTS_JARJAR_MISPLACED_CLASS_STRATEGY": { + "choices": [ + "fatal", + "skip", + "omit", + "move" ], - "env_var": "PANTS_MYPY_INTERPRETER_CONSTRAINTS", - "fromfile": false, - "help": "Python interpreter constraints for this tool.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--mypy-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": ["CPython>=3.7,<4"] - } - ] - } - }, - "PANTS_MYPY_PROTOBUF_INSTALL_FROM_RESOLVE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-protobuf-install-from-resolve=", - "config_key": "install_from_resolve", + "comma_separated_choices": "fatal, skip, omit, move", + "comma_separated_display_args": "--jarjar-misplaced-class-strategy=", + "config_key": "misplaced_class_strategy", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-protobuf-install-from-resolve="], - "env_var": "PANTS_MYPY_PROTOBUF_INSTALL_FROM_RESOLVE", + "display_args": [ + "--jarjar-misplaced-class-strategy=" + ], + "env_var": "PANTS_JARJAR_MISPLACED_CLASS_STRATEGY", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "The strategy to use when processing class files that are in the wrong package.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-protobuf-install-from-resolve"], + "scoped_cmd_line_args": [ + "--jarjar-misplaced-class-strategy" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "MisplacedClassStrategy", + "unscoped_cmd_line_args": [ + "--misplaced-class-strategy" + ], "value_history": { "ranked_values": [ { @@ -12246,94 +13908,110 @@ ] } }, - "PANTS_MYPY_PROTOBUF_INTERPRETER_CONSTRAINTS": { + "PANTS_JARJAR_SKIP_MANIFEST": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]jarjar-skip-manifest", + "config_key": "skip_manifest", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"" + "--[no-]jarjar-skip-manifest" ], - "env_var": "PANTS_MYPY_PROTOBUF_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_JARJAR_SKIP_MANIFEST", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Skip the processing of the JAR manifest.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-protobuf-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--jarjar-skip-manifest", + "--no-jarjar-skip-manifest" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip-manifest", + "--no-skip-manifest" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": false } ] } }, - "PANTS_MYPY_PROTOBUF_REQUIREMENTS": { + "PANTS_JARJAR_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-protobuf-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--jarjar-version=", + "config_key": "version", + "default": "1.8.1", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--mypy-protobuf-requirements=\"['', '', ...]\"" + "--jarjar-version=" ], - "env_var": "PANTS_MYPY_PROTOBUF_REQUIREMENTS", + "env_var": "PANTS_JARJAR_VERSION", "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": "Version string for the tool. This is available for substitution in the `[jarjar].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-protobuf-requirements"], + "scoped_cmd_line_args": [ + "--jarjar-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "1.8.1" } ] } }, - "PANTS_MYPY_REQUIREMENTS": { + "PANTS_JAVAC_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--javac-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-requirements=\"['', '', ...]\""], - "env_var": "PANTS_MYPY_REQUIREMENTS", + "display_args": [ + "--javac-args=\"[, , ...]\"" + ], + "env_var": "PANTS_JAVAC_ARGS", "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": "Arguments to pass directly to javac, e.g. `--javac-args='-g -deprecation'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-requirements"], + "scoped_cmd_line_args": [ + "--javac-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -12349,24 +14027,32 @@ ] } }, - "PANTS_MYPY_SKIP": { + "PANTS_JAVAC_TAILOR_SOURCE_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]mypy-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--[no-]javac-tailor-source-targets", + "config_key": "tailor_source_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]mypy-skip"], - "env_var": "PANTS_MYPY_SKIP", + "display_args": [ + "--[no-]javac-tailor-source-targets" + ], + "env_var": "PANTS_JAVAC_TAILOR_SOURCE_TARGETS", "fromfile": false, - "help": "If true, don't use MyPy when running `pants check`.", + "help": "If true, add `java_sources` and `java_tests` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-skip", "--no-mypy-skip"], + "scoped_cmd_line_args": [ + "--javac-tailor-source-targets", + "--no-javac-tailor-source-targets" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--tailor-source-targets", + "--no-tailor-source-targets" + ], "value_history": { "ranked_values": [ { @@ -12377,31 +14063,37 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_MYPY_SOURCE_PLUGINS": { + "PANTS_JAVA_AVRO_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-source-plugins=\"[, , ...]\"", - "config_key": "source_plugins", - "default": [], + "comma_separated_display_args": "--java-avro-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "org.apache.avro:avro-tools:{version}" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--mypy-source-plugins=\"[, , ...]\"" + "--java-avro-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_MYPY_SOURCE_PLUGINS", + "env_var": "PANTS_JAVA_AVRO_ARTIFACTS", "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/v2.19/docs/python-check-goal.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[java-avro].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-source-plugins"], + "scoped_cmd_line_args": [ + "--java-avro-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--source-plugins"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -12412,135 +14104,156 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "org.apache.avro:avro-tools:{version}" + ] } ] } }, - "PANTS_NAMED_CACHES_DIR": { + "PANTS_JAVA_AVRO_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--named-caches-dir=", - "config_key": "named_caches_dir", - "default": "/home/josh/.cache/pants/named_caches", + "comma_separated_display_args": "--java-avro-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--named-caches-dir="], - "env_var": "PANTS_NAMED_CACHES_DIR", + "display_args": [ + "--java-avro-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_JAVA_AVRO_JVM_OPTIONS", "fromfile": false, - "help": "Directory to use for named global caches for tools and processes with trusted, concurrency-safe caches.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "help": "List of JVM options to pass to `java-avro` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--named-caches-dir"], + "scoped_cmd_line_args": [ + "--java-avro-jvm-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--named-caches-dir"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "/home/josh/.cache/pants/named_caches" + "value": [] } ] } }, - "PANTS_NODEJS_COREPACK_ENV_VARS": { + "PANTS_JAVA_AVRO_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-corepack-env-vars=\"[, , ...]\"", - "config_key": "corepack_env_vars", - "default": [], + "comma_separated_display_args": "--java-avro-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-corepack-env-vars=\"[, , ...]\"" + "--java-avro-lockfile=" ], - "env_var": "PANTS_NODEJS_COREPACK_ENV_VARS", + "env_var": "PANTS_JAVA_AVRO_LOCKFILE", "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.", + "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.19.0rc5/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": ["--nodejs-corepack-env-vars"], - "target_field_name": "nodejs_corepack_env_vars", - "typ": "list", - "unscoped_cmd_line_args": ["--corepack-env-vars"], + "scoped_cmd_line_args": [ + "--java-avro-lockfile" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "" } ] } }, - "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS": { + "PANTS_JAVA_AVRO_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [""], + "comma_separated_display_args": "--java-avro-version=", + "config_key": "version", + "default": "1.11.0", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-executable-search-paths=\"[, , ...]\"" + "--java-avro-version=" ], - "env_var": "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS", + "env_var": "PANTS_JAVA_AVRO_VERSION", "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.", + "help": "Version string for the tool. This is available for substitution in the `[java-avro].artifacts` option by including the string `{version}`.", "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"], + "scoped_cmd_line_args": [ + "--java-avro-version" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": "1.11.0" } ] } }, - "PANTS_NODEJS_INFER_IMPORTS": { + "PANTS_JAVA_INFER_CONSUMED_TYPES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]nodejs-infer-imports", - "config_key": "imports", + "comma_separated_display_args": "--[no-]java-infer-consumed-types", + "config_key": "consumed_types", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]nodejs-infer-imports"], - "env_var": "PANTS_NODEJS_INFER_IMPORTS", + "display_args": [ + "--[no-]java-infer-consumed-types" + ], + "env_var": "PANTS_JAVA_INFER_CONSUMED_TYPES", "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.", + "help": "Infer a target's dependencies by parsing consumed types from sources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--nodejs-infer-imports", - "--no-nodejs-infer-imports" + "--java-infer-consumed-types", + "--no-java-infer-consumed-types" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "unscoped_cmd_line_args": [ + "--consumed-types", + "--no-consumed-types" + ], "value_history": { "ranked_values": [ { @@ -12556,29 +14269,31 @@ ] } }, - "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS": { + "PANTS_JAVA_INFER_IMPORTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]nodejs-infer-package-json-entry-points", - "config_key": "package_json_entry_points", + "comma_separated_display_args": "--[no-]java-infer-imports", + "config_key": "imports", "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", + "display_args": [ + "--[no-]java-infer-imports" + ], + "env_var": "PANTS_JAVA_INFER_IMPORTS", "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.", + "help": "Infer a target's dependencies by parsing import statements from sources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--nodejs-infer-package-json-entry-points", - "--no-nodejs-infer-package-json-entry-points" + "--java-infer-imports", + "--no-java-infer-imports" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--package-json-entry-points", - "--no-package-json-entry-points" + "--imports", + "--no-imports" ], "value_history": { "ranked_values": [ @@ -12595,176 +14310,195 @@ ] } }, - "PANTS_NODEJS_KNOWN_VERSIONS": { + "PANTS_JAVA_INFER_THIRD_PARTY_IMPORT_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "v16.15.0|macos_arm64|ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b|29126014", - "v16.15.0|macos_x86_64|a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8|30561503", - "v16.15.0|linux_arm64|b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56|21403276", - "v16.15.0|linux_x86_64|ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372|22031988" - ], + "comma_separated_display_args": "--java-infer-third-party-import-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "third_party_import_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--nodejs-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_NODEJS_KNOWN_VERSIONS", + "display_args": [ + "--java-infer-third-party-import-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_JAVA_INFER_THIRD_PARTY_IMPORT_MAPPING", "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", + "help": "A dictionary mapping a Java package path to a JVM artifact coordinate (GROUP:ARTIFACT) without the version.\n\nSee `jvm_artifact` for more information on the mapping syntax.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-known-versions"], + "scoped_cmd_line_args": [ + "--java-infer-third-party-import-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--third-party-import-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [ - "v16.15.0|macos_arm64|ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b|29126014", - "v16.15.0|macos_x86_64|a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8|30561503", - "v16.15.0|linux_arm64|b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56|21403276", - "v16.15.0|linux_x86_64|ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372|22031988" - ] + "value": {} } ] } }, - "PANTS_NODEJS_PACKAGE_MANAGER": { + "PANTS_JAVA_THRIFT_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-package-manager=", - "config_key": "package_manager", - "default": "npm", + "comma_separated_display_args": "--java-thrift-options=\"['', '', ...]\"", + "config_key": "options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--nodejs-package-manager="], - "env_var": "PANTS_NODEJS_PACKAGE_MANAGER", + "display_args": [ + "--java-thrift-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_JAVA_THRIFT_OPTIONS", "fromfile": false, - "help": "Default Node.js package manager to use.\n\nYou can either rely on this default together with the [nodejs].package_managers option, or specify the `package.json#packageManager` tool and version in the package.json of your project.\n\nSpecifying conflicting package manager versions within a multi-package workspace is an error.", + "help": "Code generation options specific to the Java code generator to pass to the Apache `thrift` binary via the `-gen java` argument. See `thrift -help` for supported values.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-package-manager"], + "scoped_cmd_line_args": [ + "--java-thrift-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--package-manager"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "npm" + "value": [] } ] } }, - "PANTS_NODEJS_PACKAGE_MANAGERS": { + "PANTS_JUNIT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "package_managers", - "default": { - "npm": "8.5.5" - }, + "comma_separated_display_args": "--junit-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"" + "--junit-args=\"[, , ...]\"", + "... -- [ [ [...]]]" ], - "env_var": "PANTS_NODEJS_PACKAGE_MANAGERS", + "env_var": "PANTS_JUNIT_ARGS", "fromfile": false, - "help": "A mapping of package manager versions to semver releases.\n\nMany organizations only need a single version of a package manager, which is a good default and often the simplest thing to do.\n\nThe version download is managed by Corepack. This mapping corresponds to the https://github.com/nodejs/corepack#known-good-releases setting, using the `--activate` flag.", + "help": "Arguments to pass directly to JUnit, e.g. `--junit-args='--disable-ansi-colors'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-package-managers"], + "scoped_cmd_line_args": [ + "--junit-args" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--package-managers"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "npm": "8.5.5" - } + "value": [] } ] } }, - "PANTS_NODEJS_RESOLVES": { + "PANTS_JUNIT_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-resolves=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves", - "default": {}, + "comma_separated_display_args": "--junit-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "org.junit.platform:junit-platform-console:1.7.2", + "org.junit.jupiter:junit-jupiter-engine:{version}", + "org.junit.vintage:junit-vintage-engine:{version}" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-resolves=\"{'key1': val1, 'key2': val2, ...}\"" + "--junit-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_NODEJS_RESOLVES", + "env_var": "PANTS_JUNIT_ARTIFACTS", "fromfile": false, - "help": "A mapping of names to lockfile paths used in your project.\n\nSpecifying a resolve name is optional. If unspecified, the default resolve name is calculated by taking the path from the source root to the directory containing the lockfile and replacing '/' with '.' in that path.\n\nExample: An npm lockfile located at `src/js/package/package-lock.json' will result in a resolve named `js.package`, assuming src/ is a source root.\n\nRun `pants generate-lockfiles` to generate the lockfile(s).", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[junit].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-resolves"], + "scoped_cmd_line_args": [ + "--junit-artifacts" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [ + "org.junit.platform:junit-platform-console:1.7.2", + "org.junit.jupiter:junit-jupiter-engine:{version}", + "org.junit.vintage:junit-vintage-engine:{version}" + ] } ] } }, - "PANTS_NODEJS_SEARCH_PATH": { + "PANTS_JUNIT_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-search-path=\"[, , ...]\"", - "config_key": "search_path", - "default": [""], + "comma_separated_display_args": "--junit-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-search-path=\"[, , ...]\"" + "--junit-jvm-options=\"['', '', ...]\"" ], - "env_var": "PANTS_NODEJS_SEARCH_PATH", + "env_var": "PANTS_JUNIT_JVM_OPTIONS", "fromfile": false, - "help": "A list of paths to search for Node.js distributions.\n\nThis option is only used if a templated url download specified via [nodejs].known_versions does not contain a version matching the configured [nodejs].version range.\n\nYou can specify absolute paths to binaries and/or to directories containing binaries. The order of entries does not matter.\n\nThe following special strings are supported:\n\nFor all runtime environment types:\n\n* ``, the contents of the PATH env var\n\nWhen the environment is a `local_environment` target:\n\n* ``, all Node.js versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF binaries with the version in `BUILD_ROOT/.tool-versions`\n* ``, all NodeJS versions under $NVM_DIR/versions/node\n* ``, the nvm installation with the version in BUILD_ROOT/.nvmrc\nNote that the version in the .nvmrc file has to be on the form \"vX.Y.Z\".", + "help": "List of JVM options to pass to `junit` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-search-path"], - "target_field_name": "nodejs_search_path", + "scoped_cmd_line_args": [ + "--junit-jvm-options" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--search-path"], + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { @@ -12775,74 +14509,76 @@ { "details": "", "rank": "HARDCODED", - "value": [""] + "value": [] } ] } }, - "PANTS_NODEJS_URL_PLATFORM_MAPPING": { + "PANTS_JUNIT_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-x64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-x64" - }, + "comma_separated_display_args": "--junit-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--junit-lockfile=" ], - "env_var": "PANTS_NODEJS_URL_PLATFORM_MAPPING", + "env_var": "PANTS_JUNIT_LOCKFILE", "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`.", + "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.19.0rc5/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": ["--nodejs-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--junit-lockfile" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-x64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-x64" - } + "value": "" } ] } }, - "PANTS_NODEJS_URL_TEMPLATE": { + "PANTS_JUNIT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-url-template=", - "config_key": "url_template", - "default": "https://nodejs.org/dist/{version}/node-{version}-{platform}.tar", + "comma_separated_display_args": "--[no-]junit-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--nodejs-url-template="], - "env_var": "PANTS_NODEJS_URL_TEMPLATE", + "display_args": [ + "--[no-]junit-skip" + ], + "env_var": "PANTS_JUNIT_SKIP", "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/v2.19/docs/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": "If true, don't use JUnit when running `pants test`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-url-template"], + "scoped_cmd_line_args": [ + "--junit-skip", + "--no-junit-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -12853,29 +14589,35 @@ { "details": null, "rank": "HARDCODED", - "value": "https://nodejs.org/dist/{version}/node-{version}-{platform}.tar" + "value": false } ] } }, - "PANTS_NODEJS_VERSION": { + "PANTS_JUNIT_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-version=", + "comma_separated_display_args": "--junit-version=", "config_key": "version", - "default": "v16.15.0", + "default": "5.7.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--nodejs-version="], - "env_var": "PANTS_NODEJS_VERSION", + "display_args": [ + "--junit-version=" + ], + "env_var": "PANTS_JUNIT_VERSION", "fromfile": false, - "help": "Use this version of nodejs.", + "help": "Version string for the tool. This is available for substitution in the `[junit].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-version"], + "scoped_cmd_line_args": [ + "--junit-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -12886,31 +14628,35 @@ { "details": null, "rank": "HARDCODED", - "value": "v16.15.0" + "value": "5.7.2" } ] } }, - "PANTS_OPENAPI_FORMAT_ARGS": { + "PANTS_JVM_DEBUG_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--openapi-format-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--jvm-debug-args=\"['', '', ...]\"", + "config_key": "debug_args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--openapi-format-args=\"[, , ...]\"" + "--jvm-debug-args=\"['', '', ...]\"" ], - "env_var": "PANTS_OPENAPI_FORMAT_ARGS", + "env_var": "PANTS_JVM_DEBUG_ARGS", "fromfile": false, - "help": "Arguments to pass directly to openapi-format, e.g. `--openapi-format-args='--no-sort'`.", + "help": "Extra JVM arguments to use when running tests in debug mode.\n\nFor example, if you want to attach a remote debugger, use something like `['-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005']`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--openapi-format-args"], + "scoped_cmd_line_args": [ + "--jvm-debug-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--debug-args" + ], "value_history": { "ranked_values": [ { @@ -12926,88 +14672,108 @@ ] } }, - "PANTS_OPENAPI_FORMAT_INSTALL_FROM_RESOLVE": { + "PANTS_JVM_DEFAULT_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--openapi-format-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--jvm-default-resolve=", + "config_key": "default_resolve", + "default": "jvm-default", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--openapi-format-install-from-resolve="], - "env_var": "PANTS_OPENAPI_FORMAT_INSTALL_FROM_RESOLVE", + "display_args": [ + "--jvm-default-resolve=" + ], + "env_var": "PANTS_JVM_DEFAULT_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", + "help": "The default value used for the `resolve` and `compatible_resolves` fields.\n\nThe name must be defined as a resolve in `[jvm].resolves`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--openapi-format-install-from-resolve"], + "scoped_cmd_line_args": [ + "--jvm-default-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--default-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - } - ] - } - }, - "PANTS_OPENAPI_FORMAT_SKIP": { + }, + { + "details": null, + "rank": "HARDCODED", + "value": "jvm-default" + } + ] + } + }, + "PANTS_JVM_GLOBAL_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]openapi-format-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--jvm-global-options=\"['', '', ...]\"", + "config_key": "global_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]openapi-format-skip"], - "env_var": "PANTS_OPENAPI_FORMAT_SKIP", + "display_args": [ + "--jvm-global-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_JVM_GLOBAL_OPTIONS", "fromfile": false, - "help": "If true, don't use openapi-format when running `pants fmt` and `pants lint`.", + "help": "List of JVM options to pass to all JVM processes.\n\nOptions set here will be used by any JVM processes required by Pants, with the exception of heap memory settings like `-Xmx`, which need to be set using `[GLOBAL].process_total_child_memory_usage` and `[GLOBAL].process_per_child_memory_usage`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--openapi-format-skip", - "--no-openapi-format-skip" + "--jvm-global-options" + ], + "target_field_name": "jvm_global_options", + "typ": "list", + "unscoped_cmd_line_args": [ + "--global-options" ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_OPENAPI_FORMAT_VERSION": { + "PANTS_JVM_JDK": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--openapi-format-version=", - "config_key": "version", - "default": "openapi-format@1.13.1", + "comma_separated_display_args": "--jvm-jdk=", + "config_key": "jdk", + "default": "temurin:1.11", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--openapi-format-version="], - "env_var": "PANTS_OPENAPI_FORMAT_VERSION", + "display_args": [ + "--jvm-jdk=" + ], + "env_var": "PANTS_JVM_JDK", "fromfile": false, - "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", + "help": "The JDK to use.\n\nThis string will be passed directly to Coursier's `--jvm` parameter. Run `cs java --available` to see a list of available JVM versions on your platform.\n\nIf the string `'system'` is passed, Coursier's `--system-jvm` option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--openapi-format-version"], + "scoped_cmd_line_args": [ + "--jvm-jdk" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--jdk" + ], "value_history": { "ranked_values": [ { @@ -13018,32 +14784,35 @@ { "details": null, "rank": "HARDCODED", - "value": "openapi-format@1.13.1" + "value": "temurin:1.11" } ] } }, - "PANTS_OPENAPI_TAILOR_TARGETS": { + "PANTS_JVM_NAILGUN_REMOTE_CACHE_SPECULATION_DELAY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]openapi-tailor-targets", - "config_key": "tailor_targets", - "default": true, + "comma_separated_display_args": "--jvm-nailgun-remote-cache-speculation-delay=", + "config_key": "nailgun_remote_cache_speculation_delay", + "default": 1000, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]openapi-tailor-targets"], - "env_var": "PANTS_OPENAPI_TAILOR_TARGETS", + "display_args": [ + "--jvm-nailgun-remote-cache-speculation-delay=" + ], + "env_var": "PANTS_JVM_NAILGUN_REMOTE_CACHE_SPECULATION_DELAY", "fromfile": false, - "help": "If true, add `openapi_documents` and `openapi_sources` targets with the `tailor` goal.", + "help": "The time in milliseconds to delay speculation of nailgun processes while reading from the remote cache.\n\nWhen speculating, a remote cache hit will cancel the local copy of a process. But because nailgun does not natively support cancellation, that requires killing a nailgun server, which will mean that future processes take longer to warm up.\n\nThis setting allows for trading off waiting for potentially slow cache entries against potentially having to warm up a new nailgun server.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--openapi-tailor-targets", - "--no-openapi-tailor-targets" + "--jvm-nailgun-remote-cache-speculation-delay" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor-targets", "--no-tailor-targets"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--nailgun-remote-cache-speculation-delay" + ], "value_history": { "ranked_values": [ { @@ -13054,29 +14823,37 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": 1000 } ] } }, - "PANTS_PANTSD": { + "PANTS_JVM_REPRODUCIBLE_JARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pantsd", - "config_key": "pantsd", - "default": true, + "comma_separated_display_args": "--[no-]jvm-reproducible-jars", + "config_key": "reproducible_jars", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pantsd"], - "env_var": "PANTS_PANTSD", + "display_args": [ + "--[no-]jvm-reproducible-jars" + ], + "env_var": "PANTS_JVM_REPRODUCIBLE_JARS", "fromfile": false, - "help": "Enables use of the Pants daemon (pantsd). pantsd can significantly improve runtime performance by lowering per-run startup cost, and by memoizing filesystem operations and rule execution.", + "help": "When enabled, JAR files produced by JVM tools will have timestamps stripped.\n\nBecause some compilers do not support this step as a native operation, it can have a performance cost, and is not enabled by default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsd", "--no-pantsd"], + "scoped_cmd_line_args": [ + "--jvm-reproducible-jars", + "--no-jvm-reproducible-jars" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--pantsd", "--no-pantsd"], + "unscoped_cmd_line_args": [ + "--reproducible-jars", + "--no-reproducible-jars" + ], "value_history": { "ranked_values": [ { @@ -13087,64 +14864,78 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_PANTSD_INVALIDATION_GLOBS": { + "PANTS_JVM_RESOLVES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pantsd-invalidation-globs=\"['', '', ...]\"", - "config_key": "pantsd_invalidation_globs", - "default": [], + "comma_separated_display_args": "--jvm-resolves=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves", + "default": { + "jvm-default": "3rdparty/jvm/default.lock" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pantsd-invalidation-globs=\"['', '', ...]\"" + "--jvm-resolves=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_PANTSD_INVALIDATION_GLOBS", + "env_var": "PANTS_JVM_RESOLVES", "fromfile": false, - "help": "Filesystem events matching any of these globs will trigger a daemon restart. Pants's own code, plugins, and `--pants-config-files` are inherently invalidated.", + "help": "A dictionary mapping resolve names to the path of their lockfile.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsd-invalidation-globs"], + "scoped_cmd_line_args": [ + "--jvm-resolves" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--pantsd-invalidation-globs"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "jvm-default": "3rdparty/jvm/default.lock" + } } ] } }, - "PANTS_PANTSD_MAX_MEMORY_USAGE": { + "PANTS_JVM_TOOL_JDK": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pantsd-max-memory-usage=", - "config_key": "pantsd_max_memory_usage", - "default": "4GiB", + "comma_separated_display_args": "--jvm-tool-jdk=", + "config_key": "tool_jdk", + "default": "temurin:1.11", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pantsd-max-memory-usage="], - "env_var": "PANTS_PANTSD_MAX_MEMORY_USAGE", + "display_args": [ + "--jvm-tool-jdk=" + ], + "env_var": "PANTS_JVM_TOOL_JDK", "fromfile": false, - "help": "The maximum memory usage of the pantsd process.\n\nWhen the maximum memory is exceeded, the daemon will restart gracefully, although all previous in-memory caching will be lost. Setting too low means that you may miss out on some caching, whereas setting too high may over-consume resources and may result in the operating system killing Pantsd due to memory overconsumption (e.g. via the OOM killer).\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.\n\nThere is at most one pantsd process per workspace.", + "help": "The JDK to use when building and running Pants' internal JVM support code and other non-compiler tools. See `jvm` help for supported values.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsd-max-memory-usage"], + "scoped_cmd_line_args": [ + "--jvm-tool-jdk" + ], "target_field_name": null, - "typ": "memory_size", - "unscoped_cmd_line_args": ["--pantsd-max-memory-usage"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--tool-jdk" + ], "value_history": { "ranked_values": [ { @@ -13155,29 +14946,39 @@ { "details": null, "rank": "HARDCODED", - "value": 4294967296 + "value": "temurin:1.11" } ] } }, - "PANTS_PANTSD_PAILGUN_PORT": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pantsd-pailgun-port=", - "config_key": "pantsd_pailgun_port", - "default": 0, + "PANTS_KEEP_SANDBOXES": { + "choices": [ + "always", + "on_failure", + "never" + ], + "comma_separated_choices": "always, on_failure, never", + "comma_separated_display_args": "--keep-sandboxes=", + "config_key": "keep_sandboxes", + "default": "never", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pantsd-pailgun-port="], - "env_var": "PANTS_PANTSD_PAILGUN_PORT", + "display_args": [ + "--keep-sandboxes=" + ], + "env_var": "PANTS_KEEP_SANDBOXES", "fromfile": false, - "help": "The port to bind the Pants nailgun server to. Defaults to a random port.", + "help": "Controls whether Pants will clean up local directories used as chroots for running processes.\n\nPants will log their location so that you can inspect the chroot, and run the `__run.sh` script to recreate the process using the same argv and environment variables used by Pants. This option is useful for debugging.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsd-pailgun-port"], + "scoped_cmd_line_args": [ + "--keep-sandboxes" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--pantsd-pailgun-port"], + "typ": "KeepSandboxes", + "unscoped_cmd_line_args": [ + "--keep-sandboxes" + ], "value_history": { "ranked_values": [ { @@ -13188,62 +14989,115 @@ { "details": null, "rank": "HARDCODED", - "value": 0 + "value": "never" } ] } }, - "PANTS_PANTSD_TIMEOUT_WHEN_MULTIPLE_INVOCATIONS": { + "PANTS_KOTLINC_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pantsd-timeout-when-multiple-invocations=", - "config_key": "pantsd_timeout_when_multiple_invocations", - "default": 60.0, + "comma_separated_display_args": "--kotlinc-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pantsd-timeout-when-multiple-invocations="], - "env_var": "PANTS_PANTSD_TIMEOUT_WHEN_MULTIPLE_INVOCATIONS", + "display_args": [ + "--kotlinc-args=\"[, , ...]\"" + ], + "env_var": "PANTS_KOTLINC_ARGS", "fromfile": false, - "help": "The maximum amount of time to wait for the invocation to start until raising a timeout exception. Because pantsd currently does not support parallel runs, any prior running Pants command must be finished for the current one to start. To never timeout, use the value -1.", + "help": "Arguments to pass directly to kotlinc, e.g. `--kotlinc-args='-Werror'`.\n\nSee https://kotlinlang.org/docs/compiler-reference.html for supported arguments.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsd-timeout-when-multiple-invocations"], + "scoped_cmd_line_args": [ + "--kotlinc-args" + ], "target_field_name": null, - "typ": "float", - "unscoped_cmd_line_args": ["--pantsd-timeout-when-multiple-invocations"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 60.0 + "value": [] } ] } }, - "PANTS_PANTSRC": { + "PANTS_KOTLINC_PLUGINS_FOR_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pantsrc", - "config_key": "pantsrc", + "comma_separated_display_args": "--kotlinc-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "plugins_for_resolve", + "default": {}, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--kotlinc-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_KOTLINC_PLUGINS_FOR_RESOLVE", + "fromfile": false, + "help": "A dictionary, whose keys are the names of each JVM resolve that requires default `kotlinc` plugins, and the value is a comma-separated string consisting of kotlinc plugin names. Each specified plugin must have a corresponding `kotlinc_plugin` target that specifies that name in either its `plugin_name` field or is the same as its target name.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--kotlinc-plugins-for-resolve" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--plugins-for-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} + } + ] + } + }, + "PANTS_KOTLIN_INFER_CONSUMED_TYPES": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]kotlin-infer-consumed-types", + "config_key": "consumed_types", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pantsrc"], - "env_var": "PANTS_PANTSRC", + "display_args": [ + "--[no-]kotlin-infer-consumed-types" + ], + "env_var": "PANTS_KOTLIN_INFER_CONSUMED_TYPES", "fromfile": false, - "help": "Use pantsrc files located at the paths specified in the global option `pantsrc_files`.", + "help": "Infer a target's dependencies by parsing consumed types from sources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsrc", "--no-pantsrc"], + "scoped_cmd_line_args": [ + "--kotlin-infer-consumed-types", + "--no-kotlin-infer-consumed-types" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--pantsrc", "--no-pantsrc"], + "unscoped_cmd_line_args": [ + "--consumed-types", + "--no-consumed-types" + ], "value_history": { "ranked_values": [ { @@ -13259,182 +15113,232 @@ ] } }, - "PANTS_PANTSRC_FILES": { + "PANTS_KOTLIN_INFER_IMPORTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pantsrc-files=\"[, , ...]\"", - "config_key": "pantsrc_files", - "default": ["/etc/pantsrc", "~/.pants.rc", ".pants.rc"], + "comma_separated_display_args": "--[no-]kotlin-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pantsrc-files=\"[, , ...]\""], - "env_var": "PANTS_PANTSRC_FILES", + "display_args": [ + "--[no-]kotlin-infer-imports" + ], + "env_var": "PANTS_KOTLIN_INFER_IMPORTS", "fromfile": false, - "help": "Override config with values from these files, using syntax matching that of `--pants-config-files`.", + "help": "Infer a target's dependencies by parsing import statements from sources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsrc-files"], + "scoped_cmd_line_args": [ + "--kotlin-infer-imports", + "--no-kotlin-infer-imports" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--pantsrc-files"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--imports", + "--no-imports" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["/etc/pantsrc", "~/.pants.rc", ".pants.rc"] + "value": true } ] } }, - "PANTS_PATHS_FROM": { + "PANTS_KOTLIN_TAILOR_SOURCE_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--paths-from=", - "config_key": "from", - "default": null, + "comma_separated_display_args": "--[no-]kotlin-tailor-source-targets", + "config_key": "tailor_source_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--paths-from="], - "env_var": "PANTS_PATHS_FROM", + "display_args": [ + "--[no-]kotlin-tailor-source-targets" + ], + "env_var": "PANTS_KOTLIN_TAILOR_SOURCE_TARGETS", "fromfile": false, - "help": "The path starting address", + "help": "If true, add `kotlin_sources` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--paths-from"], + "scoped_cmd_line_args": [ + "--kotlin-tailor-source-targets", + "--no-kotlin-tailor-source-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--from"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-source-targets", + "--no-tailor-source-targets" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_PATHS_OUTPUT_FILE": { + "PANTS_KOTLIN_VERSION_FOR_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--paths-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--kotlin-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "version_for_resolve", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--paths-output-file="], - "env_var": "PANTS_PATHS_OUTPUT_FILE", + "display_args": [ + "--kotlin-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_KOTLIN_VERSION_FOR_RESOLVE", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "A dictionary mapping the name of a resolve to the Kotlin version to use for all Kotlin targets consuming that resolve.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--paths-output-file"], + "scoped_cmd_line_args": [ + "--kotlin-version-for-resolve" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--version-for-resolve" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} } ] } }, - "PANTS_PATHS_TO": { + "PANTS_KTLINT_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--paths-to=", - "config_key": "to", - "default": null, + "comma_separated_display_args": "--ktlint-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.pinterest:ktlint:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--paths-to="], - "env_var": "PANTS_PATHS_TO", + "display_args": [ + "--ktlint-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_KTLINT_ARTIFACTS", "fromfile": false, - "help": "The path end address", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[ktlint].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--paths-to"], + "scoped_cmd_line_args": [ + "--ktlint-artifacts" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--to"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "com.pinterest:ktlint:{version}" + ] } ] } }, - "PANTS_PEEK_EXCLUDE_DEFAULTS": { + "PANTS_KTLINT_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]peek-exclude-defaults", - "config_key": "exclude_defaults", - "default": false, + "comma_separated_display_args": "--ktlint-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]peek-exclude-defaults"], - "env_var": "PANTS_PEEK_EXCLUDE_DEFAULTS", + "display_args": [ + "--ktlint-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_KTLINT_JVM_OPTIONS", "fromfile": false, - "help": "Whether to leave off values that match the target-defined default values.", + "help": "List of JVM options to pass to `ktlint` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--peek-exclude-defaults", - "--no-peek-exclude-defaults" + "--ktlint-jvm-options" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--exclude-defaults", "--no-exclude-defaults"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_PEEK_INCLUDE_DEP_RULES": { + "PANTS_KTLINT_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]peek-include-dep-rules", - "config_key": "include_dep_rules", - "default": false, + "comma_separated_display_args": "--ktlint-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]peek-include-dep-rules"], - "env_var": "PANTS_PEEK_INCLUDE_DEP_RULES", + "display_args": [ + "--ktlint-lockfile=" + ], + "env_var": "PANTS_KTLINT_LOCKFILE", "fromfile": false, - "help": "Whether to include `_dependencies_rules`, `_dependents_rules` and `_applicable_dep_rules` that apply to the target and its dependencies.", + "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.19.0rc5/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": [ - "--peek-include-dep-rules", - "--no-peek-include-dep-rules" + "--ktlint-lockfile" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--include-dep-rules", - "--no-include-dep-rules" + "--lockfile" ], "value_history": { "ranked_values": [ @@ -13446,60 +15350,76 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "" } ] } }, - "PANTS_PEEK_OUTPUT_FILE": { + "PANTS_KTLINT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--peek-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--[no-]ktlint-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--peek-output-file="], - "env_var": "PANTS_PEEK_OUTPUT_FILE", + "display_args": [ + "--[no-]ktlint-skip" + ], + "env_var": "PANTS_KTLINT_SKIP", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "If true, don't use Ktlint when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--peek-output-file"], + "scoped_cmd_line_args": [ + "--ktlint-skip", + "--no-ktlint-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_PEX_BINARY_DEFAULTS_EMIT_WARNINGS": { + "PANTS_KTLINT_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pex-binary-defaults-emit-warnings", - "config_key": "emit_warnings", - "default": true, + "comma_separated_display_args": "--ktlint-version=", + "config_key": "version", + "default": "0.45.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pex-binary-defaults-emit-warnings"], - "env_var": "PANTS_PEX_BINARY_DEFAULTS_EMIT_WARNINGS", + "display_args": [ + "--ktlint-version=" + ], + "env_var": "PANTS_KTLINT_VERSION", "fromfile": false, - "help": "Whether built PEX binaries should emit PEX warnings at runtime by default.\n\nCan be overridden by specifying the `emit_warnings` parameter of individual `pex_binary` targets", + "help": "Version string for the tool. This is available for substitution in the `[ktlint].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pex-binary-defaults-emit-warnings", - "--no-pex-binary-defaults-emit-warnings" + "--ktlint-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--emit-warnings", "--no-emit-warnings"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -13510,34 +15430,34 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "0.45.2" } ] } }, - "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS": { + "PANTS_KUBECONFORM_CONCURRENCY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pex-binary-defaults-resolve-local-platforms", - "config_key": "resolve_local_platforms", - "default": false, + "comma_separated_display_args": "--kubeconform-concurrency=", + "config_key": "concurrency", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pex-binary-defaults-resolve-local-platforms"], - "env_var": "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS", + "display_args": [ + "--kubeconform-concurrency=" + ], + "env_var": "PANTS_KUBECONFORM_CONCURRENCY", "fromfile": false, - "help": "For each of the `platforms` specified for a `pex_binary` target, attempt to find a local interpreter that matches.\n\nIf a matching interpreter is found, use the interpreter to resolve distributions and build any that are only available in source distribution form. If no matching interpreter is found (or if this option is `False`), resolve for the platform by accepting only pre-built binary distributions (wheels).", + "help": "Number of workers used by Kubeconform to validate resources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pex-binary-defaults-resolve-local-platforms", - "--no-pex-binary-defaults-resolve-local-platforms" + "--kubeconform-concurrency" ], "target_field_name": null, - "typ": "bool", + "typ": "int", "unscoped_cmd_line_args": [ - "--resolve-local-platforms", - "--no-resolve-local-platforms" + "--concurrency" ], "value_history": { "ranked_values": [ @@ -13545,38 +15465,39 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, - "PANTS_PEX_CLI_KNOWN_VERSIONS": { + "PANTS_KUBECONFORM_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-cli-known-versions=\"['', '', ...]\"", + "comma_separated_display_args": "--kubeconform-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v2.1.148|macos_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|macos_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|linux_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|linux_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604" + "0.6.2|linux_arm64 |41c15ecbb120042bee0aca8a616e479b555084d5d14bc2e095ed96081c1e9404|5335394", + "0.6.2|linux_x86_64|d2a10db6b78d56de8fe9375b9c351bc573aa218a74da04d114767b505a675090|5739066", + "0.6.2|macos_arm64 |881e3fe2ecdb1cc41bce80013113f24da80e1bec593876ffe88668333ae69b51|5423607", + "0.6.2|macos_x86_64|88e53c2562482ed5ab7434188ca5ba03d3482088ac52d53da7499d579923f2e8|5656173" ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pex-cli-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_PEX_CLI_KNOWN_VERSIONS", + "display_args": [ + "--kubeconform-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_KUBECONFORM_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": ["--pex-cli-known-versions"], + "scoped_cmd_line_args": [ + "--kubeconform-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -13588,98 +15509,128 @@ "details": "", "rank": "HARDCODED", "value": [ - "v2.1.148|macos_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|macos_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|linux_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|linux_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604" + "0.6.2|linux_arm64 |41c15ecbb120042bee0aca8a616e479b555084d5d14bc2e095ed96081c1e9404|5335394", + "0.6.2|linux_x86_64|d2a10db6b78d56de8fe9375b9c351bc573aa218a74da04d114767b505a675090|5739066", + "0.6.2|macos_arm64 |881e3fe2ecdb1cc41bce80013113f24da80e1bec593876ffe88668333ae69b51|5423607", + "0.6.2|macos_x86_64|88e53c2562482ed5ab7434188ca5ba03d3482088ac52d53da7499d579923f2e8|5656173" ] } ] } }, - "PANTS_PEX_CLI_URL_PLATFORM_MAPPING": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pex-cli-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": {}, + "PANTS_KUBECONFORM_OUTPUT_TYPE": { + "choices": [ + "text", + "json", + "tap", + "junit" + ], + "comma_separated_choices": "text, json, tap, junit", + "comma_separated_display_args": "--kubeconform-output-type=", + "config_key": "output_type", + "default": "text", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pex-cli-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--kubeconform-output-type=" ], - "env_var": "PANTS_PEX_CLI_URL_PLATFORM_MAPPING", + "env_var": "PANTS_KUBECONFORM_OUTPUT_TYPE", "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`.", + "help": "Output type used by `kubeconform`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--kubeconform-output-type" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "KubeconformOutput", + "unscoped_cmd_line_args": [ + "--output-type" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "text" } ] } }, - "PANTS_PEX_CLI_URL_TEMPLATE": { + "PANTS_KUBECONFORM_SCHEMA_LOCATIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-cli-url-template=", - "config_key": "url_template", - "default": "https://github.com/pantsbuild/pex/releases/download/{version}/pex", + "comma_separated_display_args": "--kubeconform-schema-locations=\"['', '', ...]\"", + "config_key": "schema_locations", + "default": [ + "default" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pex-cli-url-template="], - "env_var": "PANTS_PEX_CLI_URL_TEMPLATE", + "display_args": [ + "--kubeconform-schema-locations=\"['', '', ...]\"" + ], + "env_var": "PANTS_KUBECONFORM_SCHEMA_LOCATIONS", "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/v2.19/docs/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": "List of schema locations to use to validate the resources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-url-template"], + "scoped_cmd_line_args": [ + "--kubeconform-schema-locations" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--schema-locations" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "https://github.com/pantsbuild/pex/releases/download/{version}/pex" + "value": [ + "default" + ] } ] } }, - "PANTS_PEX_CLI_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--pex-cli-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_KUBECONFORM_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]kubeconform-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pex-cli-use-unsupported-version=" + "--[no-]kubeconform-skip" ], - "env_var": "PANTS_PEX_CLI_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_KUBECONFORM_SKIP", "fromfile": false, - "help": "\nWhat action to take in case the requested version of pex is not supported.\n\nSupported pex versions: >=2.1.135,<3.0\n", + "help": "If true, don't use kubeconform when running `pants check`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--kubeconform-skip", + "--no-kubeconform-skip" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -13690,29 +15641,37 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": false } ] } }, - "PANTS_PEX_CLI_VERSION": { + "PANTS_KUBECONFORM_SUMMARY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-cli-version=", - "config_key": "version", - "default": "v2.1.148", + "comma_separated_display_args": "--[no-]kubeconform-summary", + "config_key": "summary", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pex-cli-version="], - "env_var": "PANTS_PEX_CLI_VERSION", + "display_args": [ + "--[no-]kubeconform-summary" + ], + "env_var": "PANTS_KUBECONFORM_SUMMARY", "fromfile": false, - "help": "Use this version of pex.\n\nSupported pex versions: >=2.1.135,<3.0", + "help": "Set to true to only output check summary.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-version"], + "scoped_cmd_line_args": [ + "--kubeconform-summary", + "--no-kubeconform-summary" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--summary", + "--no-summary" + ], "value_history": { "ranked_values": [ { @@ -13723,69 +15682,83 @@ { "details": null, "rank": "HARDCODED", - "value": "v2.1.148" + "value": false } ] } }, - "PANTS_PEX_EXECUTABLE_SEARCH_PATHS": { + "PANTS_KUBECONFORM_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [""], + "comma_separated_display_args": "--kubeconform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pex-executable-search-paths=\"[, , ...]\"" + "--kubeconform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_PEX_EXECUTABLE_SEARCH_PATHS", + "env_var": "PANTS_KUBECONFORM_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "The PATH value that will be used by the PEX subprocess and any subprocesses it spawns.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", + "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": ["--pex-executable-search-paths"], - "target_field_name": "pex_executable_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--executable-search-paths"], + "scoped_cmd_line_args": [ + "--kubeconform-url-platform-mapping" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [""] + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + } } ] } }, - "PANTS_PEX_VENV_USE_SYMLINKS": { + "PANTS_KUBECONFORM_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pex-venv-use-symlinks", - "config_key": "venv_use_symlinks", - "default": false, + "comma_separated_display_args": "--kubeconform-url-template=", + "config_key": "url_template", + "default": "https://github.com/yannh/kubeconform/releases/download/v{version}/kubeconform-{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pex-venv-use-symlinks"], - "env_var": "PANTS_PEX_VENV_USE_SYMLINKS", + "display_args": [ + "--kubeconform-url-template=" + ], + "env_var": "PANTS_KUBECONFORM_URL_TEMPLATE", "fromfile": false, - "help": "When possible, use venvs whose site-packages directories are populated with symlinks.\n\nEnabling this can save space in the `--named-caches-dir` directory and lead to slightly faster execution times for Pants Python goals. Some distributions do not work with symlinked venvs though, so you may not be able to enable this optimization as a result.", + "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/v2.19/docs/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": [ - "--pex-venv-use-symlinks", - "--no-pex-venv-use-symlinks" + "--kubeconform-url-template" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--venv-use-symlinks", - "--no-venv-use-symlinks" + "--url-template" ], "value_history": { "ranked_values": [ @@ -13797,29 +15770,38 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "https://github.com/yannh/kubeconform/releases/download/v{version}/kubeconform-{platform}.tar.gz" } ] } }, - "PANTS_PEX_VERBOSITY": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pex-verbosity=", - "config_key": "verbosity", - "default": 0, + "PANTS_KUBECONFORM_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--kubeconform-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pex-verbosity="], - "env_var": "PANTS_PEX_VERBOSITY", + "display_args": [ + "--kubeconform-use-unsupported-version=" + ], + "env_var": "PANTS_KUBECONFORM_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Set the verbosity level of PEX logging, from 0 (no logging) up to 9 (max logging).", + "help": "\nWhat action to take in case the requested version of kubeconform is not supported.\n\nSupported kubeconform versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-verbosity"], + "scoped_cmd_line_args": [ + "--kubeconform-use-unsupported-version" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--verbosity"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -13830,95 +15812,123 @@ { "details": null, "rank": "HARDCODED", - "value": 0 + "value": "error" } ] } }, - "PANTS_PHYSICAL_WORKDIR_BASE": { + "PANTS_KUBECONFORM_VERBOSE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-physical-workdir-base=", - "config_key": "pants_physical_workdir_base", - "default": null, + "comma_separated_display_args": "--[no-]kubeconform-verbose", + "config_key": "verbose", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-physical-workdir-base="], - "env_var": "PANTS_PHYSICAL_WORKDIR_BASE", + "display_args": [ + "--[no-]kubeconform-verbose" + ], + "env_var": "PANTS_KUBECONFORM_VERBOSE", "fromfile": false, - "help": "When set, a base directory in which to store `--pants-workdir` contents. If this option is a set, the workdir will be created as symlink into a per-workspace subdirectory.", + "help": "Set to true to increase output verbosity.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-physical-workdir-base"], + "scoped_cmd_line_args": [ + "--kubeconform-verbose", + "--no-kubeconform-verbose" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--pants-physical-workdir-base"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--verbose", + "--no-verbose" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_PLUGINS": { + "PANTS_KUBECONFORM_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--plugins=\"['', '', ...]\"", - "config_key": "plugins", - "default": [], + "comma_separated_display_args": "--kubeconform-version=", + "config_key": "version", + "default": "0.6.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--plugins=\"['', '', ...]\""], - "env_var": "PANTS_PLUGINS", + "display_args": [ + "--kubeconform-version=" + ], + "env_var": "PANTS_KUBECONFORM_VERSION", "fromfile": false, - "help": "Allow backends to be loaded from these plugins (usually released through PyPI). The default backends for each plugin will be loaded automatically. Other backends in a plugin can be loaded by listing them in `backend_packages` in the `[GLOBAL]` scope.", + "help": "Use this version of kubeconform.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--plugins"], + "scoped_cmd_line_args": [ + "--kubeconform-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--plugins"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "0.6.2" } ] } }, - "PANTS_PLUGINS_FORCE_RESOLVE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]plugins-force-resolve", - "config_key": "plugins_force_resolve", - "default": false, + "PANTS_LEVEL": { + "choices": [ + "trace", + "debug", + "info", + "warn", + "error" + ], + "comma_separated_choices": "trace, debug, info, warn, error", + "comma_separated_display_args": "-l=, --level=", + "config_key": "level", + "default": "info", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]plugins-force-resolve"], - "env_var": "PANTS_PLUGINS_FORCE_RESOLVE", + "display_args": [ + "-l=", + "--level=" + ], + "env_var": "PANTS_LEVEL", "fromfile": false, - "help": "Re-resolve plugins, even if previously resolved.", + "help": "Set the logging level.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--plugins-force-resolve", - "--no-plugins-force-resolve" + "-l", + "--level" ], "target_field_name": null, - "typ": "bool", + "typ": "LogLevel", "unscoped_cmd_line_args": [ - "--plugins-force-resolve", - "--no-plugins-force-resolve" + "-l", + "--level" ], "value_history": { "ranked_values": [ @@ -13930,29 +15940,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "info" } ] } }, - "PANTS_PREAMBLE_SKIP": { + "PANTS_LINT_BATCH_SIZE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]preamble-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--lint-batch-size=", + "config_key": "batch_size", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]preamble-skip"], - "env_var": "PANTS_PREAMBLE_SKIP", + "display_args": [ + "--lint-batch-size=" + ], + "env_var": "PANTS_LINT_BATCH_SIZE", "fromfile": false, - "help": "If true, don't use preamble when running `pants fmt`.", + "help": "The target number of files to be included in each linter batch.\n\nLinter processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in linter processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--preamble-skip", "--no-preamble-skip"], + "scoped_cmd_line_args": [ + "--lint-batch-size" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--batch-size" + ], "value_history": { "ranked_values": [ { @@ -13963,64 +15979,76 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": 128 } ] } }, - "PANTS_PREAMBLE_TEMPLATE_BY_GLOBS": { + "PANTS_LINT_ONLY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--preamble-template-by-globs=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "template_by_globs", - "default": {}, + "comma_separated_display_args": "--lint-only=\"['', '', ...]\"", + "config_key": "only", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--preamble-template-by-globs=\"{'key1': val1, 'key2': val2, ...}\"" + "--lint-only=\"['', '', ...]\"" ], - "env_var": "PANTS_PREAMBLE_TEMPLATE_BY_GLOBS", - "fromfile": true, - "help": "Which preamble template to use based on the path globs (relative to the build root).\n\nExample:\n\n {\n '*.rs': '// Copyright (c) $year\\n// Line 2\\n'\n '*.py:!__init__.py': '# Copyright (c) $year\\n# Line 2\\n',\n }\n\nIt might be helpful to load this config from a JSON or YAML file. To do that, set `[preamble].config = '@path/to/config.yaml'`, for example.", + "env_var": "PANTS_LINT_ONLY", + "fromfile": false, + "help": "Only run these linters and skip all others.\n\nThe linter names are outputted at the final summary of running this goal, e.g. `flake8` and `shellcheck`. You can also run `lint --only=fake` to get a list of all activated linters.\n\nYou can repeat this option, e.g. `lint --only=flake8 --only=shellcheck` or `lint --only=['flake8', 'shellcheck']`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--preamble-template-by-globs"], + "scoped_cmd_line_args": [ + "--lint-only" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--template-by-globs"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--only" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [] } ] } }, - "PANTS_PRINT_STACKTRACE": { + "PANTS_LINT_SKIP_FIXERS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]print-stacktrace", - "config_key": "print_stacktrace", + "comma_separated_display_args": "--[no-]lint-skip-fixers", + "config_key": "skip_fixers", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]print-stacktrace"], - "env_var": "PANTS_PRINT_STACKTRACE", + "display_args": [ + "--[no-]lint-skip-fixers" + ], + "env_var": "PANTS_LINT_SKIP_FIXERS", "fromfile": false, - "help": "Print the full exception stack trace for any errors.", + "help": "If true, skip running all fixers in check-only mode.\n\nFYI: when running `pants fix lint ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fix` when running `lint` where possible.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--print-stacktrace", "--no-print-stacktrace"], + "scoped_cmd_line_args": [ + "--lint-skip-fixers", + "--no-lint-skip-fixers" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--print-stacktrace", "--no-print-stacktrace"], + "unscoped_cmd_line_args": [ + "--skip-fixers", + "--no-skip-fixers" + ], "value_history": { "ranked_values": [ { @@ -14036,24 +16064,32 @@ ] } }, - "PANTS_PROCESS_CLEANUP": { + "PANTS_LINT_SKIP_FORMATTERS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]process-cleanup", - "config_key": "process_cleanup", - "default": true, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", - "deprecation_active": true, - "display_args": ["--[no-]process-cleanup"], - "env_var": "PANTS_PROCESS_CLEANUP", + "comma_separated_display_args": "--[no-]lint-skip-formatters", + "config_key": "skip_formatters", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]lint-skip-formatters" + ], + "env_var": "PANTS_LINT_SKIP_FORMATTERS", "fromfile": false, - "help": "If false, Pants will not clean up local directories used as chroots for running processes. Pants will log their location so that you can inspect the chroot, and run the `__run.sh` script to recreate the process using the same argv and environment variables used by Pants. This option is useful for debugging.", - "removal_hint": "Use the `keep_sandboxes` option instead.", - "removal_version": "3.0.0.dev0", - "scoped_cmd_line_args": ["--process-cleanup", "--no-process-cleanup"], + "help": "If true, skip running all formatters in check-only mode.\n\nFYI: when running `pants fmt lint ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fmt` when running `lint` where possible.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--lint-skip-formatters", + "--no-lint-skip-formatters" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--process-cleanup", "--no-process-cleanup"], + "unscoped_cmd_line_args": [ + "--skip-formatters", + "--no-skip-formatters" + ], "value_history": { "ranked_values": [ { @@ -14064,58 +16100,75 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_PROCESS_EXECUTION_CACHE_NAMESPACE": { + "PANTS_LIST_DOCUMENTED": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-execution-cache-namespace=", - "config_key": "process_execution_cache_namespace", - "default": null, + "comma_separated_display_args": "--[no-]list-documented", + "config_key": "documented", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-execution-cache-namespace="], - "env_var": "PANTS_PROCESS_EXECUTION_CACHE_NAMESPACE", + "display_args": [ + "--[no-]list-documented" + ], + "env_var": "PANTS_LIST_DOCUMENTED", "fromfile": false, - "help": "The cache namespace for process execution. Change this value to invalidate every artifact's execution, or to prevent process cache entries from being (re)used for different usecases or users.", + "help": "Print only targets that are documented with a description.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-execution-cache-namespace"], + "scoped_cmd_line_args": [ + "--list-documented", + "--no-list-documented" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--process-execution-cache-namespace"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--documented", + "--no-documented" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_PROCESS_EXECUTION_GRACEFUL_SHUTDOWN_TIMEOUT": { + "PANTS_LIST_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-execution-graceful-shutdown-timeout=", - "config_key": "process_execution_graceful_shutdown_timeout", - "default": 3, + "comma_separated_display_args": "--list-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-execution-graceful-shutdown-timeout="], - "env_var": "PANTS_PROCESS_EXECUTION_GRACEFUL_SHUTDOWN_TIMEOUT", + "display_args": [ + "--list-output-file=" + ], + "env_var": "PANTS_LIST_OUTPUT_FILE", "fromfile": false, - "help": "The time in seconds to wait when gracefully shutting down an interactive process (such as one opened using `pants run`) before killing it.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-execution-graceful-shutdown-timeout"], + "scoped_cmd_line_args": [ + "--list-output-file" + ], "target_field_name": null, - "typ": "int", + "typ": "str", "unscoped_cmd_line_args": [ - "--process-execution-graceful-shutdown-timeout" + "--output-file" ], "value_history": { "ranked_values": [ @@ -14123,38 +16176,33 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 3 } ] } }, - "PANTS_PROCESS_EXECUTION_LOCAL_ENABLE_NAILGUN": { + "PANTS_LIST_SEP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]process-execution-local-enable-nailgun", - "config_key": "process_execution_local_enable_nailgun", - "default": true, + "comma_separated_display_args": "--list-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]process-execution-local-enable-nailgun"], - "env_var": "PANTS_PROCESS_EXECUTION_LOCAL_ENABLE_NAILGUN", + "display_args": [ + "--list-sep=" + ], + "env_var": "PANTS_LIST_SEP", "fromfile": false, - "help": "Whether or not to use nailgun to run JVM requests that are marked as supporting nailgun.", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--process-execution-local-enable-nailgun", - "--no-process-execution-local-enable-nailgun" + "--list-sep" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--process-execution-local-enable-nailgun", - "--no-process-execution-local-enable-nailgun" + "--sep" ], "value_history": { "ranked_values": [ @@ -14166,29 +16214,37 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "\\n" } ] } }, - "PANTS_PROCESS_EXECUTION_LOCAL_PARALLELISM": { + "PANTS_LOCAL_CACHE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-execution-local-parallelism=", - "config_key": "process_execution_local_parallelism", - "default": "#cores", + "comma_separated_display_args": "--[no-]local-cache", + "config_key": "local_cache", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-execution-local-parallelism="], - "env_var": "PANTS_PROCESS_EXECUTION_LOCAL_PARALLELISM", + "display_args": [ + "--[no-]local-cache" + ], + "env_var": "PANTS_LOCAL_CACHE", "fromfile": false, - "help": "Number of concurrent processes that may be executed locally.\n\nThis value is independent of the number of threads that may be used to execute the logic in `@rules` (controlled by `--rule-threads-core`).", + "help": "Whether to cache process executions in a local cache persisted to disk at `--local-store-dir`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-execution-local-parallelism"], + "scoped_cmd_line_args": [ + "--local-cache", + "--no-local-cache" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--process-execution-local-parallelism"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--local-cache", + "--no-local-cache" + ], "value_history": { "ranked_values": [ { @@ -14199,29 +16255,35 @@ { "details": null, "rank": "HARDCODED", - "value": 64 + "value": true } ] } }, - "PANTS_PROCESS_EXECUTION_REMOTE_PARALLELISM": { + "PANTS_LOCAL_EXECUTION_ROOT_DIR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-execution-remote-parallelism=", - "config_key": "process_execution_remote_parallelism", - "default": 128, + "comma_separated_display_args": "--local-execution-root-dir=", + "config_key": "local_execution_root_dir", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-execution-remote-parallelism="], - "env_var": "PANTS_PROCESS_EXECUTION_REMOTE_PARALLELISM", + "display_args": [ + "--local-execution-root-dir=" + ], + "env_var": "PANTS_LOCAL_EXECUTION_ROOT_DIR", "fromfile": false, - "help": "Number of concurrent processes that may be executed remotely.", + "help": "Directory to use for local process execution sandboxing.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-execution-remote-parallelism"], + "scoped_cmd_line_args": [ + "--local-execution-root-dir" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--process-execution-remote-parallelism"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--local-execution-root-dir" + ], "value_history": { "ranked_values": [ { @@ -14232,29 +16294,35 @@ { "details": null, "rank": "HARDCODED", - "value": 128 + "value": "/tmp" } ] } }, - "PANTS_PROCESS_PER_CHILD_MEMORY_USAGE": { + "PANTS_LOCAL_STORE_DIR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-per-child-memory-usage=", - "config_key": "process_per_child_memory_usage", - "default": "512MiB", + "comma_separated_display_args": "--local-store-dir=", + "config_key": "local_store_dir", + "default": "/home/runner/.cache/pants/lmdb_store", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-per-child-memory-usage="], - "env_var": "PANTS_PROCESS_PER_CHILD_MEMORY_USAGE", + "display_args": [ + "--local-store-dir=" + ], + "env_var": "PANTS_LOCAL_STORE_DIR", "fromfile": false, - "help": "The default memory usage for a single \"pooled\" child process.\n\nCheck the documentation for the `--process-total-child-memory-usage` for advice on how to choose an appropriate value for this option.\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.", + "help": "Directory to use for the local file store, which stores the results of subprocesses run by Pants.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-per-child-memory-usage"], + "scoped_cmd_line_args": [ + "--local-store-dir" + ], "target_field_name": null, - "typ": "memory_size", - "unscoped_cmd_line_args": ["--process-per-child-memory-usage"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--local-store-dir" + ], "value_history": { "ranked_values": [ { @@ -14265,137 +16333,113 @@ { "details": null, "rank": "HARDCODED", - "value": 536870912 + "value": "/home/runner/.cache/pants/lmdb_store" } ] } }, - "PANTS_PROCESS_TOTAL_CHILD_MEMORY_USAGE": { + "PANTS_LOCAL_STORE_DIRECTORIES_MAX_SIZE_BYTES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-total-child-memory-usage=", - "config_key": "process_total_child_memory_usage", - "default": null, + "comma_separated_display_args": "--local-store-directories-max-size-bytes=", + "config_key": "local_store_directories_max_size_bytes", + "default": 16000000000, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-total-child-memory-usage="], - "env_var": "PANTS_PROCESS_TOTAL_CHILD_MEMORY_USAGE", + "display_args": [ + "--local-store-directories-max-size-bytes=" + ], + "env_var": "PANTS_LOCAL_STORE_DIRECTORIES_MAX_SIZE_BYTES", "fromfile": false, - "help": "The maximum memory usage for all \"pooled\" child processes.\n\nWhen set, this value participates in precomputing the pool size of child processes used by Pants (pooling is currently used only for the JVM). When not set, Pants will default to spawning `2 * --process-execution-local-parallelism` pooled processes.\n\nA high value would result in a high number of child processes spawned, potentially overconsuming your resources and triggering the OS' OOM killer. A low value would mean a low number of child processes launched and therefore less parallelism for the tasks that need those processes.\n\nIf setting this value, consider also adjusting the value of the `--process-per-child-memory-usage` option.\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.", + "help": "The maximum size in bytes of the local store containing directories. Stored below `--local-store-dir`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-total-child-memory-usage"], + "scoped_cmd_line_args": [ + "--local-store-directories-max-size-bytes" + ], "target_field_name": null, - "typ": "memory_size", - "unscoped_cmd_line_args": ["--process-total-child-memory-usage"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--local-store-directories-max-size-bytes" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 16000000000 } ] } }, - "PANTS_PROTOBUF_JAVA_GRPC_ARTIFACTS": { + "PANTS_LOCAL_STORE_FILES_MAX_SIZE_BYTES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protobuf-java-grpc-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": [ - "io.grpc:protoc-gen-grpc-java:exe:linux-aarch_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:osx-aarch_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:osx-x86_64:{version}" - ], + "comma_separated_display_args": "--local-store-files-max-size-bytes=", + "config_key": "local_store_files_max_size_bytes", + "default": 256000000000, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protobuf-java-grpc-artifacts=\"['', '', ...]\"" + "--local-store-files-max-size-bytes=" ], - "env_var": "PANTS_PROTOBUF_JAVA_GRPC_ARTIFACTS", + "env_var": "PANTS_LOCAL_STORE_FILES_MAX_SIZE_BYTES", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[protobuf-java-grpc].version` option.", + "help": "The maximum size in bytes of the local store containing files. Stored below `--local-store-dir`.\n\nNB: This size value bounds the total size of all files, but (due to sharding of the store on disk) it also bounds the per-file size to (VALUE / `--local-store-shard-count`).\n\nThis value doesn't reflect space allocated on disk, or RAM allocated (it may be reflected in VIRT but not RSS). However, the default is lower than you might otherwise choose because macOS creates core dumps that include MMAP'd pages, and setting this too high might cause core dumps to use an unreasonable amount of disk if they are enabled.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protobuf-java-grpc-artifacts"], + "scoped_cmd_line_args": [ + "--local-store-files-max-size-bytes" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--local-store-files-max-size-bytes" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "io.grpc:protoc-gen-grpc-java:exe:linux-aarch_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:osx-aarch_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:osx-x86_64:{version}" - ] + "value": 256000000000 } ] } }, - "PANTS_PROTOBUF_JAVA_GRPC_JVM_OPTIONS": { + "PANTS_LOCAL_STORE_PROCESSES_MAX_SIZE_BYTES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protobuf-java-grpc-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "comma_separated_display_args": "--local-store-processes-max-size-bytes=", + "config_key": "local_store_processes_max_size_bytes", + "default": 16000000000, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protobuf-java-grpc-jvm-options=\"['', '', ...]\"" + "--local-store-processes-max-size-bytes=" ], - "env_var": "PANTS_PROTOBUF_JAVA_GRPC_JVM_OPTIONS", - "fromfile": false, - "help": "List of JVM options to pass to `protobuf-java-grpc` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--protobuf-java-grpc-jvm-options"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_PROTOBUF_JAVA_GRPC_LOCKFILE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--protobuf-java-grpc-lockfile=", - "config_key": "lockfile", - "default": "", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--protobuf-java-grpc-lockfile="], - "env_var": "PANTS_PROTOBUF_JAVA_GRPC_LOCKFILE", + "env_var": "PANTS_LOCAL_STORE_PROCESSES_MAX_SIZE_BYTES", "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.19.0rc1/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": "The maximum size in bytes of the local store containing process cache entries. Stored below `--local-store-dir`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protobuf-java-grpc-lockfile"], + "scoped_cmd_line_args": [ + "--local-store-processes-max-size-bytes" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--local-store-processes-max-size-bytes" + ], "value_history": { "ranked_values": [ { @@ -14406,29 +16450,35 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": 16000000000 } ] } }, - "PANTS_PROTOBUF_JAVA_GRPC_VERSION": { + "PANTS_LOCAL_STORE_SHARD_COUNT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protobuf-java-grpc-version=", - "config_key": "version", - "default": "1.48.0", + "comma_separated_display_args": "--local-store-shard-count=", + "config_key": "local_store_shard_count", + "default": 16, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--protobuf-java-grpc-version="], - "env_var": "PANTS_PROTOBUF_JAVA_GRPC_VERSION", + "display_args": [ + "--local-store-shard-count=" + ], + "env_var": "PANTS_LOCAL_STORE_SHARD_COUNT", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[protobuf-java-grpc].artifacts` option by including the string `{version}`.", + "help": "The number of LMDB shards created for the local store. This setting also impacts the maximum size of stored files: see `--local-store-files-max-size-bytes` for more information.\n\nBecause LMDB allows only one simultaneous writer per database, the store is split into multiple shards to allow for more concurrent writers. The faster your disks are, the fewer shards you are likely to need for performance.\n\nNB: After changing this value, you will likely want to manually clear the `--local-store-dir` directory to clear the space used by old shard layouts.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protobuf-java-grpc-version"], + "scoped_cmd_line_args": [ + "--local-store-shard-count" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--local-store-shard-count" + ], "value_history": { "ranked_values": [ { @@ -14439,34 +16489,34 @@ { "details": null, "rank": "HARDCODED", - "value": "1.48.0" + "value": 16 } ] } }, - "PANTS_PROTOC_DEPENDENCY_INFERENCE": { + "PANTS_LOGDIR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]protoc-dependency-inference", - "config_key": "dependency_inference", - "default": true, + "comma_separated_display_args": "--logdir=", + "config_key": "logdir", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]protoc-dependency-inference"], - "env_var": "PANTS_PROTOC_DEPENDENCY_INFERENCE", + "display_args": [ + "--logdir=" + ], + "env_var": "PANTS_LOGDIR", "fromfile": false, - "help": "Infer Protobuf dependencies on other Protobuf files by analyzing import statements.", + "help": "Write logs to files under this directory.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--protoc-dependency-inference", - "--no-protoc-dependency-inference" + "--logdir" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--dependency-inference", - "--no-dependency-inference" + "--logdir" ], "value_history": { "ranked_values": [ @@ -14474,84 +16524,75 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } }, - "PANTS_PROTOC_KNOWN_VERSIONS": { + "PANTS_LOG_LEVELS_BY_TARGET": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protoc-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "24.4|linux_arm64 |83ac000ff540e242b6a2ff221a3ac88d2d8e55443801b7a28e9697e5f40e8937|2971447", - "24.4|linux_x86_64|5871398dfd6ac954a6adebf41f1ae3a4de915a36a6ab2fd3e8f2c00d45b50dec|3005774", - "24.4|macos_arm64 |d80544480397fe8a05d966fba291cf1233ad0db0ebc24ec72d7bd077d6e7ac59|2088802", - "24.4|macos_x86_64|6c3b6bf4038d733b6d31f1cc4516a656570b5b5aafb966b650f8182afd0b98cf|2121366", - "3.20.1|linux_arm64 |8a5a51876259f934cd2acc2bc59dba0e9a51bd631a5c37a4b9081d6e4dbc7591|1804837", - "3.20.1|linux_x86_64|3a0e900f9556fbcac4c3a913a00d07680f0fdf6b990a341462d822247b265562|1714731", - "3.20.1|macos_arm64 |b362acae78542872bb6aac8dba73aaf0dc6e94991b8b0a065d6c3e703fec2a8b|2708249", - "3.20.1|macos_x86_64|b4f36b18202d54d343a66eebc9f8ae60809a2a96cc2d1b378137550bbe4cf33c|2708249" - ], + "comma_separated_display_args": "--log-levels-by-target=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "log_levels_by_target", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--protoc-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_PROTOC_KNOWN_VERSIONS", + "display_args": [ + "--log-levels-by-target=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_LOG_LEVELS_BY_TARGET", "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", + "help": "Set a more specific logging level for one or more logging targets. The names of logging targets are specified in log strings when the --show-log-target option is set. The logging levels are one of: \"error\", \"warn\", \"info\", \"debug\", \"trace\". All logging targets not specified here use the global log level set with `--level`. For example, you can set `--log-levels-by-target='{\"workunit_store\": \"info\", \"pants.engine.rules\": \"warn\"}'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-known-versions"], + "scoped_cmd_line_args": [ + "--log-levels-by-target" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--log-levels-by-target" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [ - "24.4|linux_arm64 |83ac000ff540e242b6a2ff221a3ac88d2d8e55443801b7a28e9697e5f40e8937|2971447", - "24.4|linux_x86_64|5871398dfd6ac954a6adebf41f1ae3a4de915a36a6ab2fd3e8f2c00d45b50dec|3005774", - "24.4|macos_arm64 |d80544480397fe8a05d966fba291cf1233ad0db0ebc24ec72d7bd077d6e7ac59|2088802", - "24.4|macos_x86_64|6c3b6bf4038d733b6d31f1cc4516a656570b5b5aafb966b650f8182afd0b98cf|2121366", - "3.20.1|linux_arm64 |8a5a51876259f934cd2acc2bc59dba0e9a51bd631a5c37a4b9081d6e4dbc7591|1804837", - "3.20.1|linux_x86_64|3a0e900f9556fbcac4c3a913a00d07680f0fdf6b990a341462d822247b265562|1714731", - "3.20.1|macos_arm64 |b362acae78542872bb6aac8dba73aaf0dc6e94991b8b0a065d6c3e703fec2a8b|2708249", - "3.20.1|macos_x86_64|b4f36b18202d54d343a66eebc9f8ae60809a2a96cc2d1b378137550bbe4cf33c|2708249" - ] + "value": {} } ] } }, - "PANTS_PROTOC_TAILOR": { + "PANTS_LOG_SHOW_RUST_3RDPARTY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]protoc-tailor", - "config_key": "tailor", - "default": true, + "comma_separated_display_args": "--[no-]log-show-rust-3rdparty", + "config_key": "log_show_rust_3rdparty", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]protoc-tailor"], - "env_var": "PANTS_PROTOC_TAILOR", + "display_args": [ + "--[no-]log-show-rust-3rdparty" + ], + "env_var": "PANTS_LOG_SHOW_RUST_3RDPARTY", "fromfile": false, - "help": "If true, add `protobuf_sources` targets with the `tailor` goal.", + "help": "Whether to show/hide logging done by 3rdparty Rust crates used by the Pants engine.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-tailor", "--no-protoc-tailor"], + "scoped_cmd_line_args": [ + "--log-show-rust-3rdparty", + "--no-log-show-rust-3rdparty" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "unscoped_cmd_line_args": [ + "--log-show-rust-3rdparty", + "--no-log-show-rust-3rdparty" + ], "value_history": { "ranked_values": [ { @@ -14562,74 +16603,76 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_PROTOC_URL_PLATFORM_MAPPING": { + "PANTS_LOOP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protoc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux-aarch_64", - "linux_x86_64": "linux-x86_64", - "macos_arm64": "osx-aarch_64", - "macos_x86_64": "osx-x86_64" - }, + "comma_separated_display_args": "--[no-]loop", + "config_key": "loop", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protoc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]loop" ], - "env_var": "PANTS_PROTOC_URL_PLATFORM_MAPPING", + "env_var": "PANTS_LOOP", "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`.", + "help": "Run goals continuously as file changes are detected.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--loop", + "--no-loop" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--loop", + "--no-loop" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "linux_arm64": "linux-aarch_64", - "linux_x86_64": "linux-x86_64", - "macos_arm64": "osx-aarch_64", - "macos_x86_64": "osx-x86_64" - } + "value": false } ] } }, - "PANTS_PROTOC_URL_TEMPLATE": { + "PANTS_LOOP_MAX": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protoc-url-template=", - "config_key": "url_template", - "default": "https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip", + "comma_separated_display_args": "--loop-max=", + "config_key": "loop_max", + "default": 4294967296, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--protoc-url-template="], - "env_var": "PANTS_PROTOC_URL_TEMPLATE", + "display_args": [ + "--loop-max=" + ], + "env_var": "PANTS_LOOP_MAX", "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/v2.19/docs/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": "The maximum number of times to loop when `--loop` is specified.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-url-template"], + "scoped_cmd_line_args": [ + "--loop-max" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--loop-max" + ], "value_history": { "ranked_values": [ { @@ -14640,158 +16683,188 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip" + "value": 4294967296 } ] } }, - "PANTS_PROTOC_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--protoc-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_MYPY_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--mypy-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protoc-use-unsupported-version=" + "--mypy-args=\"[, , ...]\"" ], - "env_var": "PANTS_PROTOC_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_MYPY_ARGS", "fromfile": false, - "help": "\nWhat action to take in case the requested version of protoc is not supported.\n\nSupported protoc versions: unspecified\n", + "help": "Arguments to pass directly to MyPy, e.g. `--mypy-args='--python-version 3.7 --disallow-any-expr'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--mypy-args" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": [] } ] } }, - "PANTS_PROTOC_VERSION": { + "PANTS_MYPY_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protoc-version=", - "config_key": "version", - "default": "3.20.1", + "comma_separated_display_args": "--mypy-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--protoc-version="], - "env_var": "PANTS_PROTOC_VERSION", + "display_args": [ + "--mypy-config=" + ], + "env_var": "PANTS_MYPY_CONFIG", "fromfile": false, - "help": "Use this version of protoc.", + "help": "Path to a config file understood by MyPy (https://mypy.readthedocs.io/en/stable/config_file.html).\n\nSetting this option will disable `[mypy].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-version"], + "scoped_cmd_line_args": [ + "--mypy-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "3.20.1" } ] } }, - "PANTS_PUBLISH_OUTPUT": { + "PANTS_MYPY_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--publish-output=", - "config_key": "output", - "default": null, + "comma_separated_display_args": "--[no-]mypy-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--publish-output="], - "env_var": "PANTS_PUBLISH_OUTPUT", + "display_args": [ + "--[no-]mypy-config-discovery" + ], + "env_var": "PANTS_MYPY_CONFIG_DISCOVERY", "fromfile": false, - "help": "Filename for JSON structured publish information.", + "help": "If true, Pants will include any relevant config files during runs (`mypy.ini`, `.mypy.ini`, and `setup.cfg`).\n\nUse `[mypy].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--publish-output"], + "scoped_cmd_line_args": [ + "--mypy-config-discovery", + "--no-mypy-config-discovery" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_PYDOCSTYLE_ARGS": { + "PANTS_MYPY_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--mypy-console-script=", + "config_key": "console_script", + "default": "mypy", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pydocstyle-args=\"[, , ...]\""], - "env_var": "PANTS_PYDOCSTYLE_ARGS", + "display_args": [ + "--mypy-console-script=" + ], + "env_var": "PANTS_MYPY_CONSOLE_SCRIPT", "fromfile": false, - "help": "Arguments to pass directly to Pydocstyle, e.g. `--pydocstyle-args='--select=D101,D102'`.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-args"], + "scoped_cmd_line_args": [ + "--mypy-console-script" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "mypy" } ] } }, - "PANTS_PYDOCSTYLE_CONFIG": { + "PANTS_MYPY_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-config=", - "config_key": "config", + "comma_separated_display_args": "--mypy-entry-point=", + "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pydocstyle-config="], - "env_var": "PANTS_PYDOCSTYLE_CONFIG", + "display_args": [ + "--mypy-entry-point=" + ], + "env_var": "PANTS_MYPY_ENTRY_POINT", "fromfile": false, - "help": "Path to a Pydocstyle config file (http://www.pydocstyle.org/en/stable/usage.html#configuration-files).", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-config"], + "scoped_cmd_line_args": [ + "--mypy-entry-point" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -14802,93 +16875,107 @@ ] } }, - "PANTS_PYDOCSTYLE_CONFIG_DISCOVERY": { + "PANTS_MYPY_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pydocstyle-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--mypy-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pydocstyle-config-discovery"], - "env_var": "PANTS_PYDOCSTYLE_CONFIG_DISCOVERY", + "display_args": [ + "--mypy-install-from-resolve=" + ], + "env_var": "PANTS_MYPY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`setup.cfg`, `tox.ini`, `.pydocstyle`, `.pydocstyle.ini`, `.pydocstylerc`, `.pydocstylerc.ini`, and `pyproject.toml`) searching for the configuration file in this particular order.\n\nPlease note that even though `pydocstyle` keeps looking for a configuration file up the directory tree until one is found, Pants will only search for the config files in the repository root (from where you would normally run the `` command).\n\nUse `[pydocstyle].config` instead if your config is in a non-standard location.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ - "--pydocstyle-config-discovery", - "--no-pydocstyle-config-discovery" + "--mypy-install-from-resolve" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } }, - "PANTS_PYDOCSTYLE_CONSOLE_SCRIPT": { + "PANTS_MYPY_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-console-script=", - "config_key": "console_script", - "default": "pydocstyle", + "comma_separated_display_args": "--mypy-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pydocstyle-console-script="], - "env_var": "PANTS_PYDOCSTYLE_CONSOLE_SCRIPT", + "display_args": [ + "--mypy-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_MYPY_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-console-script"], + "scoped_cmd_line_args": [ + "--mypy-interpreter-constraints" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "pydocstyle" + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_PYDOCSTYLE_ENTRY_POINT": { + "PANTS_MYPY_PROTOBUF_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-entry-point=", - "config_key": "entry_point", + "comma_separated_display_args": "--mypy-protobuf-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pydocstyle-entry-point="], - "env_var": "PANTS_PYDOCSTYLE_ENTRY_POINT", + "display_args": [ + "--mypy-protobuf-install-from-resolve=" + ], + "env_var": "PANTS_MYPY_PROTOBUF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--pydocstyle-entry-point"], + "scoped_cmd_line_args": [ + "--mypy-protobuf-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -14899,54 +16986,73 @@ ] } }, - "PANTS_PYDOCSTYLE_INSTALL_FROM_RESOLVE": { + "PANTS_MYPY_PROTOBUF_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pydocstyle-install-from-resolve="], - "env_var": "PANTS_PYDOCSTYLE_INSTALL_FROM_RESOLVE", + "display_args": [ + "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_MYPY_PROTOBUF_INTERPRETER_CONSTRAINTS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-install-from-resolve"], + "scoped_cmd_line_args": [ + "--mypy-protobuf-interpreter-constraints" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_PYDOCSTYLE_INTERPRETER_CONSTRAINTS": { + "PANTS_MYPY_PROTOBUF_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--mypy-protobuf-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pydocstyle-interpreter-constraints=\"['', '', ...]\"" + "--mypy-protobuf-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_PYDOCSTYLE_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_MYPY_PROTOBUF_REQUIREMENTS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--mypy-protobuf-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -14957,29 +17063,35 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [] } ] } }, - "PANTS_PYDOCSTYLE_REQUIREMENTS": { + "PANTS_MYPY_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-requirements=\"['', '', ...]\"", + "comma_separated_display_args": "--mypy-requirements=\"['', '', ...]\"", "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pydocstyle-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYDOCSTYLE_REQUIREMENTS", + "display_args": [ + "--mypy-requirements=\"['', '', ...]\"" + ], + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-requirements"], + "scoped_cmd_line_args": [ + "--mypy-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -14995,24 +17107,32 @@ ] } }, - "PANTS_PYDOCSTYLE_SKIP": { + "PANTS_MYPY_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pydocstyle-skip", + "comma_separated_display_args": "--[no-]mypy-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pydocstyle-skip"], - "env_var": "PANTS_PYDOCSTYLE_SKIP", + "display_args": [ + "--[no-]mypy-skip" + ], + "env_var": "PANTS_MYPY_SKIP", "fromfile": false, - "help": "If true, don't use Pydocstyle when running `pants lint`.", + "help": "If true, don't use MyPy when running `pants check`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-skip", "--no-pydocstyle-skip"], + "scoped_cmd_line_args": [ + "--mypy-skip", + "--no-mypy-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -15028,24 +17148,30 @@ ] } }, - "PANTS_PYLINT_ARGS": { + "PANTS_MYPY_SOURCE_PLUGINS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--mypy-source-plugins=\"[, , ...]\"", + "config_key": "source_plugins", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-args=\"[, , ...]\""], - "env_var": "PANTS_PYLINT_ARGS", + "display_args": [ + "--mypy-source-plugins=\"[, , ...]\"" + ], + "env_var": "PANTS_MYPY_SOURCE_PLUGINS", "fromfile": false, - "help": "Arguments to pass directly to Pylint, e.g. `--pylint-args='--ignore=foo.py,bar.py --disable=C0330,W0311'`.", + "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/v2.19/docs/python-check-goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-args"], + "scoped_cmd_line_args": [ + "--mypy-source-plugins" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--source-plugins" + ], "value_history": { "ranked_values": [ { @@ -15061,177 +17187,238 @@ ] } }, - "PANTS_PYLINT_CONFIG": { + "PANTS_NAMED_CACHES_DIR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--named-caches-dir=", + "config_key": "named_caches_dir", + "default": "/home/runner/.cache/pants/named_caches", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-config="], - "env_var": "PANTS_PYLINT_CONFIG", + "display_args": [ + "--named-caches-dir=" + ], + "env_var": "PANTS_NAMED_CACHES_DIR", "fromfile": false, - "help": "Path to a config file understood by Pylint (http://pylint.pycqa.org/en/latest/user_guide/run.html#command-line-options).\n\nSetting this option will disable `[pylint].config_discovery`. Use this option if the config is located in a non-standard location.", + "help": "Directory to use for named global caches for tools and processes with trusted, concurrency-safe caches.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-config"], + "scoped_cmd_line_args": [ + "--named-caches-dir" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--named-caches-dir" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/home/runner/.cache/pants/named_caches" } ] } }, - "PANTS_PYLINT_CONFIG_DISCOVERY": { + "PANTS_NODEJS_COREPACK_ENV_VARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pylint-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--nodejs-corepack-env-vars=\"[, , ...]\"", + "config_key": "corepack_env_vars", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pylint-config-discovery"], - "env_var": "PANTS_PYLINT_CONFIG_DISCOVERY", + "display_args": [ + "--nodejs-corepack-env-vars=\"[, , ...]\"" + ], + "env_var": "PANTS_NODEJS_COREPACK_ENV_VARS", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.pylintrc`, `pylintrc`, `pyproject.toml`, and `setup.cfg`).\n\nUse `[pylint].config` instead if your config is in a non-standard location.", + "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": [ - "--pylint-config-discovery", - "--no-pylint-config-discovery" + "--nodejs-corepack-env-vars" + ], + "target_field_name": "nodejs_corepack_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--corepack-env-vars" ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } }, - "PANTS_PYLINT_CONSOLE_SCRIPT": { + "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-console-script=", - "config_key": "console_script", - "default": "pylint", + "comma_separated_display_args": "--nodejs-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-console-script="], - "env_var": "PANTS_PYLINT_CONSOLE_SCRIPT", + "display_args": [ + "--nodejs-executable-search-paths=\"[, , ...]\"" + ], + "env_var": "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "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": ["--pylint-console-script"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "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": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "pylint" + "value": [ + "" + ] } ] } }, - "PANTS_PYLINT_ENTRY_POINT": { + "PANTS_NODEJS_INFER_IMPORTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]nodejs-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-entry-point="], - "env_var": "PANTS_PYLINT_ENTRY_POINT", + "display_args": [ + "--[no-]nodejs-infer-imports" + ], + "env_var": "PANTS_NODEJS_INFER_IMPORTS", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "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": ["--pylint-entry-point"], + "scoped_cmd_line_args": [ + "--nodejs-infer-imports", + "--no-nodejs-infer-imports" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "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_PYLINT_INSTALL_FROM_RESOLVE": { + "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-install-from-resolve=", - "config_key": "install_from_resolve", - "default": 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": ["--pylint-install-from-resolve="], - "env_var": "PANTS_PYLINT_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]nodejs-infer-package-json-entry-points" + ], + "env_var": "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "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": ["--pylint-install-from-resolve"], + "scoped_cmd_line_args": [ + "--nodejs-infer-package-json-entry-points", + "--no-nodejs-infer-package-json-entry-points" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "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_PYLINT_REQUIREMENTS": { + "PANTS_NODEJS_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--nodejs-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v16.15.0|macos_arm64|ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b|29126014", + "v16.15.0|macos_x86_64|a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8|30561503", + "v16.15.0|linux_arm64|b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56|21403276", + "v16.15.0|linux_x86_64|ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372|22031988" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYLINT_REQUIREMENTS", + "display_args": [ + "--nodejs-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_NODEJS_KNOWN_VERSIONS", "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": "\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": ["--pylint-requirements"], + "scoped_cmd_line_args": [ + "--nodejs-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -15242,29 +17429,40 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "v16.15.0|macos_arm64|ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b|29126014", + "v16.15.0|macos_x86_64|a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8|30561503", + "v16.15.0|linux_arm64|b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56|21403276", + "v16.15.0|linux_x86_64|ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372|22031988" + ] } ] } }, - "PANTS_PYLINT_SKIP": { + "PANTS_NODEJS_PACKAGE_MANAGER": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pylint-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--nodejs-package-manager=", + "config_key": "package_manager", + "default": "npm", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pylint-skip"], - "env_var": "PANTS_PYLINT_SKIP", + "display_args": [ + "--nodejs-package-manager=" + ], + "env_var": "PANTS_NODEJS_PACKAGE_MANAGER", "fromfile": false, - "help": "If true, don't use Pylint when running `pants lint`.", + "help": "Default Node.js package manager to use.\n\nYou can either rely on this default together with the [nodejs].package_managers option, or specify the `package.json#packageManager` tool and version in the package.json of your project.\n\nSpecifying conflicting package manager versions within a multi-package workspace is an error.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-skip", "--no-pylint-skip"], + "scoped_cmd_line_args": [ + "--nodejs-package-manager" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--package-manager" + ], "value_history": { "ranked_values": [ { @@ -15275,64 +17473,119 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "npm" } ] } }, - "PANTS_PYLINT_SOURCE_PLUGINS": { + "PANTS_NODEJS_PACKAGE_MANAGERS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-source-plugins=\"[, , ...]\"", - "config_key": "source_plugins", - "default": [], + "comma_separated_display_args": "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "package_managers", + "default": { + "npm": "8.5.5" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pylint-source-plugins=\"[, , ...]\"" + "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_PYLINT_SOURCE_PLUGINS", + "env_var": "PANTS_NODEJS_PACKAGE_MANAGERS", "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/v2.19/docs/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/v2.19/docs/python-lockfiles#lockfiles-for-tools.", + "help": "A mapping of package manager versions to semver releases.\n\nMany organizations only need a single version of a package manager, which is a good default and often the simplest thing to do.\n\nThe version download is managed by Corepack. This mapping corresponds to the https://github.com/nodejs/corepack#known-good-releases setting, using the `--activate` flag.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-source-plugins"], + "scoped_cmd_line_args": [ + "--nodejs-package-managers" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--source-plugins"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--package-managers" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "npm": "8.5.5" + } } ] } }, - "PANTS_PYOXIDIZER_ARGS": { + "PANTS_NODEJS_RESOLVES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--nodejs-resolves=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyoxidizer-args=\"[, , ...]\""], - "env_var": "PANTS_PYOXIDIZER_ARGS", + "display_args": [ + "--nodejs-resolves=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_NODEJS_RESOLVES", "fromfile": false, - "help": "Arguments to pass directly to PyOxidizer, e.g. `--pyoxidizer-args='--release'`.", + "help": "A mapping of names to lockfile paths used in your project.\n\nSpecifying a resolve name is optional. If unspecified, the default resolve name is calculated by taking the path from the source root to the directory containing the lockfile and replacing '/' with '.' in that path.\n\nExample: An npm lockfile located at `src/js/package/package-lock.json' will result in a resolve named `js.package`, assuming src/ is a source root.\n\nRun `pants generate-lockfiles` to generate the lockfile(s).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-args"], + "scoped_cmd_line_args": [ + "--nodejs-resolves" + ], "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} + } + ] + } + }, + "PANTS_NODEJS_SEARCH_PATH": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nodejs-search-path=\"[, , ...]\"", + "config_key": "search_path", + "default": [ + "" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nodejs-search-path=\"[, , ...]\"" + ], + "env_var": "PANTS_NODEJS_SEARCH_PATH", + "fromfile": false, + "help": "A list of paths to search for Node.js distributions.\n\nThis option is only used if a templated url download specified via [nodejs].known_versions does not contain a version matching the configured [nodejs].version range.\n\nYou can specify absolute paths to binaries and/or to directories containing binaries. The order of entries does not matter.\n\nThe following special strings are supported:\n\nFor all runtime environment types:\n\n* ``, the contents of the PATH env var\n\nWhen the environment is a `local_environment` target:\n\n* ``, all Node.js versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF binaries with the version in `BUILD_ROOT/.tool-versions`\n* ``, all NodeJS versions under $NVM_DIR/versions/node\n* ``, the nvm installation with the version in BUILD_ROOT/.nvmrc\nNote that the version in the .nvmrc file has to be on the form \"vX.Y.Z\".", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nodejs-search-path" + ], + "target_field_name": "nodejs_search_path", "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--search-path" + ], "value_history": { "ranked_values": [ { @@ -15343,29 +17596,37 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "" + ] } ] } }, - "PANTS_PYOXIDIZER_CONSOLE_SCRIPT": { + "PANTS_NODEJS_TEST_COVERAGE_OUTPUT_DIR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-console-script=", - "config_key": "console_script", - "default": "pyoxidizer", + "comma_separated_display_args": "--nodejs-test-coverage-output-dir=", + "config_key": "coverage_output_dir", + "default": "{distdir}/coverage/js/{target_spec}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyoxidizer-console-script="], - "env_var": "PANTS_PYOXIDIZER_CONSOLE_SCRIPT", + "display_args": [ + "--nodejs-test-coverage-output-dir=" + ], + "env_var": "PANTS_NODEJS_TEST_COVERAGE_OUTPUT_DIR", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Path to write the NodeJS coverage reports to. Must be relative to the build root.\n\nReplacements:\n\n- `{distdir}` is replaced with the Pants `distdir`.\n\n- `{target_spec}` is replaced with the address of the applicable `javascript_test` target with `/` characters replaced with dots (`.`). Additional batch information is included in `target_spec`, when batching is used.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-console-script"], + "scoped_cmd_line_args": [ + "--nodejs-test-coverage-output-dir" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--coverage-output-dir" + ], "value_history": { "ranked_values": [ { @@ -15376,156 +17637,203 @@ { "details": null, "rank": "HARDCODED", - "value": "pyoxidizer" + "value": "{distdir}/coverage/js/{target_spec}" } ] } }, - "PANTS_PYOXIDIZER_ENTRY_POINT": { + "PANTS_NODEJS_TEST_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]nodejs-test-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyoxidizer-entry-point="], - "env_var": "PANTS_PYOXIDIZER_ENTRY_POINT", + "display_args": [ + "--[no-]nodejs-test-skip" + ], + "env_var": "PANTS_NODEJS_TEST_SKIP", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "If true, don't use Node.js tests when running `pants test`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-entry-point"], + "scoped_cmd_line_args": [ + "--nodejs-test-skip", + "--no-nodejs-test-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_PYOXIDIZER_INSTALL_FROM_RESOLVE": { + "PANTS_NODEJS_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--nodejs-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-x64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-x64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyoxidizer-install-from-resolve="], - "env_var": "PANTS_PYOXIDIZER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--nodejs-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_NODEJS_URL_PLATFORM_MAPPING", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "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": ["--pyoxidizer-install-from-resolve"], + "scoped_cmd_line_args": [ + "--nodejs-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-x64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-x64" + } } ] } }, - "PANTS_PYOXIDIZER_INTERPRETER_CONSTRAINTS": { + "PANTS_NODEJS_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.8,<4"], + "comma_separated_display_args": "--nodejs-url-template=", + "config_key": "url_template", + "default": "https://nodejs.org/dist/{version}/node-{version}-{platform}.tar", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pyoxidizer-interpreter-constraints=\"['', '', ...]\"" + "--nodejs-url-template=" ], - "env_var": "PANTS_PYOXIDIZER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_NODEJS_URL_TEMPLATE", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "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/v2.19/docs/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": ["--pyoxidizer-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--nodejs-url-template" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.8,<4"] + "value": "https://nodejs.org/dist/{version}/node-{version}-{platform}.tar" } ] } }, - "PANTS_PYOXIDIZER_REQUIREMENTS": { + "PANTS_NODEJS_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--nodejs-version=", + "config_key": "version", + "default": "v16.15.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyoxidizer-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYOXIDIZER_REQUIREMENTS", + "display_args": [ + "--nodejs-version=" + ], + "env_var": "PANTS_NODEJS_VERSION", "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": "Use this version of nodejs.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-requirements"], + "scoped_cmd_line_args": [ + "--nodejs-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "v16.15.0" } ] } }, - "PANTS_PYTEST_ARGS": { + "PANTS_OPENAPI_FORMAT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-args=\"[, , ...]\", ... -- [ [ [...]]]", + "comma_separated_display_args": "--openapi-format-args=\"[, , ...]\"", "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pytest-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--openapi-format-args=\"[, , ...]\"" ], - "env_var": "PANTS_PYTEST_ARGS", + "env_var": "PANTS_OPENAPI_FORMAT_ARGS", "fromfile": false, - "help": "Arguments to pass directly to Pytest, e.g. `--pytest-args='-k test_foo --quiet'`.", + "help": "Arguments to pass directly to openapi-format, e.g. `--openapi-format-args='--no-sort'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-args"], + "scoped_cmd_line_args": [ + "--openapi-format-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -15541,24 +17849,30 @@ ] } }, - "PANTS_PYTEST_CONFIG": { + "PANTS_OPENAPI_FORMAT_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-config=", - "config_key": "config", + "comma_separated_display_args": "--openapi-format-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-config="], - "env_var": "PANTS_PYTEST_CONFIG", + "display_args": [ + "--openapi-format-install-from-resolve=" + ], + "env_var": "PANTS_OPENAPI_FORMAT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Path to a config file understood by Pytest (https://docs.pytest.org/en/latest/reference/customize.html#configuration-file-formats). Setting this option will disable `[pytest].config_discovery`. Use this option if the config is located in a non-standard location.", + "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-config"], + "scoped_cmd_line_args": [ + "--openapi-format-install-from-resolve" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -15569,27 +17883,32 @@ ] } }, - "PANTS_PYTEST_CONFIG_DISCOVERY": { + "PANTS_OPENAPI_FORMAT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pytest-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]openapi-format-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pytest-config-discovery"], - "env_var": "PANTS_PYTEST_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]openapi-format-skip" + ], + "env_var": "PANTS_OPENAPI_FORMAT_SKIP", "fromfile": false, - "help": "If true, Pants will include all relevant Pytest config files (e.g. `pytest.ini`) during runs. See https://docs.pytest.org/en/stable/customize.html#finding-the-rootdir for where config files should be located for Pytest to discover them.\n\nUse `[pytest].config` instead if your config is in a non-standard location.", + "help": "If true, don't use openapi-format when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pytest-config-discovery", - "--no-pytest-config-discovery" + "--openapi-format-skip", + "--no-openapi-format-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -15600,29 +17919,35 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_PYTEST_CONSOLE_SCRIPT": { + "PANTS_OPENAPI_FORMAT_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-console-script=", - "config_key": "console_script", - "default": "pytest", + "comma_separated_display_args": "--openapi-format-version=", + "config_key": "version", + "default": "openapi-format@1.13.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-console-script="], - "env_var": "PANTS_PYTEST_CONSOLE_SCRIPT", + "display_args": [ + "--openapi-format-version=" + ], + "env_var": "PANTS_OPENAPI_FORMAT_VERSION", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-console-script"], + "scoped_cmd_line_args": [ + "--openapi-format-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -15633,113 +17958,117 @@ { "details": null, "rank": "HARDCODED", - "value": "pytest" + "value": "openapi-format@1.13.1" } ] } }, - "PANTS_PYTEST_ENTRY_POINT": { + "PANTS_OPENAPI_GENERATOR_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--openapi-generator-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "org.openapitools:openapi-generator-cli:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-entry-point="], - "env_var": "PANTS_PYTEST_ENTRY_POINT", + "display_args": [ + "--openapi-generator-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_OPENAPI_GENERATOR_ARTIFACTS", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[openapi-generator].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-entry-point"], + "scoped_cmd_line_args": [ + "--openapi-generator-artifacts" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null - } - ] - } - }, - "PANTS_PYTEST_EXECUTION_SLOT_VAR": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-execution-slot-var=", - "config_key": "execution_slot_var", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--pytest-execution-slot-var="], - "env_var": "PANTS_PYTEST_EXECUTION_SLOT_VAR", - "fromfile": false, - "help": "If a non-empty string, the process execution slot id (an integer) will be exposed to tests under this environment variable name.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--pytest-execution-slot-var"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--execution-slot-var"], - "value_history": { - "ranked_values": [ + "value": [] + }, { - "details": null, - "rank": "NONE", - "value": null + "details": "", + "rank": "HARDCODED", + "value": [ + "org.openapitools:openapi-generator-cli:{version}" + ] } ] } }, - "PANTS_PYTEST_INSTALL_FROM_RESOLVE": { + "PANTS_OPENAPI_GENERATOR_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--openapi-generator-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-install-from-resolve="], - "env_var": "PANTS_PYTEST_INSTALL_FROM_RESOLVE", + "display_args": [ + "--openapi-generator-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_OPENAPI_GENERATOR_JVM_OPTIONS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "List of JVM options to pass to `openapi-generator` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-install-from-resolve"], + "scoped_cmd_line_args": [ + "--openapi-generator-jvm-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_PYTEST_JUNIT_FAMILY": { + "PANTS_OPENAPI_GENERATOR_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-junit-family=", - "config_key": "junit_family", - "default": "xunit2", + "comma_separated_display_args": "--openapi-generator-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-junit-family="], - "env_var": "PANTS_PYTEST_JUNIT_FAMILY", + "display_args": [ + "--openapi-generator-lockfile=" + ], + "env_var": "PANTS_OPENAPI_GENERATOR_LOCKFILE", "fromfile": false, - "help": "The format of generated junit XML files. See https://docs.pytest.org/en/latest/reference.html#confval-junit_family.", + "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.19.0rc5/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": ["--pytest-junit-family"], + "scoped_cmd_line_args": [ + "--openapi-generator-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--junit-family"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -15750,62 +18079,76 @@ { "details": null, "rank": "HARDCODED", - "value": "xunit2" + "value": "" } ] } }, - "PANTS_PYTEST_REQUIREMENTS": { + "PANTS_OPENAPI_GENERATOR_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--openapi-generator-version=", + "config_key": "version", + "default": "5.4.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYTEST_REQUIREMENTS", + "display_args": [ + "--openapi-generator-version=" + ], + "env_var": "PANTS_OPENAPI_GENERATOR_VERSION", "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": "Version string for the tool. This is available for substitution in the `[openapi-generator].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-requirements"], + "scoped_cmd_line_args": [ + "--openapi-generator-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "5.4.0" } ] } }, - "PANTS_PYTEST_SKIP": { + "PANTS_OPENAPI_TAILOR_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pytest-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--[no-]openapi-tailor-targets", + "config_key": "tailor_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pytest-skip"], - "env_var": "PANTS_PYTEST_SKIP", + "display_args": [ + "--[no-]openapi-tailor-targets" + ], + "env_var": "PANTS_OPENAPI_TAILOR_TARGETS", "fromfile": false, - "help": "If true, don't use Pytest when running `pants test`.", + "help": "If true, add `openapi_documents` and `openapi_sources` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-skip", "--no-pytest-skip"], + "scoped_cmd_line_args": [ + "--openapi-tailor-targets", + "--no-openapi-tailor-targets" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--tailor-targets", + "--no-tailor-targets" + ], "value_history": { "ranked_values": [ { @@ -15816,32 +18159,37 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_PYTEST_XDIST_ENABLED": { + "PANTS_PANTSD": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pytest-xdist-enabled", - "config_key": "xdist_enabled", - "default": false, + "comma_separated_display_args": "--[no-]pantsd", + "config_key": "pantsd", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pytest-xdist-enabled"], - "env_var": "PANTS_PYTEST_XDIST_ENABLED", + "display_args": [ + "--[no-]pantsd" + ], + "env_var": "PANTS_PANTSD", "fromfile": false, - "help": "If true, Pants will use `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/) to parallelize tests within each `python_test` target.\n\nNOTE: Enabling `pytest-xdist` can cause high-level scoped fixtures (for example `session`) to execute more than once. See the `pytest-xdist` docs for more info: https://pypi.org/project/pytest-xdist/#making-session-scoped-fixtures-execute-only-once", + "help": "Enables use of the Pants daemon (pantsd). pantsd can significantly improve runtime performance by lowering per-run startup cost, and by memoizing filesystem operations and rule execution.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pytest-xdist-enabled", - "--no-pytest-xdist-enabled" + "--pantsd", + "--no-pantsd" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--xdist-enabled", "--no-xdist-enabled"], + "unscoped_cmd_line_args": [ + "--pantsd", + "--no-pantsd" + ], "value_history": { "ranked_values": [ { @@ -15852,29 +18200,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_PYTHONPATH": { + "PANTS_PANTSD_INVALIDATION_GLOBS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pythonpath=\"['', '', ...]\"", - "config_key": "pythonpath", + "comma_separated_display_args": "--pantsd-invalidation-globs=\"['', '', ...]\"", + "config_key": "pantsd_invalidation_globs", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pythonpath=\"['', '', ...]\""], - "env_var": "PANTS_PYTHONPATH", + "display_args": [ + "--pantsd-invalidation-globs=\"['', '', ...]\"" + ], + "env_var": "PANTS_PANTSD_INVALIDATION_GLOBS", "fromfile": false, - "help": "Add these directories to PYTHONPATH to search for plugins. This does not impact the PYTHONPATH used by Pants when running your Python code.", + "help": "Filesystem events matching any of these globs will trigger a daemon restart. Pants's own code, plugins, and `--pants-config-files` are inherently invalidated.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pythonpath"], + "scoped_cmd_line_args": [ + "--pantsd-invalidation-globs" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--pythonpath"], + "unscoped_cmd_line_args": [ + "--pantsd-invalidation-globs" + ], "value_history": { "ranked_values": [ { @@ -15890,173 +18244,108 @@ ] } }, - "PANTS_PYTHON_BOOTSTRAP_INTERNAL_PYTHON_BUILD_STANDALONE_INFO": { + "PANTS_PANTSD_MAX_MEMORY_USAGE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-bootstrap-internal-python-build-standalone-info=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "internal_python_build_standalone_info", - "default": { - "linux_arm64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", - "1ba520c0db431c84305677f56eb9a4254f5097430ed443e92fc8617f8fba973d", - 23873387 - ], - "linux_x86_64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", - "7ba397787932393e65fc2fb9fcfabf54f2bb6751d5da2b45913cb25b2d493758", - 26129729 - ], - "macos_arm64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-apple-darwin-install_only.tar.gz", - "d732d212d42315ac27c6da3e0b69636737a8d72086c980daf844344c010cab80", - 17084463 - ], - "macos_x86_64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-apple-darwin-install_only.tar.gz", - "3948384af5e8d4ee7e5ccc648322b99c1c5cf4979954ed5e6b3382c69d6db71e", - 17059474 - ] - }, + "comma_separated_display_args": "--pantsd-max-memory-usage=", + "config_key": "pantsd_max_memory_usage", + "default": "4GiB", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-bootstrap-internal-python-build-standalone-info=\"{'key1': val1, 'key2': val2, ...}\"" + "--pantsd-max-memory-usage=" ], - "env_var": "PANTS_PYTHON_BOOTSTRAP_INTERNAL_PYTHON_BUILD_STANDALONE_INFO", + "env_var": "PANTS_PANTSD_MAX_MEMORY_USAGE", "fromfile": false, - "help": "A map from platform to the information needed to download Python Build Standalone.\n\nPython Build Standalone is used to run Python-implemented Pants tools/scripts in docker environments (so that Python doesn't need to be installed).\n\nThe version of Python provided should match the default value's version, which is the highest Python Major/Minor version compatible with the Pants package's interpreter constraints. Additionally, the downloaded file should be extractable by `tar` using `-xvf` (most likely a `.tar.gz` file).\n\nThe schema is `: (, , )` for each possible platform.", + "help": "The maximum memory usage of the pantsd process.\n\nWhen the maximum memory is exceeded, the daemon will restart gracefully, although all previous in-memory caching will be lost. Setting too low means that you may miss out on some caching, whereas setting too high may over-consume resources and may result in the operating system killing Pantsd due to memory overconsumption (e.g. via the OOM killer).\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.\n\nThere is at most one pantsd process per workspace.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-bootstrap-internal-python-build-standalone-info" + "--pantsd-max-memory-usage" ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--internal-python-build-standalone-info"], + "typ": "memory_size", + "unscoped_cmd_line_args": [ + "--pantsd-max-memory-usage" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "linux_arm64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", - "1ba520c0db431c84305677f56eb9a4254f5097430ed443e92fc8617f8fba973d", - 23873387 - ], - "linux_x86_64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", - "7ba397787932393e65fc2fb9fcfabf54f2bb6751d5da2b45913cb25b2d493758", - 26129729 - ], - "macos_arm64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-apple-darwin-install_only.tar.gz", - "d732d212d42315ac27c6da3e0b69636737a8d72086c980daf844344c010cab80", - 17084463 - ], - "macos_x86_64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-apple-darwin-install_only.tar.gz", - "3948384af5e8d4ee7e5ccc648322b99c1c5cf4979954ed5e6b3382c69d6db71e", - 17059474 - ] - } + "value": 4294967296 } ] } }, - "PANTS_PYTHON_BOOTSTRAP_NAMES": { + "PANTS_PANTSD_PAILGUN_PORT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-bootstrap-names=\"[, , ...]\"", - "config_key": "names", - "default": ["python", "python3"], + "comma_separated_display_args": "--pantsd-pailgun-port=", + "config_key": "pantsd_pailgun_port", + "default": 0, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-bootstrap-names=\"[, , ...]\"" + "--pantsd-pailgun-port=" ], - "env_var": "PANTS_PYTHON_BOOTSTRAP_NAMES", + "env_var": "PANTS_PANTSD_PAILGUN_PORT", "fromfile": false, - "help": "The names of Python binaries to search for. See the `--search-path` option to influence where interpreters are searched for.\n\nThis does not impact which Python interpreter is used to run your code, only what is used to run internal tools.", + "help": "The port to bind the Pants nailgun server to. Defaults to a random port.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-bootstrap-names"], - "target_field_name": "python_bootstrap_names", - "typ": "list", - "unscoped_cmd_line_args": ["--names"], + "scoped_cmd_line_args": [ + "--pantsd-pailgun-port" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--pantsd-pailgun-port" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["python", "python3"] + "value": 0 } ] } }, - "PANTS_PYTHON_BOOTSTRAP_SEARCH_PATH": { + "PANTS_PANTSD_TIMEOUT_WHEN_MULTIPLE_INVOCATIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-bootstrap-search-path=\"[, , ...]\"", - "config_key": "search_path", - "default": ["", "", ""], + "comma_separated_display_args": "--pantsd-timeout-when-multiple-invocations=", + "config_key": "pantsd_timeout_when_multiple_invocations", + "default": 60.0, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-bootstrap-search-path=\"[, , ...]\"" + "--pantsd-timeout-when-multiple-invocations=" ], - "env_var": "PANTS_PYTHON_BOOTSTRAP_SEARCH_PATH", - "fromfile": false, - "help": "A list of paths to search for Python interpreters.\n\nWhich interpreters are actually used from these paths is context-specific: the Python backend selects interpreters using options on the `python` subsystem, in particular, the `[python].interpreter_constraints` option.\n\nYou can specify absolute paths to interpreter binaries and/or to directories containing interpreter binaries. The order of entries does not matter.\n\nThe following special strings are supported:\n\nFor all runtime environment types:\n\n* ``, the contents of the PATH env var\n\nWhen the environment is a `local_environment` target:\n\n* ``, all Python versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF interpreter with the version in `BUILD_ROOT/.tool-versions`\n* ``, all Python versions under `$(pyenv root)/versions`\n* ``, the Pyenv interpreter with the version in `BUILD_ROOT/.python-version`\n* ``, paths in the `PEX_PYTHON_PATH` variable in `/etc/pexrc` or `~/.pexrc`", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--python-bootstrap-search-path"], - "target_field_name": "python_bootstrap_search_path", - "typ": "list", - "unscoped_cmd_line_args": ["--search-path"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": ["", "", ""] - } - ] - } - }, - "PANTS_PYTHON_DEFAULT_RESOLVE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--python-default-resolve=", - "config_key": "default_resolve", - "default": "python-default", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--python-default-resolve="], - "env_var": "PANTS_PYTHON_DEFAULT_RESOLVE", + "env_var": "PANTS_PANTSD_TIMEOUT_WHEN_MULTIPLE_INVOCATIONS", "fromfile": false, - "help": "The default value used for the `resolve` field.\n\nThe name must be defined as a resolve in `[python].resolves`.", + "help": "The maximum amount of time to wait for the invocation to start until raising a timeout exception. Because pantsd currently does not support parallel runs, any prior running Pants command must be finished for the current one to start. To never timeout, use the value -1.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-default-resolve"], + "scoped_cmd_line_args": [ + "--pantsd-timeout-when-multiple-invocations" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--default-resolve"], + "typ": "float", + "unscoped_cmd_line_args": [ + "--pantsd-timeout-when-multiple-invocations" + ], "value_history": { "ranked_values": [ { @@ -16067,34 +18356,36 @@ { "details": null, "rank": "HARDCODED", - "value": "python-default" + "value": 60.0 } ] } }, - "PANTS_PYTHON_DEFAULT_RUN_GOAL_USE_SANDBOX": { + "PANTS_PANTSRC": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-default-run-goal-use-sandbox", - "config_key": "default_run_goal_use_sandbox", + "comma_separated_display_args": "--[no-]pantsrc", + "config_key": "pantsrc", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-default-run-goal-use-sandbox"], - "env_var": "PANTS_PYTHON_DEFAULT_RUN_GOAL_USE_SANDBOX", + "display_args": [ + "--[no-]pantsrc" + ], + "env_var": "PANTS_PANTSRC", "fromfile": false, - "help": "The default value used for the `run_goal_use_sandbox` field of Python targets. See the relevant field for more details.", + "help": "Use pantsrc files located at the paths specified in the global option `pantsrc_files`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-default-run-goal-use-sandbox", - "--no-python-default-run-goal-use-sandbox" + "--pantsrc", + "--no-pantsrc" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--default-run-goal-use-sandbox", - "--no-default-run-goal-use-sandbox" + "--pantsrc", + "--no-pantsrc" ], "value_history": { "ranked_values": [ @@ -16111,64 +18402,76 @@ ] } }, - "PANTS_PYTHON_DUMP_SOURCE_ANALYSIS_ANALYSIS_FLAVOR": { - "choices": ["raw_dependency_inference", "dependency_inference"], - "comma_separated_choices": "raw_dependency_inference, dependency_inference", - "comma_separated_display_args": "--python-dump-source-analysis-analysis-flavor=", - "config_key": "analysis_flavor", - "default": "dependency_inference", + "PANTS_PANTSRC_FILES": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pantsrc-files=\"[, , ...]\"", + "config_key": "pantsrc_files", + "default": [ + "/etc/pantsrc", + "~/.pants.rc", + ".pants.rc" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-dump-source-analysis-analysis-flavor=" + "--pantsrc-files=\"[, , ...]\"" ], - "env_var": "PANTS_PYTHON_DUMP_SOURCE_ANALYSIS_ANALYSIS_FLAVOR", + "env_var": "PANTS_PANTSRC_FILES", "fromfile": false, - "help": "The type of information that should be returned.\n\n* `dependency_inference`: The results of dependency inference, for every detected import in every file.\n\n* `raw_dependency_inference`: The raw intermediate results of the dependency inference process,\nat every stage they're available. Potentially useful for debugging the dependency inference process.", + "help": "Override config with values from these files, using syntax matching that of `--pants-config-files`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-dump-source-analysis-analysis-flavor"], + "scoped_cmd_line_args": [ + "--pantsrc-files" + ], "target_field_name": null, - "typ": "AnalysisFlavor", - "unscoped_cmd_line_args": ["--analysis-flavor"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--pantsrc-files" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "dependency_inference" + "value": [ + "/etc/pantsrc", + "~/.pants.rc", + ".pants.rc" + ] } ] } }, - "PANTS_PYTHON_ENABLE_LOCKFILE_TARGETS": { + "PANTS_PATHS_FROM": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-enable-lockfile-targets", - "config_key": "enable_lockfile_targets", - "default": true, + "comma_separated_display_args": "--paths-from=", + "config_key": "from", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-enable-lockfile-targets"], - "env_var": "PANTS_PYTHON_ENABLE_LOCKFILE_TARGETS", + "display_args": [ + "--paths-from=" + ], + "env_var": "PANTS_PATHS_FROM", "fromfile": false, - "help": "Create targets for all Python lockfiles defined in `[python].resolves`.\n\nThe lockfile targets will then be used as dependencies to the `python_requirement` targets that use them, invalidating source targets per resolve when the lockfile changes.\n\nIf another targets address is in conflict with the created lockfile target, it will shadow the lockfile target and it will not be available as a dependency for any `python_requirement` targets.", + "help": "The path starting address", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-enable-lockfile-targets", - "--no-python-enable-lockfile-targets" + "--paths-from" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--enable-lockfile-targets", - "--no-enable-lockfile-targets" + "--from" ], "value_history": { "ranked_values": [ @@ -16176,107 +18479,104 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } }, - "PANTS_PYTHON_ENABLE_RESOLVES": { + "PANTS_PATHS_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-enable-resolves", - "config_key": "enable_resolves", - "default": false, + "comma_separated_display_args": "--paths-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-enable-resolves"], - "env_var": "PANTS_PYTHON_ENABLE_RESOLVES", + "display_args": [ + "--paths-output-file=" + ], + "env_var": "PANTS_PATHS_OUTPUT_FILE", "fromfile": false, - "help": "Set to true to enable lockfiles for user code. See `[python].resolves` for an explanation of this feature.\n\nThis option is mutually exclusive with `[python].requirement_constraints`. We strongly recommend using this option because it:\n\n 1. Uses `--hash` to validate that all downloaded files are expected, which reduces the risk of supply chain attacks.\n 2. Enforces that all transitive dependencies are in the lockfile, whereas constraints allow you to leave off dependencies. This ensures your build is more stable and reduces the risk of supply chain attacks.\n 3. Allows you to have multiple lockfiles in your repository.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-enable-resolves", - "--no-python-enable-resolves" + "--paths-output-file" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--enable-resolves", "--no-enable-resolves"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, - "PANTS_PYTHON_INFER_AMBIGUITY_RESOLUTION": { - "choices": ["none", "by_source_root"], - "comma_separated_choices": "none, by_source_root", - "comma_separated_display_args": "--python-infer-ambiguity-resolution=", - "config_key": "ambiguity_resolution", - "default": "none", + "PANTS_PATHS_TO": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--paths-to=", + "config_key": "to", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-infer-ambiguity-resolution=" + "--paths-to=" ], - "env_var": "PANTS_PYTHON_INFER_AMBIGUITY_RESOLUTION", + "env_var": "PANTS_PATHS_TO", "fromfile": false, - "help": "When multiple sources provide the same symbol, how to choose the provider to use.\n\n`none`: Do not attempt to resolve this ambiguity. No dependency will be inferred, and warnings will be logged.\n\n`by_source_root`: Choose the provider with the closest common ancestor to the consumer's source root. If the provider is under the same source root then this will be the source root itself. This is useful when multiple projects in different source roots provide the same symbols (because of repeated first-party module paths or overlapping requirements.txt) and you want to resolve the ambiguity locally in each project.", + "help": "The path end address", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-ambiguity-resolution"], + "scoped_cmd_line_args": [ + "--paths-to" + ], "target_field_name": null, - "typ": "AmbiguityResolution", - "unscoped_cmd_line_args": ["--ambiguity-resolution"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--to" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "none" } ] } }, - "PANTS_PYTHON_INFER_ASSETS": { + "PANTS_PEEK_EXCLUDE_DEFAULTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-assets", - "config_key": "assets", + "comma_separated_display_args": "--[no-]peek-exclude-defaults", + "config_key": "exclude_defaults", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-assets"], - "env_var": "PANTS_PYTHON_INFER_ASSETS", + "display_args": [ + "--[no-]peek-exclude-defaults" + ], + "env_var": "PANTS_PEEK_EXCLUDE_DEFAULTS", "fromfile": false, - "help": "Infer a target's asset dependencies based on strings that look like Posix filepaths, such as those given to `open` or `pkgutil.get_data`.\n\nTo ignore a false positive, you can either put `# pants: no-infer-dep` on the line of the string or put `!{bad_address}` in the `dependencies` field of your target.", + "help": "Whether to leave off values that match the target-defined default values.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-assets", - "--no-python-infer-assets" + "--peek-exclude-defaults", + "--no-peek-exclude-defaults" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--assets", "--no-assets"], + "unscoped_cmd_line_args": [ + "--exclude-defaults", + "--no-exclude-defaults" + ], "value_history": { "ranked_values": [ { @@ -16292,24 +18592,32 @@ ] } }, - "PANTS_PYTHON_INFER_ASSETS_MIN_SLASHES": { + "PANTS_PEEK_INCLUDE_DEP_RULES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-infer-assets-min-slashes=", - "config_key": "assets_min_slashes", - "default": 1, + "comma_separated_display_args": "--[no-]peek-include-dep-rules", + "config_key": "include_dep_rules", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-infer-assets-min-slashes="], - "env_var": "PANTS_PYTHON_INFER_ASSETS_MIN_SLASHES", + "display_args": [ + "--[no-]peek-include-dep-rules" + ], + "env_var": "PANTS_PEEK_INCLUDE_DEP_RULES", "fromfile": false, - "help": "If `--assets` is True, treat valid-looking strings with at least this many forward slash characters as potential assets. E.g. `'data/databases/prod.db'` will be treated as a potential candidate if this option is set to 2 but not to 3.", + "help": "Whether to include `_dependencies_rules`, `_dependents_rules` and `_applicable_dep_rules` that apply to the target and its dependencies.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-assets-min-slashes"], + "scoped_cmd_line_args": [ + "--peek-include-dep-rules", + "--no-peek-include-dep-rules" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--assets-min-slashes"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--include-dep-rules", + "--no-include-dep-rules" + ], "value_history": { "ranked_values": [ { @@ -16320,68 +18628,71 @@ { "details": null, "rank": "HARDCODED", - "value": 1 + "value": false } ] } }, - "PANTS_PYTHON_INFER_CONFTESTS": { + "PANTS_PEEK_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-conftests", - "config_key": "conftests", - "default": true, + "comma_separated_display_args": "--peek-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-conftests"], - "env_var": "PANTS_PYTHON_INFER_CONFTESTS", + "display_args": [ + "--peek-output-file=" + ], + "env_var": "PANTS_PEEK_OUTPUT_FILE", "fromfile": false, - "help": "Infer a test target's dependencies on any `conftest.py` files in the current directory and ancestor directories.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-conftests", - "--no-python-infer-conftests" + "--peek-output-file" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--conftests", "--no-conftests"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } }, - "PANTS_PYTHON_INFER_ENTRY_POINTS": { + "PANTS_PEX_BINARY_DEFAULTS_EMIT_WARNINGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-entry-points", - "config_key": "entry_points", + "comma_separated_display_args": "--[no-]pex-binary-defaults-emit-warnings", + "config_key": "emit_warnings", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-entry-points"], - "env_var": "PANTS_PYTHON_INFER_ENTRY_POINTS", + "display_args": [ + "--[no-]pex-binary-defaults-emit-warnings" + ], + "env_var": "PANTS_PEX_BINARY_DEFAULTS_EMIT_WARNINGS", "fromfile": false, - "help": "Infer dependencies on targets' entry points, e.g. `pex_binary`'s `entry_point` field, `python_aws_lambda_function`'s `handler` field and `python_distribution`'s `entry_points` field.", + "help": "Whether built PEX binaries should emit PEX warnings at runtime by default.\n\nCan be overridden by specifying the `emit_warnings` parameter of individual `pex_binary` targets", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-entry-points", - "--no-python-infer-entry-points" + "--pex-binary-defaults-emit-warnings", + "--no-pex-binary-defaults-emit-warnings" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--entry-points", "--no-entry-points"], + "unscoped_cmd_line_args": [ + "--emit-warnings", + "--no-emit-warnings" + ], "value_history": { "ranked_values": [ { @@ -16397,26 +18708,76 @@ ] } }, - "PANTS_PYTHON_INFER_IGNORED_UNOWNED_IMPORTS": { + "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-infer-ignored-unowned-imports=\"['', '', ...]\"", - "config_key": "ignored_unowned_imports", - "default": [], + "comma_separated_display_args": "--[no-]pex-binary-defaults-resolve-local-platforms", + "config_key": "resolve_local_platforms", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-infer-ignored-unowned-imports=\"['', '', ...]\"" + "--[no-]pex-binary-defaults-resolve-local-platforms" ], - "env_var": "PANTS_PYTHON_INFER_IGNORED_UNOWNED_IMPORTS", + "env_var": "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS", "fromfile": false, - "help": "Unowned imports that should be ignored.\n\nIf there are any unowned import statements and adding the `# pants: no-infer-dep` to the lines of the import is impractical, you can instead provide a list of imports that Pants should ignore. You can declare a specific import or a path to a package if you would like any of the package imports to be ignored.\n\nFor example, you could ignore all the following imports of the code\n\n import src.generated.app\n from src.generated.app import load\n from src.generated.app import start\n from src.generated.client import connect\n\nby setting `ignored-unowned-imports=[\"src.generated.app\", \"src.generated.client.connect\"]`.", + "help": "For each of the `platforms` specified for a `pex_binary` target, attempt to find a local interpreter that matches.\n\nIf a matching interpreter is found, use the interpreter to resolve distributions and build any that are only available in source distribution form. If no matching interpreter is found (or if this option is `False`), resolve for the platform by accepting only pre-built binary distributions (wheels).", + "removal_hint": null, + "removal_version": null, + "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 + } + ] + } + }, + "PANTS_PEX_CLI_KNOWN_VERSIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pex-cli-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v2.1.148|macos_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|macos_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|linux_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|linux_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pex-cli-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_PEX_CLI_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": ["--python-infer-ignored-unowned-imports"], + "scoped_cmd_line_args": [ + "--pex-cli-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--ignored-unowned-imports"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -16427,32 +18788,74 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "v2.1.148|macos_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|macos_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|linux_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|linux_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604" + ] } ] } }, - "PANTS_PYTHON_INFER_IMPORTS": { + "PANTS_PEX_CLI_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-imports", - "config_key": "imports", - "default": true, + "comma_separated_display_args": "--pex-cli-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-imports"], - "env_var": "PANTS_PYTHON_INFER_IMPORTS", + "display_args": [ + "--pex-cli-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PEX_CLI_URL_PLATFORM_MAPPING", "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.", + "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": [ - "--python-infer-imports", - "--no-python-infer-imports" + "--pex-cli-url-platform-mapping" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + } + ] + } + }, + "PANTS_PEX_CLI_URL_TEMPLATE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pex-cli-url-template=", + "config_key": "url_template", + "default": "https://github.com/pantsbuild/pex/releases/download/{version}/pex", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pex-cli-url-template=" + ], + "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/v2.19/docs/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": [ + "--pex-cli-url-template" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -16463,29 +18866,38 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "https://github.com/pantsbuild/pex/releases/download/{version}/pex" } ] } }, - "PANTS_PYTHON_INFER_INIT_FILES": { - "choices": ["always", "content_only", "never"], - "comma_separated_choices": "always, content_only, never", - "comma_separated_display_args": "--python-infer-init-files=", - "config_key": "init_files", - "default": "content_only", + "PANTS_PEX_CLI_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--pex-cli-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-infer-init-files="], - "env_var": "PANTS_PYTHON_INFER_INIT_FILES", + "display_args": [ + "--pex-cli-use-unsupported-version=" + ], + "env_var": "PANTS_PEX_CLI_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Infer a target's dependencies on any `__init__.py` files in the packages it is located in (recursively upward in the directory structure).\n\nEven if this is set to `never` or `content_only`, Pants will still always include any ancestor `__init__.py` files in the sandbox. Only, they will not be \"proper\" dependencies, e.g. they will not show up in `pants dependencies` and their own dependencies will not be used.\n\nBy default, Pants only adds a \"proper\" dependency if there is content in the `__init__.py` file. This makes sure that dependencies are added when likely necessary to build, while also avoiding adding unnecessary dependencies. While accurate, those unnecessary dependencies can complicate setting metadata like the `interpreter_constraints` and `resolve` fields.", + "help": "\nWhat action to take in case the requested version of pex is not supported.\n\nSupported pex versions: >=2.1.135,<3.0\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-init-files"], + "scoped_cmd_line_args": [ + "--pex-cli-use-unsupported-version" + ], "target_field_name": null, - "typ": "InitFilesInference", - "unscoped_cmd_line_args": ["--init-files"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -16496,32 +18908,35 @@ { "details": null, "rank": "HARDCODED", - "value": "content_only" + "value": "error" } ] } }, - "PANTS_PYTHON_INFER_STRING_IMPORTS": { + "PANTS_PEX_CLI_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-string-imports", - "config_key": "string_imports", - "default": false, + "comma_separated_display_args": "--pex-cli-version=", + "config_key": "version", + "default": "v2.1.148", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-string-imports"], - "env_var": "PANTS_PYTHON_INFER_STRING_IMPORTS", + "display_args": [ + "--pex-cli-version=" + ], + "env_var": "PANTS_PEX_CLI_VERSION", "fromfile": false, - "help": "Infer a target's dependencies based on strings that look like dynamic dependencies, such as Django settings files expressing dependencies as strings or pytest plugins listed in the `pytest_plugins` variable in a test module or a conftest file.\n\nTo ignore a false positive, you can either put `# pants: no-infer-dep` on the line of the string or put `!{bad_address}` in the `dependencies` field of your target.", + "help": "Use this version of pex.\n\nSupported pex versions: >=2.1.135,<3.0", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-string-imports", - "--no-python-infer-string-imports" + "--pex-cli-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--string-imports", "--no-string-imports"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -16532,64 +18947,80 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "v2.1.148" } ] } }, - "PANTS_PYTHON_INFER_STRING_IMPORTS_MIN_DOTS": { + "PANTS_PEX_EXECUTABLE_SEARCH_PATHS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-infer-string-imports-min-dots=", - "config_key": "string_imports_min_dots", - "default": 2, + "comma_separated_display_args": "--pex-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-infer-string-imports-min-dots="], - "env_var": "PANTS_PYTHON_INFER_STRING_IMPORTS_MIN_DOTS", + "display_args": [ + "--pex-executable-search-paths=\"[, , ...]\"" + ], + "env_var": "PANTS_PEX_EXECUTABLE_SEARCH_PATHS", "fromfile": false, - "help": "If `--string-imports` is True, treat valid-looking strings with at least this many dots in them as potential dynamic dependencies. E.g., `'foo.bar.Baz'` will be treated as a potential dependency if this option is set to 2 but not if set to 3.", + "help": "The PATH value that will be used by the PEX subprocess and any subprocesses it spawns.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-string-imports-min-dots"], - "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--string-imports-min-dots"], + "scoped_cmd_line_args": [ + "--pex-executable-search-paths" + ], + "target_field_name": "pex_executable_search_paths", + "typ": "list", + "unscoped_cmd_line_args": [ + "--executable-search-paths" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 2 + "value": [ + "" + ] } ] } }, - "PANTS_PYTHON_INFER_UNOWNED_DEPENDENCY_BEHAVIOR": { - "choices": ["error", "warning", "ignore"], - "comma_separated_choices": "error, warning, ignore", - "comma_separated_display_args": "--python-infer-unowned-dependency-behavior=", - "config_key": "unowned_dependency_behavior", - "default": "warning", + "PANTS_PEX_VENV_USE_SYMLINKS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]pex-venv-use-symlinks", + "config_key": "venv_use_symlinks", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-infer-unowned-dependency-behavior=" + "--[no-]pex-venv-use-symlinks" ], - "env_var": "PANTS_PYTHON_INFER_UNOWNED_DEPENDENCY_BEHAVIOR", + "env_var": "PANTS_PEX_VENV_USE_SYMLINKS", "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 `ModuleNotFoundError`, so this option can be helpful to error more eagerly.\n\nTo ignore any false positives, either add `# pants: no-infer-dep` to the line of the import or put the import inside a `try: except ImportError:` block.", + "help": "When possible, use venvs whose site-packages directories are populated with symlinks.\n\nEnabling this can save space in the `--named-caches-dir` directory and lead to slightly faster execution times for Pants Python goals. Some distributions do not work with symlinked venvs though, so you may not be able to enable this optimization as a result.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-unowned-dependency-behavior"], + "scoped_cmd_line_args": [ + "--pex-venv-use-symlinks", + "--no-pex-venv-use-symlinks" + ], "target_field_name": null, - "typ": "UnownedDependencyUsage", - "unscoped_cmd_line_args": ["--unowned-dependency-behavior"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--venv-use-symlinks", + "--no-venv-use-symlinks" + ], "value_history": { "ranked_values": [ { @@ -16600,32 +19031,35 @@ { "details": null, "rank": "HARDCODED", - "value": "warning" + "value": false } ] } }, - "PANTS_PYTHON_INFER_USE_RUST_PARSER": { + "PANTS_PEX_VERBOSITY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-use-rust-parser", - "config_key": "use_rust_parser", - "default": true, + "comma_separated_display_args": "--pex-verbosity=", + "config_key": "verbosity", + "default": 0, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-use-rust-parser"], - "env_var": "PANTS_PYTHON_INFER_USE_RUST_PARSER", + "display_args": [ + "--pex-verbosity=" + ], + "env_var": "PANTS_PEX_VERBOSITY", "fromfile": false, - "help": "Use the new Rust-based, multithreaded, in-process dependency parser.\n\nPants 2.17 introduced a new paradigm to dependency parsing for Python by leveraging a Rust-based parser that's called in the same process as Pants itself, instead of farming out to one-python-process-per-file.\n\nAs a result of the switch, cold-cache performance improved by a factor of about 12x, while hot-cache had no difference. Additionally, Pants can now infer dependencies from Python scripts with syntax errors.\n\nAfter leaving this defaulted to disabled for a release cycle, Pants 2.18 started defaulting to enabling this.\n\nIf you think the new behaviour is causing problems, it is recommended that you run `pants peek :: > before.json` and then `pants --python-infer-use-rust-parser=False peek :: > after.json` and compare the two results.\n\nIf you think there is a bug and need to disable it, please file an issue: https://github.com/pantsbuild/pants/issues/new/choose.", + "help": "Set the verbosity level of PEX logging, from 0 (no logging) up to 9 (max logging).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-use-rust-parser", - "--no-python-infer-use-rust-parser" + "--pex-verbosity" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--use-rust-parser", "--no-use-rust-parser"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--verbosity" + ], "value_history": { "ranked_values": [ { @@ -16636,76 +19070,69 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": 0 } ] } }, - "PANTS_PYTHON_INTERPRETER_CONSTRAINTS": { + "PANTS_PHYSICAL_WORKDIR_BASE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-interpreter-constraints=\"[, , ...]\"", - "config_key": "interpreter_constraints", - "default": [], + "comma_separated_display_args": "--pants-physical-workdir-base=", + "config_key": "pants_physical_workdir_base", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-interpreter-constraints=\"[, , ...]\"" + "--pants-physical-workdir-base=" ], - "env_var": "PANTS_PYTHON_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PHYSICAL_WORKDIR_BASE", "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": "When set, a base directory in which to store `--pants-workdir` contents. If this option is a set, the workdir will be created as symlink into a per-workspace subdirectory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--pants-physical-workdir-base" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-physical-workdir-base" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, - "PANTS_PYTHON_INTERPRETER_VERSIONS_UNIVERSE": { + "PANTS_PLUGINS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-interpreter-versions-universe=\"['', '', ...]\"", - "config_key": "interpreter_versions_universe", - "default": [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - "3.10", - "3.11", - "3.12" - ], + "comma_separated_display_args": "--plugins=\"['', '', ...]\"", + "config_key": "plugins", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-interpreter-versions-universe=\"['', '', ...]\"" + "--plugins=\"['', '', ...]\"" ], - "env_var": "PANTS_PYTHON_INTERPRETER_VERSIONS_UNIVERSE", + "env_var": "PANTS_PLUGINS", "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/v2.19/docs/python-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": "Allow backends to be loaded from these plugins (usually released through PyPI). The default backends for each plugin will be loaded automatically. Other backends in a plugin can be loaded by listing them in `backend_packages` in the `[GLOBAL]` scope.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-interpreter-versions-universe"], + "scoped_cmd_line_args": [ + "--plugins" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-versions-universe"], + "unscoped_cmd_line_args": [ + "--plugins" + ], "value_history": { "ranked_values": [ { @@ -16716,41 +19143,37 @@ { "details": "", "rank": "HARDCODED", - "value": [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - "3.10", - "3.11", - "3.12" - ] + "value": [] } ] } }, - "PANTS_PYTHON_INVALID_LOCKFILE_BEHAVIOR": { - "choices": ["error", "ignore", "warn"], - "comma_separated_choices": "error, ignore, warn", - "comma_separated_display_args": "--python-invalid-lockfile-behavior=", - "config_key": "invalid_lockfile_behavior", - "default": "error", + "PANTS_PLUGINS_FORCE_RESOLVE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]plugins-force-resolve", + "config_key": "plugins_force_resolve", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-invalid-lockfile-behavior=" + "--[no-]plugins-force-resolve" ], - "env_var": "PANTS_PYTHON_INVALID_LOCKFILE_BEHAVIOR", + "env_var": "PANTS_PLUGINS_FORCE_RESOLVE", "fromfile": false, - "help": "The behavior when a lockfile has requirements or interpreter constraints that are not compatible with what the current build is using.\n\nWe recommend keeping the default of `error` for CI builds.\n\nNote that `warn` will still expect a Pants lockfile header, it only won't error if the lockfile is stale and should be regenerated.\n\nUse `ignore` to avoid needing a lockfile header at all, e.g. if you are manually managing lockfiles rather than using the `generate-lockfiles` goal.", + "help": "Re-resolve plugins, even if previously resolved.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-invalid-lockfile-behavior"], + "scoped_cmd_line_args": [ + "--plugins-force-resolve", + "--no-plugins-force-resolve" + ], "target_field_name": null, - "typ": "InvalidLockfileBehavior", - "unscoped_cmd_line_args": ["--invalid-lockfile-behavior"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--plugins-force-resolve", + "--no-plugins-force-resolve" + ], "value_history": { "ranked_values": [ { @@ -16761,34 +19184,36 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": false } ] } }, - "PANTS_PYTHON_MACOS_BIG_SUR_COMPATIBILITY": { + "PANTS_PREAMBLE_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-macos-big-sur-compatibility", - "config_key": "macos_big_sur_compatibility", + "comma_separated_display_args": "--[no-]preamble-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-macos-big-sur-compatibility"], - "env_var": "PANTS_PYTHON_MACOS_BIG_SUR_COMPATIBILITY", + "display_args": [ + "--[no-]preamble-skip" + ], + "env_var": "PANTS_PREAMBLE_SKIP", "fromfile": false, - "help": "If set, and if running on macOS Big Sur, use `macosx_10_16` as the platform when building wheels. Otherwise, the default of `macosx_11_0` will be used. This may be required for `pip` to be able to install the resulting distribution on Big Sur.", + "help": "If true, don't use preamble when running `pants fmt`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-macos-big-sur-compatibility", - "--no-python-macos-big-sur-compatibility" + "--preamble-skip", + "--no-preamble-skip" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--macos-big-sur-compatibility", - "--no-macos-big-sur-compatibility" + "--skip", + "--no-skip" ], "value_history": { "ranked_values": [ @@ -16805,61 +19230,69 @@ ] } }, - "PANTS_PYTHON_NATIVE_CODE_CPP_FLAGS": { + "PANTS_PREAMBLE_TEMPLATE_BY_GLOBS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-native-code-cpp-flags=\"['', '', ...]\"", - "config_key": "cpp_flags", - "default": [""], + "comma_separated_display_args": "--preamble-template-by-globs=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "template_by_globs", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-native-code-cpp-flags=\"['', '', ...]\"" + "--preamble-template-by-globs=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_PYTHON_NATIVE_CODE_CPP_FLAGS", - "fromfile": false, - "help": "Override the `CPPFLAGS` environment variable for any forked subprocesses. Use the value `['']` to inherit the value of the `CPPFLAGS` environment variable from your runtime environment target.", + "env_var": "PANTS_PREAMBLE_TEMPLATE_BY_GLOBS", + "fromfile": true, + "help": "Which preamble template to use based on the path globs (relative to the build root).\n\nExample:\n\n {\n '*.rs': '// Copyright (c) $year\\n// Line 2\\n'\n '*.py:!__init__.py': '# Copyright (c) $year\\n# Line 2\\n',\n }\n\nIt might be helpful to load this config from a JSON or YAML file. To do that, set `[preamble].config = '@path/to/config.yaml'`, for example.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-native-code-cpp-flags"], - "target_field_name": "python_native_code_cpp_flags", - "typ": "list", - "unscoped_cmd_line_args": ["--cpp-flags"], + "scoped_cmd_line_args": [ + "--preamble-template-by-globs" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--template-by-globs" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [""] + "value": {} } ] } }, - "PANTS_PYTHON_NATIVE_CODE_LD_FLAGS": { + "PANTS_PRETTIER_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-native-code-ld-flags=\"['', '', ...]\"", - "config_key": "ld_flags", - "default": [""], + "comma_separated_display_args": "--prettier-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-native-code-ld-flags=\"['', '', ...]\"" + "--prettier-args=\"[, , ...]\"" ], - "env_var": "PANTS_PYTHON_NATIVE_CODE_LD_FLAGS", + "env_var": "PANTS_PRETTIER_ARGS", "fromfile": false, - "help": "Override the `LDFLAGS` environment variable for any forked subprocesses. Use the value `['']` to inherit the value of the `LDFLAGS` environment variable from your runtime environment target.", + "help": "Arguments to pass directly to Prettier, e.g. `--prettier-args='--version'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-native-code-ld-flags"], - "target_field_name": "python_native_code_ld_flags", + "scoped_cmd_line_args": [ + "--prettier-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--ld-flags"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -16870,67 +19303,70 @@ { "details": "", "rank": "HARDCODED", - "value": [""] + "value": [] } ] } }, - "PANTS_PYTHON_PIP_VERSION": { + "PANTS_PRETTIER_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-pip-version=", - "config_key": "pip_version", - "default": "23.1.2", + "comma_separated_display_args": "--prettier-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-pip-version="], - "env_var": "PANTS_PYTHON_PIP_VERSION", + "display_args": [ + "--prettier-install-from-resolve=" + ], + "env_var": "PANTS_PRETTIER_INSTALL_FROM_RESOLVE", "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/v2.19/docs/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": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-pip-version"], + "scoped_cmd_line_args": [ + "--prettier-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--pip-version"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "23.1.2" } ] } }, - "PANTS_PYTHON_PROTOBUF_INFER_RUNTIME_DEPENDENCY": { + "PANTS_PRETTIER_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-protobuf-infer-runtime-dependency", - "config_key": "infer_runtime_dependency", - "default": true, + "comma_separated_display_args": "--[no-]prettier-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-protobuf-infer-runtime-dependency"], - "env_var": "PANTS_PYTHON_PROTOBUF_INFER_RUNTIME_DEPENDENCY", + "display_args": [ + "--[no-]prettier-skip" + ], + "env_var": "PANTS_PRETTIER_SKIP", "fromfile": false, - "help": "If True, will add a dependency on a `python_requirement` target exposing the `protobuf` module (usually from the `protobuf` requirement). If the `protobuf_source` target sets `grpc=True`, will also add a dependency on the `python_requirement` target exposing the `grpcio` module.\n\nIf `[python].enable_resolves` is set, Pants will only infer dependencies on `python_requirement` targets that use the same resolve as the particular `protobuf_source` / `protobuf_sources` target uses, which is set via its `python_resolve` field.\n\nUnless this option is disabled, Pants will error if no relevant target is found or if more than one is found which causes ambiguity.", + "help": "If true, don't use Prettier when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-protobuf-infer-runtime-dependency", - "--no-python-protobuf-infer-runtime-dependency" + "--prettier-skip", + "--no-prettier-skip" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--infer-runtime-dependency", - "--no-infer-runtime-dependency" + "--skip", + "--no-skip" ], "value_history": { "ranked_values": [ @@ -16942,32 +19378,35 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_PYTHON_PROTOBUF_MYPY_PLUGIN": { + "PANTS_PRETTIER_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-protobuf-mypy-plugin", - "config_key": "mypy_plugin", - "default": false, + "comma_separated_display_args": "--prettier-version=", + "config_key": "version", + "default": "prettier@2.6.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-protobuf-mypy-plugin"], - "env_var": "PANTS_PYTHON_PROTOBUF_MYPY_PLUGIN", + "display_args": [ + "--prettier-version=" + ], + "env_var": "PANTS_PRETTIER_VERSION", "fromfile": false, - "help": "Use the `mypy-protobuf` plugin (https://github.com/dropbox/mypy-protobuf) to also generate `.pyi` type stubs.", + "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-protobuf-mypy-plugin", - "--no-python-protobuf-mypy-plugin" + "--prettier-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--mypy-plugin", "--no-mypy-plugin"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -16978,32 +19417,37 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "prettier@2.6.2" } ] } }, - "PANTS_PYTHON_REPL_HISTORY": { + "PANTS_PRINT_STACKTRACE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-repl-history", - "config_key": "repl_history", - "default": true, + "comma_separated_display_args": "--[no-]print-stacktrace", + "config_key": "print_stacktrace", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-repl-history"], - "env_var": "PANTS_PYTHON_REPL_HISTORY", + "display_args": [ + "--[no-]print-stacktrace" + ], + "env_var": "PANTS_PRINT_STACKTRACE", "fromfile": false, - "help": "Whether to use the standard Python command history file when running a repl.", + "help": "Print the full exception stack trace for any errors.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-repl-history", - "--no-python-repl-history" + "--print-stacktrace", + "--no-print-stacktrace" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--repl-history", "--no-repl-history"], + "unscoped_cmd_line_args": [ + "--print-stacktrace", + "--no-print-stacktrace" + ], "value_history": { "ranked_values": [ { @@ -17014,191 +19458,229 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_PYTHON_REPOS_FIND_LINKS": { + "PANTS_PROCESS_CLEANUP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-repos-find-links=\"['', '', ...]\"", - "config_key": "find_links", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--python-repos-find-links=\"['', '', ...]\""], - "env_var": "PANTS_PYTHON_REPOS_FIND_LINKS", + "comma_separated_display_args": "--[no-]process-cleanup", + "config_key": "process_cleanup", + "default": true, + "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--[no-]process-cleanup" + ], + "env_var": "PANTS_PROCESS_CLEANUP", "fromfile": false, - "help": "URLs and/or file paths corresponding to pip's `--find-links` option.\n\nPer [pip's documentation](https://pip.pypa.io/en/stable/cli/pip_wheel/?highlight=find%20links#cmdoption-f), URLs should be to HTML files with links to `.whl` and/or sdist files. Local paths must be absolute, and can either be to an HTML file with links or to a directory with `.whl` and/or sdist files, e.g. `file:///Users/pantsbuild/prebuilt_wheels`.\n\nFor local paths, you may want to use the option `[python-repos].path_mappings`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--python-repos-find-links"], + "help": "If false, Pants will not clean up local directories used as chroots for running processes. Pants will log their location so that you can inspect the chroot, and run the `__run.sh` script to recreate the process using the same argv and environment variables used by Pants. This option is useful for debugging.", + "removal_hint": "Use the `keep_sandboxes` option instead.", + "removal_version": "3.0.0.dev0", + "scoped_cmd_line_args": [ + "--process-cleanup", + "--no-process-cleanup" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--find-links"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--process-cleanup", + "--no-process-cleanup" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } }, - "PANTS_PYTHON_REPOS_INDEXES": { + "PANTS_PROCESS_EXECUTION_CACHE_NAMESPACE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-repos-indexes=\"['', '', ...]\"", - "config_key": "indexes", - "default": ["https://pypi.org/simple/"], + "comma_separated_display_args": "--process-execution-cache-namespace=", + "config_key": "process_execution_cache_namespace", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-repos-indexes=\"['', '', ...]\""], - "env_var": "PANTS_PYTHON_REPOS_INDEXES", + "display_args": [ + "--process-execution-cache-namespace=" + ], + "env_var": "PANTS_PROCESS_EXECUTION_CACHE_NAMESPACE", "fromfile": false, - "help": "URLs of [PEP-503 compatible](https://peps.python.org/pep-0503/) code repository indexes to look for requirements.\n\nIf set to an empty list, then Pex will use no indexes (meaning it will not use PyPI).", + "help": "The cache namespace for process execution. Change this value to invalidate every artifact's execution, or to prevent process cache entries from being (re)used for different usecases or users.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-repos-indexes"], + "scoped_cmd_line_args": [ + "--process-execution-cache-namespace" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--indexes"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--process-execution-cache-namespace" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": ["https://pypi.org/simple/"] + "value": null } ] } }, - "PANTS_PYTHON_REPOS_PATH_MAPPINGS": { + "PANTS_PROCESS_EXECUTION_GRACEFUL_SHUTDOWN_TIMEOUT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-repos-path-mappings=\"['', '', ...]\"", - "config_key": "path_mappings", - "default": [], + "comma_separated_display_args": "--process-execution-graceful-shutdown-timeout=", + "config_key": "process_execution_graceful_shutdown_timeout", + "default": 3, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-repos-path-mappings=\"['', '', ...]\"" + "--process-execution-graceful-shutdown-timeout=" ], - "env_var": "PANTS_PYTHON_REPOS_PATH_MAPPINGS", + "env_var": "PANTS_PROCESS_EXECUTION_GRACEFUL_SHUTDOWN_TIMEOUT", "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/v2.19/docs/python-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/v2.19/docs/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/v2.19/docs/options#pantsrc-file.\n\nNote: Only takes effect if using Pex lockfiles, i.e. using the `generate-lockfiles` goal.", + "help": "The time in seconds to wait when gracefully shutting down an interactive process (such as one opened using `pants run`) before killing it.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-repos-path-mappings"], + "scoped_cmd_line_args": [ + "--process-execution-graceful-shutdown-timeout" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--path-mappings"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--process-execution-graceful-shutdown-timeout" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": 3 } ] } }, - "PANTS_PYTHON_REPOS_REPOS": { + "PANTS_PROCESS_EXECUTION_LOCAL_ENABLE_NAILGUN": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-repos-repos=\"['', '', ...]\"", - "config_key": "repos", - "default": [], - "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", - "deprecation_active": true, - "display_args": ["--python-repos-repos=\"['', '', ...]\""], - "env_var": "PANTS_PYTHON_REPOS_REPOS", + "comma_separated_display_args": "--[no-]process-execution-local-enable-nailgun", + "config_key": "process_execution_local_enable_nailgun", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]process-execution-local-enable-nailgun" + ], + "env_var": "PANTS_PROCESS_EXECUTION_LOCAL_ENABLE_NAILGUN", "fromfile": false, - "help": "URLs of code repositories to look for requirements. In Pip and Pex, this option corresponds to the `--find-links` option.", - "removal_hint": "A deprecated alias for `[python-repos].find_links`.", - "removal_version": "3.0.0.dev0", - "scoped_cmd_line_args": ["--python-repos-repos"], + "help": "Whether or not to use nailgun to run JVM requests that are marked as supporting nailgun.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-execution-local-enable-nailgun", + "--no-process-execution-local-enable-nailgun" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--repos"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--process-execution-local-enable-nailgun", + "--no-process-execution-local-enable-nailgun" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } }, - "PANTS_PYTHON_REQUIREMENT_CONSTRAINTS": { + "PANTS_PROCESS_EXECUTION_LOCAL_PARALLELISM": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-requirement-constraints=", - "config_key": "requirement_constraints", - "default": null, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", - "deprecation_active": true, - "display_args": ["--python-requirement-constraints="], - "env_var": "PANTS_PYTHON_REQUIREMENT_CONSTRAINTS", + "comma_separated_display_args": "--process-execution-local-parallelism=", + "config_key": "process_execution_local_parallelism", + "default": "#cores", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--process-execution-local-parallelism=" + ], + "env_var": "PANTS_PROCESS_EXECUTION_LOCAL_PARALLELISM", "fromfile": false, - "help": "When resolving third-party requirements for your own code (vs. tools you run), use this constraints file to determine which versions to use.\n\nMutually exclusive with `[python].enable_resolves`, which we generally recommend as an improvement over constraints file.\n\nSee https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on the format of constraint files and how constraints are applied in Pex and pip.\n\nThis only applies when resolving user requirements, rather than tools you run like Black and Pytest. To constrain tools, set `[tool].lockfile`, e.g. `[black].lockfile`.", - "removal_hint": "We encourage instead migrating to `[python].enable_resolves` and `[python].resolves`, which is an improvement over this option. The `[python].resolves` feature ensures that your lockfiles are fully comprehensive, i.e. include all transitive dependencies; uses hashes for better supply chain security; and supports advanced features like VCS and local requirements, along with options `[python].resolves_to_only_binary`.\n\nTo migrate, stop setting `[python].requirement_constraints` and `[python].resolve_all_constraints`, and instead set `[python].enable_resolves` to `true`. Then, run `pants generate-lockfiles`.", - "removal_version": "3.0.0.dev0", - "scoped_cmd_line_args": ["--python-requirement-constraints"], + "help": "Number of concurrent processes that may be executed locally.\n\nThis value is independent of the number of threads that may be used to execute the logic in `@rules` (controlled by `--rule-threads-core`).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-execution-local-parallelism" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--requirement-constraints"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--process-execution-local-parallelism" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 4 } ] } }, - "PANTS_PYTHON_RESOLVER_MANYLINUX": { + "PANTS_PROCESS_EXECUTION_REMOTE_PARALLELISM": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolver-manylinux=", - "config_key": "resolver_manylinux", - "default": "manylinux2014", + "comma_separated_display_args": "--process-execution-remote-parallelism=", + "config_key": "process_execution_remote_parallelism", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-resolver-manylinux="], - "env_var": "PANTS_PYTHON_RESOLVER_MANYLINUX", + "display_args": [ + "--process-execution-remote-parallelism=" + ], + "env_var": "PANTS_PROCESS_EXECUTION_REMOTE_PARALLELISM", "fromfile": false, - "help": "Whether to allow resolution of manylinux wheels when resolving requirements for foreign linux platforms. The value should be a manylinux platform upper bound, e.g. `'manylinux2010'`, or else the string `'no'` to disallow.", + "help": "Number of concurrent processes that may be executed remotely.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolver-manylinux"], + "scoped_cmd_line_args": [ + "--process-execution-remote-parallelism" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--resolver-manylinux"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--process-execution-remote-parallelism" + ], "value_history": { "ranked_values": [ { @@ -17209,73 +19691,73 @@ { "details": null, "rank": "HARDCODED", - "value": "manylinux2014" + "value": 128 } ] } }, - "PANTS_PYTHON_RESOLVES": { + "PANTS_PROCESS_PER_CHILD_MEMORY_USAGE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves", - "default": { - "python-default": "3rdparty/python/default.lock" - }, + "comma_separated_display_args": "--process-per-child-memory-usage=", + "config_key": "process_per_child_memory_usage", + "default": "512MiB", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves=\"{'key1': val1, 'key2': val2, ...}\"" + "--process-per-child-memory-usage=" ], - "env_var": "PANTS_PYTHON_RESOLVES", + "env_var": "PANTS_PROCESS_PER_CHILD_MEMORY_USAGE", "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/v2.19/docs/targets 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": "The default memory usage for a single \"pooled\" child process.\n\nCheck the documentation for the `--process-total-child-memory-usage` for advice on how to choose an appropriate value for this option.\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolves"], + "scoped_cmd_line_args": [ + "--process-per-child-memory-usage" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves"], + "typ": "memory_size", + "unscoped_cmd_line_args": [ + "--process-per-child-memory-usage" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "python-default": "3rdparty/python/default.lock" - } + "value": 536870912 } ] } }, - "PANTS_PYTHON_RESOLVES_GENERATE_LOCKFILES": { + "PANTS_PROCESS_TOTAL_CHILD_MEMORY_USAGE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-resolves-generate-lockfiles", - "config_key": "resolves_generate_lockfiles", - "default": true, + "comma_separated_display_args": "--process-total-child-memory-usage=", + "config_key": "process_total_child_memory_usage", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-resolves-generate-lockfiles"], - "env_var": "PANTS_PYTHON_RESOLVES_GENERATE_LOCKFILES", + "display_args": [ + "--process-total-child-memory-usage=" + ], + "env_var": "PANTS_PROCESS_TOTAL_CHILD_MEMORY_USAGE", "fromfile": false, - "help": "If False, Pants will not attempt to generate lockfiles for `[python].resolves` when running the `generate-lockfiles` goal.\n\nThis is intended to allow you to manually generate lockfiles for your own code, rather than using Pex lockfiles. For example, when adopting Pants in a project already using Poetry, you can use `poetry export --dev` to create a requirements.txt-style lockfile understood by Pants, then point `[python].resolves` to the file.\n\nIf you set this to False, Pants will not attempt to validate the metadata headers for your user lockfiles. This is useful so that you can keep `[python].invalid_lockfile_behavior` to `error` or `warn` if you'd like so that tool lockfiles continue to be validated, while user lockfiles are skipped.\n\nWarning: it will likely be slower to install manually generated user lockfiles than Pex ones because Pants cannot as efficiently extract the subset of requirements used for a particular task. See the option `[python].run_against_entire_lockfile`.", + "help": "The maximum memory usage for all \"pooled\" child processes.\n\nWhen set, this value participates in precomputing the pool size of child processes used by Pants (pooling is currently used only for the JVM). When not set, Pants will default to spawning `2 * --process-execution-local-parallelism` pooled processes.\n\nA high value would result in a high number of child processes spawned, potentially overconsuming your resources and triggering the OS' OOM killer. A low value would mean a low number of child processes launched and therefore less parallelism for the tasks that need those processes.\n\nIf setting this value, consider also adjusting the value of the `--process-per-child-memory-usage` option.\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-resolves-generate-lockfiles", - "--no-python-resolves-generate-lockfiles" + "--process-total-child-memory-usage" ], "target_field_name": null, - "typ": "bool", + "typ": "memory_size", "unscoped_cmd_line_args": [ - "--resolves-generate-lockfiles", - "--no-resolves-generate-lockfiles" + "--process-total-child-memory-usage" ], "value_history": { "ranked_values": [ @@ -17283,178 +19765,201 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } }, - "PANTS_PYTHON_RESOLVES_TO_CONSTRAINTS_FILE": { + "PANTS_PROTOBUF_JAVA_GRPC_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves-to-constraints-file=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves_to_constraints_file", - "default": {}, + "comma_separated_display_args": "--protobuf-java-grpc-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "io.grpc:protoc-gen-grpc-java:exe:linux-aarch_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:osx-aarch_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:osx-x86_64:{version}" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves-to-constraints-file=\"{'key1': val1, 'key2': val2, ...}\"" + "--protobuf-java-grpc-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_PYTHON_RESOLVES_TO_CONSTRAINTS_FILE", + "env_var": "PANTS_PROTOBUF_JAVA_GRPC_ARTIFACTS", "fromfile": false, - "help": "When generating a resolve's lockfile, use a constraints file to pin the version of certain requirements. This is particularly useful to pin the versions of transitive dependencies of your direct requirements.\n\nSee https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on the format of constraint files and how constraints are applied in Pex and pip.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to file paths for constraints files. For example, `{'data-science': '3rdparty/data-science-constraints.txt'}`. If a resolve is not set in the dictionary, it will not use a constraints file.\n\nYou can use the key `__default__` to set a default value for all resolves.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[protobuf-java-grpc].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolves-to-constraints-file"], + "scoped_cmd_line_args": [ + "--protobuf-java-grpc-artifacts" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves-to-constraints-file"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [ + "io.grpc:protoc-gen-grpc-java:exe:linux-aarch_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:osx-aarch_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:osx-x86_64:{version}" + ] } ] } }, - "PANTS_PYTHON_RESOLVES_TO_INTERPRETER_CONSTRAINTS": { + "PANTS_PROTOBUF_JAVA_GRPC_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves-to-interpreter-constraints=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves_to_interpreter_constraints", - "default": {}, + "comma_separated_display_args": "--protobuf-java-grpc-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves-to-interpreter-constraints=\"{'key1': val1, 'key2': val2, ...}\"" + "--protobuf-java-grpc-jvm-options=\"['', '', ...]\"" ], - "env_var": "PANTS_PYTHON_RESOLVES_TO_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PROTOBUF_JAVA_GRPC_JVM_OPTIONS", "fromfile": false, - "help": "Override the interpreter constraints to use when generating a resolve's lockfile with the `generate-lockfiles` goal.\n\nBy default, each resolve from `[python].resolves` will use your global interpreter constraints set in `[python].interpreter_constraints`. With this option, you can override each resolve to use certain interpreter constraints, such as `{'data-science': ['==3.8.*']}`.\n\nWarning: this does NOT impact the interpreter constraints used by targets within the resolve, which is instead set by the option `[python].interpreter_constraints` and the `interpreter_constraints` field. It only impacts how the lockfile is generated.\n\nPants will validate that the interpreter constraints of your code using a resolve are compatible with that resolve's own constraints. For example, if your code is set to use `['==3.9.*']` via the `interpreter_constraints` field, but it's using a resolve whose interpreter constraints are set to `['==3.7.*']`, then Pants will error explaining the incompatibility.\n\nThe keys must be defined as resolves in `[python].resolves`.", + "help": "List of JVM options to pass to `protobuf-java-grpc` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolves-to-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--protobuf-java-grpc-jvm-options" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves-to-interpreter-constraints"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [] } ] } }, - "PANTS_PYTHON_RESOLVES_TO_NO_BINARY": { + "PANTS_PROTOBUF_JAVA_GRPC_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves-to-no-binary=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves_to_no_binary", - "default": {}, + "comma_separated_display_args": "--protobuf-java-grpc-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves-to-no-binary=\"{'key1': val1, 'key2': val2, ...}\"" + "--protobuf-java-grpc-lockfile=" ], - "env_var": "PANTS_PYTHON_RESOLVES_TO_NO_BINARY", + "env_var": "PANTS_PROTOBUF_JAVA_GRPC_LOCKFILE", "fromfile": false, - "help": "When generating a resolve's lockfile, do not use binary packages (i.e. wheels) for these 3rdparty project names.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to lists of project names. For example, `{'data-science': ['requests', 'numpy']}`. If a resolve is not set in the dictionary, it will have no restrictions on binary packages.\n\nYou can use the key `__default__` to set a default value for all resolves.\n\nFor each resolve, you can also use the value `:all:` to disable all binary packages: `{'data-science': [':all:']}`.\n\nNote that some packages are tricky to compile and may fail to install when this option is used on them. See https://pip.pypa.io/en/stable/cli/pip_install/#install-no-binary for details.", + "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.19.0rc5/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": ["--python-resolves-to-no-binary"], + "scoped_cmd_line_args": [ + "--protobuf-java-grpc-lockfile" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves-to-no-binary"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": "" } ] } }, - "PANTS_PYTHON_RESOLVES_TO_ONLY_BINARY": { + "PANTS_PROTOBUF_JAVA_GRPC_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves-to-only-binary=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves_to_only_binary", - "default": {}, + "comma_separated_display_args": "--protobuf-java-grpc-version=", + "config_key": "version", + "default": "1.48.0", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves-to-only-binary=\"{'key1': val1, 'key2': val2, ...}\"" + "--protobuf-java-grpc-version=" ], - "env_var": "PANTS_PYTHON_RESOLVES_TO_ONLY_BINARY", + "env_var": "PANTS_PROTOBUF_JAVA_GRPC_VERSION", "fromfile": false, - "help": "When generating a resolve's lockfile, do not use source packages (i.e. sdists) for these 3rdparty project names, e.g `['django', 'requests']`.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to lists of project names. For example, `{'data-science': ['requests', 'numpy']}`. If a resolve is not set in the dictionary, it will have no restrictions on source packages.\n\nYou can use the key `__default__` to set a default value for all resolves.\n\nFor each resolve you can use the value `:all:` to disable all source packages: `{'data-science': [':all:']}`.\n\nPackages without binary distributions will fail to install when this option is used on them. See https://pip.pypa.io/en/stable/cli/pip_install/#install-only-binary for details.", + "help": "Version string for the tool. This is available for substitution in the `[protobuf-java-grpc].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolves-to-only-binary"], + "scoped_cmd_line_args": [ + "--protobuf-java-grpc-version" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves-to-only-binary"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": "1.48.0" } ] } }, - "PANTS_PYTHON_RESOLVE_ALL_CONSTRAINTS": { + "PANTS_PROTOC_DEPENDENCY_INFERENCE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-resolve-all-constraints", - "config_key": "resolve_all_constraints", + "comma_separated_display_args": "--[no-]protoc-dependency-inference", + "config_key": "dependency_inference", "default": true, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", - "deprecation_active": true, - "display_args": ["--[no-]python-resolve-all-constraints"], - "env_var": "PANTS_PYTHON_RESOLVE_ALL_CONSTRAINTS", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]protoc-dependency-inference" + ], + "env_var": "PANTS_PROTOC_DEPENDENCY_INFERENCE", "fromfile": false, - "help": "(Only relevant when using `[python].requirement_constraints.`) If enabled, when resolving requirements, Pants will first resolve your entire constraints file as a single global resolve. Then, if the code uses a subset of your constraints file, Pants will extract the relevant requirements from that global resolve so that only what's actually needed gets used. If disabled, Pants will not use a global resolve and will resolve each subset of your requirements independently.\n\nUsually this option should be enabled because it can result in far fewer resolves.", - "removal_hint": "We encourage instead migrating to `[python].enable_resolves` and `[python].resolves`, which is an improvement over this option. The `[python].resolves` feature ensures that your lockfiles are fully comprehensive, i.e. include all transitive dependencies; uses hashes for better supply chain security; and supports advanced features like VCS and local requirements, along with options `[python].resolves_to_only_binary`.\n\nTo migrate, stop setting `[python].requirement_constraints` and `[python].resolve_all_constraints`, and instead set `[python].enable_resolves` to `true`. Then, run `pants generate-lockfiles`.", - "removal_version": "3.0.0.dev0", + "help": "Infer Protobuf dependencies on other Protobuf files by analyzing import statements.", + "removal_hint": null, + "removal_version": null, "scoped_cmd_line_args": [ - "--python-resolve-all-constraints", - "--no-python-resolve-all-constraints" + "--protoc-dependency-inference", + "--no-protoc-dependency-inference" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--resolve-all-constraints", - "--no-resolve-all-constraints" + "--dependency-inference", + "--no-dependency-inference" ], "value_history": { "ranked_values": [ @@ -17471,68 +19976,88 @@ ] } }, - "PANTS_PYTHON_RUN_AGAINST_ENTIRE_LOCKFILE": { + "PANTS_PROTOC_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-run-against-entire-lockfile", - "config_key": "run_against_entire_lockfile", - "default": false, + "comma_separated_display_args": "--protoc-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "24.4|linux_arm64 |83ac000ff540e242b6a2ff221a3ac88d2d8e55443801b7a28e9697e5f40e8937|2971447", + "24.4|linux_x86_64|5871398dfd6ac954a6adebf41f1ae3a4de915a36a6ab2fd3e8f2c00d45b50dec|3005774", + "24.4|macos_arm64 |d80544480397fe8a05d966fba291cf1233ad0db0ebc24ec72d7bd077d6e7ac59|2088802", + "24.4|macos_x86_64|6c3b6bf4038d733b6d31f1cc4516a656570b5b5aafb966b650f8182afd0b98cf|2121366", + "3.20.1|linux_arm64 |8a5a51876259f934cd2acc2bc59dba0e9a51bd631a5c37a4b9081d6e4dbc7591|1804837", + "3.20.1|linux_x86_64|3a0e900f9556fbcac4c3a913a00d07680f0fdf6b990a341462d822247b265562|1714731", + "3.20.1|macos_arm64 |b362acae78542872bb6aac8dba73aaf0dc6e94991b8b0a065d6c3e703fec2a8b|2708249", + "3.20.1|macos_x86_64|b4f36b18202d54d343a66eebc9f8ae60809a2a96cc2d1b378137550bbe4cf33c|2708249" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-run-against-entire-lockfile"], - "env_var": "PANTS_PYTHON_RUN_AGAINST_ENTIRE_LOCKFILE", + "display_args": [ + "--protoc-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_PROTOC_KNOWN_VERSIONS", "fromfile": false, - "help": "If enabled, when running binaries, tests, and repls, Pants will use the entire lockfile file instead of just the relevant subset.\n\nIf you are using Pex lockfiles, we generally do not recommend this. You will already get similar performance benefits to this option, without the downsides.\n\nOtherwise, this option can improve performance and reduce cache size. But it has two consequences: 1) All cached test results will be invalidated if any requirement in the lockfile\n changes, rather than just those that depend on the changed requirement.\n2) Requirements unneeded by a test/run/repl will be present on the sys.path, which\n might in rare cases cause their behavior to change.\n\nThis option does not affect packaging deployable artifacts, such as PEX files, wheels and cloud functions, which will still use just the exact subset of requirements needed.", + "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": [ - "--python-run-against-entire-lockfile", - "--no-python-run-against-entire-lockfile" + "--protoc-known-versions" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--run-against-entire-lockfile", - "--no-run-against-entire-lockfile" + "--known-versions" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "24.4|linux_arm64 |83ac000ff540e242b6a2ff221a3ac88d2d8e55443801b7a28e9697e5f40e8937|2971447", + "24.4|linux_x86_64|5871398dfd6ac954a6adebf41f1ae3a4de915a36a6ab2fd3e8f2c00d45b50dec|3005774", + "24.4|macos_arm64 |d80544480397fe8a05d966fba291cf1233ad0db0ebc24ec72d7bd077d6e7ac59|2088802", + "24.4|macos_x86_64|6c3b6bf4038d733b6d31f1cc4516a656570b5b5aafb966b650f8182afd0b98cf|2121366", + "3.20.1|linux_arm64 |8a5a51876259f934cd2acc2bc59dba0e9a51bd631a5c37a4b9081d6e4dbc7591|1804837", + "3.20.1|linux_x86_64|3a0e900f9556fbcac4c3a913a00d07680f0fdf6b990a341462d822247b265562|1714731", + "3.20.1|macos_arm64 |b362acae78542872bb6aac8dba73aaf0dc6e94991b8b0a065d6c3e703fec2a8b|2708249", + "3.20.1|macos_x86_64|b4f36b18202d54d343a66eebc9f8ae60809a2a96cc2d1b378137550bbe4cf33c|2708249" + ] } ] } }, - "PANTS_PYTHON_TAILOR_IGNORE_EMPTY_INIT_FILES": { + "PANTS_PROTOC_TAILOR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-ignore-empty-init-files", - "config_key": "tailor_ignore_empty_init_files", + "comma_separated_display_args": "--[no-]protoc-tailor", + "config_key": "tailor", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-ignore-empty-init-files"], - "env_var": "PANTS_PYTHON_TAILOR_IGNORE_EMPTY_INIT_FILES", + "display_args": [ + "--[no-]protoc-tailor" + ], + "env_var": "PANTS_PROTOC_TAILOR", "fromfile": false, - "help": "If true, don't add `python_sources` targets for `__init__.py` files that are both empty and where there are no other Python files in the directory.\n\nEmpty and solitary `__init__.py` files usually exist as import scaffolding rather than true library code, so it can be noisy to add BUILD files.\n\nEven if this option is set to true, Pants will still ensure the empty `__init__.py` files are included in the sandbox when running processes.\n\nIf you set to false, you may also want to set `[python-infer].init_files = \"always\"`.", + "help": "If true, add `protobuf_sources` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-tailor-ignore-empty-init-files", - "--no-python-tailor-ignore-empty-init-files" + "--protoc-tailor", + "--no-protoc-tailor" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-ignore-empty-init-files", - "--no-tailor-ignore-empty-init-files" + "--tailor", + "--no-tailor" ], "value_history": { "ranked_values": [ @@ -17549,68 +20074,78 @@ ] } }, - "PANTS_PYTHON_TAILOR_PEX_BINARY_TARGETS": { + "PANTS_PROTOC_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-pex-binary-targets", - "config_key": "tailor_pex_binary_targets", - "default": false, + "comma_separated_display_args": "--protoc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-aarch_64", + "linux_x86_64": "linux-x86_64", + "macos_arm64": "osx-aarch_64", + "macos_x86_64": "osx-x86_64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-pex-binary-targets"], - "env_var": "PANTS_PYTHON_TAILOR_PEX_BINARY_TARGETS", + "display_args": [ + "--protoc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PROTOC_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "If true, add `pex_binary` targets for Python files named `__main__.py` or with a `__main__` clause with the `tailor` goal.", + "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": [ - "--python-tailor-pex-binary-targets", - "--no-python-tailor-pex-binary-targets" + "--protoc-url-platform-mapping" ], "target_field_name": null, - "typ": "bool", + "typ": "dict", "unscoped_cmd_line_args": [ - "--tailor-pex-binary-targets", - "--no-tailor-pex-binary-targets" + "--url-platform-mapping" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": { + "linux_arm64": "linux-aarch_64", + "linux_x86_64": "linux-x86_64", + "macos_arm64": "osx-aarch_64", + "macos_x86_64": "osx-x86_64" + } } ] } }, - "PANTS_PYTHON_TAILOR_PY_TYPED_TARGETS": { + "PANTS_PROTOC_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-py-typed-targets", - "config_key": "tailor_py_typed_targets", - "default": true, + "comma_separated_display_args": "--protoc-url-template=", + "config_key": "url_template", + "default": "https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-py-typed-targets"], - "env_var": "PANTS_PYTHON_TAILOR_PY_TYPED_TARGETS", + "display_args": [ + "--protoc-url-template=" + ], + "env_var": "PANTS_PROTOC_URL_TEMPLATE", "fromfile": false, - "help": "If true, add `resource` targets for marker files named `py.typed` with the `tailor` goal.", + "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/v2.19/docs/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": [ - "--python-tailor-py-typed-targets", - "--no-python-tailor-py-typed-targets" + "--protoc-url-template" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--tailor-py-typed-targets", - "--no-tailor-py-typed-targets" + "--url-template" ], "value_history": { "ranked_values": [ @@ -17622,34 +20157,37 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip" } ] } }, - "PANTS_PYTHON_TAILOR_REQUIREMENTS_TARGETS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-requirements-targets", - "config_key": "tailor_requirements_targets", - "default": true, + "PANTS_PROTOC_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--protoc-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-requirements-targets"], - "env_var": "PANTS_PYTHON_TAILOR_REQUIREMENTS_TARGETS", + "display_args": [ + "--protoc-use-unsupported-version=" + ], + "env_var": "PANTS_PROTOC_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "If true, add `python_requirements`, `poetry_requirements`, and `pipenv_requirements` target generators with the `tailor` goal.\n\n`python_requirements` targets are added for any file that matches the pattern `*requirements*.txt`. You will need to manually add `python_requirements` for different file names like `reqs.txt`.\n\n`poetry_requirements` targets are added for `pyproject.toml` files with `[tool.poetry` in them.", + "help": "\nWhat action to take in case the requested version of protoc is not supported.\n\nSupported protoc versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-tailor-requirements-targets", - "--no-python-tailor-requirements-targets" + "--protoc-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--tailor-requirements-targets", - "--no-tailor-requirements-targets" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -17661,34 +20199,34 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "error" } ] } }, - "PANTS_PYTHON_TAILOR_SOURCE_TARGETS": { + "PANTS_PROTOC_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-source-targets", - "config_key": "tailor_source_targets", - "default": true, + "comma_separated_display_args": "--protoc-version=", + "config_key": "version", + "default": "3.20.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-source-targets"], - "env_var": "PANTS_PYTHON_TAILOR_SOURCE_TARGETS", + "display_args": [ + "--protoc-version=" + ], + "env_var": "PANTS_PROTOC_VERSION", "fromfile": false, - "help": "If true, add `python_sources`, `python_tests`, and `python_test_utils` targets with the `tailor` goal.", + "help": "Use this version of protoc.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-tailor-source-targets", - "--no-python-tailor-source-targets" + "--protoc-version" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--tailor-source-targets", - "--no-tailor-source-targets" + "--version" ], "value_history": { "ranked_values": [ @@ -17700,34 +20238,34 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "3.20.1" } ] } }, - "PANTS_PYTHON_THRIFT_INFER_RUNTIME_DEPENDENCY": { + "PANTS_PUBLISH_OUTPUT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-thrift-infer-runtime-dependency", - "config_key": "infer_runtime_dependency", - "default": true, + "comma_separated_display_args": "--publish-output=", + "config_key": "output", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-thrift-infer-runtime-dependency"], - "env_var": "PANTS_PYTHON_THRIFT_INFER_RUNTIME_DEPENDENCY", + "display_args": [ + "--publish-output=" + ], + "env_var": "PANTS_PUBLISH_OUTPUT", "fromfile": false, - "help": "If True, will add a dependency on a `python_requirement` target exposing the `thrift` module (usually from the `thrift` requirement).\n\nIf `[python].enable_resolves` is set, Pants will only infer dependencies on `python_requirement` targets that use the same resolve as the particular `thrift_source` / `thrift_source` target uses, which is set via its `python_resolve` field.\n\nUnless this option is disabled, Pants will error if no relevant target is found or more than one is found which causes ambiguity.", + "help": "Filename for JSON structured publish information.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-thrift-infer-runtime-dependency", - "--no-python-thrift-infer-runtime-dependency" + "--publish-output" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--infer-runtime-dependency", - "--no-infer-runtime-dependency" + "--output" ], "value_history": { "ranked_values": [ @@ -17735,33 +20273,34 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } }, - "PANTS_PYTHON_THRIFT_OPTIONS": { + "PANTS_PYDOCSTYLE_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-thrift-options=\"['', '', ...]\"", - "config_key": "options", + "comma_separated_display_args": "--pydocstyle-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-thrift-options=\"['', '', ...]\""], - "env_var": "PANTS_PYTHON_THRIFT_OPTIONS", + "display_args": [ + "--pydocstyle-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PYDOCSTYLE_ARGS", "fromfile": false, - "help": "Code generation options specific to the Python code generator to pass to the Apache `thift` binary via the `-gen py` argument. See `thrift -help` for supported values.", + "help": "Arguments to pass directly to Pydocstyle, e.g. `--pydocstyle-args='--select=D101,D102'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-thrift-options"], + "scoped_cmd_line_args": [ + "--pydocstyle-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--options"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -17777,85 +20316,105 @@ ] } }, - "PANTS_PYTYPE_ARGS": { + "PANTS_PYDOCSTYLE_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--pydocstyle-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-args=\"[, , ...]\""], - "env_var": "PANTS_PYTYPE_ARGS", + "display_args": [ + "--pydocstyle-config=" + ], + "env_var": "PANTS_PYDOCSTYLE_CONFIG", "fromfile": false, - "help": "Arguments to pass directly to Pytype, e.g. `--pytype-args='--version'`.", + "help": "Path to a Pydocstyle config file (http://www.pydocstyle.org/en/stable/usage.html#configuration-files).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-args"], + "scoped_cmd_line_args": [ + "--pydocstyle-config" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, - "PANTS_PYTYPE_CONFIG": { + "PANTS_PYDOCSTYLE_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--[no-]pydocstyle-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-config="], - "env_var": "PANTS_PYTYPE_CONFIG", + "display_args": [ + "--[no-]pydocstyle-config-discovery" + ], + "env_var": "PANTS_PYDOCSTYLE_CONFIG_DISCOVERY", "fromfile": false, - "help": "Path to an toml config file understood by Pytype (https://github.com/google/pytype#config-file).", + "help": "If true, Pants will include any relevant config files during runs (`setup.cfg`, `tox.ini`, `.pydocstyle`, `.pydocstyle.ini`, `.pydocstylerc`, `.pydocstylerc.ini`, and `pyproject.toml`) searching for the configuration file in this particular order.\n\nPlease note that even though `pydocstyle` keeps looking for a configuration file up the directory tree until one is found, Pants will only search for the config files in the repository root (from where you would normally run the `` command).\n\nUse `[pydocstyle].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-config"], + "scoped_cmd_line_args": [ + "--pydocstyle-config-discovery", + "--no-pydocstyle-config-discovery" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_PYTYPE_CONSOLE_SCRIPT": { + "PANTS_PYDOCSTYLE_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-console-script=", + "comma_separated_display_args": "--pydocstyle-console-script=", "config_key": "console_script", - "default": "pytype", + "default": "pydocstyle", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-console-script="], - "env_var": "PANTS_PYTYPE_CONSOLE_SCRIPT", + "display_args": [ + "--pydocstyle-console-script=" + ], + "env_var": "PANTS_PYDOCSTYLE_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-console-script"], + "scoped_cmd_line_args": [ + "--pydocstyle-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -17866,29 +20425,35 @@ { "details": null, "rank": "HARDCODED", - "value": "pytype" + "value": "pydocstyle" } ] } }, - "PANTS_PYTYPE_ENTRY_POINT": { + "PANTS_PYDOCSTYLE_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-entry-point=", + "comma_separated_display_args": "--pydocstyle-entry-point=", "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-entry-point="], - "env_var": "PANTS_PYTYPE_ENTRY_POINT", + "display_args": [ + "--pydocstyle-entry-point=" + ], + "env_var": "PANTS_PYDOCSTYLE_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-entry-point"], + "scoped_cmd_line_args": [ + "--pydocstyle-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -17899,24 +20464,30 @@ ] } }, - "PANTS_PYTYPE_INSTALL_FROM_RESOLVE": { + "PANTS_PYDOCSTYLE_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-install-from-resolve=", + "comma_separated_display_args": "--pydocstyle-install-from-resolve=", "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-install-from-resolve="], - "env_var": "PANTS_PYTYPE_INSTALL_FROM_RESOLVE", + "display_args": [ + "--pydocstyle-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--pytype-install-from-resolve"], + "scoped_cmd_line_args": [ + "--pydocstyle-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -17927,26 +20498,32 @@ ] } }, - "PANTS_PYTYPE_INTERPRETER_CONSTRAINTS": { + "PANTS_PYDOCSTYLE_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-interpreter-constraints=\"['', '', ...]\"", + "comma_separated_display_args": "--pydocstyle-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<3.10"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pytype-interpreter-constraints=\"['', '', ...]\"" + "--pydocstyle-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_PYTYPE_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYDOCSTYLE_INTERPRETER_CONSTRAINTS", "fromfile": false, "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--pydocstyle-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -17957,29 +20534,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<3.10"] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_PYTYPE_REQUIREMENTS": { + "PANTS_PYDOCSTYLE_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-requirements=\"['', '', ...]\"", + "comma_separated_display_args": "--pydocstyle-requirements=\"['', '', ...]\"", "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYTYPE_REQUIREMENTS", + "display_args": [ + "--pydocstyle-requirements=\"['', '', ...]\"" + ], + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-requirements"], + "scoped_cmd_line_args": [ + "--pydocstyle-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -17995,24 +20580,32 @@ ] } }, - "PANTS_PYTYPE_SKIP": { + "PANTS_PYDOCSTYLE_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pytype-skip", + "comma_separated_display_args": "--[no-]pydocstyle-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pytype-skip"], - "env_var": "PANTS_PYTYPE_SKIP", + "display_args": [ + "--[no-]pydocstyle-skip" + ], + "env_var": "PANTS_PYDOCSTYLE_SKIP", "fromfile": false, - "help": "If true, don't use Pytype when running `pants check`.", + "help": "If true, don't use Pydocstyle when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-skip", "--no-pytype-skip"], + "scoped_cmd_line_args": [ + "--pydocstyle-skip", + "--no-pydocstyle-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -18028,24 +20621,30 @@ ] } }, - "PANTS_PYUPGRADE_ARGS": { + "PANTS_PYENV_PYTHON_PROVIDER_INSTALLATION_EXTRA_ENV_VARS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--pyenv-python-provider-installation-extra-env-vars=\"['', '', ...]\"", + "config_key": "installation_extra_env_vars", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyupgrade-args=\"[, , ...]\""], - "env_var": "PANTS_PYUPGRADE_ARGS", + "display_args": [ + "--pyenv-python-provider-installation-extra-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_INSTALLATION_EXTRA_ENV_VARS", "fromfile": false, - "help": "Arguments to pass directly to pyupgrade, e.g. `--pyupgrade-args='--py39-plus --keep-runtime-typing'`.", + "help": "Additional environment variables to include when running `pyenv install`.\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 is especially useful if you want to use an optimized Python (E.g. setting `PYTHON_CONFIGURE_OPTS='--enable-optimizations --with-lto'` and `PYTHON_CFLAGS='-march=native -mtune=native'`) or need custom compiler flags.\n\nNote that changes to this option result in a different fingerprint for the installed Python, and therefore will cause a full re-install if changed.\n\nSee https://github.com/pyenv/pyenv/blob/master/plugins/python-build/README.md#special-environment-variables for supported env vars.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-args"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--pyenv-python-provider-installation-extra-env-vars" + ], + "target_field_name": "pyenv_python_provider_installation_extra_env_vars", "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--installation-extra-env-vars" + ], "value_history": { "ranked_values": [ { @@ -18061,214 +20660,272 @@ ] } }, - "PANTS_PYUPGRADE_CONSOLE_SCRIPT": { + "PANTS_PYENV_PYTHON_PROVIDER_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-console-script=", - "config_key": "console_script", - "default": "pyupgrade", + "comma_separated_display_args": "--pyenv-python-provider-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "2.3.13|macos_arm64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|macos_x86_64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|linux_x86_64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|linux_arm64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyupgrade-console-script="], - "env_var": "PANTS_PYUPGRADE_CONSOLE_SCRIPT", + "display_args": [ + "--pyenv-python-provider-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_KNOWN_VERSIONS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "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": ["--pyupgrade-console-script"], + "scoped_cmd_line_args": [ + "--pyenv-python-provider-known-versions" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "pyupgrade" + "value": [ + "2.3.13|macos_arm64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|macos_x86_64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|linux_x86_64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|linux_arm64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323" + ] } ] } }, - "PANTS_PYUPGRADE_ENTRY_POINT": { + "PANTS_PYENV_PYTHON_PROVIDER_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--pyenv-python-provider-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyupgrade-entry-point="], - "env_var": "PANTS_PYUPGRADE_ENTRY_POINT", + "display_args": [ + "--pyenv-python-provider-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "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": ["--pyupgrade-entry-point"], + "scoped_cmd_line_args": [ + "--pyenv-python-provider-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} } ] } }, - "PANTS_PYUPGRADE_INSTALL_FROM_RESOLVE": { + "PANTS_PYENV_PYTHON_PROVIDER_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--pyenv-python-provider-url-template=", + "config_key": "url_template", + "default": "https://github.com/pyenv/pyenv/archive/refs/tags/v{version}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyupgrade-install-from-resolve="], - "env_var": "PANTS_PYUPGRADE_INSTALL_FROM_RESOLVE", + "display_args": [ + "--pyenv-python-provider-url-template=" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_URL_TEMPLATE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "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/v2.19/docs/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": ["--pyupgrade-install-from-resolve"], + "scoped_cmd_line_args": [ + "--pyenv-python-provider-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "https://github.com/pyenv/pyenv/archive/refs/tags/v{version}.tar.gz" } ] } }, - "PANTS_PYUPGRADE_INTERPRETER_CONSTRAINTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "PANTS_PYENV_PYTHON_PROVIDER_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--pyenv-python-provider-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pyupgrade-interpreter-constraints=\"['', '', ...]\"" + "--pyenv-python-provider-use-unsupported-version=" ], - "env_var": "PANTS_PYUPGRADE_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "\nWhat action to take in case the requested version of pyenv is not supported.\n\nSupported pyenv versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--pyenv-python-provider-use-unsupported-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": "error" } ] } }, - "PANTS_PYUPGRADE_REQUIREMENTS": { + "PANTS_PYENV_PYTHON_PROVIDER_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--pyenv-python-provider-version=", + "config_key": "version", + "default": "2.3.13", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyupgrade-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYUPGRADE_REQUIREMENTS", + "display_args": [ + "--pyenv-python-provider-version=" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_VERSION", "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": "Use this version of pyenv.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-requirements"], + "scoped_cmd_line_args": [ + "--pyenv-python-provider-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "2.3.13" } ] } }, - "PANTS_PYUPGRADE_SKIP": { + "PANTS_PYLINT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pyupgrade-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--pylint-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pyupgrade-skip"], - "env_var": "PANTS_PYUPGRADE_SKIP", + "display_args": [ + "--pylint-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PYLINT_ARGS", "fromfile": false, - "help": "If true, don't use pyupgrade when running `pants fmt` and `pants lint`.", + "help": "Arguments to pass directly to Pylint, e.g. `--pylint-args='--ignore=foo.py,bar.py --disable=C0330,W0311'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-skip", "--no-pyupgrade-skip"], + "scoped_cmd_line_args": [ + "--pylint-args" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_PY_CONSTRAINTS_OUTPUT_FILE": { + "PANTS_PYLINT_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--py-constraints-output-file=", - "config_key": "output_file", + "comma_separated_display_args": "--pylint-config=", + "config_key": "config", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--py-constraints-output-file="], - "env_var": "PANTS_PY_CONSTRAINTS_OUTPUT_FILE", + "display_args": [ + "--pylint-config=" + ], + "env_var": "PANTS_PYLINT_CONFIG", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "Path to a config file understood by Pylint (http://pylint.pycqa.org/en/latest/user_guide/run.html#command-line-options).\n\nSetting this option will disable `[pylint].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--py-constraints-output-file"], + "scoped_cmd_line_args": [ + "--pylint-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -18279,27 +20936,32 @@ ] } }, - "PANTS_PY_CONSTRAINTS_SUMMARY": { + "PANTS_PYLINT_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]py-constraints-summary", - "config_key": "summary", - "default": false, + "comma_separated_display_args": "--[no-]pylint-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]py-constraints-summary"], - "env_var": "PANTS_PY_CONSTRAINTS_SUMMARY", + "display_args": [ + "--[no-]pylint-config-discovery" + ], + "env_var": "PANTS_PYLINT_CONFIG_DISCOVERY", "fromfile": false, - "help": "Output a CSV summary of interpreter constraints for your whole repository. The headers are `Target`, `Constraints`, `Transitive Constraints`, `# Dependencies`, and `# Dependents`.\n\nThis information can be useful when prioritizing a migration from one Python version to another (e.g. to Python 3). Use `# Dependencies` and `# Dependents` to help prioritize which targets are easiest to port (low # dependencies) and highest impact to port (high # dependents).\n\nUse a tool like Pandas or Excel to process the CSV. Use the option `--py-constraints-output-file=summary.csv` to write directly to a file.", + "help": "If true, Pants will include any relevant config files during runs (`.pylintrc`, `pylintrc`, `pyproject.toml`, and `setup.cfg`).\n\nUse `[pylint].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--py-constraints-summary", - "--no-py-constraints-summary" + "--pylint-config-discovery", + "--no-pylint-config-discovery" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--summary", "--no-summary"], + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -18310,166 +20972,183 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_REGEX_LINT_CONFIG": { + "PANTS_PYLINT_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--regex-lint-config=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "config", - "default": {}, + "comma_separated_display_args": "--pylint-console-script=", + "config_key": "console_script", + "default": "pylint", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--regex-lint-config=\"{'key1': val1, 'key2': val2, ...}\"" + "--pylint-console-script=" ], - "env_var": "PANTS_REGEX_LINT_CONFIG", - "fromfile": true, - "help": "Config schema is as follows:\n\n ```\n {\n 'required_matches': {\n 'path_pattern1': [content_pattern1, content_pattern2],\n 'path_pattern2': [content_pattern1, content_pattern3],\n ...\n },\n 'path_patterns': [\n {\n 'name': path_pattern1',\n 'pattern': ,\n 'inverted': True|False (defaults to False),\n 'content_encoding': (defaults to utf8)\n },\n ...\n ],\n 'content_patterns': [\n {\n 'name': 'content_pattern1',\n 'pattern': ,\n 'inverted': True|False (defaults to False)\n }\n ...\n ]\n }\n ```\n\nMeaning: if a file matches some path pattern, its content must match all the corresponding content patterns.\n\nIt's often helpful to load this config from a JSON or YAML file. To do that, set `[regex-lint].config = '@path/to/config.yaml'`, for example.", + "env_var": "PANTS_PYLINT_CONSOLE_SCRIPT", + "fromfile": false, + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--regex-lint-config"], + "scoped_cmd_line_args": [ + "--pylint-console-script" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": "pylint" } ] } }, - "PANTS_REGEX_LINT_DETAIL_LEVEL": { - "choices": ["none", "summary", "nonmatching", "names", "all"], - "comma_separated_choices": "none, summary, nonmatching, names, all", - "comma_separated_display_args": "--regex-lint-detail-level=", - "config_key": "detail_level", - "default": "nonmatching", + "PANTS_PYLINT_ENTRY_POINT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pylint-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--regex-lint-detail-level="], - "env_var": "PANTS_REGEX_LINT_DETAIL_LEVEL", + "display_args": [ + "--pylint-entry-point=" + ], + "env_var": "PANTS_PYLINT_ENTRY_POINT", "fromfile": false, - "help": "How much detail to include in the result.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--regex-lint-detail-level"], + "scoped_cmd_line_args": [ + "--pylint-entry-point" + ], "target_field_name": null, - "typ": "DetailLevel", - "unscoped_cmd_line_args": ["--detail-level"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "nonmatching" } ] } }, - "PANTS_REGEX_LINT_SKIP": { + "PANTS_PYLINT_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]regex-lint-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--pylint-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]regex-lint-skip"], - "env_var": "PANTS_REGEX_LINT_SKIP", + "display_args": [ + "--pylint-install-from-resolve=" + ], + "env_var": "PANTS_PYLINT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If true, don't use regex-lint when running `pants lint`.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--regex-lint-skip", "--no-regex-lint-skip"], + "scoped_cmd_line_args": [ + "--pylint-install-from-resolve" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, - "PANTS_REMOTE_CACHE_READ": { + "PANTS_PYLINT_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]remote-cache-read", - "config_key": "remote_cache_read", - "default": false, + "comma_separated_display_args": "--pylint-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]remote-cache-read"], - "env_var": "PANTS_REMOTE_CACHE_READ", + "display_args": [ + "--pylint-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYLINT_REQUIREMENTS", "fromfile": false, - "help": "Whether to enable reading from a remote cache.\n\nThis cannot be used at the same time as `[GLOBAL].remote_execution`.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-cache-read", "--no-remote-cache-read"], + "scoped_cmd_line_args": [ + "--pylint-requirements" + ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--remote-cache-read", - "--no-remote-cache-read" + "--requirements" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_REMOTE_CACHE_RPC_CONCURRENCY": { + "PANTS_PYLINT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-cache-rpc-concurrency=", - "config_key": "remote_cache_rpc_concurrency", - "default": 128, + "comma_separated_display_args": "--[no-]pylint-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-cache-rpc-concurrency="], - "env_var": "PANTS_REMOTE_CACHE_RPC_CONCURRENCY", + "display_args": [ + "--[no-]pylint-skip" + ], + "env_var": "PANTS_PYLINT_SKIP", "fromfile": false, - "help": "The number of concurrent requests allowed to the remote cache service.", + "help": "If true, don't use Pylint when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-cache-rpc-concurrency"], + "scoped_cmd_line_args": [ + "--pylint-skip", + "--no-pylint-skip" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-cache-rpc-concurrency"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -18480,100 +21159,112 @@ { "details": null, "rank": "HARDCODED", - "value": 128 + "value": false } ] } }, - "PANTS_REMOTE_CACHE_RPC_TIMEOUT_MILLIS": { + "PANTS_PYLINT_SOURCE_PLUGINS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-cache-rpc-timeout-millis=", - "config_key": "remote_cache_rpc_timeout_millis", - "default": 1500, + "comma_separated_display_args": "--pylint-source-plugins=\"[, , ...]\"", + "config_key": "source_plugins", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-cache-rpc-timeout-millis="], - "env_var": "PANTS_REMOTE_CACHE_RPC_TIMEOUT_MILLIS", + "display_args": [ + "--pylint-source-plugins=\"[, , ...]\"" + ], + "env_var": "PANTS_PYLINT_SOURCE_PLUGINS", "fromfile": false, - "help": "Timeout value for remote cache RPCs in milliseconds.", + "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/v2.19/docs/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/v2.19/docs/python-lockfiles#lockfiles-for-tools.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-cache-rpc-timeout-millis"], + "scoped_cmd_line_args": [ + "--pylint-source-plugins" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-cache-rpc-timeout-millis"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--source-plugins" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 1500 + "value": [] } ] } }, - "PANTS_REMOTE_CACHE_WARNINGS": { - "choices": ["ignore", "first_only", "backoff"], - "comma_separated_choices": "ignore, first_only, backoff", - "comma_separated_display_args": "--remote-cache-warnings=", - "config_key": "remote_cache_warnings", - "default": "backoff", + "PANTS_PYOXIDIZER_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pyoxidizer-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-cache-warnings="], - "env_var": "PANTS_REMOTE_CACHE_WARNINGS", + "display_args": [ + "--pyoxidizer-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PYOXIDIZER_ARGS", "fromfile": false, - "help": "How frequently to log remote cache failures at the `warn` log level.\n\nAll errors not logged at the `warn` level will instead be logged at the `debug` level.", + "help": "Arguments to pass directly to PyOxidizer, e.g. `--pyoxidizer-args='--release'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-cache-warnings"], + "scoped_cmd_line_args": [ + "--pyoxidizer-args" + ], "target_field_name": null, - "typ": "RemoteCacheWarningsBehavior", - "unscoped_cmd_line_args": ["--remote-cache-warnings"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "backoff" + "value": [] } ] } }, - "PANTS_REMOTE_CACHE_WRITE": { + "PANTS_PYOXIDIZER_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]remote-cache-write", - "config_key": "remote_cache_write", - "default": false, + "comma_separated_display_args": "--pyoxidizer-console-script=", + "config_key": "console_script", + "default": "pyoxidizer", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]remote-cache-write"], - "env_var": "PANTS_REMOTE_CACHE_WRITE", + "display_args": [ + "--pyoxidizer-console-script=" + ], + "env_var": "PANTS_PYOXIDIZER_CONSOLE_SCRIPT", "fromfile": false, - "help": "Whether to enable writing results to a remote cache.\n\nThis cannot be used at the same time as `[GLOBAL].remote_execution`.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--remote-cache-write", - "--no-remote-cache-write" + "--pyoxidizer-console-script" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--remote-cache-write", - "--no-remote-cache-write" + "--console-script" ], "value_history": { "ranked_values": [ @@ -18585,29 +21276,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "pyoxidizer" } ] } }, - "PANTS_REMOTE_CA_CERTS_PATH": { + "PANTS_PYOXIDIZER_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-ca-certs-path=", - "config_key": "remote_ca_certs_path", + "comma_separated_display_args": "--pyoxidizer-entry-point=", + "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-ca-certs-path="], - "env_var": "PANTS_REMOTE_CA_CERTS_PATH", + "display_args": [ + "--pyoxidizer-entry-point=" + ], + "env_var": "PANTS_PYOXIDIZER_ENTRY_POINT", "fromfile": false, - "help": "Path to a PEM file containing CA certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`.\n\nIf unspecified, Pants will attempt to auto-discover root CA certificates when TLS is enabled with remote execution and caching.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-ca-certs-path"], + "scoped_cmd_line_args": [ + "--pyoxidizer-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--remote-ca-certs-path"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -18618,24 +21315,30 @@ ] } }, - "PANTS_REMOTE_CLIENT_CERTS_PATH": { + "PANTS_PYOXIDIZER_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-client-certs-path=", - "config_key": "remote_client_certs_path", + "comma_separated_display_args": "--pyoxidizer-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-client-certs-path="], - "env_var": "PANTS_REMOTE_CLIENT_CERTS_PATH", + "display_args": [ + "--pyoxidizer-install-from-resolve=" + ], + "env_var": "PANTS_PYOXIDIZER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Path to a PEM file containing client certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address` when using client authentication (mTLS).\n\nIf unspecified, will use regular TLS. Requires `remote_client_key_path` to also be specified.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--remote-client-certs-path"], + "scoped_cmd_line_args": [ + "--pyoxidizer-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--remote-client-certs-path"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -18646,116 +21349,150 @@ ] } }, - "PANTS_REMOTE_CLIENT_KEY_PATH": { + "PANTS_PYOXIDIZER_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-client-key-path=", - "config_key": "remote_client_key_path", - "default": null, + "comma_separated_display_args": "--pyoxidizer-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.8,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-client-key-path="], - "env_var": "PANTS_REMOTE_CLIENT_KEY_PATH", + "display_args": [ + "--pyoxidizer-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYOXIDIZER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Path to a PEM file containing a private key used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address` when using client authentication (mTLS).\n\nIf unspecified, will use regular TLS. Requires `remote_client_certs_path` to also be specified.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-client-key-path"], + "scoped_cmd_line_args": [ + "--pyoxidizer-interpreter-constraints" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--remote-client-key-path"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "CPython>=3.8,<4" + ] } ] } }, - "PANTS_REMOTE_EXECUTION": { + "PANTS_PYOXIDIZER_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]remote-execution", - "config_key": "remote_execution", - "default": false, + "comma_separated_display_args": "--pyoxidizer-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]remote-execution"], - "env_var": "PANTS_REMOTE_EXECUTION", + "display_args": [ + "--pyoxidizer-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYOXIDIZER_REQUIREMENTS", "fromfile": false, - "help": "Enables remote workers for increased parallelism. (Alpha)\n\nAlternatively, you can use `[GLOBAL].remote_cache_read` and `[GLOBAL].remote_cache_write` to still run everything locally, but to use a remote cache.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-execution", "--no-remote-execution"], + "scoped_cmd_line_args": [ + "--pyoxidizer-requirements" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--remote-execution", "--no-remote-execution"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_REMOTE_EXECUTION_ADDRESS": { + "PANTS_PYRIGHT_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-address=", - "config_key": "remote_execution_address", - "default": null, + "comma_separated_display_args": "--pyright-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-execution-address="], - "env_var": "PANTS_REMOTE_EXECUTION_ADDRESS", + "display_args": [ + "--pyright-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PYRIGHT_ARGS", "fromfile": false, - "help": "The URI of a server used as a remote execution scheduler.\n\nFormat: `scheme://host:port`. The supported schemes are `grpc` and `grpcs`, i.e. gRPC with TLS enabled. If `grpc` is used, TLS will be disabled.\n\nYou must also set `[GLOBAL].remote_store_address`, which will often be the same value.", + "help": "Arguments to pass directly to Pyright, e.g. `--pyright-args='--version'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-execution-address"], + "scoped_cmd_line_args": [ + "--pyright-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--remote-execution-address"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_REMOTE_EXECUTION_APPEND_ONLY_CACHES_BASE_PATH": { + "PANTS_PYRIGHT_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-append-only-caches-base-path=", - "config_key": "remote_execution_append_only_caches_base_path", + "comma_separated_display_args": "--pyright-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-execution-append-only-caches-base-path="], - "env_var": "PANTS_REMOTE_EXECUTION_APPEND_ONLY_CACHES_BASE_PATH", + "display_args": [ + "--pyright-install-from-resolve=" + ], + "env_var": "PANTS_PYRIGHT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Sets the base path to use when setting up an append-only cache for a process running remotely. If this option is not set, then append-only caches will not be used with remote execution. The option should be set to the absolute path of a writable directory in the remote execution environment where Pants can create append-only caches for use with remotely executing processes.", + "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--remote-execution-append-only-caches-base-path" + "--pyright-install-from-resolve" ], "target_field_name": null, "typ": "str", "unscoped_cmd_line_args": [ - "--remote-execution-append-only-caches-base-path" + "--install-from-resolve" ], "value_history": { "ranked_values": [ @@ -18767,27 +21504,31 @@ ] } }, - "PANTS_REMOTE_EXECUTION_EXTRA_PLATFORM_PROPERTIES": { + "PANTS_PYRIGHT_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-extra-platform-properties=\"['', '', ...]\"", - "config_key": "remote_execution_extra_platform_properties", - "default": [], + "comma_separated_display_args": "--pyright-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--remote-execution-extra-platform-properties=\"['', '', ...]\"" + "--pyright-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_REMOTE_EXECUTION_EXTRA_PLATFORM_PROPERTIES", + "env_var": "PANTS_PYRIGHT_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Platform properties to set on remote execution requests.\n\nFormat: `property=value`. Multiple values should be specified as multiple occurrences of this flag.\n\nPants itself may add additional platform properties.\n\nIf you are using the `remote_environment` target mechanism, set this value as a field on the target instead. This option will be ignored.", + "help": "Python interpreter constraints for Pyright (which is, itself, a NodeJS tool).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-execution-extra-platform-properties"], + "scoped_cmd_line_args": [ + "--pyright-interpreter-constraints" + ], "target_field_name": null, "typ": "list", "unscoped_cmd_line_args": [ - "--remote-execution-extra-platform-properties" + "--interpreter-constraints" ], "value_history": { "ranked_values": [ @@ -18799,66 +21540,78 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_REMOTE_EXECUTION_HEADERS": { + "PANTS_PYRIGHT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-headers=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "remote_execution_headers", - "default": "{'user-agent': 'pants/'}", + "comma_separated_display_args": "--[no-]pyright-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--remote-execution-headers=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]pyright-skip" ], - "env_var": "PANTS_REMOTE_EXECUTION_HEADERS", + "env_var": "PANTS_PYRIGHT_SKIP", "fromfile": false, - "help": "Headers to set on remote execution requests. Format: header=value. Pants may add additional headers.\n\nSee `[GLOBAL].remote_store_headers` as well.", + "help": "If true, don't use Pyright when running `pants check`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-execution-headers"], + "scoped_cmd_line_args": [ + "--pyright-skip", + "--no-pyright-skip" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--remote-execution-headers"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "user-agent": "pants/2.19.0rc1" - } + "value": false } ] } }, - "PANTS_REMOTE_EXECUTION_OVERALL_DEADLINE_SECS": { + "PANTS_PYRIGHT_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-overall-deadline-secs=", - "config_key": "remote_execution_overall_deadline_secs", - "default": 3600, + "comma_separated_display_args": "--pyright-version=", + "config_key": "version", + "default": "pyright@1.1.316", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-execution-overall-deadline-secs="], - "env_var": "PANTS_REMOTE_EXECUTION_OVERALL_DEADLINE_SECS", + "display_args": [ + "--pyright-version=" + ], + "env_var": "PANTS_PYRIGHT_VERSION", "fromfile": false, - "help": "Overall timeout in seconds for each remote execution request from time of submission", + "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-execution-overall-deadline-secs"], + "scoped_cmd_line_args": [ + "--pyright-version" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-execution-overall-deadline-secs"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -18869,62 +21622,75 @@ { "details": null, "rank": "HARDCODED", - "value": 3600 + "value": "pyright@1.1.316" } ] } }, - "PANTS_REMOTE_EXECUTION_RPC_CONCURRENCY": { + "PANTS_PYTEST_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-rpc-concurrency=", - "config_key": "remote_execution_rpc_concurrency", - "default": 128, + "comma_separated_display_args": "--pytest-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-execution-rpc-concurrency="], - "env_var": "PANTS_REMOTE_EXECUTION_RPC_CONCURRENCY", + "display_args": [ + "--pytest-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_PYTEST_ARGS", "fromfile": false, - "help": "The number of concurrent requests allowed to the remote execution service.", + "help": "Arguments to pass directly to Pytest, e.g. `--pytest-args='-k test_foo --quiet'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-execution-rpc-concurrency"], + "scoped_cmd_line_args": [ + "--pytest-args" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-execution-rpc-concurrency"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 128 + "value": [] } ] } }, - "PANTS_REMOTE_INSTANCE_NAME": { + "PANTS_PYTEST_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-instance-name=", - "config_key": "remote_instance_name", + "comma_separated_display_args": "--pytest-config=", + "config_key": "config", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-instance-name="], - "env_var": "PANTS_REMOTE_INSTANCE_NAME", + "display_args": [ + "--pytest-config=" + ], + "env_var": "PANTS_PYTEST_CONFIG", "fromfile": false, - "help": "Name of the remote instance to use by remote caching and remote execution.\n\nThis is used by some remote servers for routing. Consult your remote server for whether this should be set.\n\nYou can also use a Pants plugin which provides remote authentication to dynamically set this value.", + "help": "Path to a config file understood by Pytest (https://docs.pytest.org/en/latest/reference/customize.html#configuration-file-formats). Setting this option will disable `[pytest].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-instance-name"], + "scoped_cmd_line_args": [ + "--pytest-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--remote-instance-name"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -18935,183 +21701,212 @@ ] } }, - "PANTS_REMOTE_OAUTH_BEARER_TOKEN_PATH": { + "PANTS_PYTEST_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-oauth-bearer-token-path=", - "config_key": "remote_oauth_bearer_token_path", - "default": null, + "comma_separated_display_args": "--[no-]pytest-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-oauth-bearer-token-path="], - "env_var": "PANTS_REMOTE_OAUTH_BEARER_TOKEN_PATH", + "display_args": [ + "--[no-]pytest-config-discovery" + ], + "env_var": "PANTS_PYTEST_CONFIG_DISCOVERY", "fromfile": false, - "help": "Path to a file containing 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.", + "help": "If true, Pants will include all relevant Pytest config files (e.g. `pytest.ini`) during runs. See https://docs.pytest.org/en/stable/customize.html#finding-the-rootdir for where config files should be located for Pytest to discover them.\n\nUse `[pytest].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-oauth-bearer-token-path"], + "scoped_cmd_line_args": [ + "--pytest-config-discovery", + "--no-pytest-config-discovery" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--remote-oauth-bearer-token-path"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_REMOTE_STORE_ADDRESS": { + "PANTS_PYTEST_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-address=", - "config_key": "remote_store_address", - "default": null, + "comma_separated_display_args": "--pytest-console-script=", + "config_key": "console_script", + "default": "pytest", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-address="], - "env_var": "PANTS_REMOTE_STORE_ADDRESS", + "display_args": [ + "--pytest-console-script=" + ], + "env_var": "PANTS_PYTEST_CONSOLE_SCRIPT", "fromfile": false, - "help": "The URI of a server used for the remote file store.\n\nFormat: `scheme://host:port`. The supported schemes are `grpc` and `grpcs`, i.e. gRPC with TLS enabled. If `grpc` is used, TLS will be disabled.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-address"], + "scoped_cmd_line_args": [ + "--pytest-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--remote-store-address"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "pytest" } ] } }, - "PANTS_REMOTE_STORE_BATCH_API_SIZE_LIMIT": { + "PANTS_PYTEST_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-batch-api-size-limit=", - "config_key": "remote_store_batch_api_size_limit", - "default": 4194304, + "comma_separated_display_args": "--pytest-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-batch-api-size-limit="], - "env_var": "PANTS_REMOTE_STORE_BATCH_API_SIZE_LIMIT", + "display_args": [ + "--pytest-entry-point=" + ], + "env_var": "PANTS_PYTEST_ENTRY_POINT", "fromfile": false, - "help": "The maximum total size of blobs allowed to be sent in a single batch API call to the remote store.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-batch-api-size-limit"], + "scoped_cmd_line_args": [ + "--pytest-entry-point" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-batch-api-size-limit"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 4194304 } ] } }, - "PANTS_REMOTE_STORE_CHUNK_BYTES": { + "PANTS_PYTEST_EXECUTION_SLOT_VAR": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-chunk-bytes=", - "config_key": "remote_store_chunk_bytes", - "default": 1048576, + "comma_separated_display_args": "--pytest-execution-slot-var=", + "config_key": "execution_slot_var", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-chunk-bytes="], - "env_var": "PANTS_REMOTE_STORE_CHUNK_BYTES", + "display_args": [ + "--pytest-execution-slot-var=" + ], + "env_var": "PANTS_PYTEST_EXECUTION_SLOT_VAR", "fromfile": false, - "help": "Size in bytes of chunks transferred to/from the remote file store.", + "help": "If a non-empty string, the process execution slot id (an integer) will be exposed to tests under this environment variable name.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-chunk-bytes"], + "scoped_cmd_line_args": [ + "--pytest-execution-slot-var" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-chunk-bytes"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--execution-slot-var" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 1048576 } ] } }, - "PANTS_REMOTE_STORE_HEADERS": { + "PANTS_PYTEST_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-headers=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "remote_store_headers", - "default": "{'user-agent': 'pants/'}", + "comma_separated_display_args": "--pytest-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--remote-store-headers=\"{'key1': val1, 'key2': val2, ...}\"" + "--pytest-install-from-resolve=" ], - "env_var": "PANTS_REMOTE_STORE_HEADERS", + "env_var": "PANTS_PYTEST_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Headers to set on remote store requests.\n\nFormat: header=value. Pants may add additional headers.\n\nSee `[GLOBAL].remote_execution_headers` as well.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--remote-store-headers"], + "scoped_cmd_line_args": [ + "--pytest-install-from-resolve" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--remote-store-headers"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": { - "user-agent": "pants/2.19.0rc1" - } + "value": null } ] } }, - "PANTS_REMOTE_STORE_RPC_CONCURRENCY": { + "PANTS_PYTEST_JUNIT_FAMILY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-rpc-concurrency=", - "config_key": "remote_store_rpc_concurrency", - "default": 128, + "comma_separated_display_args": "--pytest-junit-family=", + "config_key": "junit_family", + "default": "xunit2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-rpc-concurrency="], - "env_var": "PANTS_REMOTE_STORE_RPC_CONCURRENCY", + "display_args": [ + "--pytest-junit-family=" + ], + "env_var": "PANTS_PYTEST_JUNIT_FAMILY", "fromfile": false, - "help": "The number of concurrent requests allowed to the remote store service.", + "help": "The format of generated junit XML files. See https://docs.pytest.org/en/latest/reference.html#confval-junit_family.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-rpc-concurrency"], + "scoped_cmd_line_args": [ + "--pytest-junit-family" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-rpc-concurrency"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--junit-family" + ], "value_history": { "ranked_values": [ { @@ -19122,62 +21917,76 @@ { "details": null, "rank": "HARDCODED", - "value": 128 + "value": "xunit2" } ] } }, - "PANTS_REMOTE_STORE_RPC_RETRIES": { + "PANTS_PYTEST_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-rpc-retries=", - "config_key": "remote_store_rpc_retries", - "default": 2, + "comma_separated_display_args": "--pytest-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-rpc-retries="], - "env_var": "PANTS_REMOTE_STORE_RPC_RETRIES", + "display_args": [ + "--pytest-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTEST_REQUIREMENTS", "fromfile": false, - "help": "Number of times to retry any RPC to the remote store before giving up.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-rpc-retries"], + "scoped_cmd_line_args": [ + "--pytest-requirements" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-rpc-retries"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 2 + "value": [] } ] } }, - "PANTS_REMOTE_STORE_RPC_TIMEOUT_MILLIS": { + "PANTS_PYTEST_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-rpc-timeout-millis=", - "config_key": "remote_store_rpc_timeout_millis", - "default": 30000, + "comma_separated_display_args": "--[no-]pytest-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-rpc-timeout-millis="], - "env_var": "PANTS_REMOTE_STORE_RPC_TIMEOUT_MILLIS", + "display_args": [ + "--[no-]pytest-skip" + ], + "env_var": "PANTS_PYTEST_SKIP", "fromfile": false, - "help": "Timeout value for remote store RPCs (not including streaming requests) in milliseconds.", + "help": "If true, don't use Pytest when running `pants test`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-rpc-timeout-millis"], + "scoped_cmd_line_args": [ + "--pytest-skip", + "--no-pytest-skip" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-rpc-timeout-millis"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -19188,65 +21997,37 @@ { "details": null, "rank": "HARDCODED", - "value": 30000 + "value": false } ] } }, - "PANTS_REPL_ARGS": { + "PANTS_PYTEST_XDIST_ENABLED": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--repl-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]pytest-xdist-enabled", + "config_key": "xdist_enabled", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--repl-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--[no-]pytest-xdist-enabled" ], - "env_var": "PANTS_REPL_ARGS", - "fromfile": false, - "help": "Arguments to pass directly to the repl program, e.g. `--repl-args='-i helloworld/main.py'`.\n\nCurrently supported only for the ipython shell.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--repl-args"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_REPL_RESTARTABLE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]repl-restartable", - "config_key": "restartable", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]repl-restartable"], - "env_var": "PANTS_REPL_RESTARTABLE", + "env_var": "PANTS_PYTEST_XDIST_ENABLED", "fromfile": false, - "help": "True if the REPL should be restarted if its inputs have changed.", + "help": "If true, Pants will use `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/) to parallelize tests within each `python_test` target.\n\nNOTE: Enabling `pytest-xdist` can cause high-level scoped fixtures (for example `session`) to execute more than once. See the `pytest-xdist` docs for more info: https://pypi.org/project/pytest-xdist/#making-session-scoped-fixtures-execute-only-once", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--repl-restartable", "--no-repl-restartable"], + "scoped_cmd_line_args": [ + "--pytest-xdist-enabled", + "--no-pytest-xdist-enabled" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--restartable", "--no-restartable"], + "unscoped_cmd_line_args": [ + "--xdist-enabled", + "--no-xdist-enabled" + ], "value_history": { "ranked_values": [ { @@ -19262,113 +22043,199 @@ ] } }, - "PANTS_REPL_SHELL": { + "PANTS_PYTHONPATH": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--repl-shell=", - "config_key": "shell", - "default": null, + "comma_separated_display_args": "--pythonpath=\"['', '', ...]\"", + "config_key": "pythonpath", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--repl-shell="], - "env_var": "PANTS_REPL_SHELL", + "display_args": [ + "--pythonpath=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHONPATH", "fromfile": false, - "help": "Override the automatically-detected REPL program for the target(s) specified.", + "help": "Add these directories to PYTHONPATH to search for plugins. This does not impact the PYTHONPATH used by Pants when running your Python code.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--repl-shell"], + "scoped_cmd_line_args": [ + "--pythonpath" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--shell"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--pythonpath" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_ROOTS_OUTPUT_FILE": { + "PANTS_PYTHON_BOOTSTRAP_INTERNAL_PYTHON_BUILD_STANDALONE_INFO": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--roots-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--python-bootstrap-internal-python-build-standalone-info=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "internal_python_build_standalone_info", + "default": { + "linux_arm64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", + "1ba520c0db431c84305677f56eb9a4254f5097430ed443e92fc8617f8fba973d", + 23873387 + ], + "linux_x86_64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", + "7ba397787932393e65fc2fb9fcfabf54f2bb6751d5da2b45913cb25b2d493758", + 26129729 + ], + "macos_arm64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-apple-darwin-install_only.tar.gz", + "d732d212d42315ac27c6da3e0b69636737a8d72086c980daf844344c010cab80", + 17084463 + ], + "macos_x86_64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-apple-darwin-install_only.tar.gz", + "3948384af5e8d4ee7e5ccc648322b99c1c5cf4979954ed5e6b3382c69d6db71e", + 17059474 + ] + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--roots-output-file="], - "env_var": "PANTS_ROOTS_OUTPUT_FILE", + "display_args": [ + "--python-bootstrap-internal-python-build-standalone-info=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYTHON_BOOTSTRAP_INTERNAL_PYTHON_BUILD_STANDALONE_INFO", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "A map from platform to the information needed to download Python Build Standalone.\n\nPython Build Standalone is used to run Python-implemented Pants tools/scripts in docker environments (so that Python doesn't need to be installed).\n\nThe version of Python provided should match the default value's version, which is the highest Python Major/Minor version compatible with the Pants package's interpreter constraints. Additionally, the downloaded file should be extractable by `tar` using `-xvf` (most likely a `.tar.gz` file).\n\nThe schema is `: (, , )` for each possible platform.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--roots-output-file"], + "scoped_cmd_line_args": [ + "--python-bootstrap-internal-python-build-standalone-info" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--internal-python-build-standalone-info" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "linux_arm64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", + "1ba520c0db431c84305677f56eb9a4254f5097430ed443e92fc8617f8fba973d", + 23873387 + ], + "linux_x86_64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", + "7ba397787932393e65fc2fb9fcfabf54f2bb6751d5da2b45913cb25b2d493758", + 26129729 + ], + "macos_arm64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-apple-darwin-install_only.tar.gz", + "d732d212d42315ac27c6da3e0b69636737a8d72086c980daf844344c010cab80", + 17084463 + ], + "macos_x86_64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-apple-darwin-install_only.tar.gz", + "3948384af5e8d4ee7e5ccc648322b99c1c5cf4979954ed5e6b3382c69d6db71e", + 17059474 + ] + } } ] } }, - "PANTS_ROOTS_SEP": { + "PANTS_PYTHON_BOOTSTRAP_NAMES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--roots-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--python-bootstrap-names=\"[, , ...]\"", + "config_key": "names", + "default": [ + "python", + "python3" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--roots-sep="], - "env_var": "PANTS_ROOTS_SEP", + "display_args": [ + "--python-bootstrap-names=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTHON_BOOTSTRAP_NAMES", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "The names of Python binaries to search for. See the `--search-path` option to influence where interpreters are searched for.\n\nThis does not impact which Python interpreter is used to run your code, only what is used to run internal tools.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--roots-sep"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "scoped_cmd_line_args": [ + "--python-bootstrap-names" + ], + "target_field_name": "python_bootstrap_names", + "typ": "list", + "unscoped_cmd_line_args": [ + "--names" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "\\n" + "value": [ + "python", + "python3" + ] } ] } }, - "PANTS_RUFF_ARGS": { + "PANTS_PYTHON_BOOTSTRAP_SEARCH_PATH": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--python-bootstrap-search-path=\"[, , ...]\"", + "config_key": "search_path", + "default": [ + "", + "", + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-args=\"[, , ...]\""], - "env_var": "PANTS_RUFF_ARGS", + "display_args": [ + "--python-bootstrap-search-path=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTHON_BOOTSTRAP_SEARCH_PATH", "fromfile": false, - "help": "Arguments to pass directly to Ruff, e.g. `--ruff-args='--exclude=foo --ignore=E501'`.", + "help": "A list of paths to search for Python interpreters.\n\nWhich interpreters are actually used from these paths is context-specific: the Python backend selects interpreters using options on the `python` subsystem, in particular, the `[python].interpreter_constraints` option.\n\nYou can specify absolute paths to interpreter binaries and/or to directories containing interpreter binaries. The order of entries does not matter.\n\nThe following special strings are supported:\n\nFor all runtime environment types:\n\n* ``, the contents of the PATH env var\n\nWhen the environment is a `local_environment` target:\n\n* ``, all Python versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF interpreter with the version in `BUILD_ROOT/.tool-versions`\n* ``, all Python versions under `$(pyenv root)/versions`\n* ``, the Pyenv interpreter with the version in `BUILD_ROOT/.python-version`\n* ``, paths in the `PEX_PYTHON_PATH` variable in `/etc/pexrc` or `~/.pexrc`", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-args"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--python-bootstrap-search-path" + ], + "target_field_name": "python_bootstrap_search_path", "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--search-path" + ], "value_history": { "ranked_values": [ { @@ -19379,60 +22246,80 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "", + "", + "" + ] } ] } }, - "PANTS_RUFF_CONFIG": { + "PANTS_PYTHON_DEFAULT_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--python-default-resolve=", + "config_key": "default_resolve", + "default": "python-default", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-config="], - "env_var": "PANTS_RUFF_CONFIG", + "display_args": [ + "--python-default-resolve=" + ], + "env_var": "PANTS_PYTHON_DEFAULT_RESOLVE", "fromfile": false, - "help": "Path to the `pyproject.toml` or `ruff.toml` file to use for configuration (https://github.com/charliermarsh/ruff#configuration).\n\nSetting this option will disable `[ruff].config_discovery`. Use this option if the config is located in a non-standard location.", + "help": "The default value used for the `resolve` field.\n\nThe name must be defined as a resolve in `[python].resolves`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-config"], + "scoped_cmd_line_args": [ + "--python-default-resolve" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--default-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "python-default" } ] } }, - "PANTS_RUFF_CONFIG_DISCOVERY": { + "PANTS_PYTHON_DEFAULT_RUN_GOAL_USE_SANDBOX": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]ruff-config-discovery", - "config_key": "config_discovery", + "comma_separated_display_args": "--[no-]python-default-run-goal-use-sandbox", + "config_key": "default_run_goal_use_sandbox", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]ruff-config-discovery"], - "env_var": "PANTS_RUFF_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]python-default-run-goal-use-sandbox" + ], + "env_var": "PANTS_PYTHON_DEFAULT_RUN_GOAL_USE_SANDBOX", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`pyproject.toml`, and `ruff.toml`).\n\nUse `[ruff].config` instead if your config is in a non-standard location.", + "help": "The default value used for the `run_goal_use_sandbox` field of Python targets. See the relevant field for more details.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--ruff-config-discovery", - "--no-ruff-config-discovery" + "--python-default-run-goal-use-sandbox", + "--no-python-default-run-goal-use-sandbox" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "unscoped_cmd_line_args": [ + "--default-run-goal-use-sandbox", + "--no-default-run-goal-use-sandbox" + ], "value_history": { "ranked_values": [ { @@ -19448,24 +22335,33 @@ ] } }, - "PANTS_RUFF_CONSOLE_SCRIPT": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-console-script=", - "config_key": "console_script", - "default": "ruff", + "PANTS_PYTHON_DUMP_SOURCE_ANALYSIS_ANALYSIS_FLAVOR": { + "choices": [ + "raw_dependency_inference", + "dependency_inference" + ], + "comma_separated_choices": "raw_dependency_inference, dependency_inference", + "comma_separated_display_args": "--python-dump-source-analysis-analysis-flavor=", + "config_key": "analysis_flavor", + "default": "dependency_inference", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-console-script="], - "env_var": "PANTS_RUFF_CONSOLE_SCRIPT", + "display_args": [ + "--python-dump-source-analysis-analysis-flavor=" + ], + "env_var": "PANTS_PYTHON_DUMP_SOURCE_ANALYSIS_ANALYSIS_FLAVOR", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "The type of information that should be returned.\n\n* `dependency_inference`: The results of dependency inference, for every detected import in every file.\n\n* `raw_dependency_inference`: The raw intermediate results of the dependency inference process,\nat every stage they're available. Potentially useful for debugging the dependency inference process.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-console-script"], + "scoped_cmd_line_args": [ + "--python-dump-source-analysis-analysis-flavor" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "AnalysisFlavor", + "unscoped_cmd_line_args": [ + "--analysis-flavor" + ], "value_history": { "ranked_values": [ { @@ -19476,153 +22372,200 @@ { "details": null, "rank": "HARDCODED", - "value": "ruff" + "value": "dependency_inference" } ] } }, - "PANTS_RUFF_ENTRY_POINT": { + "PANTS_PYTHON_ENABLE_LOCKFILE_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]python-enable-lockfile-targets", + "config_key": "enable_lockfile_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-entry-point="], - "env_var": "PANTS_RUFF_ENTRY_POINT", + "display_args": [ + "--[no-]python-enable-lockfile-targets" + ], + "env_var": "PANTS_PYTHON_ENABLE_LOCKFILE_TARGETS", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Create targets for all Python lockfiles defined in `[python].resolves`.\n\nThe lockfile targets will then be used as dependencies to the `python_requirement` targets that use them, invalidating source targets per resolve when the lockfile changes.\n\nIf another targets address is in conflict with the created lockfile target, it will shadow the lockfile target and it will not be available as a dependency for any `python_requirement` targets.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-entry-point"], + "scoped_cmd_line_args": [ + "--python-enable-lockfile-targets", + "--no-python-enable-lockfile-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--enable-lockfile-targets", + "--no-enable-lockfile-targets" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_RUFF_INSTALL_FROM_RESOLVE": { + "PANTS_PYTHON_ENABLE_RESOLVES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]python-enable-resolves", + "config_key": "enable_resolves", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-install-from-resolve="], - "env_var": "PANTS_RUFF_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]python-enable-resolves" + ], + "env_var": "PANTS_PYTHON_ENABLE_RESOLVES", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Set to true to enable lockfiles for user code. See `[python].resolves` for an explanation of this feature.\n\nThis option is mutually exclusive with `[python].requirement_constraints`. We strongly recommend using this option because it:\n\n 1. Uses `--hash` to validate that all downloaded files are expected, which reduces the risk of supply chain attacks.\n 2. Enforces that all transitive dependencies are in the lockfile, whereas constraints allow you to leave off dependencies. This ensures your build is more stable and reduces the risk of supply chain attacks.\n 3. Allows you to have multiple lockfiles in your repository.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-install-from-resolve"], + "scoped_cmd_line_args": [ + "--python-enable-resolves", + "--no-python-enable-resolves" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--enable-resolves", + "--no-enable-resolves" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_RUFF_INTERPRETER_CONSTRAINTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "PANTS_PYTHON_INFER_AMBIGUITY_RESOLUTION": { + "choices": [ + "none", + "by_source_root" + ], + "comma_separated_choices": "none, by_source_root", + "comma_separated_display_args": "--python-infer-ambiguity-resolution=", + "config_key": "ambiguity_resolution", + "default": "none", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--ruff-interpreter-constraints=\"['', '', ...]\"" + "--python-infer-ambiguity-resolution=" ], - "env_var": "PANTS_RUFF_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYTHON_INFER_AMBIGUITY_RESOLUTION", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "When multiple sources provide the same symbol, how to choose the provider to use.\n\n`none`: Do not attempt to resolve this ambiguity. No dependency will be inferred, and warnings will be logged.\n\n`by_source_root`: Choose the provider with the closest common ancestor to the consumer's source root. If the provider is under the same source root then this will be the source root itself. This is useful when multiple projects in different source roots provide the same symbols (because of repeated first-party module paths or overlapping requirements.txt) and you want to resolve the ambiguity locally in each project.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--python-infer-ambiguity-resolution" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "AmbiguityResolution", + "unscoped_cmd_line_args": [ + "--ambiguity-resolution" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": "none" } ] } }, - "PANTS_RUFF_REQUIREMENTS": { + "PANTS_PYTHON_INFER_ASSETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]python-infer-assets", + "config_key": "assets", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-requirements=\"['', '', ...]\""], - "env_var": "PANTS_RUFF_REQUIREMENTS", + "display_args": [ + "--[no-]python-infer-assets" + ], + "env_var": "PANTS_PYTHON_INFER_ASSETS", "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": "Infer a target's asset dependencies based on strings that look like Posix filepaths, such as those given to `open` or `pkgutil.get_data`.\n\nTo ignore a false positive, you can either put `# pants: no-infer-dep` on the line of the string or put `!{bad_address}` in the `dependencies` field of your target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-requirements"], + "scoped_cmd_line_args": [ + "--python-infer-assets", + "--no-python-infer-assets" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--assets", + "--no-assets" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, - "PANTS_RUFF_SKIP": { + "PANTS_PYTHON_INFER_ASSETS_MIN_SLASHES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]ruff-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--python-infer-assets-min-slashes=", + "config_key": "assets_min_slashes", + "default": 1, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]ruff-skip"], - "env_var": "PANTS_RUFF_SKIP", + "display_args": [ + "--python-infer-assets-min-slashes=" + ], + "env_var": "PANTS_PYTHON_INFER_ASSETS_MIN_SLASHES", "fromfile": false, - "help": "If true, don't use Ruff when running `pants fmt` and `pants lint`.", + "help": "If `--assets` is True, treat valid-looking strings with at least this many forward slash characters as potential assets. E.g. `'data/databases/prod.db'` will be treated as a potential candidate if this option is set to 2 but not to 3.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-skip", "--no-ruff-skip"], + "scoped_cmd_line_args": [ + "--python-infer-assets-min-slashes" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--assets-min-slashes" + ], "value_history": { "ranked_values": [ { @@ -19633,29 +22576,37 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": 1 } ] } }, - "PANTS_RULE_THREADS_CORE": { + "PANTS_PYTHON_INFER_CONFTESTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--rule-threads-core=", - "config_key": "rule_threads_core", - "default": "max(2, #cores/2)", + "comma_separated_display_args": "--[no-]python-infer-conftests", + "config_key": "conftests", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--rule-threads-core="], - "env_var": "PANTS_RULE_THREADS_CORE", + "display_args": [ + "--[no-]python-infer-conftests" + ], + "env_var": "PANTS_PYTHON_INFER_CONFTESTS", "fromfile": false, - "help": "The number of threads to keep active and ready to execute `@rule` logic (see also: `--rule-threads-max`).\n\nValues less than 2 are not currently supported.\n\nThis value is independent of the number of processes that may be spawned in parallel locally (controlled by `--process-execution-local-parallelism`).", + "help": "Infer a test target's dependencies on any `conftest.py` files in the current directory and ancestor directories.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--rule-threads-core"], + "scoped_cmd_line_args": [ + "--python-infer-conftests", + "--no-python-infer-conftests" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--rule-threads-core"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--conftests", + "--no-conftests" + ], "value_history": { "ranked_values": [ { @@ -19666,60 +22617,76 @@ { "details": null, "rank": "HARDCODED", - "value": 32 + "value": true } ] } }, - "PANTS_RULE_THREADS_MAX": { + "PANTS_PYTHON_INFER_ENTRY_POINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--rule-threads-max=", - "config_key": "rule_threads_max", - "default": null, + "comma_separated_display_args": "--[no-]python-infer-entry-points", + "config_key": "entry_points", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--rule-threads-max="], - "env_var": "PANTS_RULE_THREADS_MAX", + "display_args": [ + "--[no-]python-infer-entry-points" + ], + "env_var": "PANTS_PYTHON_INFER_ENTRY_POINTS", "fromfile": false, - "help": "The maximum number of threads to use to execute `@rule` logic. Defaults to a small multiple of `--rule-threads-core`.", + "help": "Infer dependencies on targets' entry points, e.g. `pex_binary`'s `entry_point` field, `python_aws_lambda_function`'s `handler` field and `python_distribution`'s `entry_points` field.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--rule-threads-max"], + "scoped_cmd_line_args": [ + "--python-infer-entry-points", + "--no-python-infer-entry-points" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--rule-threads-max"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--entry-points", + "--no-entry-points" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_RUN_ARGS": { + "PANTS_PYTHON_INFER_IGNORED_UNOWNED_IMPORTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--run-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", + "comma_separated_display_args": "--python-infer-ignored-unowned-imports=\"['', '', ...]\"", + "config_key": "ignored_unowned_imports", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--run-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--python-infer-ignored-unowned-imports=\"['', '', ...]\"" ], - "env_var": "PANTS_RUN_ARGS", + "env_var": "PANTS_PYTHON_INFER_IGNORED_UNOWNED_IMPORTS", "fromfile": false, - "help": "Arguments to pass directly to the executed target, e.g. `--run-args='val1 val2 --debug'`.", + "help": "Unowned imports that should be ignored.\n\nIf there are any unowned import statements and adding the `# pants: no-infer-dep` to the lines of the import is impractical, you can instead provide a list of imports that Pants should ignore. You can declare a specific import or a path to a package if you would like any of the package imports to be ignored.\n\nFor example, you could ignore all the following imports of the code\n\n import src.generated.app\n from src.generated.app import load\n from src.generated.app import start\n from src.generated.client import connect\n\nby setting `ignored-unowned-imports=[\"src.generated.app\", \"src.generated.client.connect\"]`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--run-args"], + "scoped_cmd_line_args": [ + "--python-infer-ignored-unowned-imports" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--ignored-unowned-imports" + ], "value_history": { "ranked_values": [ { @@ -19735,24 +22702,32 @@ ] } }, - "PANTS_RUN_DEBUG_ADAPTER": { + "PANTS_PYTHON_INFER_IMPORTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]run-debug-adapter", - "config_key": "debug_adapter", - "default": false, + "comma_separated_display_args": "--[no-]python-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]run-debug-adapter"], - "env_var": "PANTS_RUN_DEBUG_ADAPTER", + "display_args": [ + "--[no-]python-infer-imports" + ], + "env_var": "PANTS_PYTHON_INFER_IMPORTS", "fromfile": false, - "help": "Run the interactive process using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported.\n\nThe interactive process used will be immediately blocked waiting for a client before continuing.", + "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": ["--run-debug-adapter", "--no-run-debug-adapter"], + "scoped_cmd_line_args": [ + "--python-infer-imports", + "--no-python-infer-imports" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--debug-adapter", "--no-debug-adapter"], + "unscoped_cmd_line_args": [ + "--imports", + "--no-imports" + ], "value_history": { "ranked_values": [ { @@ -19763,163 +22738,80 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_SCALAC_ARGS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scalac-args=\"[, , ...]\"", - "config_key": "args", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--scalac-args=\"[, , ...]\""], - "env_var": "PANTS_SCALAC_ARGS", - "fromfile": false, - "help": "Arguments to pass directly to scalac, e.g. `--scalac-args='-encoding UTF-8'`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--scalac-args"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_SCALAC_PLUGINS_FOR_RESOLVE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scalac-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "plugins_for_resolve", - "default": {}, + "PANTS_PYTHON_INFER_INIT_FILES": { + "choices": [ + "always", + "content_only", + "never" + ], + "comma_separated_choices": "always, content_only, never", + "comma_separated_display_args": "--python-infer-init-files=", + "config_key": "init_files", + "default": "content_only", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scalac-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + "--python-infer-init-files=" ], - "env_var": "PANTS_SCALAC_PLUGINS_FOR_RESOLVE", - "fromfile": false, - "help": "A dictionary, whose keys are the names of each JVM resolve that requires default `scalac` plugins, and the value is a comma-separated string consisting of scalac plugin names. Each specified plugin must have a corresponding `scalac_plugin` target that specifies that name in either its `plugin_name` field or is the same as its target name.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--scalac-plugins-for-resolve"], - "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--plugins-for-resolve"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": {} - } - ] - } - }, - "PANTS_SCALAFMT_ARTIFACTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scalafmt-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["org.scalameta:scalafmt-cli_2.13:{version}"], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--scalafmt-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_SCALAFMT_ARTIFACTS", - "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalafmt].version` option.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--scalafmt-artifacts"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": ["org.scalameta:scalafmt-cli_2.13:{version}"] - } - ] - } - }, - "PANTS_SCALAFMT_JVM_OPTIONS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scalafmt-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--scalafmt-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_SCALAFMT_JVM_OPTIONS", + "env_var": "PANTS_PYTHON_INFER_INIT_FILES", "fromfile": false, - "help": "List of JVM options to pass to `scalafmt` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "Infer a target's dependencies on any `__init__.py` files in the packages it is located in (recursively upward in the directory structure).\n\nEven if this is set to `never` or `content_only`, Pants will still always include any ancestor `__init__.py` files in the sandbox. Only, they will not be \"proper\" dependencies, e.g. they will not show up in `pants dependencies` and their own dependencies will not be used.\n\nBy default, Pants only adds a \"proper\" dependency if there is content in the `__init__.py` file. This makes sure that dependencies are added when likely necessary to build, while also avoiding adding unnecessary dependencies. While accurate, those unnecessary dependencies can complicate setting metadata like the `interpreter_constraints` and `resolve` fields.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalafmt-jvm-options"], + "scoped_cmd_line_args": [ + "--python-infer-init-files" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "InitFilesInference", + "unscoped_cmd_line_args": [ + "--init-files" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "content_only" } ] } }, - "PANTS_SCALAFMT_LOCKFILE": { + "PANTS_PYTHON_INFER_STRING_IMPORTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalafmt-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--[no-]python-infer-string-imports", + "config_key": "string_imports", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalafmt-lockfile="], - "env_var": "PANTS_SCALAFMT_LOCKFILE", + "display_args": [ + "--[no-]python-infer-string-imports" + ], + "env_var": "PANTS_PYTHON_INFER_STRING_IMPORTS", "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.19.0rc1/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": "Infer a target's dependencies based on strings that look like dynamic dependencies, such as Django settings files expressing dependencies as strings or pytest plugins listed in the `pytest_plugins` variable in a test module or a conftest file.\n\nTo ignore a false positive, you can either put `# pants: no-infer-dep` on the line of the string or put `!{bad_address}` in the `dependencies` field of your target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalafmt-lockfile"], + "scoped_cmd_line_args": [ + "--python-infer-string-imports", + "--no-python-infer-string-imports" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--string-imports", + "--no-string-imports" + ], "value_history": { "ranked_values": [ { @@ -19930,29 +22822,35 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": false } ] } }, - "PANTS_SCALAFMT_SKIP": { + "PANTS_PYTHON_INFER_STRING_IMPORTS_MIN_DOTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scalafmt-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--python-infer-string-imports-min-dots=", + "config_key": "string_imports_min_dots", + "default": 2, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scalafmt-skip"], - "env_var": "PANTS_SCALAFMT_SKIP", + "display_args": [ + "--python-infer-string-imports-min-dots=" + ], + "env_var": "PANTS_PYTHON_INFER_STRING_IMPORTS_MIN_DOTS", "fromfile": false, - "help": "If true, don't use scalafmt when running `pants fmt` and `pants lint`.", + "help": "If `--string-imports` is True, treat valid-looking strings with at least this many dots in them as potential dynamic dependencies. E.g., `'foo.bar.Baz'` will be treated as a potential dependency if this option is set to 2 but not if set to 3.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalafmt-skip", "--no-scalafmt-skip"], + "scoped_cmd_line_args": [ + "--python-infer-string-imports-min-dots" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--string-imports-min-dots" + ], "value_history": { "ranked_values": [ { @@ -19963,29 +22861,39 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": 2 } ] } }, - "PANTS_SCALAFMT_VERSION": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scalafmt-version=", - "config_key": "version", - "default": "3.2.1", + "PANTS_PYTHON_INFER_UNOWNED_DEPENDENCY_BEHAVIOR": { + "choices": [ + "error", + "warning", + "ignore" + ], + "comma_separated_choices": "error, warning, ignore", + "comma_separated_display_args": "--python-infer-unowned-dependency-behavior=", + "config_key": "unowned_dependency_behavior", + "default": "warning", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalafmt-version="], - "env_var": "PANTS_SCALAFMT_VERSION", + "display_args": [ + "--python-infer-unowned-dependency-behavior=" + ], + "env_var": "PANTS_PYTHON_INFER_UNOWNED_DEPENDENCY_BEHAVIOR", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[scalafmt].artifacts` option by including the string `{version}`.", + "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 `ModuleNotFoundError`, so this option can be helpful to error more eagerly.\n\nTo ignore any false positives, either add `# pants: no-infer-dep` to the line of the import or put the import inside a `try: except ImportError:` block.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalafmt-version"], + "scoped_cmd_line_args": [ + "--python-infer-unowned-dependency-behavior" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "UnownedDependencyUsage", + "unscoped_cmd_line_args": [ + "--unowned-dependency-behavior" + ], "value_history": { "ranked_values": [ { @@ -19996,62 +22904,76 @@ { "details": null, "rank": "HARDCODED", - "value": "3.2.1" + "value": "warning" } ] } }, - "PANTS_SCALAPB_ARTIFACTS": { + "PANTS_PYTHON_INFER_USE_RUST_PARSER": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["com.thesamet.scalapb:scalapbc_2.13:{version}"], + "comma_separated_display_args": "--[no-]python-infer-use-rust-parser", + "config_key": "use_rust_parser", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_SCALAPB_ARTIFACTS", + "display_args": [ + "--[no-]python-infer-use-rust-parser" + ], + "env_var": "PANTS_PYTHON_INFER_USE_RUST_PARSER", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalapb].version` option.", + "help": "Use the new Rust-based, multithreaded, in-process dependency parser.\n\nPants 2.17 introduced a new paradigm to dependency parsing for Python by leveraging a Rust-based parser that's called in the same process as Pants itself, instead of farming out to one-python-process-per-file.\n\nAs a result of the switch, cold-cache performance improved by a factor of about 12x, while hot-cache had no difference. Additionally, Pants can now infer dependencies from Python scripts with syntax errors.\n\nAfter leaving this defaulted to disabled for a release cycle, Pants 2.18 started defaulting to enabling this.\n\nIf you think the new behaviour is causing problems, it is recommended that you run `pants peek :: > before.json` and then `pants --python-infer-use-rust-parser=False peek :: > after.json` and compare the two results.\n\nIf you think there is a bug and need to disable it, please file an issue: https://github.com/pantsbuild/pants/issues/new/choose.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalapb-artifacts"], + "scoped_cmd_line_args": [ + "--python-infer-use-rust-parser", + "--no-python-infer-use-rust-parser" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--use-rust-parser", + "--no-use-rust-parser" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["com.thesamet.scalapb:scalapbc_2.13:{version}"] + "value": true } ] } }, - "PANTS_SCALAPB_JVM_OPTIONS": { + "PANTS_PYTHON_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", + "comma_separated_display_args": "--python-interpreter-constraints=\"[, , ...]\"", + "config_key": "interpreter_constraints", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_SCALAPB_JVM_OPTIONS", + "display_args": [ + "--python-interpreter-constraints=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTHON_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "List of JVM options to pass to `scalapb` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "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": ["--scalapb-jvm-options"], + "scoped_cmd_line_args": [ + "--python-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -20067,24 +22989,40 @@ ] } }, - "PANTS_SCALAPB_JVM_PLUGINS": { + "PANTS_PYTHON_INTERPRETER_VERSIONS_UNIVERSE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-jvm-plugins=\"['', '', ...]\"", - "config_key": "jvm_plugins", - "default": [], + "comma_separated_display_args": "--python-interpreter-versions-universe=\"['', '', ...]\"", + "config_key": "interpreter_versions_universe", + "default": [ + "2.7", + "3.5", + "3.6", + "3.7", + "3.8", + "3.9", + "3.10", + "3.11", + "3.12" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-jvm-plugins=\"['', '', ...]\""], - "env_var": "PANTS_SCALAPB_JVM_PLUGINS", + "display_args": [ + "--python-interpreter-versions-universe=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_INTERPRETER_VERSIONS_UNIVERSE", "fromfile": false, - "help": "A list of JVM-based `protoc` plugins to invoke when generating Scala code from protobuf files. The format for each plugin specifier is `NAME=ARTIFACT` where NAME is the name of the plugin and ARTIFACT is either the address of a `jvm_artifact` target or the colon-separated Maven coordinate for the plugin's jar artifact.\n\nFor example, to invoke the fs2-grpc protoc plugin, the following option would work: `--scalapb-jvm-plugins=fs2=org.typelevel:fs2-grpc-codegen_2.12:2.3.1`. (Note: you would also need to set `--scalapb-runtime-dependencies` appropriately to include the applicable runtime libraries for your chosen protoc plugins.)", + "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/v2.19/docs/python-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": ["--scalapb-jvm-plugins"], + "scoped_cmd_line_args": [ + "--python-interpreter-versions-universe" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--jvm-plugins"], + "unscoped_cmd_line_args": [ + "--interpreter-versions-universe" + ], "value_history": { "ranked_values": [ { @@ -20095,29 +23033,49 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "2.7", + "3.5", + "3.6", + "3.7", + "3.8", + "3.9", + "3.10", + "3.11", + "3.12" + ] } ] } }, - "PANTS_SCALAPB_LOCKFILE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-lockfile=", - "config_key": "lockfile", - "default": "", + "PANTS_PYTHON_INVALID_LOCKFILE_BEHAVIOR": { + "choices": [ + "error", + "ignore", + "warn" + ], + "comma_separated_choices": "error, ignore, warn", + "comma_separated_display_args": "--python-invalid-lockfile-behavior=", + "config_key": "invalid_lockfile_behavior", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-lockfile="], - "env_var": "PANTS_SCALAPB_LOCKFILE", + "display_args": [ + "--python-invalid-lockfile-behavior=" + ], + "env_var": "PANTS_PYTHON_INVALID_LOCKFILE_BEHAVIOR", "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.19.0rc1/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": "The behavior when a lockfile has requirements or interpreter constraints that are not compatible with what the current build is using.\n\nWe recommend keeping the default of `error` for CI builds.\n\nNote that `warn` will still expect a Pants lockfile header, it only won't error if the lockfile is stale and should be regenerated.\n\nUse `ignore` to avoid needing a lockfile header at all, e.g. if you are manually managing lockfiles rather than using the `generate-lockfiles` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalapb-lockfile"], + "scoped_cmd_line_args": [ + "--python-invalid-lockfile-behavior" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "typ": "InvalidLockfileBehavior", + "unscoped_cmd_line_args": [ + "--invalid-lockfile-behavior" + ], "value_history": { "ranked_values": [ { @@ -20128,29 +23086,37 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": "error" } ] } }, - "PANTS_SCALAPB_VERSION": { + "PANTS_PYTHON_MACOS_BIG_SUR_COMPATIBILITY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-version=", - "config_key": "version", - "default": "0.11.6", + "comma_separated_display_args": "--[no-]python-macos-big-sur-compatibility", + "config_key": "macos_big_sur_compatibility", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-version="], - "env_var": "PANTS_SCALAPB_VERSION", + "display_args": [ + "--[no-]python-macos-big-sur-compatibility" + ], + "env_var": "PANTS_PYTHON_MACOS_BIG_SUR_COMPATIBILITY", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[scalapb].artifacts` option by including the string `{version}`.", + "help": "If set, and if running on macOS Big Sur, use `macosx_10_16` as the platform when building wheels. Otherwise, the default of `macosx_11_0` will be used. This may be required for `pip` to be able to install the resulting distribution on Big Sur.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalapb-version"], + "scoped_cmd_line_args": [ + "--python-macos-big-sur-compatibility", + "--no-python-macos-big-sur-compatibility" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--macos-big-sur-compatibility", + "--no-macos-big-sur-compatibility" + ], "value_history": { "ranked_values": [ { @@ -20161,32 +23127,37 @@ { "details": null, "rank": "HARDCODED", - "value": "0.11.6" + "value": false } ] } }, - "PANTS_SCALATEST_ARGS": { + "PANTS_PYTHON_NATIVE_CODE_CPP_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--python-native-code-cpp-flags=\"['', '', ...]\"", + "config_key": "cpp_flags", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scalatest-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--python-native-code-cpp-flags=\"['', '', ...]\"" ], - "env_var": "PANTS_SCALATEST_ARGS", + "env_var": "PANTS_PYTHON_NATIVE_CODE_CPP_FLAGS", "fromfile": false, - "help": "Arguments to pass directly to Scalatest, e.g. `--scalatest-args='-t $testname'`.\n\nSee https://www.scalatest.org/user_guide/using_the_runner for supported arguments.", + "help": "Override the `CPPFLAGS` environment variable for any forked subprocesses. Use the value `['']` to inherit the value of the `CPPFLAGS` environment variable from your runtime environment target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-args"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--python-native-code-cpp-flags" + ], + "target_field_name": "python_native_code_cpp_flags", "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--cpp-flags" + ], "value_history": { "ranked_values": [ { @@ -20197,29 +23168,39 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "" + ] } ] } }, - "PANTS_SCALATEST_ARTIFACTS": { + "PANTS_PYTHON_NATIVE_CODE_LD_FLAGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["org.scalatest:scalatest_2.13:{version}"], + "comma_separated_display_args": "--python-native-code-ld-flags=\"['', '', ...]\"", + "config_key": "ld_flags", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalatest-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_SCALATEST_ARTIFACTS", + "display_args": [ + "--python-native-code-ld-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_NATIVE_CODE_LD_FLAGS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalatest].version` option.", + "help": "Override the `LDFLAGS` environment variable for any forked subprocesses. Use the value `['']` to inherit the value of the `LDFLAGS` environment variable from your runtime environment target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-artifacts"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--python-native-code-ld-flags" + ], + "target_field_name": "python_native_code_ld_flags", "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--ld-flags" + ], "value_history": { "ranked_values": [ { @@ -20230,62 +23211,78 @@ { "details": "", "rank": "HARDCODED", - "value": ["org.scalatest:scalatest_2.13:{version}"] + "value": [ + "" + ] } ] } }, - "PANTS_SCALATEST_JVM_OPTIONS": { + "PANTS_PYTHON_PIP_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "comma_separated_display_args": "--python-pip-version=", + "config_key": "pip_version", + "default": "23.1.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalatest-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_SCALATEST_JVM_OPTIONS", + "display_args": [ + "--python-pip-version=" + ], + "env_var": "PANTS_PYTHON_PIP_VERSION", "fromfile": false, - "help": "List of JVM options to pass to `scalatest` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "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/v2.19/docs/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": ["--scalatest-jvm-options"], + "scoped_cmd_line_args": [ + "--python-pip-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--pip-version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "23.1.2" } ] } }, - "PANTS_SCALATEST_LOCKFILE": { + "PANTS_PYTHON_PROTOBUF_INFER_RUNTIME_DEPENDENCY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--[no-]python-protobuf-infer-runtime-dependency", + "config_key": "infer_runtime_dependency", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalatest-lockfile="], - "env_var": "PANTS_SCALATEST_LOCKFILE", + "display_args": [ + "--[no-]python-protobuf-infer-runtime-dependency" + ], + "env_var": "PANTS_PYTHON_PROTOBUF_INFER_RUNTIME_DEPENDENCY", "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.19.0rc1/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": "If True, will add a dependency on a `python_requirement` target exposing the `protobuf` module (usually from the `protobuf` requirement). If the `protobuf_source` target sets `grpc=True`, will also add a dependency on the `python_requirement` target exposing the `grpcio` module.\n\nIf `[python].enable_resolves` is set, Pants will only infer dependencies on `python_requirement` targets that use the same resolve as the particular `protobuf_source` / `protobuf_sources` target uses, which is set via its `python_resolve` field.\n\nUnless this option is disabled, Pants will error if no relevant target is found or if more than one is found which causes ambiguity.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-lockfile"], + "scoped_cmd_line_args": [ + "--python-protobuf-infer-runtime-dependency", + "--no-python-protobuf-infer-runtime-dependency" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--infer-runtime-dependency", + "--no-infer-runtime-dependency" + ], "value_history": { "ranked_values": [ { @@ -20296,29 +23293,37 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": true } ] } }, - "PANTS_SCALATEST_SKIP": { + "PANTS_PYTHON_PROTOBUF_MYPY_PLUGIN": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scalatest-skip", - "config_key": "skip", + "comma_separated_display_args": "--[no-]python-protobuf-mypy-plugin", + "config_key": "mypy_plugin", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scalatest-skip"], - "env_var": "PANTS_SCALATEST_SKIP", + "display_args": [ + "--[no-]python-protobuf-mypy-plugin" + ], + "env_var": "PANTS_PYTHON_PROTOBUF_MYPY_PLUGIN", "fromfile": false, - "help": "If true, don't use Scalatest when running `pants test`.", + "help": "Use the `mypy-protobuf` plugin (https://github.com/dropbox/mypy-protobuf) to also generate `.pyi` type stubs.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-skip", "--no-scalatest-skip"], + "scoped_cmd_line_args": [ + "--python-protobuf-mypy-plugin", + "--no-python-protobuf-mypy-plugin" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--mypy-plugin", + "--no-mypy-plugin" + ], "value_history": { "ranked_values": [ { @@ -20334,24 +23339,32 @@ ] } }, - "PANTS_SCALATEST_VERSION": { + "PANTS_PYTHON_REPL_HISTORY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-version=", - "config_key": "version", - "default": "3.2.10", + "comma_separated_display_args": "--[no-]python-repl-history", + "config_key": "repl_history", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalatest-version="], - "env_var": "PANTS_SCALATEST_VERSION", + "display_args": [ + "--[no-]python-repl-history" + ], + "env_var": "PANTS_PYTHON_REPL_HISTORY", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[scalatest].artifacts` option by including the string `{version}`.", + "help": "Whether to use the standard Python command history file when running a repl.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-version"], + "scoped_cmd_line_args": [ + "--python-repl-history", + "--no-python-repl-history" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--repl-history", + "--no-repl-history" + ], "value_history": { "ranked_values": [ { @@ -20362,181 +23375,194 @@ { "details": null, "rank": "HARDCODED", - "value": "3.2.10" + "value": true } ] } }, - "PANTS_SCALA_INFER_CONSUMED_TYPES": { + "PANTS_PYTHON_REPOS_FIND_LINKS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-infer-consumed-types", - "config_key": "consumed_types", - "default": true, + "comma_separated_display_args": "--python-repos-find-links=\"['', '', ...]\"", + "config_key": "find_links", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scala-infer-consumed-types"], - "env_var": "PANTS_SCALA_INFER_CONSUMED_TYPES", + "display_args": [ + "--python-repos-find-links=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_REPOS_FIND_LINKS", "fromfile": false, - "help": "Infer a target's dependencies by parsing consumed types from sources.", + "help": "URLs and/or file paths corresponding to pip's `--find-links` option.\n\nPer [pip's documentation](https://pip.pypa.io/en/stable/cli/pip_wheel/?highlight=find%20links#cmdoption-f), URLs should be to HTML files with links to `.whl` and/or sdist files. Local paths must be absolute, and can either be to an HTML file with links or to a directory with `.whl` and/or sdist files, e.g. `file:///Users/pantsbuild/prebuilt_wheels`.\n\nFor local paths, you may want to use the option `[python-repos].path_mappings`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--scala-infer-consumed-types", - "--no-scala-infer-consumed-types" + "--python-repos-find-links" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--consumed-types", "--no-consumed-types"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--find-links" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, - "rank": "HARDCODED", - "value": true + "details": "from command-line flag", + "rank": "FLAG", + "value": [] } ] } }, - "PANTS_SCALA_INFER_FORCE_ADD_SIBLINGS_AS_DEPENDENCIES": { + "PANTS_PYTHON_REPOS_INDEXES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-infer-force-add-siblings-as-dependencies", - "config_key": "force_add_siblings_as_dependencies", - "default": false, + "comma_separated_display_args": "--python-repos-indexes=\"['', '', ...]\"", + "config_key": "indexes", + "default": [ + "https://pypi.org/simple/" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scala-infer-force-add-siblings-as-dependencies"], - "env_var": "PANTS_SCALA_INFER_FORCE_ADD_SIBLINGS_AS_DEPENDENCIES", - "fromfile": false, - "help": "If true, add a dependency on all `scala_source` targets generated by the same `scala_sources` target generator. If false, the dependencies will only be added if `[scala-infer].imports` is also set to false.\n\nSetting this option to true reduces the precision of dependency information. That means that you may end up compiling more than is necessary for a particular task, and that compilation will be invalidated more frequently than actually necessary. However, setting to true may be helpful if compilation fails due to missing dependencies.", + "display_args": [ + "--python-repos-indexes=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_REPOS_INDEXES", + "fromfile": false, + "help": "URLs of [PEP-503 compatible](https://peps.python.org/pep-0503/) code repository indexes to look for requirements.\n\nIf set to an empty list, then Pex will use no indexes (meaning it will not use PyPI).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--scala-infer-force-add-siblings-as-dependencies", - "--no-scala-infer-force-add-siblings-as-dependencies" + "--python-repos-indexes" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--force-add-siblings-as-dependencies", - "--no-force-add-siblings-as-dependencies" + "--indexes" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "https://pypi.org/simple/" + ] } ] } }, - "PANTS_SCALA_INFER_IMPORTS": { + "PANTS_PYTHON_REPOS_PATH_MAPPINGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-infer-imports", - "config_key": "imports", - "default": true, + "comma_separated_display_args": "--python-repos-path-mappings=\"['', '', ...]\"", + "config_key": "path_mappings", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scala-infer-imports"], - "env_var": "PANTS_SCALA_INFER_IMPORTS", + "display_args": [ + "--python-repos-path-mappings=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_REPOS_PATH_MAPPINGS", "fromfile": false, - "help": "Infer a target's dependencies by parsing import statements from sources.", + "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/v2.19/docs/python-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/v2.19/docs/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/v2.19/docs/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": [ - "--scala-infer-imports", - "--no-scala-infer-imports" + "--python-repos-path-mappings" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--path-mappings" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } }, - "PANTS_SCALA_INFER_PACKAGE_OBJECTS": { + "PANTS_PYTHON_REPOS_REPOS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-infer-package-objects", - "config_key": "package_objects", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]scala-infer-package-objects"], - "env_var": "PANTS_SCALA_INFER_PACKAGE_OBJECTS", + "comma_separated_display_args": "--python-repos-repos=\"['', '', ...]\"", + "config_key": "repos", + "default": [], + "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--python-repos-repos=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_REPOS_REPOS", "fromfile": false, - "help": "Add dependency on the package object to every target.", - "removal_hint": null, - "removal_version": null, + "help": "URLs of code repositories to look for requirements. In Pip and Pex, this option corresponds to the `--find-links` option.", + "removal_hint": "A deprecated alias for `[python-repos].find_links`.", + "removal_version": "3.0.0.dev0", "scoped_cmd_line_args": [ - "--scala-infer-package-objects", - "--no-scala-infer-package-objects" + "--python-repos-repos" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--package-objects", "--no-package-objects"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--repos" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } }, - "PANTS_SCALA_TAILOR_SOURCE_TARGETS": { + "PANTS_PYTHON_REQUIREMENT_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-tailor-source-targets", - "config_key": "tailor_source_targets", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]scala-tailor-source-targets"], - "env_var": "PANTS_SCALA_TAILOR_SOURCE_TARGETS", + "comma_separated_display_args": "--python-requirement-constraints=", + "config_key": "requirement_constraints", + "default": null, + "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--python-requirement-constraints=" + ], + "env_var": "PANTS_PYTHON_REQUIREMENT_CONSTRAINTS", "fromfile": false, - "help": "If true, add `scala_sources`, `scala_junit_tests`, and `scalatest_tests` targets with the `tailor` goal.", - "removal_hint": null, - "removal_version": null, + "help": "When resolving third-party requirements for your own code (vs. tools you run), use this constraints file to determine which versions to use.\n\nMutually exclusive with `[python].enable_resolves`, which we generally recommend as an improvement over constraints file.\n\nSee https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on the format of constraint files and how constraints are applied in Pex and pip.\n\nThis only applies when resolving user requirements, rather than tools you run like Black and Pytest. To constrain tools, set `[tool].lockfile`, e.g. `[black].lockfile`.", + "removal_hint": "We encourage instead migrating to `[python].enable_resolves` and `[python].resolves`, which is an improvement over this option. The `[python].resolves` feature ensures that your lockfiles are fully comprehensive, i.e. include all transitive dependencies; uses hashes for better supply chain security; and supports advanced features like VCS and local requirements, along with options `[python].resolves_to_only_binary`.\n\nTo migrate, stop setting `[python].requirement_constraints` and `[python].resolve_all_constraints`, and instead set `[python].enable_resolves` to `true`. Then, run `pants generate-lockfiles`.", + "removal_version": "3.0.0.dev0", "scoped_cmd_line_args": [ - "--scala-tailor-source-targets", - "--no-scala-tailor-source-targets" + "--python-requirement-constraints" ], "target_field_name": null, - "typ": "bool", + "typ": "file_option", "unscoped_cmd_line_args": [ - "--tailor-source-targets", - "--no-tailor-source-targets" + "--requirement-constraints" ], "value_history": { "ranked_values": [ @@ -20544,154 +23570,157 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } }, - "PANTS_SCALA_VERSION_FOR_RESOLVE": { + "PANTS_PYTHON_RESOLVER_MANYLINUX": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scala-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "version_for_resolve", - "default": {}, + "comma_separated_display_args": "--python-resolver-manylinux=", + "config_key": "resolver_manylinux", + "default": "manylinux2014", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scala-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + "--python-resolver-manylinux=" ], - "env_var": "PANTS_SCALA_VERSION_FOR_RESOLVE", + "env_var": "PANTS_PYTHON_RESOLVER_MANYLINUX", "fromfile": false, - "help": "A dictionary mapping the name of a resolve to the Scala version to use for all Scala targets consuming that resolve.\n\nAll Scala-compiled jars on a resolve's classpath must be \"compatible\" with one another and with all Scala-compiled first-party sources from `scala_sources` (and other Scala target types) using that resolve. The option sets the Scala version that will be used to compile all first-party sources using the resolve. This ensures that the compatibility property is maintained for a resolve. To support multiple Scala versions, use multiple resolves.", + "help": "Whether to allow resolution of manylinux wheels when resolving requirements for foreign linux platforms. The value should be a manylinux platform upper bound, e.g. `'manylinux2010'`, or else the string `'no'` to disallow.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scala-version-for-resolve"], + "scoped_cmd_line_args": [ + "--python-resolver-manylinux" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--version-for-resolve"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--resolver-manylinux" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": "manylinux2014" } ] } }, - "PANTS_SCC_ARGS": { + "PANTS_PYTHON_RESOLVES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scc-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--python-resolves=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves", + "default": { + "python-default": "3rdparty/python/default.lock" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scc-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--python-resolves=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_SCC_ARGS", + "env_var": "PANTS_PYTHON_RESOLVES", "fromfile": false, - "help": "Arguments to pass directly to SCC, e.g. `--scc-args='--no-cocomo'`.\n\nRefer to to https://github.com/boyter/scc.", + "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/v2.19/docs/targets 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": ["--scc-args"], + "scoped_cmd_line_args": [ + "--python-resolves" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "python-default": "3rdparty/python/default.lock" + } } ] } }, - "PANTS_SCC_KNOWN_VERSIONS": { + "PANTS_PYTHON_RESOLVES_GENERATE_LOCKFILES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scc-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145", - "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134", - "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037", - "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341" - ], + "comma_separated_display_args": "--[no-]python-resolves-generate-lockfiles", + "config_key": "resolves_generate_lockfiles", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scc-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_SCC_KNOWN_VERSIONS", + "display_args": [ + "--[no-]python-resolves-generate-lockfiles" + ], + "env_var": "PANTS_PYTHON_RESOLVES_GENERATE_LOCKFILES", "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", + "help": "If False, Pants will not attempt to generate lockfiles for `[python].resolves` when running the `generate-lockfiles` goal.\n\nThis is intended to allow you to manually generate lockfiles for your own code, rather than using Pex lockfiles. For example, when adopting Pants in a project already using Poetry, you can use `poetry export --dev` to create a requirements.txt-style lockfile understood by Pants, then point `[python].resolves` to the file.\n\nIf you set this to False, Pants will not attempt to validate the metadata headers for your user lockfiles. This is useful so that you can keep `[python].invalid_lockfile_behavior` to `error` or `warn` if you'd like so that tool lockfiles continue to be validated, while user lockfiles are skipped.\n\nWarning: it will likely be slower to install manually generated user lockfiles than Pex ones because Pants cannot as efficiently extract the subset of requirements used for a particular task. See the option `[python].run_against_entire_lockfile`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-known-versions"], + "scoped_cmd_line_args": [ + "--python-resolves-generate-lockfiles", + "--no-python-resolves-generate-lockfiles" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--resolves-generate-lockfiles", + "--no-resolves-generate-lockfiles" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145", - "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134", - "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037", - "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341" - ] + "value": true } ] } }, - "PANTS_SCC_URL_PLATFORM_MAPPING": { + "PANTS_PYTHON_RESOLVES_TO_CONSTRAINTS_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "arm64-unknown-linux", - "linux_x86_64": "x86_64-unknown-linux", - "macos_arm64": "arm64-apple-darwin", - "macos_x86_64": "x86_64-apple-darwin" - }, + "comma_separated_display_args": "--python-resolves-to-constraints-file=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves_to_constraints_file", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--python-resolves-to-constraints-file=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_SCC_URL_PLATFORM_MAPPING", + "env_var": "PANTS_PYTHON_RESOLVES_TO_CONSTRAINTS_FILE", "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`.", + "help": "When generating a resolve's lockfile, use a constraints file to pin the version of certain requirements. This is particularly useful to pin the versions of transitive dependencies of your direct requirements.\n\nSee https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on the format of constraint files and how constraints are applied in Pex and pip.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to file paths for constraints files. For example, `{'data-science': '3rdparty/data-science-constraints.txt'}`. If a resolve is not set in the dictionary, it will not use a constraints file.\n\nYou can use the key `__default__` to set a default value for all resolves.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--python-resolves-to-constraints-file" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--resolves-to-constraints-file" + ], "value_history": { "ranked_values": [ { @@ -20702,168 +23731,195 @@ { "details": "", "rank": "HARDCODED", - "value": { - "linux_arm64": "arm64-unknown-linux", - "linux_x86_64": "x86_64-unknown-linux", - "macos_arm64": "arm64-apple-darwin", - "macos_x86_64": "x86_64-apple-darwin" - } + "value": {} } ] } }, - "PANTS_SCC_URL_TEMPLATE": { + "PANTS_PYTHON_RESOLVES_TO_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scc-url-template=", - "config_key": "url_template", - "default": "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip", + "comma_separated_display_args": "--python-resolves-to-interpreter-constraints=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves_to_interpreter_constraints", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scc-url-template="], - "env_var": "PANTS_SCC_URL_TEMPLATE", + "display_args": [ + "--python-resolves-to-interpreter-constraints=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYTHON_RESOLVES_TO_INTERPRETER_CONSTRAINTS", "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/v2.19/docs/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": "Override the interpreter constraints to use when generating a resolve's lockfile with the `generate-lockfiles` goal.\n\nBy default, each resolve from `[python].resolves` will use your global interpreter constraints set in `[python].interpreter_constraints`. With this option, you can override each resolve to use certain interpreter constraints, such as `{'data-science': ['==3.8.*']}`.\n\nWarning: this does NOT impact the interpreter constraints used by targets within the resolve, which is instead set by the option `[python].interpreter_constraints` and the `interpreter_constraints` field. It only impacts how the lockfile is generated.\n\nPants will validate that the interpreter constraints of your code using a resolve are compatible with that resolve's own constraints. For example, if your code is set to use `['==3.9.*']` via the `interpreter_constraints` field, but it's using a resolve whose interpreter constraints are set to `['==3.7.*']`, then Pants will error explaining the incompatibility.\n\nThe keys must be defined as resolves in `[python].resolves`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-url-template"], + "scoped_cmd_line_args": [ + "--python-resolves-to-interpreter-constraints" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves-to-interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip" + "value": {} } ] } }, - "PANTS_SCC_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--scc-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_PYTHON_RESOLVES_TO_NO_BINARY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--python-resolves-to-no-binary=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves_to_no_binary", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scc-use-unsupported-version=" + "--python-resolves-to-no-binary=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_SCC_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_PYTHON_RESOLVES_TO_NO_BINARY", "fromfile": false, - "help": "\nWhat action to take in case the requested version of SCC is not supported.\n\nSupported SCC versions: unspecified\n", + "help": "When generating a resolve's lockfile, do not use binary packages (i.e. wheels) for these 3rdparty project names.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to lists of project names. For example, `{'data-science': ['requests', 'numpy']}`. If a resolve is not set in the dictionary, it will have no restrictions on binary packages.\n\nYou can use the key `__default__` to set a default value for all resolves.\n\nFor each resolve, you can also use the value `:all:` to disable all binary packages: `{'data-science': [':all:']}`.\n\nNote that some packages are tricky to compile and may fail to install when this option is used on them. See https://pip.pypa.io/en/stable/cli/pip_install/#install-no-binary for details.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--python-resolves-to-no-binary" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves-to-no-binary" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": {} } ] } }, - "PANTS_SCC_VERSION": { + "PANTS_PYTHON_RESOLVES_TO_ONLY_BINARY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scc-version=", - "config_key": "version", - "default": "3.0.0", + "comma_separated_display_args": "--python-resolves-to-only-binary=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves_to_only_binary", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scc-version="], - "env_var": "PANTS_SCC_VERSION", + "display_args": [ + "--python-resolves-to-only-binary=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYTHON_RESOLVES_TO_ONLY_BINARY", "fromfile": false, - "help": "Use this version of SCC.", + "help": "When generating a resolve's lockfile, do not use source packages (i.e. sdists) for these 3rdparty project names, e.g `['django', 'requests']`.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to lists of project names. For example, `{'data-science': ['requests', 'numpy']}`. If a resolve is not set in the dictionary, it will have no restrictions on source packages.\n\nYou can use the key `__default__` to set a default value for all resolves.\n\nFor each resolve you can use the value `:all:` to disable all source packages: `{'data-science': [':all:']}`.\n\nPackages without binary distributions will fail to install when this option is used on them. See https://pip.pypa.io/en/stable/cli/pip_install/#install-only-binary for details.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-version"], + "scoped_cmd_line_args": [ + "--python-resolves-to-only-binary" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves-to-only-binary" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "3.0.0" + "value": {} } ] } }, - "PANTS_SEMGREP_ARGS": { + "PANTS_PYTHON_RESOLVE_ALL_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-args=\"[, , ...]\"", - "config_key": "args", - "default": ["--quiet"], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--semgrep-args=\"[, , ...]\""], - "env_var": "PANTS_SEMGREP_ARGS", + "comma_separated_display_args": "--[no-]python-resolve-all-constraints", + "config_key": "resolve_all_constraints", + "default": true, + "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--[no-]python-resolve-all-constraints" + ], + "env_var": "PANTS_PYTHON_RESOLVE_ALL_CONSTRAINTS", "fromfile": false, - "help": "Arguments to pass directly to Semgrep, e.g. `--semgrep-args='--verbose'`.\n\nThis includes --quiet by default to reduce the volume of output.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-args"], + "help": "(Only relevant when using `[python].requirement_constraints.`) If enabled, when resolving requirements, Pants will first resolve your entire constraints file as a single global resolve. Then, if the code uses a subset of your constraints file, Pants will extract the relevant requirements from that global resolve so that only what's actually needed gets used. If disabled, Pants will not use a global resolve and will resolve each subset of your requirements independently.\n\nUsually this option should be enabled because it can result in far fewer resolves.", + "removal_hint": "We encourage instead migrating to `[python].enable_resolves` and `[python].resolves`, which is an improvement over this option. The `[python].resolves` feature ensures that your lockfiles are fully comprehensive, i.e. include all transitive dependencies; uses hashes for better supply chain security; and supports advanced features like VCS and local requirements, along with options `[python].resolves_to_only_binary`.\n\nTo migrate, stop setting `[python].requirement_constraints` and `[python].resolve_all_constraints`, and instead set `[python].enable_resolves` to `true`. Then, run `pants generate-lockfiles`.", + "removal_version": "3.0.0.dev0", + "scoped_cmd_line_args": [ + "--python-resolve-all-constraints", + "--no-python-resolve-all-constraints" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--resolve-all-constraints", + "--no-resolve-all-constraints" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["--quiet"] + "value": true } ] } }, - "PANTS_SEMGREP_CONSOLE_SCRIPT": { + "PANTS_PYTHON_RUN_AGAINST_ENTIRE_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-console-script=", - "config_key": "console_script", - "default": "semgrep", + "comma_separated_display_args": "--[no-]python-run-against-entire-lockfile", + "config_key": "run_against_entire_lockfile", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--semgrep-console-script="], - "env_var": "PANTS_SEMGREP_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]python-run-against-entire-lockfile" + ], + "env_var": "PANTS_PYTHON_RUN_AGAINST_ENTIRE_LOCKFILE", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "If enabled, when running binaries, tests, and repls, Pants will use the entire lockfile file instead of just the relevant subset.\n\nIf you are using Pex lockfiles, we generally do not recommend this. You will already get similar performance benefits to this option, without the downsides.\n\nOtherwise, this option can improve performance and reduce cache size. But it has two consequences: 1) All cached test results will be invalidated if any requirement in the lockfile\n changes, rather than just those that depend on the changed requirement.\n2) Requirements unneeded by a test/run/repl will be present on the sys.path, which\n might in rare cases cause their behavior to change.\n\nThis option does not affect packaging deployable artifacts, such as PEX files, wheels and cloud functions, which will still use just the exact subset of requirements needed.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-console-script"], + "scoped_cmd_line_args": [ + "--python-run-against-entire-lockfile", + "--no-python-run-against-entire-lockfile" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--run-against-entire-lockfile", + "--no-run-against-entire-lockfile" + ], "value_history": { "ranked_values": [ { @@ -20874,57 +23930,78 @@ { "details": null, "rank": "HARDCODED", - "value": "semgrep" + "value": false } ] } }, - "PANTS_SEMGREP_ENTRY_POINT": { + "PANTS_PYTHON_TAILOR_IGNORE_EMPTY_INIT_FILES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]python-tailor-ignore-empty-init-files", + "config_key": "tailor_ignore_empty_init_files", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--semgrep-entry-point="], - "env_var": "PANTS_SEMGREP_ENTRY_POINT", + "display_args": [ + "--[no-]python-tailor-ignore-empty-init-files" + ], + "env_var": "PANTS_PYTHON_TAILOR_IGNORE_EMPTY_INIT_FILES", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "If true, don't add `python_sources` targets for `__init__.py` files that are both empty and where there are no other Python files in the directory.\n\nEmpty and solitary `__init__.py` files usually exist as import scaffolding rather than true library code, so it can be noisy to add BUILD files.\n\nEven if this option is set to true, Pants will still ensure the empty `__init__.py` files are included in the sandbox when running processes.\n\nIf you set to false, you may also want to set `[python-infer].init_files = \"always\"`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-entry-point"], + "scoped_cmd_line_args": [ + "--python-tailor-ignore-empty-init-files", + "--no-python-tailor-ignore-empty-init-files" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-ignore-empty-init-files", + "--no-tailor-ignore-empty-init-files" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_SEMGREP_FORCE": { + "PANTS_PYTHON_TAILOR_PEX_BINARY_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]semgrep-force", - "config_key": "force", + "comma_separated_display_args": "--[no-]python-tailor-pex-binary-targets", + "config_key": "tailor_pex_binary_targets", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]semgrep-force"], - "env_var": "PANTS_SEMGREP_FORCE", + "display_args": [ + "--[no-]python-tailor-pex-binary-targets" + ], + "env_var": "PANTS_PYTHON_TAILOR_PEX_BINARY_TARGETS", "fromfile": false, - "help": "If true, semgrep is always run, even if the input files haven't changed. This can be used to run cloud rulesets like `pants lint --semgrep-force --semgrep-args='--config=p/python' ::`. Without `--semgrep-force`, using the cloud rulesets may give inconsistent results on different machines, due to caching, because the rulesets may change.", + "help": "If true, add `pex_binary` targets for Python files named `__main__.py` or with a `__main__` clause with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-force", "--no-semgrep-force"], + "scoped_cmd_line_args": [ + "--python-tailor-pex-binary-targets", + "--no-python-tailor-pex-binary-targets" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--force", "--no-force"], + "unscoped_cmd_line_args": [ + "--tailor-pex-binary-targets", + "--no-tailor-pex-binary-targets" + ], "value_history": { "ranked_values": [ { @@ -20940,120 +24017,114 @@ ] } }, - "PANTS_SEMGREP_INSTALL_FROM_RESOLVE": { + "PANTS_PYTHON_TAILOR_PY_TYPED_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]python-tailor-py-typed-targets", + "config_key": "tailor_py_typed_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--semgrep-install-from-resolve="], - "env_var": "PANTS_SEMGREP_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]python-tailor-py-typed-targets" + ], + "env_var": "PANTS_PYTHON_TAILOR_PY_TYPED_TARGETS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 true, add `resource` targets for marker files named `py.typed` with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-install-from-resolve"], + "scoped_cmd_line_args": [ + "--python-tailor-py-typed-targets", + "--no-python-tailor-py-typed-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-py-typed-targets", + "--no-tailor-py-typed-targets" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, - "PANTS_SEMGREP_INTERPRETER_CONSTRAINTS": { + "PANTS_PYTHON_TAILOR_REQUIREMENTS_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]python-tailor-requirements-targets", + "config_key": "tailor_requirements_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--semgrep-interpreter-constraints=\"['', '', ...]\"" + "--[no-]python-tailor-requirements-targets" ], - "env_var": "PANTS_SEMGREP_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYTHON_TAILOR_REQUIREMENTS_TARGETS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "If true, add `python_requirements`, `poetry_requirements`, and `pipenv_requirements` target generators with the `tailor` goal.\n\n`python_requirements` targets are added for any file that matches the pattern `*requirements*.txt`. You will need to manually add `python_requirements` for different file names like `reqs.txt`.\n\n`poetry_requirements` targets are added for `pyproject.toml` files with `[tool.poetry` in them.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--python-tailor-requirements-targets", + "--no-python-tailor-requirements-targets" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-requirements-targets", + "--no-tailor-requirements-targets" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": true } ] } }, - "PANTS_SEMGREP_REQUIREMENTS": { + "PANTS_PYTHON_TAILOR_SOURCE_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--semgrep-requirements=\"['', '', ...]\""], - "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.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-requirements"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_SEMGREP_SKIP": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]semgrep-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--[no-]python-tailor-source-targets", + "config_key": "tailor_source_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]semgrep-skip"], - "env_var": "PANTS_SEMGREP_SKIP", + "display_args": [ + "--[no-]python-tailor-source-targets" + ], + "env_var": "PANTS_PYTHON_TAILOR_SOURCE_TARGETS", "fromfile": false, - "help": "If true, don't use Semgrep when running `pants lint`.", + "help": "If true, add `python_sources`, `python_tests`, and `python_test_utils` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-skip", "--no-semgrep-skip"], + "scoped_cmd_line_args": [ + "--python-tailor-source-targets", + "--no-python-tailor-source-targets" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--tailor-source-targets", + "--no-tailor-source-targets" + ], "value_history": { "ranked_values": [ { @@ -21064,29 +24135,37 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } }, - "PANTS_SESSION_END_TASKS_TIMEOUT": { + "PANTS_PYTHON_THRIFT_INFER_RUNTIME_DEPENDENCY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--session-end-tasks-timeout=", - "config_key": "session_end_tasks_timeout", - "default": 3.0, + "comma_separated_display_args": "--[no-]python-thrift-infer-runtime-dependency", + "config_key": "infer_runtime_dependency", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--session-end-tasks-timeout="], - "env_var": "PANTS_SESSION_END_TASKS_TIMEOUT", + "display_args": [ + "--[no-]python-thrift-infer-runtime-dependency" + ], + "env_var": "PANTS_PYTHON_THRIFT_INFER_RUNTIME_DEPENDENCY", "fromfile": false, - "help": "The time in seconds to wait for still-running \"session end\" tasks to complete before finishing completion of a Pants invocation. \"Session end\" tasks include, for example, writing data that was generated during the applicable Pants invocation to a configured remote cache.", + "help": "If True, will add a dependency on a `python_requirement` target exposing the `thrift` module (usually from the `thrift` requirement).\n\nIf `[python].enable_resolves` is set, Pants will only infer dependencies on `python_requirement` targets that use the same resolve as the particular `thrift_source` / `thrift_source` target uses, which is set via its `python_resolve` field.\n\nUnless this option is disabled, Pants will error if no relevant target is found or more than one is found which causes ambiguity.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--session-end-tasks-timeout"], + "scoped_cmd_line_args": [ + "--python-thrift-infer-runtime-dependency", + "--no-python-thrift-infer-runtime-dependency" + ], "target_field_name": null, - "typ": "float", - "unscoped_cmd_line_args": ["--session-end-tasks-timeout"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--infer-runtime-dependency", + "--no-infer-runtime-dependency" + ], "value_history": { "ranked_values": [ { @@ -21097,57 +24176,74 @@ { "details": null, "rank": "HARDCODED", - "value": 3.0 + "value": true } ] } }, - "PANTS_SETUPTOOLS_INSTALL_FROM_RESOLVE": { + "PANTS_PYTHON_THRIFT_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--python-thrift-options=\"['', '', ...]\"", + "config_key": "options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-install-from-resolve="], - "env_var": "PANTS_SETUPTOOLS_INSTALL_FROM_RESOLVE", + "display_args": [ + "--python-thrift-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_THRIFT_OPTIONS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Code generation options specific to the Python code generator to pass to the Apache `thift` binary via the `-gen py` argument. See `thrift -help` for supported values.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-install-from-resolve"], + "scoped_cmd_line_args": [ + "--python-thrift-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_SETUPTOOLS_REQUIREMENTS": { + "PANTS_PYTYPE_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--pytype-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-requirements=\"['', '', ...]\""], - "env_var": "PANTS_SETUPTOOLS_REQUIREMENTS", + "display_args": [ + "--pytype-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTYPE_ARGS", "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": "Arguments to pass directly to Pytype, e.g. `--pytype-args='--version'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-requirements"], + "scoped_cmd_line_args": [ + "--pytype-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -21163,24 +24259,30 @@ ] } }, - "PANTS_SETUPTOOLS_SCM_CONSOLE_SCRIPT": { + "PANTS_PYTYPE_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-console-script=", - "config_key": "console_script", + "comma_separated_display_args": "--pytype-config=", + "config_key": "config", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-scm-console-script="], - "env_var": "PANTS_SETUPTOOLS_SCM_CONSOLE_SCRIPT", + "display_args": [ + "--pytype-config=" + ], + "env_var": "PANTS_PYTYPE_CONFIG", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Path to an toml config file understood by Pytype (https://github.com/google/pytype#config-file).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-scm-console-script"], + "scoped_cmd_line_args": [ + "--pytype-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -21191,24 +24293,30 @@ ] } }, - "PANTS_SETUPTOOLS_SCM_ENTRY_POINT": { + "PANTS_PYTYPE_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-entry-point=", - "config_key": "entry_point", - "default": "setuptools_scm", + "comma_separated_display_args": "--pytype-console-script=", + "config_key": "console_script", + "default": "pytype", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-scm-entry-point="], - "env_var": "PANTS_SETUPTOOLS_SCM_ENTRY_POINT", + "display_args": [ + "--pytype-console-script=" + ], + "env_var": "PANTS_PYTYPE_CONSOLE_SCRIPT", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-scm-entry-point"], + "scoped_cmd_line_args": [ + "--pytype-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -21219,29 +24327,35 @@ { "details": null, "rank": "HARDCODED", - "value": "setuptools_scm" + "value": "pytype" } ] } }, - "PANTS_SETUPTOOLS_SCM_INSTALL_FROM_RESOLVE": { + "PANTS_PYTYPE_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-install-from-resolve=", - "config_key": "install_from_resolve", + "comma_separated_display_args": "--pytype-entry-point=", + "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-scm-install-from-resolve="], - "env_var": "PANTS_SETUPTOOLS_SCM_INSTALL_FROM_RESOLVE", + "display_args": [ + "--pytype-entry-point=" + ], + "env_var": "PANTS_PYTYPE_ENTRY_POINT", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-scm-install-from-resolve"], + "scoped_cmd_line_args": [ + "--pytype-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -21252,61 +24366,66 @@ ] } }, - "PANTS_SETUPTOOLS_SCM_INTERPRETER_CONSTRAINTS": { + "PANTS_PYTYPE_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--pytype-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"" + "--pytype-install-from-resolve=" ], - "env_var": "PANTS_SETUPTOOLS_SCM_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYTYPE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--setuptools-scm-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--pytype-install-from-resolve" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": null } ] } }, - "PANTS_SETUPTOOLS_SCM_REQUIREMENTS": { + "PANTS_PYTYPE_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--pytype-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<3.10" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--setuptools-scm-requirements=\"['', '', ...]\"" + "--pytype-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_SETUPTOOLS_SCM_REQUIREMENTS", + "env_var": "PANTS_PYTYPE_INTERPRETER_CONSTRAINTS", "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": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-scm-requirements"], + "scoped_cmd_line_args": [ + "--pytype-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -21317,71 +24436,77 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<3.10" + ] } ] } }, - "PANTS_SETUP_PY_GENERATION_FIRST_PARTY_DEPENDENCY_VERSION_SCHEME": { - "choices": ["exact", "compatible", "any"], - "comma_separated_choices": "exact, compatible, any", - "comma_separated_display_args": "--setup-py-generation-first-party-dependency-version-scheme=", - "config_key": "first_party_dependency_version_scheme", - "default": "exact", + "PANTS_PYTYPE_REQUIREMENTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pytype-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--setup-py-generation-first-party-dependency-version-scheme=" + "--pytype-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_SETUP_PY_GENERATION_FIRST_PARTY_DEPENDENCY_VERSION_SCHEME", + "env_var": "PANTS_PYTYPE_REQUIREMENTS", "fromfile": false, - "help": "What version to set in `install_requires` when a `python_distribution` depends on other `python_distribution`s. If `exact`, will use `==`. If `compatible`, will use `~=`. If `any`, will leave off the version. See https://www.python.org/dev/peps/pep-0440/#version-specifiers.", + "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.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--setup-py-generation-first-party-dependency-version-scheme" + "--pytype-requirements" ], "target_field_name": null, - "typ": "FirstPartyDependencyVersionScheme", - "unscoped_cmd_line_args": ["--first-party-dependency-version-scheme"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "exact" + "value": [] } ] } }, - "PANTS_SETUP_PY_GENERATION_GENERATE_SETUP_DEFAULT": { + "PANTS_PYTYPE_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]setup-py-generation-generate-setup-default", - "config_key": "generate_setup_default", - "default": true, + "comma_separated_display_args": "--[no-]pytype-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]setup-py-generation-generate-setup-default"], - "env_var": "PANTS_SETUP_PY_GENERATION_GENERATE_SETUP_DEFAULT", + "display_args": [ + "--[no-]pytype-skip" + ], + "env_var": "PANTS_PYTYPE_SKIP", "fromfile": false, - "help": "The default value for the `generate_setup` field on `python_distribution` targets. Can be overridden per-target by setting that field explicitly. Set this to False if you mostly rely on handwritten setup files (`setup.py`, `setup.cfg` and similar). Leave as True if you mostly rely on Pants generating setup files for you.", + "help": "If true, don't use Pytype when running `pants check`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--setup-py-generation-generate-setup-default", - "--no-setup-py-generation-generate-setup-default" + "--pytype-skip", + "--no-pytype-skip" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--generate-setup-default", - "--no-generate-setup-default" + "--skip", + "--no-skip" ], "value_history": { "ranked_values": [ @@ -21393,29 +24518,35 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_SHELLCHECK_ARGS": { + "PANTS_PYUPGRADE_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-args=\"[, , ...]\"", + "comma_separated_display_args": "--pyupgrade-args=\"[, , ...]\"", "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shellcheck-args=\"[, , ...]\""], - "env_var": "PANTS_SHELLCHECK_ARGS", + "display_args": [ + "--pyupgrade-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PYUPGRADE_ARGS", "fromfile": false, - "help": "Arguments to pass directly to Shellcheck, e.g. `--shellcheck-args='-e SC20529'`.", + "help": "Arguments to pass directly to pyupgrade, e.g. `--pyupgrade-args='--py39-plus --keep-runtime-typing'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-args"], + "scoped_cmd_line_args": [ + "--pyupgrade-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -21431,27 +24562,30 @@ ] } }, - "PANTS_SHELLCHECK_CONFIG_DISCOVERY": { + "PANTS_PYUPGRADE_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shellcheck-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--pyupgrade-console-script=", + "config_key": "console_script", + "default": "pyupgrade", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shellcheck-config-discovery"], - "env_var": "PANTS_SHELLCHECK_CONFIG_DISCOVERY", + "display_args": [ + "--pyupgrade-console-script=" + ], + "env_var": "PANTS_PYUPGRADE_CONSOLE_SCRIPT", "fromfile": false, - "help": "If true, Pants will include all relevant `.shellcheckrc` and `shellcheckrc` files during runs. See https://www.mankier.com/1/shellcheck#RC_Files for where these can be located.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--shellcheck-config-discovery", - "--no-shellcheck-config-discovery" + "--pyupgrade-console-script" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -21462,187 +24596,187 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "pyupgrade" } ] } }, - "PANTS_SHELLCHECK_KNOWN_VERSIONS": { + "PANTS_PYUPGRADE_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "v0.8.0|macos_arm64 |36dffd536b801c8bab2e9fa468163037e0c7f7e0a05298e5ad6299b4dde67e31|14525367", - "v0.8.0|macos_x86_64|4e93a76ee116b2f08c88e25011830280ad0d61615d8346364a4ea564b29be3f0|6310442", - "v0.8.0|linux_arm64 |8f4810485425636eadce2ec23441fd29d5b1b58d239ffda0a5faf8dd499026f5|4884430", - "v0.8.0|linux_x86_64|01d181787ffe63ebb0a2293f63bdc8455c5c30d3a6636320664bfa278424638f|2082242" - ], + "comma_separated_display_args": "--pyupgrade-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shellcheck-known-versions=\"['', '', ...]\"" + "--pyupgrade-entry-point=" ], - "env_var": "PANTS_SHELLCHECK_KNOWN_VERSIONS", + "env_var": "PANTS_PYUPGRADE_ENTRY_POINT", "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", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-known-versions"], + "scoped_cmd_line_args": [ + "--pyupgrade-entry-point" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [ - "v0.8.0|macos_arm64 |36dffd536b801c8bab2e9fa468163037e0c7f7e0a05298e5ad6299b4dde67e31|14525367", - "v0.8.0|macos_x86_64|4e93a76ee116b2f08c88e25011830280ad0d61615d8346364a4ea564b29be3f0|6310442", - "v0.8.0|linux_arm64 |8f4810485425636eadce2ec23441fd29d5b1b58d239ffda0a5faf8dd499026f5|4884430", - "v0.8.0|linux_x86_64|01d181787ffe63ebb0a2293f63bdc8455c5c30d3a6636320664bfa278424638f|2082242" - ] + "value": null } ] } }, - "PANTS_SHELLCHECK_SKIP": { + "PANTS_PYUPGRADE_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shellcheck-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--pyupgrade-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shellcheck-skip"], - "env_var": "PANTS_SHELLCHECK_SKIP", + "display_args": [ + "--pyupgrade-install-from-resolve=" + ], + "env_var": "PANTS_PYUPGRADE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If true, don't use Shellcheck when running `pants lint`.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--shellcheck-skip", "--no-shellcheck-skip"], + "scoped_cmd_line_args": [ + "--pyupgrade-install-from-resolve" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, - "PANTS_SHELLCHECK_URL_PLATFORM_MAPPING": { + "PANTS_PYUPGRADE_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux.aarch64", - "linux_x86_64": "linux.x86_64", - "macos_arm64": "darwin.aarch64", - "macos_x86_64": "darwin.x86_64" - }, + "comma_separated_display_args": "--pyupgrade-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shellcheck-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--pyupgrade-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_SHELLCHECK_URL_PLATFORM_MAPPING", + "env_var": "PANTS_PYUPGRADE_INTERPRETER_CONSTRAINTS", "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`.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--pyupgrade-interpreter-constraints" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "linux_arm64": "linux.aarch64", - "linux_x86_64": "linux.x86_64", - "macos_arm64": "darwin.aarch64", - "macos_x86_64": "darwin.x86_64" - } + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_SHELLCHECK_URL_TEMPLATE": { + "PANTS_PYUPGRADE_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-url-template=", - "config_key": "url_template", - "default": "https://github.com/vscode-shellcheck/shellcheck-binaries/releases/download/{version}/shellcheck-{version}.{platform}.tar.gz", + "comma_separated_display_args": "--pyupgrade-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shellcheck-url-template="], - "env_var": "PANTS_SHELLCHECK_URL_TEMPLATE", + "display_args": [ + "--pyupgrade-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYUPGRADE_REQUIREMENTS", "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/v2.19/docs/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": "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-url-template"], + "scoped_cmd_line_args": [ + "--pyupgrade-requirements" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "https://github.com/vscode-shellcheck/shellcheck-binaries/releases/download/{version}/shellcheck-{version}.{platform}.tar.gz" + "value": [] } ] } }, - "PANTS_SHELLCHECK_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--shellcheck-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_PYUPGRADE_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]pyupgrade-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shellcheck-use-unsupported-version=" + "--[no-]pyupgrade-skip" ], - "env_var": "PANTS_SHELLCHECK_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_PYUPGRADE_SKIP", "fromfile": false, - "help": "\nWhat action to take in case the requested version of Shellcheck is not supported.\n\nSupported Shellcheck versions: unspecified\n", + "help": "If true, don't use pyupgrade when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--pyupgrade-skip", + "--no-pyupgrade-skip" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -21653,67 +24787,70 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": false } ] } }, - "PANTS_SHELLCHECK_VERSION": { + "PANTS_PY_CONSTRAINTS_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-version=", - "config_key": "version", - "default": "v0.8.0", + "comma_separated_display_args": "--py-constraints-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shellcheck-version="], - "env_var": "PANTS_SHELLCHECK_VERSION", + "display_args": [ + "--py-constraints-output-file=" + ], + "env_var": "PANTS_PY_CONSTRAINTS_OUTPUT_FILE", "fromfile": false, - "help": "Use this version of Shellcheck.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-version"], + "scoped_cmd_line_args": [ + "--py-constraints-output-file" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "v0.8.0" } ] } }, - "PANTS_SHELL_SETUP_DEPENDENCY_INFERENCE": { + "PANTS_PY_CONSTRAINTS_SUMMARY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shell-setup-dependency-inference", - "config_key": "dependency_inference", - "default": true, + "comma_separated_display_args": "--[no-]py-constraints-summary", + "config_key": "summary", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shell-setup-dependency-inference"], - "env_var": "PANTS_SHELL_SETUP_DEPENDENCY_INFERENCE", + "display_args": [ + "--[no-]py-constraints-summary" + ], + "env_var": "PANTS_PY_CONSTRAINTS_SUMMARY", "fromfile": false, - "help": "Infer Shell dependencies on other Shell files by analyzing `source` statements.", + "help": "Output a CSV summary of interpreter constraints for your whole repository. The headers are `Target`, `Constraints`, `Transitive Constraints`, `# Dependencies`, and `# Dependents`.\n\nThis information can be useful when prioritizing a migration from one Python version to another (e.g. to Python 3). Use `# Dependencies` and `# Dependents` to help prioritize which targets are easiest to port (low # dependencies) and highest impact to port (high # dependents).\n\nUse a tool like Pandas or Excel to process the CSV. Use the option `--py-constraints-output-file=summary.csv` to write directly to a file.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--shell-setup-dependency-inference", - "--no-shell-setup-dependency-inference" + "--py-constraints-summary", + "--no-py-constraints-summary" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--dependency-inference", - "--no-dependency-inference" + "--summary", + "--no-summary" ], "value_history": { "ranked_values": [ @@ -21725,67 +24862,80 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_SHELL_SETUP_EXECUTABLE_SEARCH_PATHS": { + "PANTS_REGEX_LINT_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shell-setup-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [""], + "comma_separated_display_args": "--regex-lint-config=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "config", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shell-setup-executable-search-paths=\"[, , ...]\"" + "--regex-lint-config=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_SHELL_SETUP_EXECUTABLE_SEARCH_PATHS", - "fromfile": false, - "help": "The PATH value that will be used to find shells and to run certain processes like the shunit2 test runner. The special string `\"\"` will expand to the contents of the PATH env var.", + "env_var": "PANTS_REGEX_LINT_CONFIG", + "fromfile": true, + "help": "Config schema is as follows:\n\n ```\n {\n 'required_matches': {\n 'path_pattern1': [content_pattern1, content_pattern2],\n 'path_pattern2': [content_pattern1, content_pattern3],\n ...\n },\n 'path_patterns': [\n {\n 'name': path_pattern1',\n 'pattern': ,\n 'inverted': True|False (defaults to False),\n 'content_encoding': (defaults to utf8)\n },\n ...\n ],\n 'content_patterns': [\n {\n 'name': 'content_pattern1',\n 'pattern': ,\n 'inverted': True|False (defaults to False)\n }\n ...\n ]\n }\n ```\n\nMeaning: if a file matches some path pattern, its content must match all the corresponding content patterns.\n\nIt's often helpful to load this config from a JSON or YAML file. To do that, set `[regex-lint].config = '@path/to/config.yaml'`, for example.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shell-setup-executable-search-paths"], - "target_field_name": "shell_setup_executable_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--executable-search-paths"], + "scoped_cmd_line_args": [ + "--regex-lint-config" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [""] + "value": {} } ] } }, - "PANTS_SHELL_SETUP_TAILOR": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shell-setup-tailor", - "config_key": "tailor", - "default": true, + "PANTS_REGEX_LINT_DETAIL_LEVEL": { + "choices": [ + "none", + "summary", + "nonmatching", + "names", + "all" + ], + "comma_separated_choices": "none, summary, nonmatching, names, all", + "comma_separated_display_args": "--regex-lint-detail-level=", + "config_key": "detail_level", + "default": "nonmatching", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shell-setup-tailor"], - "env_var": "PANTS_SHELL_SETUP_TAILOR", + "display_args": [ + "--regex-lint-detail-level=" + ], + "env_var": "PANTS_REGEX_LINT_DETAIL_LEVEL", "fromfile": false, - "help": "If true, add `shell_sources` and `shunit2_tests` targets with the `tailor` goal.", + "help": "How much detail to include in the result.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--shell-setup-tailor", - "--no-shell-setup-tailor" + "--regex-lint-detail-level" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "typ": "DetailLevel", + "unscoped_cmd_line_args": [ + "--detail-level" + ], "value_history": { "ranked_values": [ { @@ -21796,29 +24946,37 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "nonmatching" } ] } }, - "PANTS_SHELL_TEST_SKIP": { + "PANTS_REGEX_LINT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shell-test-skip", + "comma_separated_display_args": "--[no-]regex-lint-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shell-test-skip"], - "env_var": "PANTS_SHELL_TEST_SKIP", + "display_args": [ + "--[no-]regex-lint-skip" + ], + "env_var": "PANTS_REGEX_LINT_SKIP", "fromfile": false, - "help": "If true, don't use Test with shell scripts when running `pants test`.", + "help": "If true, don't use regex-lint when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shell-test-skip", "--no-shell-test-skip"], + "scoped_cmd_line_args": [ + "--regex-lint-skip", + "--no-regex-lint-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -21834,60 +24992,71 @@ ] } }, - "PANTS_SHFMT_ARGS": { + "PANTS_REMOTE_CACHE_READ": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]remote-cache-read", + "config_key": "remote_cache_read", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shfmt-args=\"[, , ...]\""], - "env_var": "PANTS_SHFMT_ARGS", + "display_args": [ + "--[no-]remote-cache-read" + ], + "env_var": "PANTS_REMOTE_CACHE_READ", "fromfile": false, - "help": "Arguments to pass directly to shfmt, e.g. `--shfmt-args='-i 2'`.", + "help": "Whether to enable reading from a remote cache.\n\nThis cannot be used at the same time as `[GLOBAL].remote_execution`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-args"], + "scoped_cmd_line_args": [ + "--remote-cache-read", + "--no-remote-cache-read" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--remote-cache-read", + "--no-remote-cache-read" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, - "PANTS_SHFMT_CONFIG_DISCOVERY": { + "PANTS_REMOTE_CACHE_RPC_CONCURRENCY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shfmt-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--remote-cache-rpc-concurrency=", + "config_key": "remote_cache_rpc_concurrency", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shfmt-config-discovery"], - "env_var": "PANTS_SHFMT_CONFIG_DISCOVERY", + "display_args": [ + "--remote-cache-rpc-concurrency=" + ], + "env_var": "PANTS_REMOTE_CACHE_RPC_CONCURRENCY", "fromfile": false, - "help": "If true, Pants will include all relevant `.editorconfig` files during runs. See https://editorconfig.org.", + "help": "The number of concurrent requests allowed to the remote cache service.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--shfmt-config-discovery", - "--no-shfmt-config-discovery" + "--remote-cache-rpc-concurrency" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-cache-rpc-concurrency" + ], "value_history": { "ranked_values": [ { @@ -21898,80 +25067,78 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": 128 } ] } }, - "PANTS_SHFMT_KNOWN_VERSIONS": { + "PANTS_REMOTE_CACHE_RPC_TIMEOUT_MILLIS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546", - "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208", - "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512", - "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568", - "v3.6.0|macos_arm64 |633f242246ee0a866c5f5df25cbf61b6af0d5e143555aca32950059cf13d91e0|3065202", - "v3.6.0|macos_x86_64|b8c9c025b498e2816b62f0b717f6032e9ab49e725a45b8205f52f66318f17185|3047552", - "v3.6.0|linux_arm64 |fb1cf0af3dbe9aac7d98e38e3c7426765208ecfe23cb2da51037bb234776fd70|2818048", - "v3.6.0|linux_x86_64|5741a02a641de7e56b8da170e71a97e58050d66a3cf485fb268d6a5a8bb74afb|2850816" - ], + "comma_separated_display_args": "--remote-cache-rpc-timeout-millis=", + "config_key": "remote_cache_rpc_timeout_millis", + "default": 1500, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shfmt-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_SHFMT_KNOWN_VERSIONS", + "display_args": [ + "--remote-cache-rpc-timeout-millis=" + ], + "env_var": "PANTS_REMOTE_CACHE_RPC_TIMEOUT_MILLIS", "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", + "help": "Timeout value for remote cache RPCs in milliseconds.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-known-versions"], + "scoped_cmd_line_args": [ + "--remote-cache-rpc-timeout-millis" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-cache-rpc-timeout-millis" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546", - "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208", - "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512", - "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568", - "v3.6.0|macos_arm64 |633f242246ee0a866c5f5df25cbf61b6af0d5e143555aca32950059cf13d91e0|3065202", - "v3.6.0|macos_x86_64|b8c9c025b498e2816b62f0b717f6032e9ab49e725a45b8205f52f66318f17185|3047552", - "v3.6.0|linux_arm64 |fb1cf0af3dbe9aac7d98e38e3c7426765208ecfe23cb2da51037bb234776fd70|2818048", - "v3.6.0|linux_x86_64|5741a02a641de7e56b8da170e71a97e58050d66a3cf485fb268d6a5a8bb74afb|2850816" - ] + "value": 1500 } ] } }, - "PANTS_SHFMT_SKIP": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shfmt-skip", - "config_key": "skip", - "default": false, + "PANTS_REMOTE_CACHE_WARNINGS": { + "choices": [ + "ignore", + "first_only", + "backoff" + ], + "comma_separated_choices": "ignore, first_only, backoff", + "comma_separated_display_args": "--remote-cache-warnings=", + "config_key": "remote_cache_warnings", + "default": "backoff", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shfmt-skip"], - "env_var": "PANTS_SHFMT_SKIP", + "display_args": [ + "--remote-cache-warnings=" + ], + "env_var": "PANTS_REMOTE_CACHE_WARNINGS", "fromfile": false, - "help": "If true, don't use shfmt when running `pants fmt` and `pants lint`.", + "help": "How frequently to log remote cache failures at the `warn` log level.\n\nAll errors not logged at the `warn` level will instead be logged at the `debug` level.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-skip", "--no-shfmt-skip"], + "scoped_cmd_line_args": [ + "--remote-cache-warnings" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "RemoteCacheWarningsBehavior", + "unscoped_cmd_line_args": [ + "--remote-cache-warnings" + ], "value_history": { "ranked_values": [ { @@ -21982,175 +25149,180 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "backoff" } ] } }, - "PANTS_SHFMT_URL_PLATFORM_MAPPING": { + "PANTS_REMOTE_CACHE_WRITE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux_arm64", - "linux_x86_64": "linux_amd64", - "macos_arm64": "darwin_arm64", - "macos_x86_64": "darwin_amd64" - }, + "comma_separated_display_args": "--[no-]remote-cache-write", + "config_key": "remote_cache_write", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shfmt-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]remote-cache-write" ], - "env_var": "PANTS_SHFMT_URL_PLATFORM_MAPPING", + "env_var": "PANTS_REMOTE_CACHE_WRITE", "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`.", + "help": "Whether to enable writing results to a remote cache.\n\nThis cannot be used at the same time as `[GLOBAL].remote_execution`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--remote-cache-write", + "--no-remote-cache-write" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--remote-cache-write", + "--no-remote-cache-write" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "linux_arm64": "linux_arm64", - "linux_x86_64": "linux_amd64", - "macos_arm64": "darwin_arm64", - "macos_x86_64": "darwin_amd64" - } + "value": false } ] } }, - "PANTS_SHFMT_URL_TEMPLATE": { + "PANTS_REMOTE_CA_CERTS_PATH": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-url-template=", - "config_key": "url_template", - "default": "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}", + "comma_separated_display_args": "--remote-ca-certs-path=", + "config_key": "remote_ca_certs_path", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shfmt-url-template="], - "env_var": "PANTS_SHFMT_URL_TEMPLATE", + "display_args": [ + "--remote-ca-certs-path=" + ], + "env_var": "PANTS_REMOTE_CA_CERTS_PATH", "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/v2.19/docs/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": "Path to a PEM file containing CA certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`.\n\nIf unspecified, Pants will attempt to auto-discover root CA certificates when TLS is enabled with remote execution and caching.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-url-template"], + "scoped_cmd_line_args": [ + "--remote-ca-certs-path" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--remote-ca-certs-path" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}" } ] } }, - "PANTS_SHFMT_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--shfmt-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_REMOTE_CLIENT_CERTS_PATH": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-client-certs-path=", + "config_key": "remote_client_certs_path", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shfmt-use-unsupported-version=" + "--remote-client-certs-path=" ], - "env_var": "PANTS_SHFMT_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_REMOTE_CLIENT_CERTS_PATH", "fromfile": false, - "help": "\nWhat action to take in case the requested version of shfmt is not supported.\n\nSupported shfmt versions: unspecified\n", + "help": "Path to a PEM file containing client certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address` when using client authentication (mTLS).\n\nIf unspecified, will use regular TLS. Requires `remote_client_key_path` to also be specified.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--remote-client-certs-path" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-client-certs-path" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "error" } ] } }, - "PANTS_SHFMT_VERSION": { + "PANTS_REMOTE_CLIENT_KEY_PATH": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-version=", - "config_key": "version", - "default": "v3.6.0", + "comma_separated_display_args": "--remote-client-key-path=", + "config_key": "remote_client_key_path", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shfmt-version="], - "env_var": "PANTS_SHFMT_VERSION", + "display_args": [ + "--remote-client-key-path=" + ], + "env_var": "PANTS_REMOTE_CLIENT_KEY_PATH", "fromfile": false, - "help": "Use this version of shfmt.", + "help": "Path to a PEM file containing a private key used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address` when using client authentication (mTLS).\n\nIf unspecified, will use regular TLS. Requires `remote_client_certs_path` to also be specified.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-version"], + "scoped_cmd_line_args": [ + "--remote-client-key-path" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--remote-client-key-path" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "v3.6.0" } ] } }, - "PANTS_SHOW_LOG_TARGET": { + "PANTS_REMOTE_EXECUTION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]show-log-target", - "config_key": "show_log_target", + "comma_separated_display_args": "--[no-]remote-execution", + "config_key": "remote_execution", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]show-log-target"], - "env_var": "PANTS_SHOW_LOG_TARGET", + "display_args": [ + "--[no-]remote-execution" + ], + "env_var": "PANTS_REMOTE_EXECUTION", "fromfile": false, - "help": "Display the target where a log message originates in that log message's output. This can be helpful when paired with `--log-levels-by-target`.", + "help": "Enables remote workers for increased parallelism. (Alpha)\n\nAlternatively, you can use `[GLOBAL].remote_cache_read` and `[GLOBAL].remote_cache_write` to still run everything locally, but to use a remote cache.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--show-log-target", "--no-show-log-target"], + "scoped_cmd_line_args": [ + "--remote-execution", + "--no-remote-execution" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--show-log-target", "--no-show-log-target"], + "unscoped_cmd_line_args": [ + "--remote-execution", + "--no-remote-execution" + ], "value_history": { "ranked_values": [ { @@ -22166,165 +25338,178 @@ ] } }, - "PANTS_SHUNIT2_KNOWN_VERSIONS": { + "PANTS_REMOTE_EXECUTION_ADDRESS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shunit2-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "b9102bb763cc603b3115ed30a5648bf950548097|macos_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|macos_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|linux_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|linux_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987" - ], + "comma_separated_display_args": "--remote-execution-address=", + "config_key": "remote_execution_address", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shunit2-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_SHUNIT2_KNOWN_VERSIONS", + "display_args": [ + "--remote-execution-address=" + ], + "env_var": "PANTS_REMOTE_EXECUTION_ADDRESS", "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", + "help": "The URI of a server used as a remote execution scheduler.\n\nFormat: `scheme://host:port`. The supported schemes are `grpc` and `grpcs`, i.e. gRPC with TLS enabled. If `grpc` is used, TLS will be disabled.\n\nYou must also set `[GLOBAL].remote_store_address`, which will often be the same value.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-known-versions"], + "scoped_cmd_line_args": [ + "--remote-execution-address" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-execution-address" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [ - "b9102bb763cc603b3115ed30a5648bf950548097|macos_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|macos_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|linux_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|linux_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987" - ] + "value": null } ] } }, - "PANTS_SHUNIT2_SKIP": { + "PANTS_REMOTE_EXECUTION_APPEND_ONLY_CACHES_BASE_PATH": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shunit2-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--remote-execution-append-only-caches-base-path=", + "config_key": "remote_execution_append_only_caches_base_path", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shunit2-skip"], - "env_var": "PANTS_SHUNIT2_SKIP", + "display_args": [ + "--remote-execution-append-only-caches-base-path=" + ], + "env_var": "PANTS_REMOTE_EXECUTION_APPEND_ONLY_CACHES_BASE_PATH", "fromfile": false, - "help": "If true, don't use shunit2 when running `pants test`.", + "help": "Sets the base path to use when setting up an append-only cache for a process running remotely. If this option is not set, then append-only caches will not be used with remote execution. The option should be set to the absolute path of a writable directory in the remote execution environment where Pants can create append-only caches for use with remotely executing processes.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-skip", "--no-shunit2-skip"], + "scoped_cmd_line_args": [ + "--remote-execution-append-only-caches-base-path" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-execution-append-only-caches-base-path" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, - "PANTS_SHUNIT2_URL_PLATFORM_MAPPING": { + "PANTS_REMOTE_EXECUTION_EXTRA_PLATFORM_PROPERTIES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shunit2-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": {}, + "comma_separated_display_args": "--remote-execution-extra-platform-properties=\"['', '', ...]\"", + "config_key": "remote_execution_extra_platform_properties", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shunit2-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--remote-execution-extra-platform-properties=\"['', '', ...]\"" ], - "env_var": "PANTS_SHUNIT2_URL_PLATFORM_MAPPING", + "env_var": "PANTS_REMOTE_EXECUTION_EXTRA_PLATFORM_PROPERTIES", "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`.", + "help": "Platform properties to set on remote execution requests.\n\nFormat: `property=value`. Multiple values should be specified as multiple occurrences of this flag.\n\nPants itself may add additional platform properties.\n\nIf you are using the `remote_environment` target mechanism, set this value as a field on the target instead. This option will be ignored.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--remote-execution-extra-platform-properties" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--remote-execution-extra-platform-properties" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_SHUNIT2_URL_TEMPLATE": { + "PANTS_REMOTE_EXECUTION_HEADERS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shunit2-url-template=", - "config_key": "url_template", - "default": "https://raw.githubusercontent.com/kward/shunit2/{version}/shunit2", + "comma_separated_display_args": "--remote-execution-headers=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "remote_execution_headers", + "default": "{'user-agent': 'pants/'}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shunit2-url-template="], - "env_var": "PANTS_SHUNIT2_URL_TEMPLATE", + "display_args": [ + "--remote-execution-headers=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_REMOTE_EXECUTION_HEADERS", "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/v2.19/docs/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": "Headers to set on remote execution requests. Format: header=value. Pants may add additional headers.\n\nSee `[GLOBAL].remote_store_headers` as well.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-url-template"], + "scoped_cmd_line_args": [ + "--remote-execution-headers" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--remote-execution-headers" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "https://raw.githubusercontent.com/kward/shunit2/{version}/shunit2" + "value": { + "user-agent": "pants/2.19.0rc5" + } } ] } }, - "PANTS_SHUNIT2_USE_UNSUPPORTED_VERSION": { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--shunit2-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "PANTS_REMOTE_EXECUTION_OVERALL_DEADLINE_SECS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-execution-overall-deadline-secs=", + "config_key": "remote_execution_overall_deadline_secs", + "default": 3600, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shunit2-use-unsupported-version=" + "--remote-execution-overall-deadline-secs=" ], - "env_var": "PANTS_SHUNIT2_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_REMOTE_EXECUTION_OVERALL_DEADLINE_SECS", "fromfile": false, - "help": "\nWhat action to take in case the requested version of shunit2 is not supported.\n\nSupported shunit2 versions: unspecified\n", + "help": "Overall timeout in seconds for each remote execution request from time of submission", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--remote-execution-overall-deadline-secs" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-execution-overall-deadline-secs" + ], "value_history": { "ranked_values": [ { @@ -22335,29 +25520,35 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": 3600 } ] } }, - "PANTS_SHUNIT2_VERSION": { + "PANTS_REMOTE_EXECUTION_RPC_CONCURRENCY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shunit2-version=", - "config_key": "version", - "default": "b9102bb763cc603b3115ed30a5648bf950548097", + "comma_separated_display_args": "--remote-execution-rpc-concurrency=", + "config_key": "remote_execution_rpc_concurrency", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shunit2-version="], - "env_var": "PANTS_SHUNIT2_VERSION", + "display_args": [ + "--remote-execution-rpc-concurrency=" + ], + "env_var": "PANTS_REMOTE_EXECUTION_RPC_CONCURRENCY", "fromfile": false, - "help": "Use this version of shunit2.", + "help": "The number of concurrent requests allowed to the remote execution service.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-version"], + "scoped_cmd_line_args": [ + "--remote-execution-rpc-concurrency" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-execution-rpc-concurrency" + ], "value_history": { "ranked_values": [ { @@ -22368,180 +25559,176 @@ { "details": null, "rank": "HARDCODED", - "value": "b9102bb763cc603b3115ed30a5648bf950548097" + "value": 128 } ] } }, - "PANTS_SOURCE_MARKER_FILENAMES": { + "PANTS_REMOTE_INSTANCE_NAME": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--source-marker-filenames=\"[filename, filename, ...]\"", - "config_key": "marker_filenames", - "default": [], + "comma_separated_display_args": "--remote-instance-name=", + "config_key": "remote_instance_name", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--source-marker-filenames=\"[filename, filename, ...]\"" + "--remote-instance-name=" ], - "env_var": "PANTS_SOURCE_MARKER_FILENAMES", + "env_var": "PANTS_REMOTE_INSTANCE_NAME", "fromfile": false, - "help": "The presence of a file of this name in a directory indicates that the directory is a source root. The content of the file doesn't matter, and may be empty. Useful when you can't or don't wish to centrally enumerate source roots via `root_patterns`.", + "help": "Name of the remote instance to use by remote caching and remote execution.\n\nThis is used by some remote servers for routing. Consult your remote server for whether this should be set.\n\nYou can also use a Pants plugin which provides remote authentication to dynamically set this value.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--source-marker-filenames"], + "scoped_cmd_line_args": [ + "--remote-instance-name" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--marker-filenames"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-instance-name" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, - "PANTS_SOURCE_ROOT_PATTERNS": { + "PANTS_REMOTE_OAUTH_BEARER_TOKEN_PATH": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--source-root-patterns=\"[[\"pattern1\", \"pattern2\", ...], [\"pattern1\", \"pattern2\", ...], ...]\"", - "config_key": "root_patterns", - "default": [ - "/", - "src", - "src/python", - "src/py", - "src/thrift", - "src/protobuf", - "src/protos", - "src/scala", - "src/java" - ], + "comma_separated_display_args": "--remote-oauth-bearer-token-path=", + "config_key": "remote_oauth_bearer_token_path", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--source-root-patterns=\"[[\"pattern1\", \"pattern2\", ...], [\"pattern1\", \"pattern2\", ...], ...]\"" + "--remote-oauth-bearer-token-path=" ], - "env_var": "PANTS_SOURCE_ROOT_PATTERNS", + "env_var": "PANTS_REMOTE_OAUTH_BEARER_TOKEN_PATH", "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/v2.19/docs/source-roots.", + "help": "Path to a file containing 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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--source-root-patterns"], + "scoped_cmd_line_args": [ + "--remote-oauth-bearer-token-path" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--root-patterns"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-oauth-bearer-token-path" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [ - "/", - "src", - "src/python", - "src/py", - "src/thrift", - "src/protobuf", - "src/protos", - "src/scala", - "src/java" - ] + "value": null } ] } }, - "PANTS_SPECTRAL_ARGS": { + "PANTS_REMOTE_STORE_ADDRESS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--spectral-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--remote-store-address=", + "config_key": "remote_store_address", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--spectral-args=\"[, , ...]\""], - "env_var": "PANTS_SPECTRAL_ARGS", + "display_args": [ + "--remote-store-address=" + ], + "env_var": "PANTS_REMOTE_STORE_ADDRESS", "fromfile": false, - "help": "Arguments to pass directly to Spectral, e.g. `--spectral-args='--fail-severity=warn'`.", + "help": "The URI of a server used for the remote file store.\n\nFormat: `scheme://host:port`. The supported schemes are `grpc` and `grpcs`, i.e. gRPC with TLS enabled. If `grpc` is used, TLS will be disabled.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--spectral-args"], + "scoped_cmd_line_args": [ + "--remote-store-address" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-store-address" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, - "PANTS_SPECTRAL_INSTALL_FROM_RESOLVE": { + "PANTS_REMOTE_STORE_BATCH_API_SIZE_LIMIT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--spectral-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--remote-store-batch-api-size-limit=", + "config_key": "remote_store_batch_api_size_limit", + "default": 4194304, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--spectral-install-from-resolve="], - "env_var": "PANTS_SPECTRAL_INSTALL_FROM_RESOLVE", + "display_args": [ + "--remote-store-batch-api-size-limit=" + ], + "env_var": "PANTS_REMOTE_STORE_BATCH_API_SIZE_LIMIT", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", + "help": "The maximum total size of blobs allowed to be sent in a single batch API call to the remote store.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--spectral-install-from-resolve"], + "scoped_cmd_line_args": [ + "--remote-store-batch-api-size-limit" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-batch-api-size-limit" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 4194304 } ] } }, - "PANTS_SPECTRAL_SKIP": { + "PANTS_REMOTE_STORE_CHUNK_BYTES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]spectral-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--remote-store-chunk-bytes=", + "config_key": "remote_store_chunk_bytes", + "default": 1048576, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]spectral-skip"], - "env_var": "PANTS_SPECTRAL_SKIP", + "display_args": [ + "--remote-store-chunk-bytes=" + ], + "env_var": "PANTS_REMOTE_STORE_CHUNK_BYTES", "fromfile": false, - "help": "If true, don't use Spectral when running `pants lint`.", + "help": "Size in bytes of chunks transferred to/from the remote file store.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--spectral-skip", "--no-spectral-skip"], + "scoped_cmd_line_args": [ + "--remote-store-chunk-bytes" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-chunk-bytes" + ], "value_history": { "ranked_values": [ { @@ -22552,95 +25739,115 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": 1048576 } ] } }, - "PANTS_SPECTRAL_VERSION": { + "PANTS_REMOTE_STORE_HEADERS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--spectral-version=", - "config_key": "version", - "default": "@stoplight/spectral-cli@6.5.1", + "comma_separated_display_args": "--remote-store-headers=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "remote_store_headers", + "default": "{'user-agent': 'pants/'}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--spectral-version="], - "env_var": "PANTS_SPECTRAL_VERSION", + "display_args": [ + "--remote-store-headers=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_REMOTE_STORE_HEADERS", "fromfile": false, - "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", + "help": "Headers to set on remote store requests.\n\nFormat: header=value. Pants may add additional headers.\n\nSee `[GLOBAL].remote_execution_headers` as well.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--spectral-version"], + "scoped_cmd_line_args": [ + "--remote-store-headers" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--remote-store-headers" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "@stoplight/spectral-cli@6.5.1" + "value": { + "user-agent": "pants/2.19.0rc5" + } } ] } }, - "PANTS_SPEC_FILES": { + "PANTS_REMOTE_STORE_RPC_CONCURRENCY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--spec-files=\"['', '', ...]\"", - "config_key": "spec_files", - "default": [], + "comma_separated_display_args": "--remote-store-rpc-concurrency=", + "config_key": "remote_store_rpc_concurrency", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--spec-files=\"['', '', ...]\""], - "env_var": "PANTS_SPEC_FILES", + "display_args": [ + "--remote-store-rpc-concurrency=" + ], + "env_var": "PANTS_REMOTE_STORE_RPC_CONCURRENCY", "fromfile": false, - "help": "Read additional specs (target addresses, files, and/or globs), one per line, from these files.", + "help": "The number of concurrent requests allowed to the remote store service.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--spec-files"], + "scoped_cmd_line_args": [ + "--remote-store-rpc-concurrency" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--spec-files"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-rpc-concurrency" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": 128 } ] } }, - "PANTS_STATS_LOG": { + "PANTS_REMOTE_STORE_RPC_RETRIES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]stats-log", - "config_key": "log", - "default": false, + "comma_separated_display_args": "--remote-store-rpc-retries=", + "config_key": "remote_store_rpc_retries", + "default": 2, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]stats-log"], - "env_var": "PANTS_STATS_LOG", + "display_args": [ + "--remote-store-rpc-retries=" + ], + "env_var": "PANTS_REMOTE_STORE_RPC_RETRIES", "fromfile": false, - "help": "At the end of the Pants run, log all counter metrics and summaries of observation histograms, e.g. the number of cache hits and the time saved by caching.\n\nFor histogram summaries to work, you must add `hdrhistogram` to `[GLOBAL].plugins`.", + "help": "Number of times to retry any RPC to the remote store before giving up.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--stats-log", "--no-stats-log"], + "scoped_cmd_line_args": [ + "--remote-store-rpc-retries" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--log", "--no-log"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-rpc-retries" + ], "value_history": { "ranked_values": [ { @@ -22651,32 +25858,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": 2 } ] } }, - "PANTS_STATS_MEMORY_SUMMARY": { + "PANTS_REMOTE_STORE_RPC_TIMEOUT_MILLIS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]stats-memory-summary", - "config_key": "memory_summary", - "default": false, + "comma_separated_display_args": "--remote-store-rpc-timeout-millis=", + "config_key": "remote_store_rpc_timeout_millis", + "default": 30000, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]stats-memory-summary"], - "env_var": "PANTS_STATS_MEMORY_SUMMARY", + "display_args": [ + "--remote-store-rpc-timeout-millis=" + ], + "env_var": "PANTS_REMOTE_STORE_RPC_TIMEOUT_MILLIS", "fromfile": false, - "help": "At the end of the Pants run, report a summary of memory usage.\n\nKeys are the total size in bytes, the count, and the name. Note that the total size is for all instances added together, so you can use total_size // count to get the average size.", + "help": "Timeout value for remote store RPCs (not including streaming requests) in milliseconds.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--stats-memory-summary", - "--no-stats-memory-summary" + "--remote-store-rpc-timeout-millis" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--memory-summary", "--no-memory-summary"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-rpc-timeout-millis" + ], "value_history": { "ranked_values": [ { @@ -22687,31 +25897,36 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": 30000 } ] } }, - "PANTS_STATS_RECORD_OPTION_SCOPES": { + "PANTS_REPL_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--stats-record-option-scopes=\"['', '', ...]\"", - "config_key": "stats_record_option_scopes", - "default": ["*"], + "comma_separated_display_args": "--repl-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--stats-record-option-scopes=\"['', '', ...]\"" + "--repl-args=\"[, , ...]\"", + "... -- [ [ [...]]]" ], - "env_var": "PANTS_STATS_RECORD_OPTION_SCOPES", + "env_var": "PANTS_REPL_ARGS", "fromfile": false, - "help": "Option scopes to record in stats on run completion. Options may be selected by joining the scope and the option with a ^ character, i.e. to get option `pantsd` in the GLOBAL scope, you'd pass `GLOBAL^pantsd`. Add a '*' to the list to capture all known scopes.", + "help": "Arguments to pass directly to the repl program, e.g. `--repl-args='-i helloworld/main.py'`.\n\nCurrently supported only for the ipython shell.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--stats-record-option-scopes"], + "scoped_cmd_line_args": [ + "--repl-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--stats-record-option-scopes"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -22722,34 +25937,36 @@ { "details": "", "rank": "HARDCODED", - "value": ["*"] + "value": [] } ] } }, - "PANTS_STREAMING_WORKUNITS_COMPLETE_ASYNC": { + "PANTS_REPL_RESTARTABLE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]streaming-workunits-complete-async", - "config_key": "streaming_workunits_complete_async", - "default": true, + "comma_separated_display_args": "--[no-]repl-restartable", + "config_key": "restartable", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]streaming-workunits-complete-async"], - "env_var": "PANTS_STREAMING_WORKUNITS_COMPLETE_ASYNC", + "display_args": [ + "--[no-]repl-restartable" + ], + "env_var": "PANTS_REPL_RESTARTABLE", "fromfile": false, - "help": "True if stats recording should be allowed to complete asynchronously when `pantsd` is enabled. When `pantsd` is disabled, stats recording is always synchronous. To reduce data loss, this flag defaults to false inside of containers, such as when run with Docker.", + "help": "True if the REPL should be restarted if its inputs have changed.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--streaming-workunits-complete-async", - "--no-streaming-workunits-complete-async" + "--repl-restartable", + "--no-repl-restartable" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--streaming-workunits-complete-async", - "--no-streaming-workunits-complete-async" + "--restartable", + "--no-restartable" ], "value_history": { "ranked_values": [ @@ -22761,95 +25978,103 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, - "PANTS_STREAMING_WORKUNITS_LEVEL": { - "choices": ["trace", "debug", "info", "warn", "error"], - "comma_separated_choices": "trace, debug, info, warn, error", - "comma_separated_display_args": "--streaming-workunits-level=", - "config_key": "streaming_workunits_level", - "default": "debug", + "PANTS_REPL_SHELL": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--repl-shell=", + "config_key": "shell", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--streaming-workunits-level="], - "env_var": "PANTS_STREAMING_WORKUNITS_LEVEL", + "display_args": [ + "--repl-shell=" + ], + "env_var": "PANTS_REPL_SHELL", "fromfile": false, - "help": "The level of workunits that will be reported to streaming workunit event receivers.\n\nWorkunits form a tree, and even when workunits are filtered out by this setting, the workunit tree structure will be preserved (by adjusting the parent pointers of the remaining workunits).", + "help": "Override the automatically-detected REPL program for the target(s) specified.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--streaming-workunits-level"], + "scoped_cmd_line_args": [ + "--repl-shell" + ], "target_field_name": null, - "typ": "LogLevel", - "unscoped_cmd_line_args": ["--streaming-workunits-level"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--shell" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "debug" } ] } }, - "PANTS_STREAMING_WORKUNITS_REPORT_INTERVAL": { + "PANTS_ROOTS_OUTPUT_FILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--streaming-workunits-report-interval=", - "config_key": "streaming_workunits_report_interval", - "default": 1.0, + "comma_separated_display_args": "--roots-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--streaming-workunits-report-interval="], - "env_var": "PANTS_STREAMING_WORKUNITS_REPORT_INTERVAL", + "display_args": [ + "--roots-output-file=" + ], + "env_var": "PANTS_ROOTS_OUTPUT_FILE", "fromfile": false, - "help": "Interval in seconds between when streaming workunit event receivers will be polled.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--streaming-workunits-report-interval"], + "scoped_cmd_line_args": [ + "--roots-output-file" + ], "target_field_name": null, - "typ": "float", - "unscoped_cmd_line_args": ["--streaming-workunits-report-interval"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 1.0 } ] } }, - "PANTS_SUBPROCESSDIR": { + "PANTS_ROOTS_SEP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-subprocessdir=", - "config_key": "pants_subprocessdir", - "default": "/tmp/tmp.TG08L3iBWC/.pants.d/pids", + "comma_separated_display_args": "--roots-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-subprocessdir="], - "env_var": "PANTS_SUBPROCESSDIR", + "display_args": [ + "--roots-sep=" + ], + "env_var": "PANTS_ROOTS_SEP", "fromfile": false, - "help": "The directory to use for tracking subprocess metadata. This should live outside of the dir used by `pants_workdir` to allow for tracking subprocesses that outlive the workdir data.", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-subprocessdir"], + "scoped_cmd_line_args": [ + "--roots-sep" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--pants-subprocessdir"], + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { @@ -22860,37 +26085,35 @@ { "details": null, "rank": "HARDCODED", - "value": "/tmp/tmp.TG08L3iBWC/.pants.d/pids" + "value": "\\n" } ] } }, - "PANTS_SUBPROCESS_ENVIRONMENT_ENV_VARS": { + "PANTS_RUFF_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--subprocess-environment-env-vars=\"['', '', ...]\"", - "config_key": "env_vars", - "default": [ - "LANG", - "LC_CTYPE", - "LC_ALL", - "SSL_CERT_FILE", - "SSL_CERT_DIR" - ], + "comma_separated_display_args": "--ruff-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--subprocess-environment-env-vars=\"['', '', ...]\"" + "--ruff-args=\"[, , ...]\"" ], - "env_var": "PANTS_SUBPROCESS_ENVIRONMENT_ENV_VARS", + "env_var": "PANTS_RUFF_ARGS", "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/v2.19/docs/options#addremove-semantics for how to add and remove Pants's default for this option.", + "help": "Arguments to pass directly to Ruff, e.g. `--ruff-args='--exclude=foo --ignore=E501'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--subprocess-environment-env-vars"], - "target_field_name": "subprocess_environment_env_vars", + "scoped_cmd_line_args": [ + "--ruff-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--env-vars"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -22901,171 +26124,183 @@ { "details": "", "rank": "HARDCODED", - "value": [ - "LANG", - "LC_CTYPE", - "LC_ALL", - "SSL_CERT_FILE", - "SSL_CERT_DIR" - ] + "value": [] } ] } }, - "PANTS_SUBPROJECT_ROOTS": { + "PANTS_RUFF_CONFIG": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--subproject-roots=\"['', '', ...]\"", - "config_key": "subproject_roots", - "default": [], + "comma_separated_display_args": "--ruff-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--subproject-roots=\"['', '', ...]\""], - "env_var": "PANTS_SUBPROJECT_ROOTS", + "display_args": [ + "--ruff-config=" + ], + "env_var": "PANTS_RUFF_CONFIG", "fromfile": false, - "help": "Paths that correspond with build roots for any subproject that this project depends on.", + "help": "Path to the `pyproject.toml` or `ruff.toml` file to use for configuration (https://github.com/charliermarsh/ruff#configuration).\n\nSetting this option will disable `[ruff].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--subproject-roots"], + "scoped_cmd_line_args": [ + "--ruff-config" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--subproject-roots"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, - "PANTS_SYSTEM_BINARIES_SYSTEM_BINARY_PATHS": { + "PANTS_RUFF_CONFIG_DISCOVERY": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--system-binaries-system-binary-paths=\"['', '', ...]\"", - "config_key": "system_binary_paths", - "default": ["/usr/bin", "/bin", "/usr/local/bin", "/opt/homebrew/bin"], + "comma_separated_display_args": "--[no-]ruff-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--system-binaries-system-binary-paths=\"['', '', ...]\"" + "--[no-]ruff-config-discovery" ], - "env_var": "PANTS_SYSTEM_BINARIES_SYSTEM_BINARY_PATHS", + "env_var": "PANTS_RUFF_CONFIG_DISCOVERY", "fromfile": false, - "help": "The PATH value that will searched for executables.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", + "help": "If true, Pants will include any relevant config files during runs (`pyproject.toml`, and `ruff.toml`).\n\nUse `[ruff].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--system-binaries-system-binary-paths"], - "target_field_name": "system_binaries_system_binary_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--system-binary-paths"], + "scoped_cmd_line_args": [ + "--ruff-config-discovery", + "--no-ruff-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["/usr/bin", "/bin", "/usr/local/bin", "/opt/homebrew/bin"] + "value": true } ] } }, - "PANTS_TAG": { + "PANTS_RUFF_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tag=\"[[+-]tag1,tag2,..., [+-]tag1,tag2,..., ...]\"", - "config_key": "tag", - "default": [], + "comma_separated_display_args": "--ruff-console-script=", + "config_key": "console_script", + "default": "ruff", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--tag=\"[[+-]tag1,tag2,..., [+-]tag1,tag2,..., ...]\""], - "env_var": "PANTS_TAG", + "display_args": [ + "--ruff-console-script=" + ], + "env_var": "PANTS_RUFF_CONSOLE_SCRIPT", "fromfile": false, - "help": "Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix). See https://www.pantsbuild.org/v2.19/docs/advanced-target-selection.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tag"], + "scoped_cmd_line_args": [ + "--ruff-console-script" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--tag"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "ruff" } ] } }, - "PANTS_TAILOR_ALIAS_MAPPING": { + "PANTS_RUFF_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-alias-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "alias_mapping", - "default": {}, + "comma_separated_display_args": "--ruff-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--tailor-alias-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--ruff-entry-point=" ], - "env_var": "PANTS_TAILOR_ALIAS_MAPPING", + "env_var": "PANTS_RUFF_ENTRY_POINT", "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/v2.19/docs/macros).", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tailor-alias-mapping"], + "scoped_cmd_line_args": [ + "--ruff-entry-point" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--alias-mapping"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": {} + "value": null } ] } }, - "PANTS_TAILOR_BUILD_FILE_HEADER": { + "PANTS_RUFF_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-build-file-header=", - "config_key": "build_file_header", + "comma_separated_display_args": "--ruff-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--tailor-build-file-header="], - "env_var": "PANTS_TAILOR_BUILD_FILE_HEADER", + "display_args": [ + "--ruff-install-from-resolve=" + ], + "env_var": "PANTS_RUFF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "A header, e.g., a copyright notice, to add to the content of created BUILD files.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--tailor-build-file-header"], + "scoped_cmd_line_args": [ + "--ruff-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--build-file-header"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -23076,125 +26311,32 @@ ] } }, - "PANTS_TAILOR_BUILD_FILE_INDENT": { + "PANTS_RUFF_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-build-file-indent=", - "config_key": "build_file_indent", - "default": " ", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--tailor-build-file-indent="], - "env_var": "PANTS_TAILOR_BUILD_FILE_INDENT", - "fromfile": false, - "help": "The indent to use when auto-editing BUILD files.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--tailor-build-file-indent"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--build-file-indent"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": " " - } - ] - } - }, - "PANTS_TAILOR_BUILD_FILE_NAME": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-build-file-name=", - "config_key": "build_file_name", - "default": "BUILD", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--tailor-build-file-name="], - "env_var": "PANTS_TAILOR_BUILD_FILE_NAME", - "fromfile": false, - "help": "The name to use for generated BUILD files.\n\nThis must be compatible with `[GLOBAL].build_patterns`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--tailor-build-file-name"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--build-file-name"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "BUILD" - } - ] - } - }, - "PANTS_TAILOR_CHECK": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]tailor-check", - "config_key": "check", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]tailor-check"], - "env_var": "PANTS_TAILOR_CHECK", - "fromfile": false, - "help": "Do not write changes to disk, only write back what would change. Return code 0 means there would be no changes, and 1 means that there would be.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--tailor-check", "--no-tailor-check"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--check", "--no-check"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false - } - ] - } - }, - "PANTS_TAILOR_IGNORE_ADDING_TARGETS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-ignore-adding-targets=\"['', '', ...]\"", - "config_key": "ignore_adding_targets", - "default": [], + "comma_separated_display_args": "--ruff-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--tailor-ignore-adding-targets=\"['', '', ...]\"" + "--ruff-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_TAILOR_IGNORE_ADDING_TARGETS", + "env_var": "PANTS_RUFF_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Do not add these target definitions.\n\nExpects a list of target addresses that would normally be added by `tailor`, e.g. `['project:tgt']`. To find these names, you can run `tailor --check`, then combine the BUILD file path with the target's name. For example, if `tailor` would add the target `bin` to `project/BUILD`, then the address would be `project:bin`. If the BUILD file is at the root of your repository, use `//` for the path, e.g. `//:bin`.\n\nDoes not work with macros.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tailor-ignore-adding-targets"], + "scoped_cmd_line_args": [ + "--ruff-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--ignore-adding-targets"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -23205,29 +26347,37 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_TAILOR_IGNORE_PATHS": { + "PANTS_RUFF_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-ignore-paths=\"['', '', ...]\"", - "config_key": "ignore_paths", + "comma_separated_display_args": "--ruff-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--tailor-ignore-paths=\"['', '', ...]\""], - "env_var": "PANTS_TAILOR_IGNORE_PATHS", + "display_args": [ + "--ruff-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_RUFF_REQUIREMENTS", "fromfile": false, - "help": "Do not edit or create BUILD files at these paths.\n\nCan use literal file names and/or globs, e.g. `['project/BUILD, 'ignore_me/**']`.\n\nThis augments the option `[GLOBAL].build_ignore`, which tells Pants to also not _read_ BUILD files at certain paths. In contrast, this option only tells Pants to not edit/create BUILD files at the specified paths.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tailor-ignore-paths"], + "scoped_cmd_line_args": [ + "--ruff-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--ignore-paths"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -23243,27 +26393,32 @@ ] } }, - "PANTS_TERRAFORM_FMT_SKIP": { + "PANTS_RUFF_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]terraform-fmt-skip", + "comma_separated_display_args": "--[no-]ruff-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]terraform-fmt-skip"], - "env_var": "PANTS_TERRAFORM_FMT_SKIP", + "display_args": [ + "--[no-]ruff-skip" + ], + "env_var": "PANTS_RUFF_SKIP", "fromfile": false, - "help": "If true, don't use `terraform fmt` when running `pants fmt` and `pants lint`.", + "help": "If true, don't use Ruff when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--terraform-fmt-skip", - "--no-terraform-fmt-skip" + "--ruff-skip", + "--no-ruff-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -23279,91 +26434,104 @@ ] } }, - "PANTS_TERRAFORM_HCL2_PARSER_INSTALL_FROM_RESOLVE": { + "PANTS_RULE_THREADS_CORE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--terraform-hcl2-parser-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--rule-threads-core=", + "config_key": "rule_threads_core", + "default": "max(2, #cores/2)", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--terraform-hcl2-parser-install-from-resolve="], - "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--rule-threads-core=" + ], + "env_var": "PANTS_RULE_THREADS_CORE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "The number of threads to keep active and ready to execute `@rule` logic (see also: `--rule-threads-max`).\n\nValues less than 2 are not currently supported.\n\nThis value is independent of the number of processes that may be spawned in parallel locally (controlled by `--process-execution-local-parallelism`).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--terraform-hcl2-parser-install-from-resolve"], + "scoped_cmd_line_args": [ + "--rule-threads-core" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--rule-threads-core" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 2 } ] } }, - "PANTS_TERRAFORM_HCL2_PARSER_INTERPRETER_CONSTRAINTS": { + "PANTS_RULE_THREADS_MAX": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--rule-threads-max=", + "config_key": "rule_threads_max", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"" + "--rule-threads-max=" ], - "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_RULE_THREADS_MAX", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "The maximum number of threads to use to execute `@rule` logic. Defaults to a small multiple of `--rule-threads-core`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--terraform-hcl2-parser-interpreter-constraints" + "--rule-threads-max" ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--rule-threads-max" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": null } ] } }, - "PANTS_TERRAFORM_HCL2_PARSER_REQUIREMENTS": { + "PANTS_RUN_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--terraform-hcl2-parser-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--run-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--terraform-hcl2-parser-requirements=\"['', '', ...]\"" + "--run-args=\"[, , ...]\"", + "... -- [ [ [...]]]" ], - "env_var": "PANTS_TERRAFORM_HCL2_PARSER_REQUIREMENTS", + "env_var": "PANTS_RUN_ARGS", "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": "Arguments to pass directly to the executed target, e.g. `--run-args='val1 val2 --debug'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--terraform-hcl2-parser-requirements"], + "scoped_cmd_line_args": [ + "--run-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -23379,27 +26547,32 @@ ] } }, - "PANTS_TERRAFORM_VALIDATE_SKIP": { + "PANTS_RUN_DEBUG_ADAPTER": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]terraform-validate-skip", - "config_key": "skip", + "comma_separated_display_args": "--[no-]run-debug-adapter", + "config_key": "debug_adapter", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]terraform-validate-skip"], - "env_var": "PANTS_TERRAFORM_VALIDATE_SKIP", + "display_args": [ + "--[no-]run-debug-adapter" + ], + "env_var": "PANTS_RUN_DEBUG_ADAPTER", "fromfile": false, - "help": "If true, don't use `terraform validate` when running `pants check`.", + "help": "Run the interactive process using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported.\n\nThe interactive process used will be immediately blocked waiting for a client before continuing.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--terraform-validate-skip", - "--no-terraform-validate-skip" + "--run-debug-adapter", + "--no-run-debug-adapter" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--debug-adapter", + "--no-debug-adapter" + ], "value_history": { "ranked_values": [ { @@ -23415,24 +26588,32 @@ ] } }, - "PANTS_TEST_ATTEMPTS_DEFAULT": { + "PANTS_RUSTFMT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--test-attempts-default=", - "config_key": "attempts_default", - "default": 1, + "comma_separated_display_args": "--[no-]rustfmt-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-attempts-default="], - "env_var": "PANTS_TEST_ATTEMPTS_DEFAULT", + "display_args": [ + "--[no-]rustfmt-skip" + ], + "env_var": "PANTS_RUSTFMT_SKIP", "fromfile": false, - "help": "The number of attempts to run tests, in case of a test failure. Tests that were retried will include the number of attempts in the summary output.", + "help": "If true, don't use rustfmt when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-attempts-default"], + "scoped_cmd_line_args": [ + "--rustfmt-skip", + "--no-rustfmt-skip" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--attempts-default"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -23443,62 +26624,78 @@ { "details": null, "rank": "HARDCODED", - "value": 1 + "value": false } ] } }, - "PANTS_TEST_BATCH_SIZE": { + "PANTS_RUST_RUSTUP_SEARCH_PATHS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--test-batch-size=", - "config_key": "batch_size", - "default": 128, + "comma_separated_display_args": "--rust-rustup-search-paths=\"['', '', ...]\"", + "config_key": "rustup_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-batch-size="], - "env_var": "PANTS_TEST_BATCH_SIZE", + "display_args": [ + "--rust-rustup-search-paths=\"['', '', ...]\"" + ], + "env_var": "PANTS_RUST_RUSTUP_SEARCH_PATHS", "fromfile": false, - "help": "The target maximum number of files to be included in each run of batch-enabled test runners.\n\nSome test runners can execute tests from multiple files in a single run. Test implementations will return all tests that _can_ run together as a single group - and then this may be further divided into smaller batches, based on this option. This is done:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch\n 3. to allow for parallelism in test runners which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" max batch size (rather than an exact value).\n\nNOTE: This parameter has no effect on test runners/plugins that do not implement support for batched testing.", + "help": "A list of paths to search for Rustup.\n\nSpecify absolute paths to directories with the `rustup` binary, e.g. `/usr/bin`. Earlier entries will be searched first. The special string '' will expand to the contents of the PATH env var.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-batch-size"], + "scoped_cmd_line_args": [ + "--rust-rustup-search-paths" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--batch-size"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--rustup-search-paths" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 128 + "value": [ + "" + ] } ] } }, - "PANTS_TEST_DEBUG": { + "PANTS_RUST_TOOLCHAIN": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]test-debug", - "config_key": "debug", - "default": false, + "comma_separated_display_args": "--rust-toolchain=", + "config_key": "toolchain", + "default": "stable", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-debug"], - "env_var": "PANTS_TEST_DEBUG", + "display_args": [ + "--rust-toolchain=" + ], + "env_var": "PANTS_RUST_TOOLCHAIN", "fromfile": false, - "help": "Run tests sequentially in an interactive process. This is necessary, for example, when you add breakpoints to your code.", + "help": "Name of a Rust toolchain to use for all builds. The toolchain name will be provided to Rustup to find the Toolchain.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-debug", "--no-test-debug"], + "scoped_cmd_line_args": [ + "--rust-toolchain" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--debug", "--no-debug"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--toolchain" + ], "value_history": { "ranked_values": [ { @@ -23509,167 +26706,195 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "stable" } ] } }, - "PANTS_TEST_DEBUG_ADAPTER": { + "PANTS_SCALAC_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]test-debug-adapter", - "config_key": "debug_adapter", - "default": false, + "comma_separated_display_args": "--scalac-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-debug-adapter"], - "env_var": "PANTS_TEST_DEBUG_ADAPTER", + "display_args": [ + "--scalac-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SCALAC_ARGS", "fromfile": false, - "help": "Run tests sequentially in an interactive process, using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported.\n\nThe interactive process used will be immediately blocked waiting for a client before continuing.\n\nThis option implies `--debug`.", + "help": "Arguments to pass directly to scalac, e.g. `--scalac-args='-encoding UTF-8'`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--test-debug-adapter", - "--no-test-debug-adapter" + "--scalac-args" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--debug-adapter", "--no-debug-adapter"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_TEST_EXTRA_ENV_VARS": { + "PANTS_SCALAC_PLUGINS_FOR_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--test-extra-env-vars=\"['', '', ...]\"", - "config_key": "extra_env_vars", - "default": [], + "comma_separated_display_args": "--scalac-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "plugins_for_resolve", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-extra-env-vars=\"['', '', ...]\""], - "env_var": "PANTS_TEST_EXTRA_ENV_VARS", + "display_args": [ + "--scalac-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SCALAC_PLUGINS_FOR_RESOLVE", "fromfile": false, - "help": "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.", + "help": "A dictionary, whose keys are the names of each JVM resolve that requires default `scalac` plugins, and the value is a comma-separated string consisting of scalac plugin names. Each specified plugin must have a corresponding `scalac_plugin` target that specifies that name in either its `plugin_name` field or is the same as its target name.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-extra-env-vars"], - "target_field_name": "test_extra_env_vars", - "typ": "list", - "unscoped_cmd_line_args": ["--extra-env-vars"], + "scoped_cmd_line_args": [ + "--scalac-plugins-for-resolve" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--plugins-for-resolve" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": {} } ] } }, - "PANTS_TEST_FORCE": { + "PANTS_SCALAFMT_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]test-force", - "config_key": "force", - "default": false, + "comma_separated_display_args": "--scalafmt-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "org.scalameta:scalafmt-cli_2.13:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-force"], - "env_var": "PANTS_TEST_FORCE", + "display_args": [ + "--scalafmt-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAFMT_ARTIFACTS", "fromfile": false, - "help": "Force the tests to run, even if they could be satisfied from cache.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalafmt].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-force", "--no-test-force"], + "scoped_cmd_line_args": [ + "--scalafmt-artifacts" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--force", "--no-force"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "org.scalameta:scalafmt-cli_2.13:{version}" + ] } ] } }, - "PANTS_TEST_OPEN_COVERAGE": { + "PANTS_SCALAFMT_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]test-open-coverage", - "config_key": "open_coverage", - "default": false, + "comma_separated_display_args": "--scalafmt-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-open-coverage"], - "env_var": "PANTS_TEST_OPEN_COVERAGE", + "display_args": [ + "--scalafmt-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAFMT_JVM_OPTIONS", "fromfile": false, - "help": "If a coverage report file is generated, open it on the local system if the system supports this.", + "help": "List of JVM options to pass to `scalafmt` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--test-open-coverage", - "--no-test-open-coverage" + "--scalafmt-jvm-options" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--open-coverage", "--no-open-coverage"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } }, - "PANTS_TEST_OUTPUT": { - "choices": ["all", "failed", "none"], - "comma_separated_choices": "all, failed, none", - "comma_separated_display_args": "--test-output=", - "config_key": "output", - "default": "failed", + "PANTS_SCALAFMT_LOCKFILE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--scalafmt-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-output="], - "env_var": "PANTS_TEST_OUTPUT", + "display_args": [ + "--scalafmt-lockfile=" + ], + "env_var": "PANTS_SCALAFMT_LOCKFILE", "fromfile": false, - "help": "Show stdout/stderr for these tests.", + "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.19.0rc5/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": ["--test-output"], + "scoped_cmd_line_args": [ + "--scalafmt-lockfile" + ], "target_field_name": null, - "typ": "ShowOutput", - "unscoped_cmd_line_args": ["--output"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -23680,29 +26905,37 @@ { "details": null, "rank": "HARDCODED", - "value": "failed" + "value": "" } ] } }, - "PANTS_TEST_REPORT": { + "PANTS_SCALAFMT_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]test-report", - "config_key": "report", + "comma_separated_display_args": "--[no-]scalafmt-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-report"], - "env_var": "PANTS_TEST_REPORT", + "display_args": [ + "--[no-]scalafmt-skip" + ], + "env_var": "PANTS_SCALAFMT_SKIP", "fromfile": false, - "help": "Write test reports to `--report-dir`.", + "help": "If true, don't use scalafmt when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-report", "--no-test-report"], + "scoped_cmd_line_args": [ + "--scalafmt-skip", + "--no-scalafmt-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--report", "--no-report"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -23718,24 +26951,30 @@ ] } }, - "PANTS_TEST_REPORT_DIR": { + "PANTS_SCALAFMT_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--test-report-dir=", - "config_key": "report_dir", - "default": "{distdir}/test/reports", + "comma_separated_display_args": "--scalafmt-version=", + "config_key": "version", + "default": "3.2.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-report-dir="], - "env_var": "PANTS_TEST_REPORT_DIR", + "display_args": [ + "--scalafmt-version=" + ], + "env_var": "PANTS_SCALAFMT_VERSION", "fromfile": false, - "help": "Path to write test reports to. Must be relative to the build root.", + "help": "Version string for the tool. This is available for substitution in the `[scalafmt].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-report-dir"], + "scoped_cmd_line_args": [ + "--scalafmt-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--report-dir"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -23746,151 +26985,195 @@ { "details": null, "rank": "HARDCODED", - "value": "{distdir}/test/reports" + "value": "3.2.1" } ] } }, - "PANTS_TEST_SHARD": { + "PANTS_SCALAPB_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--test-shard=", - "config_key": "shard", - "default": "", + "comma_separated_display_args": "--scalapb-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.thesamet.scalapb:scalapbc_2.13:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-shard="], - "env_var": "PANTS_TEST_SHARD", + "display_args": [ + "--scalapb-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAPB_ARTIFACTS", "fromfile": false, - "help": "A shard specification of the form \"k/N\", where N is a positive integer and k is a non-negative integer less than N.\n\nIf set, the request input targets will be deterministically partitioned into N disjoint subsets of roughly equal size, and only the k'th subset will be used, with all others discarded.\n\nUseful for splitting large numbers of test files across multiple machines in CI. For example, you can run three shards with `--shard=0/3`, `--shard=1/3`, `--shard=2/3`.\n\nNote that the shards are roughly equal in size as measured by number of files. No attempt is made to consider the size of different files, the time they have taken to run in the past, or other such sophisticated measures.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalapb].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-shard"], + "scoped_cmd_line_args": [ + "--scalapb-artifacts" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--shard"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "" + "value": [ + "com.thesamet.scalapb:scalapbc_2.13:{version}" + ] } ] } }, - "PANTS_TEST_TIMEOUTS": { + "PANTS_SCALAPB_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]test-timeouts", - "config_key": "timeouts", - "default": true, + "comma_separated_display_args": "--scalapb-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-timeouts"], - "env_var": "PANTS_TEST_TIMEOUTS", + "display_args": [ + "--scalapb-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAPB_JVM_OPTIONS", "fromfile": false, - "help": "Enable test target timeouts. If timeouts are enabled then test targets with a `timeout=` parameter set on their target will time out after the given number of seconds if not completed. If no timeout is set, then either the default timeout is used or no timeout is configured.", + "help": "List of JVM options to pass to `scalapb` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-timeouts", "--no-test-timeouts"], + "scoped_cmd_line_args": [ + "--scalapb-jvm-options" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--timeouts", "--no-timeouts"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } }, - "PANTS_TEST_TIMEOUT_DEFAULT": { + "PANTS_SCALAPB_JVM_PLUGINS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--test-timeout-default=", - "config_key": "timeout_default", - "default": null, + "comma_separated_display_args": "--scalapb-jvm-plugins=\"['', '', ...]\"", + "config_key": "jvm_plugins", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-timeout-default="], - "env_var": "PANTS_TEST_TIMEOUT_DEFAULT", - "fromfile": false, - "help": "The default timeout (in seconds) for a test target if the `timeout` field is not set on the target.", + "display_args": [ + "--scalapb-jvm-plugins=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAPB_JVM_PLUGINS", + "fromfile": false, + "help": "A list of JVM-based `protoc` plugins to invoke when generating Scala code from protobuf files. The format for each plugin specifier is `NAME=ARTIFACT` where NAME is the name of the plugin and ARTIFACT is either the address of a `jvm_artifact` target or the colon-separated Maven coordinate for the plugin's jar artifact.\n\nFor example, to invoke the fs2-grpc protoc plugin, the following option would work: `--scalapb-jvm-plugins=fs2=org.typelevel:fs2-grpc-codegen_2.12:2.3.1`. (Note: you would also need to set `--scalapb-runtime-dependencies` appropriately to include the applicable runtime libraries for your chosen protoc plugins.)", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-timeout-default"], + "scoped_cmd_line_args": [ + "--scalapb-jvm-plugins" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--timeout-default"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-plugins" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } }, - "PANTS_TEST_TIMEOUT_MAXIMUM": { + "PANTS_SCALAPB_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--test-timeout-maximum=", - "config_key": "timeout_maximum", - "default": null, + "comma_separated_display_args": "--scalapb-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-timeout-maximum="], - "env_var": "PANTS_TEST_TIMEOUT_MAXIMUM", + "display_args": [ + "--scalapb-lockfile=" + ], + "env_var": "PANTS_SCALAPB_LOCKFILE", "fromfile": false, - "help": "The maximum timeout (in seconds) that may be used on a test target.", + "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.19.0rc5/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": ["--test-timeout-maximum"], + "scoped_cmd_line_args": [ + "--scalapb-lockfile" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--timeout-maximum"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "" } ] } }, - "PANTS_TEST_USE_COVERAGE": { + "PANTS_SCALAPB_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]test-use-coverage", - "config_key": "use_coverage", - "default": false, + "comma_separated_display_args": "--scalapb-version=", + "config_key": "version", + "default": "0.11.6", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-use-coverage"], - "env_var": "PANTS_TEST_USE_COVERAGE", + "display_args": [ + "--scalapb-version=" + ], + "env_var": "PANTS_SCALAPB_VERSION", "fromfile": false, - "help": "Generate a coverage report if the test runner supports it.", + "help": "Version string for the tool. This is available for substitution in the `[scalapb].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-use-coverage", "--no-test-use-coverage"], + "scoped_cmd_line_args": [ + "--scalapb-version" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--use-coverage", "--no-use-coverage"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -23901,101 +27184,118 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "0.11.6" } ] } }, - "PANTS_THRIFT_DEPENDENCY_INFERENCE": { + "PANTS_SCALATEST_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]thrift-dependency-inference", - "config_key": "dependency_inference", - "default": true, + "comma_separated_display_args": "--scalatest-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]thrift-dependency-inference"], - "env_var": "PANTS_THRIFT_DEPENDENCY_INFERENCE", + "display_args": [ + "--scalatest-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_SCALATEST_ARGS", "fromfile": false, - "help": "Infer Thrift dependencies on other Thrift files by analyzing import statements.", + "help": "Arguments to pass directly to Scalatest, e.g. `--scalatest-args='-t $testname'`.\n\nSee https://www.scalatest.org/user_guide/using_the_runner for supported arguments.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--thrift-dependency-inference", - "--no-thrift-dependency-inference" + "--scalatest-args" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--dependency-inference", - "--no-dependency-inference" + "--args" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } }, - "PANTS_THRIFT_TAILOR": { + "PANTS_SCALATEST_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]thrift-tailor", - "config_key": "tailor", - "default": true, + "comma_separated_display_args": "--scalatest-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "org.scalatest:scalatest_2.13:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]thrift-tailor"], - "env_var": "PANTS_THRIFT_TAILOR", + "display_args": [ + "--scalatest-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALATEST_ARTIFACTS", "fromfile": false, - "help": "If true, add `thrift_sources` targets with the `tailor` goal.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalatest].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--thrift-tailor", "--no-thrift-tailor"], + "scoped_cmd_line_args": [ + "--scalatest-artifacts" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "org.scalatest:scalatest_2.13:{version}" + ] } ] } }, - "PANTS_TWINE_ARGS": { + "PANTS_SCALATEST_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--twine-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--scalatest-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-args=\"[, , ...]\""], - "env_var": "PANTS_TWINE_ARGS", + "display_args": [ + "--scalatest-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALATEST_JVM_OPTIONS", "fromfile": false, - "help": "Arguments to pass directly to Twine, e.g. `--twine-args='--skip-existing'`.", + "help": "List of JVM options to pass to `scalatest` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-args"], + "scoped_cmd_line_args": [ + "--scalatest-jvm-options" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { @@ -24011,24 +27311,30 @@ ] } }, - "PANTS_TWINE_CA_CERTS_PATH": { + "PANTS_SCALATEST_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--twine-ca-certs-path=", - "config_key": "ca_certs_path", - "default": "", + "comma_separated_display_args": "--scalatest-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-ca-certs-path="], - "env_var": "PANTS_TWINE_CA_CERTS_PATH", + "display_args": [ + "--scalatest-lockfile=" + ], + "env_var": "PANTS_SCALATEST_LOCKFILE", "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/v2.19/docs/options.", + "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.19.0rc5/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": ["--twine-ca-certs-path"], + "scoped_cmd_line_args": [ + "--scalatest-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--ca-certs-path"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -24039,60 +27345,76 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": "" } ] } }, - "PANTS_TWINE_CONFIG": { + "PANTS_SCALATEST_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--twine-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--[no-]scalatest-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-config="], - "env_var": "PANTS_TWINE_CONFIG", + "display_args": [ + "--[no-]scalatest-skip" + ], + "env_var": "PANTS_SCALATEST_SKIP", "fromfile": false, - "help": "Path to a .pypirc config file to use. (https://packaging.python.org/specifications/pypirc/)\n\nSetting this option will disable `[twine].config_discovery`. Use this option if the config is located in a non-standard location.", + "help": "If true, don't use Scalatest when running `pants test`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-config"], + "scoped_cmd_line_args": [ + "--scalatest-skip", + "--no-scalatest-skip" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_TWINE_CONFIG_DISCOVERY": { + "PANTS_SCALATEST_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]twine-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--scalatest-version=", + "config_key": "version", + "default": "3.2.10", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]twine-config-discovery"], - "env_var": "PANTS_TWINE_CONFIG_DISCOVERY", + "display_args": [ + "--scalatest-version=" + ], + "env_var": "PANTS_SCALATEST_VERSION", "fromfile": false, - "help": "If true, Pants will include all relevant config files during runs (`.pypirc`).\n\nUse `[twine].config` instead if your config is in a non-standard location.", + "help": "Version string for the tool. This is available for substitution in the `[scalatest].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--twine-config-discovery", - "--no-twine-config-discovery" + "--scalatest-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -24103,29 +27425,37 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "3.2.10" } ] } }, - "PANTS_TWINE_CONSOLE_SCRIPT": { + "PANTS_SCALA_INFER_CONSUMED_TYPES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--twine-console-script=", - "config_key": "console_script", - "default": "twine", + "comma_separated_display_args": "--[no-]scala-infer-consumed-types", + "config_key": "consumed_types", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-console-script="], - "env_var": "PANTS_TWINE_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]scala-infer-consumed-types" + ], + "env_var": "PANTS_SCALA_INFER_CONSUMED_TYPES", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Infer a target's dependencies by parsing consumed types from sources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-console-script"], + "scoped_cmd_line_args": [ + "--scala-infer-consumed-types", + "--no-scala-infer-consumed-types" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--consumed-types", + "--no-consumed-types" + ], "value_history": { "ranked_values": [ { @@ -24136,293 +27466,375 @@ { "details": null, "rank": "HARDCODED", - "value": "twine" + "value": true } ] } }, - "PANTS_TWINE_ENTRY_POINT": { + "PANTS_SCALA_INFER_FORCE_ADD_SIBLINGS_AS_DEPENDENCIES": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--twine-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]scala-infer-force-add-siblings-as-dependencies", + "config_key": "force_add_siblings_as_dependencies", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-entry-point="], - "env_var": "PANTS_TWINE_ENTRY_POINT", + "display_args": [ + "--[no-]scala-infer-force-add-siblings-as-dependencies" + ], + "env_var": "PANTS_SCALA_INFER_FORCE_ADD_SIBLINGS_AS_DEPENDENCIES", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "If true, add a dependency on all `scala_source` targets generated by the same `scala_sources` target generator. If false, the dependencies will only be added if `[scala-infer].imports` is also set to false.\n\nSetting this option to true reduces the precision of dependency information. That means that you may end up compiling more than is necessary for a particular task, and that compilation will be invalidated more frequently than actually necessary. However, setting to true may be helpful if compilation fails due to missing dependencies.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-entry-point"], + "scoped_cmd_line_args": [ + "--scala-infer-force-add-siblings-as-dependencies", + "--no-scala-infer-force-add-siblings-as-dependencies" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force-add-siblings-as-dependencies", + "--no-force-add-siblings-as-dependencies" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, - "PANTS_TWINE_INSTALL_FROM_RESOLVE": { + "PANTS_SCALA_INFER_IMPORTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--twine-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]scala-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-install-from-resolve="], - "env_var": "PANTS_TWINE_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]scala-infer-imports" + ], + "env_var": "PANTS_SCALA_INFER_IMPORTS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Infer a target's dependencies by parsing import statements from sources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-install-from-resolve"], + "scoped_cmd_line_args": [ + "--scala-infer-imports", + "--no-scala-infer-imports" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "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_TWINE_INTERPRETER_CONSTRAINTS": { + "PANTS_SCALA_INFER_PACKAGE_OBJECTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--twine-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]scala-infer-package-objects", + "config_key": "package_objects", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--twine-interpreter-constraints=\"['', '', ...]\"" + "--[no-]scala-infer-package-objects" ], - "env_var": "PANTS_TWINE_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_SCALA_INFER_PACKAGE_OBJECTS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Add dependency on the package object to every target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--scala-infer-package-objects", + "--no-scala-infer-package-objects" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--package-objects", + "--no-package-objects" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": true } ] } }, - "PANTS_TWINE_REQUIREMENTS": { + "PANTS_SCALA_TAILOR_SOURCE_TARGETS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--twine-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]scala-tailor-source-targets", + "config_key": "tailor_source_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-requirements=\"['', '', ...]\""], - "env_var": "PANTS_TWINE_REQUIREMENTS", + "display_args": [ + "--[no-]scala-tailor-source-targets" + ], + "env_var": "PANTS_SCALA_TAILOR_SOURCE_TARGETS", "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 true, add `scala_sources`, `scala_junit_tests`, and `scalatest_tests` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-requirements"], + "scoped_cmd_line_args": [ + "--scala-tailor-source-targets", + "--no-scala-tailor-source-targets" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-source-targets", + "--no-tailor-source-targets" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } }, - "PANTS_TWINE_SKIP": { + "PANTS_SCALA_VERSION_FOR_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]twine-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--scala-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "version_for_resolve", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]twine-skip"], - "env_var": "PANTS_TWINE_SKIP", + "display_args": [ + "--scala-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SCALA_VERSION_FOR_RESOLVE", "fromfile": false, - "help": "If true, don't use Twine when running `pants publish`.", + "help": "A dictionary mapping the name of a resolve to the Scala version to use for all Scala targets consuming that resolve.\n\nAll Scala-compiled jars on a resolve's classpath must be \"compatible\" with one another and with all Scala-compiled first-party sources from `scala_sources` (and other Scala target types) using that resolve. The option sets the Scala version that will be used to compile all first-party sources using the resolve. This ensures that the compatibility property is maintained for a resolve. To support multiple Scala versions, use multiple resolves.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-skip", "--no-twine-skip"], + "scoped_cmd_line_args": [ + "--scala-version-for-resolve" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--version-for-resolve" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": {} } ] } }, - "PANTS_UNMATCHED_BUILD_FILE_GLOBS": { - "choices": ["ignore", "warn", "error"], - "comma_separated_choices": "ignore, warn, error", - "comma_separated_display_args": "--unmatched-build-file-globs=", - "config_key": "unmatched_build_file_globs", - "default": "warn", + "PANTS_SCC_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--scc-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--unmatched-build-file-globs="], - "env_var": "PANTS_UNMATCHED_BUILD_FILE_GLOBS", + "display_args": [ + "--scc-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_SCC_ARGS", "fromfile": false, - "help": "What to do when files and globs specified in BUILD files, such as in the `sources` field, cannot be found.\n\nThis usually happens when the files do not exist on your machine. It can also happen if they are ignored by the `[GLOBAL].pants_ignore` option, which causes the files to be invisible to Pants.", + "help": "Arguments to pass directly to SCC, e.g. `--scc-args='--no-cocomo'`.\n\nRefer to to https://github.com/boyter/scc.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--unmatched-build-file-globs"], + "scoped_cmd_line_args": [ + "--scc-args" + ], "target_field_name": null, - "typ": "GlobMatchErrorBehavior", - "unscoped_cmd_line_args": ["--unmatched-build-file-globs"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "warn" + "value": [] } ] } }, - "PANTS_UNMATCHED_CLI_GLOBS": { - "choices": ["ignore", "warn", "error"], - "comma_separated_choices": "ignore, warn, error", - "comma_separated_display_args": "--unmatched-cli-globs=", - "config_key": "unmatched_cli_globs", - "default": "error", + "PANTS_SCC_KNOWN_VERSIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--scc-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145", + "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134", + "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037", + "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--unmatched-cli-globs="], - "env_var": "PANTS_UNMATCHED_CLI_GLOBS", + "display_args": [ + "--scc-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCC_KNOWN_VERSIONS", "fromfile": false, - "help": "What to do when command line arguments, e.g. files and globs like `dir::`, cannot be found.\n\nThis usually happens when the files do not exist on your machine. It can also happen if they are ignored by the `[GLOBAL].pants_ignore` option, which causes the files to be invisible to Pants.", + "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": ["--unmatched-cli-globs"], + "scoped_cmd_line_args": [ + "--scc-known-versions" + ], "target_field_name": null, - "typ": "GlobMatchErrorBehavior", - "unscoped_cmd_line_args": ["--unmatched-cli-globs"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": [ + "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145", + "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134", + "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037", + "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341" + ] } ] } }, - "PANTS_UPDATE_BUILD_FILES_CHECK": { + "PANTS_SCC_URL_PLATFORM_MAPPING": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]update-build-files-check", - "config_key": "check", - "default": false, + "comma_separated_display_args": "--scc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "arm64-unknown-linux", + "linux_x86_64": "x86_64-unknown-linux", + "macos_arm64": "arm64-apple-darwin", + "macos_x86_64": "x86_64-apple-darwin" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]update-build-files-check"], - "env_var": "PANTS_UPDATE_BUILD_FILES_CHECK", + "display_args": [ + "--scc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SCC_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Do not write changes to disk, only write back what would change. Return code 0 means there would be no changes, and 1 means that there would be.", + "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": [ - "--update-build-files-check", - "--no-update-build-files-check" + "--scc-url-platform-mapping" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--check", "--no-check"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": { + "linux_arm64": "arm64-unknown-linux", + "linux_x86_64": "x86_64-unknown-linux", + "macos_arm64": "arm64-apple-darwin", + "macos_x86_64": "x86_64-apple-darwin" + } } ] } }, - "PANTS_UPDATE_BUILD_FILES_FIX_SAFE_DEPRECATIONS": { + "PANTS_SCC_URL_TEMPLATE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]update-build-files-fix-safe-deprecations", - "config_key": "fix_safe_deprecations", - "default": true, + "comma_separated_display_args": "--scc-url-template=", + "config_key": "url_template", + "default": "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]update-build-files-fix-safe-deprecations"], - "env_var": "PANTS_UPDATE_BUILD_FILES_FIX_SAFE_DEPRECATIONS", + "display_args": [ + "--scc-url-template=" + ], + "env_var": "PANTS_SCC_URL_TEMPLATE", "fromfile": false, - "help": "Automatically fix deprecations, such as target type renames, that are safe because they do not change semantics.", + "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/v2.19/docs/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": [ - "--update-build-files-fix-safe-deprecations", - "--no-update-build-files-fix-safe-deprecations" + "--scc-url-template" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--fix-safe-deprecations", - "--no-fix-safe-deprecations" + "--url-template" ], "value_history": { "ranked_values": [ @@ -24434,98 +27846,38 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip" } ] } }, - "PANTS_UPDATE_BUILD_FILES_FMT": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]update-build-files-fmt", - "config_key": "fmt", - "default": true, + "PANTS_SCC_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--scc-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]update-build-files-fmt"], - "env_var": "PANTS_UPDATE_BUILD_FILES_FMT", + "display_args": [ + "--scc-use-unsupported-version=" + ], + "env_var": "PANTS_SCC_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Format BUILD files using Black or Yapf.\n\nSet `[black].args` / `[yapf].args`, `[black].config` / `[yapf].config` , and `[black].config_discovery` / `[yapf].config_discovery` to change Black's or Yapf's behavior. Set `[black].interpreter_constraints` / `[yapf].interpreter_constraints` and `[python].interpreter_search_path` to change which interpreter is used to run the formatter.", + "help": "\nWhat action to take in case the requested version of SCC is not supported.\n\nSupported SCC versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--update-build-files-fmt", - "--no-update-build-files-fmt" + "--scc-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--fmt", "--no-fmt"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true - } - ] - } - }, - "PANTS_UPDATE_BUILD_FILES_FORMATTER": { - "choices": ["yapf", "black"], - "comma_separated_choices": "yapf, black", - "comma_separated_display_args": "--update-build-files-formatter=", - "config_key": "formatter", - "default": "black", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--update-build-files-formatter="], - "env_var": "PANTS_UPDATE_BUILD_FILES_FORMATTER", - "fromfile": false, - "help": "Which formatter Pants should use to format BUILD files.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--update-build-files-formatter"], - "target_field_name": null, - "typ": "Formatter", - "unscoped_cmd_line_args": ["--formatter"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "black" - } - ] - } - }, - "PANTS_VERIFY_CONFIG": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]verify-config", - "config_key": "verify_config", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]verify-config"], - "env_var": "PANTS_VERIFY_CONFIG", - "fromfile": false, - "help": "Verify that all config file values correspond to known options.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--verify-config", "--no-verify-config"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--verify-config", "--no-verify-config"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -24536,29 +27888,35 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "error" } ] } }, - "PANTS_VERSION": { + "PANTS_SCC_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-version=", - "config_key": "pants_version", - "default": "", + "comma_separated_display_args": "--scc-version=", + "config_key": "version", + "default": "3.0.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-version="], - "env_var": "PANTS_VERSION", + "display_args": [ + "--scc-version=" + ], + "env_var": "PANTS_SCC_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/v2.19/docs/installation, 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 version of SCC.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-version"], + "scoped_cmd_line_args": [ + "--scc-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--pants-version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -24569,103 +27927,117 @@ { "details": null, "rank": "HARDCODED", - "value": "2.19.0rc1" - }, - { - "details": "from env var PANTS_VERSION", - "rank": "ENVIRONMENT", - "value": "2.19.0rc1" + "value": "3.0.0" } ] } }, - "PANTS_WATCH_FILESYSTEM": { + "PANTS_SCROOGE_ARTIFACTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]watch-filesystem", - "config_key": "watch_filesystem", - "default": true, + "comma_separated_display_args": "--scrooge-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.twitter:scrooge-generator_2.13:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]watch-filesystem"], - "env_var": "PANTS_WATCH_FILESYSTEM", + "display_args": [ + "--scrooge-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCROOGE_ARTIFACTS", "fromfile": false, - "help": "Set to False if Pants should not watch the filesystem for changes. `pantsd` or `loop` may not be enabled.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scrooge].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--watch-filesystem", "--no-watch-filesystem"], + "scoped_cmd_line_args": [ + "--scrooge-artifacts" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--watch-filesystem", "--no-watch-filesystem"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "com.twitter:scrooge-generator_2.13:{version}" + ] } ] } }, - "PANTS_WORKDIR": { + "PANTS_SCROOGE_JVM_OPTIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-workdir=", - "config_key": "pants_workdir", - "default": "/tmp/tmp.TG08L3iBWC/.pants.d/workdir", + "comma_separated_display_args": "--scrooge-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-workdir="], - "env_var": "PANTS_WORKDIR", + "display_args": [ + "--scrooge-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCROOGE_JVM_OPTIONS", "fromfile": false, - "help": "Write intermediate logs and output files to this dir.", + "help": "List of JVM options to pass to `scrooge` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-workdir"], + "scoped_cmd_line_args": [ + "--scrooge-jvm-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--pants-workdir"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "/tmp/tmp.TG08L3iBWC/.pants.d/workdir" + "value": [] } ] } }, - "PANTS_WORKUNIT_LOGGER_ENABLED": { + "PANTS_SCROOGE_LOCKFILE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]workunit-logger-enabled", - "config_key": "enabled", - "default": false, + "comma_separated_display_args": "--scrooge-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]workunit-logger-enabled"], - "env_var": "PANTS_WORKUNIT_LOGGER_ENABLED", + "display_args": [ + "--scrooge-lockfile=" + ], + "env_var": "PANTS_SCROOGE_LOCKFILE", "fromfile": false, - "help": "Whether to enable workunit logging.", + "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.19.0rc5/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": [ - "--workunit-logger-enabled", - "--no-workunit-logger-enabled" + "--scrooge-lockfile" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--enabled", "--no-enabled"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -24676,29 +28048,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "" } ] } }, - "PANTS_WORKUNIT_LOGGER_LOGDIR": { + "PANTS_SCROOGE_VERSION": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--workunit-logger-logdir=", - "config_key": "logdir", - "default": ".pants.d", + "comma_separated_display_args": "--scrooge-version=", + "config_key": "version", + "default": "21.12.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--workunit-logger-logdir="], - "env_var": "PANTS_WORKUNIT_LOGGER_LOGDIR", + "display_args": [ + "--scrooge-version=" + ], + "env_var": "PANTS_SCROOGE_VERSION", "fromfile": false, - "help": "Where to write the log to.", + "help": "Version string for the tool. This is available for substitution in the `[scrooge].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--workunit-logger-logdir"], + "scoped_cmd_line_args": [ + "--scrooge-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--logdir"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -24709,29 +28087,37 @@ { "details": null, "rank": "HARDCODED", - "value": ".pants.d" + "value": "21.12.0" } ] } }, - "PANTS_YAMLLINT_ARGS": { + "PANTS_SEMGREP_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-args=\"[, , ...]\"", + "comma_separated_display_args": "--semgrep-args=\"[, , ...]\"", "config_key": "args", - "default": [], + "default": [ + "--quiet" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-args=\"[, , ...]\""], - "env_var": "PANTS_YAMLLINT_ARGS", + "display_args": [ + "--semgrep-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SEMGREP_ARGS", "fromfile": false, - "help": "Arguments to pass directly to Yamllint, e.g. `--yamllint-args='-d relaxed'`.", + "help": "Arguments to pass directly to Semgrep, e.g. `--semgrep-args='--verbose'`.\n\nThis includes --quiet by default to reduce the volume of output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-args"], + "scoped_cmd_line_args": [ + "--semgrep-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -24742,62 +28128,37 @@ { "details": "", "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_YAMLLINT_CONFIG_FILE_NAME": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-config-file-name=", - "config_key": "config_file_name", - "default": ".yamllint", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--yamllint-config-file-name="], - "env_var": "PANTS_YAMLLINT_CONFIG_FILE_NAME", - "fromfile": false, - "help": "Name of a config file understood by yamllint (https://yamllint.readthedocs.io/en/stable/configuration.html). The plugin will search the ancestors of each directory in which YAML files are found for a config file of this name.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-config-file-name"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--config-file-name"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": ".yamllint" + "value": [ + "--quiet" + ] } ] } }, - "PANTS_YAMLLINT_CONSOLE_SCRIPT": { + "PANTS_SEMGREP_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-console-script=", + "comma_separated_display_args": "--semgrep-console-script=", "config_key": "console_script", - "default": "yamllint", + "default": "semgrep", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-console-script="], - "env_var": "PANTS_YAMLLINT_CONSOLE_SCRIPT", + "display_args": [ + "--semgrep-console-script=" + ], + "env_var": "PANTS_SEMGREP_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-console-script"], + "scoped_cmd_line_args": [ + "--semgrep-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -24808,29 +28169,35 @@ { "details": null, "rank": "HARDCODED", - "value": "yamllint" + "value": "semgrep" } ] } }, - "PANTS_YAMLLINT_ENTRY_POINT": { + "PANTS_SEMGREP_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-entry-point=", + "comma_separated_display_args": "--semgrep-entry-point=", "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-entry-point="], - "env_var": "PANTS_YAMLLINT_ENTRY_POINT", + "display_args": [ + "--semgrep-entry-point=" + ], + "env_var": "PANTS_SEMGREP_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-entry-point"], + "scoped_cmd_line_args": [ + "--semgrep-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -24841,90 +28208,71 @@ ] } }, - "PANTS_YAMLLINT_EXCLUDE": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-exclude=\"['', '', ...]\"", - "config_key": "exclude", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--yamllint-exclude=\"['', '', ...]\""], - "env_var": "PANTS_YAMLLINT_EXCLUDE", - "fromfile": false, - "help": "Glob for which YAML files to exclude from linting.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-exclude"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--exclude"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_YAMLLINT_INCLUDE": { + "PANTS_SEMGREP_FORCE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-include=\"['', '', ...]\"", - "config_key": "include", - "default": ["**/*.yml", "**/*.yaml"], + "comma_separated_display_args": "--[no-]semgrep-force", + "config_key": "force", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-include=\"['', '', ...]\""], - "env_var": "PANTS_YAMLLINT_INCLUDE", + "display_args": [ + "--[no-]semgrep-force" + ], + "env_var": "PANTS_SEMGREP_FORCE", "fromfile": false, - "help": "Glob for which YAML files to lint.", + "help": "If true, semgrep is always run, even if the input files haven't changed. This can be used to run cloud rulesets like `pants lint --semgrep-force --semgrep-args='--config=p/python' ::`. Without `--semgrep-force`, using the cloud rulesets may give inconsistent results on different machines, due to caching, because the rulesets may change.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-include"], + "scoped_cmd_line_args": [ + "--semgrep-force", + "--no-semgrep-force" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--include"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force", + "--no-force" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["**/*.yml", "**/*.yaml"] + "value": false } ] } }, - "PANTS_YAMLLINT_INSTALL_FROM_RESOLVE": { + "PANTS_SEMGREP_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-install-from-resolve=", + "comma_separated_display_args": "--semgrep-install-from-resolve=", "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-install-from-resolve="], - "env_var": "PANTS_YAMLLINT_INSTALL_FROM_RESOLVE", + "display_args": [ + "--semgrep-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--yamllint-install-from-resolve"], + "scoped_cmd_line_args": [ + "--semgrep-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -24935,26 +28283,32 @@ ] } }, - "PANTS_YAMLLINT_INTERPRETER_CONSTRAINTS": { + "PANTS_SEMGREP_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-interpreter-constraints=\"['', '', ...]\"", + "comma_separated_display_args": "--semgrep-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--yamllint-interpreter-constraints=\"['', '', ...]\"" + "--semgrep-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_YAMLLINT_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_SEMGREP_INTERPRETER_CONSTRAINTS", "fromfile": false, "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--semgrep-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -24965,29 +28319,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_YAMLLINT_REQUIREMENTS": { + "PANTS_SEMGREP_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yamllint-requirements=\"['', '', ...]\"", + "comma_separated_display_args": "--semgrep-requirements=\"['', '', ...]\"", "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-requirements=\"['', '', ...]\""], - "env_var": "PANTS_YAMLLINT_REQUIREMENTS", + "display_args": [ + "--semgrep-requirements=\"['', '', ...]\"" + ], + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-requirements"], + "scoped_cmd_line_args": [ + "--semgrep-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -25003,24 +28365,32 @@ ] } }, - "PANTS_YAMLLINT_SKIP": { + "PANTS_SEMGREP_SKIP": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]yamllint-skip", + "comma_separated_display_args": "--[no-]semgrep-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]yamllint-skip"], - "env_var": "PANTS_YAMLLINT_SKIP", + "display_args": [ + "--[no-]semgrep-skip" + ], + "env_var": "PANTS_SEMGREP_SKIP", "fromfile": false, - "help": "If true, don't use Yamllint when running `pants lint`.", + "help": "If true, don't use Semgrep when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-skip", "--no-yamllint-skip"], + "scoped_cmd_line_args": [ + "--semgrep-skip", + "--no-semgrep-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -25036,57 +28406,69 @@ ] } }, - "PANTS_YAPF_ARGS": { + "PANTS_SESSION_END_TASKS_TIMEOUT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yapf-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--session-end-tasks-timeout=", + "config_key": "session_end_tasks_timeout", + "default": 3.0, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-args=\"[, , ...]\""], - "env_var": "PANTS_YAPF_ARGS", + "display_args": [ + "--session-end-tasks-timeout=" + ], + "env_var": "PANTS_SESSION_END_TASKS_TIMEOUT", "fromfile": false, - "help": "Arguments to pass directly to yapf, e.g. `--yapf-args='--no-local-style'`.\n\nCertain arguments, specifically `--recursive`, `--in-place`, and `--parallel`, will be ignored because Pants takes care of finding all the relevant files and running the formatting in parallel.", + "help": "The time in seconds to wait for still-running \"session end\" tasks to complete before finishing completion of a Pants invocation. \"Session end\" tasks include, for example, writing data that was generated during the applicable Pants invocation to a configured remote cache.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-args"], + "scoped_cmd_line_args": [ + "--session-end-tasks-timeout" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "float", + "unscoped_cmd_line_args": [ + "--session-end-tasks-timeout" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": 3.0 } ] } }, - "PANTS_YAPF_CONFIG": { + "PANTS_SETUPTOOLS_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yapf-config=", - "config_key": "config", + "comma_separated_display_args": "--setuptools-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-config="], - "env_var": "PANTS_YAPF_CONFIG", + "display_args": [ + "--setuptools-install-from-resolve=" + ], + "env_var": "PANTS_SETUPTOOLS_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Path to style file understood by yapf (https://github.com/google/yapf#formatting-style/).\n\nSetting this option will disable `[yapf].config_discovery`. Use this option if the config is located in a non-standard location.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--yapf-config"], + "scoped_cmd_line_args": [ + "--setuptools-install-from-resolve" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -25097,121 +28479,142 @@ ] } }, - "PANTS_YAPF_CONFIG_DISCOVERY": { + "PANTS_SETUPTOOLS_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]yapf-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--setuptools-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]yapf-config-discovery"], - "env_var": "PANTS_YAPF_CONFIG_DISCOVERY", + "display_args": [ + "--setuptools-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_SETUPTOOLS_REQUIREMENTS", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.style.yapf`, `pyproject.toml`, and `setup.cfg`).\n\nUse `[yapf].config` instead if your config is in a non-standard location.", + "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.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--yapf-config-discovery", - "--no-yapf-config-discovery" + "--setuptools-requirements" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--config-discovery", "--no-config-discovery"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } }, - "PANTS_YAPF_CONSOLE_SCRIPT": { + "PANTS_SETUPTOOLS_SCM_CONSOLE_SCRIPT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yapf-console-script=", + "comma_separated_display_args": "--setuptools-scm-console-script=", "config_key": "console_script", - "default": "yapf", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-console-script="], - "env_var": "PANTS_YAPF_CONSOLE_SCRIPT", + "display_args": [ + "--setuptools-scm-console-script=" + ], + "env_var": "PANTS_SETUPTOOLS_SCM_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-console-script"], + "scoped_cmd_line_args": [ + "--setuptools-scm-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "yapf" } ] } }, - "PANTS_YAPF_ENTRY_POINT": { + "PANTS_SETUPTOOLS_SCM_ENTRY_POINT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yapf-entry-point=", + "comma_separated_display_args": "--setuptools-scm-entry-point=", "config_key": "entry_point", - "default": null, + "default": "setuptools_scm", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-entry-point="], - "env_var": "PANTS_YAPF_ENTRY_POINT", + "display_args": [ + "--setuptools-scm-entry-point=" + ], + "env_var": "PANTS_SETUPTOOLS_SCM_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-entry-point"], + "scoped_cmd_line_args": [ + "--setuptools-scm-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "setuptools_scm" } ] } }, - "PANTS_YAPF_INSTALL_FROM_RESOLVE": { + "PANTS_SETUPTOOLS_SCM_INSTALL_FROM_RESOLVE": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yapf-install-from-resolve=", + "comma_separated_display_args": "--setuptools-scm-install-from-resolve=", "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-install-from-resolve="], - "env_var": "PANTS_YAPF_INSTALL_FROM_RESOLVE", + "display_args": [ + "--setuptools-scm-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--yapf-install-from-resolve"], + "scoped_cmd_line_args": [ + "--setuptools-scm-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -25222,26 +28625,32 @@ ] } }, - "PANTS_YAPF_INTERPRETER_CONSTRAINTS": { + "PANTS_SETUPTOOLS_SCM_INTERPRETER_CONSTRAINTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yapf-interpreter-constraints=\"['', '', ...]\"", + "comma_separated_display_args": "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--yapf-interpreter-constraints=\"['', '', ...]\"" + "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_YAPF_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_SETUPTOOLS_SCM_INTERPRETER_CONSTRAINTS", "fromfile": false, "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--setuptools-scm-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -25252,29 +28661,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } }, - "PANTS_YAPF_REQUIREMENTS": { + "PANTS_SETUPTOOLS_SCM_REQUIREMENTS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--yapf-requirements=\"['', '', ...]\"", + "comma_separated_display_args": "--setuptools-scm-requirements=\"['', '', ...]\"", "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-requirements=\"['', '', ...]\""], - "env_var": "PANTS_YAPF_REQUIREMENTS", + "display_args": [ + "--setuptools-scm-requirements=\"['', '', ...]\"" + ], + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-requirements"], + "scoped_cmd_line_args": [ + "--setuptools-scm-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -25290,24 +28707,245 @@ ] } }, - "PANTS_YAPF_SKIP": { + "PANTS_SETUP_PY_GENERATION_FIRST_PARTY_DEPENDENCY_VERSION_SCHEME": { + "choices": [ + "exact", + "compatible", + "any" + ], + "comma_separated_choices": "exact, compatible, any", + "comma_separated_display_args": "--setup-py-generation-first-party-dependency-version-scheme=", + "config_key": "first_party_dependency_version_scheme", + "default": "exact", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--setup-py-generation-first-party-dependency-version-scheme=" + ], + "env_var": "PANTS_SETUP_PY_GENERATION_FIRST_PARTY_DEPENDENCY_VERSION_SCHEME", + "fromfile": false, + "help": "What version to set in `install_requires` when a `python_distribution` depends on other `python_distribution`s. If `exact`, will use `==`. If `compatible`, will use `~=`. If `any`, will leave off the version. See https://www.python.org/dev/peps/pep-0440/#version-specifiers.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--setup-py-generation-first-party-dependency-version-scheme" + ], + "target_field_name": null, + "typ": "FirstPartyDependencyVersionScheme", + "unscoped_cmd_line_args": [ + "--first-party-dependency-version-scheme" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "exact" + } + ] + } + }, + "PANTS_SETUP_PY_GENERATION_GENERATE_SETUP_DEFAULT": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]yapf-skip", + "comma_separated_display_args": "--[no-]setup-py-generation-generate-setup-default", + "config_key": "generate_setup_default", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]setup-py-generation-generate-setup-default" + ], + "env_var": "PANTS_SETUP_PY_GENERATION_GENERATE_SETUP_DEFAULT", + "fromfile": false, + "help": "The default value for the `generate_setup` field on `python_distribution` targets. Can be overridden per-target by setting that field explicitly. Set this to False if you mostly rely on handwritten setup files (`setup.py`, `setup.cfg` and similar). Leave as True if you mostly rely on Pants generating setup files for you.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--setup-py-generation-generate-setup-default", + "--no-setup-py-generation-generate-setup-default" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--generate-setup-default", + "--no-generate-setup-default" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_SHELLCHECK_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shellcheck-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shellcheck-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SHELLCHECK_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to Shellcheck, e.g. `--shellcheck-args='-e SC20529'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shellcheck-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_SHELLCHECK_CONFIG_DISCOVERY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shellcheck-config-discovery", + "config_key": "config_discovery", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]shellcheck-config-discovery" + ], + "env_var": "PANTS_SHELLCHECK_CONFIG_DISCOVERY", + "fromfile": false, + "help": "If true, Pants will include all relevant `.shellcheckrc` and `shellcheckrc` files during runs. See https://www.mankier.com/1/shellcheck#RC_Files for where these can be located.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shellcheck-config-discovery", + "--no-shellcheck-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_SHELLCHECK_KNOWN_VERSIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shellcheck-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v0.8.0|macos_arm64 |36dffd536b801c8bab2e9fa468163037e0c7f7e0a05298e5ad6299b4dde67e31|14525367", + "v0.8.0|macos_x86_64|4e93a76ee116b2f08c88e25011830280ad0d61615d8346364a4ea564b29be3f0|6310442", + "v0.8.0|linux_arm64 |8f4810485425636eadce2ec23441fd29d5b1b58d239ffda0a5faf8dd499026f5|4884430", + "v0.8.0|linux_x86_64|01d181787ffe63ebb0a2293f63bdc8455c5c30d3a6636320664bfa278424638f|2082242" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shellcheck-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_SHELLCHECK_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": [ + "--shellcheck-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": [ + "v0.8.0|macos_arm64 |36dffd536b801c8bab2e9fa468163037e0c7f7e0a05298e5ad6299b4dde67e31|14525367", + "v0.8.0|macos_x86_64|4e93a76ee116b2f08c88e25011830280ad0d61615d8346364a4ea564b29be3f0|6310442", + "v0.8.0|linux_arm64 |8f4810485425636eadce2ec23441fd29d5b1b58d239ffda0a5faf8dd499026f5|4884430", + "v0.8.0|linux_x86_64|01d181787ffe63ebb0a2293f63bdc8455c5c30d3a6636320664bfa278424638f|2082242" + ] + } + ] + } + }, + "PANTS_SHELLCHECK_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shellcheck-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]yapf-skip"], - "env_var": "PANTS_YAPF_SKIP", + "display_args": [ + "--[no-]shellcheck-skip" + ], + "env_var": "PANTS_SHELLCHECK_SKIP", "fromfile": false, - "help": "If true, don't use yapf when running `pants fmt` and `pants lint`.", + "help": "If true, don't use Shellcheck when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-skip", "--no-yapf-skip"], + "scoped_cmd_line_args": [ + "--shellcheck-skip", + "--no-shellcheck-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -25322,478 +28960,14915 @@ } ] } - } - }, - "name_to_api_type_info": { - "abc.EnvironmentAware": { - "consumed_by_rules": [ - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool" - ], - "dependencies": ["pants.core", "pants.engine.env_vars"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": null, - "is_union": false, - "module": "abc", - "name": "EnvironmentAware", - "provider": "pants.backend.codegen.thrift.apache.python", - "returned_by_rules": ["construct_env_aware_scope_apache_thrift"], - "union_members": [], - "union_type": null, - "used_in_rules": [] }, - "builtins.AddPrefix": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "", - "is_union": false, - "module": "builtins", - "name": "AddPrefix", - "provider": "builtins", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins", - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.link.link_go_binary", - "pants.backend.helm.goals.package.run_helm_package", - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.java.bsp.rules.bsp_java_resources_request", - "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", - "pants.backend.javascript.install_node_package.install_node_packages_for_address", - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.bsp.rules.bsp_scala_resources_request", - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", - "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.core.goals.export.export", - "pants.core.target_types.relocate_files", - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.package.war.package_war", - "pants.jvm.package.war.render_war_content", - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.strip_jar" - ] + "PANTS_SHELLCHECK_URL_PLATFORM_MAPPING": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shellcheck-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux.aarch64", + "linux_x86_64": "linux.x86_64", + "macos_arm64": "darwin.aarch64", + "macos_x86_64": "darwin.x86_64" + }, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shellcheck-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SHELLCHECK_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": [ + "--shellcheck-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.aarch64", + "linux_x86_64": "linux.x86_64", + "macos_arm64": "darwin.aarch64", + "macos_x86_64": "darwin.x86_64" + } + } + ] + } }, - "builtins.AddressInput": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "", - "is_union": false, - "module": "builtins", - "name": "AddressInput", - "provider": "builtins", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", - "pants.backend.go.util_rules.go_mod.find_owning_go_mod", - "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping", - "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", - "pants.backend.helm.util_rules.chart.find_chart_for_deployment", - "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "pants.backend.terraform.dependencies.init_terraform", - "pants.engine.internals.graph.determine_explicitly_provided_dependencies", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_unparsed_address_inputs", - "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile" - ] + "PANTS_SHELLCHECK_URL_TEMPLATE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shellcheck-url-template=", + "config_key": "url_template", + "default": "https://github.com/vscode-shellcheck/shellcheck-binaries/releases/download/{version}/shellcheck-{version}.{platform}.tar.gz", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shellcheck-url-template=" + ], + "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/v2.19/docs/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": [ + "--shellcheck-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/vscode-shellcheck/shellcheck-binaries/releases/download/{version}/shellcheck-{version}.{platform}.tar.gz" + } + ] + } }, - "builtins.Digest": { - "consumed_by_rules": [ - "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest" + "PANTS_SHELLCHECK_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" ], - "dependencies": [ - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.go.goals.generate", - "pants.backend.helm.util_rules.chart_metadata", - "pants.engine.fs", - "pants.jvm.jar_tool.jar_tool", - "pants.jvm.strip_jar.strip_jar" + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--shellcheck-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shellcheck-use-unsupported-version=" ], - "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python", - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.yamllint", - "pants.backend.project_info", - "pants.backend.python", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.yapf", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt", - "pants.core" + "env_var": "PANTS_SHELLCHECK_USE_UNSUPPORTED_VERSION", + "fromfile": false, + "help": "\nWhat action to take in case the requested version of Shellcheck is not supported.\n\nSupported Shellcheck versions: unspecified\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shellcheck-use-unsupported-version" ], - "documentation": "", - "is_union": false, - "module": "builtins", - "name": "Digest", - "provider": "builtins, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.core", - "returned_by_rules": [ - "pants.backend.go.goals.generate.merge_digests_with_overwrite", - "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata", - "pants.core.util_rules.archive.create_archive", - "pants.jvm.jar_tool.jar_tool.run_jar_tool", - "pants.jvm.strip_jar.strip_jar.strip_jar" + "target_field_name": null, + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "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", + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "error" + } + ] + } + }, + "PANTS_SHELLCHECK_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shellcheck-version=", + "config_key": "version", + "default": "v0.8.0", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shellcheck-version=" + ], + "env_var": "PANTS_SHELLCHECK_VERSION", + "fromfile": false, + "help": "Use this version of Shellcheck.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shellcheck-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": "v0.8.0" + } + ] + } + }, + "PANTS_SHELL_SETUP_DEPENDENCY_INFERENCE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shell-setup-dependency-inference", + "config_key": "dependency_inference", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]shell-setup-dependency-inference" + ], + "env_var": "PANTS_SHELL_SETUP_DEPENDENCY_INFERENCE", + "fromfile": false, + "help": "Infer Shell dependencies on other Shell files by analyzing `source` statements.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shell-setup-dependency-inference", + "--no-shell-setup-dependency-inference" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--dependency-inference", + "--no-dependency-inference" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_SHELL_SETUP_EXECUTABLE_SEARCH_PATHS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shell-setup-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shell-setup-executable-search-paths=\"[, , ...]\"" + ], + "env_var": "PANTS_SHELL_SETUP_EXECUTABLE_SEARCH_PATHS", + "fromfile": false, + "help": "The PATH value that will be used to find shells and to run certain processes like the shunit2 test runner. The special string `\"\"` will expand to the contents of the PATH env var.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shell-setup-executable-search-paths" + ], + "target_field_name": "shell_setup_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_SHELL_SETUP_TAILOR": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shell-setup-tailor", + "config_key": "tailor", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]shell-setup-tailor" + ], + "env_var": "PANTS_SHELL_SETUP_TAILOR", + "fromfile": false, + "help": "If true, add `shell_sources` and `shunit2_tests` targets with the `tailor` goal.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shell-setup-tailor", + "--no-shell-setup-tailor" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_SHELL_TEST_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shell-test-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]shell-test-skip" + ], + "env_var": "PANTS_SHELL_TEST_SKIP", + "fromfile": false, + "help": "If true, don't use Test with shell scripts when running `pants test`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shell-test-skip", + "--no-shell-test-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_SHFMT_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shfmt-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shfmt-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SHFMT_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to shfmt, e.g. `--shfmt-args='-i 2'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shfmt-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_SHFMT_CONFIG_DISCOVERY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shfmt-config-discovery", + "config_key": "config_discovery", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]shfmt-config-discovery" + ], + "env_var": "PANTS_SHFMT_CONFIG_DISCOVERY", + "fromfile": false, + "help": "If true, Pants will include all relevant `.editorconfig` files during runs. See https://editorconfig.org.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shfmt-config-discovery", + "--no-shfmt-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_SHFMT_KNOWN_VERSIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shfmt-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546", + "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208", + "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512", + "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568", + "v3.6.0|macos_arm64 |633f242246ee0a866c5f5df25cbf61b6af0d5e143555aca32950059cf13d91e0|3065202", + "v3.6.0|macos_x86_64|b8c9c025b498e2816b62f0b717f6032e9ab49e725a45b8205f52f66318f17185|3047552", + "v3.6.0|linux_arm64 |fb1cf0af3dbe9aac7d98e38e3c7426765208ecfe23cb2da51037bb234776fd70|2818048", + "v3.6.0|linux_x86_64|5741a02a641de7e56b8da170e71a97e58050d66a3cf485fb268d6a5a8bb74afb|2850816" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shfmt-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_SHFMT_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": [ + "--shfmt-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": [ + "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546", + "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208", + "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512", + "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568", + "v3.6.0|macos_arm64 |633f242246ee0a866c5f5df25cbf61b6af0d5e143555aca32950059cf13d91e0|3065202", + "v3.6.0|macos_x86_64|b8c9c025b498e2816b62f0b717f6032e9ab49e725a45b8205f52f66318f17185|3047552", + "v3.6.0|linux_arm64 |fb1cf0af3dbe9aac7d98e38e3c7426765208ecfe23cb2da51037bb234776fd70|2818048", + "v3.6.0|linux_x86_64|5741a02a641de7e56b8da170e71a97e58050d66a3cf485fb268d6a5a8bb74afb|2850816" + ] + } + ] + } + }, + "PANTS_SHFMT_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shfmt-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]shfmt-skip" + ], + "env_var": "PANTS_SHFMT_SKIP", + "fromfile": false, + "help": "If true, don't use shfmt when running `pants fmt` and `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shfmt-skip", + "--no-shfmt-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_SHFMT_URL_PLATFORM_MAPPING": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shfmt-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + }, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shfmt-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SHFMT_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": [ + "--shfmt-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", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + } + } + ] + } + }, + "PANTS_SHFMT_URL_TEMPLATE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shfmt-url-template=", + "config_key": "url_template", + "default": "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shfmt-url-template=" + ], + "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/v2.19/docs/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": [ + "--shfmt-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/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}" + } + ] + } + }, + "PANTS_SHFMT_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--shfmt-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shfmt-use-unsupported-version=" + ], + "env_var": "PANTS_SHFMT_USE_UNSUPPORTED_VERSION", + "fromfile": false, + "help": "\nWhat action to take in case the requested version of shfmt is not supported.\n\nSupported shfmt versions: unspecified\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shfmt-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_SHFMT_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shfmt-version=", + "config_key": "version", + "default": "v3.6.0", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shfmt-version=" + ], + "env_var": "PANTS_SHFMT_VERSION", + "fromfile": false, + "help": "Use this version of shfmt.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shfmt-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": "v3.6.0" + } + ] + } + }, + "PANTS_SHOW_LOG_TARGET": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]show-log-target", + "config_key": "show_log_target", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]show-log-target" + ], + "env_var": "PANTS_SHOW_LOG_TARGET", + "fromfile": false, + "help": "Display the target where a log message originates in that log message's output. This can be helpful when paired with `--log-levels-by-target`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--show-log-target", + "--no-show-log-target" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--show-log-target", + "--no-show-log-target" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_SHUNIT2_KNOWN_VERSIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shunit2-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "b9102bb763cc603b3115ed30a5648bf950548097|macos_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|macos_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|linux_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|linux_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shunit2-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_SHUNIT2_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": [ + "--shunit2-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": [ + "b9102bb763cc603b3115ed30a5648bf950548097|macos_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|macos_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|linux_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|linux_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987" + ] + } + ] + } + }, + "PANTS_SHUNIT2_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shunit2-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]shunit2-skip" + ], + "env_var": "PANTS_SHUNIT2_SKIP", + "fromfile": false, + "help": "If true, don't use shunit2 when running `pants test`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shunit2-skip", + "--no-shunit2-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_SHUNIT2_URL_PLATFORM_MAPPING": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shunit2-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": {}, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shunit2-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SHUNIT2_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": [ + "--shunit2-url-platform-mapping" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + } + ] + } + }, + "PANTS_SHUNIT2_URL_TEMPLATE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shunit2-url-template=", + "config_key": "url_template", + "default": "https://raw.githubusercontent.com/kward/shunit2/{version}/shunit2", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shunit2-url-template=" + ], + "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/v2.19/docs/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": [ + "--shunit2-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://raw.githubusercontent.com/kward/shunit2/{version}/shunit2" + } + ] + } + }, + "PANTS_SHUNIT2_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--shunit2-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shunit2-use-unsupported-version=" + ], + "env_var": "PANTS_SHUNIT2_USE_UNSUPPORTED_VERSION", + "fromfile": false, + "help": "\nWhat action to take in case the requested version of shunit2 is not supported.\n\nSupported shunit2 versions: unspecified\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shunit2-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_SHUNIT2_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--shunit2-version=", + "config_key": "version", + "default": "b9102bb763cc603b3115ed30a5648bf950548097", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--shunit2-version=" + ], + "env_var": "PANTS_SHUNIT2_VERSION", + "fromfile": false, + "help": "Use this version of shunit2.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--shunit2-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": "b9102bb763cc603b3115ed30a5648bf950548097" + } + ] + } + }, + "PANTS_SOURCE_MARKER_FILENAMES": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--source-marker-filenames=\"[filename, filename, ...]\"", + "config_key": "marker_filenames", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--source-marker-filenames=\"[filename, filename, ...]\"" + ], + "env_var": "PANTS_SOURCE_MARKER_FILENAMES", + "fromfile": false, + "help": "The presence of a file of this name in a directory indicates that the directory is a source root. The content of the file doesn't matter, and may be empty. Useful when you can't or don't wish to centrally enumerate source roots via `root_patterns`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--source-marker-filenames" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--marker-filenames" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_SOURCE_ROOT_PATTERNS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--source-root-patterns=\"[[\"pattern1\", \"pattern2\", ...], [\"pattern1\", \"pattern2\", ...], ...]\"", + "config_key": "root_patterns", + "default": [ + "/", + "src", + "src/python", + "src/py", + "src/thrift", + "src/protobuf", + "src/protos", + "src/scala", + "src/java" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--source-root-patterns=\"[[\"pattern1\", \"pattern2\", ...], [\"pattern1\", \"pattern2\", ...], ...]\"" + ], + "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/v2.19/docs/source-roots.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--source-root-patterns" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--root-patterns" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "/", + "src", + "src/python", + "src/py", + "src/thrift", + "src/protobuf", + "src/protos", + "src/scala", + "src/java" + ] + } + ] + } + }, + "PANTS_SPECTRAL_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--spectral-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--spectral-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SPECTRAL_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to Spectral, e.g. `--spectral-args='--fail-severity=warn'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--spectral-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_SPECTRAL_INSTALL_FROM_RESOLVE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--spectral-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--spectral-install-from-resolve=" + ], + "env_var": "PANTS_SPECTRAL_INSTALL_FROM_RESOLVE", + "fromfile": false, + "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--spectral-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_SPECTRAL_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]spectral-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]spectral-skip" + ], + "env_var": "PANTS_SPECTRAL_SKIP", + "fromfile": false, + "help": "If true, don't use Spectral when running `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--spectral-skip", + "--no-spectral-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_SPECTRAL_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--spectral-version=", + "config_key": "version", + "default": "@stoplight/spectral-cli@6.5.1", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--spectral-version=" + ], + "env_var": "PANTS_SPECTRAL_VERSION", + "fromfile": false, + "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--spectral-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": "@stoplight/spectral-cli@6.5.1" + } + ] + } + }, + "PANTS_SPEC_FILES": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--spec-files=\"['', '', ...]\"", + "config_key": "spec_files", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--spec-files=\"['', '', ...]\"" + ], + "env_var": "PANTS_SPEC_FILES", + "fromfile": false, + "help": "Read additional specs (target addresses, files, and/or globs), one per line, from these files.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--spec-files" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--spec-files" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_STATS_LOG": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]stats-log", + "config_key": "log", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]stats-log" + ], + "env_var": "PANTS_STATS_LOG", + "fromfile": false, + "help": "At the end of the Pants run, log all counter metrics and summaries of observation histograms, e.g. the number of cache hits and the time saved by caching.\n\nFor histogram summaries to work, you must add `hdrhistogram` to `[GLOBAL].plugins`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--stats-log", + "--no-stats-log" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--log", + "--no-log" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_STATS_MEMORY_SUMMARY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]stats-memory-summary", + "config_key": "memory_summary", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]stats-memory-summary" + ], + "env_var": "PANTS_STATS_MEMORY_SUMMARY", + "fromfile": false, + "help": "At the end of the Pants run, report a summary of memory usage.\n\nKeys are the total size in bytes, the count, and the name. Note that the total size is for all instances added together, so you can use total_size // count to get the average size.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--stats-memory-summary", + "--no-stats-memory-summary" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--memory-summary", + "--no-memory-summary" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_STATS_RECORD_OPTION_SCOPES": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--stats-record-option-scopes=\"['', '', ...]\"", + "config_key": "stats_record_option_scopes", + "default": [ + "*" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--stats-record-option-scopes=\"['', '', ...]\"" + ], + "env_var": "PANTS_STATS_RECORD_OPTION_SCOPES", + "fromfile": false, + "help": "Option scopes to record in stats on run completion. Options may be selected by joining the scope and the option with a ^ character, i.e. to get option `pantsd` in the GLOBAL scope, you'd pass `GLOBAL^pantsd`. Add a '*' to the list to capture all known scopes.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--stats-record-option-scopes" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--stats-record-option-scopes" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "*" + ] + } + ] + } + }, + "PANTS_STREAMING_WORKUNITS_COMPLETE_ASYNC": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]streaming-workunits-complete-async", + "config_key": "streaming_workunits_complete_async", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]streaming-workunits-complete-async" + ], + "env_var": "PANTS_STREAMING_WORKUNITS_COMPLETE_ASYNC", + "fromfile": false, + "help": "True if stats recording should be allowed to complete asynchronously when `pantsd` is enabled. When `pantsd` is disabled, stats recording is always synchronous. To reduce data loss, this flag defaults to false inside of containers, such as when run with Docker.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--streaming-workunits-complete-async", + "--no-streaming-workunits-complete-async" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--streaming-workunits-complete-async", + "--no-streaming-workunits-complete-async" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_STREAMING_WORKUNITS_LEVEL": { + "choices": [ + "trace", + "debug", + "info", + "warn", + "error" + ], + "comma_separated_choices": "trace, debug, info, warn, error", + "comma_separated_display_args": "--streaming-workunits-level=", + "config_key": "streaming_workunits_level", + "default": "debug", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--streaming-workunits-level=" + ], + "env_var": "PANTS_STREAMING_WORKUNITS_LEVEL", + "fromfile": false, + "help": "The level of workunits that will be reported to streaming workunit event receivers.\n\nWorkunits form a tree, and even when workunits are filtered out by this setting, the workunit tree structure will be preserved (by adjusting the parent pointers of the remaining workunits).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--streaming-workunits-level" + ], + "target_field_name": null, + "typ": "LogLevel", + "unscoped_cmd_line_args": [ + "--streaming-workunits-level" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "debug" + } + ] + } + }, + "PANTS_STREAMING_WORKUNITS_REPORT_INTERVAL": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--streaming-workunits-report-interval=", + "config_key": "streaming_workunits_report_interval", + "default": 1.0, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--streaming-workunits-report-interval=" + ], + "env_var": "PANTS_STREAMING_WORKUNITS_REPORT_INTERVAL", + "fromfile": false, + "help": "Interval in seconds between when streaming workunit event receivers will be polled.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--streaming-workunits-report-interval" + ], + "target_field_name": null, + "typ": "float", + "unscoped_cmd_line_args": [ + "--streaming-workunits-report-interval" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 1.0 + } + ] + } + }, + "PANTS_SUBPROCESSDIR": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-subprocessdir=", + "config_key": "pants_subprocessdir", + "default": "/home/runner/work/pantsbuild.org/pantsbuild.org/.pants.d/pids", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-subprocessdir=" + ], + "env_var": "PANTS_SUBPROCESSDIR", + "fromfile": false, + "help": "The directory to use for tracking subprocess metadata. This should live outside of the dir used by `pants_workdir` to allow for tracking subprocesses that outlive the workdir data.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-subprocessdir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-subprocessdir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/home/runner/work/pantsbuild.org/pantsbuild.org/.pants.d/pids" + } + ] + } + }, + "PANTS_SUBPROCESS_ENVIRONMENT_ENV_VARS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--subprocess-environment-env-vars=\"['', '', ...]\"", + "config_key": "env_vars", + "default": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "SSL_CERT_FILE", + "SSL_CERT_DIR" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--subprocess-environment-env-vars=\"['', '', ...]\"" + ], + "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/v2.19/docs/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": [ + "--subprocess-environment-env-vars" + ], + "target_field_name": "subprocess_environment_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--env-vars" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "SSL_CERT_FILE", + "SSL_CERT_DIR" + ] + } + ] + } + }, + "PANTS_SUBPROJECT_ROOTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--subproject-roots=\"['', '', ...]\"", + "config_key": "subproject_roots", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--subproject-roots=\"['', '', ...]\"" + ], + "env_var": "PANTS_SUBPROJECT_ROOTS", + "fromfile": false, + "help": "Paths that correspond with build roots for any subproject that this project depends on.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--subproject-roots" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--subproject-roots" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_SYSTEM_BINARIES_SYSTEM_BINARY_PATHS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--system-binaries-system-binary-paths=\"['', '', ...]\"", + "config_key": "system_binary_paths", + "default": [ + "/usr/bin", + "/bin", + "/usr/local/bin", + "/opt/homebrew/bin" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--system-binaries-system-binary-paths=\"['', '', ...]\"" + ], + "env_var": "PANTS_SYSTEM_BINARIES_SYSTEM_BINARY_PATHS", + "fromfile": false, + "help": "The PATH value that will searched for executables.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--system-binaries-system-binary-paths" + ], + "target_field_name": "system_binaries_system_binary_paths", + "typ": "list", + "unscoped_cmd_line_args": [ + "--system-binary-paths" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "/usr/bin", + "/bin", + "/usr/local/bin", + "/opt/homebrew/bin" + ] + } + ] + } + }, + "PANTS_TAG": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tag=\"[[+-]tag1,tag2,..., [+-]tag1,tag2,..., ...]\"", + "config_key": "tag", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--tag=\"[[+-]tag1,tag2,..., [+-]tag1,tag2,..., ...]\"" + ], + "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/v2.19/docs/advanced-target-selection.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tag" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--tag" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TAILOR_ALIAS_MAPPING": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tailor-alias-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "alias_mapping", + "default": {}, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--tailor-alias-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "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/v2.19/docs/macros).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tailor-alias-mapping" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--alias-mapping" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} + } + ] + } + }, + "PANTS_TAILOR_BUILD_FILE_HEADER": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tailor-build-file-header=", + "config_key": "build_file_header", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--tailor-build-file-header=" + ], + "env_var": "PANTS_TAILOR_BUILD_FILE_HEADER", + "fromfile": false, + "help": "A header, e.g., a copyright notice, to add to the content of created BUILD files.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tailor-build-file-header" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--build-file-header" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_TAILOR_BUILD_FILE_INDENT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tailor-build-file-indent=", + "config_key": "build_file_indent", + "default": " ", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--tailor-build-file-indent=" + ], + "env_var": "PANTS_TAILOR_BUILD_FILE_INDENT", + "fromfile": false, + "help": "The indent to use when auto-editing BUILD files.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tailor-build-file-indent" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--build-file-indent" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": " " + } + ] + } + }, + "PANTS_TAILOR_BUILD_FILE_NAME": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tailor-build-file-name=", + "config_key": "build_file_name", + "default": "BUILD", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--tailor-build-file-name=" + ], + "env_var": "PANTS_TAILOR_BUILD_FILE_NAME", + "fromfile": false, + "help": "The name to use for generated BUILD files.\n\nThis must be compatible with `[GLOBAL].build_patterns`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tailor-build-file-name" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--build-file-name" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "BUILD" + } + ] + } + }, + "PANTS_TAILOR_CHECK": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]tailor-check", + "config_key": "check", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]tailor-check" + ], + "env_var": "PANTS_TAILOR_CHECK", + "fromfile": false, + "help": "Do not write changes to disk, only write back what would change. Return code 0 means there would be no changes, and 1 means that there would be.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tailor-check", + "--no-tailor-check" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--check", + "--no-check" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TAILOR_IGNORE_ADDING_TARGETS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tailor-ignore-adding-targets=\"['', '', ...]\"", + "config_key": "ignore_adding_targets", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--tailor-ignore-adding-targets=\"['', '', ...]\"" + ], + "env_var": "PANTS_TAILOR_IGNORE_ADDING_TARGETS", + "fromfile": false, + "help": "Do not add these target definitions.\n\nExpects a list of target addresses that would normally be added by `tailor`, e.g. `['project:tgt']`. To find these names, you can run `tailor --check`, then combine the BUILD file path with the target's name. For example, if `tailor` would add the target `bin` to `project/BUILD`, then the address would be `project:bin`. If the BUILD file is at the root of your repository, use `//` for the path, e.g. `//:bin`.\n\nDoes not work with macros.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tailor-ignore-adding-targets" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--ignore-adding-targets" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TAILOR_IGNORE_PATHS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tailor-ignore-paths=\"['', '', ...]\"", + "config_key": "ignore_paths", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--tailor-ignore-paths=\"['', '', ...]\"" + ], + "env_var": "PANTS_TAILOR_IGNORE_PATHS", + "fromfile": false, + "help": "Do not edit or create BUILD files at these paths.\n\nCan use literal file names and/or globs, e.g. `['project/BUILD, 'ignore_me/**']`.\n\nThis augments the option `[GLOBAL].build_ignore`, which tells Pants to also not _read_ BUILD files at certain paths. In contrast, this option only tells Pants to not edit/create BUILD files at the specified paths.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tailor-ignore-paths" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--ignore-paths" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TAPLO_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--taplo-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--taplo-args=\"[, , ...]\"" + ], + "env_var": "PANTS_TAPLO_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to Taplo, e.g. `--taplo-args='--option=align_entries=false'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--taplo-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TAPLO_CONFIG_DISCOVERY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]taplo-config-discovery", + "config_key": "config_discovery", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]taplo-config-discovery" + ], + "env_var": "PANTS_TAPLO_CONFIG_DISCOVERY", + "fromfile": false, + "help": "If true, Pants will include a `taplo.toml` or `.taplo.toml` file found in the build root during a run.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--taplo-config-discovery", + "--no-taplo-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_TAPLO_GLOB_PATTERN": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--taplo-glob-pattern=\"['', '', ...]\"", + "config_key": "glob_pattern", + "default": [ + "**/*.toml", + "!.taplo.toml", + "!taplo.toml" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--taplo-glob-pattern=\"['', '', ...]\"" + ], + "env_var": "PANTS_TAPLO_GLOB_PATTERN", + "fromfile": false, + "help": "A list of glob patterns of files to include/exclude in formatting relative to the build root. Leading exclamation points exclude an item from formatting.\n\nExample:\n\n [\"**/*.toml\", \"**/pyproject.toml\", \"!pyproject.toml\"]\n\nThe default includes all files with a `.toml` extension recursively and excludes `.taplo.toml` or `taplo.toml` files in the build root.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--taplo-glob-pattern" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--glob-pattern" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "**/*.toml", + "!.taplo.toml", + "!taplo.toml" + ] + } + ] + } + }, + "PANTS_TAPLO_KNOWN_VERSIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--taplo-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "0.8.0|macos_arm64|79c1691c3c46be981fa0cec930ec9a6d6c4ffd27272d37d1885514ce59bd8ccf|3661689", + "0.8.0|macos_x86_64|a1917f1b9168cb4f7d579422dcdf9c733028d873963d8fa3a6f499e41719c502|3926263", + "0.8.0|linux_arm64|a6a94482f125c21090593f94cad23df099c4924f5b9620cda4a8653527c097a1|3995383", + "0.8.0|linux_x86_64|3703294fac37ca9a9f76308f9f98c3939ccb7588f8972acec68a48d7a10d8ee5|4123593" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--taplo-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_TAPLO_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": [ + "--taplo-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": [ + "0.8.0|macos_arm64|79c1691c3c46be981fa0cec930ec9a6d6c4ffd27272d37d1885514ce59bd8ccf|3661689", + "0.8.0|macos_x86_64|a1917f1b9168cb4f7d579422dcdf9c733028d873963d8fa3a6f499e41719c502|3926263", + "0.8.0|linux_arm64|a6a94482f125c21090593f94cad23df099c4924f5b9620cda4a8653527c097a1|3995383", + "0.8.0|linux_x86_64|3703294fac37ca9a9f76308f9f98c3939ccb7588f8972acec68a48d7a10d8ee5|4123593" + ] + } + ] + } + }, + "PANTS_TAPLO_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]taplo-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]taplo-skip" + ], + "env_var": "PANTS_TAPLO_SKIP", + "fromfile": false, + "help": "If true, don't use Taplo when running `pants fmt` and `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--taplo-skip", + "--no-taplo-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TAPLO_URL_PLATFORM_MAPPING": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--taplo-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-aarch64", + "linux_x86_64": "linux-x86_64", + "macos_arm64": "darwin-aarch64", + "macos_x86_64": "darwin-x86_64" + }, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--taplo-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_TAPLO_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": [ + "--taplo-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-aarch64", + "linux_x86_64": "linux-x86_64", + "macos_arm64": "darwin-aarch64", + "macos_x86_64": "darwin-x86_64" + } + } + ] + } + }, + "PANTS_TAPLO_URL_TEMPLATE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--taplo-url-template=", + "config_key": "url_template", + "default": "https://github.com/tamasfe/taplo/releases/download/{version}/taplo-{platform}.gz", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--taplo-url-template=" + ], + "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/v2.19/docs/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": [ + "--taplo-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/tamasfe/taplo/releases/download/{version}/taplo-{platform}.gz" + } + ] + } + }, + "PANTS_TAPLO_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--taplo-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--taplo-use-unsupported-version=" + ], + "env_var": "PANTS_TAPLO_USE_UNSUPPORTED_VERSION", + "fromfile": false, + "help": "\nWhat action to take in case the requested version of Taplo is not supported.\n\nSupported Taplo versions: unspecified\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--taplo-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_TAPLO_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--taplo-version=", + "config_key": "version", + "default": "0.8.0", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--taplo-version=" + ], + "env_var": "PANTS_TAPLO_VERSION", + "fromfile": false, + "help": "Use this version of Taplo.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--taplo-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": "0.8.0" + } + ] + } + }, + "PANTS_TERRAFORM_FMT_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]terraform-fmt-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]terraform-fmt-skip" + ], + "env_var": "PANTS_TERRAFORM_FMT_SKIP", + "fromfile": false, + "help": "If true, don't use `terraform fmt` when running `pants fmt` and `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-fmt-skip", + "--no-terraform-fmt-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TERRAFORM_HCL2_PARSER_INSTALL_FROM_RESOLVE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--terraform-hcl2-parser-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--terraform-hcl2-parser-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--terraform-hcl2-parser-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_TERRAFORM_HCL2_PARSER_INTERPRETER_CONSTRAINTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INTERPRETER_CONSTRAINTS", + "fromfile": false, + "help": "Python interpreter constraints for this tool.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-hcl2-parser-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": [ + "CPython>=3.7,<4" + ] + } + ] + } + }, + "PANTS_TERRAFORM_HCL2_PARSER_REQUIREMENTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--terraform-hcl2-parser-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--terraform-hcl2-parser-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-hcl2-parser-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TERRAFORM_TFSEC_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--terraform-tfsec-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--terraform-tfsec-args=\"[, , ...]\"" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to tfsec, e.g. `--terraform-tfsec-args='--minimum-severity=MEDIUM'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-tfsec-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TERRAFORM_TFSEC_CONFIG": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--terraform-tfsec-config=", + "config_key": "config", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--terraform-tfsec-config=" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_CONFIG", + "fromfile": false, + "help": "Path to the tfsec config file (https://aquasecurity.github.io/tfsec/latest/guides/configuration/config/)\n\nSetting this option will disable `[terraform-tfsec].config_discovery`. Use this option if the config is located in a non-standard location.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-tfsec-config" + ], + "target_field_name": null, + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_TERRAFORM_TFSEC_CONFIG_DISCOVERY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]terraform-tfsec-config-discovery", + "config_key": "config_discovery", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]terraform-tfsec-config-discovery" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_CONFIG_DISCOVERY", + "fromfile": false, + "help": "If true, Pants will include all relevant config files during runs (`.tfsec/config.json` or `.tfsec/config.yml`). Note that you will have to tell Pants to include this file by adding `\"!.tfsec/\"` to `[global].pants_ignore.add`.\n\nUse `[terraform-tfsec].config` instead if your config is in a non-standard location.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-tfsec-config-discovery", + "--no-terraform-tfsec-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_TERRAFORM_TFSEC_KNOWN_VERSIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--terraform-tfsec-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v1.28.1|linux_x86_64|57b902b31da3eed12448a4e82a8aca30477e4bcd1bf99e3f65310eae0889f88d|26427634" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--terraform-tfsec-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_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": [ + "--terraform-tfsec-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": [ + "v1.28.1|linux_x86_64|57b902b31da3eed12448a4e82a8aca30477e4bcd1bf99e3f65310eae0889f88d|26427634" + ] + } + ] + } + }, + "PANTS_TERRAFORM_TFSEC_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]terraform-tfsec-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]terraform-tfsec-skip" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_SKIP", + "fromfile": false, + "help": "If true, don't use tfsec when running `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-tfsec-skip", + "--no-terraform-tfsec-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TERRAFORM_TFSEC_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--terraform-tfsec-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--terraform-tfsec-use-unsupported-version=" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_USE_UNSUPPORTED_VERSION", + "fromfile": false, + "help": "\nWhat action to take in case the requested version of tfsec is not supported.\n\nSupported tfsec versions: unspecified\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-tfsec-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_TERRAFORM_TFSEC_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--terraform-tfsec-version=", + "config_key": "version", + "default": "v1.28.1", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--terraform-tfsec-version=" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_VERSION", + "fromfile": false, + "help": "Use this version of tfsec.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-tfsec-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": "v1.28.1" + } + ] + } + }, + "PANTS_TERRAFORM_VALIDATE_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]terraform-validate-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]terraform-validate-skip" + ], + "env_var": "PANTS_TERRAFORM_VALIDATE_SKIP", + "fromfile": false, + "help": "If true, don't use `terraform validate` when running `pants check`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--terraform-validate-skip", + "--no-terraform-validate-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TEST_ATTEMPTS_DEFAULT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--test-attempts-default=", + "config_key": "attempts_default", + "default": 1, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--test-attempts-default=" + ], + "env_var": "PANTS_TEST_ATTEMPTS_DEFAULT", + "fromfile": false, + "help": "The number of attempts to run tests, in case of a test failure. Tests that were retried will include the number of attempts in the summary output.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-attempts-default" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--attempts-default" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 1 + } + ] + } + }, + "PANTS_TEST_BATCH_SIZE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--test-batch-size=", + "config_key": "batch_size", + "default": 128, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--test-batch-size=" + ], + "env_var": "PANTS_TEST_BATCH_SIZE", + "fromfile": false, + "help": "The target maximum number of files to be included in each run of batch-enabled test runners.\n\nSome test runners can execute tests from multiple files in a single run. Test implementations will return all tests that _can_ run together as a single group - and then this may be further divided into smaller batches, based on this option. This is done:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch\n 3. to allow for parallelism in test runners which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" max batch size (rather than an exact value).\n\nNOTE: This parameter has no effect on test runners/plugins that do not implement support for batched testing.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-batch-size" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--batch-size" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 128 + } + ] + } + }, + "PANTS_TEST_DEBUG": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]test-debug", + "config_key": "debug", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]test-debug" + ], + "env_var": "PANTS_TEST_DEBUG", + "fromfile": false, + "help": "Run tests sequentially in an interactive process. This is necessary, for example, when you add breakpoints to your code.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-debug", + "--no-test-debug" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--debug", + "--no-debug" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TEST_DEBUG_ADAPTER": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]test-debug-adapter", + "config_key": "debug_adapter", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]test-debug-adapter" + ], + "env_var": "PANTS_TEST_DEBUG_ADAPTER", + "fromfile": false, + "help": "Run tests sequentially in an interactive process, using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported.\n\nThe interactive process used will be immediately blocked waiting for a client before continuing.\n\nThis option implies `--debug`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-debug-adapter", + "--no-test-debug-adapter" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--debug-adapter", + "--no-debug-adapter" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TEST_EXTRA_ENV_VARS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--test-extra-env-vars=\"['', '', ...]\"", + "config_key": "extra_env_vars", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--test-extra-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_TEST_EXTRA_ENV_VARS", + "fromfile": false, + "help": "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-extra-env-vars" + ], + "target_field_name": "test_extra_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--extra-env-vars" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TEST_FORCE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]test-force", + "config_key": "force", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]test-force" + ], + "env_var": "PANTS_TEST_FORCE", + "fromfile": false, + "help": "Force the tests to run, even if they could be satisfied from cache.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-force", + "--no-test-force" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force", + "--no-force" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TEST_OPEN_COVERAGE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]test-open-coverage", + "config_key": "open_coverage", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]test-open-coverage" + ], + "env_var": "PANTS_TEST_OPEN_COVERAGE", + "fromfile": false, + "help": "If a coverage report file is generated, open it on the local system if the system supports this.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-open-coverage", + "--no-test-open-coverage" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--open-coverage", + "--no-open-coverage" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TEST_OUTPUT": { + "choices": [ + "all", + "failed", + "none" + ], + "comma_separated_choices": "all, failed, none", + "comma_separated_display_args": "--test-output=", + "config_key": "output", + "default": "failed", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--test-output=" + ], + "env_var": "PANTS_TEST_OUTPUT", + "fromfile": false, + "help": "Show stdout/stderr for these tests.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-output" + ], + "target_field_name": null, + "typ": "ShowOutput", + "unscoped_cmd_line_args": [ + "--output" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "failed" + } + ] + } + }, + "PANTS_TEST_REPORT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]test-report", + "config_key": "report", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]test-report" + ], + "env_var": "PANTS_TEST_REPORT", + "fromfile": false, + "help": "Write test reports to `--report-dir`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-report", + "--no-test-report" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--report", + "--no-report" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_TEST_REPORT_DIR": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--test-report-dir=", + "config_key": "report_dir", + "default": "{distdir}/test/reports", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--test-report-dir=" + ], + "env_var": "PANTS_TEST_REPORT_DIR", + "fromfile": false, + "help": "Path to write test reports to. Must be relative to the build root.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-report-dir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--report-dir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "{distdir}/test/reports" + } + ] + } + }, + "PANTS_TEST_SHARD": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--test-shard=", + "config_key": "shard", + "default": "", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--test-shard=" + ], + "env_var": "PANTS_TEST_SHARD", + "fromfile": false, + "help": "A shard specification of the form \"k/N\", where N is a positive integer and k is a non-negative integer less than N.\n\nIf set, the request input targets will be deterministically partitioned into N disjoint subsets of roughly equal size, and only the k'th subset will be used, with all others discarded.\n\nUseful for splitting large numbers of test files across multiple machines in CI. For example, you can run three shards with `--shard=0/3`, `--shard=1/3`, `--shard=2/3`.\n\nNote that the shards are roughly equal in size as measured by number of files. No attempt is made to consider the size of different files, the time they have taken to run in the past, or other such sophisticated measures.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-shard" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--shard" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "" + } + ] + } + }, + "PANTS_TEST_TIMEOUTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]test-timeouts", + "config_key": "timeouts", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]test-timeouts" + ], + "env_var": "PANTS_TEST_TIMEOUTS", + "fromfile": false, + "help": "Enable test target timeouts. If timeouts are enabled then test targets with a `timeout=` parameter set on their target will time out after the given number of seconds if not completed. If no timeout is set, then either the default timeout is used or no timeout is configured.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-timeouts", + "--no-test-timeouts" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--timeouts", + "--no-timeouts" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_TEST_TIMEOUT_DEFAULT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--test-timeout-default=", + "config_key": "timeout_default", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--test-timeout-default=" + ], + "env_var": "PANTS_TEST_TIMEOUT_DEFAULT", + "fromfile": false, + "help": "The default timeout (in seconds) for a test target if the `timeout` field is not set on the target.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-timeout-default" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--timeout-default" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_TEST_TIMEOUT_MAXIMUM": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--test-timeout-maximum=", + "config_key": "timeout_maximum", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--test-timeout-maximum=" + ], + "env_var": "PANTS_TEST_TIMEOUT_MAXIMUM", + "fromfile": false, + "help": "The maximum timeout (in seconds) that may be used on a test target.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-timeout-maximum" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--timeout-maximum" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_TEST_USE_COVERAGE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]test-use-coverage", + "config_key": "use_coverage", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]test-use-coverage" + ], + "env_var": "PANTS_TEST_USE_COVERAGE", + "fromfile": false, + "help": "Generate a coverage report if the test runner supports it.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--test-use-coverage", + "--no-test-use-coverage" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--use-coverage", + "--no-use-coverage" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_THRIFT_DEPENDENCY_INFERENCE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]thrift-dependency-inference", + "config_key": "dependency_inference", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]thrift-dependency-inference" + ], + "env_var": "PANTS_THRIFT_DEPENDENCY_INFERENCE", + "fromfile": false, + "help": "Infer Thrift dependencies on other Thrift files by analyzing import statements.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--thrift-dependency-inference", + "--no-thrift-dependency-inference" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--dependency-inference", + "--no-dependency-inference" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_THRIFT_TAILOR": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]thrift-tailor", + "config_key": "tailor", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]thrift-tailor" + ], + "env_var": "PANTS_THRIFT_TAILOR", + "fromfile": false, + "help": "If true, add `thrift_sources` targets with the `tailor` goal.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--thrift-tailor", + "--no-thrift-tailor" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_TWINE_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--twine-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--twine-args=\"[, , ...]\"" + ], + "env_var": "PANTS_TWINE_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to Twine, e.g. `--twine-args='--skip-existing'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TWINE_CA_CERTS_PATH": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--twine-ca-certs-path=", + "config_key": "ca_certs_path", + "default": "", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--twine-ca-certs-path=" + ], + "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/v2.19/docs/options.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-ca-certs-path" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--ca-certs-path" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "" + } + ] + } + }, + "PANTS_TWINE_CONFIG": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--twine-config=", + "config_key": "config", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--twine-config=" + ], + "env_var": "PANTS_TWINE_CONFIG", + "fromfile": false, + "help": "Path to a .pypirc config file to use. (https://packaging.python.org/specifications/pypirc/)\n\nSetting this option will disable `[twine].config_discovery`. Use this option if the config is located in a non-standard location.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-config" + ], + "target_field_name": null, + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_TWINE_CONFIG_DISCOVERY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]twine-config-discovery", + "config_key": "config_discovery", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]twine-config-discovery" + ], + "env_var": "PANTS_TWINE_CONFIG_DISCOVERY", + "fromfile": false, + "help": "If true, Pants will include all relevant config files during runs (`.pypirc`).\n\nUse `[twine].config` instead if your config is in a non-standard location.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-config-discovery", + "--no-twine-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_TWINE_CONSOLE_SCRIPT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--twine-console-script=", + "config_key": "console_script", + "default": "twine", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--twine-console-script=" + ], + "env_var": "PANTS_TWINE_CONSOLE_SCRIPT", + "fromfile": false, + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "twine" + } + ] + } + }, + "PANTS_TWINE_ENTRY_POINT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--twine-entry-point=", + "config_key": "entry_point", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--twine-entry-point=" + ], + "env_var": "PANTS_TWINE_ENTRY_POINT", + "fromfile": false, + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-entry-point" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_TWINE_INSTALL_FROM_RESOLVE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--twine-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--twine-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--twine-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_TWINE_INTERPRETER_CONSTRAINTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--twine-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--twine-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_TWINE_INTERPRETER_CONSTRAINTS", + "fromfile": false, + "help": "Python interpreter constraints for this tool.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-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": [ + "CPython>=3.7,<4" + ] + } + ] + } + }, + "PANTS_TWINE_REQUIREMENTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--twine-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--twine-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_TWINE_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]twine-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]twine-skip" + ], + "env_var": "PANTS_TWINE_SKIP", + "fromfile": false, + "help": "If true, don't use Twine when running `pants publish`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--twine-skip", + "--no-twine-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_UNMATCHED_BUILD_FILE_GLOBS": { + "choices": [ + "ignore", + "warn", + "error" + ], + "comma_separated_choices": "ignore, warn, error", + "comma_separated_display_args": "--unmatched-build-file-globs=", + "config_key": "unmatched_build_file_globs", + "default": "warn", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--unmatched-build-file-globs=" + ], + "env_var": "PANTS_UNMATCHED_BUILD_FILE_GLOBS", + "fromfile": false, + "help": "What to do when files and globs specified in BUILD files, such as in the `sources` field, cannot be found.\n\nThis usually happens when the files do not exist on your machine. It can also happen if they are ignored by the `[GLOBAL].pants_ignore` option, which causes the files to be invisible to Pants.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--unmatched-build-file-globs" + ], + "target_field_name": null, + "typ": "GlobMatchErrorBehavior", + "unscoped_cmd_line_args": [ + "--unmatched-build-file-globs" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "warn" + } + ] + } + }, + "PANTS_UNMATCHED_CLI_GLOBS": { + "choices": [ + "ignore", + "warn", + "error" + ], + "comma_separated_choices": "ignore, warn, error", + "comma_separated_display_args": "--unmatched-cli-globs=", + "config_key": "unmatched_cli_globs", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--unmatched-cli-globs=" + ], + "env_var": "PANTS_UNMATCHED_CLI_GLOBS", + "fromfile": false, + "help": "What to do when command line arguments, e.g. files and globs like `dir::`, cannot be found.\n\nThis usually happens when the files do not exist on your machine. It can also happen if they are ignored by the `[GLOBAL].pants_ignore` option, which causes the files to be invisible to Pants.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--unmatched-cli-globs" + ], + "target_field_name": null, + "typ": "GlobMatchErrorBehavior", + "unscoped_cmd_line_args": [ + "--unmatched-cli-globs" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "error" + } + ] + } + }, + "PANTS_UPDATE_BUILD_FILES_CHECK": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]update-build-files-check", + "config_key": "check", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]update-build-files-check" + ], + "env_var": "PANTS_UPDATE_BUILD_FILES_CHECK", + "fromfile": false, + "help": "Do not write changes to disk, only write back what would change. Return code 0 means there would be no changes, and 1 means that there would be.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--update-build-files-check", + "--no-update-build-files-check" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--check", + "--no-check" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_UPDATE_BUILD_FILES_FIX_SAFE_DEPRECATIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]update-build-files-fix-safe-deprecations", + "config_key": "fix_safe_deprecations", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]update-build-files-fix-safe-deprecations" + ], + "env_var": "PANTS_UPDATE_BUILD_FILES_FIX_SAFE_DEPRECATIONS", + "fromfile": false, + "help": "Automatically fix deprecations, such as target type renames, that are safe because they do not change semantics.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--update-build-files-fix-safe-deprecations", + "--no-update-build-files-fix-safe-deprecations" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--fix-safe-deprecations", + "--no-fix-safe-deprecations" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_UPDATE_BUILD_FILES_FMT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]update-build-files-fmt", + "config_key": "fmt", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]update-build-files-fmt" + ], + "env_var": "PANTS_UPDATE_BUILD_FILES_FMT", + "fromfile": false, + "help": "Format BUILD files using Black or Yapf.\n\nSet `[black].args` / `[yapf].args`, `[black].config` / `[yapf].config` , and `[black].config_discovery` / `[yapf].config_discovery` to change Black's or Yapf's behavior. Set `[black].interpreter_constraints` / `[yapf].interpreter_constraints` and `[python].interpreter_search_path` to change which interpreter is used to run the formatter.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--update-build-files-fmt", + "--no-update-build-files-fmt" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--fmt", + "--no-fmt" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_UPDATE_BUILD_FILES_FORMATTER": { + "choices": [ + "yapf", + "black" + ], + "comma_separated_choices": "yapf, black", + "comma_separated_display_args": "--update-build-files-formatter=", + "config_key": "formatter", + "default": "black", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--update-build-files-formatter=" + ], + "env_var": "PANTS_UPDATE_BUILD_FILES_FORMATTER", + "fromfile": false, + "help": "Which formatter Pants should use to format BUILD files.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--update-build-files-formatter" + ], + "target_field_name": null, + "typ": "Formatter", + "unscoped_cmd_line_args": [ + "--formatter" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "black" + } + ] + } + }, + "PANTS_VERIFY_CONFIG": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]verify-config", + "config_key": "verify_config", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]verify-config" + ], + "env_var": "PANTS_VERIFY_CONFIG", + "fromfile": false, + "help": "Verify that all config file values correspond to known options.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--verify-config", + "--no-verify-config" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--verify-config", + "--no-verify-config" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-version=", + "config_key": "pants_version", + "default": "", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-version=" + ], + "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/v2.19/docs/installation, 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": [ + "--pants-version" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-version" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "2.19.0rc5" + }, + { + "details": "from env var PANTS_VERSION", + "rank": "ENVIRONMENT", + "value": "2.19.0rc5" + } + ] + } + }, + "PANTS_VISIBILITY_ENFORCE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]visibility-enforce", + "config_key": "enforce", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]visibility-enforce" + ], + "env_var": "PANTS_VISIBILITY_ENFORCE", + "fromfile": false, + "help": "Visibility rules are enforced whenever dependencies are calculated unless `enforce` is set to false.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--visibility-enforce", + "--no-visibility-enforce" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--enforce", + "--no-enforce" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_VISIBILITY_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]visibility-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]visibility-skip" + ], + "env_var": "PANTS_VISIBILITY_SKIP", + "fromfile": false, + "help": "If true, don't use Visibility Rules when running `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--visibility-skip", + "--no-visibility-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_WATCH_FILESYSTEM": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]watch-filesystem", + "config_key": "watch_filesystem", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]watch-filesystem" + ], + "env_var": "PANTS_WATCH_FILESYSTEM", + "fromfile": false, + "help": "Set to False if Pants should not watch the filesystem for changes. `pantsd` or `loop` may not be enabled.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--watch-filesystem", + "--no-watch-filesystem" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--watch-filesystem", + "--no-watch-filesystem" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_WORKDIR": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-workdir=", + "config_key": "pants_workdir", + "default": "/home/runner/work/pantsbuild.org/pantsbuild.org/.pants.d/workdir", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-workdir=" + ], + "env_var": "PANTS_WORKDIR", + "fromfile": false, + "help": "Write intermediate logs and output files to this dir.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-workdir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-workdir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/home/runner/work/pantsbuild.org/pantsbuild.org/.pants.d/workdir" + } + ] + } + }, + "PANTS_WORKUNIT_LOGGER_ENABLED": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]workunit-logger-enabled", + "config_key": "enabled", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]workunit-logger-enabled" + ], + "env_var": "PANTS_WORKUNIT_LOGGER_ENABLED", + "fromfile": false, + "help": "Whether to enable workunit logging.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--workunit-logger-enabled", + "--no-workunit-logger-enabled" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--enabled", + "--no-enabled" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_WORKUNIT_LOGGER_LOGDIR": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--workunit-logger-logdir=", + "config_key": "logdir", + "default": ".pants.d", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--workunit-logger-logdir=" + ], + "env_var": "PANTS_WORKUNIT_LOGGER_LOGDIR", + "fromfile": false, + "help": "Where to write the log to.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--workunit-logger-logdir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--logdir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": ".pants.d" + } + ] + } + }, + "PANTS_YAMLLINT_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-args=\"[, , ...]\"" + ], + "env_var": "PANTS_YAMLLINT_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to Yamllint, e.g. `--yamllint-args='-d relaxed'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_YAMLLINT_CONFIG_FILE_NAME": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-config-file-name=", + "config_key": "config_file_name", + "default": ".yamllint", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-config-file-name=" + ], + "env_var": "PANTS_YAMLLINT_CONFIG_FILE_NAME", + "fromfile": false, + "help": "Name of a config file understood by yamllint (https://yamllint.readthedocs.io/en/stable/configuration.html). The plugin will search the ancestors of each directory in which YAML files are found for a config file of this name.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-config-file-name" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--config-file-name" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": ".yamllint" + } + ] + } + }, + "PANTS_YAMLLINT_CONSOLE_SCRIPT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-console-script=", + "config_key": "console_script", + "default": "yamllint", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-console-script=" + ], + "env_var": "PANTS_YAMLLINT_CONSOLE_SCRIPT", + "fromfile": false, + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "yamllint" + } + ] + } + }, + "PANTS_YAMLLINT_ENTRY_POINT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-entry-point=", + "config_key": "entry_point", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-entry-point=" + ], + "env_var": "PANTS_YAMLLINT_ENTRY_POINT", + "fromfile": false, + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-entry-point" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_YAMLLINT_EXCLUDE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-exclude=\"['', '', ...]\"", + "config_key": "exclude", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-exclude=\"['', '', ...]\"" + ], + "env_var": "PANTS_YAMLLINT_EXCLUDE", + "fromfile": false, + "help": "Glob for which YAML files to exclude from linting.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-exclude" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--exclude" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_YAMLLINT_INCLUDE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-include=\"['', '', ...]\"", + "config_key": "include", + "default": [ + "**/*.yml", + "**/*.yaml" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-include=\"['', '', ...]\"" + ], + "env_var": "PANTS_YAMLLINT_INCLUDE", + "fromfile": false, + "help": "Glob for which YAML files to lint.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-include" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--include" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "**/*.yml", + "**/*.yaml" + ] + } + ] + } + }, + "PANTS_YAMLLINT_INSTALL_FROM_RESOLVE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--yamllint-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_YAMLLINT_INTERPRETER_CONSTRAINTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_YAMLLINT_INTERPRETER_CONSTRAINTS", + "fromfile": false, + "help": "Python interpreter constraints for this tool.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-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": [ + "CPython>=3.7,<4" + ] + } + ] + } + }, + "PANTS_YAMLLINT_REQUIREMENTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yamllint-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yamllint-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_YAMLLINT_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]yamllint-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]yamllint-skip" + ], + "env_var": "PANTS_YAMLLINT_SKIP", + "fromfile": false, + "help": "If true, don't use Yamllint when running `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yamllint-skip", + "--no-yamllint-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + "PANTS_YAPF_ARGS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yapf-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yapf-args=\"[, , ...]\"" + ], + "env_var": "PANTS_YAPF_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to yapf, e.g. `--yapf-args='--no-local-style'`.\n\nCertain arguments, specifically `--recursive`, `--in-place`, and `--parallel`, will be ignored because Pants takes care of finding all the relevant files and running the formatting in parallel.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yapf-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_YAPF_CONFIG": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yapf-config=", + "config_key": "config", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yapf-config=" + ], + "env_var": "PANTS_YAPF_CONFIG", + "fromfile": false, + "help": "Path to style file understood by yapf (https://github.com/google/yapf#formatting-style/).\n\nSetting this option will disable `[yapf].config_discovery`. Use this option if the config is located in a non-standard location.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yapf-config" + ], + "target_field_name": null, + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_YAPF_CONFIG_DISCOVERY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]yapf-config-discovery", + "config_key": "config_discovery", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]yapf-config-discovery" + ], + "env_var": "PANTS_YAPF_CONFIG_DISCOVERY", + "fromfile": false, + "help": "If true, Pants will include any relevant config files during runs (`.style.yapf`, `pyproject.toml`, and `setup.cfg`).\n\nUse `[yapf].config` instead if your config is in a non-standard location.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yapf-config-discovery", + "--no-yapf-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_YAPF_CONSOLE_SCRIPT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yapf-console-script=", + "config_key": "console_script", + "default": "yapf", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yapf-console-script=" + ], + "env_var": "PANTS_YAPF_CONSOLE_SCRIPT", + "fromfile": false, + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yapf-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "yapf" + } + ] + } + }, + "PANTS_YAPF_ENTRY_POINT": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yapf-entry-point=", + "config_key": "entry_point", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yapf-entry-point=" + ], + "env_var": "PANTS_YAPF_ENTRY_POINT", + "fromfile": false, + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yapf-entry-point" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_YAPF_INSTALL_FROM_RESOLVE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yapf-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yapf-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--yapf-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + "PANTS_YAPF_INTERPRETER_CONSTRAINTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yapf-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yapf-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_YAPF_INTERPRETER_CONSTRAINTS", + "fromfile": false, + "help": "Python interpreter constraints for this tool.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yapf-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": [ + "CPython>=3.7,<4" + ] + } + ] + } + }, + "PANTS_YAPF_REQUIREMENTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--yapf-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--yapf-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yapf-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_YAPF_SKIP": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]yapf-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]yapf-skip" + ], + "env_var": "PANTS_YAPF_SKIP", + "fromfile": false, + "help": "If true, don't use yapf when running `pants fmt` and `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--yapf-skip", + "--no-yapf-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + } + }, + "name_to_api_type_info": { + "abc.EnvironmentAware": { + "consumed_by_rules": [ + "pants.core.goals.test.get_filtered_environment" + ], + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.core" + ], + "documentation": null, + "is_union": false, + "module": "abc", + "name": "EnvironmentAware", + "provider": "pants.core", + "returned_by_rules": [ + "construct_env_aware_scope_test" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "builtins.AddPrefix": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "", + "is_union": false, + "module": "builtins", + "name": "AddPrefix", + "provider": "builtins", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.generate_java_from_avro", + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins", + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift", + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge", + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.link.link_go_binary", + "pants.backend.helm.goals.package.run_helm_package", + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.java.bsp.rules.bsp_java_resources_request", + "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", + "pants.backend.javascript.goals.lockfile.generate_lockfile_from_package_jsons", + "pants.backend.javascript.install_node_package.install_node_packages_for_address", + "pants.backend.javascript.package.rules.generate_package_artifact_from_node_build_script", + "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.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.bsp.rules.bsp_scala_resources_request", + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", + "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.core.goals.export.export", + "pants.core.target_types.relocate_files", + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.package.war.package_war", + "pants.jvm.package.war.render_war_content", + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.strip_jar" + ] + }, + "builtins.AddressInput": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "", + "is_union": false, + "module": "builtins", + "name": "AddressInput", + "provider": "builtins", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", + "pants.backend.go.util_rules.go_mod.find_owning_go_mod", + "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping", + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", + "pants.backend.helm.util_rules.chart.find_chart_for_deployment", + "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "pants.backend.terraform.dependencies.init_terraform", + "pants.backend.terraform.dependency_inference.infer_terraform_deployment_dependencies", + "pants.engine.internals.graph.determine_explicitly_provided_dependencies", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_unparsed_address_inputs", + "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile" + ] + }, + "builtins.Digest": { + "consumed_by_rules": [ + "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest" + ], + "dependencies": [ + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.go.goals.generate", + "pants.backend.helm.util_rules.chart_metadata", + "pants.engine.fs", + "pants.jvm.jar_tool.jar_tool", + "pants.jvm.strip_jar.strip_jar" + ], + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.cue", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "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.javascript", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.python.framework.stevedore", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.tools.semgrep", + "pants.backend.experimental.tools.yamllint", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.taplo", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "documentation": "", + "is_union": false, + "module": "builtins", + "name": "Digest", + "provider": "builtins, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.url_handlers.s3, pants.core", + "returned_by_rules": [ + "pants.backend.go.goals.generate.merge_digests_with_overwrite", + "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata", + "pants.backend.url_handlers.s3.register.download_file_from_path_s3_authority", + "pants.backend.url_handlers.s3.register.download_file_from_s3_scheme", + "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.jvm.jar_tool.jar_tool.run_jar_tool", + "pants.jvm.strip_jar.strip_jar.strip_jar" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "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.yapf.register.yapf_fmt", + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies", + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.avro.java.rules.generate_java_from_avro", + "pants.backend.codegen.export_codegen_goal.export_codegen", + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift", + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge", + "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file", + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", + "pants.backend.go.go_sources.load_go_binary.setup_go_binary", + "pants.backend.go.goals.debug_goals.export_cgo_package", + "pants.backend.go.goals.generate.go_generate", + "pants.backend.go.goals.generate.merge_digests_with_overwrite", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.lint.gofmt.rules.gofmt_fmt", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.target_type_rules.generate_targets_from_go_mod", + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", + "pants.backend.go.util_rules.build_pkg.render_embed_config", + "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", + "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script", + "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code", + "pants.backend.go.util_rules.coverage.go_apply_code_coverage", + "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html", + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies", + "pants.backend.go.util_rules.import_config.generate_import_config", + "pants.backend.go.util_rules.link.link_go_binary", + "pants.backend.go.util_rules.link.setup_go_linker", + "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process", + "pants.backend.go.util_rules.tests_analysis.generate_testmain", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages", + "pants.backend.helm.check.kubeconform.common.run_kubeconform", + "pants.backend.helm.dependency_inference.deployment.analyse_deployment", + "pants.backend.helm.goals.package.run_helm_package", + "pants.backend.helm.resolve.fetch.fetch_helm_artifact", + "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", + "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "pants.backend.helm.test.unittest.run_helm_unittest", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", + "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata", + "pants.backend.helm.util_rules.renderer.render_helm_chart", + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", + "pants.backend.helm.util_rules.sources.get_helm_source_files", + "pants.backend.helm.util_rules.tool.download_external_helm_plugin", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.java.bsp.rules.bsp_java_resources_request", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", + "pants.backend.java.dependency_inference.java_parser.build_processors", + "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis", + "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", + "pants.backend.javascript.goals.lockfile.generate_lockfile_from_package_jsons", + "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.javascript.lint.prettier.rules.prettier_fmt", + "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", + "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.javascript.package_json.pnpm_workspace_files", + "pants.backend.javascript.package_json.read_package_jsons", + "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process", + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", + "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis", + "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", + "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", + "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", + "pants.backend.openapi.dependency_inference.parse_openapi_sources", + "pants.backend.openapi.goals.tailor.find_putative_targets", + "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.openapi.util_rules.pom_parser.analyse_pom", + "pants.backend.project_info.count_loc.count_loc", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", + "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.goals.pytest_runner.setup_runtime_packages", + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", + "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.docformatter.rules.docformatter_fmt", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", + "pants.backend.python.lint.ruff.rules.ruff_fix", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.faas.build_python_faas", + "pants.backend.python.util_rules.local_dists.build_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.package_dists.generate_setup_py", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex.create_venv_pex", + "pants.backend.python.util_rules.pex.setup_pex_process", + "pants.backend.python.util_rules.pex.setup_venv_pex_process", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config", + "pants.backend.python.util_rules.pex_requirements.load_lockfile", + "pants.backend.python.util_rules.pex_venv.pex_venv", + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", + "pants.backend.rust.lint.rustfmt.rules.rustfmt_fmt", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.bsp.rules.bsp_scala_resources_request", + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", + "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.compile.scalac_plugins.fetch_plugins", + "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", + "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", + "pants.backend.scala.goals.repl.create_scala_repl_request", + "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", + "pants.backend.scala.test.scalatest.run_scalatest_test", + "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", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", + "pants.backend.terraform.dependencies.get_terraform_providers", + "pants.backend.terraform.dependencies.init_terraform", + "pants.backend.terraform.dependency_inference.setup_parser", + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", + "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.backend.tools.preamble.rules.preamble_fmt", + "pants.backend.tools.semgrep.rules.lint", + "pants.backend.tools.taplo.rules.taplo_fmt", + "pants.backend.tools.yamllint.rules.run_yamllint", + "pants.backend.url_handlers.s3.register.download_file_from_path_s3_authority", + "pants.backend.url_handlers.s3.register.download_file_from_s3_scheme", + "pants.backend.url_handlers.s3.register.download_file_from_virtual_hosted_s3_authority", + "pants.backend.url_handlers.s3.register.download_from_s3", + "pants.bsp.util_rules.compile.bsp_compile_request", + "pants.bsp.util_rules.compile.compile_bsp_target", + "pants.bsp.util_rules.resources.bsp_resources_request", + "pants.bsp.util_rules.resources.resources_bsp_target", + "pants.bsp.util_rules.targets.bsp_dependency_modules", + "pants.bsp.util_rules.targets.bsp_workspace_build_targets", + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", + "pants.bsp.util_rules.targets.resolve_one_dependency_module", + "pants.core.goals.export.export", + "pants.core.goals.fix.fix", + "pants.core.goals.fmt.fmt", + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", + "pants.core.goals.package.package_asset", + "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_yapf", + "pants.core.goals.update_build_files.update_build_files", + "pants.core.target_types.hydrate_file_source", + "pants.core.target_types.hydrate_resource_source", + "pants.core.target_types.package_archive_target", + "pants.core.util_rules.adhoc_binaries.download_python_binary", + "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess", + "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents", + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "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.external_tool.download_external_tool", + "pants.core.util_rules.stripped_source_files.strip_source_roots", + "pants.core.util_rules.system_binaries.create_binary_shims", + "pants.core.util_rules.system_binaries.find_binary", + "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", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", + "pants.jvm.classpath.loose_classfiles", + "pants.jvm.goals.lockfile.generate_jvm_lockfile", + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.jar_tool.jar_tool.run_jar_tool", + "pants.jvm.jdk_rules.prepare_jdk_environment", + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.package.war.package_war", + "pants.jvm.package.war.render_war_content", + "pants.jvm.package.war.render_war_deployment_descriptor", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", + "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve", + "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", + "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets", + "pants.jvm.resolve.coursier_setup.setup_coursier", + "pants.jvm.resources.assemble_resources_jar", + "pants.jvm.run.create_run_request", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar", + "pants.jvm.test.junit.run_junit_test", + "pants.jvm.test.junit.setup_junit_for_target", + "pants.jvm.util_rules.digest_to_file_digest" + ] + }, + "builtins.FileDigest": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs", + "pants.jvm.util_rules" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "", + "is_union": false, + "module": "builtins", + "name": "FileDigest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.util_rules.digest_to_file_digest" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile" + ] + }, + "builtins.InferenceMetadata": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, + "is_union": false, + "module": "builtins", + "name": "InferenceMetadata", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.dependency_inference.rules.prepare_inference_metadata" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + ] + }, + "builtins.MergeDigests": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "", + "is_union": false, + "module": "builtins", + "name": "MergeDigests", + "provider": "builtins", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.buildifier.rules.buildfier_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", + "pants.backend.codegen.avro.java.rules.generate_java_from_avro", "pants.backend.codegen.export_codegen_goal.export_codegen", "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.go.rules.setup_go_protoc_plugin", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.go.goals.generate.go_generate", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.coverage.go_apply_code_coverage", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies", + "pants.backend.go.util_rules.link.link_go_binary", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process", + "pants.backend.go.util_rules.tests_analysis.generate_testmain", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", + "pants.backend.helm.util_rules.sources.get_helm_source_files", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.java_parser.build_processors", + "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.javascript.lint.prettier.rules.prettier_fmt", + "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", + "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process", + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", + "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java", + "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.project_info.count_loc.count_loc", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.goals.pytest_runner.setup_runtime_packages", + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.local_dists.build_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex.create_venv_pex", + "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", + "pants.backend.python.util_rules.pex.setup_pex_process", + "pants.backend.python.util_rules.pex.setup_venv_pex_process", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_venv.pex_venv", + "pants.backend.python.util_rules.python_sources.prepare_python_sources", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.backend.scala.compile.scalac.compile_scala_source", + "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.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", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.terraform.dependencies.get_terraform_providers", + "pants.backend.terraform.dependencies.init_terraform", + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.backend.tools.semgrep.rules.lint", + "pants.backend.tools.taplo.rules.taplo_fmt", + "pants.backend.tools.yamllint.rules.run_yamllint", + "pants.bsp.util_rules.compile.bsp_compile_request", + "pants.bsp.util_rules.compile.compile_bsp_target", + "pants.bsp.util_rules.resources.bsp_resources_request", + "pants.bsp.util_rules.resources.resources_bsp_target", + "pants.bsp.util_rules.targets.bsp_dependency_modules", + "pants.bsp.util_rules.targets.bsp_workspace_build_targets", + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", + "pants.bsp.util_rules.targets.resolve_one_dependency_module", + "pants.core.goals.export.export", + "pants.core.goals.fix.fix", + "pants.core.goals.fmt.fmt", + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", + "pants.core.goals.generate_snapshots.generate_snapshots", + "pants.core.goals.package.package_asset", + "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_yapf", + "pants.core.target_types.package_archive_target", + "pants.core.target_types.relocate_files", + "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess", + "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents", + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "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.source_files.determine_source_files", + "pants.core.util_rules.stripped_source_files.strip_source_roots", + "pants.jvm.classpath.loose_classfiles", + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.jdk_rules.prepare_jdk_environment", + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.package.war.package_war", + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", + "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", + "pants.jvm.resolve.coursier_setup.setup_coursier", + "pants.jvm.resources.assemble_resources_jar", + "pants.jvm.run.create_run_request", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.test.junit.setup_junit_for_target" + ] + }, + "builtins.NativeDependenciesRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "", + "is_union": false, + "module": "builtins", + "name": "NativeDependenciesRequest", + "provider": "builtins", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies" + ] + }, + "builtins.RemovePrefix": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "", + "is_union": false, + "module": "builtins", + "name": "RemovePrefix", + "provider": "builtins", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.go.goals.debug_goals.export_cgo_package", + "pants.backend.helm.goals.package.run_helm_package", + "pants.backend.helm.resolve.fetch.fetch_helm_artifact", + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "pants.backend.helm.test.unittest.run_helm_unittest", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", + "pants.backend.helm.util_rules.renderer.render_helm_chart", + "pants.backend.helm.util_rules.renderer.run_renderer", + "pants.backend.helm.util_rules.sources.get_helm_source_files", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.java.dependency_inference.java_parser.build_processors", + "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java", + "pants.backend.python.goals.pytest_runner.run_python_tests", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", + "pants.backend.scala.test.scalatest.run_scalatest_test", + "pants.core.target_types.relocate_files", + "pants.core.util_rules.adhoc_process_support.run_adhoc_process", + "pants.core.util_rules.archive.maybe_extract_archive", + "pants.core.util_rules.stripped_source_files.strip_source_roots", + "pants.jvm.classpath.loose_classfiles", + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.jar_tool.jar_tool.run_jar_tool", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar", + "pants.jvm.test.junit.run_junit_test" + ] + }, + "pants.backend.adhoc.adhoc_tool.GenerateFilesFromAdhocToolRequest": { + "consumed_by_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.adhoc" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.adhoc.adhoc_tool", + "name": "GenerateFilesFromAdhocToolRequest", + "provider": "pants.backend.experimental.adhoc", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.adhoc.run_system_binary.SystemBinaryFieldSet": { + "consumed_by_rules": [ + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_SystemBinaryFieldSet" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.adhoc" + ], + "documentation": "SystemBinaryFieldSet(address: 'Address', name: 'SystemBinaryNameField', extra_search_paths: 'SystemBinaryExtraSearchPathsField', fingerprint_pattern: 'SystemBinaryFingerprintPattern', fingerprint_argv: 'SystemBinaryFingerprintArgsField', fingerprint_dependencies: 'SystemBinaryFingerprintDependenciesField')", + "is_union": false, + "module": "pants.backend.adhoc.run_system_binary", + "name": "SystemBinaryFieldSet", + "provider": "pants.backend.experimental.adhoc", + "returned_by_rules": [], + "union_members": [], + "union_type": "RunFieldSet", + "used_in_rules": [] + }, + "pants.backend.awslambda.python.rules.PythonAwsLambdaFieldSet": { + "consumed_by_rules": [ + "pants.backend.awslambda.python.rules.package_python_aws_lambda_function" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "PythonAwsLambdaFieldSet(address: 'Address', include_requirements: 'PythonAwsLambdaIncludeRequirements', runtime: 'PythonAwsLambdaRuntime', complete_platforms: 'PythonFaaSCompletePlatforms', pex3_venv_create_extra_args: 'PythonFaaSPex3VenvCreateExtraArgsField', output_path: 'OutputPathField', environment: 'EnvironmentField', handler: 'PythonAwsLambdaHandlerField')", + "is_union": false, + "module": "pants.backend.awslambda.python.rules", + "name": "PythonAwsLambdaFieldSet", + "provider": "pants.backend.awslambda.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.awslambda.python.rules.PythonAwsLambdaLayerFieldSet": { + "consumed_by_rules": [ + "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "PythonAwsLambdaLayerFieldSet(address: 'Address', include_requirements: 'PythonAwsLambdaIncludeRequirements', runtime: 'PythonAwsLambdaRuntime', complete_platforms: 'PythonFaaSCompletePlatforms', pex3_venv_create_extra_args: 'PythonFaaSPex3VenvCreateExtraArgsField', output_path: 'OutputPathField', environment: 'EnvironmentField', dependencies: 'PythonAwsLambdaLayerDependenciesField', include_sources: 'PythonAwsLambdaIncludeSources')", + "is_union": false, + "module": "pants.backend.awslambda.python.rules", + "name": "PythonAwsLambdaLayerFieldSet", + "provider": "pants.backend.awslambda.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.build_files.fix.deprecations.base.FixedBUILDFile": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.build_files.fix.deprecations" + ], + "dependents": [ + "pants.core" + ], + "documentation": "FixedBUILDFile(path: 'str', content: 'bytes')", + "is_union": false, + "module": "pants.backend.build_files.fix.deprecations.base", + "name": "FixedBUILDFile", + "provider": "pants.core", + "returned_by_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single", + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", + "pants.core.goals.update_build_files.maybe_rename_deprecated_fields", + "pants.core.goals.update_build_files.maybe_rename_deprecated_targets" + ] + }, + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.RenameFieldsInFileRequest": { + "consumed_by_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single" + ], + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.build_files.fix.deprecations.renamed_fields_rules", + "name": "RenameFieldsInFileRequest", + "provider": "pants.backend.build_files.fix.deprecations", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", + "pants.core.goals.update_build_files.maybe_rename_deprecated_fields" + ] + }, + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.RenameFieldsInFilesRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.build_files.fix.deprecations.renamed_fields_rules", + "name": "RenameFieldsInFilesRequest", + "provider": "pants.backend.build_files.fix.deprecations", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.RenamedFieldTypes": { + "consumed_by_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single" + ], + "dependencies": [ + "pants.engine.target", + "pants.engine.unions" + ], + "dependents": [ + "pants.core" + ], + "documentation": "Map deprecated field names to their new name, per target.", + "is_union": false, + "module": "pants.backend.build_files.fix.deprecations.renamed_fields_rules", + "name": "RenamedFieldTypes", + "provider": "pants.core", + "returned_by_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.determine_renamed_field_types" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.RenameTargetsInFileRequest": { + "consumed_by_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single" + ], + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "Deprecated target type names to new names.", + "is_union": false, + "module": "pants.backend.build_files.fix.deprecations.renamed_targets_rules", + "name": "RenameTargetsInFileRequest", + "provider": "pants.backend.build_files.fix.deprecations", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", + "pants.core.goals.update_build_files.maybe_rename_deprecated_targets" + ] + }, + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.RenameTargetsInFilesRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.build_files.fix.deprecations.renamed_targets_rules", + "name": "RenameTargetsInFilesRequest", + "provider": "pants.backend.build_files.fix.deprecations", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.RenamedTargetTypes": { + "consumed_by_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.core" + ], + "documentation": "Map deprecated field names to their new name, per target.", + "is_union": false, + "module": "pants.backend.build_files.fix.deprecations.renamed_targets_rules", + "name": "RenamedTargetTypes", + "provider": "pants.core", + "returned_by_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.determine_renamed_target_types" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.build_files.fix.deprecations.subsystem.BUILDDeprecationsFixer": { + "consumed_by_rules": [ + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameFieldsInFilesRequest", + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameTargetsInFilesRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.build_files.fix.deprecations" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.build_files.fix.deprecations.subsystem", + "name": "BUILDDeprecationsFixer", + "provider": "pants.backend.build_files.fix.deprecations", + "returned_by_rules": [ + "construct_scope_build_deprecations_fixer" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.build_files.fmt.black.register.BlackRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.build_files.fmt.black.register", + "name": "BlackRequest", + "provider": "pants.backend.build_files.fmt.black", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.build_files.fmt.buildifier.rules.BuildifierRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.build_files.fmt.buildifier.rules", + "name": "BuildifierRequest", + "provider": "pants.backend.build_files.fmt.buildifier", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "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" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.build_files.fmt.buildifier" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.build_files.fmt.buildifier.subsystem", + "name": "Buildifier", + "provider": "pants.backend.build_files.fmt.buildifier", + "returned_by_rules": [ + "construct_scope_buildifier" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.build_files.fmt.yapf.register.YapfRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.build_files.fmt.yapf.register", + "name": "YapfRequest", + "provider": "pants.backend.build_files.fmt.yapf", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.cc.dependency_inference.rules.AllCCTargets": { + "consumed_by_rules": [ + "pants.backend.cc.dependency_inference.rules.map_cc_files" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.cc" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.cc.dependency_inference.rules", + "name": "AllCCTargets", + "provider": "pants.backend.experimental.cc", + "returned_by_rules": [ + "pants.backend.cc.dependency_inference.rules.find_all_cc_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.cc.dependency_inference.rules.CCFilesMapping": { + "consumed_by_rules": [ + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.cc" + ], + "documentation": "A mapping of stripped CC file names to their owning file address.", + "is_union": false, + "module": "pants.backend.cc.dependency_inference.rules", + "name": "CCFilesMapping", + "provider": "pants.backend.experimental.cc", + "returned_by_rules": [ + "pants.backend.cc.dependency_inference.rules.map_cc_files" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.cc.dependency_inference.rules.InferCCDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.cc" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.cc.dependency_inference.rules", + "name": "InferCCDependenciesRequest", + "provider": "pants.backend.experimental.cc", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.cc.goals.tailor.PutativeCCTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.cc.goals.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.cc" + ], + "documentation": "PutativeCCTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.cc.goals.tailor", + "name": "PutativeCCTargetsRequest", + "provider": "pants.backend.experimental.cc", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.cc.lint.clangformat.rules.ClangFormatRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.cc.lint.clangformat.rules", + "name": "ClangFormatRequest", + "provider": "pants.backend.experimental.cc.lint.clangformat", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.cc.lint.clangformat.skip_field.SkipClangFormatField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.cc.lint.clangformat.skip_field", + "name": "SkipClangFormatField", + "provider": "pants.backend.experimental.cc.lint.clangformat", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.cc.lint.clangformat.subsystem.ClangFormat": { + "consumed_by_rules": [ + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ClangFormatRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.cc.lint.clangformat" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.cc.lint.clangformat.subsystem", + "name": "ClangFormat", + "provider": "pants.backend.experimental.cc.lint.clangformat", + "returned_by_rules": [ + "construct_scope_clang_format" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.cc.subsystems.cc_infer.CCInferSubsystem": { + "consumed_by_rules": [ + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.cc" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.cc.subsystems.cc_infer", + "name": "CCInferSubsystem", + "provider": "pants.backend.experimental.cc", + "returned_by_rules": [ + "construct_scope_cc_infer" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.cc.subsystems.compiler.CCSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.cc.subsystems.compiler", + "name": "CCSubsystem", + "provider": "pants.backend.experimental.cc", + "returned_by_rules": [ + "construct_scope_cc" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.cc.subsystems.compiler.ExternalCCSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.cc.subsystems.compiler", + "name": "ExternalCCSubsystem", + "provider": "pants.backend.experimental.cc", + "returned_by_rules": [ + "construct_scope_cc_external" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.avro.avro_subsystem.AvroSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.avro.avro_subsystem", + "name": "AvroSubsystem", + "provider": "pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [ + "construct_scope_avro" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.avro.java.rules.ApacheAvroRuntimeForResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.avro.java.rules", + "pants.backend.experimental.java" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": "ApacheAvroRuntimeForResolve(addresses: 'frozenset[Address]')", + "is_union": false, + "module": "pants.backend.codegen.avro.java.rules", + "name": "ApacheAvroRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [ + "pants.backend.codegen.avro.java.rules.resolve_apache_avro_runtime_for_resolve" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.infer_apache_avro_java_dependencies" + ] + }, + "pants.backend.codegen.avro.java.rules.ApacheAvroRuntimeForResolveRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.java.rules.resolve_apache_avro_runtime_for_resolve" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": "ApacheAvroRuntimeForResolveRequest(resolve_name: 'str')", + "is_union": false, + "module": "pants.backend.codegen.avro.java.rules", + "name": "ApacheAvroRuntimeForResolveRequest", + "provider": "pants.backend.codegen.avro.java.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.infer_apache_avro_java_dependencies" + ] + }, + "pants.backend.codegen.avro.java.rules.AvroToolLockfileSentinel": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.java.rules.generate_avro_tools_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.avro.java.rules", + "name": "AvroToolLockfileSentinel", + "provider": "pants.backend.codegen.avro.java.rules, pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source" + ] + }, + "pants.backend.codegen.avro.java.rules.CompileAvroSourceRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": "CompileAvroSourceRequest(digest: 'Digest', path: 'str')", + "is_union": false, + "module": "pants.backend.codegen.avro.java.rules", + "name": "CompileAvroSourceRequest", + "provider": "pants.backend.codegen.avro.java.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.generate_java_from_avro" + ] + }, + "pants.backend.codegen.avro.java.rules.CompiledAvroSource": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.codegen.avro.java.rules", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": "CompiledAvroSource(output_digest: 'Digest')", + "is_union": false, + "module": "pants.backend.codegen.avro.java.rules", + "name": "CompiledAvroSource", + "provider": "pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.generate_java_from_avro" + ] + }, + "pants.backend.codegen.avro.java.rules.GenerateJavaFromAvroRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.java.rules.generate_java_from_avro" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.avro.java.rules", + "name": "GenerateJavaFromAvroRequest", + "provider": "pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.avro.java.rules.InferAvroRuntimeDependencyRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.java.rules.infer_apache_avro_java_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.avro.java.rules", + "name": "InferAvroRuntimeDependencyRequest", + "provider": "pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.avro.java.subsystem.AvroSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.avro.java.rules.generate_avro_tools_lockfile_request" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.avro.java.subsystem", + "name": "AvroSubsystem", + "provider": "pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [ + "construct_scope_java_avro" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.avro.tailor.PutativeAvroTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java" + ], + "documentation": "PutativeAvroTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.codegen.avro.tailor", + "name": "PutativeAvroTargetsRequest", + "provider": "pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.avro.target_types.AllAvroTargets": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.avro.target_types", + "name": "AllAvroTargets", + "provider": "pants.backend.experimental.codegen.avro.java", + "returned_by_rules": [ + "pants.backend.codegen.avro.target_types.find_all_avro_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.export_codegen_goal.ExportCodegen": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.engine.fs", + "pants.engine.target", + "pants.engine.unions" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.export_codegen_goal", + "name": "ExportCodegen", + "provider": "pants.core", + "returned_by_rules": [ + "pants.backend.codegen.export_codegen_goal.export_codegen" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.export_codegen_goal.ExportCodegenSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.export_codegen_goal", + "name": "ExportCodegenSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_export_codegen" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.go.rules.GenerateGoFromProtobufRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.go.rules", + "name": "GenerateGoFromProtobufRequest", + "provider": "pants.backend.experimental.codegen.protobuf.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.go.rules.GoCodegenBuildProtobufRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf" + ], + "dependencies": [ + "pants.backend.go.util_rules.build_pkg_target" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.go.rules", + "name": "GoCodegenBuildProtobufRequest", + "provider": "pants.backend.experimental.codegen.protobuf.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "GoCodegenBuildRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.go.rules.ProtobufGoModuleImportPathsMappingsHook": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets" + ], + "dependencies": [ + "pants.backend.go.dependency_inference" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.go.rules", + "name": "ProtobufGoModuleImportPathsMappingsHook", + "provider": "pants.backend.experimental.codegen.protobuf.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "GoModuleImportPathsMappingsHook", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.go.rules._SetupGoProtobufPackageBuildRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go" + ], + "documentation": "Request type used to trigger setup of a BuildGoPackageRequest for entire generated Go\nProtobuf package.\n\nThis type is separate so that a build of the full package can be cached no matter which one of\nits component source files was requested. This occurs because a request to build any one of the\nsource files will be converted into this type and then built.", + "is_union": false, + "module": "pants.backend.codegen.protobuf.go.rules", + "name": "_SetupGoProtobufPackageBuildRequest", + "provider": "pants.backend.codegen.protobuf.go.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf" + ] + }, + "pants.backend.codegen.protobuf.go.rules._SetupGoProtocPlugin": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go" + ], + "documentation": "_SetupGoProtocPlugin(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.go.rules", + "name": "_SetupGoProtocPlugin", + "provider": "pants.backend.experimental.codegen.protobuf.go", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.java.dependency_inference.InferProtobufJavaRuntimeDependencyRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.dependency_inference", + "name": "InferProtobufJavaRuntimeDependencyRequest", + "provider": "pants.backend.experimental.codegen.protobuf.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.java.dependency_inference.ProtobufJavaGrpcRuntimeForResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.protobuf.java.dependency_inference", + "pants.backend.experimental.java" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": "ProtobufJavaGrpcRuntimeForResolve(addresses: 'FrozenSet[Address]')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.dependency_inference", + "name": "ProtobufJavaGrpcRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.protobuf.java", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + ] + }, + "pants.backend.codegen.protobuf.java.dependency_inference.ProtobufJavaGrpcRuntimeForResolveRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": "ProtobufJavaGrpcRuntimeForResolveRequest(resolve_name: 'str')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.dependency_inference", + "name": "ProtobufJavaGrpcRuntimeForResolveRequest", + "provider": "pants.backend.codegen.protobuf.java.dependency_inference", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + ] + }, + "pants.backend.codegen.protobuf.java.dependency_inference.ProtobufJavaRuntimeForResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.protobuf.java.dependency_inference", + "pants.backend.experimental.java" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": "ProtobufJavaRuntimeForResolve(addresses: 'FrozenSet[Address]')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.dependency_inference", + "name": "ProtobufJavaRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.protobuf.java", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + ] + }, + "pants.backend.codegen.protobuf.java.dependency_inference.ProtobufJavaRuntimeForResolveRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": "ProtobufJavaRuntimeForResolveRequest(resolve_name: 'str')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.dependency_inference", + "name": "ProtobufJavaRuntimeForResolveRequest", + "provider": "pants.backend.codegen.protobuf.java.dependency_inference", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + ] + }, + "pants.backend.codegen.protobuf.java.rules.GenerateJavaFromProtobufRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.rules", + "name": "GenerateJavaFromProtobufRequest", + "provider": "pants.backend.experimental.codegen.protobuf.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.java.rules.GrpcJavaToolLockfileSentinel": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.rules", + "name": "GrpcJavaToolLockfileSentinel", + "provider": "pants.backend.codegen.protobuf.java.rules, pants.backend.experimental.codegen.protobuf.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin" + ] + }, + "pants.backend.codegen.protobuf.java.rules.ProtobufJavaGrpcPlugin": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": "ProtobufJavaGrpcPlugin(digest: 'Digest', path: 'str')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.rules", + "name": "ProtobufJavaGrpcPlugin", + "provider": "pants.backend.experimental.codegen.protobuf.java", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.java.subsystem.JavaProtobufGrpcSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.java.subsystem", + "name": "JavaProtobufGrpcSubsystem", + "provider": "pants.backend.experimental.codegen.protobuf.java", + "returned_by_rules": [ + "construct_scope_protobuf_java_grpc" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.lint.buf.format_rules.BufFormatRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.lint.buf.format_rules", + "name": "BufFormatRequest", + "provider": "pants.backend.codegen.protobuf.lint.buf", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.lint.buf.lint_rules.BufLintRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.lint.buf.lint_rules", + "name": "BufLintRequest", + "provider": "pants.backend.codegen.protobuf.lint.buf", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.lint.buf.skip_field.SkipBufFormatField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.lint.buf.skip_field", + "name": "SkipBufFormatField", + "provider": "pants.backend.codegen.protobuf.lint.buf", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.lint.buf.skip_field.SkipBufLintField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.lint.buf.skip_field", + "name": "SkipBufLintField", + "provider": "pants.backend.codegen.protobuf.lint.buf", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.lint.buf.subsystem.BufSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.lint.buf.format_rules.partition_buf", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.partition_buf", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.codegen.protobuf.lint.buf" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.lint.buf.subsystem", + "name": "BufSubsystem", + "provider": "pants.backend.codegen.protobuf.lint.buf", + "returned_by_rules": [ + "construct_scope_buf" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.protobuf_dependency_inference.InferProtobufDependencies": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.protobuf_dependency_inference", + "name": "InferProtobufDependencies", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.protobuf_dependency_inference.ProtobufMapping": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": "A mapping of stripped .proto file names to their owning file address.", + "is_union": false, + "module": "pants.backend.codegen.protobuf.protobuf_dependency_inference", + "name": "ProtobufMapping", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.protoc.Protoc": { + "consumed_by_rules": [ + "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", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.tailor.find_putative_targets", + "pants.backend.codegen.protobuf.target_types.generator_settings" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.protoc", + "name": "Protoc", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [ + "construct_scope_protoc" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.additional_fields.ProtobufPythonInterpreterConstraintsField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.additional_fields", + "name": "ProtobufPythonInterpreterConstraintsField", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.additional_fields.ProtobufPythonResolveField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.additional_fields", + "name": "ProtobufPythonResolveField", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.additional_fields.PythonSourceRootField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.additional_fields", + "name": "PythonSourceRootField", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.grpc_python_plugin.GrpcPythonPlugin": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.grpc_python_plugin", + "name": "GrpcPythonPlugin", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [ + "construct_scope_grpc_python_plugin" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.PythonProtobufMappingMarker": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules" + ], + "dependencies": [ + "pants.backend.python" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper", + "name": "PythonProtobufMappingMarker", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "FirstPartyPythonMappingImplMarker", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.InferPythonProtobufDependencies": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.python_protobuf_subsystem", + "name": "InferPythonProtobufDependencies", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.PythonProtobufMypyPlugin": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.python_protobuf_subsystem", + "name": "PythonProtobufMypyPlugin", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [ + "construct_scope_mypy_protobuf" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.PythonProtobufSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.python_protobuf_subsystem", + "name": "PythonProtobufSubsystem", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [ + "construct_scope_python_protobuf" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.python.rules.GeneratePythonFromProtobufRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.python.rules", + "name": "GeneratePythonFromProtobufRequest", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.scala.dependency_inference.InferScalaPBRuntimeDependencyRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.dependency_inference", + "name": "InferScalaPBRuntimeDependencyRequest", + "provider": "pants.backend.experimental.codegen.protobuf.scala", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.scala.dependency_inference.ScalaPBRuntimeForResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.protobuf.scala.dependency_inference", + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": "ScalaPBRuntimeForResolve(addresses: 'frozenset[Address]')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.dependency_inference", + "name": "ScalaPBRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.protobuf.scala", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency" + ] + }, + "pants.backend.codegen.protobuf.scala.dependency_inference.ScalaPBRuntimeForResolveRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": "ScalaPBRuntimeForResolveRequest(resolve_name: 'str')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.dependency_inference", + "name": "ScalaPBRuntimeForResolveRequest", + "provider": "pants.backend.codegen.protobuf.scala.dependency_inference", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency" + ] + }, + "pants.backend.codegen.protobuf.scala.rules.GenerateScalaFromProtobufRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.rules", + "name": "GenerateScalaFromProtobufRequest", + "provider": "pants.backend.experimental.codegen.protobuf.scala", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.scala.rules.MaterializeJvmPluginRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": "MaterializeJvmPluginRequest(plugin: 'PluginArtifactSpec')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.rules", + "name": "MaterializeJvmPluginRequest", + "provider": "pants.backend.codegen.protobuf.scala.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins" + ] + }, + "pants.backend.codegen.protobuf.scala.rules.MaterializeJvmPluginsRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": "MaterializeJvmPluginsRequest(plugins: 'tuple[PluginArtifactSpec, ...]')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.rules", + "name": "MaterializeJvmPluginsRequest", + "provider": "pants.backend.codegen.protobuf.scala.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf" + ] + }, + "pants.backend.codegen.protobuf.scala.rules.MaterializedJvmPlugin": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.protobuf.scala.rules", + "pants.backend.experimental.java", + "pants.jvm.resolve.common" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": "MaterializedJvmPlugin(name: 'str', classpath: 'ToolClasspath')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.rules", + "name": "MaterializedJvmPlugin", + "provider": "pants.backend.experimental.codegen.protobuf.scala", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins" + ] + }, + "pants.backend.codegen.protobuf.scala.rules.MaterializedJvmPlugins": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.codegen.protobuf.scala.rules", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": "MaterializedJvmPlugins(digest: 'Digest', plugins: 'tuple[MaterializedJvmPlugin, ...]')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.rules", + "name": "MaterializedJvmPlugins", + "provider": "pants.backend.experimental.codegen.protobuf.scala", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf" + ] + }, + "pants.backend.codegen.protobuf.scala.rules.ScalaPBShimCompiledClassfiles": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.rules", + "name": "ScalaPBShimCompiledClassfiles", + "provider": "pants.backend.experimental.codegen.protobuf.scala", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.scala.rules.ScalapbcToolLockfileSentinel": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.rules", + "name": "ScalapbcToolLockfileSentinel", + "provider": "pants.backend.codegen.protobuf.scala.rules, pants.backend.experimental.codegen.protobuf.scala", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles" + ] + }, + "pants.backend.codegen.protobuf.scala.subsystem.ScalaPBSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.scala.subsystem", + "name": "ScalaPBSubsystem", + "provider": "pants.backend.experimental.codegen.protobuf.scala", + "returned_by_rules": [ + "construct_scope_scalapb" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.tailor.PutativeProtobufTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": "PutativeProtobufTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.codegen.protobuf.tailor", + "name": "PutativeProtobufTargetsRequest", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.target_types.AllProtobufTargets": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files", + "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.experimental.codegen.protobuf.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.target_types", + "name": "AllProtobufTargets", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.target_types.find_all_protobuf_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.protobuf.target_types.GeneratorSettingsRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.target_types.generator_settings" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.protobuf.target_types", + "name": "GeneratorSettingsRequest", + "provider": "pants.backend.codegen.protobuf.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "TargetFilesGeneratorSettingsRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.java.rules.ApacheThriftJavaRuntimeForResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.thrift.apache.java.rules", + "pants.backend.experimental.java" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.apache.java" + ], + "documentation": "ApacheThriftJavaRuntimeForResolve(addresses: 'frozenset[Address]')", + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.java.rules", + "name": "ApacheThriftJavaRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.thrift.apache.java", + "returned_by_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.resolve_apache_thrift_java_runtime_for_resolve" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.infer_apache_thrift_java_dependencies" + ] + }, + "pants.backend.codegen.thrift.apache.java.rules.ApacheThriftJavaRuntimeForResolveRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.resolve_apache_thrift_java_runtime_for_resolve" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.thrift.apache.java" + ], + "documentation": "ApacheThriftJavaRuntimeForResolveRequest(resolve_name: 'str')", + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.java.rules", + "name": "ApacheThriftJavaRuntimeForResolveRequest", + "provider": "pants.backend.codegen.thrift.apache.java.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.infer_apache_thrift_java_dependencies" + ] + }, + "pants.backend.codegen.thrift.apache.java.rules.GenerateJavaFromThriftRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.apache.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.java.rules", + "name": "GenerateJavaFromThriftRequest", + "provider": "pants.backend.experimental.codegen.thrift.apache.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.java.rules.InferApacheThriftJavaDependencies": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.infer_apache_thrift_java_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.apache.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.java.rules", + "name": "InferApacheThriftJavaDependencies", + "provider": "pants.backend.experimental.codegen.thrift.apache.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.java.subsystem.ApacheThriftJavaSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.apache.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.java.subsystem", + "name": "ApacheThriftJavaSubsystem", + "provider": "pants.backend.experimental.codegen.thrift.apache.java", + "returned_by_rules": [ + "construct_scope_java_thrift" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.python.additional_fields.ThriftPythonResolveField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.python.additional_fields", + "name": "ThriftPythonResolveField", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.PythonThriftMappingMarker": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules" + ], + "dependencies": [ + "pants.backend.python" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper", + "name": "PythonThriftMappingMarker", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "FirstPartyPythonMappingImplMarker", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.python.rules.GeneratePythonFromThriftRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.python.rules", + "name": "GeneratePythonFromThriftRequest", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.python.rules.InferApacheThriftPythonDependencies": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.python.rules", + "name": "InferApacheThriftPythonDependencies", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.python.subsystem.ThriftPythonSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.python.subsystem", + "name": "ThriftPythonSubsystem", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [ + "construct_scope_python_thrift" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.rules.ApacheThriftSetup": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources" + ], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": "ApacheThriftSetup(path: 'str')", + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.rules", + "name": "ApacheThriftSetup", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [ + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.apache.rules.GenerateThriftSourcesRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources" + ], + "dependencies": [], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": "GenerateThriftSourcesRequest(thrift_source_field: 'ThriftSourceField', lang_id: 'str', lang_options: 'tuple[str, ...]', lang_name: 'str')", + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.rules", + "name": "GenerateThriftSourcesRequest", + "provider": "pants.backend.codegen.thrift.apache.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift", + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift" + ] + }, + "pants.backend.codegen.thrift.apache.rules.GeneratedThriftSources": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.codegen.thrift.apache.rules", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.codegen.thrift.apache.java" + ], + "documentation": "GeneratedThriftSources(snapshot: 'Snapshot')", + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.rules", + "name": "GeneratedThriftSources", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [ + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift", + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift" + ] + }, + "pants.backend.codegen.thrift.apache.subsystem.ApacheThriftSubsystem": { + "consumed_by_rules": [ + "construct_env_aware_scope_apache_thrift", + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.apache.subsystem", + "name": "ApacheThriftSubsystem", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [ + "construct_scope_apache_thrift" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.dependency_inference.InferThriftDependencies": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.dependency_inference", + "name": "InferThriftDependencies", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.dependency_inference.ThriftMapping": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": "A mapping of stripped .thrift file names to their owning file address.", + "is_union": false, + "module": "pants.backend.codegen.thrift.dependency_inference", + "name": "ThriftMapping", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [ + "pants.backend.codegen.thrift.dependency_inference.map_thrift_files" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.scrooge.additional_fields.ScroogeFinagleBoolField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.additional_fields", + "name": "ScroogeFinagleBoolField", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.scrooge.java.rules.GenerateJavaFromThriftRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.java.rules", + "name": "GenerateJavaFromThriftRequest", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.scrooge.java.rules.InferScroogeThriftJavaDependencies": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.java.rules.inject_scrooge_thrift_java_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.java.rules", + "name": "InferScroogeThriftJavaDependencies", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.scrooge.java.rules.ScroogeThriftJavaRuntimeForResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.thrift.scrooge.java.rules", + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.java" + ], + "documentation": "ScroogeThriftJavaRuntimeForResolve(addresses: 'frozenset[Address]')", + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.java.rules", + "name": "ScroogeThriftJavaRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", + "returned_by_rules": [ + "pants.backend.codegen.thrift.scrooge.java.rules.resolve_scrooge_thrift_java_runtime_for_resolve" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.scrooge.java.rules.inject_scrooge_thrift_java_dependencies" + ] + }, + "pants.backend.codegen.thrift.scrooge.java.rules.ScroogeThriftJavaRuntimeForResolveRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.java.rules.resolve_scrooge_thrift_java_runtime_for_resolve" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.java" + ], + "documentation": "ScroogeThriftJavaRuntimeForResolveRequest(resolve_name: 'str')", + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.java.rules", + "name": "ScroogeThriftJavaRuntimeForResolveRequest", + "provider": "pants.backend.codegen.thrift.scrooge.java.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.scrooge.java.rules.inject_scrooge_thrift_java_dependencies" + ] + }, + "pants.backend.codegen.thrift.scrooge.rules.GenerateScroogeThriftSourcesRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.java" + ], + "documentation": "GenerateScroogeThriftSourcesRequest(thrift_source_field: pants.backend.codegen.thrift.target_types.ThriftSourceField, lang_id: str, lang_name: str)", + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.rules", + "name": "GenerateScroogeThriftSourcesRequest", + "provider": "pants.backend.codegen.thrift.scrooge.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge", + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge" + ] + }, + "pants.backend.codegen.thrift.scrooge.rules.GeneratedScroogeThriftSources": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.codegen.thrift.scrooge.rules", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala" + ], + "documentation": "GeneratedScroogeThriftSources(snapshot: Snapshot)", + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.rules", + "name": "GeneratedScroogeThriftSources", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", + "returned_by_rules": [ + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge", + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge" + ] + }, + "pants.backend.codegen.thrift.scrooge.rules.ScroogeToolLockfileSentinel": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.rules", + "name": "ScroogeToolLockfileSentinel", + "provider": "pants.backend.codegen.thrift.scrooge.rules, pants.backend.experimental.codegen.thrift.scrooge.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources" + ] + }, + "pants.backend.codegen.thrift.scrooge.scala.rules.GenerateScalaFromThriftRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.scala" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.scala.rules", + "name": "GenerateScalaFromThriftRequest", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.scala", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.scrooge.scala.rules.InferScroogeThriftScalaDependencies": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.scala.rules.inject_scrooge_thrift_scala_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.scala" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.scala.rules", + "name": "InferScroogeThriftScalaDependencies", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.scala", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.scrooge.scala.rules.ScroogeThriftScalaRuntimeForResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.thrift.scrooge.scala.rules", + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.scala" + ], + "documentation": "ScroogeThriftScalaRuntimeForResolve(addresses: 'frozenset[Address]')", + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.scala.rules", + "name": "ScroogeThriftScalaRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.scala", + "returned_by_rules": [ + "pants.backend.codegen.thrift.scrooge.scala.rules.resolve_scrooge_thrift_scala_runtime_for_resolve" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.scrooge.scala.rules.inject_scrooge_thrift_scala_dependencies" + ] + }, + "pants.backend.codegen.thrift.scrooge.scala.rules.ScroogeThriftScalaRuntimeForResolveRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.scala.rules.resolve_scrooge_thrift_scala_runtime_for_resolve" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.scala" + ], + "documentation": "ScroogeThriftScalaRuntimeForResolveRequest(resolve_name: 'str')", + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.scala.rules", + "name": "ScroogeThriftScalaRuntimeForResolveRequest", + "provider": "pants.backend.codegen.thrift.scrooge.scala.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.scrooge.scala.rules.inject_scrooge_thrift_scala_dependencies" + ] + }, + "pants.backend.codegen.thrift.scrooge.subsystem.ScroogeSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_lockfile_request", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.codegen.thrift.scrooge.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.scrooge.subsystem", + "name": "ScroogeSubsystem", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", + "returned_by_rules": [ + "construct_scope_scrooge" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.subsystem.ThriftSubsystem": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", + "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", + "pants.backend.codegen.thrift.target_types.generator_settings" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.subsystem", + "name": "ThriftSubsystem", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [ + "construct_scope_thrift" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.tailor.PutativeThriftTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": "PutativeThriftTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.codegen.thrift.tailor", + "name": "PutativeThriftTargetsRequest", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.target_types.AllThriftTargets": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", + "pants.backend.codegen.thrift.dependency_inference.map_thrift_files" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.target_types", + "name": "AllThriftTargets", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [ + "pants.backend.codegen.thrift.target_types.find_all_thrift_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.target_types.GeneratorSettingsRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.target_types.generator_settings" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.codegen.thrift.target_types", + "name": "GeneratorSettingsRequest", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "TargetFilesGeneratorSettingsRequest", + "used_in_rules": [] + }, + "pants.backend.codegen.thrift.thrift_parser.ParsedThrift": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.thrift.thrift_parser", + "pants.backend.experimental.go", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": "ParsedThrift(imports: 'FrozenOrderedSet[str]', namespaces: 'FrozenDict[str, str]')", + "is_union": false, + "module": "pants.backend.codegen.thrift.thrift_parser", + "name": "ParsedThrift", + "provider": "pants.backend.codegen.thrift.apache.python", + "returned_by_rules": [ + "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies" + ] + }, + "pants.backend.codegen.thrift.thrift_parser.ParsedThriftRequest": { + "consumed_by_rules": [ + "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file" + ], + "dependencies": [], + "dependents": [ + "pants.backend.codegen.thrift.apache.python" + ], + "documentation": "ParsedThriftRequest(sources_field: 'ThriftSourceField')", + "is_union": false, + "module": "pants.backend.codegen.thrift.thrift_parser", + "name": "ParsedThriftRequest", + "provider": "pants.backend.codegen.thrift.thrift_parser", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies" + ] + }, + "pants.backend.cue.goals.fix.CueFmtRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.cue.goals.fix", + "name": "CueFmtRequest", + "provider": "pants.backend.experimental.cue", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.cue.goals.lint.CueLintRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.cue.goals.lint", + "name": "CueLintRequest", + "provider": "pants.backend.experimental.cue", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.cue.subsystem.Cue": { + "consumed_by_rules": [ + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_CueLintRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_CueFmtRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.cue" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.cue.subsystem", + "name": "Cue", + "provider": "pants.backend.experimental.cue", + "returned_by_rules": [ + "construct_scope_cue" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.debian.rules.DebianPackageFieldSet": { + "consumed_by_rules": [ + "pants.backend.debian.rules.package_debian_package" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.debian" + ], + "documentation": "DebianPackageFieldSet(address: 'Address', sources_dir: pants.backend.debian.target_types.DebianSources, install_prefix: pants.backend.debian.target_types.DebianInstallPrefix, packages: pants.backend.debian.target_types.DebianPackageDependencies, output_path: pants.core.goals.package.OutputPathField)", + "is_union": false, + "module": "pants.backend.debian.rules", + "name": "DebianPackageFieldSet", + "provider": "pants.backend.experimental.debian", + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.docker.goals.package_image.DockerPackageFieldSet": { + "consumed_by_rules": [ + "pants.backend.docker.goals.package_image.build_docker_image" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "DockerPackageFieldSet(address: 'Address', context_root: 'DockerImageContextRootField', registries: 'DockerImageRegistriesField', repository: 'DockerImageRepositoryField', source: 'DockerImageSourceField', tags: 'DockerImageTagsField', target_stage: 'DockerImageTargetStageField', output_path: 'OutputPathField')", + "is_union": false, + "module": "pants.backend.docker.goals.package_image", + "name": "DockerPackageFieldSet", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.docker.goals.publish.PublishDockerImageFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": "PublishDockerImageFieldSet(address: 'Address', registries: 'DockerImageRegistriesField', skip_push: 'DockerImageSkipPushField')", + "is_union": false, + "module": "pants.backend.docker.goals.publish", + "name": "PublishDockerImageFieldSet", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": "PublishFieldSet", + "used_in_rules": [] + }, + "pants.backend.docker.goals.publish.PublishDockerImageRequest": { + "consumed_by_rules": [ + "pants.backend.docker.goals.publish.push_docker_images" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.goals.publish", + "name": "PublishDockerImageRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": "PublishRequest", + "used_in_rules": [] + }, + "pants.backend.docker.goals.run_image.DockerRunFieldSet": { + "consumed_by_rules": [ + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DockerRunFieldSet" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "DockerRunFieldSet(address: 'Address')", + "is_union": false, + "module": "pants.backend.docker.goals.run_image", + "name": "DockerRunFieldSet", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": "RunFieldSet", + "used_in_rules": [] + }, + "pants.backend.docker.goals.tailor.PutativeDockerTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.docker.goals.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "PutativeDockerTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.docker.goals.tailor", + "name": "PutativeDockerTargetsRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.docker.lint.hadolint.rules.HadolintRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.lint.hadolint.rules", + "name": "HadolintRequest", + "provider": "pants.backend.docker.lint.hadolint", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.docker.lint.hadolint.skip_field.SkipHadolintField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.lint.hadolint.skip_field", + "name": "SkipHadolintField", + "provider": "pants.backend.docker.lint.hadolint", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.docker.lint.hadolint.subsystem.Hadolint": { + "consumed_by_rules": [ + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_HadolintRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.docker.lint.hadolint" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.lint.hadolint.subsystem", + "name": "Hadolint", + "provider": "pants.backend.docker.lint.hadolint", + "returned_by_rules": [ + "construct_scope_hadolint" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.docker.subsystems.docker_options.DockerOptions": { + "consumed_by_rules": [ + "construct_env_aware_scope_docker", + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.docker.goals.publish.push_docker_images", + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.docker.goals.tailor.find_putative_targets", + "pants.backend.docker.util_rules.docker_binary.get_docker", + "pants.backend.docker.util_rules.docker_build_args.docker_build_args", + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.docker", + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.subsystems.docker_options", + "name": "DockerOptions", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "construct_scope_docker" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.docker.subsystems.docker_options.EnvironmentAware": { + "consumed_by_rules": [ + "pants.backend.docker.goals.publish.push_docker_images", + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.docker.util_rules.docker_binary.get_docker", + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" + ], + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.subsystems.docker_options", + "name": "EnvironmentAware", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "construct_env_aware_scope_docker" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.docker.subsystems.dockerfile_parser.DockerfileInfo": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.backend.experimental.helm" + ], + "dependents": [ + "pants.backend.docker", + "pants.backend.docker.lint.hadolint" + ], + "documentation": "DockerfileInfo(address: 'Address', digest: 'Digest', source: 'str', build_args: 'DockerBuildArgs' = DockerBuildArgs(), copy_source_paths: 'tuple[str, ...]' = (), from_image_build_args: 'DockerBuildArgs' = DockerBuildArgs(), version_tags: 'tuple[str, ...]' = ())", + "is_union": false, + "module": "pants.backend.docker.subsystems.dockerfile_parser", + "name": "DockerfileInfo", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + ] + }, + "pants.backend.docker.subsystems.dockerfile_parser.DockerfileInfoRequest": { + "consumed_by_rules": [ + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile" + ], + "dependencies": [], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "DockerfileInfoRequest(address: 'Address')", + "is_union": false, + "module": "pants.backend.docker.subsystems.dockerfile_parser", + "name": "DockerfileInfoRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + ] + }, + "pants.backend.docker.subsystems.dockerfile_parser.DockerfileParseRequest": { + "consumed_by_rules": [ + "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile" + ], + "dependencies": [], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "DockerfileParseRequest(sources_digest: 'Digest', args: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.docker.subsystems.dockerfile_parser", + "name": "DockerfileParseRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile" + ] + }, + "pants.backend.docker.subsystems.dockerfile_parser.DockerfileParser": { + "consumed_by_rules": [ + "pants.backend.docker.subsystems.dockerfile_parser.setup_parser" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.subsystems.dockerfile_parser", + "name": "DockerfileParser", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "construct_scope_dockerfile_parser" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.docker.subsystems.dockerfile_parser.ParserSetup": { + "consumed_by_rules": [ + "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "ParserSetup(pex: 'VenvPex')", + "is_union": false, + "module": "pants.backend.docker.subsystems.dockerfile_parser", + "name": "ParserSetup", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "pants.backend.docker.subsystems.dockerfile_parser.setup_parser" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.docker.target_types.AllDockerImageTargets": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.target_types", + "name": "AllDockerImageTargets", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "pants.backend.docker.target_types.all_docker_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.docker.target_types.DockerImageTagsRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "A request to provide additional image tags.", + "is_union": true, + "module": "pants.backend.docker.target_types", + "name": "DockerImageTagsRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + ] + }, + "pants.backend.docker.util_rules.dependencies.InferDockerDependencies": { + "consumed_by_rules": [ + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.util_rules.dependencies", + "name": "InferDockerDependencies", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.docker.util_rules.docker_binary.DockerBinary": { + "consumed_by_rules": [ + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.docker.goals.publish.push_docker_images", + "pants.backend.docker.goals.run_image.docker_image_run_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "The `docker` binary.", + "is_union": false, + "module": "pants.backend.docker.util_rules.docker_binary", + "name": "DockerBinary", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "pants.backend.docker.util_rules.docker_binary.get_docker" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.docker.util_rules.docker_build_args.DockerBuildArgs": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.docker" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.util_rules.docker_build_args", + "name": "DockerBuildArgs", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "pants.backend.docker.util_rules.docker_build_args.docker_build_args" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" + ] + }, + "pants.backend.docker.util_rules.docker_build_args.DockerBuildArgsRequest": { + "consumed_by_rules": [ + "pants.backend.docker.util_rules.docker_build_args.docker_build_args" + ], + "dependencies": [], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "DockerBuildArgsRequest(target: 'Target')", + "is_union": false, + "module": "pants.backend.docker.util_rules.docker_build_args", + "name": "DockerBuildArgsRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" + ] + }, + "pants.backend.docker.util_rules.docker_build_context.DockerBuildContext": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.awslambda.python", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.google_cloud_function.python", + "pants.backend.python", + "pants.core", + "pants.engine.addresses" + ], + "dependents": [ + "pants.backend.docker", + "pants.backend.experimental.helm" + ], + "documentation": "DockerBuildContext(build_args: 'DockerBuildArgs', digest: 'Digest', build_env: 'DockerBuildEnvironment', upstream_image_ids: 'tuple[str, ...]', dockerfile: 'str', interpolation_context: 'InterpolationContext', copy_source_vs_context_source: 'tuple[tuple[str, str], ...]', stages: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.docker.util_rules.docker_build_context", + "name": "DockerBuildContext", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + ] + }, + "pants.backend.docker.util_rules.docker_build_context.DockerBuildContextRequest": { + "consumed_by_rules": [ + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + ], + "dependencies": [], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "DockerBuildContextRequest(address: 'Address', build_upstream_images: 'bool' = False)", + "is_union": false, + "module": "pants.backend.docker.util_rules.docker_build_context", + "name": "DockerBuildContextRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + ] + }, + "pants.backend.docker.util_rules.docker_build_context.GenerateDockerContextFiles": { + "consumed_by_rules": [ + "pants.backend.docker.util_rules.docker_build_context.hydrate_input_sources" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "This translates all files from acceptable Source fields for the docker context using the\n`codegen` machinery.", + "is_union": false, + "module": "pants.backend.docker.util_rules.docker_build_context", + "name": "GenerateDockerContextFiles", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.docker.util_rules.docker_build_env.DockerBuildEnvironment": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "DockerBuildEnvironment(environment: 'EnvironmentVars')", + "is_union": false, + "module": "pants.backend.docker.util_rules.docker_build_env", + "name": "DockerBuildEnvironment", + "provider": "pants.backend.docker", + "returned_by_rules": [ + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + ] + }, + "pants.backend.docker.util_rules.docker_build_env.DockerBuildEnvironmentRequest": { + "consumed_by_rules": [ + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" + ], + "dependencies": [], + "dependents": [ + "pants.backend.docker" + ], + "documentation": "DockerBuildEnvironmentRequest(target: 'Target')", + "is_union": false, + "module": "pants.backend.docker.util_rules.docker_build_env", + "name": "DockerBuildEnvironmentRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + ] + }, + "pants.backend.docker.util_rules.dockerfile.GenerateDockerfileRequest": { + "consumed_by_rules": [ + "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.docker" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.docker.util_rules.dockerfile", + "name": "GenerateDockerfileRequest", + "provider": "pants.backend.docker", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateSourcesRequest", + "used_in_rules": [] + }, + "pants.backend.go.dependency_inference.AllGoModuleImportPathsMappings": { + "consumed_by_rules": [ + "pants.backend.go.target_type_rules.map_import_paths_to_packages" + ], + "dependencies": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.dependency_inference", + "name": "AllGoModuleImportPathsMappings", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.target_type_rules.go_merge_import_paths_analysis" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.dependency_inference.GoModuleImportPathsMapping": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.target_type_rules" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.go", + "pants.backend.experimental.go.debug_goals" + ], + "documentation": "Maps import paths (as strings) to one or more addresses of targets providing those import\npath(s) for a single Go module.", + "is_union": false, + "module": "pants.backend.go.dependency_inference", + "name": "GoModuleImportPathsMapping", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.target_type_rules.map_import_paths_to_packages" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.go.goals.debug_goals.dump_go_import_paths_for_module", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ] + }, + "pants.backend.go.dependency_inference.GoModuleImportPathsMappings": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.codegen.protobuf.python", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Import path mappings for all Go modules in the repository.\n\nThis type is requested from plugins which provide implementations for the GoCodegenBuildRequest\nunion and then merged.", + "is_union": false, + "module": "pants.backend.go.dependency_inference", + "name": "GoModuleImportPathsMappings", + "provider": "pants.backend.experimental.codegen.protobuf.go, pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", + "pants.backend.go.target_type_rules.go_map_import_paths_by_module" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.target_type_rules.go_merge_import_paths_analysis" + ] + }, + "pants.backend.go.dependency_inference.GoModuleImportPathsMappingsHook": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.go" + ], + "documentation": "An entry point for a specific implementation of mapping Go import paths to owning targets.\n\nAll implementations will be merged together. The core Go dependency inference rules will request\nthe `GoModuleImportPathsMappings` type using implementations of this union.", + "is_union": true, + "module": "pants.backend.go.dependency_inference", + "name": "GoModuleImportPathsMappingsHook", + "provider": "pants.backend.go.dependency_inference", + "returned_by_rules": [], + "union_members": [ + "FirstPartyGoModuleImportPathsMappingsHook", + "ProtobufGoModuleImportPathsMappingsHook" + ], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.target_type_rules.go_merge_import_paths_analysis" + ] + }, + "pants.backend.go.go_sources.load_go_binary.LoadedGoBinary": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.go_sources.load_go_binary", + "pants.backend.go.util_rules.build_pkg", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "LoadedGoBinary(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.go.go_sources.load_go_binary", + "name": "LoadedGoBinary", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.go_sources.load_go_binary.setup_go_binary" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer", + "pants.backend.go.util_rules.tests_analysis.generate_testmain", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package" + ] + }, + "pants.backend.go.go_sources.load_go_binary.LoadedGoBinaryRequest": { + "consumed_by_rules": [ + "pants.backend.go.go_sources.load_go_binary.setup_go_binary" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "LoadedGoBinaryRequest(dir_name: 'str', file_names: 'tuple[str, ...]', output_name: 'str')", + "is_union": false, + "module": "pants.backend.go.go_sources.load_go_binary", + "name": "LoadedGoBinaryRequest", + "provider": "pants.backend.go.go_sources.load_go_binary", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer", + "pants.backend.go.util_rules.tests_analysis.generate_testmain", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package" + ] + }, + "pants.backend.go.go_sources.load_go_binary.NaiveBuildGoPackageRequestForStdlibPackageRequest": { + "consumed_by_rules": [ + "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "NaiveBuildGoPackageRequestForStdlibPackageRequest(import_path: 'str')", + "is_union": false, + "module": "pants.backend.go.go_sources.load_go_binary", + "name": "NaiveBuildGoPackageRequestForStdlibPackageRequest", + "provider": "pants.backend.go.go_sources.load_go_binary", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", + "pants.backend.go.go_sources.load_go_binary.setup_go_binary" + ] + }, + "pants.backend.go.goals.check.GoCheckRequest": { + "consumed_by_rules": [ + "pants.backend.go.goals.check.check_go" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.check", + "name": "GoCheckRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "CheckRequest", + "used_in_rules": [] + }, + "pants.backend.go.goals.debug_goals.DumpGoImportPathsForModule": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.engine.console", + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.debug_goals", + "name": "DumpGoImportPathsForModule", + "provider": "pants.backend.experimental.go.debug_goals", + "returned_by_rules": [ + "pants.backend.go.goals.debug_goals.dump_go_import_paths_for_module" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.debug_goals.DumpGoImportPathsForModuleSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.debug_goals", + "name": "DumpGoImportPathsForModuleSubsystem", + "provider": "pants.backend.experimental.go.debug_goals", + "returned_by_rules": [ + "construct_scope_go_dump_import_path_mapping" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.debug_goals.ExportCgoPackageRequest": { + "consumed_by_rules": [ + "pants.backend.go.goals.debug_goals.export_cgo_package" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go.debug_goals" + ], + "documentation": "ExportCgoPackageRequest(address: 'Address', build_opts: 'GoBuildOptions')", + "is_union": false, + "module": "pants.backend.go.goals.debug_goals", + "name": "ExportCgoPackageRequest", + "provider": "pants.backend.go.goals.debug_goals", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.go_export_cgo_codegen" + ] + }, + "pants.backend.go.goals.debug_goals.ExportCgoPackageResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.goals.debug_goals", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go.debug_goals" + ], + "documentation": "ExportCgoPackageResult(digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), error: 'str | None' = None, skip: 'bool' = False)", + "is_union": false, + "module": "pants.backend.go.goals.debug_goals", + "name": "ExportCgoPackageResult", + "provider": "pants.backend.experimental.go.debug_goals", + "returned_by_rules": [ + "pants.backend.go.goals.debug_goals.export_cgo_package" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.go_export_cgo_codegen" + ] + }, + "pants.backend.go.goals.debug_goals.GoExportCgoCodegen": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.core", + "pants.engine.fs" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.debug_goals", + "name": "GoExportCgoCodegen", + "provider": "pants.backend.experimental.go.debug_goals", + "returned_by_rules": [ + "pants.backend.go.goals.debug_goals.go_export_cgo_codegen" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.debug_goals.GoExportCgoCodegenSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.debug_goals", + "name": "GoExportCgoCodegenSubsystem", + "provider": "pants.backend.experimental.go.debug_goals", + "returned_by_rules": [ + "construct_scope_go_export_cgo_codegen" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.debug_goals.ShowGoPackageAnalysis": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.core", + "pants.engine.console" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.debug_goals", + "name": "ShowGoPackageAnalysis", + "provider": "pants.backend.experimental.go.debug_goals", + "returned_by_rules": [ + "pants.backend.go.goals.debug_goals.go_show_package_analysis" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.debug_goals.ShowGoPackageAnalysisSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.debug_goals", + "name": "ShowGoPackageAnalysisSubsystem", + "provider": "pants.backend.experimental.go.debug_goals", + "returned_by_rules": [ + "construct_scope_go_show_package_analysis" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.generate.EnvironmentAware": { + "consumed_by_rules": [ + "pants.backend.go.goals.generate.run_go_package_generators" + ], + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.generate", + "name": "EnvironmentAware", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "construct_env_aware_scope_go_generate" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.generate.GoGenerateGoal": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.generate", + "name": "GoGenerateGoal", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.goals.generate.go_generate" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.generate.GoGenerateGoalSubsystem": { + "consumed_by_rules": [ + "construct_env_aware_scope_go_generate" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.generate", + "name": "GoGenerateGoalSubsystem", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "construct_scope_go_generate" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.goals.generate.OverwriteMergeDigests": { + "consumed_by_rules": [ + "pants.backend.go.goals.generate.merge_digests_with_overwrite" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "OverwriteMergeDigests(orig_digest: 'Digest', new_digest: 'Digest')", + "is_union": false, + "module": "pants.backend.go.goals.generate", + "name": "OverwriteMergeDigests", + "provider": "pants.backend.go.goals.generate", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.generate.run_go_package_generators" + ] + }, + "pants.backend.go.goals.generate.RunPackageGeneratorsRequest": { + "consumed_by_rules": [ + "pants.backend.go.goals.generate.run_go_package_generators" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "RunPackageGeneratorsRequest(address: 'Address', regex: 'str | None' = None)", + "is_union": false, + "module": "pants.backend.go.goals.generate", + "name": "RunPackageGeneratorsRequest", + "provider": "pants.backend.go.goals.generate", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.generate.go_generate" + ] + }, + "pants.backend.go.goals.generate.RunPackageGeneratorsResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.go.goals.generate", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "RunPackageGeneratorsResult(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.go.goals.generate", + "name": "RunPackageGeneratorsResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.goals.generate.run_go_package_generators" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.generate.go_generate" + ] + }, + "pants.backend.go.goals.package_binary.GoBinaryFieldSet": { + "consumed_by_rules": [ + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.run_binary.create_go_binary_run_request", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_GoBinaryFieldSet" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoBinaryFieldSet(address: 'Address', main: 'GoBinaryMainPackageField', output_path: 'OutputPathField', environment: 'EnvironmentField')", + "is_union": false, + "module": "pants.backend.go.goals.package_binary", + "name": "GoBinaryFieldSet", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "RunFieldSet", + "used_in_rules": [] + }, + "pants.backend.go.goals.tailor.FindPutativeGoPackageTargetRequest": { + "consumed_by_rules": [ + "pants.backend.go.goals.tailor.find_putative_go_package_target" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "FindPutativeGoPackageTargetRequest(dir_path: 'str', files: 'tuple[str, ...]', all_go_mod_dirs: 'frozenset[str]')", + "is_union": false, + "module": "pants.backend.go.goals.tailor", + "name": "FindPutativeGoPackageTargetRequest", + "provider": "pants.backend.go.goals.tailor", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.tailor.find_putative_go_targets" + ] + }, + "pants.backend.go.goals.tailor.FindPutativeGoPackageTargetResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.goals.tailor", + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "FindPutativeGoPackageTargetResult(putative_target: 'PutativeTarget | None')", + "is_union": false, + "module": "pants.backend.go.goals.tailor", + "name": "FindPutativeGoPackageTargetResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.goals.tailor.find_putative_go_package_target" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.tailor.find_putative_go_targets" + ] + }, + "pants.backend.go.goals.tailor.PutativeGoTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.go.goals.tailor.find_putative_go_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "PutativeGoTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.go.goals.tailor", + "name": "PutativeGoTargetsRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.go.goals.test.FalliblePrepareGoTestBinaryResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.goals.test", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "FalliblePrepareGoTestBinaryResult(binary: 'PrepareGoTestBinaryResult | None', stdout: 'str', stderr: 'str', exit_code: 'int')", + "is_union": false, + "module": "pants.backend.go.goals.test", + "name": "FalliblePrepareGoTestBinaryResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.goals.test.prepare_go_test_binary" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.test.run_go_tests" + ] + }, + "pants.backend.go.goals.test.GoTestFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": "GoTestFieldSet(address: 'Address', sources: 'GoPackageSourcesField', dependencies: 'Dependencies', timeout: 'GoTestTimeoutField', extra_env_vars: 'GoTestExtraEnvVarsField')", + "is_union": false, + "module": "pants.backend.go.goals.test", + "name": "GoTestFieldSet", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "TestFieldSet", + "used_in_rules": [] + }, + "pants.backend.go.goals.test.GoTestRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.goals.test", + "name": "GoTestRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "TestRequest", + "used_in_rules": [] + }, + "pants.backend.go.goals.test.PrepareGoTestBinaryRequest": { + "consumed_by_rules": [ + "pants.backend.go.goals.test.prepare_go_test_binary" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "PrepareGoTestBinaryRequest(field_set: 'GoTestFieldSet', coverage: 'PrepareGoTestBinaryCoverageConfig | None')", + "is_union": false, + "module": "pants.backend.go.goals.test", + "name": "PrepareGoTestBinaryRequest", + "provider": "pants.backend.go.goals.test", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.test.run_go_tests" + ] + }, + "pants.backend.go.lint.gofmt.rules.GofmtRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.gofmt.rules", + "name": "GofmtRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.go.lint.gofmt.skip_field.SkipGofmtField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.gofmt.skip_field", + "name": "SkipGofmtField", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.go.lint.gofmt.subsystem.GofmtSubsystem": { + "consumed_by_rules": [ + "pants.backend.go.lint.gofmt.rules.gofmt_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.gofmt.subsystem", + "name": "GofmtSubsystem", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "construct_scope_gofmt" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.lint.golangci_lint.rules.GolangciLintRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.golangci_lint.rules", + "name": "GolangciLintRequest", + "provider": "pants.backend.experimental.go.lint.golangci_lint", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.go.lint.golangci_lint.skip_field.SkipGolangciLintField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.golangci_lint.skip_field", + "name": "SkipGolangciLintField", + "provider": "pants.backend.experimental.go.lint.golangci_lint", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.go.lint.golangci_lint.subsystem.GolangciLint": { + "consumed_by_rules": [ + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_GolangciLintRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.go.lint.golangci_lint" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.golangci_lint.subsystem", + "name": "GolangciLint", + "provider": "pants.backend.experimental.go.lint.golangci_lint", + "returned_by_rules": [ + "construct_scope_golangci_lint" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.lint.vet.rules.GoVetRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.vet.rules", + "name": "GoVetRequest", + "provider": "pants.backend.experimental.go.lint.vet", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.go.lint.vet.skip_field.SkipGoVetField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.vet.skip_field", + "name": "SkipGoVetField", + "provider": "pants.backend.experimental.go.lint.vet", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.go.lint.vet.subsystem.GoVetSubsystem": { + "consumed_by_rules": [ + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_GoVetRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.go.lint.vet" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.lint.vet.subsystem", + "name": "GoVetSubsystem", + "provider": "pants.backend.experimental.go.lint.vet", + "returned_by_rules": [ + "construct_scope_go_vet" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.subsystems.golang.EnvironmentAware": { + "consumed_by_rules": [ + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", + "pants.backend.go.util_rules.link.setup_go_linker", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process" + ], + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.subsystems.golang", + "name": "EnvironmentAware", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "construct_env_aware_scope_golang" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.subsystems.golang.GolangSubsystem": { + "consumed_by_rules": [ + "construct_env_aware_scope_golang", + "pants.backend.go.goals.tailor.find_putative_go_targets", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", + "pants.backend.go.util_rules.goroot.setup_goroot" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.subsystems.golang", + "name": "GolangSubsystem", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "construct_scope_golang" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.subsystems.gotest.GoTestSubsystem": { + "consumed_by_rules": [ + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_GoTestRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.subsystems.gotest", + "name": "GoTestSubsystem", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "construct_scope_go_test" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.target_type_rules.FirstPartyGoModuleImportPathsMappingsHook": { + "consumed_by_rules": [ + "pants.backend.go.target_type_rules.go_map_import_paths_by_module" + ], + "dependencies": [ + "pants.backend.go.dependency_inference" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.target_type_rules", + "name": "FirstPartyGoModuleImportPathsMappingsHook", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "GoModuleImportPathsMappingsHook", + "used_in_rules": [] + }, + "pants.backend.go.target_type_rules.GenerateTargetsFromGoModRequest": { + "consumed_by_rules": [ + "pants.backend.go.target_type_rules.generate_targets_from_go_mod" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.target_type_rules", + "name": "GenerateTargetsFromGoModRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.go.target_type_rules.GoImportPathMappingRequest": { + "consumed_by_rules": [ + "pants.backend.go.target_type_rules.map_import_paths_to_packages" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoImportPathMappingRequest(go_mod_address: 'Address')", + "is_union": false, + "module": "pants.backend.go.target_type_rules", + "name": "GoImportPathMappingRequest", + "provider": "pants.backend.go.target_type_rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.go.goals.debug_goals.dump_go_import_paths_for_module", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ] + }, + "pants.backend.go.target_type_rules.InferGoPackageDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.go.target_type_rules.infer_go_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.target_type_rules", + "name": "InferGoPackageDependenciesRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.go.target_type_rules.InferGoThirdPartyPackageDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.target_type_rules", + "name": "InferGoThirdPartyPackageDependenciesRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.go.target_types.GoOwningGoModAddressField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.target_types", + "name": "GoOwningGoModAddressField", + "provider": "pants.backend.experimental.codegen.protobuf.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.go.util_rules.assembly.AssembleGoAssemblyFilesRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.assembly.assemble_go_assembly_files" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Assemble Go assembly files to object files.", + "is_union": false, + "module": "pants.backend.go.util_rules.assembly", + "name": "AssembleGoAssemblyFilesRequest", + "provider": "pants.backend.go.util_rules.assembly", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.assembly.FallibleAssembleGoAssemblyFilesResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.assembly", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "FallibleAssembleGoAssemblyFilesResult(result: 'AssembleGoAssemblyFilesResult | None', exit_code: 'int' = 0, stdout: 'str | None' = None, stderr: 'str | None' = None)", + "is_union": false, + "module": "pants.backend.go.util_rules.assembly", + "name": "FallibleAssembleGoAssemblyFilesResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.assembly.assemble_go_assembly_files" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.assembly.FallibleGenerateAssemblySymabisResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.assembly", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "FallibleGenerateAssemblySymabisResult(result: 'GenerateAssemblySymabisResult | None', exit_code: 'int' = 0, stdout: 'str | None' = None, stderr: 'str | None' = None)", + "is_union": false, + "module": "pants.backend.go.util_rules.assembly", + "name": "FallibleGenerateAssemblySymabisResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.assembly.GenerateAssemblySymabisRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Generate a `symabis` file with metadata about the assemnbly files for consumption by Go\ncompiler.\n\nSee https://github.com/bazelbuild/rules_go/issues/1893.", + "is_union": false, + "module": "pants.backend.go.util_rules.assembly", + "name": "GenerateAssemblySymabisRequest", + "provider": "pants.backend.go.util_rules.assembly", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.binary.GoBinaryMainPackage": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.go.util_rules.binary", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoBinaryMainPackage(address: 'Address', is_third_party: 'bool', import_path: 'str | None' = None)", + "is_union": false, + "module": "pants.backend.go.util_rules.binary", + "name": "GoBinaryMainPackage", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.tailor.find_putative_go_targets", + "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency", + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ] + }, + "pants.backend.go.util_rules.binary.GoBinaryMainPackageRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoBinaryMainPackageRequest(field: 'GoBinaryMainPackageField')", + "is_union": false, + "module": "pants.backend.go.util_rules.binary", + "name": "GoBinaryMainPackageRequest", + "provider": "pants.backend.go.util_rules.binary", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.tailor.find_putative_go_targets", + "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency", + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ] + }, + "pants.backend.go.util_rules.binary.InferGoBinaryMainDependencyRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.util_rules.binary", + "name": "InferGoBinaryMainDependencyRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.go.util_rules.build_opts.GoBuildOptions": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.util_rules.build_opts" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.debug_goals", + "pants.backend.experimental.go.lint.golangci_lint" + ], + "documentation": "GoBuildOptions(coverage_config: 'GoCoverageConfig | None' = None, cgo_enabled: 'bool' = True, with_race_detector: 'bool' = False, with_msan: 'bool' = False, with_asan: 'bool' = False, compiler_flags: 'tuple[str, ...]' = (), linker_flags: 'tuple[str, ...]' = (), assembler_flags: 'tuple[str, ...]' = ())", + "is_union": false, + "module": "pants.backend.go.util_rules.build_opts", + "name": "GoBuildOptions", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.check.check_go", + "pants.backend.go.goals.debug_goals.go_export_cgo_codegen", + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies" + ] + }, + "pants.backend.go.util_rules.build_opts.GoBuildOptionsFromTargetRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoBuildOptionsFromTargetRequest(address: 'Address', for_tests: 'bool' = False)", + "is_union": false, + "module": "pants.backend.go.util_rules.build_opts", + "name": "GoBuildOptionsFromTargetRequest", + "provider": "pants.backend.go.util_rules.build_opts", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.check.check_go", + "pants.backend.go.goals.debug_goals.go_export_cgo_codegen", + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies" + ] + }, + "pants.backend.go.util_rules.build_pkg.BuildGoPackageRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ], + "dependencies": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.go.go_sources.load_go_binary" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "BuildGoPackageRequest", + "provider": "pants.backend.experimental.go, pants.backend.go.util_rules.build_pkg", + "returned_by_rules": [ + "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", + "pants.backend.go.util_rules.build_pkg_target.required_build_go_package_request" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", + "pants.backend.go.go_sources.load_go_binary.setup_go_binary", + "pants.backend.go.goals.check.check_go", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.build_pkg.BuiltGoPackage": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "A package and its dependencies compiled as `__pkg__.a` files.\n\nThe packages are arranged into `__pkgs__/{path_safe(import_path)}/__pkg__.a`.", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "BuiltGoPackage", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.build_pkg.required_built_go_package" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.go_sources.load_go_binary.setup_go_binary", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies" + ] + }, + "pants.backend.go.util_rules.build_pkg.CheckForGolangAssemblyRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "CheckForGolangAssemblyRequest(digest: 'Digest', dir_path: 'str', s_files: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "CheckForGolangAssemblyRequest", + "provider": "pants.backend.go.util_rules.build_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.build_pkg.CheckForGolangAssemblyResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.util_rules.build_pkg", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "CheckForGolangAssemblyResult(maybe_golang_assembly: 'bool')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "CheckForGolangAssemblyResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.build_pkg.FallibleBuildGoPackageRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg_target.required_build_go_package_request" + ], + "dependencies": [ + "builtins", + "pants.backend.codegen.protobuf.go.rules", + "pants.backend.codegen.protobuf.python", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.build_pkg", + "pants.backend.go.util_rules.build_pkg_target", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs", + "pants.engine.process", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.go", + "pants.backend.experimental.go.debug_goals" + ], + "documentation": "Request to build a package, but fallible if determining the request metadata failed.\n\nWhen creating \"synthetic\" packages, use `GoPackageRequest` directly. This type is only intended\nfor determining the package metadata of user code, which may fail to be analyzed.", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "FallibleBuildGoPackageRequest", + "provider": "pants.backend.experimental.codegen.protobuf.go, pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "pants.backend.go.goals.check.check_go", + "pants.backend.go.goals.debug_goals.export_cgo_package", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + ] + }, + "pants.backend.go.util_rules.build_pkg.FallibleBuiltGoPackage": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg.required_built_go_package" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.build_pkg", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Fallible version of `BuiltGoPackage` with error details.", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "FallibleBuiltGoPackage", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.check.check_go", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.build_pkg.GoCompileActionIdRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg.compute_compile_action_id" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoCompileActionIdRequest(build_request: 'BuildGoPackageRequest')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "GoCompileActionIdRequest", + "provider": "pants.backend.go.util_rules.build_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.build_pkg.GoCompileActionIdResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.util_rules.build_pkg" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoCompileActionIdResult(action_id: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "GoCompileActionIdResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.build_pkg.compute_compile_action_id" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.build_pkg.RenderEmbedConfigRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg.render_embed_config" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "RenderEmbedConfigRequest(embed_config: 'EmbedConfig | None')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "RenderEmbedConfigRequest", + "provider": "pants.backend.go.util_rules.build_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.build_pkg.RenderedEmbedConfig": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.util_rules.build_pkg", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "RenderedEmbedConfig(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "RenderedEmbedConfig", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.build_pkg.render_embed_config" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.build_pkg.SetupAsmCheckBinary": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "SetupAsmCheckBinary(digest: 'Digest', path: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg", + "name": "SetupAsmCheckBinary", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.util_rules.build_pkg_target.BuildGoPackageRequestForStdlibRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "BuildGoPackageRequestForStdlibRequest(import_path: 'str', build_opts: 'GoBuildOptions')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg_target", + "name": "BuildGoPackageRequestForStdlibRequest", + "provider": "pants.backend.go.util_rules.build_pkg_target", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib", + "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies" + ] + }, + "pants.backend.go.util_rules.build_pkg_target.BuildGoPackageTargetRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Build a `go_package`, `go_third_party_package`, or Go codegen target and its dependencies as\n`__pkg__.a` files.", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg_target", + "name": "BuildGoPackageTargetRequest", + "provider": "pants.backend.go.util_rules.build_pkg_target", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.go.goals.check.check_go", + "pants.backend.go.goals.debug_goals.export_cgo_package", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ] + }, + "pants.backend.go.util_rules.build_pkg_target.GoCodegenBuildRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go" + ], + "documentation": "The plugin hook to build/compile Go code.\n\nNote that you should still use the normal `GenerateSourcesRequest` plugin hook from\n`pants.engine.target` too, which is necessary for integrations like the `export-codegen` goal.\nHowever, that is only helpful to generate the raw `.go` files; you also need to use this\nplugin hook so that Pants knows how to compile those generated `.go` files.\n\nSubclass this and set the class property `generate_from`. Define a rule that goes from your\nsubclass to `BuildGoPackageRequest` - the request must result in valid compilation, which you\nshould test for by using `rule_runner.request(BuiltGoPackage, BuildGoPackageRequest)` in your\ntests. For example, make sure to set up any third-party packages needed by the generated code.\nFinally, register `UnionRule(GoCodegenBuildRequest, MySubclass)`.", + "is_union": true, + "module": "pants.backend.go.util_rules.build_pkg_target", + "name": "GoCodegenBuildRequest", + "provider": "pants.backend.go.util_rules.build_pkg_target", + "returned_by_rules": [], + "union_members": [ + "GoCodegenBuildProtobufRequest" + ], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ] + }, + "pants.backend.go.util_rules.build_pkg_target._ResolveStdlibEmbedConfigRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "_ResolveStdlibEmbedConfigRequest(package: 'GoStdLibPackage')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg_target", + "name": "_ResolveStdlibEmbedConfigRequest", + "provider": "pants.backend.go.util_rules.build_pkg_target", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + ] + }, + "pants.backend.go.util_rules.build_pkg_target._ResolveStdlibEmbedConfigResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.build_pkg_target", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "_ResolveStdlibEmbedConfigResult(embed_config: 'EmbedConfig | None', stderr: 'str | None')", + "is_union": false, + "module": "pants.backend.go.util_rules.build_pkg_target", + "name": "_ResolveStdlibEmbedConfigResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + ] + }, + "pants.backend.go.util_rules.cgo.CGoCompileRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.cgo.cgo_compile_request" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "CGoCompileRequest(import_path: 'str', pkg_name: 'str', digest: 'Digest', build_opts: 'GoBuildOptions', dir_path: 'str', cgo_files: 'tuple[str, ...]', cgo_flags: 'CGoCompilerFlags', c_files: 'tuple[str, ...]' = (), cxx_files: 'tuple[str, ...]' = (), objc_files: 'tuple[str, ...]' = (), fortran_files: 'tuple[str, ...]' = (), s_files: 'tuple[str, ...]' = (), is_stdlib: 'bool' = False, transitive_prebuilt_object_files: 'tuple[Digest, frozenset[str]] | None' = None)", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo", + "name": "CGoCompileRequest", + "provider": "pants.backend.go.util_rules.cgo", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.export_cgo_package", + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.cgo.CGoCompileResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.rust", + "pants.backend.go.util_rules.cgo", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.debug_goals" + ], + "documentation": "CGoCompileResult(digest: 'Digest', output_go_files: 'tuple[str, ...]', output_obj_files: 'tuple[str, ...]', include_module_sources_with_output: 'bool')", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo", + "name": "CGoCompileResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.cgo.cgo_compile_request" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.export_cgo_package", + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.cgo.CGoCompilerWrapperScript": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "CGoCompilerWrapperScript(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo", + "name": "CGoCompilerWrapperScript", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.cgo.cgo_compile_request" + ] + }, + "pants.backend.go.util_rules.cgo.CheckCompilerSupportsFlagRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.cgo.check_compiler_supports_flag" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "CheckCompilerSupportsFlagRequest(cc: 'str', flag: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo", + "name": "CheckCompilerSupportsFlagRequest", + "provider": "pants.backend.go.util_rules.cgo", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.cgo.setup_compiler_cmd" + ] + }, + "pants.backend.go.util_rules.cgo.CheckCompilerSupportsOptionResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.cgo", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "CheckCompilerSupportsOptionResult(supports_flag: 'bool')", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo", + "name": "CheckCompilerSupportsOptionResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.cgo.check_compiler_supports_flag" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.cgo.setup_compiler_cmd" + ] + }, + "pants.backend.go.util_rules.cgo.SetupCompilerCmdRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.cgo.setup_compiler_cmd" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "SetupCompilerCmdRequest(compiler: 'tuple[str, ...]', include_dir: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo", + "name": "SetupCompilerCmdRequest", + "provider": "pants.backend.go.util_rules.cgo", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.cgo.cgo_compile_request" + ] + }, + "pants.backend.go.util_rules.cgo.SetupCompilerCmdResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.util_rules.cgo" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "SetupCompilerCmdResult(args: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo", + "name": "SetupCompilerCmdResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.cgo.setup_compiler_cmd" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.cgo.cgo_compile_request" + ] + }, + "pants.backend.go.util_rules.cgo_binaries.CGoBinaryPathRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "CGoBinaryPathRequest(binary_name: 'str', binary_path_test: 'BinaryPathTest | None')", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo_binaries", + "name": "CGoBinaryPathRequest", + "provider": "pants.backend.go.util_rules.cgo_binaries", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", + "pants.backend.go.util_rules.link.setup_go_linker" + ] + }, + "pants.backend.go.util_rules.cgo_pkgconfig.CGoPkgConfigFlagsRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Request resolution of pkg-config arguments into CFLAGS and LDFLAGS.", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo_pkgconfig", + "name": "CGoPkgConfigFlagsRequest", + "provider": "pants.backend.go.util_rules.cgo_pkgconfig", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.cgo.cgo_compile_request" + ] + }, + "pants.backend.go.util_rules.cgo_pkgconfig.CGoPkgConfigFlagsResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.experimental.rust", + "pants.backend.go.util_rules.cgo_pkgconfig" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "CGoPkgConfigFlagsResult(cflags: 'tuple[str, ...]', ldflags: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.go.util_rules.cgo_pkgconfig", + "name": "CGoPkgConfigFlagsResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.cgo.cgo_compile_request" + ] + }, + "pants.backend.go.util_rules.coverage.ApplyCodeCoverageRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.coverage.go_apply_code_coverage" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Apply code coverage to a package using `go tool cover`.", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage", + "name": "ApplyCodeCoverageRequest", + "provider": "pants.backend.go.util_rules.coverage", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.coverage.ApplyCodeCoverageResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.util_rules.coverage", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ApplyCodeCoverageResult(digest: 'Digest', cover_file_metadatas: 'tuple[FileCodeCoverageMetadata, ...]', go_files: 'tuple[str, ...]', cgo_files: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage", + "name": "ApplyCodeCoverageResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.coverage.go_apply_code_coverage" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package" + ] + }, + "pants.backend.go.util_rules.coverage.ApplyCodeCoverageToFileRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ApplyCodeCoverageToFileRequest(digest: 'Digest', go_file: 'str', cover_go_file: 'str', mode: 'GoCoverMode', cover_var: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage", + "name": "ApplyCodeCoverageToFileRequest", + "provider": "pants.backend.go.util_rules.coverage", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.coverage.go_apply_code_coverage" + ] + }, + "pants.backend.go.util_rules.coverage.ApplyCodeCoverageToFileResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.go.util_rules.coverage" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ApplyCodeCoverageToFileResult(digest: 'Digest', cover_go_file: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage", + "name": "ApplyCodeCoverageToFileResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.coverage.go_apply_code_coverage" + ] + }, + "pants.backend.go.util_rules.coverage.GenerateCoverageSetupCodeRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GenerateCoverageSetupCodeRequest(packages: 'FrozenOrderedSet[BuiltGoPackageCodeCoverageMetadata]', cover_mode: 'GoCoverMode')", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage", + "name": "GenerateCoverageSetupCodeRequest", + "provider": "pants.backend.go.util_rules.coverage", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.test.prepare_go_test_binary" + ] + }, + "pants.backend.go.util_rules.coverage.GenerateCoverageSetupCodeResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.util_rules.coverage", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GenerateCoverageSetupCodeResult(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage", + "name": "GenerateCoverageSetupCodeResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.test.prepare_go_test_binary" + ] + }, + "pants.backend.go.util_rules.coverage_html.RenderGoCoverageProfileToHtmlRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "RenderGoCoverageProfileToHtmlRequest(raw_coverage_profile: 'bytes', description_of_origin: 'str', sources_digest: 'Digest', sources_dir_path: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage_html", + "name": "RenderGoCoverageProfileToHtmlRequest", + "provider": "pants.backend.go.util_rules.coverage_html", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report" + ] + }, + "pants.backend.go.util_rules.coverage_html.RenderGoCoverageProfileToHtmlResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.util_rules.coverage_html", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "RenderGoCoverageProfileToHtmlResult(html_output: 'bytes')", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage_html", + "name": "RenderGoCoverageProfileToHtmlResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report" + ] + }, + "pants.backend.go.util_rules.coverage_output.GoCoverageDataCollection": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.util_rules.coverage_output", + "name": "GoCoverageDataCollection", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "CoverageDataCollection", + "used_in_rules": [] + }, + "pants.backend.go.util_rules.coverage_output.RenderGoCoverageReportRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "RenderGoCoverageReportRequest(raw_report: 'GoCoverageData')", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage_output", + "name": "RenderGoCoverageReportRequest", + "provider": "pants.backend.go.util_rules.coverage_output", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports" + ] + }, + "pants.backend.go.util_rules.coverage_output.RenderGoCoverageReportResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.go.util_rules.coverage_output", + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "RenderGoCoverageReportResult(coverage_report: 'FilesystemCoverageReport', html_report: 'FilesystemCoverageReport | None' = None)", + "is_union": false, + "module": "pants.backend.go.util_rules.coverage_output", + "name": "RenderGoCoverageReportResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports" + ] + }, + "pants.backend.go.util_rules.first_party_pkg.FallibleFirstPartyPkgAnalysis": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.first_party_pkg", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.debug_goals" + ], + "documentation": "Metadata for a Go package, but fallible if our analysis failed.", + "is_union": false, + "module": "pants.backend.go.util_rules.first_party_pkg", + "name": "FallibleFirstPartyPkgAnalysis", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest" + ] + }, + "pants.backend.go.util_rules.first_party_pkg.FallibleFirstPartyPkgDigest": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.first_party_pkg", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "The source files for a Go package, but fallible if embed preparation failed.", + "is_union": false, + "module": "pants.backend.go.util_rules.first_party_pkg", + "name": "FallibleFirstPartyPkgDigest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ] + }, + "pants.backend.go.util_rules.first_party_pkg.FirstPartyPkgAnalysisRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "FirstPartyPkgAnalysisRequest(address: 'Address', build_opts: 'GoBuildOptions', extra_build_tags: 'tuple[str, ...]' = ())", + "is_union": false, + "module": "pants.backend.go.util_rules.first_party_pkg", + "name": "FirstPartyPkgAnalysisRequest", + "provider": "pants.backend.go.util_rules.first_party_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest" + ] + }, + "pants.backend.go.util_rules.first_party_pkg.FirstPartyPkgDigestRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "FirstPartyPkgDigestRequest(address: 'Address', build_opts: 'GoBuildOptions')", + "is_union": false, + "module": "pants.backend.go.util_rules.first_party_pkg", + "name": "FirstPartyPkgDigestRequest", + "provider": "pants.backend.go.util_rules.first_party_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ] + }, + "pants.backend.go.util_rules.first_party_pkg.FirstPartyPkgImportPath": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.util_rules.first_party_pkg" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "The derived import path of a first party package, based on its owning go.mod.\n\nUse `FirstPartyPkgAnalysis` instead for more detailed information like parsed imports. Use\n`FirstPartyPkgDigest` for source files and embed config.", + "is_union": false, + "module": "pants.backend.go.util_rules.first_party_pkg", + "name": "FirstPartyPkgImportPath", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.target_type_rules.go_map_import_paths_by_module", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package" + ] + }, + "pants.backend.go.util_rules.first_party_pkg.FirstPartyPkgImportPathRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "FirstPartyPkgImportPathRequest(address: 'Address')", + "is_union": false, + "module": "pants.backend.go.util_rules.first_party_pkg", + "name": "FirstPartyPkgImportPathRequest", + "provider": "pants.backend.go.util_rules.first_party_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.target_type_rules.go_map_import_paths_by_module", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package" + ] + }, + "pants.backend.go.util_rules.go_bootstrap.GoBootstrap": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.goroot.setup_goroot" + ], + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoBootstrap(go_search_paths: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.go.util_rules.go_bootstrap", + "name": "GoBootstrap", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.util_rules.go_mod.AllGoModTargets": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.util_rules.go_mod", + "name": "AllGoModTargets", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.go_mod.find_all_go_mod_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.util_rules.go_mod.GoModInfo": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.go.util_rules.go_mod" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.debug_goals", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet" + ], + "documentation": "GoModInfo(import_path: 'str', digest: 'Digest', mod_path: 'str', minimum_go_version: 'str | None')", + "is_union": false, + "module": "pants.backend.go.util_rules.go_mod", + "name": "GoModInfo", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.go_mod.determine_go_mod_info" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.target_type_rules.generate_targets_from_go_mod", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path" + ] + }, + "pants.backend.go.util_rules.go_mod.GoModInfoRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.go_mod.determine_go_mod_info" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoModInfoRequest(source: 'Address | GoModSourcesField')", + "is_union": false, + "module": "pants.backend.go.util_rules.go_mod", + "name": "GoModInfoRequest", + "provider": "pants.backend.go.util_rules.go_mod", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.target_type_rules.generate_targets_from_go_mod", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path" + ] + }, + "pants.backend.go.util_rules.go_mod.NearestAncestorGoModRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "NearestAncestorGoModRequest(address: 'Address')", + "is_union": false, + "module": "pants.backend.go.util_rules.go_mod", + "name": "NearestAncestorGoModRequest", + "provider": "pants.backend.go.util_rules.go_mod", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ] + }, + "pants.backend.go.util_rules.go_mod.NearestAncestorGoModResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.util_rules.go_mod", + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "NearestAncestorGoModResult(address: 'Address')", + "is_union": false, + "module": "pants.backend.go.util_rules.go_mod", + "name": "NearestAncestorGoModResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ] + }, + "pants.backend.go.util_rules.go_mod.OwningGoMod": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.go.util_rules.go_mod" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet" + ], + "documentation": "OwningGoMod(address: 'Address')", + "is_union": false, + "module": "pants.backend.go.util_rules.go_mod", + "name": "OwningGoMod", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file", - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.target_type_rules.go_map_import_paths_by_module", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path", + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ] + }, + "pants.backend.go.util_rules.go_mod.OwningGoModRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "OwningGoModRequest(address: 'Address')", + "is_union": false, + "module": "pants.backend.go.util_rules.go_mod", + "name": "OwningGoModRequest", + "provider": "pants.backend.go.util_rules.go_mod", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.target_type_rules.go_map_import_paths_by_module", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path", + "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + ] + }, + "pants.backend.go.util_rules.goroot.GoRoot": { + "consumed_by_rules": [ + "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", "pants.backend.go.go_sources.load_go_binary.setup_go_binary", - "pants.backend.go.goals.generate.go_generate", - "pants.backend.go.goals.generate.merge_digests_with_overwrite", "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary", "pants.backend.go.goals.test.run_go_tests", "pants.backend.go.lint.gofmt.rules.gofmt_fmt", - "pants.backend.go.target_type_rules.generate_targets_from_go_mod", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", - "pants.backend.go.util_rules.build_pkg.render_embed_config", - "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "pants.backend.go.util_rules.build_pkg.compute_compile_action_id", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib", "pants.backend.go.util_rules.cgo.cgo_compile_request", "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", - "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script", - "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code", - "pants.backend.go.util_rules.coverage.go_apply_code_coverage", - "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html", - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", + "pants.backend.go.util_rules.cgo.setup_compiler_cmd", + "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer", + "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process" + ], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint" + ], + "documentation": "Path to the Go installation (the `GOROOT`).", + "is_union": false, + "module": "pants.backend.go.util_rules.goroot", + "name": "GoRoot", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.goroot.setup_goroot" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.util_rules.implicit_linker_deps.SdkImplicitLinkerDependenciesHook": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies" + ], + "dependencies": [ + "pants.backend.go.util_rules.link_defs" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.go.util_rules.implicit_linker_deps", + "name": "SdkImplicitLinkerDependenciesHook", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [], + "union_members": [], + "union_type": "ImplicitLinkerDependenciesHook", + "used_in_rules": [] + }, + "pants.backend.go.util_rules.import_analysis.GoStdLibPackages": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.go.util_rules.import_analysis" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "A mapping of standard library import paths to an analysis of the package at that import\npath.", + "is_union": false, + "module": "pants.backend.go.util_rules.import_analysis", + "name": "GoStdLibPackages", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + ] + }, + "pants.backend.go.util_rules.import_analysis.GoStdLibPackagesRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoStdLibPackagesRequest(with_race_detector: 'bool', cgo_enabled: 'bool' = True)", + "is_union": false, + "module": "pants.backend.go.util_rules.import_analysis", + "name": "GoStdLibPackagesRequest", + "provider": "pants.backend.go.util_rules.import_analysis", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + ] + }, + "pants.backend.go.util_rules.import_config.ImportConfig": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.util_rules.import_config", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "An `importcfg` file associating import paths to their `__pkg__.a` files.", + "is_union": false, + "module": "pants.backend.go.util_rules.import_config", + "name": "ImportConfig", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.import_config.generate_import_config" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.link.link_go_binary" + ] + }, + "pants.backend.go.util_rules.import_config.ImportConfigRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.import_config.generate_import_config" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Create an `importcfg` file associating import paths to their `__pkg__.a` files.", + "is_union": false, + "module": "pants.backend.go.util_rules.import_config", + "name": "ImportConfigRequest", + "provider": "pants.backend.go.util_rules.import_config", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.link.link_go_binary" + ] + }, + "pants.backend.go.util_rules.link.LinkGoBinaryRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.link.link_go_binary" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Link a Go binary from package archives and an import configuration.", + "is_union": false, + "module": "pants.backend.go.util_rules.link", + "name": "LinkGoBinaryRequest", + "provider": "pants.backend.go.util_rules.link", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.go_sources.load_go_binary.setup_go_binary", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary" + ] + }, + "pants.backend.go.util_rules.link.LinkedGoBinary": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.util_rules.link", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "A linked Go binary stored in a `Digest`.", + "is_union": false, + "module": "pants.backend.go.util_rules.link", + "name": "LinkedGoBinary", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.link.link_go_binary" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.go_sources.load_go_binary.setup_go_binary", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.goals.test.prepare_go_test_binary" + ] + }, + "pants.backend.go.util_rules.link.LinkerSetup": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.link.link_go_binary" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.rust", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "LinkerSetup(digest: 'Digest', extld_wrapper_path: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.link", + "name": "LinkerSetup", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.link.setup_go_linker" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.util_rules.link_defs.ImplicitLinkerDependencies": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ImplicitLinkerDependencies(digest: 'Digest', import_paths_to_pkg_a_files: 'FrozenDict[str, str]')", + "is_union": false, + "module": "pants.backend.go.util_rules.link_defs", + "name": "ImplicitLinkerDependencies", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.link.link_go_binary" + ] + }, + "pants.backend.go.util_rules.link_defs.ImplicitLinkerDependenciesHook": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ImplicitLinkerDependenciesHook(build_opts: 'GoBuildOptions')", + "is_union": true, + "module": "pants.backend.go.util_rules.link_defs", + "name": "ImplicitLinkerDependenciesHook", + "provider": "pants.backend.go.util_rules.link_defs", + "returned_by_rules": [], + "union_members": [ + "SdkImplicitLinkerDependenciesHook" + ], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.link.link_go_binary" + ] + }, + "pants.backend.go.util_rules.pkg_analyzer.PackageAnalyzerSetup": { + "consumed_by_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.go.goals.test.prepare_go_test_binary", "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies", - "pants.backend.go.util_rules.import_config.generate_import_config", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.go" + ], + "documentation": "PackageAnalyzerSetup(digest: Digest, path: str)", + "is_union": false, + "module": "pants.backend.go.util_rules.pkg_analyzer", + "name": "PackageAnalyzerSetup", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.util_rules.sdk.GoSdkProcess": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.sdk.setup_go_sdk_process" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoSdkProcess(command: 'Iterable[str]', *, description: 'str', env: 'Mapping[str, str] | None' = None, input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), working_dir: 'str | None' = None, output_files: 'Iterable[str]' = (), output_directories: 'Iterable[str]' = (), allow_downloads: 'bool' = False, replace_sandbox_root_in_args: 'bool' = False) -> 'None'", + "is_union": false, + "module": "pants.backend.go.util_rules.sdk", + "name": "GoSdkProcess", + "provider": "pants.backend.go.util_rules.sdk", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", + "pants.backend.go.util_rules.go_mod.determine_go_mod_info", + "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages", "pants.backend.go.util_rules.link.link_go_binary", - "pants.backend.go.util_rules.link.setup_go_linker", - "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup", - "pants.backend.go.util_rules.sdk.setup_go_sdk_process", - "pants.backend.go.util_rules.tests_analysis.generate_testmain", + "pants.backend.go.util_rules.sdk.compute_go_tool_id", "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages", + "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies" + ] + }, + "pants.backend.go.util_rules.sdk.GoSdkRunSetup": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.sdk.setup_go_sdk_process" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoSdkRunSetup(digest: 'Digest', script: 'FileContent')", + "is_union": false, + "module": "pants.backend.go.util_rules.sdk", + "name": "GoSdkRunSetup", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.go.util_rules.sdk.GoSdkToolIDRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.sdk.compute_go_tool_id" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoSdkToolIDRequest(tool_name: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.sdk", + "name": "GoSdkToolIDRequest", + "provider": "pants.backend.go.util_rules.sdk", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.build_pkg.compute_compile_action_id", + "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", + "pants.backend.go.util_rules.link.link_go_binary" + ] + }, + "pants.backend.go.util_rules.sdk.GoSdkToolIDResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.go.util_rules.sdk" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GoSdkToolIDResult(tool_name: 'str', tool_id: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.sdk", + "name": "GoSdkToolIDResult", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.sdk.compute_go_tool_id" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.build_pkg.compute_compile_action_id", + "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", + "pants.backend.go.util_rules.link.link_go_binary" + ] + }, + "pants.backend.go.util_rules.tests_analysis.GenerateTestMainRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.tests_analysis.generate_testmain" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GenerateTestMainRequest(digest: 'Digest', test_paths: 'FrozenOrderedSet[str]', xtest_paths: 'FrozenOrderedSet[str]', import_path: 'str', register_cover: 'bool', address: 'Address')", + "is_union": false, + "module": "pants.backend.go.util_rules.tests_analysis", + "name": "GenerateTestMainRequest", + "provider": "pants.backend.go.util_rules.tests_analysis", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.test.prepare_go_test_binary" + ] + }, + "pants.backend.go.util_rules.tests_analysis.GeneratedTestMain": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.tests_analysis", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GeneratedTestMain(digest: 'Digest', has_tests: 'bool', has_xtests: 'bool', failed_exit_code_and_stderr: 'tuple[int, str] | None')", + "is_union": false, + "module": "pants.backend.go.util_rules.tests_analysis", + "name": "GeneratedTestMain", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.tests_analysis.generate_testmain" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.test.prepare_go_test_binary" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.AllThirdPartyPackages": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.go.util_rules.third_party_pkg", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "All the packages downloaded from a go.mod, along with a digest of the downloaded files.\n\nThe digest has files in the format `gopath/pkg/mod`, which is what `GoSdkProcess` sets `GOPATH`\nto. This means that you can include the digest in a process and Go will properly consume it as\nthe `GOPATH`.", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "AllThirdPartyPackages", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.target_type_rules.generate_targets_from_go_mod", + "pants.backend.go.util_rules.third_party_pkg.extract_package_info" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.AllThirdPartyPackagesRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "AllThirdPartyPackagesRequest(go_mod_address: 'Address', go_mod_digest: 'Digest', go_mod_path: 'str', build_opts: 'GoBuildOptions')", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "AllThirdPartyPackagesRequest", + "provider": "pants.backend.go.util_rules.third_party_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.target_type_rules.generate_targets_from_go_mod", + "pants.backend.go.util_rules.third_party_pkg.extract_package_info" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.AnalyzeThirdPartyModuleRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "AnalyzeThirdPartyModuleRequest(go_mod_address: 'Address', go_mod_digest: 'Digest', go_mod_path: 'str', import_path: 'str', name: 'str', version: 'str', minimum_go_version: 'str | None', build_opts: 'GoBuildOptions')", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "AnalyzeThirdPartyModuleRequest", + "provider": "pants.backend.go.util_rules.third_party_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.AnalyzeThirdPartyPackageRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "AnalyzeThirdPartyPackageRequest(pkg_json: 'FrozenDict[str, Any]', module_sources_digest: 'Digest', module_sources_path: 'str', module_import_path: 'str', package_path: 'str', minimum_go_version: 'str | None')", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "AnalyzeThirdPartyPackageRequest", + "provider": "pants.backend.go.util_rules.third_party_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.AnalyzedThirdPartyModule": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.go.util_rules.third_party_pkg", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "AnalyzedThirdPartyModule(packages: 'FrozenOrderedSet[ThirdPartyPkgAnalysis]')", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "AnalyzedThirdPartyModule", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.FallibleThirdPartyPkgAnalysis": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.go.util_rules.third_party_pkg", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Metadata for a third-party Go package, but fallible if our analysis failed.", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "FallibleThirdPartyPkgAnalysis", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.ModuleDescriptors": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.go.util_rules.third_party_pkg" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ModuleDescriptors(modules: 'FrozenOrderedSet[ModuleDescriptor]', go_mods_digest: 'Digest')", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "ModuleDescriptors", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.ModuleDescriptorsRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ModuleDescriptorsRequest(digest: 'Digest', path: 'str')", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "ModuleDescriptorsRequest", + "provider": "pants.backend.go.util_rules.third_party_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.ThirdPartyPkgAnalysis": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.go.util_rules.third_party_pkg" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.debug_goals" + ], + "documentation": "All the info and files needed to build a third-party package.\n\nThe digest only contains the files for the package, with all prefixes stripped.", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "ThirdPartyPkgAnalysis", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.extract_package_info" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ] + }, + "pants.backend.go.util_rules.third_party_pkg.ThirdPartyPkgAnalysisRequest": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.third_party_pkg.extract_package_info" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Request the info and digest needed to build a third-party package.\n\nThe package's module must be included in the input `go.mod`/`go.sum`.", + "is_union": false, + "module": "pants.backend.go.util_rules.third_party_pkg", + "name": "ThirdPartyPkgAnalysisRequest", + "provider": "pants.backend.go.util_rules.third_party_pkg", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + ] + }, + "pants.backend.google_cloud_function.python.rules.PythonGoogleCloudFunctionFieldSet": { + "consumed_by_rules": [ + "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.google_cloud_function.python" + ], + "documentation": "PythonGoogleCloudFunctionFieldSet(address: 'Address', handler: 'PythonGoogleCloudFunctionHandlerField', runtime: 'PythonGoogleCloudFunctionRuntime', complete_platforms: 'PythonFaaSCompletePlatforms', pex3_venv_create_extra_args: 'PythonFaaSPex3VenvCreateExtraArgsField', type: 'PythonGoogleCloudFunctionType', output_path: 'OutputPathField', environment: 'EnvironmentField')", + "is_union": false, + "module": "pants.backend.google_cloud_function.python.rules", + "name": "PythonGoogleCloudFunctionFieldSet", + "provider": "pants.backend.google_cloud_function.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.chart.KubeconformChartFieldSet": { + "consumed_by_rules": [ + "pants.backend.helm.check.kubeconform.chart.run_kubeconform_on_chart" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": "KubeconformChartFieldSet(address: 'Address', skip: 'KubeconformSkipField', ignore_sources: 'KubeconformIgnoreSourcesField', ignore_missing_schemas: 'KubeconformIgnoreMissingSchemasField', strict: 'KubeconformStrictField', reject_kinds: 'KubeconformRejectKindsField', skip_kinds: 'KubeconformSkipKindsField', kubernetes_version: 'KubeconformKubernetesVersionField', chart: 'HelmChartMetaSourceField', sources: 'HelmChartSourcesField', dependencies: 'HelmChartDependenciesField', description: 'DescriptionField', version: 'HelmChartVersionField')", + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.chart", + "name": "KubeconformChartFieldSet", + "provider": "pants.backend.helm.check.kubeconform.chart", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.check.kubeconform.chart.run_check_chart" + ] + }, + "pants.backend.helm.check.kubeconform.chart.KubeconformCheckChartRequest": { + "consumed_by_rules": [ + "pants.backend.helm.check.kubeconform.chart.run_check_chart" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.chart", + "name": "KubeconformCheckChartRequest", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "CheckRequest", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.common.KubeconformSetup": { + "consumed_by_rules": [ + "pants.backend.helm.check.kubeconform.common.run_kubeconform" + ], + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": "KubeconformSetup(binary: 'DownloadedExternalTool', env: 'FrozenDict[str, str]')", + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.common", + "name": "KubeconformSetup", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [ + "pants.backend.helm.check.kubeconform.common.setup_kube_conform" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.common.RunKubeconformRequest": { + "consumed_by_rules": [ + "pants.backend.helm.check.kubeconform.common.run_kubeconform" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": "RunKubeconformRequest(field_set: 'KubeconformFieldSet', rendered_files: 'RenderedHelmFiles')", + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.common", + "name": "RunKubeconformRequest", + "provider": "pants.backend.helm.check.kubeconform.common", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.check.kubeconform.chart.run_kubeconform_on_chart", + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment" + ] + }, + "pants.backend.helm.check.kubeconform.deployment.KubeconformCheckDeploymentRequest": { + "consumed_by_rules": [ + "pants.backend.helm.check.kubeconform.deployment.run_check_deployment" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.deployment", + "name": "KubeconformCheckDeploymentRequest", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "CheckRequest", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.deployment.KubeconformDeploymentFieldSet": { + "consumed_by_rules": [ + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": "KubeconformDeploymentFieldSet(address: 'Address', skip: 'KubeconformSkipField', ignore_sources: 'KubeconformIgnoreSourcesField', ignore_missing_schemas: 'KubeconformIgnoreMissingSchemasField', strict: 'KubeconformStrictField', reject_kinds: 'KubeconformRejectKindsField', skip_kinds: 'KubeconformSkipKindsField', kubernetes_version: 'KubeconformKubernetesVersionField', chart: 'HelmDeploymentChartField', description: 'DescriptionField', release_name: 'HelmDeploymentReleaseNameField', namespace: 'HelmDeploymentNamespaceField', sources: 'HelmDeploymentSourcesField', skip_crds: 'HelmDeploymentSkipCrdsField', no_hooks: 'HelmDeploymentNoHooksField', dependencies: 'HelmDeploymentDependenciesField', values: 'HelmDeploymentValuesField', post_renderers: 'HelmDeploymentPostRenderersField', enable_dns: 'HelmDeploymentEnableDNSField')", + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.deployment", + "name": "KubeconformDeploymentFieldSet", + "provider": "pants.backend.helm.check.kubeconform.deployment", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.check.kubeconform.deployment.run_check_deployment" + ] + }, + "pants.backend.helm.check.kubeconform.extra_fields.KubeconformIgnoreMissingSchemasField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.extra_fields", + "name": "KubeconformIgnoreMissingSchemasField", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.extra_fields.KubeconformIgnoreSourcesField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.extra_fields", + "name": "KubeconformIgnoreSourcesField", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.extra_fields.KubeconformKubernetesVersionField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.extra_fields", + "name": "KubeconformKubernetesVersionField", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.extra_fields.KubeconformRejectKindsField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.extra_fields", + "name": "KubeconformRejectKindsField", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.extra_fields.KubeconformSkipField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.extra_fields", + "name": "KubeconformSkipField", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.extra_fields.KubeconformSkipKindsField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.extra_fields", + "name": "KubeconformSkipKindsField", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.extra_fields.KubeconformStrictField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.extra_fields", + "name": "KubeconformStrictField", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.helm.check.kubeconform.subsystem.KubeconformSubsystem": { + "consumed_by_rules": [ + "pants.backend.helm.check.kubeconform.chart.run_check_chart", + "pants.backend.helm.check.kubeconform.common.run_kubeconform", + "pants.backend.helm.check.kubeconform.common.setup_kube_conform", + "pants.backend.helm.check.kubeconform.deployment.run_check_deployment" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.check.kubeconform.subsystem", + "name": "KubeconformSubsystem", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "returned_by_rules": [ + "construct_scope_kubeconform" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.dependency_inference.chart.FirstPartyHelmChartMapping": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata" + ], + "dependencies": [ + "pants.backend.helm.util_rules.chart_metadata" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.dependency_inference.chart", + "name": "FirstPartyHelmChartMapping", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.dependency_inference.chart.InferHelmChartDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.dependency_inference.chart", + "name": "InferHelmChartDependenciesRequest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.helm.dependency_inference.deployment.AnalyseHelmDeploymentRequest": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.deployment.analyse_deployment" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "AnalyseHelmDeploymentRequest(field_set: 'HelmDeploymentFieldSet')", + "is_union": false, + "module": "pants.backend.helm.dependency_inference.deployment", + "name": "AnalyseHelmDeploymentRequest", + "provider": "pants.backend.helm.dependency_inference.deployment", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + ] + }, + "pants.backend.helm.dependency_inference.deployment.FirstPartyHelmDeploymentMapping": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.docker", + "pants.backend.helm.dependency_inference.deployment", + "pants.build_graph.address" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "A mapping between `helm_deployment` target addresses and tuples made up of a Docker image\nreference and a `docker_image` target address.\n\nThe tuples of Docker image references and addresses are stored in a YAML index so we can track\nthe locations in which the Docker image refs appear in the deployment files.", + "is_union": false, + "module": "pants.backend.helm.dependency_inference.deployment", + "name": "FirstPartyHelmDeploymentMapping", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + ] + }, + "pants.backend.helm.dependency_inference.deployment.FirstPartyHelmDeploymentMappingRequest": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "FirstPartyHelmDeploymentMappingRequest(field_set: 'HelmDeploymentFieldSet')", + "is_union": false, + "module": "pants.backend.helm.dependency_inference.deployment", + "name": "FirstPartyHelmDeploymentMappingRequest", + "provider": "pants.backend.helm.dependency_inference.deployment", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + ] + }, + "pants.backend.helm.dependency_inference.deployment.HelmDeploymentReport": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.helm.dependency_inference.deployment", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmDeploymentReport(address: 'Address', image_refs: 'FrozenYamlIndex[str]')", + "is_union": false, + "module": "pants.backend.helm.dependency_inference.deployment", + "name": "HelmDeploymentReport", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.dependency_inference.deployment.analyse_deployment" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + ] + }, + "pants.backend.helm.dependency_inference.deployment.InferHelmDeploymentDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.dependency_inference.deployment", + "name": "InferHelmDeploymentDependenciesRequest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.helm.dependency_inference.unittest.InferHelmUnitTestChartDependencyRequest": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.dependency_inference.unittest", + "name": "InferHelmUnitTestChartDependencyRequest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.helm.goals.deploy.DeployHelmDeploymentFieldSet": { + "consumed_by_rules": [ + "pants.backend.helm.goals.deploy.run_helm_deploy" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "DeployHelmDeploymentFieldSet(address: 'Address', chart: 'HelmDeploymentChartField', description: 'DescriptionField', release_name: 'HelmDeploymentReleaseNameField', namespace: 'HelmDeploymentNamespaceField', sources: 'HelmDeploymentSourcesField', skip_crds: 'HelmDeploymentSkipCrdsField', no_hooks: 'HelmDeploymentNoHooksField', dependencies: 'HelmDeploymentDependenciesField', values: 'HelmDeploymentValuesField', post_renderers: 'HelmDeploymentPostRenderersField', enable_dns: 'HelmDeploymentEnableDNSField', timeout: 'HelmDeploymentTimeoutField')", + "is_union": false, + "module": "pants.backend.helm.goals.deploy", + "name": "DeployHelmDeploymentFieldSet", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "DeployFieldSet", + "used_in_rules": [] + }, + "pants.backend.helm.goals.lint.HelmLintRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.goals.lint", + "name": "HelmLintRequest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.helm.goals.package.HelmPackageFieldSet": { + "consumed_by_rules": [ + "pants.backend.helm.goals.package.run_helm_package" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmPackageFieldSet(address: 'Address', chart: 'HelmChartMetaSourceField', sources: 'HelmChartSourcesField', dependencies: 'HelmChartDependenciesField', description: 'DescriptionField', version: 'HelmChartVersionField', output_path: 'HelmChartOutputPathField')", + "is_union": false, + "module": "pants.backend.helm.goals.package", + "name": "HelmPackageFieldSet", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.helm.goals.publish.HelmPublishFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": "HelmPublishFieldSet(address: 'Address', chart: 'HelmChartMetaSourceField', sources: 'HelmChartSourcesField', dependencies: 'HelmChartDependenciesField', description: 'DescriptionField', version: 'HelmChartVersionField', registries: 'HelmRegistriesField', repository: 'HelmChartRepositoryField', skip_push: 'HelmSkipPushField')", + "is_union": false, + "module": "pants.backend.helm.goals.publish", + "name": "HelmPublishFieldSet", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "PublishFieldSet", + "used_in_rules": [] + }, + "pants.backend.helm.goals.publish.PublishHelmChartRequest": { + "consumed_by_rules": [ + "pants.backend.helm.goals.publish.publish_helm_chart" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.goals.publish", + "name": "PublishHelmChartRequest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "PublishRequest", + "used_in_rules": [] + }, + "pants.backend.helm.goals.tailor.PutativeHelmTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.helm.goals.tailor.find_putative_helm_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "PutativeHelmTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.helm.goals.tailor", + "name": "PutativeHelmTargetsRequest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.helm.resolve.artifacts.HelmArtifact": { + "consumed_by_rules": [ + "pants.backend.helm.resolve.artifacts.resolved_helm_artifact" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmArtifact(requirement: 'HelmArtifactRequirement', address: 'Address')", + "is_union": false, + "module": "pants.backend.helm.resolve.artifacts", + "name": "HelmArtifact", + "provider": "pants.backend.helm.resolve.artifacts", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping", + "pants.backend.helm.resolve.fetch.fetch_helm_artifact" + ] + }, + "pants.backend.helm.resolve.artifacts.ResolvedHelmArtifact": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.helm.resolve.artifacts" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "ResolvedHelmArtifact(requirement: 'HelmArtifactRequirement', address: 'Address', location_url: 'str')", + "is_union": false, + "module": "pants.backend.helm.resolve.artifacts", + "name": "ResolvedHelmArtifact", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.resolve.artifacts.resolved_helm_artifact" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping", + "pants.backend.helm.resolve.fetch.fetch_helm_artifact" + ] + }, + "pants.backend.helm.resolve.artifacts.ThirdPartyHelmArtifactMapping": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.resolve.artifacts", + "name": "ThirdPartyHelmArtifactMapping", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.resolve.fetch.FetchHelmArtifactRequest": { + "consumed_by_rules": [ + "pants.backend.helm.resolve.fetch.fetch_helm_artifact" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "FetchHelmArtifactRequest(field_set: 'HelmArtifactFieldSet', description_of_origin: 'str')", + "is_union": false, + "module": "pants.backend.helm.resolve.fetch", + "name": "FetchHelmArtifactRequest", + "provider": "pants.backend.helm.resolve.fetch", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.util_rules.chart.find_chart_for_deployment", + "pants.backend.helm.util_rules.chart.get_helm_chart" + ] + }, + "pants.backend.helm.resolve.fetch.FetchedHelmArtifact": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.chart.create_chart_from_artifact" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.helm.resolve.fetch", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "FetchedHelmArtifact(artifact: 'ResolvedHelmArtifact', snapshot: 'Snapshot')", + "is_union": false, + "module": "pants.backend.helm.resolve.fetch", + "name": "FetchedHelmArtifact", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.resolve.fetch.fetch_helm_artifact" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.subsystems.helm.HelmSubsystem": { + "consumed_by_rules": [ + "pants.backend.helm.check.kubeconform.common.setup_kube_conform", + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", + "pants.backend.helm.goals.deploy.run_helm_deploy", + "pants.backend.helm.goals.lint.run_helm_lint", + "pants.backend.helm.goals.publish.publish_helm_chart", + "pants.backend.helm.goals.tailor.find_putative_helm_targets", + "pants.backend.helm.resolve.artifacts.resolved_helm_artifact", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.tool.helm_process", + "pants.backend.helm.util_rules.tool.setup_helm" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.helm", + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.subsystems.helm", + "name": "HelmSubsystem", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "construct_scope_helm" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.subsystems.k8s_parser.HelmKubeParserSubsystem": { + "consumed_by_rules": [ + "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.subsystems.k8s_parser", + "name": "HelmKubeParserSubsystem", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "construct_scope_helm_k8s_parser" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.subsystems.k8s_parser.ParseKubeManifestRequest": { + "consumed_by_rules": [ + "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "ParseKubeManifestRequest(file: 'FileEntry')", + "is_union": false, + "module": "pants.backend.helm.subsystems.k8s_parser", + "name": "ParseKubeManifestRequest", + "provider": "pants.backend.helm.subsystems.k8s_parser", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.dependency_inference.deployment.analyse_deployment" + ] + }, + "pants.backend.helm.subsystems.k8s_parser.ParsedKubeManifest": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.helm.subsystems.k8s_parser", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "ParsedKubeManifest(filename: 'str', found_image_refs: 'tuple[ParsedImageRefEntry, ...]')", + "is_union": false, + "module": "pants.backend.helm.subsystems.k8s_parser", + "name": "ParsedKubeManifest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.dependency_inference.deployment.analyse_deployment" + ] + }, + "pants.backend.helm.subsystems.k8s_parser._HelmKubeParserTool": { + "consumed_by_rules": [ + "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "_HelmKubeParserTool(pex: 'VenvPex')", + "is_union": false, + "module": "pants.backend.helm.subsystems.k8s_parser", + "name": "_HelmKubeParserTool", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.subsystems.post_renderer.HelmPostRenderer": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.shell", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.helm", + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": "HelmPostRenderer(*, exe: 'str', digest: 'Digest', description_of_origin: 'str', env: 'Mapping[str, str] | None' = None, immutable_input_digests: 'Mapping[str, Digest] | None' = None, append_only_caches: 'Mapping[str, str] | None' = None) -> 'None'", + "is_union": false, + "module": "pants.backend.helm.subsystems.post_renderer", + "name": "HelmPostRenderer", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment", + "pants.backend.helm.goals.deploy.run_helm_deploy" + ] + }, + "pants.backend.helm.subsystems.post_renderer.HelmPostRendererSubsystem": { + "consumed_by_rules": [ + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.subsystems.post_renderer", + "name": "HelmPostRendererSubsystem", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "construct_scope_helm_post_renderer" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.subsystems.post_renderer.SetupHelmPostRenderer": { + "consumed_by_rules": [ + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher" + ], + "dependencies": [ + "pants.backend.docker", + "pants.backend.experimental.go", + "pants.backend.helm.util_rules.post_renderer", + "pants.core", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "Request for a post-renderer process that will perform a series of replacements in the\ngenerated files.", + "is_union": false, + "module": "pants.backend.helm.subsystems.post_renderer", + "name": "SetupHelmPostRenderer", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.subsystems.post_renderer._HelmPostRendererTool": { + "consumed_by_rules": [ + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "_HelmPostRendererTool(pex: 'VenvPex')", + "is_union": false, + "module": "pants.backend.helm.subsystems.post_renderer", + "name": "_HelmPostRendererTool", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.subsystems.unittest.HelmUnitTestPluginBinding": { + "consumed_by_rules": [ + "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request" + ], + "dependencies": [ + "pants.backend.helm.util_rules.tool" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.subsystems.unittest", + "name": "HelmUnitTestPluginBinding", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "ExternalHelmPluginBinding", + "used_in_rules": [] + }, + "pants.backend.helm.subsystems.unittest.HelmUnitTestSubsystem": { + "consumed_by_rules": [ + "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request", + "pants.backend.helm.test.unittest.run_helm_unittest", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_HelmUnitTestRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.subsystems.unittest", + "name": "HelmUnitTestSubsystem", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "construct_scope_helm_unittest" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.target_types.AllHelmArtifactTargets": { + "consumed_by_rules": [ + "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.target_types", + "name": "AllHelmArtifactTargets", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.target_types.all_helm_artifact_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.target_types.AllHelmChartTargets": { + "consumed_by_rules": [ + "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping", + "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.target_types", + "name": "AllHelmChartTargets", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.target_types.all_helm_chart_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.target_types.AllHelmDeploymentTargets": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.target_types", + "name": "AllHelmDeploymentTargets", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.target_types.all_helm_deployment_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.target_types.AllHelmUnitTestTestTargets": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.target_types", + "name": "AllHelmUnitTestTestTargets", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.target_types.all_helm_unittest_test_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.target_types.HelmChartMetaSourceField": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.target_types", + "name": "HelmChartMetaSourceField", + "provider": "pants.backend.helm.target_types", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping", + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", + "pants.backend.helm.util_rules.chart.get_helm_chart" + ] + }, + "pants.backend.helm.test.unittest.HelmUnitTestFieldSet": { + "consumed_by_rules": [ + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmUnitTestFieldSet(address: 'Address', sources: 'SourcesField', source: 'HelmUnitTestSourceField', dependencies: 'HelmUnitTestDependenciesField', strict: 'HelmUnitTestStrictField', timeout: 'HelmUnitTestTimeoutField')", + "is_union": false, + "module": "pants.backend.helm.test.unittest", + "name": "HelmUnitTestFieldSet", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "TestFieldSet", + "used_in_rules": [] + }, + "pants.backend.helm.test.unittest.HelmUnitTestRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.test.unittest", + "name": "HelmUnitTestRequest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [], + "union_members": [], + "union_type": "TestRequest", + "used_in_rules": [] + }, + "pants.backend.helm.test.unittest.HelmUnitTestSetup": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.helm.test.unittest", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmUnitTestSetup(chart: 'HelmChart', chart_root: 'HelmChartRoot', process: 'HelmProcess', reports_output_directory: 'str', snapshot_output_directories: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.helm.test.unittest", + "name": "HelmUnitTestSetup", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.test.unittest.setup_helm_unittest" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "pants.backend.helm.test.unittest.run_helm_unittest" + ] + }, + "pants.backend.helm.test.unittest.HelmUnitTestSetupRequest": { + "consumed_by_rules": [ + "pants.backend.helm.test.unittest.setup_helm_unittest" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmUnitTestSetupRequest(field_set: 'HelmUnitTestFieldSet', description: 'str', force: 'bool', update_snapshots: 'bool', timeout_seconds: 'int | None')", + "is_union": false, + "module": "pants.backend.helm.test.unittest", + "name": "HelmUnitTestSetupRequest", + "provider": "pants.backend.helm.test.unittest", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "pants.backend.helm.test.unittest.run_helm_unittest" + ] + }, + "pants.backend.helm.util_rules.chart.FindHelmDeploymentChart": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.chart.find_chart_for_deployment" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "FindHelmDeploymentChart(field_set: 'HelmDeploymentFieldSet')", + "is_union": false, + "module": "pants.backend.helm.util_rules.chart", + "name": "FindHelmDeploymentChart", + "provider": "pants.backend.helm.util_rules.chart", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process" + ] + }, + "pants.backend.helm.util_rules.chart.HelmChart": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.helm.util_rules.chart", + "pants.backend.helm.util_rules.chart_metadata", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmChart(address: 'Address', info: 'HelmChartMetadata', snapshot: 'Snapshot', artifact: 'ResolvedHelmArtifact | None' = None)", + "is_union": false, + "module": "pants.backend.helm.util_rules.chart", + "name": "HelmChart", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.chart.create_chart_from_artifact", + "pants.backend.helm.util_rules.chart.find_chart_for_deployment", + "pants.backend.helm.util_rules.chart.get_helm_chart" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.goals.lint.partition_helm_lint", + "pants.backend.helm.goals.package.run_helm_package", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart.find_chart_for_deployment", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.renderer.render_helm_chart", + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process" + ] + }, + "pants.backend.helm.util_rules.chart.HelmChartRequest": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.chart.get_helm_chart" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmChartRequest(field_set: 'HelmChartFieldSet')", + "is_union": false, + "module": "pants.backend.helm.util_rules.chart", + "name": "HelmChartRequest", + "provider": "pants.backend.helm.util_rules.chart", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.goals.lint.partition_helm_lint", + "pants.backend.helm.goals.package.run_helm_package", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart.find_chart_for_deployment", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.renderer.render_helm_chart" + ] + }, + "pants.backend.helm.util_rules.chart_metadata.HelmChartMetadata": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.helm.target_types", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmChartMetadata(name: 'str', version: 'str', api_version: 'str' = 'v2', type: 'ChartType' = , kube_version: 'str | None' = None, app_version: 'str | None' = None, icon: 'str | None' = None, description: 'str | None' = None, dependencies: 'tuple[HelmChartDependency, ...]' = , keywords: 'tuple[str, ...]' = , sources: 'tuple[str, ...]' = , home: 'str | None' = None, maintainers: 'tuple[HelmChartMaintainer, ...]' = , deprecated: 'bool | None' = None, annotations: 'FrozenDict[str, str]' = )", + "is_union": false, + "module": "pants.backend.helm.util_rules.chart_metadata", + "name": "HelmChartMetadata", + "provider": "pants.backend.experimental.helm, pants.backend.helm.util_rules.chart_metadata", + "returned_by_rules": [ + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping", + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", + "pants.backend.helm.util_rules.chart.create_chart_from_artifact", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field" + ] + }, + "pants.backend.helm.util_rules.chart_metadata.ParseHelmChartMetadataDigest": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "Request to parse the Helm chart definition file (i.e. `Chart.yaml`) from the given digest.\n\nThe definition file is expected to be at the root of the digest.", + "is_union": false, + "module": "pants.backend.helm.util_rules.chart_metadata", + "name": "ParseHelmChartMetadataDigest", + "provider": "pants.backend.helm.util_rules.chart_metadata", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.util_rules.chart.create_chart_from_artifact", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field" + ] + }, + "pants.backend.helm.util_rules.post_renderer.HelmDeploymentPostRendererRequest": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmDeploymentPostRendererRequest(field_set: 'HelmDeploymentFieldSet')", + "is_union": false, + "module": "pants.backend.helm.util_rules.post_renderer", + "name": "HelmDeploymentPostRendererRequest", + "provider": "pants.backend.helm.util_rules.post_renderer", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment", + "pants.backend.helm.goals.deploy.run_helm_deploy" + ] + }, + "pants.backend.helm.util_rules.renderer.HelmDeploymentRequest": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmDeploymentRequest(field_set: 'HelmDeploymentFieldSet', *, cmd: 'HelmDeploymentCmd', description: 'str', extra_argv: 'Iterable[str] | None' = None, post_renderer: 'HelmPostRenderer | None' = None) -> 'None'", + "is_union": false, + "module": "pants.backend.helm.util_rules.renderer", + "name": "HelmDeploymentRequest", + "provider": "pants.backend.helm.util_rules.renderer", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment", "pants.backend.helm.dependency_inference.deployment.analyse_deployment", + "pants.backend.helm.goals.deploy.run_helm_deploy" + ] + }, + "pants.backend.helm.util_rules.renderer.RenderHelmChartRequest": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.renderer.render_helm_chart" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "RenderHelmChartRequest(field_set: 'HelmChartFieldSet', release_name: 'str | None' = None)", + "is_union": false, + "module": "pants.backend.helm.util_rules.renderer", + "name": "RenderHelmChartRequest", + "provider": "pants.backend.helm.util_rules.renderer", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.check.kubeconform.chart.run_kubeconform_on_chart" + ] + }, + "pants.backend.helm.util_rules.renderer.RenderedHelmFiles": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.helm.util_rules.renderer", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm", + "pants.backend.experimental.helm.check.kubeconform" + ], + "documentation": "RenderedHelmFiles(address: 'Address', chart: 'HelmChart', snapshot: 'Snapshot', post_processed: 'bool')", + "is_union": false, + "module": "pants.backend.helm.util_rules.renderer", + "name": "RenderedHelmFiles", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.renderer.render_helm_chart", + "pants.backend.helm.util_rules.renderer.run_renderer" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.check.kubeconform.chart.run_kubeconform_on_chart", + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment", + "pants.backend.helm.dependency_inference.deployment.analyse_deployment" + ] + }, + "pants.backend.helm.util_rules.renderer._HelmDeploymentProcessWrapper": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", + "pants.backend.helm.util_rules.renderer.run_renderer" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.helm.util_rules.renderer", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "Intermediate representation of a `HelmProcess` that will produce a fully rendered set of\nmanifests from a given chart.\n\nThe encapsulated `process` will be side-effecting dependening on the `cmd` that was originally requested.\n\nThis is meant to only be used internally by this module.", + "is_union": false, + "module": "pants.backend.helm.util_rules.renderer", + "name": "_HelmDeploymentProcessWrapper", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.util_rules.sources.HelmChartRoot": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.backend.helm.util_rules.sources" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmChartRoot(path: 'str')", + "is_union": false, + "module": "pants.backend.helm.util_rules.sources", + "name": "HelmChartRoot", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.sources.find_chart_source_root" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", + "pants.backend.helm.util_rules.sources.get_helm_source_files" + ] + }, + "pants.backend.helm.util_rules.sources.HelmChartRootRequest": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.sources.find_chart_source_root" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmChartRootRequest(source: 'HelmChartMetaSourceField')", + "is_union": false, + "module": "pants.backend.helm.util_rules.sources", + "name": "HelmChartRootRequest", + "provider": "pants.backend.helm.util_rules.sources", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", + "pants.backend.helm.util_rules.sources.get_helm_source_files" + ] + }, + "pants.backend.helm.util_rules.sources.HelmChartSourceFiles": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.helm.util_rules.sources", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmChartSourceFiles(snapshot: 'Snapshot', unrooted_files: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.helm.util_rules.sources", + "name": "HelmChartSourceFiles", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.sources.get_helm_source_files" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.util_rules.chart.get_helm_chart" + ] + }, + "pants.backend.helm.util_rules.sources.HelmChartSourceFilesRequest": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.sources.get_helm_source_files" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmChartSourceFilesRequest(field_set: 'HelmChartFieldSet', include_resources: 'bool', include_files: 'bool', include_metadata: 'bool')", + "is_union": false, + "module": "pants.backend.helm.util_rules.sources", + "name": "HelmChartSourceFilesRequest", + "provider": "pants.backend.helm.util_rules.sources", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.util_rules.chart.get_helm_chart" + ] + }, + "pants.backend.helm.util_rules.tool.ExternalHelmPluginBinding": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "Union type allowing Pants to discover global external Helm plugins.", + "is_union": true, + "module": "pants.backend.helm.util_rules.tool", + "name": "ExternalHelmPluginBinding", + "provider": "pants.backend.helm.util_rules.tool", + "returned_by_rules": [], + "union_members": [ + "HelmUnitTestPluginBinding" + ], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.util_rules.tool.all_helm_plugins" + ] + }, + "pants.backend.helm.util_rules.tool.ExternalHelmPluginRequest": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.tool.download_external_helm_plugin" + ], + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "Helper class to create a download request for an external Helm plugin.", + "is_union": false, + "module": "pants.backend.helm.util_rules.tool", + "name": "ExternalHelmPluginRequest", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.util_rules.tool.HelmBinary": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.tool.helm_process" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmBinary(path: 'str', *, helm_env: 'Mapping[str, str]', local_env: 'Mapping[str, str]', immutable_input_digests: 'Mapping[str, Digest]') -> 'None'", + "is_union": false, + "module": "pants.backend.helm.util_rules.tool", + "name": "HelmBinary", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.tool.setup_helm" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.util_rules.tool.HelmPlugin": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmPlugin(info: 'HelmPluginInfo', platform: 'Platform', snapshot: 'Snapshot')", + "is_union": false, + "module": "pants.backend.helm.util_rules.tool", + "name": "HelmPlugin", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.tool.download_external_helm_plugin" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.util_rules.tool.all_helm_plugins" + ] + }, + "pants.backend.helm.util_rules.tool.HelmPlugins": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.tool.setup_helm" + ], + "dependencies": [ + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.helm.util_rules.tool", + "name": "HelmPlugins", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.backend.helm.util_rules.tool.all_helm_plugins" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.helm.util_rules.tool.HelmProcess": { + "consumed_by_rules": [ + "pants.backend.helm.util_rules.tool.helm_process" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "HelmProcess(argv: 'Iterable[str]', *, description: 'str', input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), level: 'LogLevel' = , output_directories: 'Iterable[str] | None' = None, output_files: 'Iterable[str] | None' = None, extra_env: 'Mapping[str, str] | None' = None, extra_immutable_input_digests: 'Mapping[str, Digest] | None' = None, extra_append_only_caches: 'Mapping[str, str] | None' = None, cache_scope: 'ProcessCacheScope | None' = None, timeout_seconds: 'int | None' = None)", + "is_union": false, + "module": "pants.backend.helm.util_rules.tool", + "name": "HelmProcess", + "provider": "pants.backend.helm.util_rules.tool", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.helm.goals.lint.run_helm_lint", "pants.backend.helm.goals.package.run_helm_package", + "pants.backend.helm.goals.publish.publish_helm_chart", "pants.backend.helm.resolve.fetch.fetch_helm_artifact", - "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", - "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", "pants.backend.helm.test.unittest.run_helm_unittest", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", - "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata", + "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", "pants.backend.helm.util_rules.renderer.render_helm_chart", - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", - "pants.backend.helm.util_rules.sources.get_helm_source_files", - "pants.backend.helm.util_rules.tool.download_external_helm_plugin", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.java.bsp.rules.bsp_java_resources_request", - "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.helm.util_rules.renderer.run_renderer" + ] + }, + "pants.backend.java.bsp.rules.HandleJavacOptionsRequest": { + "consumed_by_rules": [ + "pants.backend.java.bsp.rules.handle_bsp_java_options_request" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "HandleJavacOptionsRequest(bsp_target_id: pants.bsp.spec.base.BuildTargetIdentifier)", + "is_union": false, + "module": "pants.backend.java.bsp.rules", + "name": "HandleJavacOptionsRequest", + "provider": "pants.backend.java.bsp.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.bsp.rules.bsp_javac_options_request" + ] + }, + "pants.backend.java.bsp.rules.HandleJavacOptionsResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.java.bsp.rules", + "pants.base.build_root" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "HandleJavacOptionsResult(item: pants.backend.java.bsp.spec.JavacOptionsItem)", + "is_union": false, + "module": "pants.backend.java.bsp.rules", + "name": "HandleJavacOptionsResult", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.backend.java.bsp.rules.handle_bsp_java_options_request" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.bsp.rules.bsp_javac_options_request" + ] + }, + "pants.backend.java.bsp.rules.JavaBSPBuildTargetsMetadataRequest": { + "consumed_by_rules": [ + "pants.backend.java.bsp.rules.bsp_resolve_java_metadata" + ], + "dependencies": [ + "pants.bsp.util_rules.targets" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.bsp.rules", + "name": "JavaBSPBuildTargetsMetadataRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "BSPBuildTargetsMetadataRequest", + "used_in_rules": [] + }, + "pants.backend.java.bsp.rules.JavaBSPCompileRequest": { + "consumed_by_rules": [ + "pants.backend.java.bsp.rules.bsp_java_compile_request" + ], + "dependencies": [ + "pants.bsp.util_rules.targets" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JavaBSPCompileRequest(bsp_target: 'BSPBuildTargetInternal', field_sets: 'tuple[_FS, ...]', task_id: 'TaskId')", + "is_union": false, + "module": "pants.backend.java.bsp.rules", + "name": "JavaBSPCompileRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "BSPCompileRequest", + "used_in_rules": [] + }, + "pants.backend.java.bsp.rules.JavaBSPLanguageSupport": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.util_rules.lifecycle" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.bsp.rules", + "name": "JavaBSPLanguageSupport", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "BSPLanguageSupport", + "used_in_rules": [] + }, + "pants.backend.java.bsp.rules.JavaBSPResourcesRequest": { + "consumed_by_rules": [ + "pants.backend.java.bsp.rules.bsp_java_resources_request" + ], + "dependencies": [ + "pants.bsp.util_rules.targets" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JavaBSPResourcesRequest(bsp_target: 'BSPBuildTargetInternal', field_sets: 'tuple[_FS, ...]')", + "is_union": false, + "module": "pants.backend.java.bsp.rules", + "name": "JavaBSPResourcesRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "BSPResourcesRequest", + "used_in_rules": [] + }, + "pants.backend.java.bsp.rules.JavacOptionsHandlerMapping": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.protocol" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.bsp.rules", + "name": "JavacOptionsHandlerMapping", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "BSPHandlerMapping", + "used_in_rules": [] + }, + "pants.backend.java.bsp.spec.JavacOptionsResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.java.bsp.spec" + ], + "dependents": [], + "documentation": "JavacOptionsResult(items: 'tuple[JavacOptionsItem, ...]')", + "is_union": false, + "module": "pants.backend.java.bsp.spec", + "name": "JavacOptionsResult", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.backend.java.bsp.rules.bsp_javac_options_request" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.compile.javac.CompileJavaSourceRequest": { + "consumed_by_rules": [ + "pants.backend.java.compile.javac.compile_java_source" + ], + "dependencies": [ + "pants.jvm.compile" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.compile.javac", + "name": "CompileJavaSourceRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "ClasspathEntryRequest", + "used_in_rules": [] + }, + "pants.backend.java.dependency_inference.java_parser.FallibleJavaSourceDependencyAnalysisResult": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.java.dependency_inference.java_parser", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "FallibleJavaSourceDependencyAnalysisResult(process_result: 'FallibleProcessResult')", + "is_union": false, + "module": "pants.backend.java.dependency_inference.java_parser", + "name": "FallibleJavaSourceDependencyAnalysisResult", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.dependency_inference.java_parser.JavaParserCompiledClassfiles": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JavaParserCompiledClassfiles(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.java.dependency_inference.java_parser", + "name": "JavaParserCompiledClassfiles", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.build_processors" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.dependency_inference.java_parser.JavaParserToolLockfileSentinel": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.generate_java_parser_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.dependency_inference.java_parser", + "name": "JavaParserToolLockfileSentinel", + "provider": "pants.backend.experimental.java, pants.backend.java.dependency_inference.java_parser", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", - "pants.backend.java.dependency_inference.java_parser.build_processors", - "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis", - "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", - "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.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", - "pants.backend.javascript.package_json.pnpm_workspace_files", - "pants.backend.javascript.package_json.read_package_jsons", - "pants.backend.javascript.subsystems.nodejs.node_process_environment", - "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process", - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", - "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis", - "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", - "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", - "pants.backend.openapi.dependency_inference.parse_openapi_sources", - "pants.backend.openapi.goals.tailor.find_putative_targets", - "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", - "pants.backend.openapi.lint.spectral.rules.run_spectral", - "pants.backend.project_info.count_loc.count_loc", - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", - "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.goals.pytest_runner.setup_runtime_packages", - "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", - "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", - "pants.backend.python.lint.autoflake.rules.autoflake_fix", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.docformatter.rules.docformatter_fmt", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", - "pants.backend.python.lint.ruff.rules.ruff_fix", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.faas.build_python_faas", - "pants.backend.python.util_rules.local_dists.build_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.package_dists.generate_setup_py", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex.create_venv_pex", - "pants.backend.python.util_rules.pex.setup_pex_process", - "pants.backend.python.util_rules.pex.setup_venv_pex_process", - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config", - "pants.backend.python.util_rules.pex_requirements.load_lockfile", - "pants.backend.python.util_rules.pex_venv.pex_venv", - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.bsp.rules.bsp_scala_resources_request", - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", - "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.compile.scalac_plugins.fetch_plugins", - "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", - "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", - "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", - "pants.backend.scala.test.scalatest.run_scalatest_test", - "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", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", - "pants.backend.terraform.dependencies.get_terraform_providers", - "pants.backend.terraform.dependencies.init_terraform", - "pants.backend.terraform.dependency_inference.setup_parser", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", - "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt", - "pants.backend.tools.preamble.rules.preamble_fmt", - "pants.backend.tools.semgrep.rules.lint", - "pants.backend.tools.yamllint.rules.run_yamllint", - "pants.bsp.util_rules.compile.bsp_compile_request", - "pants.bsp.util_rules.compile.compile_bsp_target", - "pants.bsp.util_rules.resources.bsp_resources_request", - "pants.bsp.util_rules.resources.resources_bsp_target", - "pants.bsp.util_rules.targets.bsp_dependency_modules", - "pants.bsp.util_rules.targets.bsp_workspace_build_targets", - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", - "pants.bsp.util_rules.targets.resolve_one_dependency_module", - "pants.core.goals.export.export", - "pants.core.goals.fix.fix", - "pants.core.goals.fmt.fmt", - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", - "pants.core.goals.package.package_asset", - "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_yapf", - "pants.core.goals.update_build_files.update_build_files", - "pants.core.target_types.hydrate_file_source", - "pants.core.target_types.hydrate_resource_source", - "pants.core.target_types.package_archive_target", - "pants.core.util_rules.adhoc_binaries.download_python_binary", - "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess", - "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents", - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "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.external_tool.download_external_tool", - "pants.core.util_rules.stripped_source_files.strip_source_roots", - "pants.core.util_rules.system_binaries.create_binary_shims", - "pants.core.util_rules.system_binaries.find_binary", - "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", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", - "pants.jvm.classpath.loose_classfiles", - "pants.jvm.goals.lockfile.generate_jvm_lockfile", - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.jar_tool.jar_tool.run_jar_tool", - "pants.jvm.jdk_rules.prepare_jdk_environment", - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.package.war.package_war", - "pants.jvm.package.war.render_war_content", - "pants.jvm.package.war.render_war_deployment_descriptor", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", - "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve", - "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", - "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets", - "pants.jvm.resolve.coursier_setup.setup_coursier", - "pants.jvm.resources.assemble_resources_jar", - "pants.jvm.run.create_run_request", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar", - "pants.jvm.test.junit.run_junit_test", - "pants.jvm.test.junit.setup_junit_for_target", - "pants.jvm.util_rules.digest_to_file_digest" + "pants.backend.java.dependency_inference.java_parser.build_processors" + ] + }, + "pants.backend.java.dependency_inference.java_parser.JavaSourceDependencyAnalysisRequest": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JavaSourceDependencyAnalysisRequest(source_files: 'SourceFiles')", + "is_union": false, + "module": "pants.backend.java.dependency_inference.java_parser", + "name": "JavaSourceDependencyAnalysisRequest", + "provider": "pants.backend.experimental.java, pants.backend.java.dependency_inference.java_parser", + "returned_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.make_analysis_request_from_source_files" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis" + ] + }, + "pants.backend.java.dependency_inference.rules.InferJavaSourceDependencies": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.dependency_inference.rules", + "name": "InferJavaSourceDependencies", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.java.dependency_inference.rules.JavaInferredDependencies": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.backend.java.dependency_inference.rules", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JavaInferredDependencies(dependencies: 'FrozenOrderedSet[Address]', exports: 'FrozenOrderedSet[Address]')", + "is_union": false, + "module": "pants.backend.java.dependency_inference.rules", + "name": "JavaInferredDependencies", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis" + ] + }, + "pants.backend.java.dependency_inference.rules.JavaInferredDependenciesAndExportsRequest": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JavaInferredDependenciesAndExportsRequest(source: 'SourcesField')", + "is_union": false, + "module": "pants.backend.java.dependency_inference.rules", + "name": "JavaInferredDependenciesAndExportsRequest", + "provider": "pants.backend.java.dependency_inference.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis" + ] + }, + "pants.backend.java.dependency_inference.symbol_mapper.AllJavaTargets": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.dependency_inference.symbol_mapper", + "name": "AllJavaTargets", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.backend.java.dependency_inference.symbol_mapper.find_all_java_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.dependency_inference.symbol_mapper.FirstPartyJavaTargetsMappingRequest": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols" + ], + "dependencies": [ + "pants.jvm.dependency_inference.symbol_mapper" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.dependency_inference.symbol_mapper", + "name": "FirstPartyJavaTargetsMappingRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "FirstPartyMappingRequest", + "used_in_rules": [] + }, + "pants.backend.java.dependency_inference.types.JavaSourceDependencyAnalysis": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.fs", + "pants.option.global_options" + ], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.java.debug_goals" + ], + "documentation": "JavaSourceDependencyAnalysis(declared_package: 'str | None', imports: 'Sequence[JavaImport]', top_level_types: 'Sequence[str]', consumed_types: 'Sequence[str]', export_types: 'Sequence[str]')", + "is_union": false, + "module": "pants.backend.java.dependency_inference.types", + "name": "JavaSourceDependencyAnalysis", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", + "pants.backend.java.goals.debug_goals.dump_java_source_analysis" + ] + }, + "pants.backend.java.goals.check.JavacCheckRequest": { + "consumed_by_rules": [ + "pants.backend.java.goals.check.javac_check" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.goals.check", + "name": "JavacCheckRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "CheckRequest", + "used_in_rules": [] + }, + "pants.backend.java.goals.debug_goals.DumpJavaSourceAnalysis": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.core", + "pants.engine.console" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.goals.debug_goals", + "name": "DumpJavaSourceAnalysis", + "provider": "pants.backend.experimental.java.debug_goals", + "returned_by_rules": [ + "pants.backend.java.goals.debug_goals.dump_java_source_analysis" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.goals.debug_goals.DumpJavaSourceAnalysisSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.goals.debug_goals", + "name": "DumpJavaSourceAnalysisSubsystem", + "provider": "pants.backend.experimental.java.debug_goals", + "returned_by_rules": [ + "construct_scope_java_dump_source_analysis" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.goals.tailor.PutativeJavaTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.java.goals.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "PutativeJavaTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.java.goals.tailor", + "name": "PutativeJavaTargetsRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.java.lint.google_java_format.rules.GoogleJavaFormatRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.lint.google_java_format.rules", + "name": "GoogleJavaFormatRequest", + "provider": "pants.backend.experimental.java.lint.google_java_format", + "returned_by_rules": [], + "union_members": [], + "union_type": "AbstractLintRequest", + "used_in_rules": [] + }, + "pants.backend.java.lint.google_java_format.rules.GoogleJavaFormatToolLockfileSentinel": { + "consumed_by_rules": [ + "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java.lint.google_java_format" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.lint.google_java_format.rules", + "name": "GoogleJavaFormatToolLockfileSentinel", + "provider": "pants.backend.experimental.java.lint.google_java_format, pants.backend.java.lint.google_java_format.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt" ] }, - "builtins.FileDigest": { + "pants.backend.java.lint.google_java_format.skip_field.SkipGoogleJavaFormatField": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.core", - "pants.engine.fs", - "pants.jvm.util_rules" + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "", + "dependents": [], + "documentation": null, "is_union": false, - "module": "builtins", - "name": "FileDigest", + "module": "pants.backend.java.lint.google_java_format.skip_field", + "name": "SkipGoogleJavaFormatField", + "provider": "pants.backend.experimental.java.lint.google_java_format", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.java.lint.google_java_format.subsystem.GoogleJavaFormatSubsystem": { + "consumed_by_rules": [ + "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request", + "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.java.lint.google_java_format" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.lint.google_java_format.subsystem", + "name": "GoogleJavaFormatSubsystem", + "provider": "pants.backend.experimental.java.lint.google_java_format", + "returned_by_rules": [ + "construct_scope_google_java_format" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.subsystems.java_infer.JavaInferSubsystem": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.subsystems.java_infer", + "name": "JavaInferSubsystem", "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.util_rules.digest_to_file_digest"], + "returned_by_rules": [ + "construct_scope_java_infer" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile" - ] + "used_in_rules": [] }, - "builtins.InferenceMetadata": { + "pants.backend.java.subsystems.javac.JavacSubsystem": { + "consumed_by_rules": [ + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.goals.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.subsystems.javac", + "name": "JavacSubsystem", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "construct_scope_javac" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.subsystems.junit.JUnit": { + "consumed_by_rules": [ + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_JunitTestRequest", + "pants.jvm.test.junit.generate_junit_lockfile_request", + "pants.jvm.test.junit.setup_junit_for_target" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.java.subsystems.junit", + "name": "JUnit", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "construct_scope_junit" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.java.target_types.JavaFieldSet": { + "consumed_by_rules": [ + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JavaFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JavaFieldSet(address: 'Address', jdk_version: 'JvmJdkField', main_class: 'JvmMainClassNameField', sources: 'JavaSourceField')", + "is_union": false, + "module": "pants.backend.java.target_types", + "name": "JavaFieldSet", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "RunFieldSet", + "used_in_rules": [] + }, + "pants.backend.javascript.dependency_inference.rules.InferJSDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.javascript.dependency_inference.rules", + "name": "InferJSDependenciesRequest", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.javascript.dependency_inference.rules.InferNodePackageDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.javascript.dependency_inference.rules", + "name": "InferNodePackageDependenciesRequest", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.javascript.dependency_inference.rules.NodePackageCandidateMap": { "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], + "dependencies": [ + "pants.backend.javascript.dependency_inference.rules" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], "documentation": null, "is_union": false, - "module": "builtins", - "name": "InferenceMetadata", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.javascript.dependency_inference.rules", + "name": "NodePackageCandidateMap", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.backend.javascript.dependency_inference.rules.prepare_inference_metadata" + "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages" ], "union_members": [], "union_type": null, @@ -25801,12284 +43876,14325 @@ "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" ] }, - "builtins.MergeDigests": { - "consumed_by_rules": [], + "pants.backend.javascript.dependency_inference.rules.RequestNodePackagesCandidateMap": { + "consumed_by_rules": [ + "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages" + ], "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "RequestNodePackagesCandidateMap(address: 'Address')", + "is_union": false, + "module": "pants.backend.javascript.dependency_inference.rules", + "name": "RequestNodePackagesCandidateMap", + "provider": "pants.backend.javascript.dependency_inference.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + ] + }, + "pants.backend.javascript.goals.lockfile.GeneratePackageLockJsonFile": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.lockfile.generate_lockfile_from_package_jsons" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "GeneratePackageLockJsonFile(resolve_name: 'str', lockfile_dest: 'str', diff: 'bool', project: 'NodeJSProject')", + "is_union": false, + "module": "pants.backend.javascript.goals.lockfile", + "name": "GeneratePackageLockJsonFile", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateLockfile", + "used_in_rules": [] + }, + "pants.backend.javascript.goals.lockfile.KnownPackageJsonUserResolveNamesRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.lockfile.determine_package_json_user_resolves" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.javascript.goals.lockfile", + "name": "KnownPackageJsonUserResolveNamesRequest", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "KnownUserResolveNamesRequest", + "used_in_rules": [] + }, + "pants.backend.javascript.goals.lockfile.RequestedPackageJsonUserResolveNames": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.lockfile.setup_user_lockfile_requests" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.javascript.goals.lockfile", + "name": "RequestedPackageJsonUserResolveNames", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "RequestedUserResolveNames", + "used_in_rules": [] + }, + "pants.backend.javascript.goals.tailor.PutativeJSTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.tailor.find_putative_js_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "PutativeJSTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.javascript.goals.tailor", + "name": "PutativeJSTargetsRequest", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.javascript.goals.tailor.PutativePackageJsonTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.tailor.find_putative_package_json_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "PutativePackageJsonTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.javascript.goals.tailor", + "name": "PutativePackageJsonTargetsRequest", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.javascript.goals.test.JSCoverageDataCollection": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.test.collect_coverage_reports" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.javascript.goals.test", + "name": "JSCoverageDataCollection", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "CoverageDataCollection", + "used_in_rules": [] + }, + "pants.backend.javascript.goals.test.JSTestFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], "dependents": [], - "documentation": "", + "documentation": "JSTestFieldSet(address: 'Address', sources: 'SourcesField', batch_compatibility_tag: 'JSTestBatchCompatibilityTagField', source: 'JSTestSourceField', dependencies: 'Dependencies', timeout: 'JSTestTimeoutField', extra_env_vars: 'JSTestExtraEnvVarsField')", "is_union": false, - "module": "builtins", - "name": "MergeDigests", - "provider": "builtins", + "module": "pants.backend.javascript.goals.test", + "name": "JSTestFieldSet", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "TestFieldSet", + "used_in_rules": [] + }, + "pants.backend.javascript.goals.test.JSTestRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.javascript.goals.test", + "name": "JSTestRequest", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [], "union_members": [], + "union_type": "TestRequest", + "used_in_rules": [] + }, + "pants.backend.javascript.install_node_package.InstalledNodePackage": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.javascript.install_node_package", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.lint.spectral" + ], + "documentation": "InstalledNodePackage(project_env: 'NodeJsProjectEnvironment', digest: 'Digest')", + "is_union": false, + "module": "pants.backend.javascript.install_node_package", + "name": "InstalledNodePackage", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.install_node_package.install_node_packages_for_address" + ], + "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.codegen.export_codegen_goal.export_codegen", - "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.go.rules.setup_go_protoc_plugin", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.go.goals.generate.go_generate", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.coverage.go_apply_code_coverage", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies", - "pants.backend.go.util_rules.link.link_go_binary", - "pants.backend.go.util_rules.sdk.setup_go_sdk_process", - "pants.backend.go.util_rules.tests_analysis.generate_testmain", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", - "pants.backend.helm.util_rules.sources.get_helm_source_files", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.java_parser.build_processors", + "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.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", - "pants.backend.javascript.subsystems.nodejs.node_process_environment", - "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process", - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", - "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", - "pants.backend.openapi.lint.spectral.rules.run_spectral", - "pants.backend.project_info.count_loc.count_loc", - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.goals.pytest_runner.setup_runtime_packages", - "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", - "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.local_dists.build_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex.create_venv_pex", - "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", - "pants.backend.python.util_rules.pex.setup_pex_process", - "pants.backend.python.util_rules.pex.setup_venv_pex_process", - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_venv.pex_venv", - "pants.backend.python.util_rules.python_sources.prepare_python_sources", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.backend.scala.compile.scalac.compile_scala_source", - "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.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", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.backend.terraform.dependencies.get_terraform_providers", - "pants.backend.terraform.dependencies.init_terraform", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", - "pants.backend.tools.semgrep.rules.lint", - "pants.backend.tools.yamllint.rules.run_yamllint", - "pants.bsp.util_rules.compile.bsp_compile_request", - "pants.bsp.util_rules.compile.compile_bsp_target", - "pants.bsp.util_rules.resources.bsp_resources_request", - "pants.bsp.util_rules.resources.resources_bsp_target", - "pants.bsp.util_rules.targets.bsp_dependency_modules", - "pants.bsp.util_rules.targets.bsp_workspace_build_targets", - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", - "pants.bsp.util_rules.targets.resolve_one_dependency_module", - "pants.core.goals.export.export", - "pants.core.goals.fix.fix", - "pants.core.goals.fmt.fmt", - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", - "pants.core.goals.generate_snapshots.generate_snapshots", - "pants.core.goals.package.package_asset", - "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_yapf", - "pants.core.target_types.package_archive_target", - "pants.core.target_types.relocate_files", - "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess", - "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents", - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "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.source_files.determine_source_files", - "pants.core.util_rules.stripped_source_files.strip_source_roots", - "pants.jvm.classpath.loose_classfiles", - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.jdk_rules.prepare_jdk_environment", - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.package.war.package_war", - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", - "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", - "pants.jvm.resolve.coursier_setup.setup_coursier", - "pants.jvm.resources.assemble_resources_jar", - "pants.jvm.run.create_run_request", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.test.junit.setup_junit_for_target" + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + ] + }, + "pants.backend.javascript.install_node_package.InstalledNodePackageRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package", + "pants.backend.javascript.install_node_package.install_node_packages_for_address" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "InstalledNodePackageRequest(address: 'Address')", + "is_union": false, + "module": "pants.backend.javascript.install_node_package", + "name": "InstalledNodePackageRequest", + "provider": "pants.backend.javascript.install_node_package", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "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.javascript.package.rules.pack_node_package_into_tgz_for_publication", + "pants.backend.javascript.package.rules.run_node_build_script", + "pants.backend.javascript.run.rules.run_node_build_script", + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" ] }, - "builtins.NativeDependenciesRequest": { + "pants.backend.javascript.install_node_package.InstalledNodePackageWithSource": { "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "", + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.javascript.install_node_package", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "InstalledNodePackageWithSource(project_env: 'NodeJsProjectEnvironment', digest: 'Digest')", "is_union": false, - "module": "builtins", - "name": "NativeDependenciesRequest", - "provider": "builtins", - "returned_by_rules": [], + "module": "pants.backend.javascript.install_node_package", + "name": "InstalledNodePackageWithSource", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies" + "pants.backend.javascript.install_node_package.install_node_packages_for_address", + "pants.backend.javascript.package.rules.pack_node_package_into_tgz_for_publication", + "pants.backend.javascript.package.rules.run_node_build_script", + "pants.backend.javascript.run.rules.run_node_build_script" ] }, - "builtins.RemovePrefix": { + "pants.backend.javascript.lint.prettier.rules.PrettierFmtRequest": { "consumed_by_rules": [], - "dependencies": [], + "dependencies": [ + "pants.core" + ], "dependents": [], - "documentation": "", + "documentation": null, "is_union": false, - "module": "builtins", - "name": "RemovePrefix", - "provider": "builtins", + "module": "pants.backend.javascript.lint.prettier.rules", + "name": "PrettierFmtRequest", + "provider": "pants.backend.experimental.javascript.lint.prettier", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.helm.goals.package.run_helm_package", - "pants.backend.helm.resolve.fetch.fetch_helm_artifact", - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "pants.backend.helm.test.unittest.run_helm_unittest", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", - "pants.backend.helm.util_rules.renderer.render_helm_chart", - "pants.backend.helm.util_rules.renderer.run_renderer", - "pants.backend.helm.util_rules.sources.get_helm_source_files", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.java.dependency_inference.java_parser.build_processors", - "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", - "pants.backend.python.goals.pytest_runner.run_python_tests", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", - "pants.backend.scala.test.scalatest.run_scalatest_test", - "pants.core.target_types.relocate_files", - "pants.core.util_rules.adhoc_process_support.run_adhoc_process", - "pants.core.util_rules.archive.maybe_extract_archive", - "pants.core.util_rules.stripped_source_files.strip_source_roots", - "pants.jvm.classpath.loose_classfiles", - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.jar_tool.jar_tool.run_jar_tool", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar", - "pants.jvm.test.junit.run_junit_test" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.adhoc.adhoc_tool.GenerateFilesFromAdhocToolRequest": { - "consumed_by_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request" + "pants.backend.javascript.lint.prettier.skip_field.SkipPrettierField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.adhoc"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.adhoc.adhoc_tool", - "name": "GenerateFilesFromAdhocToolRequest", - "provider": "pants.backend.experimental.adhoc", + "module": "pants.backend.javascript.lint.prettier.skip_field", + "name": "SkipPrettierField", + "provider": "pants.backend.experimental.javascript.lint.prettier", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateSourcesRequest", + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.adhoc.run_system_binary.SystemBinaryFieldSet": { + "pants.backend.javascript.lint.prettier.subsystem.Prettier": { "consumed_by_rules": [ - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_SystemBinaryFieldSet" + "pants.backend.javascript.lint.prettier.rules.prettier_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PrettierFmtRequest" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.adhoc"], - "documentation": "SystemBinaryFieldSet(address: 'Address', name: 'SystemBinaryNameField', extra_search_paths: 'SystemBinaryExtraSearchPathsField', fingerprint_pattern: 'SystemBinaryFingerprintPattern', fingerprint_argv: 'SystemBinaryFingerprintArgsField', fingerprint_dependencies: 'SystemBinaryFingerprintDependenciesField')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.javascript.lint.prettier" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.adhoc.run_system_binary", - "name": "SystemBinaryFieldSet", - "provider": "pants.backend.experimental.adhoc", - "returned_by_rules": [], + "module": "pants.backend.javascript.lint.prettier.subsystem", + "name": "Prettier", + "provider": "pants.backend.experimental.javascript.lint.prettier", + "returned_by_rules": [ + "construct_scope_prettier" + ], "union_members": [], - "union_type": "RunFieldSet", + "union_type": null, "used_in_rules": [] }, - "pants.backend.awslambda.python.rules.PythonAwsLambdaFieldSet": { + "pants.backend.javascript.nodejs_project.AllNodeJSProjects": { "consumed_by_rules": [ - "pants.backend.awslambda.python.rules.package_python_aws_lambda_function" + "pants.backend.javascript.goals.lockfile.determine_package_json_user_resolves", + "pants.backend.javascript.resolve.resolve_for_package", + "pants.backend.javascript.resolve.resolve_to_projects" + ], + "dependencies": [ + "pants.core" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "PythonAwsLambdaFieldSet(address: 'Address', include_requirements: 'PythonAwsLambdaIncludeRequirements', runtime: 'PythonAwsLambdaRuntime', complete_platforms: 'PythonFaaSCompletePlatforms', output_path: 'OutputPathField', environment: 'EnvironmentField', handler: 'PythonAwsLambdaHandlerField')", + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.awslambda.python.rules", - "name": "PythonAwsLambdaFieldSet", - "provider": "pants.backend.awslambda.python", - "returned_by_rules": [], + "module": "pants.backend.javascript.nodejs_project", + "name": "AllNodeJSProjects", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.nodejs_project.find_node_js_projects" + ], "union_members": [], - "union_type": "PackageFieldSet", + "union_type": null, "used_in_rules": [] }, - "pants.backend.awslambda.python.rules.PythonAwsLambdaLayerFieldSet": { + "pants.backend.javascript.nodejs_project_environment.NodeJSProjectEnvironmentRequest": { "consumed_by_rules": [ - "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer" + "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "PythonAwsLambdaLayerFieldSet(address: 'Address', include_requirements: 'PythonAwsLambdaIncludeRequirements', runtime: 'PythonAwsLambdaRuntime', complete_platforms: 'PythonFaaSCompletePlatforms', output_path: 'OutputPathField', environment: 'EnvironmentField', dependencies: 'PythonAwsLambdaLayerDependenciesField', include_sources: 'PythonAwsLambdaIncludeSources')", + "documentation": "NodeJSProjectEnvironmentRequest(address: 'Address')", "is_union": false, - "module": "pants.backend.awslambda.python.rules", - "name": "PythonAwsLambdaLayerFieldSet", - "provider": "pants.backend.awslambda.python", + "module": "pants.backend.javascript.nodejs_project_environment", + "name": "NodeJSProjectEnvironmentRequest", + "provider": "pants.backend.javascript.nodejs_project_environment", "returned_by_rules": [], "union_members": [], - "union_type": "PackageFieldSet", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.install_node_package.install_node_packages_for_address" + ] }, - "pants.backend.build_files.fix.deprecations.base.FixedBUILDFile": { + "pants.backend.javascript.nodejs_project_environment.NodeJsProjectEnvironment": { "consumed_by_rules": [], - "dependencies": ["pants.backend.build_files.fix.deprecations"], - "dependents": ["pants.core"], - "documentation": "FixedBUILDFile(path: 'str', content: 'bytes')", + "dependencies": [ + "pants.backend.javascript.nodejs_project_environment" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodeJsProjectEnvironment(resolve: 'ChosenNodeResolve', package: 'OwningNodePackage | None' = None)", "is_union": false, - "module": "pants.backend.build_files.fix.deprecations.base", - "name": "FixedBUILDFile", - "provider": "pants.core", + "module": "pants.backend.javascript.nodejs_project_environment", + "name": "NodeJsProjectEnvironment", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single", - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single" + "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", - "pants.core.goals.update_build_files.maybe_rename_deprecated_fields", - "pants.core.goals.update_build_files.maybe_rename_deprecated_targets" + "pants.backend.javascript.install_node_package.install_node_packages_for_address" ] }, - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.RenameFieldsInFileRequest": { + "pants.backend.javascript.nodejs_project_environment.NodeJsProjectEnvironmentProcess": { "consumed_by_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single" + "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodeJsProjectEnvironmentProcess(env: 'NodeJsProjectEnvironment', args: 'Iterable[str]', description: 'str', level: 'LogLevel' = , input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), output_files: 'tuple[str, ...]' = (), output_directories: 'tuple[str, ...]' = (), per_package_caches: 'FrozenDict[str, str]' = , timeout_seconds: 'int | None' = None, extra_env: 'FrozenDict[str, str]' = )", "is_union": false, - "module": "pants.backend.build_files.fix.deprecations.renamed_fields_rules", - "name": "RenameFieldsInFileRequest", - "provider": "pants.backend.build_files.fix.deprecations", + "module": "pants.backend.javascript.nodejs_project_environment", + "name": "NodeJsProjectEnvironmentProcess", + "provider": "pants.backend.javascript.nodejs_project_environment", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", - "pants.core.goals.update_build_files.maybe_rename_deprecated_fields" + "pants.backend.javascript.goals.lockfile.generate_lockfile_from_package_jsons", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.javascript.install_node_package.install_node_packages_for_address", + "pants.backend.javascript.package.rules.pack_node_package_into_tgz_for_publication", + "pants.backend.javascript.package.rules.run_node_build_script", + "pants.backend.javascript.run.rules.run_node_build_script", + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" ] }, - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.RenameFieldsInFilesRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.backend.javascript.package.rules.GenerateResourcesFromNodeBuildScriptRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.package.rules.generate_resources_from_node_build_script" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "GenerateResourcesFromNodeBuildScriptRequest(protocol_sources: 'Snapshot', protocol_target: 'Target')", "is_union": false, - "module": "pants.backend.build_files.fix.deprecations.renamed_fields_rules", - "name": "RenameFieldsInFilesRequest", - "provider": "pants.backend.build_files.fix.deprecations", + "module": "pants.backend.javascript.package.rules", + "name": "GenerateResourcesFromNodeBuildScriptRequest", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "GenerateSourcesRequest", "used_in_rules": [] }, - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.RenamedFieldTypes": { + "pants.backend.javascript.package.rules.NodeBuildScriptPackageFieldSet": { "consumed_by_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single" + "pants.backend.javascript.package.rules.generate_package_artifact_from_node_build_script" ], - "dependencies": ["pants.engine.target", "pants.engine.unions"], - "dependents": ["pants.core"], - "documentation": "Map deprecated field names to their new name, per target.", - "is_union": false, - "module": "pants.backend.build_files.fix.deprecations.renamed_fields_rules", - "name": "RenamedFieldTypes", - "provider": "pants.core", - "returned_by_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.determine_renamed_field_types" + "dependencies": [ + "pants.core" ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodeBuildScriptPackageFieldSet(address: 'Address', source: 'NodeBuildScriptSourcesField', output_path: 'OutputPathField', script_name: 'NodeBuildScriptEntryPointField', output_directories: 'NodeBuildScriptOutputDirectoriesField', output_files: 'NodeBuildScriptOutputFilesField', extra_caches: 'NodeBuildScriptExtraCaches', extra_env_vars: 'NodeBuildScriptExtraEnvVarsField')", + "is_union": false, + "module": "pants.backend.javascript.package.rules", + "name": "NodeBuildScriptPackageFieldSet", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PackageFieldSet", "used_in_rules": [] }, - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.RenameTargetsInFileRequest": { + "pants.backend.javascript.package.rules.NodeBuildScriptRequest": { "consumed_by_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single" + "pants.backend.javascript.package.rules.run_node_build_script" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Deprecated target type names to new names.", + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodeBuildScriptRequest(address: 'Address', output_files: 'tuple[str, ...]', output_directories: 'tuple[str, ...]', script_name: 'str', extra_caches: 'tuple[str, ...]', extra_env_vars: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.build_files.fix.deprecations.renamed_targets_rules", - "name": "RenameTargetsInFileRequest", - "provider": "pants.backend.build_files.fix.deprecations", + "module": "pants.backend.javascript.package.rules", + "name": "NodeBuildScriptRequest", + "provider": "pants.backend.javascript.package.rules", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", - "pants.core.goals.update_build_files.maybe_rename_deprecated_targets" + "pants.backend.javascript.package.rules.generate_package_artifact_from_node_build_script", + "pants.backend.javascript.package.rules.generate_resources_from_node_build_script" ] }, - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.RenameTargetsInFilesRequest": { + "pants.backend.javascript.package.rules.NodeBuildScriptResult": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.javascript.package.rules" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodeBuildScriptResult(process: 'ProcessResult', project_directory: 'str')", "is_union": false, - "module": "pants.backend.build_files.fix.deprecations.renamed_targets_rules", - "name": "RenameTargetsInFilesRequest", - "provider": "pants.backend.build_files.fix.deprecations", + "module": "pants.backend.javascript.package.rules", + "name": "NodeBuildScriptResult", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.package.rules.run_node_build_script" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.package.rules.generate_package_artifact_from_node_build_script", + "pants.backend.javascript.package.rules.generate_resources_from_node_build_script" + ] + }, + "pants.backend.javascript.package.rules.NodePackageTarFieldSet": { + "consumed_by_rules": [ + "pants.backend.javascript.package.rules.pack_node_package_into_tgz_for_publication" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodePackageTarFieldSet(address: 'Address', source: 'PackageJsonSourceField', output_path: 'OutputPathField')", + "is_union": false, + "module": "pants.backend.javascript.package.rules", + "name": "NodePackageTarFieldSet", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "PackageFieldSet", "used_in_rules": [] }, - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.RenamedTargetTypes": { + "pants.backend.javascript.package_json.AllPackageJson": { "consumed_by_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single" + "pants.backend.javascript.nodejs_project.find_node_js_projects", + "pants.backend.javascript.package_json.all_package_json_names", + "pants.backend.javascript.package_json.pnpm_workspace_files" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.core"], - "documentation": "Map deprecated field names to their new name, per target.", + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.build_files.fix.deprecations.renamed_targets_rules", - "name": "RenamedTargetTypes", - "provider": "pants.core", + "module": "pants.backend.javascript.package_json", + "name": "AllPackageJson", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.determine_renamed_target_types" + "pants.backend.javascript.package_json.all_package_json" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.build_files.fix.deprecations.subsystem.BUILDDeprecationsFixer": { + "pants.backend.javascript.package_json.AllPackageJsonNames": { "consumed_by_rules": [ - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameFieldsInFilesRequest", - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameTargetsInFilesRequest" + "pants.backend.javascript.package_json.generate_node_package_targets" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.build_files.fix.deprecations"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "Used to not invalidate all generated node package targets when any package.json contents are\nchanged.", "is_union": false, - "module": "pants.backend.build_files.fix.deprecations.subsystem", - "name": "BUILDDeprecationsFixer", - "provider": "pants.backend.build_files.fix.deprecations", - "returned_by_rules": ["construct_scope_build_deprecations_fixer"], + "module": "pants.backend.javascript.package_json", + "name": "AllPackageJsonNames", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.package_json.all_package_json_names" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.build_files.fmt.black.register.BlackRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.javascript.package_json.FirstPartyNodePackageTargets": { + "consumed_by_rules": [ + "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages", + "pants.backend.javascript.resolve.resolve_to_first_party_node_package" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], "documentation": null, "is_union": false, - "module": "pants.backend.build_files.fmt.black.register", - "name": "BlackRequest", - "provider": "pants.backend.build_files.fmt.black", - "returned_by_rules": [], + "module": "pants.backend.javascript.package_json", + "name": "FirstPartyNodePackageTargets", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.package_json.all_first_party_node_package_targets" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.build_files.fmt.buildifier.rules.BuildifierRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.javascript.package_json.GenerateNodePackageTargets": { + "consumed_by_rules": [ + "pants.backend.javascript.package_json.generate_node_package_targets" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], "documentation": null, "is_union": false, - "module": "pants.backend.build_files.fmt.buildifier.rules", - "name": "BuildifierRequest", - "provider": "pants.backend.build_files.fmt.buildifier", + "module": "pants.backend.javascript.package_json", + "name": "GenerateNodePackageTargets", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "GenerateTargetsRequest", "used_in_rules": [] }, - "pants.backend.build_files.fmt.buildifier.subsystem.Buildifier": { + "pants.backend.javascript.package_json.OwningNodePackage": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.backend.javascript.package_json", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "OwningNodePackage(target: 'Target | None' = None, third_party: 'tuple[Target, ...]' = ())", + "is_union": false, + "module": "pants.backend.javascript.package_json", + "name": "OwningNodePackage", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.package_json.find_owning_package" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "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.package_json.OwningNodePackageRequest": { "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.javascript.package_json.find_owning_package" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "OwningNodePackageRequest(address: 'Address')", + "is_union": false, + "module": "pants.backend.javascript.package_json", + "name": "OwningNodePackageRequest", + "provider": "pants.backend.javascript.package_json", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "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.package_json.PackageJson": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.javascript.package_json", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "PackageJson(content: 'FrozenDict[str, Any]', name: 'str', version: 'str | None', snapshot: 'Snapshot', workspaces: 'tuple[str, ...]' = (), module: \"Literal['commonjs', 'module'] | None\" = None, dependencies: 'FrozenDict[str, str]' = , package_manager: 'str | None' = None)", + "is_union": false, + "module": "pants.backend.javascript.package_json", + "name": "PackageJson", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.package_json.package_json_for_source", + "pants.backend.javascript.package_json.parse_package_json" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.package_json.generate_node_package_targets", + "pants.backend.javascript.package_json.read_package_jsons", + "pants.backend.javascript.package_json.script_entrypoints_for_source", + "pants.backend.javascript.package_json.subpath_imports_for_source" + ] + }, + "pants.backend.javascript.package_json.PackageJsonEntryPoints": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.javascript.package_json" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "See https://nodejs.org/api/packages.html#package-entry-points and\nhttps://docs.npmjs.com/cli/v9/configuring-npm/package-json#browser.", + "is_union": false, + "module": "pants.backend.javascript.package_json", + "name": "PackageJsonEntryPoints", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.package_json.script_entrypoints_for_source" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies" + ] + }, + "pants.backend.javascript.package_json.PackageJsonForGlobs": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.javascript" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.build_files.fmt.buildifier"], "documentation": null, "is_union": false, - "module": "pants.backend.build_files.fmt.buildifier.subsystem", - "name": "Buildifier", - "provider": "pants.backend.build_files.fmt.buildifier", - "returned_by_rules": ["construct_scope_buildifier"], + "module": "pants.backend.javascript.package_json", + "name": "PackageJsonForGlobs", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.package_json.read_package_jsons" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.package_json.all_package_json", + "pants.backend.javascript.package_json.package_json_for_source" + ] + }, + "pants.backend.javascript.package_json.PackageJsonImports": { + "consumed_by_rules": [ + "pants.backend.javascript.dependency_inference.rules.prepare_inference_metadata" + ], + "dependencies": [ + "pants.backend.javascript.package_json" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "https://nodejs.org/api/packages.html#subpath-imports.", + "is_union": false, + "module": "pants.backend.javascript.package_json", + "name": "PackageJsonImports", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.package_json.subpath_imports_for_source" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.build_files.fmt.yapf.register.YapfRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.javascript.package_json.PackageJsonSourceField": { + "consumed_by_rules": [ + "pants.backend.javascript.package_json.package_json_for_source", + "pants.backend.javascript.package_json.script_entrypoints_for_source", + "pants.backend.javascript.package_json.subpath_imports_for_source" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" + ], "documentation": null, "is_union": false, - "module": "pants.backend.build_files.fmt.yapf.register", - "name": "YapfRequest", - "provider": "pants.backend.build_files.fmt.yapf", + "module": "pants.backend.javascript.package_json", + "name": "PackageJsonSourceField", + "provider": "pants.backend.javascript.package_json", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", + "pants.backend.javascript.package_json.generate_node_package_targets", + "pants.backend.javascript.package_json.script_entrypoints_for_source", + "pants.backend.javascript.package_json.subpath_imports_for_source" + ] }, - "pants.backend.codegen.export_codegen_goal.ExportCodegen": { - "consumed_by_rules": [], + "pants.backend.javascript.package_json.PnpmWorkspaces": { + "consumed_by_rules": [ + "pants.backend.javascript.nodejs_project.find_node_js_projects" + ], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.engine.fs", - "pants.engine.target", - "pants.engine.unions" + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.javascript" ], - "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.export_codegen_goal", - "name": "ExportCodegen", - "provider": "pants.core", + "module": "pants.backend.javascript.package_json", + "name": "PnpmWorkspaces", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.backend.codegen.export_codegen_goal.export_codegen" + "pants.backend.javascript.package_json.pnpm_workspace_files" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.export_codegen_goal.ExportCodegenSubsystem": { + "pants.backend.javascript.resolve.ChosenNodeResolve": { "consumed_by_rules": [], - "dependencies": ["pants.option.scope"], - "dependents": [], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.go", + "pants.backend.javascript.resolve" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "ChosenNodeResolve(project: 'NodeJSProject')", "is_union": false, - "module": "pants.backend.codegen.export_codegen_goal", - "name": "ExportCodegenSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_export_codegen"], + "module": "pants.backend.javascript.resolve", + "name": "ChosenNodeResolve", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.resolve.resolve_for_package" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment" + ] }, - "pants.backend.codegen.protobuf.go.rules.GenerateGoFromProtobufRequest": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf" + "pants.backend.javascript.resolve.FirstPartyNodePackageResolves": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.openapi.lint.spectral" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.codegen.protobuf.go"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.go.rules", - "name": "GenerateGoFromProtobufRequest", - "provider": "pants.backend.experimental.codegen.protobuf.go", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateSourcesRequest", - "used_in_rules": [] - }, - "pants.backend.codegen.protobuf.go.rules.GoCodegenBuildProtobufRequest": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf" + "module": "pants.backend.javascript.resolve", + "name": "FirstPartyNodePackageResolves", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.resolve.resolve_to_first_party_node_package" ], - "dependencies": ["pants.backend.go.util_rules.build_pkg_target"], - "dependents": ["pants.backend.experimental.codegen.protobuf.go"], - "documentation": null, - "is_union": false, - "module": "pants.backend.codegen.protobuf.go.rules", - "name": "GoCodegenBuildProtobufRequest", - "provider": "pants.backend.experimental.codegen.protobuf.go", - "returned_by_rules": [], "union_members": [], - "union_type": "GoCodegenBuildRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + ] }, - "pants.backend.codegen.protobuf.go.rules.ProtobufGoModuleImportPathsMappingsHook": { + "pants.backend.javascript.resolve.NodeJSProjectResolves": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets" + "pants.backend.javascript.goals.lockfile.setup_user_lockfile_requests", + "pants.backend.javascript.resolve.resolve_to_first_party_node_package" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.lint.spectral" ], - "dependencies": ["pants.backend.go.dependency_inference"], - "dependents": ["pants.backend.experimental.codegen.protobuf.go"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.go.rules", - "name": "ProtobufGoModuleImportPathsMappingsHook", - "provider": "pants.backend.experimental.codegen.protobuf.go", - "returned_by_rules": [], + "module": "pants.backend.javascript.resolve", + "name": "NodeJSProjectResolves", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.resolve.resolve_to_projects" + ], "union_members": [], - "union_type": "GoModuleImportPathsMappingsHook", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + ] }, - "pants.backend.codegen.protobuf.go.rules._SetupGoProtobufPackageBuildRequest": { + "pants.backend.javascript.resolve.RequestNodeResolve": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request" + "pants.backend.javascript.resolve.resolve_for_package" ], "dependencies": [], - "dependents": ["pants.backend.experimental.codegen.protobuf.go"], - "documentation": "Request type used to trigger setup of a BuildGoPackageRequest for entire generated Go\nProtobuf package.\n\nThis type is separate so that a build of the full package can be cached no matter which one of\nits component source files was requested. This occurs because a request to build any one of the\nsource files will be converted into this type and then built.", + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "RequestNodeResolve(address: 'Address')", "is_union": false, - "module": "pants.backend.codegen.protobuf.go.rules", - "name": "_SetupGoProtobufPackageBuildRequest", - "provider": "pants.backend.codegen.protobuf.go.rules", + "module": "pants.backend.javascript.resolve", + "name": "RequestNodeResolve", + "provider": "pants.backend.javascript.resolve", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf" + "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment" ] }, - "pants.backend.codegen.protobuf.go.rules._SetupGoProtocPlugin": { + "pants.backend.javascript.run.rules.RunNodeBuildScriptFieldSet": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request" + "pants.backend.javascript.run.rules.run_node_build_script", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_RunNodeBuildScriptFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunNodeBuildScriptFieldSet" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", "pants.core" ], - "dependents": ["pants.backend.experimental.codegen.protobuf.go"], - "documentation": "_SetupGoProtocPlugin(digest: 'Digest')", - "is_union": false, - "module": "pants.backend.codegen.protobuf.go.rules", - "name": "_SetupGoProtocPlugin", - "provider": "pants.backend.experimental.codegen.protobuf.go", - "returned_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.codegen.protobuf.java.dependency_inference.InferProtobufJavaRuntimeDependencyRequest": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + "dependents": [ + "pants.backend.experimental.javascript" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": null, + "documentation": "RunNodeBuildScriptFieldSet(address: 'Address', entry_point: 'NodeBuildScriptEntryPointField', extra_env_vars: 'NodeBuildScriptExtraEnvVarsField', environment: 'EnvironmentField')", "is_union": false, - "module": "pants.backend.codegen.protobuf.java.dependency_inference", - "name": "InferProtobufJavaRuntimeDependencyRequest", - "provider": "pants.backend.experimental.codegen.protobuf.java", + "module": "pants.backend.javascript.run.rules", + "name": "RunNodeBuildScriptFieldSet", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "RunFieldSet", "used_in_rules": [] }, - "pants.backend.codegen.protobuf.java.dependency_inference.ProtobufJavaGrpcRuntimeForResolve": { + "pants.backend.javascript.subsystems.nodejs.CorepackToolDigest": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.codegen.protobuf.java.dependency_inference", - "pants.backend.experimental.java" + "pants.backend.experimental.helm", + "pants.backend.javascript.subsystems.nodejs" ], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": "ProtobufJavaGrpcRuntimeForResolve(addresses: 'FrozenSet[Address]')", + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "CorepackToolDigest(digest: 'Digest')", "is_union": false, - "module": "pants.backend.codegen.protobuf.java.dependency_inference", - "name": "ProtobufJavaGrpcRuntimeForResolve", - "provider": "pants.backend.experimental.codegen.protobuf.java", + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "CorepackToolDigest", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve" + "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process" ] }, - "pants.backend.codegen.protobuf.java.dependency_inference.ProtobufJavaGrpcRuntimeForResolveRequest": { + "pants.backend.javascript.subsystems.nodejs.CorepackToolRequest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve" + "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool" ], "dependencies": [], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": "ProtobufJavaGrpcRuntimeForResolveRequest(resolve_name: 'str')", + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "CorepackToolRequest(tool: 'str', input_digest: 'Digest', working_directory: 'str | None' = None, version: 'str | None' = None)", "is_union": false, - "module": "pants.backend.codegen.protobuf.java.dependency_inference", - "name": "ProtobufJavaGrpcRuntimeForResolveRequest", - "provider": "pants.backend.codegen.protobuf.java.dependency_inference", + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "CorepackToolRequest", + "provider": "pants.backend.javascript.subsystems.nodejs", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process" ] }, - "pants.backend.codegen.protobuf.java.dependency_inference.ProtobufJavaRuntimeForResolve": { - "consumed_by_rules": [], + "pants.backend.javascript.subsystems.nodejs.EnvironmentAware": { + "consumed_by_rules": [ + "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap" + ], "dependencies": [ - "pants.backend.codegen.protobuf.java.dependency_inference", - "pants.backend.experimental.java" + "pants.core" ], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": "ProtobufJavaRuntimeForResolve(addresses: 'FrozenSet[Address]')", + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.java.dependency_inference", - "name": "ProtobufJavaRuntimeForResolve", - "provider": "pants.backend.experimental.codegen.protobuf.java", + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "EnvironmentAware", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve" + "construct_env_aware_scope_nodejs" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" - ] + "used_in_rules": [] }, - "pants.backend.codegen.protobuf.java.dependency_inference.ProtobufJavaRuntimeForResolveRequest": { + "pants.backend.javascript.subsystems.nodejs.NodeJS": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve" + "construct_env_aware_scope_nodejs", + "pants.backend.javascript.nodejs_project.find_node_js_projects", + "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", + "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", + "pants.backend.javascript.subsystems.nodejs.user_chosen_resolve_aliases" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": "ProtobufJavaRuntimeForResolveRequest(resolve_name: 'str')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.lint.spectral" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.java.dependency_inference", - "name": "ProtobufJavaRuntimeForResolveRequest", - "provider": "pants.backend.codegen.protobuf.java.dependency_inference", - "returned_by_rules": [], + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "NodeJS", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "construct_scope_nodejs" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency" + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" ] }, - "pants.backend.codegen.protobuf.java.rules.GenerateJavaFromProtobufRequest": { + "pants.backend.javascript.subsystems.nodejs.NodeJSBinaries": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf" + "pants.backend.javascript.subsystems.nodejs.node_process_environment" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": null, + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodeJSBinaries(binary_dir: 'str', digest: 'Digest | None' = None)", "is_union": false, - "module": "pants.backend.codegen.protobuf.java.rules", - "name": "GenerateJavaFromProtobufRequest", - "provider": "pants.backend.experimental.codegen.protobuf.java", - "returned_by_rules": [], + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "NodeJSBinaries", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries" + ], "union_members": [], - "union_type": "GenerateSourcesRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.java.rules.GrpcJavaToolLockfileSentinel": { + "pants.backend.javascript.subsystems.nodejs.NodeJSBootstrap": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request" + "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": null, + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodeJSBootstrap(nodejs_search_paths: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.codegen.protobuf.java.rules", - "name": "GrpcJavaToolLockfileSentinel", - "provider": "pants.backend.codegen.protobuf.java.rules, pants.backend.experimental.codegen.protobuf.java", - "returned_by_rules": [], + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "NodeJSBootstrap", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap" + ], "union_members": [], - "union_type": "GenerateToolLockfileSentinel", - "used_in_rules": [ - "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin" - ] + "union_type": null, + "used_in_rules": [] }, - "pants.backend.codegen.protobuf.java.rules.ProtobufJavaGrpcPlugin": { + "pants.backend.javascript.subsystems.nodejs.NodeJSProcessEnvironment": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf" + "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", + "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process" ], "dependencies": [ "builtins", - "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.core", - "pants.engine.fs", - "pants.engine.platform" + "pants.backend.url_handlers.s3", + "pants.core" ], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": "ProtobufJavaGrpcPlugin(digest: 'Digest', path: 'str')", + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "NodeJSProcessEnvironment(binaries: 'NodeJSBinaries', npm_config_cache: 'str', tool_binaries: 'BinaryShims', corepack_home: 'str', corepack_shims: 'str', corepack_env_vars: 'EnvironmentVars')", "is_union": false, - "module": "pants.backend.codegen.protobuf.java.rules", - "name": "ProtobufJavaGrpcPlugin", - "provider": "pants.backend.experimental.codegen.protobuf.java", + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "NodeJSProcessEnvironment", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin" + "pants.backend.javascript.subsystems.nodejs.node_process_environment" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.java.subsystem.JavaProtobufGrpcSubsystem": { + "pants.backend.javascript.subsystems.nodejs.NodeJSToolProcess": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request" + "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.codegen.protobuf.java"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "A request for a tool installed with NodeJS.", "is_union": false, - "module": "pants.backend.codegen.protobuf.java.subsystem", - "name": "JavaProtobufGrpcSubsystem", - "provider": "pants.backend.experimental.codegen.protobuf.java", - "returned_by_rules": ["construct_scope_protobuf_java_grpc"], + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "NodeJSToolProcess", + "provider": "pants.backend.javascript.subsystems.nodejs", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + ] }, - "pants.backend.codegen.protobuf.lint.buf.format_rules.BufFormatRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.javascript.subsystems.nodejs.UserChosenNodeJSResolveAliases": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.lockfile.determine_package_json_user_resolves", + "pants.backend.javascript.nodejs_project.find_node_js_projects", + "pants.backend.javascript.resolve.resolve_to_projects" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" + ], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.lint.buf.format_rules", - "name": "BufFormatRequest", - "provider": "pants.backend.codegen.protobuf.lint.buf", - "returned_by_rules": [], + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "UserChosenNodeJSResolveAliases", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.subsystems.nodejs.user_chosen_resolve_aliases" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.lint.buf.lint_rules.BufLintRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.javascript.subsystems.nodejs._BinaryPathsPerVersion": { + "consumed_by_rules": [ + "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.lint.buf.lint_rules", - "name": "BufLintRequest", - "provider": "pants.backend.codegen.protobuf.lint.buf", - "returned_by_rules": [], + "module": "pants.backend.javascript.subsystems.nodejs", + "name": "_BinaryPathsPerVersion", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.lint.buf.skip_field.SkipBufFormatField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], + "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" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.lint.buf.skip_field", - "name": "SkipBufFormatField", - "provider": "pants.backend.codegen.protobuf.lint.buf", - "returned_by_rules": [], + "module": "pants.backend.javascript.subsystems.nodejs_infer", + "name": "NodeJSInfer", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "construct_scope_nodejs_infer" + ], "union_members": [], - "union_type": "PluginField", + "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.lint.buf.skip_field.SkipBufLintField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "pants.backend.javascript.subsystems.nodejs_tool.NodeJSToolRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.openapi.lint.spectral" + ], + "documentation": "NodeJSToolRequest(tool: 'str', resolve: 'str | None', args: 'tuple[str, ...]', input_digest: 'Digest', description: 'str', level: 'LogLevel', options_scope: 'str', output_files: 'tuple[str, ...]' = (), output_directories: 'tuple[str, ...]' = (), append_only_caches: 'FrozenDict[str, str]' = , timeout_seconds: 'int | None' = None, extra_env: 'Mapping[str, str]' = )", "is_union": false, - "module": "pants.backend.codegen.protobuf.lint.buf.skip_field", - "name": "SkipBufLintField", - "provider": "pants.backend.codegen.protobuf.lint.buf", + "module": "pants.backend.javascript.subsystems.nodejs_tool", + "name": "NodeJSToolRequest", + "provider": "pants.backend.javascript.subsystems.nodejs_tool", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.javascript.lint.prettier.rules.prettier_fmt", + "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition" + ] }, - "pants.backend.codegen.protobuf.lint.buf.subsystem.BufSubsystem": { + "pants.backend.javascript.subsystems.nodejstest.NodeJSTest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.lint.buf.format_rules.partition_buf", - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.partition_buf", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf" + "pants.backend.javascript.goals.test.collect_coverage_reports" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.javascript" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.codegen.protobuf.lint.buf"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.lint.buf.subsystem", - "name": "BufSubsystem", - "provider": "pants.backend.codegen.protobuf.lint.buf", - "returned_by_rules": ["construct_scope_buf"], + "module": "pants.backend.javascript.subsystems.nodejstest", + "name": "NodeJSTest", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "construct_scope_nodejs_test" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.protobuf_dependency_inference.InferProtobufDependencies": { + "pants.backend.kotlin.compile.kotlinc.CompileKotlinSourceRequest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies" + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + ], + "dependencies": [ + "pants.jvm.compile" + ], + "dependents": [ + "pants.backend.experimental.kotlin" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.codegen.protobuf.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.protobuf_dependency_inference", - "name": "InferProtobufDependencies", - "provider": "pants.backend.codegen.protobuf.python", + "module": "pants.backend.kotlin.compile.kotlinc", + "name": "CompileKotlinSourceRequest", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "ClasspathEntryRequest", "used_in_rules": [] }, - "pants.backend.codegen.protobuf.protobuf_dependency_inference.ProtobufMapping": { + "pants.backend.kotlin.compile.kotlinc_plugins.AllKotlincPluginTargets": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies" + "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.kotlin.compile.kotlinc_plugins", + "name": "AllKotlincPluginTargets", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "pants.backend.kotlin.compile.kotlinc_plugins.all_kotlinc_plugin_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.kotlin.compile.kotlinc_plugins.KotlincPluginTargetsForTarget": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.kotlin.compile.kotlinc_plugins", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "KotlincPluginTargetsForTarget(plugins: 'Targets', artifacts: 'Targets')", + "is_union": false, + "module": "pants.backend.kotlin.compile.kotlinc_plugins", + "name": "KotlincPluginTargetsForTarget", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + ] + }, + "pants.backend.kotlin.compile.kotlinc_plugins.KotlincPlugins": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.kotlin.compile.kotlinc_plugins", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.target" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.codegen.protobuf.python"], - "documentation": "A mapping of stripped .proto file names to their owning file address.", + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "KotlincPlugins(ids: 'tuple[str, ...]', classpath: 'ClasspathEntry', plugin_args: 'FrozenDict[str, tuple[str, ...]]')", "is_union": false, - "module": "pants.backend.codegen.protobuf.protobuf_dependency_inference", - "name": "ProtobufMapping", - "provider": "pants.backend.codegen.protobuf.python", + "module": "pants.backend.kotlin.compile.kotlinc_plugins", + "name": "KotlincPlugins", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [ - "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files" + "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + ] }, - "pants.backend.codegen.protobuf.protoc.Protoc": { + "pants.backend.kotlin.compile.kotlinc_plugins.KotlincPluginsForTargetRequest": { "consumed_by_rules": [ - "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", - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.tailor.find_putative_targets", - "pants.backend.codegen.protobuf.target_types.generator_settings" + "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target" + ], + "dependencies": [ + "pants.backend.experimental.java" ], - "dependencies": ["pants.option.scope"], "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala" + "pants.backend.experimental.kotlin" ], - "documentation": null, + "documentation": "KotlincPluginsForTargetRequest(target: 'Target', resolve_name: 'str')", "is_union": false, - "module": "pants.backend.codegen.protobuf.protoc", - "name": "Protoc", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": ["construct_scope_protoc"], + "module": "pants.backend.kotlin.compile.kotlinc_plugins", + "name": "KotlincPluginsForTargetRequest", + "provider": "pants.backend.experimental.kotlin, pants.backend.kotlin.compile.kotlinc_plugins", + "returned_by_rules": [ + "pants.backend.kotlin.compile.kotlinc_plugins.add_resolve_name_to_plugin_request" + ], "union_members": [], "union_type": null, - "used_in_rules": [] - }, - "pants.backend.codegen.protobuf.python.additional_fields.ProtobufPythonInterpreterConstraintsField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.codegen.protobuf.python.additional_fields", - "name": "ProtobufPythonInterpreterConstraintsField", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] - }, - "pants.backend.codegen.protobuf.python.additional_fields.ProtobufPythonResolveField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.codegen.protobuf.python.additional_fields", - "name": "ProtobufPythonResolveField", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + ] }, - "pants.backend.codegen.protobuf.python.additional_fields.PythonSourceRootField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "pants.backend.kotlin.compile.kotlinc_plugins.KotlincPluginsRequest": { + "consumed_by_rules": [ + "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "KotlincPluginsRequest(plugins: 'Targets', artifacts: 'Targets', resolve: 'CoursierResolveKey')", "is_union": false, - "module": "pants.backend.codegen.protobuf.python.additional_fields", - "name": "PythonSourceRootField", - "provider": "pants.backend.codegen.protobuf.python", + "module": "pants.backend.kotlin.compile.kotlinc_plugins", + "name": "KotlincPluginsRequest", + "provider": "pants.backend.kotlin.compile.kotlinc_plugins", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + ] }, - "pants.backend.codegen.protobuf.python.grpc_python_plugin.GrpcPythonPlugin": { + "pants.backend.kotlin.dependency_inference.kotlin_parser.FallibleKotlinSourceDependencyAnalysisResult": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf" + "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.codegen.protobuf.python"], - "documentation": null, + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "FallibleKotlinSourceDependencyAnalysisResult(process_result: 'FallibleProcessResult')", "is_union": false, - "module": "pants.backend.codegen.protobuf.python.grpc_python_plugin", - "name": "GrpcPythonPlugin", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": ["construct_scope_grpc_python_plugin"], + "module": "pants.backend.kotlin.dependency_inference.kotlin_parser", + "name": "FallibleKotlinSourceDependencyAnalysisResult", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.PythonProtobufMappingMarker": { + "pants.backend.kotlin.dependency_inference.kotlin_parser.KotlinParserCompiledClassfiles": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules" + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.kotlin" ], - "dependencies": ["pants.backend.python"], - "dependents": ["pants.backend.codegen.protobuf.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper", - "name": "PythonProtobufMappingMarker", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": [], + "module": "pants.backend.kotlin.dependency_inference.kotlin_parser", + "name": "KotlinParserCompiledClassfiles", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles" + ], "union_members": [], - "union_type": "FirstPartyPythonMappingImplMarker", + "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.InferPythonProtobufDependencies": { + "pants.backend.kotlin.dependency_inference.kotlin_parser.KotlinParserToolLockfileSentinel": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies" + "pants.backend.kotlin.dependency_inference.kotlin_parser.generate_kotlin_parser_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.kotlin" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.codegen.protobuf.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.python.python_protobuf_subsystem", - "name": "InferPythonProtobufDependencies", - "provider": "pants.backend.codegen.protobuf.python", + "module": "pants.backend.kotlin.dependency_inference.kotlin_parser", + "name": "KotlinParserToolLockfileSentinel", + "provider": "pants.backend.experimental.kotlin, pants.backend.kotlin.dependency_inference.kotlin_parser", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", + "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles" + ] }, - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.PythonProtobufMypyPlugin": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf" + "pants.backend.kotlin.dependency_inference.kotlin_parser.KotlinSourceDependencyAnalysis": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.fs", + "pants.option.global_options" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.codegen.protobuf.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.codegen.protobuf.python.python_protobuf_subsystem", - "name": "PythonProtobufMypyPlugin", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": ["construct_scope_mypy_protobuf"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.PythonProtobufSubsystem": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf" + "dependents": [ + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.debug_goals" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.codegen.protobuf.python"], - "documentation": null, + "documentation": "KotlinSourceDependencyAnalysis(package: 'str', imports: 'frozenset[KotlinImport]', named_declarations: 'frozenset[str]', consumed_symbols_by_scope: 'FrozenDict[str, frozenset[str]]', scopes: 'frozenset[str]')", "is_union": false, - "module": "pants.backend.codegen.protobuf.python.python_protobuf_subsystem", - "name": "PythonProtobufSubsystem", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": ["construct_scope_python_protobuf"], + "module": "pants.backend.kotlin.dependency_inference.kotlin_parser", + "name": "KotlinSourceDependencyAnalysis", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", + "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", + "pants.backend.kotlin.goals.debug_goals.dump_kotlin_source_analysis" + ] }, - "pants.backend.codegen.protobuf.python.rules.GeneratePythonFromProtobufRequest": { + "pants.backend.kotlin.dependency_inference.rules.InferKotlinRuntimeDependencyRequest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf" + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.kotlin" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.codegen.protobuf.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.python.rules", - "name": "GeneratePythonFromProtobufRequest", - "provider": "pants.backend.codegen.protobuf.python", + "module": "pants.backend.kotlin.dependency_inference.rules", + "name": "InferKotlinRuntimeDependencyRequest", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateSourcesRequest", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.codegen.protobuf.scala.dependency_inference.InferScalaPBRuntimeDependencyRequest": { + "pants.backend.kotlin.dependency_inference.rules.InferKotlinSourceDependencies": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency" + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.kotlin" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.dependency_inference", - "name": "InferScalaPBRuntimeDependencyRequest", - "provider": "pants.backend.experimental.codegen.protobuf.scala", + "module": "pants.backend.kotlin.dependency_inference.rules", + "name": "InferKotlinSourceDependencies", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [], "union_members": [], "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.codegen.protobuf.scala.dependency_inference.ScalaPBRuntimeForResolve": { + "pants.backend.kotlin.dependency_inference.rules.KotlinRuntimeForResolve": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.codegen.protobuf.scala.dependency_inference", "pants.backend.experimental.java", - "pants.backend.experimental.scala" + "pants.backend.kotlin.dependency_inference.rules" ], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], - "documentation": "ScalaPBRuntimeForResolve(addresses: 'frozenset[Address]')", + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "KotlinRuntimeForResolve(addresses: 'frozenset[Address]')", "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.dependency_inference", - "name": "ScalaPBRuntimeForResolve", - "provider": "pants.backend.experimental.codegen.protobuf.scala", + "module": "pants.backend.kotlin.dependency_inference.rules", + "name": "KotlinRuntimeForResolve", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [ - "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve" + "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency" + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency" ] }, - "pants.backend.codegen.protobuf.scala.dependency_inference.ScalaPBRuntimeForResolveRequest": { + "pants.backend.kotlin.dependency_inference.rules.KotlinRuntimeForResolveRequest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve" + "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve" ], "dependencies": [], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], - "documentation": "ScalaPBRuntimeForResolveRequest(resolve_name: 'str')", + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "KotlinRuntimeForResolveRequest(resolve_name: 'str')", "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.dependency_inference", - "name": "ScalaPBRuntimeForResolveRequest", - "provider": "pants.backend.codegen.protobuf.scala.dependency_inference", + "module": "pants.backend.kotlin.dependency_inference.rules", + "name": "KotlinRuntimeForResolveRequest", + "provider": "pants.backend.kotlin.dependency_inference.rules", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency" + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency" ] }, - "pants.backend.codegen.protobuf.scala.rules.GenerateScalaFromProtobufRequest": { + "pants.backend.kotlin.dependency_inference.symbol_mapper.AllKotlinTargets": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf" + "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.kotlin" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.rules", - "name": "GenerateScalaFromProtobufRequest", - "provider": "pants.backend.experimental.codegen.protobuf.scala", - "returned_by_rules": [], + "module": "pants.backend.kotlin.dependency_inference.symbol_mapper", + "name": "AllKotlinTargets", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "pants.backend.kotlin.dependency_inference.symbol_mapper.find_all_kotlin_targets" + ], "union_members": [], - "union_type": "GenerateSourcesRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.scala.rules.MaterializeJvmPluginRequest": { + "pants.backend.kotlin.dependency_inference.symbol_mapper.FirstPartyKotlinTargetsMappingRequest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin" + "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], - "documentation": "MaterializeJvmPluginRequest(plugin: 'PluginArtifactSpec')", + "dependencies": [ + "pants.jvm.dependency_inference.symbol_mapper" + ], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.rules", - "name": "MaterializeJvmPluginRequest", - "provider": "pants.backend.codegen.protobuf.scala.rules", + "module": "pants.backend.kotlin.dependency_inference.symbol_mapper", + "name": "FirstPartyKotlinTargetsMappingRequest", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins" - ] + "union_type": "FirstPartyMappingRequest", + "used_in_rules": [] }, - "pants.backend.codegen.protobuf.scala.rules.MaterializeJvmPluginsRequest": { + "pants.backend.kotlin.goals.check.KotlincCheckRequest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins" + "pants.backend.kotlin.goals.check.kotlinc_check" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], - "documentation": "MaterializeJvmPluginsRequest(plugins: 'tuple[PluginArtifactSpec, ...]')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.rules", - "name": "MaterializeJvmPluginsRequest", - "provider": "pants.backend.codegen.protobuf.scala.rules", + "module": "pants.backend.kotlin.goals.check", + "name": "KotlincCheckRequest", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf" - ] + "union_type": "CheckRequest", + "used_in_rules": [] }, - "pants.backend.codegen.protobuf.scala.rules.MaterializedJvmPlugin": { + "pants.backend.kotlin.goals.debug_goals.DumpKotlinSourceAnalysis": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.codegen.protobuf.scala.rules", - "pants.backend.experimental.java", - "pants.jvm.resolve.common" + "pants.backend.experimental.go", + "pants.backend.experimental.kotlin", + "pants.core", + "pants.engine.console" ], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], - "documentation": "MaterializedJvmPlugin(name: 'str', classpath: 'ToolClasspath')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.rules", - "name": "MaterializedJvmPlugin", - "provider": "pants.backend.experimental.codegen.protobuf.scala", + "module": "pants.backend.kotlin.goals.debug_goals", + "name": "DumpKotlinSourceAnalysis", + "provider": "pants.backend.experimental.kotlin.debug_goals", "returned_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin" + "pants.backend.kotlin.goals.debug_goals.dump_kotlin_source_analysis" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins" - ] + "used_in_rules": [] }, - "pants.backend.codegen.protobuf.scala.rules.MaterializedJvmPlugins": { + "pants.backend.kotlin.goals.debug_goals.DumpKotlinSourceAnalysisSubsystem": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.codegen.protobuf.scala.rules", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], - "documentation": "MaterializedJvmPlugins(digest: 'Digest', plugins: 'tuple[MaterializedJvmPlugin, ...]')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.rules", - "name": "MaterializedJvmPlugins", - "provider": "pants.backend.experimental.codegen.protobuf.scala", + "module": "pants.backend.kotlin.goals.debug_goals", + "name": "DumpKotlinSourceAnalysisSubsystem", + "provider": "pants.backend.experimental.kotlin.debug_goals", "returned_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins" + "construct_scope_kotlin_dump_source_analysis" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf" - ] + "used_in_rules": [] }, - "pants.backend.codegen.protobuf.scala.rules.ScalaPBShimCompiledClassfiles": { + "pants.backend.kotlin.goals.tailor.PutativeKotlinTargetsRequest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf" + "pants.backend.kotlin.goals.tailor.find_putative_targets" ], "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", "pants.core" ], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "PutativeKotlinTargetsRequest(dirs: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.rules", - "name": "ScalaPBShimCompiledClassfiles", - "provider": "pants.backend.experimental.codegen.protobuf.scala", - "returned_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles" + "module": "pants.backend.kotlin.goals.tailor", + "name": "PutativeKotlinTargetsRequest", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.kotlin.lint.ktlint.rules.KtlintRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.kotlin.lint.ktlint.rules", + "name": "KtlintRequest", + "provider": "pants.backend.experimental.kotlin.lint.ktlint", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.codegen.protobuf.scala.rules.ScalapbcToolLockfileSentinel": { + "pants.backend.kotlin.lint.ktlint.rules.KtlintToolLockfileSentinel": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request" + "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.kotlin.lint.ktlint" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.rules", - "name": "ScalapbcToolLockfileSentinel", - "provider": "pants.backend.codegen.protobuf.scala.rules, pants.backend.experimental.codegen.protobuf.scala", + "module": "pants.backend.kotlin.lint.ktlint.rules", + "name": "KtlintToolLockfileSentinel", + "provider": "pants.backend.experimental.kotlin.lint.ktlint, pants.backend.kotlin.lint.ktlint.rules", "returned_by_rules": [], "union_members": [], "union_type": "GenerateToolLockfileSentinel", "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles" + "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt" ] }, - "pants.backend.codegen.protobuf.scala.subsystem.ScalaPBSubsystem": { + "pants.backend.kotlin.lint.ktlint.skip_field.SkipKtlintField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.kotlin.lint.ktlint.skip_field", + "name": "SkipKtlintField", + "provider": "pants.backend.experimental.kotlin.lint.ktlint", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.kotlin.lint.ktlint.subsystem.KtlintSubsystem": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles" + "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request", + "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.kotlin.lint.ktlint" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.codegen.protobuf.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.scala.subsystem", - "name": "ScalaPBSubsystem", - "provider": "pants.backend.experimental.codegen.protobuf.scala", - "returned_by_rules": ["construct_scope_scalapb"], + "module": "pants.backend.kotlin.lint.ktlint.subsystem", + "name": "KtlintSubsystem", + "provider": "pants.backend.experimental.kotlin.lint.ktlint", + "returned_by_rules": [ + "construct_scope_ktlint" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.tailor.PutativeProtobufTargetsRequest": { + "pants.backend.kotlin.subsystems.kotlin.KotlinSubsystem": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.tailor.find_putative_targets" + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve", + "pants.backend.kotlin.goals.tailor.find_putative_targets", + "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.codegen.protobuf.python"], - "documentation": "PutativeProtobufTargetsRequest(dirs: 'tuple[str, ...]')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.tailor", - "name": "PutativeProtobufTargetsRequest", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": [], + "module": "pants.backend.kotlin.subsystems.kotlin", + "name": "KotlinSubsystem", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "construct_scope_kotlin" + ], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.target_types.AllProtobufTargets": { + "pants.backend.kotlin.subsystems.kotlin_infer.KotlinInferSubsystem": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", - "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files", - "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules" + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis" + ], + "dependencies": [ + "pants.option.scope" ], - "dependencies": ["pants.backend.experimental.go"], "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.experimental.codegen.protobuf.go" + "pants.backend.experimental.kotlin" ], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.target_types", - "name": "AllProtobufTargets", - "provider": "pants.backend.codegen.protobuf.python", + "module": "pants.backend.kotlin.subsystems.kotlin_infer", + "name": "KotlinInferSubsystem", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [ - "pants.backend.codegen.protobuf.target_types.find_all_protobuf_targets" + "construct_scope_kotlin_infer" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.protobuf.target_types.GeneratorSettingsRequest": { + "pants.backend.kotlin.subsystems.kotlinc.KotlincSubsystem": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.target_types.generator_settings" + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.kotlin" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.codegen.protobuf.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.protobuf.target_types", - "name": "GeneratorSettingsRequest", - "provider": "pants.backend.codegen.protobuf.python", - "returned_by_rules": [], + "module": "pants.backend.kotlin.subsystems.kotlinc", + "name": "KotlincSubsystem", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "construct_scope_kotlinc" + ], "union_members": [], - "union_type": "TargetFilesGeneratorSettingsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.codegen.thrift.apache.python.additional_fields.ThriftPythonResolveField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "pants.backend.kotlin.target_types.KotlinFieldSet": { + "consumed_by_rules": [ + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_KotlinFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "KotlinFieldSet(address: 'Address', jdk_version: 'JvmJdkField', main_class: 'JvmMainClassNameField', sources: 'KotlinSourceField')", "is_union": false, - "module": "pants.backend.codegen.thrift.apache.python.additional_fields", - "name": "ThriftPythonResolveField", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.kotlin.target_types", + "name": "KotlinFieldSet", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "RunFieldSet", "used_in_rules": [] }, - "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.PythonThriftMappingMarker": { + "pants.backend.kotlin.test.junit.InferKotlinJunitTestDependencyRequest": { "consumed_by_rules": [ - "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules" + "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.kotlin" ], - "dependencies": ["pants.backend.python"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper", - "name": "PythonThriftMappingMarker", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.kotlin.test.junit", + "name": "InferKotlinJunitTestDependencyRequest", + "provider": "pants.backend.experimental.kotlin", "returned_by_rules": [], "union_members": [], - "union_type": "FirstPartyPythonMappingImplMarker", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.codegen.thrift.apache.python.rules.GeneratePythonFromThriftRequest": { + "pants.backend.kotlin.test.junit.KotlinJunitLibrariesForResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.java", + "pants.backend.kotlin.test.junit" + ], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "KotlinJunitLibrariesForResolve(addresses: 'frozenset[Address]')", + "is_union": false, + "module": "pants.backend.kotlin.test.junit", + "name": "KotlinJunitLibrariesForResolve", + "provider": "pants.backend.experimental.kotlin", + "returned_by_rules": [ + "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency" + ] + }, + "pants.backend.kotlin.test.junit.KotlinJunitLibrariesForResolveRequest": { "consumed_by_rules": [ - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift" + "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.kotlin" + ], + "documentation": "KotlinJunitLibrariesForResolveRequest(resolve_name: 'str')", "is_union": false, - "module": "pants.backend.codegen.thrift.apache.python.rules", - "name": "GeneratePythonFromThriftRequest", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.kotlin.test.junit", + "name": "KotlinJunitLibrariesForResolveRequest", + "provider": "pants.backend.kotlin.test.junit", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateSourcesRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency" + ] }, - "pants.backend.codegen.thrift.apache.python.rules.InferApacheThriftPythonDependencies": { - "consumed_by_rules": [ - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement" + "pants.backend.openapi.codegen.java.extra_fields.OpenApiJavaApiPackageField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.thrift.apache.python.rules", - "name": "InferApacheThriftPythonDependencies", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.openapi.codegen.java.extra_fields", + "name": "OpenApiJavaApiPackageField", + "provider": "pants.backend.experimental.openapi.codegen.java", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.codegen.thrift.apache.python.subsystem.ThriftPythonSubsystem": { - "consumed_by_rules": [ - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift" + "pants.backend.openapi.codegen.java.extra_fields.OpenApiJavaModelPackageField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.thrift.apache.python.subsystem", - "name": "ThriftPythonSubsystem", - "provider": "pants.backend.codegen.thrift.apache.python", - "returned_by_rules": ["construct_scope_python_thrift"], + "module": "pants.backend.openapi.codegen.java.extra_fields", + "name": "OpenApiJavaModelPackageField", + "provider": "pants.backend.experimental.openapi.codegen.java", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.codegen.thrift.apache.rules.ApacheThriftSetup": { - "consumed_by_rules": [ - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources" - ], + "pants.backend.openapi.codegen.java.extra_fields.OpenApiJavaSkipField": { + "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.helm", - "pants.core", - "pants.engine.env_vars" + "pants.engine.target" ], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": "ApacheThriftSetup(path: 'str')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.codegen.thrift.apache.rules", - "name": "ApacheThriftSetup", - "provider": "pants.backend.codegen.thrift.apache.python", - "returned_by_rules": [ - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool" - ], + "module": "pants.backend.openapi.codegen.java.extra_fields", + "name": "OpenApiJavaSkipField", + "provider": "pants.backend.experimental.openapi.codegen.java", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.codegen.thrift.apache.rules.GenerateThriftSourcesRequest": { + "pants.backend.openapi.codegen.java.rules.CompileOpenApiIntoJavaRequest": { "consumed_by_rules": [ - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources" + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java" ], "dependencies": [], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": "GenerateThriftSourcesRequest(thrift_source_field: 'ThriftSourceField', lang_id: 'str', lang_options: 'tuple[str, ...]', lang_name: 'str')", + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" + ], + "documentation": "CompileOpenApiIntoJavaRequest(input_file: 'str', input_digest: 'Digest', description: 'str', api_package: 'str | None' = None, model_package: 'str | None' = None)", "is_union": false, - "module": "pants.backend.codegen.thrift.apache.rules", - "name": "GenerateThriftSourcesRequest", - "provider": "pants.backend.codegen.thrift.apache.rules", + "module": "pants.backend.openapi.codegen.java.rules", + "name": "CompileOpenApiIntoJavaRequest", + "provider": "pants.backend.openapi.codegen.java.rules", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift" + "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies" ] }, - "pants.backend.codegen.thrift.apache.rules.GeneratedThriftSources": { + "pants.backend.openapi.codegen.java.rules.CompiledJavaFromOpenApi": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.codegen.thrift.apache.rules", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.openapi.codegen.java.rules", + "pants.backend.url_handlers.s3", "pants.core" ], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": "GeneratedThriftSources(snapshot: 'Snapshot')", + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" + ], + "documentation": "CompiledJavaFromOpenApi(output_digest: 'Digest', runtime_dependencies: 'tuple[Coordinate, ...]')", "is_union": false, - "module": "pants.backend.codegen.thrift.apache.rules", - "name": "GeneratedThriftSources", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.openapi.codegen.java.rules", + "name": "CompiledJavaFromOpenApi", + "provider": "pants.backend.experimental.openapi.codegen.java", "returned_by_rules": [ - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources" + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift" + "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies" ] }, - "pants.backend.codegen.thrift.apache.subsystem.ApacheThriftSubsystem": { + "pants.backend.openapi.codegen.java.rules.GenerateJavaFromOpenAPIRequest": { "consumed_by_rules": [ - "construct_env_aware_scope_apache_thrift", - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool" + "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.thrift.apache.subsystem", - "name": "ApacheThriftSubsystem", - "provider": "pants.backend.codegen.thrift.apache.python", - "returned_by_rules": ["construct_scope_apache_thrift"], + "module": "pants.backend.openapi.codegen.java.rules", + "name": "GenerateJavaFromOpenAPIRequest", + "provider": "pants.backend.experimental.openapi.codegen.java", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "GenerateSourcesRequest", "used_in_rules": [] }, - "pants.backend.codegen.thrift.dependency_inference.InferThriftDependencies": { + "pants.backend.openapi.codegen.java.rules.InferOpenApiJavaRuntimeDependencyRequest": { "consumed_by_rules": [ - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies" + "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.thrift.dependency_inference", - "name": "InferThriftDependencies", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.openapi.codegen.java.rules", + "name": "InferOpenApiJavaRuntimeDependencyRequest", + "provider": "pants.backend.experimental.openapi.codegen.java", "returned_by_rules": [], "union_members": [], "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.codegen.thrift.dependency_inference.ThriftMapping": { + "pants.backend.openapi.dependency_inference.InferOpenApiDocumentDependenciesRequest": { "consumed_by_rules": [ - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies" + "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": "A mapping of stripped .thrift file names to their owning file address.", - "is_union": false, - "module": "pants.backend.codegen.thrift.dependency_inference", - "name": "ThriftMapping", - "provider": "pants.backend.codegen.thrift.apache.python", - "returned_by_rules": [ - "pants.backend.codegen.thrift.dependency_inference.map_thrift_files" + "dependencies": [ + "pants.engine.target" ], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.codegen.thrift.subsystem.ThriftSubsystem": { - "consumed_by_rules": [ - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", - "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", - "pants.backend.codegen.thrift.target_types.generator_settings" + "dependents": [ + "pants.backend.experimental.openapi" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.thrift.subsystem", - "name": "ThriftSubsystem", - "provider": "pants.backend.codegen.thrift.apache.python", - "returned_by_rules": ["construct_scope_thrift"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.codegen.thrift.tailor.PutativeThriftTargetsRequest": { - "consumed_by_rules": [ - "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets" - ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": "PutativeThriftTargetsRequest(dirs: 'tuple[str, ...]')", - "is_union": false, - "module": "pants.backend.codegen.thrift.tailor", - "name": "PutativeThriftTargetsRequest", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.openapi.dependency_inference", + "name": "InferOpenApiDocumentDependenciesRequest", + "provider": "pants.backend.experimental.openapi", "returned_by_rules": [], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.codegen.thrift.target_types.AllThriftTargets": { + "pants.backend.openapi.dependency_inference.InferOpenApiSourceDependenciesRequest": { "consumed_by_rules": [ - "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", - "pants.backend.codegen.thrift.dependency_inference.map_thrift_files" + "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.codegen.thrift.target_types", - "name": "AllThriftTargets", - "provider": "pants.backend.codegen.thrift.apache.python", - "returned_by_rules": [ - "pants.backend.codegen.thrift.target_types.find_all_thrift_targets" + "dependencies": [ + "pants.engine.target" ], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.codegen.thrift.target_types.GeneratorSettingsRequest": { - "consumed_by_rules": [ - "pants.backend.codegen.thrift.target_types.generator_settings" + "dependents": [ + "pants.backend.experimental.openapi" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.codegen.thrift.apache.python"], "documentation": null, "is_union": false, - "module": "pants.backend.codegen.thrift.target_types", - "name": "GeneratorSettingsRequest", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.openapi.dependency_inference", + "name": "InferOpenApiSourceDependenciesRequest", + "provider": "pants.backend.experimental.openapi", "returned_by_rules": [], "union_members": [], - "union_type": "TargetFilesGeneratorSettingsRequest", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.codegen.thrift.thrift_parser.ParsedThrift": { + "pants.backend.openapi.dependency_inference.OpenApiDependencies": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.codegen.thrift.thrift_parser", - "pants.backend.experimental.go", + "pants.backend.openapi.dependency_inference", "pants.engine.fs" ], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": "ParsedThrift(imports: 'FrozenOrderedSet[str]', namespaces: 'FrozenDict[str, str]')", + "dependents": [ + "pants.backend.experimental.openapi" + ], + "documentation": "OpenApiDependencies(dependencies: 'FrozenDict[str, frozenset[str]]')", "is_union": false, - "module": "pants.backend.codegen.thrift.thrift_parser", - "name": "ParsedThrift", - "provider": "pants.backend.codegen.thrift.apache.python", + "module": "pants.backend.openapi.dependency_inference", + "name": "OpenApiDependencies", + "provider": "pants.backend.experimental.openapi", "returned_by_rules": [ - "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file" + "pants.backend.openapi.dependency_inference.parse_openapi_sources" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies" + "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", + "pants.backend.openapi.goals.tailor.find_putative_targets" ] }, - "pants.backend.codegen.thrift.thrift_parser.ParsedThriftRequest": { + "pants.backend.openapi.dependency_inference.ParseOpenApiSources": { "consumed_by_rules": [ - "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file" + "pants.backend.openapi.dependency_inference.parse_openapi_sources" ], "dependencies": [], - "dependents": ["pants.backend.codegen.thrift.apache.python"], - "documentation": "ParsedThriftRequest(sources_field: 'ThriftSourceField')", + "dependents": [ + "pants.backend.experimental.openapi" + ], + "documentation": "ParseOpenApiSources(sources_digest: 'Digest', paths: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.codegen.thrift.thrift_parser", - "name": "ParsedThriftRequest", - "provider": "pants.backend.codegen.thrift.thrift_parser", + "module": "pants.backend.openapi.dependency_inference", + "name": "ParseOpenApiSources", + "provider": "pants.backend.openapi.dependency_inference", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies" + "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", + "pants.backend.openapi.goals.tailor.find_putative_targets" ] }, - "pants.backend.docker.goals.package_image.DockerPackageFieldSet": { + "pants.backend.openapi.goals.tailor.PutativeOpenApiTargetsRequest": { "consumed_by_rules": [ - "pants.backend.docker.goals.package_image.build_docker_image" + "pants.backend.openapi.goals.tailor.find_putative_targets" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.docker"], - "documentation": "DockerPackageFieldSet(address: 'Address', context_root: 'DockerImageContextRootField', registries: 'DockerImageRegistriesField', repository: 'DockerImageRepositoryField', source: 'DockerImageSourceField', tags: 'DockerImageTagsField', target_stage: 'DockerImageTargetStageField', output_path: 'OutputPathField')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.openapi" + ], + "documentation": "PutativeOpenApiTargetsRequest(dirs: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.docker.goals.package_image", - "name": "DockerPackageFieldSet", - "provider": "pants.backend.docker", + "module": "pants.backend.openapi.goals.tailor", + "name": "PutativeOpenApiTargetsRequest", + "provider": "pants.backend.experimental.openapi", "returned_by_rules": [], "union_members": [], - "union_type": "PackageFieldSet", + "union_type": "PutativeTargetsRequest", "used_in_rules": [] }, - "pants.backend.docker.goals.publish.PublishDockerImageFieldSet": { + "pants.backend.openapi.lint.openapi_format.rules.OpenApiFormatRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.core" + ], "dependents": [], - "documentation": "PublishDockerImageFieldSet(address: 'Address', registries: 'DockerImageRegistriesField', skip_push: 'DockerImageSkipPushField')", + "documentation": null, "is_union": false, - "module": "pants.backend.docker.goals.publish", - "name": "PublishDockerImageFieldSet", - "provider": "pants.backend.docker", + "module": "pants.backend.openapi.lint.openapi_format.rules", + "name": "OpenApiFormatRequest", + "provider": "pants.backend.experimental.openapi.lint.openapi_format", "returned_by_rules": [], "union_members": [], - "union_type": "PublishFieldSet", + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.docker.goals.publish.PublishDockerImageRequest": { - "consumed_by_rules": [ - "pants.backend.docker.goals.publish.push_docker_images" + "pants.backend.openapi.lint.openapi_format.skip_field.SkipOpenApiFormatField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.docker"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.docker.goals.publish", - "name": "PublishDockerImageRequest", - "provider": "pants.backend.docker", + "module": "pants.backend.openapi.lint.openapi_format.skip_field", + "name": "SkipOpenApiFormatField", + "provider": "pants.backend.experimental.openapi.lint.openapi_format", "returned_by_rules": [], "union_members": [], - "union_type": "PublishRequest", + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.docker.goals.run_image.DockerRunFieldSet": { + "pants.backend.openapi.lint.openapi_format.subsystem.OpenApiFormatSubsystem": { "consumed_by_rules": [ - "pants.backend.docker.goals.run_image.docker_image_run_request", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DockerRunFieldSet" + "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", + "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.docker"], - "documentation": "DockerRunFieldSet(address: 'Address')", - "is_union": false, - "module": "pants.backend.docker.goals.run_image", - "name": "DockerRunFieldSet", - "provider": "pants.backend.docker", - "returned_by_rules": [], - "union_members": [], - "union_type": "RunFieldSet", - "used_in_rules": [] - }, - "pants.backend.docker.goals.tailor.PutativeDockerTargetsRequest": { - "consumed_by_rules": [ - "pants.backend.docker.goals.tailor.find_putative_targets" + "dependencies": [ + "pants.option.scope" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.docker"], - "documentation": "PutativeDockerTargetsRequest(dirs: 'tuple[str, ...]')", + "dependents": [ + "pants.backend.experimental.openapi.lint.openapi_format" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.docker.goals.tailor", - "name": "PutativeDockerTargetsRequest", - "provider": "pants.backend.docker", - "returned_by_rules": [], + "module": "pants.backend.openapi.lint.openapi_format.subsystem", + "name": "OpenApiFormatSubsystem", + "provider": "pants.backend.experimental.openapi.lint.openapi_format", + "returned_by_rules": [ + "construct_scope_openapi_format" + ], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.docker.lint.hadolint.rules.HadolintRequest": { + "pants.backend.openapi.lint.spectral.rules.SpectralRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.docker.lint.hadolint.rules", - "name": "HadolintRequest", - "provider": "pants.backend.docker.lint.hadolint", + "module": "pants.backend.openapi.lint.spectral.rules", + "name": "SpectralRequest", + "provider": "pants.backend.experimental.openapi.lint.spectral", "returned_by_rules": [], "union_members": [], "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.docker.lint.hadolint.skip_field.SkipHadolintField": { + "pants.backend.openapi.lint.spectral.skip_field.SkipSpectralField": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.engine.target" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.docker.lint.hadolint.skip_field", - "name": "SkipHadolintField", - "provider": "pants.backend.docker.lint.hadolint", + "module": "pants.backend.openapi.lint.spectral.skip_field", + "name": "SkipSpectralField", + "provider": "pants.backend.experimental.openapi.lint.spectral", "returned_by_rules": [], "union_members": [], "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.docker.lint.hadolint.subsystem.Hadolint": { + "pants.backend.openapi.lint.spectral.subsystem.SpectralSubsystem": { "consumed_by_rules": [ - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_HadolintRequest" + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_SpectralRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.openapi.lint.spectral" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.docker.lint.hadolint"], "documentation": null, "is_union": false, - "module": "pants.backend.docker.lint.hadolint.subsystem", - "name": "Hadolint", - "provider": "pants.backend.docker.lint.hadolint", - "returned_by_rules": ["construct_scope_hadolint"], + "module": "pants.backend.openapi.lint.spectral.subsystem", + "name": "SpectralSubsystem", + "provider": "pants.backend.experimental.openapi.lint.spectral", + "returned_by_rules": [ + "construct_scope_spectral" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.docker.subsystems.docker_options.DockerOptions": { + "pants.backend.openapi.subsystems.openapi.OpenApiSubsystem": { "consumed_by_rules": [ - "construct_env_aware_scope_docker", - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.docker.goals.publish.push_docker_images", - "pants.backend.docker.goals.run_image.docker_image_run_request", - "pants.backend.docker.goals.tailor.find_putative_targets", - "pants.backend.docker.util_rules.docker_binary.get_docker", - "pants.backend.docker.util_rules.docker_build_args.docker_build_args", - "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + "pants.backend.openapi.goals.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.openapi" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.docker", "pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.docker.subsystems.docker_options", - "name": "DockerOptions", - "provider": "pants.backend.docker", - "returned_by_rules": ["construct_scope_docker"], + "module": "pants.backend.openapi.subsystems.openapi", + "name": "OpenApiSubsystem", + "provider": "pants.backend.experimental.openapi", + "returned_by_rules": [ + "construct_scope_openapi" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.docker.subsystems.docker_options.EnvironmentAware": { + "pants.backend.openapi.subsystems.openapi_generator.OpenAPIGenerator": { "consumed_by_rules": [ - "pants.backend.docker.goals.publish.push_docker_images", - "pants.backend.docker.goals.run_image.docker_image_run_request", - "pants.backend.docker.util_rules.docker_binary.get_docker", - "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" + "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies", + "pants.backend.openapi.subsystems.openapi_generator.generate_openapi_generator_lockfile_request", + "pants.backend.openapi.util_rules.generator_process.openapi_generator_process" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" ], - "dependencies": ["pants.core", "pants.engine.env_vars"], - "dependents": ["pants.backend.docker"], "documentation": null, "is_union": false, - "module": "pants.backend.docker.subsystems.docker_options", - "name": "EnvironmentAware", - "provider": "pants.backend.docker", - "returned_by_rules": ["construct_env_aware_scope_docker"], + "module": "pants.backend.openapi.subsystems.openapi_generator", + "name": "OpenAPIGenerator", + "provider": "pants.backend.experimental.openapi.codegen.java", + "returned_by_rules": [ + "construct_scope_openapi_generator" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.docker.subsystems.dockerfile_parser.DockerfileInfo": { - "consumed_by_rules": [], + "pants.backend.openapi.subsystems.openapi_generator.OpenAPIGeneratorLockfileSentinel": { + "consumed_by_rules": [ + "pants.backend.openapi.subsystems.openapi_generator.generate_openapi_generator_lockfile_request" + ], "dependencies": [ - "pants.backend.experimental.go", - "pants.backend.experimental.helm" + "pants.core" ], "dependents": [ - "pants.backend.docker", - "pants.backend.docker.lint.hadolint" + "pants.backend.experimental.openapi.codegen.java" ], - "documentation": "DockerfileInfo(address: 'Address', digest: 'Digest', source: 'str', build_args: 'DockerBuildArgs' = DockerBuildArgs(), copy_source_paths: 'tuple[str, ...]' = (), from_image_build_args: 'DockerBuildArgs' = DockerBuildArgs(), version_tags: 'tuple[str, ...]' = ())", + "documentation": null, "is_union": false, - "module": "pants.backend.docker.subsystems.dockerfile_parser", - "name": "DockerfileInfo", - "provider": "pants.backend.docker", - "returned_by_rules": [ - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile" - ], + "module": "pants.backend.openapi.subsystems.openapi_generator", + "name": "OpenAPIGeneratorLockfileSentinel", + "provider": "pants.backend.experimental.openapi.codegen.java, pants.backend.openapi.subsystems.openapi_generator", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "GenerateToolLockfileSentinel", "used_in_rules": [ - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + "pants.backend.openapi.util_rules.generator_process.openapi_generator_process" ] }, - "pants.backend.docker.subsystems.dockerfile_parser.DockerfileInfoRequest": { + "pants.backend.openapi.util_rules.generator_process.OpenAPIGeneratorProcess": { "consumed_by_rules": [ - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile" + "pants.backend.openapi.util_rules.generator_process.openapi_generator_process" ], "dependencies": [], - "dependents": ["pants.backend.docker"], - "documentation": "DockerfileInfoRequest(address: 'Address')", + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" + ], + "documentation": "OpenAPIGeneratorProcess(*, generator_type: 'OpenAPIGeneratorType', argv: 'Iterable[str]', input_digest: 'Digest', description: 'str', level: 'LogLevel' = , output_directories: 'Iterable[str] | None' = None, output_files: 'Iterable[str] | None' = None, extra_env: 'Mapping[str, str] | None' = None, extra_classpath_entries: 'Iterable[str] | None' = None, extra_immutable_input_digests: 'Mapping[str, Digest] | None' = None, extra_jvm_options: 'Iterable[str] | None' = None, cache_scope: 'ProcessCacheScope | None' = None)", "is_union": false, - "module": "pants.backend.docker.subsystems.dockerfile_parser", - "name": "DockerfileInfoRequest", - "provider": "pants.backend.docker", + "module": "pants.backend.openapi.util_rules.generator_process", + "name": "OpenAPIGeneratorProcess", + "provider": "pants.backend.openapi.util_rules.generator_process", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java" ] }, - "pants.backend.docker.subsystems.dockerfile_parser.DockerfileParseRequest": { + "pants.backend.openapi.util_rules.pom_parser.AnalysePomRequest": { "consumed_by_rules": [ - "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile" + "pants.backend.openapi.util_rules.pom_parser.analyse_pom" ], "dependencies": [], - "dependents": ["pants.backend.docker"], - "documentation": "DockerfileParseRequest(sources_digest: 'Digest', args: 'tuple[str, ...]')", + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" + ], + "documentation": "AnalysePomRequest(pom_digest: 'Digest')", "is_union": false, - "module": "pants.backend.docker.subsystems.dockerfile_parser", - "name": "DockerfileParseRequest", - "provider": "pants.backend.docker", + "module": "pants.backend.openapi.util_rules.pom_parser", + "name": "AnalysePomRequest", + "provider": "pants.backend.openapi.util_rules.pom_parser", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile" + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java" ] }, - "pants.backend.docker.subsystems.dockerfile_parser.DockerfileParser": { - "consumed_by_rules": [ - "pants.backend.docker.subsystems.dockerfile_parser.setup_parser" + "pants.backend.openapi.util_rules.pom_parser.PomReport": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.openapi.util_rules.pom_parser", + "pants.engine.fs" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.docker"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" + ], + "documentation": "PomReport(dependencies: 'tuple[Coordinate, ...]')", "is_union": false, - "module": "pants.backend.docker.subsystems.dockerfile_parser", - "name": "DockerfileParser", - "provider": "pants.backend.docker", - "returned_by_rules": ["construct_scope_dockerfile_parser"], + "module": "pants.backend.openapi.util_rules.pom_parser", + "name": "PomReport", + "provider": "pants.backend.experimental.openapi.codegen.java", + "returned_by_rules": [ + "pants.backend.openapi.util_rules.pom_parser.analyse_pom" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java" + ] }, - "pants.backend.docker.subsystems.dockerfile_parser.ParserSetup": { + "pants.backend.plugin_development.pants_requirements.GenerateFromPantsRequirementsRequest": { "consumed_by_rules": [ - "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile" + "pants.backend.plugin_development.pants_requirements.generate_from_pants_requirements" + ], + "dependencies": [ + "pants.engine.target" ], + "dependents": [ + "pants.backend.plugin_development" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.plugin_development.pants_requirements", + "name": "GenerateFromPantsRequirementsRequest", + "provider": "pants.backend.plugin_development", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.project_info.count_loc.CountLinesOfCode": { + "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.python", - "pants.core" + "pants.backend.experimental.javascript", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.console", + "pants.engine.fs" ], - "dependents": ["pants.backend.docker"], - "documentation": "ParserSetup(pex: 'VenvPex')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.docker.subsystems.dockerfile_parser", - "name": "ParserSetup", - "provider": "pants.backend.docker", + "module": "pants.backend.project_info.count_loc", + "name": "CountLinesOfCode", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.docker.subsystems.dockerfile_parser.setup_parser" + "pants.backend.project_info.count_loc.count_loc" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.docker.target_types.AllDockerImageTargets": { - "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + "pants.backend.project_info.count_loc.CountLinesOfCodeSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.helm"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.docker.target_types", - "name": "AllDockerImageTargets", - "provider": "pants.backend.docker", + "module": "pants.backend.project_info.count_loc", + "name": "CountLinesOfCodeSubsystem", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.docker.target_types.all_docker_targets" + "construct_scope_count_loc" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.docker.target_types.DockerImageTagsRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "A request to provide additional image tags.", - "is_union": true, - "module": "pants.backend.docker.target_types", - "name": "DockerImageTagsRequest", - "provider": "pants.backend.docker", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" - ] - }, - "pants.backend.docker.util_rules.dependencies.InferDockerDependencies": { + "pants.backend.project_info.count_loc.SuccinctCodeCounter": { "consumed_by_rules": [ - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies" + "pants.backend.project_info.count_loc.count_loc" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.docker"], - "documentation": null, - "is_union": false, - "module": "pants.backend.docker.util_rules.dependencies", - "name": "InferDockerDependencies", - "provider": "pants.backend.docker", - "returned_by_rules": [], - "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] - }, - "pants.backend.docker.util_rules.docker_binary.DockerBinary": { - "consumed_by_rules": [ - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.docker.goals.publish.push_docker_images", - "pants.backend.docker.goals.run_image.docker_image_run_request" + "dependencies": [ + "pants.option.scope" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.docker"], - "documentation": "The `docker` binary.", + "dependents": [ + "pants.backend.project_info" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.docker.util_rules.docker_binary", - "name": "DockerBinary", - "provider": "pants.backend.docker", + "module": "pants.backend.project_info.count_loc", + "name": "SuccinctCodeCounter", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.docker.util_rules.docker_binary.get_docker" + "construct_scope_scc" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.docker.util_rules.docker_build_args.DockerBuildArgs": { + "pants.backend.project_info.dependencies.Dependencies": { "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.docker"], + "dependencies": [ + "pants.backend.experimental.go", + "pants.core", + "pants.engine.addresses", + "pants.engine.console", + "pants.engine.target" + ], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.docker.util_rules.docker_build_args", - "name": "DockerBuildArgs", - "provider": "pants.backend.docker", + "module": "pants.backend.project_info.dependencies", + "name": "Dependencies", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.docker.util_rules.docker_build_args.docker_build_args" + "pants.backend.project_info.dependencies.dependencies" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" - ] + "used_in_rules": [] }, - "pants.backend.docker.util_rules.docker_build_args.DockerBuildArgsRequest": { + "pants.backend.project_info.dependencies.DependenciesSubsystem": { "consumed_by_rules": [ - "pants.backend.docker.util_rules.docker_build_args.docker_build_args" + "pants.backend.project_info.dependencies.dependencies" ], - "dependencies": [], - "dependents": ["pants.backend.docker"], - "documentation": "DockerBuildArgsRequest(target: 'Target')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.project_info" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.docker.util_rules.docker_build_args", - "name": "DockerBuildArgsRequest", - "provider": "pants.backend.docker", - "returned_by_rules": [], + "module": "pants.backend.project_info.dependencies", + "name": "DependenciesSubsystem", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "construct_scope_dependencies" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" - ] + "used_in_rules": [] }, - "pants.backend.docker.util_rules.docker_build_context.DockerBuildContext": { - "consumed_by_rules": [], + "pants.backend.project_info.dependents.AddressToDependents": { + "consumed_by_rules": [ + "pants.backend.project_info.dependents.find_dependents" + ], "dependencies": [ - "builtins", - "pants.backend.awslambda.python", "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.google_cloud_function.python", - "pants.backend.python", - "pants.core", "pants.engine.addresses" ], - "dependents": ["pants.backend.docker", "pants.backend.experimental.helm"], - "documentation": "DockerBuildContext(build_args: 'DockerBuildArgs', digest: 'Digest', build_env: 'DockerBuildEnvironment', upstream_image_ids: 'tuple[str, ...]', dockerfile: 'str', interpolation_context: 'InterpolationContext', copy_source_vs_context_source: 'tuple[tuple[str, str], ...]', stages: 'tuple[str, ...]')", + "dependents": [ + "pants.backend.project_info" + ], + "documentation": "AddressToDependents(mapping: pants.util.frozendict.FrozenDict[Address, pants.util.ordered_set.FrozenOrderedSet[Address]])", "is_union": false, - "module": "pants.backend.docker.util_rules.docker_build_context", - "name": "DockerBuildContext", - "provider": "pants.backend.docker", + "module": "pants.backend.project_info.dependents", + "name": "AddressToDependents", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + "pants.backend.project_info.dependents.map_addresses_to_dependents" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" - ] + "used_in_rules": [] }, - "pants.backend.docker.util_rules.docker_build_context.DockerBuildContextRequest": { - "consumed_by_rules": [ - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" - ], + "pants.backend.project_info.dependents.Dependents": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.docker"], - "documentation": "DockerBuildContextRequest(address: 'Address', build_upstream_images: 'bool' = False)", + "dependents": [ + "pants.backend.project_info", + "pants.backend.python.mixed_interpreter_constraints" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.docker.util_rules.docker_build_context", - "name": "DockerBuildContextRequest", - "provider": "pants.backend.docker", - "returned_by_rules": [], + "module": "pants.backend.project_info.dependents", + "name": "Dependents", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "pants.backend.project_info.dependents.find_dependents" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + "pants.backend.project_info.dependents.dependents_goal", + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" ] }, - "pants.backend.docker.util_rules.docker_build_context.GenerateDockerContextFiles": { - "consumed_by_rules": [ - "pants.backend.docker.util_rules.docker_build_context.hydrate_input_sources" - ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.docker"], - "documentation": "This translates all files from acceptable Source fields for the docker context using the\n`codegen` machinery.", - "is_union": false, - "module": "pants.backend.docker.util_rules.docker_build_context", - "name": "GenerateDockerContextFiles", - "provider": "pants.backend.docker", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateSourcesRequest", - "used_in_rules": [] - }, - "pants.backend.docker.util_rules.docker_build_env.DockerBuildEnvironment": { + "pants.backend.project_info.dependents.DependentsGoal": { "consumed_by_rules": [], - "dependencies": ["pants.engine.env_vars"], - "dependents": ["pants.backend.docker"], - "documentation": "DockerBuildEnvironment(environment: 'EnvironmentVars')", + "dependencies": [ + "pants.backend.experimental.go", + "pants.engine.addresses", + "pants.engine.console" + ], + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.docker.util_rules.docker_build_env", - "name": "DockerBuildEnvironment", - "provider": "pants.backend.docker", + "module": "pants.backend.project_info.dependents", + "name": "DependentsGoal", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" + "pants.backend.project_info.dependents.dependents_goal" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" - ] + "used_in_rules": [] }, - "pants.backend.docker.util_rules.docker_build_env.DockerBuildEnvironmentRequest": { + "pants.backend.project_info.dependents.DependentsRequest": { "consumed_by_rules": [ - "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars" + "pants.backend.project_info.dependents.find_dependents" ], "dependencies": [], - "dependents": ["pants.backend.docker"], - "documentation": "DockerBuildEnvironmentRequest(target: 'Target')", + "dependents": [ + "pants.backend.project_info" + ], + "documentation": "DependentsRequest(addresses: Iterable[Address], *, transitive: bool, include_roots: bool)", "is_union": false, - "module": "pants.backend.docker.util_rules.docker_build_env", - "name": "DockerBuildEnvironmentRequest", - "provider": "pants.backend.docker", + "module": "pants.backend.project_info.dependents", + "name": "DependentsRequest", + "provider": "pants.backend.project_info", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context" + "pants.backend.project_info.dependents.dependents_goal", + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" ] }, - "pants.backend.docker.util_rules.dockerfile.GenerateDockerfileRequest": { + "pants.backend.project_info.dependents.DependentsSubsystem": { "consumed_by_rules": [ - "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile" + "pants.backend.project_info.dependents.dependents_goal" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.project_info" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.docker"], "documentation": null, "is_union": false, - "module": "pants.backend.docker.util_rules.dockerfile", - "name": "GenerateDockerfileRequest", - "provider": "pants.backend.docker", - "returned_by_rules": [], + "module": "pants.backend.project_info.dependents", + "name": "DependentsSubsystem", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "construct_scope_dependents" + ], "union_members": [], - "union_type": "GenerateSourcesRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.go.dependency_inference.AllGoModuleImportPathsMappings": { - "consumed_by_rules": [ - "pants.backend.go.target_type_rules.map_import_paths_to_packages" - ], + "pants.backend.project_info.filedeps.Filedeps": { + "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.engine.unions" + "pants.backend.experimental.go", + "pants.base.build_root", + "pants.build_graph.address", + "pants.engine.addresses", + "pants.engine.console", + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.go"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.go.dependency_inference", - "name": "AllGoModuleImportPathsMappings", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.project_info.filedeps", + "name": "Filedeps", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.go.target_type_rules.go_merge_import_paths_analysis" + "pants.backend.project_info.filedeps.file_deps" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.dependency_inference.GoModuleImportPathsMapping": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.go.target_type_rules"], + "pants.backend.project_info.filedeps.FiledepsSubsystem": { + "consumed_by_rules": [ + "pants.backend.project_info.filedeps.file_deps" + ], + "dependencies": [ + "pants.option.scope" + ], "dependents": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go" + "pants.backend.project_info" ], - "documentation": "Maps import paths (as strings) to one or more addresses of targets providing those import\npath(s) for a single Go module.", + "documentation": null, "is_union": false, - "module": "pants.backend.go.dependency_inference", - "name": "GoModuleImportPathsMapping", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.project_info.filedeps", + "name": "FiledepsSubsystem", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.go.target_type_rules.map_import_paths_to_packages" + "construct_scope_filedeps" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" - ] + "used_in_rules": [] }, - "pants.backend.go.dependency_inference.GoModuleImportPathsMappings": { + "pants.backend.project_info.filter_targets.FilterGoal": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.codegen.protobuf.python", - "pants.engine.fs" + "pants.backend.experimental.go", + "pants.engine.addresses", + "pants.engine.console" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Import path mappings for all Go modules in the repository.\n\nThis type is requested from plugins which provide implementations for the GoCodegenBuildRequest\nunion and then merged.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.dependency_inference", - "name": "GoModuleImportPathsMappings", - "provider": "pants.backend.experimental.codegen.protobuf.go, pants.backend.experimental.go", + "module": "pants.backend.project_info.filter_targets", + "name": "FilterGoal", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", - "pants.backend.go.target_type_rules.go_map_import_paths_by_module" + "pants.backend.project_info.filter_targets.filter_targets" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.target_type_rules.go_merge_import_paths_analysis" - ] + "used_in_rules": [] }, - "pants.backend.go.dependency_inference.GoModuleImportPathsMappingsHook": { - "consumed_by_rules": [], - "dependencies": [], + "pants.backend.project_info.filter_targets.FilterSubsystem": { + "consumed_by_rules": [ + "pants.backend.project_info.filter_targets.filter_targets" + ], + "dependencies": [ + "pants.option.scope" + ], "dependents": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go" + "pants.backend.project_info" ], - "documentation": "An entry point for a specific implementation of mapping Go import paths to owning targets.\n\nAll implementations will be merged together. The core Go dependency inference rules will request\nthe `GoModuleImportPathsMappings` type using implementations of this union.", - "is_union": true, - "module": "pants.backend.go.dependency_inference", - "name": "GoModuleImportPathsMappingsHook", - "provider": "pants.backend.go.dependency_inference", - "returned_by_rules": [], - "union_members": [ - "FirstPartyGoModuleImportPathsMappingsHook", - "ProtobufGoModuleImportPathsMappingsHook" + "documentation": null, + "is_union": false, + "module": "pants.backend.project_info.filter_targets", + "name": "FilterSubsystem", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "construct_scope_filter" ], + "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.target_type_rules.go_merge_import_paths_analysis" - ] + "used_in_rules": [] }, - "pants.backend.go.go_sources.load_go_binary.LoadedGoBinary": { + "pants.backend.project_info.list_roots.Roots": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.go.go_sources.load_go_binary", - "pants.backend.go.util_rules.build_pkg", - "pants.core" + "pants.core", + "pants.engine.console" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "LoadedGoBinary(digest: 'Digest')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.go_sources.load_go_binary", - "name": "LoadedGoBinary", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.project_info.list_roots", + "name": "Roots", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.go.go_sources.load_go_binary.setup_go_binary" + "pants.backend.project_info.list_roots.list_roots" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer", - "pants.backend.go.util_rules.tests_analysis.generate_testmain", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package" - ] + "used_in_rules": [] }, - "pants.backend.go.go_sources.load_go_binary.LoadedGoBinaryRequest": { + "pants.backend.project_info.list_roots.RootsSubsystem": { "consumed_by_rules": [ - "pants.backend.go.go_sources.load_go_binary.setup_go_binary" + "pants.backend.project_info.list_roots.list_roots" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "LoadedGoBinaryRequest(dir_name: 'str', file_names: 'tuple[str, ...]', output_name: 'str')", - "is_union": false, - "module": "pants.backend.go.go_sources.load_go_binary", - "name": "LoadedGoBinaryRequest", - "provider": "pants.backend.go.go_sources.load_go_binary", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer", - "pants.backend.go.util_rules.tests_analysis.generate_testmain", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package" - ] - }, - "pants.backend.go.go_sources.load_go_binary.NaiveBuildGoPackageRequestForStdlibPackageRequest": { - "consumed_by_rules": [ - "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib" + "dependencies": [ + "pants.option.scope" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "NaiveBuildGoPackageRequestForStdlibPackageRequest(import_path: 'str')", + "dependents": [ + "pants.backend.project_info" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.go_sources.load_go_binary", - "name": "NaiveBuildGoPackageRequestForStdlibPackageRequest", - "provider": "pants.backend.go.go_sources.load_go_binary", - "returned_by_rules": [], + "module": "pants.backend.project_info.list_roots", + "name": "RootsSubsystem", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "construct_scope_roots" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", - "pants.backend.go.go_sources.load_go_binary.setup_go_binary" - ] + "used_in_rules": [] }, - "pants.backend.go.goals.check.GoCheckRequest": { - "consumed_by_rules": ["pants.backend.go.goals.check.check_go"], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.go"], + "pants.backend.project_info.list_targets.List": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.engine.addresses", + "pants.engine.console", + "pants.engine.target" + ], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.go.goals.check", - "name": "GoCheckRequest", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [], + "module": "pants.backend.project_info.list_targets", + "name": "List", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "pants.backend.project_info.list_targets.list_targets" + ], "union_members": [], - "union_type": "CheckRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.go.goals.generate.EnvironmentAware": { + "pants.backend.project_info.list_targets.ListSubsystem": { "consumed_by_rules": [ - "pants.backend.go.goals.generate.run_go_package_generators" + "pants.backend.project_info.list_targets.list_targets" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.project_info" ], - "dependencies": ["pants.core", "pants.engine.env_vars"], - "dependents": ["pants.backend.experimental.go"], "documentation": null, "is_union": false, - "module": "pants.backend.go.goals.generate", - "name": "EnvironmentAware", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["construct_env_aware_scope_go_generate"], + "module": "pants.backend.project_info.list_targets", + "name": "ListSubsystem", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "construct_scope_list" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.goals.generate.GoGenerateGoal": { + "pants.backend.project_info.paths.PathsGoal": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", + "pants.backend.experimental.go", "pants.core", - "pants.engine.fs" + "pants.engine.console" ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.go.goals.generate", - "name": "GoGenerateGoal", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.backend.go.goals.generate.go_generate"], + "module": "pants.backend.project_info.paths", + "name": "PathsGoal", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "pants.backend.project_info.paths.paths" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.goals.generate.GoGenerateGoalSubsystem": { - "consumed_by_rules": ["construct_env_aware_scope_go_generate"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.go"], + "pants.backend.project_info.paths.PathsSubsystem": { + "consumed_by_rules": [ + "pants.backend.project_info.paths.paths" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.project_info" + ], "documentation": null, "is_union": false, - "module": "pants.backend.go.goals.generate", - "name": "GoGenerateGoalSubsystem", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["construct_scope_go_generate"], + "module": "pants.backend.project_info.paths", + "name": "PathsSubsystem", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "construct_scope_paths" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.goals.generate.OverwriteMergeDigests": { + "pants.backend.project_info.paths.RootDestinationPair": { "consumed_by_rules": [ - "pants.backend.go.goals.generate.merge_digests_with_overwrite" + "pants.backend.project_info.paths.get_paths_between_root_and_destination" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "OverwriteMergeDigests(orig_digest: 'Digest', new_digest: 'Digest')", + "dependents": [ + "pants.backend.project_info" + ], + "documentation": "RootDestinationPair(root: 'Target', destination: 'Target')", "is_union": false, - "module": "pants.backend.go.goals.generate", - "name": "OverwriteMergeDigests", - "provider": "pants.backend.go.goals.generate", + "module": "pants.backend.project_info.paths", + "name": "RootDestinationPair", + "provider": "pants.backend.project_info", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.goals.generate.run_go_package_generators" + "pants.backend.project_info.paths.get_paths_between_root_and_destinations" ] }, - "pants.backend.go.goals.generate.RunPackageGeneratorsRequest": { + "pants.backend.project_info.paths.RootDestinationsPair": { "consumed_by_rules": [ - "pants.backend.go.goals.generate.run_go_package_generators" + "pants.backend.project_info.paths.get_paths_between_root_and_destinations" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "RunPackageGeneratorsRequest(address: 'Address', regex: 'str | None' = None)", + "dependents": [ + "pants.backend.project_info" + ], + "documentation": "RootDestinationsPair(root: 'Target', destinations: 'Targets')", "is_union": false, - "module": "pants.backend.go.goals.generate", - "name": "RunPackageGeneratorsRequest", - "provider": "pants.backend.go.goals.generate", + "module": "pants.backend.project_info.paths", + "name": "RootDestinationsPair", + "provider": "pants.backend.project_info", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.goals.generate.go_generate"] + "used_in_rules": [ + "pants.backend.project_info.paths.paths" + ] }, - "pants.backend.go.goals.generate.RunPackageGeneratorsResult": { + "pants.backend.project_info.paths.SpecsPaths": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.go.goals.generate", - "pants.core", - "pants.engine.env_vars", - "pants.engine.fs" + "pants.backend.experimental.go", + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "RunPackageGeneratorsResult(digest: 'Digest')", + "dependents": [ + "pants.backend.project_info" + ], + "documentation": "SpecsPaths(paths: 'list[list[str]]')", "is_union": false, - "module": "pants.backend.go.goals.generate", - "name": "RunPackageGeneratorsResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.project_info.paths", + "name": "SpecsPaths", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.go.goals.generate.run_go_package_generators" + "pants.backend.project_info.paths.get_paths_between_root_and_destination" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.goals.generate.go_generate"] + "used_in_rules": [ + "pants.backend.project_info.paths.get_paths_between_root_and_destinations" + ] }, - "pants.backend.go.goals.package_binary.GoBinaryFieldSet": { - "consumed_by_rules": [ - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.run_binary.create_go_binary_run_request", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_GoBinaryFieldSet" + "pants.backend.project_info.paths.SpecsPathsCollection": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.project_info" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoBinaryFieldSet(address: 'Address', main: 'GoBinaryMainPackageField', output_path: 'OutputPathField', environment: 'EnvironmentField')", + "documentation": "SpecsPathsCollection(spec_paths: 'list[SpecsPaths]')", "is_union": false, - "module": "pants.backend.go.goals.package_binary", - "name": "GoBinaryFieldSet", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [], - "union_members": [], - "union_type": "RunFieldSet", - "used_in_rules": [] - }, - "pants.backend.go.goals.tailor.FindPutativeGoPackageTargetRequest": { - "consumed_by_rules": [ - "pants.backend.go.goals.tailor.find_putative_go_package_target" + "module": "pants.backend.project_info.paths", + "name": "SpecsPathsCollection", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "pants.backend.project_info.paths.get_paths_between_root_and_destinations" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FindPutativeGoPackageTargetRequest(dir_path: 'str', files: 'tuple[str, ...]', all_go_mod_dirs: 'frozenset[str]')", - "is_union": false, - "module": "pants.backend.go.goals.tailor", - "name": "FindPutativeGoPackageTargetRequest", - "provider": "pants.backend.go.goals.tailor", - "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.goals.tailor.find_putative_go_targets" + "pants.backend.project_info.paths.paths" ] }, - "pants.backend.go.goals.tailor.FindPutativeGoPackageTargetResult": { + "pants.backend.project_info.peek.Peek": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.go.goals.tailor", - "pants.core", - "pants.engine.fs" + "pants.backend.experimental.go", + "pants.engine.console", + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FindPutativeGoPackageTargetResult(putative_target: 'PutativeTarget | None')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.goals.tailor", - "name": "FindPutativeGoPackageTargetResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.project_info.peek", + "name": "Peek", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.go.goals.tailor.find_putative_go_package_target" + "pants.backend.project_info.peek.peek" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.tailor.find_putative_go_targets" - ] + "used_in_rules": [] }, - "pants.backend.go.goals.tailor.PutativeGoTargetsRequest": { + "pants.backend.project_info.peek.PeekSubsystem": { "consumed_by_rules": [ - "pants.backend.go.goals.tailor.find_putative_go_targets" + "pants.backend.project_info.peek.get_target_data", + "pants.backend.project_info.peek.peek" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "PutativeGoTargetsRequest(dirs: 'tuple[str, ...]')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.project_info" + ], + "documentation": "Display detailed target information in JSON form.", "is_union": false, - "module": "pants.backend.go.goals.tailor", - "name": "PutativeGoTargetsRequest", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [], + "module": "pants.backend.project_info.peek", + "name": "PeekSubsystem", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "construct_scope_peek" + ], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.go.goals.test.FalliblePrepareGoTestBinaryResult": { + "pants.backend.project_info.peek.TargetDatas": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.go.goals.test", - "pants.core" + "pants.backend.experimental.go", + "pants.core", + "pants.engine.internals.build_files", + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FalliblePrepareGoTestBinaryResult(binary: 'PrepareGoTestBinaryResult | None', stdout: 'str', stderr: 'str', exit_code: 'int')", + "dependents": [ + "pants.backend.project_info" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.goals.test", - "name": "FalliblePrepareGoTestBinaryResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.project_info.peek", + "name": "TargetDatas", + "provider": "pants.backend.project_info", "returned_by_rules": [ - "pants.backend.go.goals.test.prepare_go_test_binary" + "pants.backend.project_info.peek.get_target_data" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.goals.test.run_go_tests"] + "used_in_rules": [ + "pants.backend.project_info.peek.peek" + ] }, - "pants.backend.go.goals.test.GoTestFieldSet": { + "pants.backend.project_info.regex_lint.RegexLintRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.core" + ], "dependents": [], - "documentation": "GoTestFieldSet(address: 'Address', sources: 'GoPackageSourcesField', dependencies: 'Dependencies', timeout: 'GoTestTimeoutField', extra_env_vars: 'GoTestExtraEnvVarsField')", + "documentation": null, "is_union": false, - "module": "pants.backend.go.goals.test", - "name": "GoTestFieldSet", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.project_info.regex_lint", + "name": "RegexLintRequest", + "provider": "pants.backend.project_info", "returned_by_rules": [], "union_members": [], - "union_type": "TestFieldSet", + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.go.goals.test.GoTestRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.project_info.regex_lint.RegexLintSubsystem": { + "consumed_by_rules": [ + "pants.backend.project_info.regex_lint.lint_with_regex_patterns", + "pants.backend.project_info.regex_lint.partition_inputs" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.project_info" + ], "documentation": null, "is_union": false, - "module": "pants.backend.go.goals.test", - "name": "GoTestRequest", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [], + "module": "pants.backend.project_info.regex_lint", + "name": "RegexLintSubsystem", + "provider": "pants.backend.project_info", + "returned_by_rules": [ + "construct_scope_regex_lint" + ], "union_members": [], - "union_type": "TestRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.go.goals.test.PrepareGoTestBinaryRequest": { + "pants.backend.python.dependency_inference.module_mapper.AllPythonTargets": { "consumed_by_rules": [ - "pants.backend.go.goals.test.prepare_go_test_binary" + "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", + "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "PrepareGoTestBinaryRequest(field_set: 'GoTestFieldSet', coverage: 'PrepareGoTestBinaryCoverageConfig | None')", + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "AllPythonTargets(first_party: 'tuple[Target, ...]', third_party: 'tuple[Target, ...]')", "is_union": false, - "module": "pants.backend.go.goals.test", - "name": "PrepareGoTestBinaryRequest", - "provider": "pants.backend.go.goals.test", - "returned_by_rules": [], + "module": "pants.backend.python.dependency_inference.module_mapper", + "name": "AllPythonTargets", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.dependency_inference.module_mapper.find_all_python_projects" + ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.goals.test.run_go_tests"] + "used_in_rules": [] }, - "pants.backend.go.lint.gofmt.rules.GofmtRequest": { + "pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonMappingImpl": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "A mapping of each resolve name to the first-party module names contained and their owning\naddresses.\n\nThis contains the modules from a specific implementation, e.g. a codegen backend. All\nimplementations then get merged.", "is_union": false, - "module": "pants.backend.go.lint.gofmt.rules", - "name": "GofmtRequest", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [], + "module": "pants.backend.python.dependency_inference.module_mapper", + "name": "FirstPartyPythonMappingImpl", + "provider": "pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.experimental.python, pants.backend.python", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", + "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", + "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", + "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + ], "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings" + ] }, - "pants.backend.go.lint.gofmt.skip_field.SkipGofmtField": { + "pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonMappingImplMarker": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.go.lint.gofmt.skip_field", - "name": "SkipGofmtField", - "provider": "pants.backend.experimental.go", + "dependencies": [], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.python", + "pants.backend.python" + ], + "documentation": "An entry point for a specific implementation of mapping module names to owning targets for\nPython import dependency inference.\n\nAll implementations will be merged together. Any modules that show up in multiple\nimplementations will be marked ambiguous.", + "is_union": true, + "module": "pants.backend.python.dependency_inference.module_mapper", + "name": "FirstPartyPythonMappingImplMarker", + "provider": "pants.backend.python", "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "union_members": [ + "FirstPartyPythonTargetsMappingMarker", + "PythonProtobufMappingMarker", + "PythonThriftMappingMarker", + "PythonVCSVersionMappingMarker" + ], + "union_type": null, + "used_in_rules": [ + "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings" + ] }, - "pants.backend.go.lint.gofmt.subsystem.GofmtSubsystem": { + "pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonModuleMapping": { "consumed_by_rules": [ - "pants.backend.go.lint.gofmt.rules.gofmt_fmt", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest" + "pants.backend.python.dependency_inference.module_mapper.map_module_to_address" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.go"], - "documentation": null, + "dependencies": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.python", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "FirstPartyPythonModuleMapping(resolves_to_modules_to_providers: 'FrozenDict[ResolveName, FrozenDict[str, Tuple[ModuleProvider, ...]]]')", "is_union": false, - "module": "pants.backend.go.lint.gofmt.subsystem", - "name": "GofmtSubsystem", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["construct_scope_gofmt"], + "module": "pants.backend.python.dependency_inference.module_mapper", + "name": "FirstPartyPythonModuleMapping", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.subsystems.golang.EnvironmentAware": { + "pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonTargetsMappingMarker": { "consumed_by_rules": [ - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", - "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", - "pants.backend.go.util_rules.link.setup_go_linker", - "pants.backend.go.util_rules.sdk.setup_go_sdk_process" + "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules" + ], + "dependencies": [], + "dependents": [ + "pants.backend.python" ], - "dependencies": ["pants.core", "pants.engine.env_vars"], - "dependents": ["pants.backend.experimental.go"], "documentation": null, "is_union": false, - "module": "pants.backend.go.subsystems.golang", - "name": "EnvironmentAware", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["construct_env_aware_scope_golang"], + "module": "pants.backend.python.dependency_inference.module_mapper", + "name": "FirstPartyPythonTargetsMappingMarker", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "FirstPartyPythonMappingImplMarker", "used_in_rules": [] }, - "pants.backend.go.subsystems.golang.GolangSubsystem": { - "consumed_by_rules": [ - "construct_env_aware_scope_golang", - "pants.backend.go.goals.tailor.find_putative_go_targets", - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", - "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", - "pants.backend.go.util_rules.goroot.setup_goroot" + "pants.backend.python.dependency_inference.module_mapper.PythonModuleOwners": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.python.framework.stevedore", + "pants.backend.python" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.go"], - "documentation": null, + "documentation": "The target(s) that own a Python module.\n\nUp to 2 targets can unambiguously own the same module, if one is an implementation and the other\nis a .pyi type stub. It is ambiguous for >1 implementation target to own the same module, and\nthose targets will be put into `ambiguous` instead of `unambiguous`. Therefore, `unambiguous`\nshould never be >2; and only 1 of `unambiguous` and `ambiguous` should have targets.", "is_union": false, - "module": "pants.backend.go.subsystems.golang", - "name": "GolangSubsystem", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["construct_scope_golang"], + "module": "pants.backend.python.dependency_inference.module_mapper", + "name": "PythonModuleOwners", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.dependency_inference.module_mapper.map_module_to_address" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" + ] }, - "pants.backend.go.subsystems.gotest.GoTestSubsystem": { + "pants.backend.python.dependency_inference.module_mapper.PythonModuleOwnersRequest": { "consumed_by_rules": [ - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_GoTestRequest" + "pants.backend.python.dependency_inference.module_mapper.map_module_to_address" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.go"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "PythonModuleOwnersRequest(module: 'str', resolve: 'str | None', locality: 'str | None' = None)", "is_union": false, - "module": "pants.backend.go.subsystems.gotest", - "name": "GoTestSubsystem", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["construct_scope_go_test"], + "module": "pants.backend.python.dependency_inference.module_mapper", + "name": "PythonModuleOwnersRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" + ] }, - "pants.backend.go.target_type_rules.FirstPartyGoModuleImportPathsMappingsHook": { + "pants.backend.python.dependency_inference.module_mapper.ThirdPartyPythonModuleMapping": { "consumed_by_rules": [ - "pants.backend.go.target_type_rules.go_map_import_paths_by_module" + "pants.backend.python.dependency_inference.module_mapper.map_module_to_address", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request" ], - "dependencies": ["pants.backend.go.dependency_inference"], - "dependents": ["pants.backend.experimental.go"], - "documentation": null, + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "A mapping of each resolve to the modules they contain and the addresses providing those\nmodules.", "is_union": false, - "module": "pants.backend.go.target_type_rules", - "name": "FirstPartyGoModuleImportPathsMappingsHook", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [], + "module": "pants.backend.python.dependency_inference.module_mapper", + "name": "ThirdPartyPythonModuleMapping", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses" + ], "union_members": [], - "union_type": "GoModuleImportPathsMappingsHook", + "union_type": null, "used_in_rules": [] }, - "pants.backend.go.target_type_rules.GenerateTargetsFromGoModRequest": { + "pants.backend.python.dependency_inference.parse_python_dependencies.ParsePythonDependenciesRequest": { "consumed_by_rules": [ - "pants.backend.go.target_type_rules.generate_targets_from_go_mod" + "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.go"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "ParsePythonDependenciesRequest(source: 'PythonSourceField', interpreter_constraints: 'InterpreterConstraints')", "is_union": false, - "module": "pants.backend.go.target_type_rules", - "name": "GenerateTargetsFromGoModRequest", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.dependency_inference.parse_python_dependencies", + "name": "ParsePythonDependenciesRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateTargetsRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" + ] }, - "pants.backend.go.target_type_rules.GoImportPathMappingRequest": { - "consumed_by_rules": [ - "pants.backend.go.target_type_rules.map_import_paths_to_packages" + "pants.backend.python.dependency_inference.parse_python_dependencies.ParsedPythonDependencies": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core", + "pants.engine.internals.native_dep_inference" + ], + "dependents": [ + "pants.backend.experimental.python", + "pants.backend.python" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoImportPathMappingRequest(go_mod_address: 'Address')", + "documentation": "ParsedPythonDependencies(imports: 'ParsedPythonImports', assets: 'ParsedPythonAssetPaths')", "is_union": false, - "module": "pants.backend.go.target_type_rules", - "name": "GoImportPathMappingRequest", - "provider": "pants.backend.go.target_type_rules", - "returned_by_rules": [], + "module": "pants.backend.python.dependency_inference.parse_python_dependencies", + "name": "ParsedPythonDependencies", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" ] }, - "pants.backend.go.target_type_rules.InferGoPackageDependenciesRequest": { + "pants.backend.python.dependency_inference.rules.InferConftestDependencies": { "consumed_by_rules": [ - "pants.backend.go.target_type_rules.infer_go_dependencies" + "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.go"], "documentation": null, "is_union": false, - "module": "pants.backend.go.target_type_rules", - "name": "InferGoPackageDependenciesRequest", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.dependency_inference.rules", + "name": "InferConftestDependencies", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.go.target_type_rules.InferGoThirdPartyPackageDependenciesRequest": { + "pants.backend.python.dependency_inference.rules.InferInitDependencies": { "consumed_by_rules": [ - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies" + "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.go"], "documentation": null, "is_union": false, - "module": "pants.backend.go.target_type_rules", - "name": "InferGoThirdPartyPackageDependenciesRequest", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.dependency_inference.rules", + "name": "InferInitDependencies", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.go.target_types.GoOwningGoModAddressField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], + "pants.backend.python.dependency_inference.rules.InferPythonImportDependencies": { + "consumed_by_rules": [ + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" + ], "documentation": null, "is_union": false, - "module": "pants.backend.go.target_types", - "name": "GoOwningGoModAddressField", - "provider": "pants.backend.experimental.codegen.protobuf.go", + "module": "pants.backend.python.dependency_inference.rules", + "name": "InferPythonImportDependencies", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.go.util_rules.assembly.AssembleGoAssemblyFilesRequest": { + "pants.backend.python.dependency_inference.rules.PythonImportDependenciesInferenceFieldSet": { "consumed_by_rules": [ - "pants.backend.go.util_rules.assembly.assemble_go_assembly_files" + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Assemble Go assembly files to object files.", + "dependents": [ + "pants.backend.experimental.python" + ], + "documentation": "PythonImportDependenciesInferenceFieldSet(address: 'Address', source: 'PythonSourceField', dependencies: 'PythonDependenciesField', resolve: 'PythonResolveField', interpreter_constraints: 'InterpreterConstraintsField')", "is_union": false, - "module": "pants.backend.go.util_rules.assembly", - "name": "AssembleGoAssemblyFilesRequest", - "provider": "pants.backend.go.util_rules.assembly", + "module": "pants.backend.python.dependency_inference.rules", + "name": "PythonImportDependenciesInferenceFieldSet", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.goals.debug_goals.dump_python_source_analysis" ] }, - "pants.backend.go.util_rules.assembly.FallibleAssembleGoAssemblyFilesResult": { + "pants.backend.python.dependency_inference.rules.ResolvedParsedPythonDependencies": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.assembly", - "pants.engine.process" + "pants.backend.experimental.go", + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FallibleAssembleGoAssemblyFilesResult(result: 'AssembleGoAssemblyFilesResult | None', exit_code: 'int' = 0, stdout: 'str | None' = None, stderr: 'str | None' = None)", + "dependents": [ + "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.django", + "pants.backend.python" + ], + "documentation": "ResolvedParsedPythonDependencies(resolve_results: 'dict[str, ImportResolveResult]', assets: 'dict[str, ImportResolveResult]', explicit: 'ExplicitlyProvidedDependencies')", "is_union": false, - "module": "pants.backend.go.util_rules.assembly", - "name": "FallibleAssembleGoAssemblyFilesResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.dependency_inference.rules", + "name": "ResolvedParsedPythonDependencies", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.assembly.assemble_go_assembly_files" + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" ] }, - "pants.backend.go.util_rules.assembly.FallibleGenerateAssemblySymabisResult": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.assembly", - "pants.core", - "pants.engine.process" + "pants.backend.python.dependency_inference.rules.ResolvedParsedPythonDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FallibleGenerateAssemblySymabisResult(result: 'GenerateAssemblySymabisResult | None', exit_code: 'int' = 0, stdout: 'str | None' = None, stderr: 'str | None' = None)", - "is_union": false, - "module": "pants.backend.go.util_rules.assembly", - "name": "FallibleGenerateAssemblySymabisResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile" + "dependencies": [], + "dependents": [ + "pants.backend.python" ], + "documentation": "ResolvedParsedPythonDependenciesRequest(field_set: 'PythonImportDependenciesInferenceFieldSet', parsed_dependencies: 'ParsedPythonDependencies', resolve: 'Optional[str]')", + "is_union": false, + "module": "pants.backend.python.dependency_inference.rules", + "name": "ResolvedParsedPythonDependenciesRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" ] }, - "pants.backend.go.util_rules.assembly.GenerateAssemblySymabisRequest": { + "pants.backend.python.dependency_inference.rules.UnownedImportPossibleOwnerRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile" + "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Generate a `symabis` file with metadata about the assemnbly files for consumption by Go\ncompiler.\n\nSee https://github.com/bazelbuild/rules_go/issues/1893.", + "dependents": [ + "pants.backend.python" + ], + "documentation": "UnownedImportPossibleOwnerRequest(unowned_import: 'str', original_resolve: 'str')", "is_union": false, - "module": "pants.backend.go.util_rules.assembly", - "name": "GenerateAssemblySymabisRequest", - "provider": "pants.backend.go.util_rules.assembly", + "module": "pants.backend.python.dependency_inference.rules", + "name": "UnownedImportPossibleOwnerRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" ] }, - "pants.backend.go.util_rules.binary.GoBinaryMainPackage": { + "pants.backend.python.dependency_inference.rules.UnownedImportPossibleOwners": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.go.util_rules.binary", + "pants.backend.experimental.go", "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoBinaryMainPackage(address: 'Address', is_third_party: 'bool', import_path: 'str | None' = None)", + "dependents": [ + "pants.backend.experimental.python", + "pants.backend.python" + ], + "documentation": "UnownedImportPossibleOwners(value: 'list[tuple[Address, ResolveName]]')", "is_union": false, - "module": "pants.backend.go.util_rules.binary", - "name": "GoBinaryMainPackage", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.dependency_inference.rules", + "name": "UnownedImportPossibleOwners", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary" + "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.tailor.find_putative_go_targets", - "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency", - "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" ] }, - "pants.backend.go.util_rules.binary.GoBinaryMainPackageRequest": { + "pants.backend.python.dependency_inference.subsystem.PythonInferSubsystem": { "consumed_by_rules": [ - "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary" + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies", + "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "pants.backend.python.target_types_rules.python_files_generator_settings", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoBinaryMainPackageRequest(field: 'GoBinaryMainPackageField')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.binary", - "name": "GoBinaryMainPackageRequest", - "provider": "pants.backend.go.util_rules.binary", - "returned_by_rules": [], + "module": "pants.backend.python.dependency_inference.subsystem", + "name": "PythonInferSubsystem", + "provider": "pants.backend.python", + "returned_by_rules": [ + "construct_scope_python_infer" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.tailor.find_putative_go_targets", - "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency", - "pants.backend.go.util_rules.go_mod.find_owning_go_mod" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.binary.InferGoBinaryMainDependencyRequest": { + "pants.backend.python.framework.django.dependency_inference.InferDjangoDependencies": { "consumed_by_rules": [ - "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency" + "pants.backend.python.framework.django.dependency_inference.django_parser_script" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.python.framework.django" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.go"], "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.binary", - "name": "InferGoBinaryMainDependencyRequest", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.framework.django.dependency_inference", + "name": "InferDjangoDependencies", + "provider": "pants.backend.experimental.python.framework.django", "returned_by_rules": [], "union_members": [], "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.go.util_rules.build_opts.GoBuildOptions": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.go.util_rules.build_opts"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoBuildOptions(coverage_config: 'GoCoverageConfig | None' = None, cgo_enabled: 'bool' = True, with_race_detector: 'bool' = False, with_msan: 'bool' = False, with_asan: 'bool' = False, compiler_flags: 'tuple[str, ...]' = (), linker_flags: 'tuple[str, ...]' = (), assembler_flags: 'tuple[str, ...]' = ())", + "pants.backend.python.framework.django.detect_apps.DjangoApps": { + "consumed_by_rules": [ + "pants.backend.python.framework.django.dependency_inference.django_parser_script" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.python.framework.django" + ], + "documentation": "DjangoApps(label_to_name: 'FrozenDict[str, str]')", "is_union": false, - "module": "pants.backend.go.util_rules.build_opts", - "name": "GoBuildOptions", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.framework.django.detect_apps", + "name": "DjangoApps", + "provider": "pants.backend.experimental.python.framework.django", "returned_by_rules": [ - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target" + "pants.backend.python.framework.django.detect_apps.detect_django_apps" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.check.check_go", - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_opts.GoBuildOptionsFromTargetRequest": { + "pants.backend.python.framework.stevedore.python_target_dependencies.InferStevedoreNamespacesDependencies": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target" + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoBuildOptionsFromTargetRequest(address: 'Address', for_tests: 'bool' = False)", + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.python.framework.stevedore" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.build_opts", - "name": "GoBuildOptionsFromTargetRequest", - "provider": "pants.backend.go.util_rules.build_opts", + "module": "pants.backend.python.framework.stevedore.python_target_dependencies", + "name": "InferStevedoreNamespacesDependencies", + "provider": "pants.backend.experimental.python.framework.stevedore", "returned_by_rules": [], "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.python.framework.stevedore.python_target_dependencies.StevedoreExtensions": { + "consumed_by_rules": [ + "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.python.framework.stevedore" + ], + "documentation": "A mapping of stevedore namespaces to a list of targets that provide them.\n\nEffectively, the targets are StevedoreExtension targets.", + "is_union": false, + "module": "pants.backend.python.framework.stevedore.python_target_dependencies", + "name": "StevedoreExtensions", + "provider": "pants.backend.experimental.python.framework.stevedore", + "returned_by_rules": [ + "pants.backend.python.framework.stevedore.python_target_dependencies.map_stevedore_extensions" + ], + "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.check.check_go", - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg.BuildGoPackageRequest": { + "pants.backend.python.framework.stevedore.rules.GenerateEntryPointsTxtFromStevedoreExtensionRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension" ], "dependencies": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.go.go_sources.load_go_binary" + "pants.backend.python" ], "dependents": [ - "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.python.framework.stevedore" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.framework.stevedore.rules", + "name": "GenerateEntryPointsTxtFromStevedoreExtensionRequest", + "provider": "pants.backend.experimental.python.framework.stevedore", + "returned_by_rules": [], + "union_members": [], + "union_type": "PytestPluginSetupRequest", + "used_in_rules": [] + }, + "pants.backend.python.framework.stevedore.target_types.AllStevedoreExtensionTargets": { + "consumed_by_rules": [ + "pants.backend.python.framework.stevedore.python_target_dependencies.map_stevedore_extensions" + ], + "dependencies": [ "pants.backend.experimental.go" ], + "dependents": [ + "pants.backend.experimental.python.framework.stevedore" + ], "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "BuildGoPackageRequest", - "provider": "pants.backend.experimental.go, pants.backend.go.util_rules.build_pkg", + "module": "pants.backend.python.framework.stevedore.target_types", + "name": "AllStevedoreExtensionTargets", + "provider": "pants.backend.experimental.python.framework.stevedore", "returned_by_rules": [ - "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", - "pants.backend.go.util_rules.build_pkg_target.required_build_go_package_request" + "pants.backend.python.framework.stevedore.python_target_dependencies.find_all_python_distributions_with_any_stevedore_entry_points" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", - "pants.backend.go.go_sources.load_go_binary.setup_go_binary", - "pants.backend.go.goals.check.check_go", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.build_pkg.build_go_package" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg.BuiltGoPackage": { + "pants.backend.python.framework.stevedore.target_types.StevedoreExtensionTargets": { "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "A package and its dependencies compiled as `__pkg__.a` files.\n\nThe packages are arranged into `__pkgs__/{path_safe(import_path)}/__pkg__.a`.", + "dependencies": [ + "pants.backend.python" + ], + "dependents": [ + "pants.backend.experimental.python.framework.stevedore" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "BuiltGoPackage", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.framework.stevedore.target_types", + "name": "StevedoreExtensionTargets", + "provider": "pants.backend.experimental.python.framework.stevedore", "returned_by_rules": [ - "pants.backend.go.util_rules.build_pkg.required_built_go_package" + "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.go_sources.load_go_binary.setup_go_binary", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies" + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension" ] }, - "pants.backend.go.util_rules.build_pkg.CheckForGolangAssemblyRequest": { + "pants.backend.python.framework.stevedore.target_types.StevedoreNamespacesField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.framework.stevedore.target_types", + "name": "StevedoreNamespacesField", + "provider": "pants.backend.experimental.python.framework.stevedore", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.python.framework.stevedore.target_types.StevedoreNamespacesProviderTargetsRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly" + "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CheckForGolangAssemblyRequest(digest: 'Digest', dir_path: 'str', s_files: 'tuple[str, ...]')", + "dependents": [ + "pants.backend.experimental.python.framework.stevedore" + ], + "documentation": "StevedoreNamespacesProviderTargetsRequest(stevedore_namespaces: 'StevedoreNamespacesField')", "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "CheckForGolangAssemblyRequest", - "provider": "pants.backend.go.util_rules.build_pkg", + "module": "pants.backend.python.framework.stevedore.target_types", + "name": "StevedoreNamespacesProviderTargetsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension" ] }, - "pants.backend.go.util_rules.build_pkg.CheckForGolangAssemblyResult": { - "consumed_by_rules": [], + "pants.backend.python.goals.coverage_py.CoverageConfig": { + "consumed_by_rules": [ + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" + ], "dependencies": [ "builtins", + "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.go.util_rules.build_pkg", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "CoverageConfig(digest: 'Digest', path: 'str')", + "is_union": false, + "module": "pants.backend.python.goals.coverage_py", + "name": "CoverageConfig", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.goals.coverage_py.create_or_update_coverage_config" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.python.goals.coverage_py.CoverageSetup": { + "consumed_by_rules": [ + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.coverage_py.merge_coverage_data" + ], + "dependencies": [ "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CheckForGolangAssemblyResult(maybe_golang_assembly: 'bool')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "CoverageSetup(pex: 'VenvPex')", "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "CheckForGolangAssemblyResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.coverage_py", + "name": "CoverageSetup", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly" + "pants.backend.python.goals.coverage_py.setup_coverage" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg.FallibleBuildGoPackageRequest": { + "pants.backend.python.goals.coverage_py.CoverageSubsystem": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg_target.required_build_go_package_request" + "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.coverage_py.setup_coverage", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" ], "dependencies": [ - "builtins", - "pants.backend.codegen.protobuf.go.rules", - "pants.backend.codegen.protobuf.python", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.build_pkg", - "pants.backend.go.util_rules.build_pkg_target", - "pants.core", - "pants.engine.fs", - "pants.engine.platform", - "pants.engine.process", - "pants.engine.unions" + "pants.option.scope" ], "dependents": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go" + "pants.backend.python" ], - "documentation": "Request to build a package, but fallible if determining the request metadata failed.\n\nWhen creating \"synthetic\" packages, use `GoPackageRequest` directly. This type is only intended\nfor determining the package metadata of user code, which may fail to be analyzed.", + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "FallibleBuildGoPackageRequest", - "provider": "pants.backend.experimental.codegen.protobuf.go, pants.backend.experimental.go", + "module": "pants.backend.python.goals.coverage_py", + "name": "CoverageSubsystem", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + "construct_scope_coverage_py" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "pants.backend.go.goals.check.check_go", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg.FallibleBuiltGoPackage": { + "pants.backend.python.goals.coverage_py.MergedCoverageData": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg.required_built_go_package" + "pants.backend.python.goals.coverage_py.generate_coverage_reports" ], "dependencies": [ "builtins", + "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.build_pkg", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.fs", - "pants.engine.process" + "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Fallible version of `BuiltGoPackage` with error details.", + "dependents": [ + "pants.backend.python" + ], + "documentation": "MergedCoverageData(coverage_data: 'Digest', addresses: 'tuple[Address, ...]')", "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "FallibleBuiltGoPackage", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.coverage_py", + "name": "MergedCoverageData", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.goals.coverage_py.merge_coverage_data" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.check.check_go", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.build_pkg.build_go_package" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg.GoCompileActionIdRequest": { + "pants.backend.python.goals.coverage_py.PytestCoverageDataCollection": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg.compute_compile_action_id" + "pants.backend.python.goals.coverage_py.merge_coverage_data" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoCompileActionIdRequest(build_request: 'BuildGoPackageRequest')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "GoCompileActionIdRequest", - "provider": "pants.backend.go.util_rules.build_pkg", + "module": "pants.backend.python.goals.coverage_py", + "name": "PytestCoverageDataCollection", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" - ] + "union_type": "CoverageDataCollection", + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg.GoCompileActionIdResult": { + "pants.backend.python.goals.debug_goals.DumpPythonSourceAnalysis": { "consumed_by_rules": [], - "dependencies": ["pants.backend.go.util_rules.build_pkg"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoCompileActionIdResult(action_id: 'str')", + "dependencies": [ + "pants.backend.experimental.go", + "pants.core", + "pants.engine.console" + ], + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "GoCompileActionIdResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.debug_goals", + "name": "DumpPythonSourceAnalysis", + "provider": "pants.backend.experimental.python", "returned_by_rules": [ - "pants.backend.go.util_rules.build_pkg.compute_compile_action_id" + "pants.backend.python.goals.debug_goals.dump_python_source_analysis" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg.RenderEmbedConfigRequest": { + "pants.backend.python.goals.debug_goals.DumpPythonSourceAnalysisSubsystem": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg.render_embed_config" + "pants.backend.python.goals.debug_goals.dump_python_source_analysis" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "RenderEmbedConfigRequest(embed_config: 'EmbedConfig | None')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "RenderEmbedConfigRequest", - "provider": "pants.backend.go.util_rules.build_pkg", - "returned_by_rules": [], + "module": "pants.backend.python.goals.debug_goals", + "name": "DumpPythonSourceAnalysisSubsystem", + "provider": "pants.backend.experimental.python", + "returned_by_rules": [ + "construct_scope_python_dump_source_analysis" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg.RenderedEmbedConfig": { + "pants.backend.python.goals.debug_goals.PythonSourceAnalysis": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.go.util_rules.build_pkg", + "pants.backend.python", "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "RenderedEmbedConfig(digest: 'Digest')", + "dependents": [ + "pants.backend.experimental.python" + ], + "documentation": "Information on the inferred imports for a Python file, including all raw intermediate\nresults.", "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "RenderedEmbedConfig", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.debug_goals", + "name": "PythonSourceAnalysis", + "provider": "pants.backend.experimental.python", "returned_by_rules": [ - "pants.backend.go.util_rules.build_pkg.render_embed_config" + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.goals.debug_goals.dump_python_source_analysis" ] }, - "pants.backend.go.util_rules.build_pkg.SetupAsmCheckBinary": { + "pants.backend.python.goals.export.ExportPluginOptions": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.subsystem" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.goals.export", + "name": "ExportPluginOptions", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginOption", + "used_in_rules": [] + }, + "pants.backend.python.goals.export.ExportVenvsRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly" + "pants.backend.python.goals.export.export_virtualenvs" ], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "SetupAsmCheckBinary(digest: 'Digest', path: 'str')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "ExportVenvsRequest(targets: 'Sequence[Target]')", "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg", - "name": "SetupAsmCheckBinary", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.export", + "name": "ExportVenvsRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "ExportRequest", + "used_in_rules": [] + }, + "pants.backend.python.goals.export.MaybeExportResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "MaybeExportResult(result: 'ExportResult | None')", + "is_union": false, + "module": "pants.backend.python.goals.export", + "name": "MaybeExportResult", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary" + "pants.backend.python.goals.export.export_virtualenv_for_resolve" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.export.export_virtualenvs" + ] }, - "pants.backend.go.util_rules.build_pkg_target.BuildGoPackageRequestForStdlibRequest": { + "pants.backend.python.goals.export.VenvExportRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" + "pants.backend.python.goals.export.do_export" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "BuildGoPackageRequestForStdlibRequest(import_path: 'str', build_opts: 'GoBuildOptions')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "VenvExportRequest(pex_request: 'PexRequest', dest_prefix: 'str', resolve_name: 'str', qualify_path_with_python_version: 'bool', editable_local_dists_digest: 'Digest | None' = None)", "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg_target", - "name": "BuildGoPackageRequestForStdlibRequest", - "provider": "pants.backend.go.util_rules.build_pkg_target", + "module": "pants.backend.python.goals.export", + "name": "VenvExportRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib", - "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies" + "pants.backend.python.goals.export.export_virtualenv_for_resolve" ] }, - "pants.backend.go.util_rules.build_pkg_target.BuildGoPackageTargetRequest": { + "pants.backend.python.goals.export._ExportVenvForResolveRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + "pants.backend.python.goals.export.export_virtualenv_for_resolve" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Build a `go_package`, `go_third_party_package`, or Go codegen target and its dependencies as\n`__pkg__.a` files.", + "dependents": [ + "pants.backend.python" + ], + "documentation": "_ExportVenvForResolveRequest(resolve: 'str')", "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg_target", - "name": "BuildGoPackageTargetRequest", - "provider": "pants.backend.go.util_rules.build_pkg_target", + "module": "pants.backend.python.goals.export", + "name": "_ExportVenvForResolveRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.go.goals.check.check_go", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" + "pants.backend.python.goals.export.export_virtualenvs" ] }, - "pants.backend.go.util_rules.build_pkg_target.GoCodegenBuildRequest": { - "consumed_by_rules": [], + "pants.backend.python.goals.lockfile.GeneratePythonLockfile": { + "consumed_by_rules": [ + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.goals.lockfile.wrap_python_lockfile_request" + ], "dependencies": [], - "dependents": ["pants.backend.experimental.codegen.protobuf.go"], - "documentation": "The plugin hook to build/compile Go code.\n\nNote that you should still use the normal `GenerateSourcesRequest` plugin hook from\n`pants.engine.target` too, which is necessary for integrations like the `export-codegen` goal.\nHowever, that is only helpful to generate the raw `.go` files; you also need to use this\nplugin hook so that Pants knows how to compile those generated `.go` files.\n\nSubclass this and set the class property `generate_from`. Define a rule that goes from your\nsubclass to `BuildGoPackageRequest` - the request must result in valid compilation, which you\nshould test for by using `rule_runner.request(BuiltGoPackage, BuildGoPackageRequest)` in your\ntests. For example, make sure to set up any third-party packages needed by the generated code.\nFinally, register `UnionRule(GoCodegenBuildRequest, MySubclass)`.", - "is_union": true, - "module": "pants.backend.go.util_rules.build_pkg_target", - "name": "GoCodegenBuildRequest", - "provider": "pants.backend.go.util_rules.build_pkg_target", + "dependents": [ + "pants.core" + ], + "documentation": "GeneratePythonLockfile(resolve_name: 'str', lockfile_dest: 'str', diff: 'bool', requirements: 'FrozenOrderedSet[str]', find_links: 'FrozenOrderedSet[str]', interpreter_constraints: 'InterpreterConstraints')", + "is_union": false, + "module": "pants.backend.python.goals.lockfile", + "name": "GeneratePythonLockfile", + "provider": "pants.core", "returned_by_rules": [], - "union_members": ["GoCodegenBuildProtobufRequest"], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" - ] + "union_members": [], + "union_type": "GenerateLockfile", + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg_target._ResolveStdlibEmbedConfigRequest": { + "pants.backend.python.goals.lockfile.KnownPythonUserResolveNamesRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config" + "pants.backend.python.goals.lockfile.determine_python_user_resolves" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "_ResolveStdlibEmbedConfigRequest(package: 'GoStdLibPackage')", + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg_target", - "name": "_ResolveStdlibEmbedConfigRequest", - "provider": "pants.backend.go.util_rules.build_pkg_target", + "module": "pants.backend.python.goals.lockfile", + "name": "KnownPythonUserResolveNamesRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" - ] + "union_type": "KnownUserResolveNamesRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.build_pkg_target._ResolveStdlibEmbedConfigResult": { - "consumed_by_rules": [], + "pants.backend.python.goals.lockfile.PythonSyntheticLockfileTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.build_pkg_target", - "pants.core", - "pants.engine.process" + "pants.engine.internals.synthetic_targets" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "_ResolveStdlibEmbedConfigResult(embed_config: 'EmbedConfig | None', stderr: 'str | None')", - "is_union": false, - "module": "pants.backend.go.util_rules.build_pkg_target", - "name": "_ResolveStdlibEmbedConfigResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config" + "dependents": [ + "pants.core" ], + "documentation": "Register the type used to create synthetic targets for Python lockfiles.\n\nAs the paths for all lockfiles are known up-front, we set the `path` field to\n`SyntheticTargetsRequest.SINGLE_REQUEST_FOR_ALL_TARGETS` so that we get a single request for all\nour synthetic targets rather than one request per directory.", + "is_union": false, + "module": "pants.backend.python.goals.lockfile", + "name": "PythonSyntheticLockfileTargetsRequest", + "provider": "pants.core", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" - ] + "union_type": "SyntheticTargetsRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.cgo.CGoCompileRequest": { + "pants.backend.python.goals.lockfile.RequestedPythonUserResolveNames": { "consumed_by_rules": [ - "pants.backend.go.util_rules.cgo.cgo_compile_request" + "pants.backend.python.goals.lockfile.setup_user_lockfile_requests" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CGoCompileRequest(import_path: 'str', pkg_name: 'str', digest: 'Digest', build_opts: 'GoBuildOptions', dir_path: 'str', cgo_files: 'tuple[str, ...]', cgo_flags: 'CGoCompilerFlags', c_files: 'tuple[str, ...]' = (), cxx_files: 'tuple[str, ...]' = (), objc_files: 'tuple[str, ...]' = (), fortran_files: 'tuple[str, ...]' = (), s_files: 'tuple[str, ...]' = (), is_stdlib: 'bool' = False, transitive_prebuilt_object_files: 'tuple[Digest, frozenset[str]] | None' = None)", + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.cgo", - "name": "CGoCompileRequest", - "provider": "pants.backend.go.util_rules.cgo", + "module": "pants.backend.python.goals.lockfile", + "name": "RequestedPythonUserResolveNames", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" - ] + "union_type": "RequestedUserResolveNames", + "used_in_rules": [] }, - "pants.backend.go.util_rules.cgo.CGoCompileResult": { - "consumed_by_rules": [], + "pants.backend.python.goals.package_pex_binary.PexBinaryFieldSet": { + "consumed_by_rules": [ + "pants.backend.python.goals.package_pex_binary.package_pex_binary", + "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PexBinaryFieldSet" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.cgo", - "pants.core", - "pants.engine.env_vars", - "pants.engine.fs", - "pants.engine.process" + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CGoCompileResult(digest: 'Digest', output_go_files: 'tuple[str, ...]', output_obj_files: 'tuple[str, ...]', include_module_sources_with_output: 'bool')", - "is_union": false, - "module": "pants.backend.go.util_rules.cgo", - "name": "CGoCompileResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.cgo.cgo_compile_request" + "dependents": [ + "pants.backend.python" ], + "documentation": "PexBinaryFieldSet(address: 'Address', entry_point: pants.backend.python.target_types.PexEntryPointField, script: pants.backend.python.target_types.PexScriptField, 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, shebang: pants.backend.python.target_types.PexShebangField, strip_env: pants.backend.python.target_types.PexStripEnvField, platforms: pants.backend.python.target_types.PexPlatformsField, 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)", + "is_union": false, + "module": "pants.backend.python.goals.package_pex_binary", + "name": "PexBinaryFieldSet", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PackageFieldSet", "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request" ] }, - "pants.backend.go.util_rules.cgo.CGoCompilerWrapperScript": { - "consumed_by_rules": [], + "pants.backend.python.goals.package_pex_binary.PexFromTargetsRequestForBuiltPackage": { + "consumed_by_rules": [ + "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", + "pants.backend.awslambda.python", "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CGoCompilerWrapperScript(digest: 'Digest')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "An intermediate class that gives consumers access to the data used to create a\n`PexFromTargetsRequest` to fulfil a `BuiltPackage` request.\n\nThis class is used directly by `run_pex_binary`, but should be handled transparently by direct\n`BuiltPackage` requests.", "is_union": false, - "module": "pants.backend.go.util_rules.cgo", - "name": "CGoCompilerWrapperScript", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.package_pex_binary", + "name": "PexFromTargetsRequestForBuiltPackage", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.cgo.cgo_compile_request"] - }, - "pants.backend.go.util_rules.cgo.CheckCompilerSupportsFlagRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.cgo.check_compiler_supports_flag" + "pants.backend.python.goals.package_pex_binary.package_pex_binary" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CheckCompilerSupportsFlagRequest(cc: 'str', flag: 'str')", - "is_union": false, - "module": "pants.backend.go.util_rules.cgo", - "name": "CheckCompilerSupportsFlagRequest", - "provider": "pants.backend.go.util_rules.cgo", - "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.cgo.setup_compiler_cmd"] + "used_in_rules": [ + "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request" + ] }, - "pants.backend.go.util_rules.cgo.CheckCompilerSupportsOptionResult": { + "pants.backend.python.goals.publish.PublishPythonPackageFieldSet": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.cgo", - "pants.core", - "pants.engine.process" + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CheckCompilerSupportsOptionResult(supports_flag: 'bool')", + "dependents": [], + "documentation": "PublishPythonPackageFieldSet(address: 'Address', repositories: 'PythonRepositoriesField', skip_twine: 'SkipTwineUploadField')", "is_union": false, - "module": "pants.backend.go.util_rules.cgo", - "name": "CheckCompilerSupportsOptionResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.cgo.check_compiler_supports_flag" - ], + "module": "pants.backend.python.goals.publish", + "name": "PublishPythonPackageFieldSet", + "provider": "pants.backend.experimental.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.cgo.setup_compiler_cmd"] + "union_type": "PublishFieldSet", + "used_in_rules": [] }, - "pants.backend.go.util_rules.cgo.SetupCompilerCmdRequest": { + "pants.backend.python.goals.publish.PublishPythonPackageRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.cgo.setup_compiler_cmd" + "pants.backend.python.goals.publish.twine_upload" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "SetupCompilerCmdRequest(compiler: 'tuple[str, ...]', include_dir: 'str')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.cgo", - "name": "SetupCompilerCmdRequest", - "provider": "pants.backend.go.util_rules.cgo", + "module": "pants.backend.python.goals.publish", + "name": "PublishPythonPackageRequest", + "provider": "pants.backend.experimental.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.cgo.cgo_compile_request"] + "union_type": "PublishRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.cgo.SetupCompilerCmdResult": { + "pants.backend.python.goals.publish.PythonRepositoriesField": { "consumed_by_rules": [], - "dependencies": ["pants.backend.go.util_rules.cgo"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "SetupCompilerCmdResult(args: 'tuple[str, ...]')", - "is_union": false, - "module": "pants.backend.go.util_rules.cgo", - "name": "SetupCompilerCmdResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.cgo.setup_compiler_cmd" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.cgo.cgo_compile_request"] - }, - "pants.backend.go.util_rules.cgo_binaries.CGoBinaryPathRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path" + "dependencies": [ + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CGoBinaryPathRequest(binary_name: 'str', binary_path_test: 'BinaryPathTest | None')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.cgo_binaries", - "name": "CGoBinaryPathRequest", - "provider": "pants.backend.go.util_rules.cgo_binaries", + "module": "pants.backend.python.goals.publish", + "name": "PythonRepositoriesField", + "provider": "pants.backend.experimental.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", - "pants.backend.go.util_rules.link.setup_go_linker" - ] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.cgo_pkgconfig.CGoPkgConfigFlagsRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args" + "pants.backend.python.goals.publish.SkipTwineUploadField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Request resolution of pkg-config arguments into CFLAGS and LDFLAGS.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.cgo_pkgconfig", - "name": "CGoPkgConfigFlagsRequest", - "provider": "pants.backend.go.util_rules.cgo_pkgconfig", + "module": "pants.backend.python.goals.publish", + "name": "SkipTwineUploadField", + "provider": "pants.backend.experimental.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.cgo.cgo_compile_request"] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.cgo_pkgconfig.CGoPkgConfigFlagsResult": { + "pants.backend.python.goals.pytest_runner.AllPytestPluginSetups": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.helm", - "pants.backend.go.util_rules.cgo_pkgconfig" + "pants.backend.experimental.go", + "pants.backend.experimental.python.framework.stevedore", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.python" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "CGoPkgConfigFlagsResult(cflags: 'tuple[str, ...]', ldflags: 'tuple[str, ...]')", + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.cgo_pkgconfig", - "name": "CGoPkgConfigFlagsResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.pytest_runner", + "name": "AllPytestPluginSetups", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args" + "pants.backend.python.goals.pytest_runner.run_all_setup_plugins" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.cgo.cgo_compile_request"] + "used_in_rules": [ + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" + ] }, - "pants.backend.go.util_rules.coverage.ApplyCodeCoverageRequest": { + "pants.backend.python.goals.pytest_runner.AllPytestPluginSetupsRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.coverage.go_apply_code_coverage" + "pants.backend.python.goals.pytest_runner.run_all_setup_plugins" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Apply code coverage to a package using `go tool cover`.", + "dependents": [ + "pants.backend.python" + ], + "documentation": "AllPytestPluginSetupsRequest(addresses: 'tuple[Address, ...]')", "is_union": false, - "module": "pants.backend.go.util_rules.coverage", - "name": "ApplyCodeCoverageRequest", - "provider": "pants.backend.go.util_rules.coverage", + "module": "pants.backend.python.goals.pytest_runner", + "name": "AllPytestPluginSetupsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" ] }, - "pants.backend.go.util_rules.coverage.ApplyCodeCoverageResult": { + "pants.backend.python.goals.pytest_runner.PyTestRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.goals.pytest_runner", + "name": "PyTestRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "TestRequest", + "used_in_rules": [] + }, + "pants.backend.python.goals.pytest_runner.PytestPluginSetup": { "consumed_by_rules": [], "dependencies": [ "builtins", + "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.go.util_rules.coverage", - "pants.core" + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ApplyCodeCoverageResult(digest: 'Digest', cover_file_metadatas: 'tuple[FileCodeCoverageMetadata, ...]', go_files: 'tuple[str, ...]', cgo_files: 'tuple[str, ...]')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "The result of custom set up logic before Pytest runs.\n\nPlease reach out it if you would like certain functionality, such as allowing your plugin to set\nenvironment variables.", "is_union": false, - "module": "pants.backend.go.util_rules.coverage", - "name": "ApplyCodeCoverageResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.pytest_runner", + "name": "PytestPluginSetup", + "provider": "pants.backend.experimental.python.framework.stevedore, pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.coverage.go_apply_code_coverage" + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", + "pants.backend.python.goals.pytest_runner.setup_runtime_packages" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package" + "pants.backend.python.goals.pytest_runner.run_all_setup_plugins" ] }, - "pants.backend.go.util_rules.coverage.ApplyCodeCoverageToFileRequest": { + "pants.backend.python.goals.pytest_runner.PytestPluginSetupRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.python.framework.stevedore", + "pants.backend.python" + ], + "documentation": "A request to set up the test environment before Pytest runs, e.g. to set up databases.\n\nTo use, subclass PytestPluginSetupRequest, register the rule\n`UnionRule(PytestPluginSetupRequest, MyCustomPytestPluginSetupRequest)`, and add a rule that\ntakes your subclass as a parameter and returns `PytestPluginSetup`.", + "is_union": true, + "module": "pants.backend.python.goals.pytest_runner", + "name": "PytestPluginSetupRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [ + "GenerateEntryPointsTxtFromStevedoreExtensionRequest", + "RuntimePackagesPluginRequest" + ], + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.pytest_runner.run_all_setup_plugins" + ] + }, + "pants.backend.python.goals.pytest_runner.RuntimePackagesPluginRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file" + "pants.backend.python.goals.pytest_runner.setup_runtime_packages" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ApplyCodeCoverageToFileRequest(digest: 'Digest', go_file: 'str', cover_go_file: 'str', mode: 'GoCoverMode', cover_var: 'str')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "RuntimePackagesPluginRequest(target: 'Target')", "is_union": false, - "module": "pants.backend.go.util_rules.coverage", - "name": "ApplyCodeCoverageToFileRequest", - "provider": "pants.backend.go.util_rules.coverage", + "module": "pants.backend.python.goals.pytest_runner", + "name": "RuntimePackagesPluginRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.coverage.go_apply_code_coverage" - ] + "union_type": "PytestPluginSetupRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.coverage.ApplyCodeCoverageToFileResult": { + "pants.backend.python.goals.pytest_runner.TestSetup": { "consumed_by_rules": [], "dependencies": [ + "builtins", + "pants.backend.docker", + "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.go.util_rules.coverage" + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.backend.shell", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs", + "pants.engine.process" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ApplyCodeCoverageToFileResult(digest: 'Digest', cover_go_file: 'str')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "TestSetup(process: 'Process', results_file_name: 'Optional[str]')", "is_union": false, - "module": "pants.backend.go.util_rules.coverage", - "name": "ApplyCodeCoverageToFileResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.pytest_runner", + "name": "TestSetup", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file" + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.coverage.go_apply_code_coverage" + "pants.backend.python.goals.pytest_runner.debug_python_test", + "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "pants.backend.python.goals.pytest_runner.run_python_tests" ] }, - "pants.backend.go.util_rules.coverage.GenerateCoverageSetupCodeRequest": { + "pants.backend.python.goals.pytest_runner.TestSetupRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code" + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GenerateCoverageSetupCodeRequest(packages: 'FrozenOrderedSet[BuiltGoPackageCodeCoverageMetadata]', cover_mode: 'GoCoverMode')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "TestSetupRequest(field_sets: 'Tuple[PythonTestFieldSet, ...]', metadata: 'TestMetadata', is_debug: 'bool', extra_env: 'FrozenDict[str, str]' = FrozenDict({}), prepend_argv: 'Tuple[str, ...]' = (), additional_pexes: 'Tuple[Pex, ...]' = ())", "is_union": false, - "module": "pants.backend.go.util_rules.coverage", - "name": "GenerateCoverageSetupCodeRequest", - "provider": "pants.backend.go.util_rules.coverage", + "module": "pants.backend.python.goals.pytest_runner", + "name": "TestSetupRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.goals.test.prepare_go_test_binary"] + "used_in_rules": [ + "pants.backend.python.goals.pytest_runner.debug_python_test", + "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "pants.backend.python.goals.pytest_runner.run_python_tests" + ] }, - "pants.backend.go.util_rules.coverage.GenerateCoverageSetupCodeResult": { - "consumed_by_rules": [], + "pants.backend.python.goals.repl.IPythonRepl": { + "consumed_by_rules": [ + "pants.backend.python.goals.repl.create_ipython_repl_request" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.go.util_rules.coverage", "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GenerateCoverageSetupCodeResult(digest: 'Digest')", - "is_union": false, - "module": "pants.backend.go.util_rules.coverage", - "name": "GenerateCoverageSetupCodeResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code" + "dependents": [ + "pants.backend.python" ], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.goals.repl", + "name": "IPythonRepl", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.goals.test.prepare_go_test_binary"] + "union_type": "ReplImplementation", + "used_in_rules": [] }, - "pants.backend.go.util_rules.coverage_html.RenderGoCoverageProfileToHtmlRequest": { + "pants.backend.python.goals.repl.PythonRepl": { "consumed_by_rules": [ - "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html" + "pants.backend.python.goals.repl.create_python_repl_request" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "RenderGoCoverageProfileToHtmlRequest(raw_coverage_profile: 'bytes', description_of_origin: 'str', sources_digest: 'Digest', sources_dir_path: 'str')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.coverage_html", - "name": "RenderGoCoverageProfileToHtmlRequest", - "provider": "pants.backend.go.util_rules.coverage_html", + "module": "pants.backend.python.goals.repl", + "name": "PythonRepl", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report" - ] + "union_type": "ReplImplementation", + "used_in_rules": [] }, - "pants.backend.go.util_rules.coverage_html.RenderGoCoverageProfileToHtmlResult": { - "consumed_by_rules": [], + "pants.backend.python.goals.run_python_requirement.PythonRequirementFieldSet": { + "consumed_by_rules": [ + "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PythonRequirementFieldSet" + ], "dependencies": [ - "pants.backend.go.util_rules.coverage_html", - "pants.engine.fs" + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "RenderGoCoverageProfileToHtmlResult(html_output: 'bytes')", - "is_union": false, - "module": "pants.backend.go.util_rules.coverage_html", - "name": "RenderGoCoverageProfileToHtmlResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html" + "dependents": [ + "pants.backend.python" ], + "documentation": "PythonRequirementFieldSet(address: 'Address', requirements: 'PythonRequirementsField', dependencies: 'PythonRequirementDependenciesField', modules: 'PythonRequirementModulesField', resolve: 'PythonRequirementResolveField', entry_point: 'PythonRequirementEntryPointField')", + "is_union": false, + "module": "pants.backend.python.goals.run_python_requirement", + "name": "PythonRequirementFieldSet", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report" - ] + "union_type": "RunFieldSet", + "used_in_rules": [] }, - "pants.backend.go.util_rules.coverage_output.GoCoverageDataCollection": { + "pants.backend.python.goals.run_python_source.PythonSourceFieldSet": { "consumed_by_rules": [ - "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports" + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.go"], - "documentation": null, + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "PythonSourceFieldSet(address: 'Address', source: pants.backend.python.target_types.PythonSourceField, interpreter_constraints: pants.backend.python.target_types.InterpreterConstraintsField, _run_goal_use_sandbox: pants.backend.python.target_types.PythonRunGoalUseSandboxField)", "is_union": false, - "module": "pants.backend.go.util_rules.coverage_output", - "name": "GoCoverageDataCollection", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.goals.run_python_source", + "name": "PythonSourceFieldSet", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "CoverageDataCollection", + "union_type": "RunFieldSet", "used_in_rules": [] }, - "pants.backend.go.util_rules.coverage_output.RenderGoCoverageReportRequest": { + "pants.backend.python.goals.tailor.PutativePythonTargetsRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report" + "pants.backend.python.goals.tailor.find_putative_targets" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "RenderGoCoverageReportRequest(raw_report: 'GoCoverageData')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "PutativePythonTargetsRequest(dirs: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.go.util_rules.coverage_output", - "name": "RenderGoCoverageReportRequest", - "provider": "pants.backend.go.util_rules.coverage_output", + "module": "pants.backend.python.goals.tailor", + "name": "PutativePythonTargetsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports" - ] + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.coverage_output.RenderGoCoverageReportResult": { + "pants.backend.python.lint.add_trailing_comma.rules.AddTrailingCommaRequest": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.go.util_rules.coverage_output", - "pants.core", - "pants.engine.fs" + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "RenderGoCoverageReportResult(coverage_report: 'FilesystemCoverageReport', html_report: 'FilesystemCoverageReport | None' = None)", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.coverage_output", - "name": "RenderGoCoverageReportResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report" - ], + "module": "pants.backend.python.lint.add_trailing_comma.rules", + "name": "AddTrailingCommaRequest", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.first_party_pkg.FallibleFirstPartyPkgAnalysis": { + "pants.backend.python.lint.add_trailing_comma.skip_field.SkipAddTrailingCommaField": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.first_party_pkg", - "pants.core", - "pants.engine.process" + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Metadata for a Go package, but fallible if our analysis failed.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.first_party_pkg", - "name": "FallibleFirstPartyPkgAnalysis", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package" - ], + "module": "pants.backend.python.lint.add_trailing_comma.skip_field", + "name": "SkipAddTrailingCommaField", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest" - ] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.first_party_pkg.FallibleFirstPartyPkgDigest": { - "consumed_by_rules": [], + "pants.backend.python.lint.add_trailing_comma.subsystem.AddTrailingComma": { + "consumed_by_rules": [ + "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.first_party_pkg", - "pants.core", - "pants.engine.process" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "The source files for a Go package, but fallible if embed preparation failed.", + "dependents": [ + "pants.backend.experimental.python.lint.add_trailing_comma" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.first_party_pkg", - "name": "FallibleFirstPartyPkgDigest", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.add_trailing_comma.subsystem", + "name": "AddTrailingComma", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", "returned_by_rules": [ - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest" + "construct_scope_add_trailing_comma" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.first_party_pkg.FirstPartyPkgAnalysisRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package" + "pants.backend.python.lint.autoflake.rules.AutoflakeRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FirstPartyPkgAnalysisRequest(address: 'Address', build_opts: 'GoBuildOptions', extra_build_tags: 'tuple[str, ...]' = ())", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.first_party_pkg", - "name": "FirstPartyPkgAnalysisRequest", - "provider": "pants.backend.go.util_rules.first_party_pkg", + "module": "pants.backend.python.lint.autoflake.rules", + "name": "AutoflakeRequest", + "provider": "pants.backend.python.lint.autoflake", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.first_party_pkg.FirstPartyPkgDigestRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest" + "pants.backend.python.lint.autoflake.skip_field.SkipAutoflakeField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FirstPartyPkgDigestRequest(address: 'Address', build_opts: 'GoBuildOptions')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.first_party_pkg", - "name": "FirstPartyPkgDigestRequest", - "provider": "pants.backend.go.util_rules.first_party_pkg", + "module": "pants.backend.python.lint.autoflake.skip_field", + "name": "SkipAutoflakeField", + "provider": "pants.backend.python.lint.autoflake", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" - ] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.first_party_pkg.FirstPartyPkgImportPath": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.go.util_rules.first_party_pkg"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "The derived import path of a first party package, based on its owning go.mod.\n\nUse `FirstPartyPkgAnalysis` instead for more detailed information like parsed imports. Use\n`FirstPartyPkgDigest` for source files and embed config.", + "pants.backend.python.lint.autoflake.subsystem.Autoflake": { + "consumed_by_rules": [ + "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.python.lint.autoflake" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.first_party_pkg", - "name": "FirstPartyPkgImportPath", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.autoflake.subsystem", + "name": "Autoflake", + "provider": "pants.backend.python.lint.autoflake", "returned_by_rules": [ - "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path" + "construct_scope_autoflake" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.target_type_rules.go_map_import_paths_by_module", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.first_party_pkg.FirstPartyPkgImportPathRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path" + "pants.backend.python.lint.bandit.rules.BanditRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FirstPartyPkgImportPathRequest(address: 'Address')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.first_party_pkg", - "name": "FirstPartyPkgImportPathRequest", - "provider": "pants.backend.go.util_rules.first_party_pkg", + "module": "pants.backend.python.lint.bandit.rules", + "name": "BanditRequest", + "provider": "pants.backend.python.lint.bandit", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.target_type_rules.go_map_import_paths_by_module", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.go_bootstrap.GoBootstrap": { - "consumed_by_rules": ["pants.backend.go.util_rules.goroot.setup_goroot"], - "dependencies": ["pants.core", "pants.engine.env_vars"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoBootstrap(go_search_paths: 'tuple[str, ...]')", - "is_union": false, - "module": "pants.backend.go.util_rules.go_bootstrap", - "name": "GoBootstrap", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap" + "pants.backend.python.lint.bandit.skip_field.SkipBanditField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.lint.bandit.skip_field", + "name": "SkipBanditField", + "provider": "pants.backend.python.lint.bandit", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.go.util_rules.go_mod.AllGoModTargets": { + "pants.backend.python.lint.bandit.subsystem.Bandit": { "consumed_by_rules": [ - "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.bandit.rules.partition_bandit" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.python.lint.bandit" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.go_mod", - "name": "AllGoModTargets", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.bandit.subsystem", + "name": "Bandit", + "provider": "pants.backend.python.lint.bandit", "returned_by_rules": [ - "pants.backend.go.util_rules.go_mod.find_all_go_mod_targets" + "construct_scope_bandit" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.util_rules.go_mod.GoModInfo": { + "pants.backend.python.lint.black.rules.BlackRequest": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.helm", - "pants.backend.go.util_rules.go_mod" + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoModInfo(import_path: 'str', digest: 'Digest', mod_path: 'str', minimum_go_version: 'str | None')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.go_mod", - "name": "GoModInfo", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.go_mod.determine_go_mod_info" - ], + "module": "pants.backend.python.lint.black.rules", + "name": "BlackRequest", + "provider": "pants.backend.python.lint.black", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.target_type_rules.generate_targets_from_go_mod", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.go_mod.GoModInfoRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.go_mod.determine_go_mod_info" + "pants.backend.python.lint.black.skip_field.SkipBlackField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoModInfoRequest(source: 'Address | GoModSourcesField')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.go_mod", - "name": "GoModInfoRequest", - "provider": "pants.backend.go.util_rules.go_mod", + "module": "pants.backend.python.lint.black.skip_field", + "name": "SkipBlackField", + "provider": "pants.backend.python.lint.black", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.target_type_rules.generate_targets_from_go_mod", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path" - ] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.go_mod.NearestAncestorGoModRequest": { + "pants.backend.python.lint.black.subsystem.Black": { "consumed_by_rules": [ - "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod" + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BlackRequest", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.black.rules.partition_black", + "pants.core.goals.update_build_files.format_build_file_with_black" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "NearestAncestorGoModRequest(address: 'Address')", - "is_union": false, - "module": "pants.backend.go.util_rules.go_mod", - "name": "NearestAncestorGoModRequest", - "provider": "pants.backend.go.util_rules.go_mod", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.go_mod.find_owning_go_mod"] - }, - "pants.backend.go.util_rules.go_mod.NearestAncestorGoModResult": { - "consumed_by_rules": [], "dependencies": [ - "pants.backend.go.util_rules.go_mod", - "pants.engine.target" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "NearestAncestorGoModResult(address: 'Address')", + "dependents": [ + "pants.backend.build_files.fmt.black", + "pants.backend.python.lint.black", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.go_mod", - "name": "NearestAncestorGoModResult", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.black.subsystem", + "name": "Black", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod" + "construct_scope_black" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.go_mod.find_owning_go_mod"] + "used_in_rules": [] }, - "pants.backend.go.util_rules.go_mod.OwningGoMod": { + "pants.backend.python.lint.docformatter.rules.DocformatterRequest": { "consumed_by_rules": [], - "dependencies": ["builtins", "pants.backend.go.util_rules.go_mod"], - "dependents": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go" + "dependencies": [ + "pants.core" ], - "documentation": "OwningGoMod(address: 'Address')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.go_mod", - "name": "OwningGoMod", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.go_mod.find_owning_go_mod" - ], + "module": "pants.backend.python.lint.docformatter.rules", + "name": "DocformatterRequest", + "provider": "pants.backend.python.lint.docformatter", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.go_map_import_paths_by_module", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path", - "pants.backend.go.util_rules.go_mod.find_owning_go_mod" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.go_mod.OwningGoModRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.go_mod.find_owning_go_mod" + "pants.backend.python.lint.docformatter.skip_field.SkipDocformatterField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "OwningGoModRequest(address: 'Address')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.go_mod", - "name": "OwningGoModRequest", - "provider": "pants.backend.go.util_rules.go_mod", + "module": "pants.backend.python.lint.docformatter.skip_field", + "name": "SkipDocformatterField", + "provider": "pants.backend.python.lint.docformatter", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.go_map_import_paths_by_module", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path", - "pants.backend.go.util_rules.go_mod.find_owning_go_mod" - ] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.goroot.GoRoot": { + "pants.backend.python.lint.docformatter.subsystem.Docformatter": { "consumed_by_rules": [ - "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", - "pants.backend.go.go_sources.load_go_binary.setup_go_binary", - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.lint.gofmt.rules.gofmt_fmt", - "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg.compute_compile_action_id", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", - "pants.backend.go.util_rules.cgo.setup_compiler_cmd", - "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer", - "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup", - "pants.backend.go.util_rules.sdk.setup_go_sdk_process" + "pants.backend.python.lint.docformatter.rules.docformatter_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest" ], - "dependencies": ["pants.backend.experimental.helm", "pants.core"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Path to the Go installation (the `GOROOT`).", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.python.lint.docformatter" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.goroot", - "name": "GoRoot", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.backend.go.util_rules.goroot.setup_goroot"], + "module": "pants.backend.python.lint.docformatter.subsystem", + "name": "Docformatter", + "provider": "pants.backend.python.lint.docformatter", + "returned_by_rules": [ + "construct_scope_docformatter" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.util_rules.implicit_linker_deps.SdkImplicitLinkerDependenciesHook": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies" + "pants.backend.python.lint.flake8.rules.Flake8Request": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": ["pants.backend.go.util_rules.link_defs"], - "dependents": ["pants.backend.experimental.go"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.implicit_linker_deps", - "name": "SdkImplicitLinkerDependenciesHook", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.flake8.rules", + "name": "Flake8Request", + "provider": "pants.backend.python.lint.flake8", "returned_by_rules": [], "union_members": [], - "union_type": "ImplicitLinkerDependenciesHook", + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.go.util_rules.import_analysis.GoStdLibPackages": { + "pants.backend.python.lint.flake8.skip_field.SkipFlake8Field": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.helm", - "pants.backend.go.util_rules.import_analysis" + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "A mapping of standard library import paths to an analysis of the package at that import\npath.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.import_analysis", - "name": "GoStdLibPackages", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages" - ], + "module": "pants.backend.python.lint.flake8.skip_field", + "name": "SkipFlake8Field", + "provider": "pants.backend.python.lint.flake8", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" - ] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.import_analysis.GoStdLibPackagesRequest": { + "pants.backend.python.lint.flake8.subsystem.Flake8": { "consumed_by_rules": [ - "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages" + "pants.backend.python.lint.flake8.rules.partition_flake8", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoStdLibPackagesRequest(with_race_detector: 'bool', cgo_enabled: 'bool' = True)", - "is_union": false, - "module": "pants.backend.go.util_rules.import_analysis", - "name": "GoStdLibPackagesRequest", - "provider": "pants.backend.go.util_rules.import_analysis", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib" - ] - }, - "pants.backend.go.util_rules.import_config.ImportConfig": { - "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.go.util_rules.import_config", - "pants.core" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "An `importcfg` file associating import paths to their `__pkg__.a` files.", + "dependents": [ + "pants.backend.python.lint.flake8" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.import_config", - "name": "ImportConfig", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.flake8.subsystem", + "name": "Flake8", + "provider": "pants.backend.python.lint.flake8", "returned_by_rules": [ - "pants.backend.go.util_rules.import_config.generate_import_config" + "construct_scope_flake8" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.link.link_go_binary" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.import_config.ImportConfigRequest": { + "pants.backend.python.lint.flake8.subsystem.Flake8FirstPartyPlugins": { "consumed_by_rules": [ - "pants.backend.go.util_rules.import_config.generate_import_config" + "pants.backend.python.lint.flake8.rules.partition_flake8", + "pants.backend.python.lint.flake8.rules.run_flake8" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Create an `importcfg` file associating import paths to their `__pkg__.a` files.", - "is_union": false, - "module": "pants.backend.go.util_rules.import_config", - "name": "ImportConfigRequest", - "provider": "pants.backend.go.util_rules.import_config", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.link.link_go_binary" - ] - }, - "pants.backend.go.util_rules.link.LinkGoBinaryRequest": { - "consumed_by_rules": ["pants.backend.go.util_rules.link.link_go_binary"], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Link a Go binary from package archives and an import configuration.", - "is_union": false, - "module": "pants.backend.go.util_rules.link", - "name": "LinkGoBinaryRequest", - "provider": "pants.backend.go.util_rules.link", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.go_sources.load_go_binary.setup_go_binary", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary" - ] - }, - "pants.backend.go.util_rules.link.LinkedGoBinary": { - "consumed_by_rules": [], "dependencies": [ "builtins", + "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.go.util_rules.link", + "pants.backend.python", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.unions" + "pants.engine.addresses" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "A linked Go binary stored in a `Digest`.", + "dependents": [ + "pants.backend.python.lint.flake8" + ], + "documentation": "Flake8FirstPartyPlugins(requirement_strings: 'FrozenOrderedSet[str]', interpreter_constraints_fields: 'FrozenOrderedSet[InterpreterConstraintsField]', sources_digest: 'Digest')", "is_union": false, - "module": "pants.backend.go.util_rules.link", - "name": "LinkedGoBinary", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.backend.go.util_rules.link.link_go_binary"], + "module": "pants.backend.python.lint.flake8.subsystem", + "name": "Flake8FirstPartyPlugins", + "provider": "pants.backend.python.lint.flake8", + "returned_by_rules": [ + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.go_sources.load_go_binary.setup_go_binary", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.goals.test.prepare_go_test_binary" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.link.LinkerSetup": { - "consumed_by_rules": ["pants.backend.go.util_rules.link.link_go_binary"], + "pants.backend.python.lint.isort.rules.IsortRequest": { + "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "LinkerSetup(digest: 'Digest', extld_wrapper_path: 'str')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.link", - "name": "LinkerSetup", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.backend.go.util_rules.link.setup_go_linker"], + "module": "pants.backend.python.lint.isort.rules", + "name": "IsortRequest", + "provider": "pants.backend.python.lint.isort", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.go.util_rules.link_defs.ImplicitLinkerDependencies": { + "pants.backend.python.lint.isort.skip_field.SkipIsortField": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core" + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ImplicitLinkerDependencies(digest: 'Digest', import_paths_to_pkg_a_files: 'FrozenDict[str, str]')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.link_defs", - "name": "ImplicitLinkerDependencies", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.link.link_go_binary"] - }, - "pants.backend.go.util_rules.link_defs.ImplicitLinkerDependenciesHook": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ImplicitLinkerDependenciesHook(build_opts: 'GoBuildOptions')", - "is_union": true, - "module": "pants.backend.go.util_rules.link_defs", - "name": "ImplicitLinkerDependenciesHook", - "provider": "pants.backend.go.util_rules.link_defs", + "module": "pants.backend.python.lint.isort.skip_field", + "name": "SkipIsortField", + "provider": "pants.backend.python.lint.isort", "returned_by_rules": [], - "union_members": ["SdkImplicitLinkerDependenciesHook"], - "union_type": null, - "used_in_rules": ["pants.backend.go.util_rules.link.link_go_binary"] + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.pkg_analyzer.PackageAnalyzerSetup": { + "pants.backend.python.lint.isort.subsystem.Isort": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest" + ], + "dependencies": [ + "pants.option.scope" ], - "dependencies": [], "dependents": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go" + "pants.backend.python.lint.isort" ], - "documentation": "PackageAnalyzerSetup(digest: Digest, path: str)", + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.pkg_analyzer", - "name": "PackageAnalyzerSetup", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.isort.subsystem", + "name": "Isort", + "provider": "pants.backend.python.lint.isort", "returned_by_rules": [ - "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer" + "construct_scope_isort" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.util_rules.sdk.GoSdkProcess": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.sdk.setup_go_sdk_process" + "pants.backend.python.lint.pydocstyle.rules.PydocstyleRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoSdkProcess(command: 'Iterable[str]', *, description: 'str', env: 'Mapping[str, str] | None' = None, input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), working_dir: 'str | None' = None, output_files: 'Iterable[str]' = (), output_directories: 'Iterable[str]' = (), allow_downloads: 'bool' = False, replace_sandbox_root_in_args: 'bool' = False) -> 'None'", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.sdk", - "name": "GoSdkProcess", - "provider": "pants.backend.go.util_rules.sdk", + "module": "pants.backend.python.lint.pydocstyle.rules", + "name": "PydocstyleRequest", + "provider": "pants.backend.python.lint.pydocstyle", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", - "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", - "pants.backend.go.util_rules.go_mod.determine_go_mod_info", - "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages", - "pants.backend.go.util_rules.link.link_go_binary", - "pants.backend.go.util_rules.sdk.compute_go_tool_id", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", - "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.sdk.GoSdkRunSetup": { + "pants.backend.python.lint.pydocstyle.skip_field.SkipPydocstyleField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.lint.pydocstyle.skip_field", + "name": "SkipPydocstyleField", + "provider": "pants.backend.python.lint.pydocstyle", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.python.lint.pydocstyle.subsystem.Pydocstyle": { "consumed_by_rules": [ - "pants.backend.go.util_rules.sdk.setup_go_sdk_process" + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_PydocstyleRequest" ], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoSdkRunSetup(digest: 'Digest', script: 'FileContent')", + "dependents": [ + "pants.backend.python.lint.pydocstyle" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.sdk", - "name": "GoSdkRunSetup", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.pydocstyle.subsystem", + "name": "Pydocstyle", + "provider": "pants.backend.python.lint.pydocstyle", "returned_by_rules": [ - "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup" + "construct_scope_pydocstyle" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.go.util_rules.sdk.GoSdkToolIDRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.sdk.compute_go_tool_id" + "pants.backend.python.lint.pylint.rules.PylintRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoSdkToolIDRequest(tool_name: 'str')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.sdk", - "name": "GoSdkToolIDRequest", - "provider": "pants.backend.go.util_rules.sdk", + "module": "pants.backend.python.lint.pylint.rules", + "name": "PylintRequest", + "provider": "pants.backend.python.lint.pylint", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg.compute_compile_action_id", - "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", - "pants.backend.go.util_rules.link.link_go_binary" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.sdk.GoSdkToolIDResult": { + "pants.backend.python.lint.pylint.skip_field.SkipPylintField": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.helm", - "pants.backend.go.util_rules.sdk" + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GoSdkToolIDResult(tool_name: 'str', tool_id: 'str')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.sdk", - "name": "GoSdkToolIDResult", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.sdk.compute_go_tool_id" - ], + "module": "pants.backend.python.lint.pylint.skip_field", + "name": "SkipPylintField", + "provider": "pants.backend.python.lint.pylint", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg.compute_compile_action_id", - "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", - "pants.backend.go.util_rules.link.link_go_binary" - ] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.tests_analysis.GenerateTestMainRequest": { + "pants.backend.python.lint.pylint.subsystem.Pylint": { "consumed_by_rules": [ - "pants.backend.go.util_rules.tests_analysis.generate_testmain" + "pants.backend.python.lint.pylint.rules.partition_pylint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GenerateTestMainRequest(digest: 'Digest', test_paths: 'FrozenOrderedSet[str]', xtest_paths: 'FrozenOrderedSet[str]', import_path: 'str', register_cover: 'bool', address: 'Address')", - "is_union": false, - "module": "pants.backend.go.util_rules.tests_analysis", - "name": "GenerateTestMainRequest", - "provider": "pants.backend.go.util_rules.tests_analysis", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.go.goals.test.prepare_go_test_binary"] - }, - "pants.backend.go.util_rules.tests_analysis.GeneratedTestMain": { - "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.tests_analysis", - "pants.core", - "pants.engine.process" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GeneratedTestMain(digest: 'Digest', has_tests: 'bool', has_xtests: 'bool', failed_exit_code_and_stderr: 'tuple[int, str] | None')", + "dependents": [ + "pants.backend.python.lint.pylint" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.tests_analysis", - "name": "GeneratedTestMain", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.pylint.subsystem", + "name": "Pylint", + "provider": "pants.backend.python.lint.pylint", "returned_by_rules": [ - "pants.backend.go.util_rules.tests_analysis.generate_testmain" + "construct_scope_pylint" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.go.goals.test.prepare_go_test_binary"] + "used_in_rules": [] }, - "pants.backend.go.util_rules.third_party_pkg.AllThirdPartyPackages": { - "consumed_by_rules": [], + "pants.backend.python.lint.pylint.subsystem.PylintFirstPartyPlugins": { + "consumed_by_rules": [ + "pants.backend.python.lint.pylint.rules.partition_pylint", + "pants.backend.python.lint.pylint.rules.run_pylint" + ], "dependencies": [ "builtins", + "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.go.util_rules.third_party_pkg", - "pants.core" + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.addresses" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "All the packages downloaded from a go.mod, along with a digest of the downloaded files.\n\nThe digest has files in the format `gopath/pkg/mod`, which is what `GoSdkProcess` sets `GOPATH`\nto. This means that you can include the digest in a process and Go will properly consume it as\nthe `GOPATH`.", + "dependents": [ + "pants.backend.python.lint.pylint" + ], + "documentation": "PylintFirstPartyPlugins(requirement_strings: 'FrozenOrderedSet[str]', interpreter_constraints_fields: 'FrozenOrderedSet[InterpreterConstraintsField]', sources_digest: 'Digest')", "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "AllThirdPartyPackages", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.pylint.subsystem", + "name": "PylintFirstPartyPlugins", + "provider": "pants.backend.python.lint.pylint", "returned_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.target_type_rules.generate_targets_from_go_mod", - "pants.backend.go.util_rules.third_party_pkg.extract_package_info" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.third_party_pkg.AllThirdPartyPackagesRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + "pants.backend.python.lint.pyupgrade.rules.PyUpgradeRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "AllThirdPartyPackagesRequest(go_mod_address: 'Address', go_mod_digest: 'Digest', go_mod_path: 'str', build_opts: 'GoBuildOptions')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "AllThirdPartyPackagesRequest", - "provider": "pants.backend.go.util_rules.third_party_pkg", + "module": "pants.backend.python.lint.pyupgrade.rules", + "name": "PyUpgradeRequest", + "provider": "pants.backend.python.lint.pyupgrade", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.target_type_rules.generate_targets_from_go_mod", - "pants.backend.go.util_rules.third_party_pkg.extract_package_info" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.third_party_pkg.AnalyzeThirdPartyModuleRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" + "pants.backend.python.lint.pyupgrade.skip_field.SkipPyUpgradeField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "AnalyzeThirdPartyModuleRequest(go_mod_address: 'Address', go_mod_digest: 'Digest', go_mod_path: 'str', import_path: 'str', name: 'str', version: 'str', minimum_go_version: 'str | None', build_opts: 'GoBuildOptions')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "AnalyzeThirdPartyModuleRequest", - "provider": "pants.backend.go.util_rules.third_party_pkg", + "module": "pants.backend.python.lint.pyupgrade.skip_field", + "name": "SkipPyUpgradeField", + "provider": "pants.backend.python.lint.pyupgrade", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" - ] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.backend.go.util_rules.third_party_pkg.AnalyzeThirdPartyPackageRequest": { + "pants.backend.python.lint.pyupgrade.subsystem.PyUpgrade": { "consumed_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package" + "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "AnalyzeThirdPartyPackageRequest(pkg_json: 'FrozenDict[str, Any]', module_sources_digest: 'Digest', module_sources_path: 'str', module_import_path: 'str', package_path: 'str', minimum_go_version: 'str | None')", - "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "AnalyzeThirdPartyPackageRequest", - "provider": "pants.backend.go.util_rules.third_party_pkg", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" - ] - }, - "pants.backend.go.util_rules.third_party_pkg.AnalyzedThirdPartyModule": { - "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.go.util_rules.third_party_pkg", - "pants.engine.fs" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "AnalyzedThirdPartyModule(packages: 'FrozenOrderedSet[ThirdPartyPkgAnalysis]')", + "dependents": [ + "pants.backend.python.lint.pyupgrade" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "AnalyzedThirdPartyModule", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.pyupgrade.subsystem", + "name": "PyUpgrade", + "provider": "pants.backend.python.lint.pyupgrade", "returned_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" + "construct_scope_pyupgrade" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.third_party_pkg.FallibleThirdPartyPkgAnalysis": { + "pants.backend.python.lint.ruff.rules.RuffFixRequest": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.go.util_rules.third_party_pkg", - "pants.core", - "pants.engine.process" + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Metadata for a third-party Go package, but fallible if our analysis failed.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "FallibleThirdPartyPkgAnalysis", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package" - ], + "module": "pants.backend.python.lint.ruff.rules", + "name": "RuffFixRequest", + "provider": "pants.backend.experimental.python.lint.ruff", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.third_party_pkg.ModuleDescriptors": { + "pants.backend.python.lint.ruff.rules.RuffLintRequest": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.helm", - "pants.backend.go.util_rules.third_party_pkg" + "pants.core" ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ModuleDescriptors(modules: 'FrozenOrderedSet[ModuleDescriptor]', go_mods_digest: 'Digest')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "ModuleDescriptors", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies" - ], + "module": "pants.backend.python.lint.ruff.rules", + "name": "RuffLintRequest", + "provider": "pants.backend.experimental.python.lint.ruff", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.go.util_rules.third_party_pkg.ModuleDescriptorsRequest": { + "pants.backend.python.lint.ruff.rules._RunRuffRequest": { "consumed_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies" + "pants.backend.python.lint.ruff.rules.run_ruff" ], "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ModuleDescriptorsRequest(digest: 'Digest', path: 'str')", + "dependents": [ + "pants.backend.experimental.python.lint.ruff" + ], + "documentation": "_RunRuffRequest(snapshot: 'Snapshot', is_fix: 'bool')", "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "ModuleDescriptorsRequest", - "provider": "pants.backend.go.util_rules.third_party_pkg", + "module": "pants.backend.python.lint.ruff.rules", + "name": "_RunRuffRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages" + "pants.backend.python.lint.ruff.rules.ruff_fix", + "pants.backend.python.lint.ruff.rules.ruff_lint" ] }, - "pants.backend.go.util_rules.third_party_pkg.ThirdPartyPkgAnalysis": { + "pants.backend.python.lint.ruff.skip_field.SkipRuffField": { "consumed_by_rules": [], - "dependencies": ["pants.backend.go.util_rules.third_party_pkg"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "All the info and files needed to build a third-party package.\n\nThe digest only contains the files for the package, with all prefixes stripped.", + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "ThirdPartyPkgAnalysis", - "provider": "pants.backend.experimental.go", + "module": "pants.backend.python.lint.ruff.skip_field", + "name": "SkipRuffField", + "provider": "pants.backend.experimental.python.lint.ruff", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.python.lint.ruff.subsystem.Ruff": { + "consumed_by_rules": [ + "pants.backend.python.lint.ruff.rules.ruff_fix", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_RuffLintRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.python.lint.ruff" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.lint.ruff.subsystem", + "name": "Ruff", + "provider": "pants.backend.experimental.python.lint.ruff", "returned_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.extract_package_info" + "construct_scope_ruff" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" - ] + "used_in_rules": [] }, - "pants.backend.go.util_rules.third_party_pkg.ThirdPartyPkgAnalysisRequest": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.third_party_pkg.extract_package_info" + "pants.backend.python.lint.yapf.rules.YapfRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Request the info and digest needed to build a third-party package.\n\nThe package's module must be included in the input `go.mod`/`go.sum`.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.go.util_rules.third_party_pkg", - "name": "ThirdPartyPkgAnalysisRequest", - "provider": "pants.backend.go.util_rules.third_party_pkg", + "module": "pants.backend.python.lint.yapf.rules", + "name": "YapfRequest", + "provider": "pants.backend.python.lint.yapf", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request" - ] + "union_type": "AbstractLintRequest", + "used_in_rules": [] }, - "pants.backend.google_cloud_function.python.rules.PythonGoogleCloudFunctionFieldSet": { - "consumed_by_rules": [ - "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function" + "pants.backend.python.lint.yapf.skip_field.SkipYapfField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.google_cloud_function.python"], - "documentation": "PythonGoogleCloudFunctionFieldSet(address: 'Address', handler: 'PythonGoogleCloudFunctionHandlerField', runtime: 'PythonGoogleCloudFunctionRuntime', complete_platforms: 'PythonFaaSCompletePlatforms', type: 'PythonGoogleCloudFunctionType', output_path: 'OutputPathField', environment: 'EnvironmentField')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.google_cloud_function.python.rules", - "name": "PythonGoogleCloudFunctionFieldSet", - "provider": "pants.backend.google_cloud_function.python", + "module": "pants.backend.python.lint.yapf.skip_field", + "name": "SkipYapfField", + "provider": "pants.backend.python.lint.yapf", "returned_by_rules": [], "union_members": [], - "union_type": "PackageFieldSet", + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.helm.dependency_inference.chart.FirstPartyHelmChartMapping": { + "pants.backend.python.lint.yapf.subsystem.Yapf": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata" + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_YapfRequest", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.core.goals.update_build_files.format_build_file_with_yapf", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.build_files.fmt.yapf", + "pants.backend.python.lint.yapf", + "pants.core" ], - "dependencies": ["pants.backend.helm.util_rules.chart_metadata"], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.dependency_inference.chart", - "name": "FirstPartyHelmChartMapping", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.lint.yapf.subsystem", + "name": "Yapf", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping" + "construct_scope_yapf" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.dependency_inference.chart.InferHelmChartDependenciesRequest": { + "pants.backend.python.macros.pipenv_requirements.GenerateFromPipenvRequirementsRequest": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata" + "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.dependency_inference.chart", - "name": "InferHelmChartDependenciesRequest", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.macros.pipenv_requirements", + "name": "GenerateFromPipenvRequirementsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "GenerateTargetsRequest", "used_in_rules": [] }, - "pants.backend.helm.dependency_inference.deployment.AnalyseHelmDeploymentRequest": { + "pants.backend.python.macros.poetry_requirements.GenerateFromPoetryRequirementsRequest": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.deployment.analyse_deployment" + "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "AnalyseHelmDeploymentRequest(field_set: 'HelmDeploymentFieldSet')", + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.dependency_inference.deployment", - "name": "AnalyseHelmDeploymentRequest", - "provider": "pants.backend.helm.dependency_inference.deployment", + "module": "pants.backend.python.macros.poetry_requirements", + "name": "GenerateFromPoetryRequirementsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" - ] + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] }, - "pants.backend.helm.dependency_inference.deployment.FirstPartyHelmDeploymentMapping": { + "pants.backend.python.macros.python_requirements.GenerateFromPythonRequirementsRequest": { + "consumed_by_rules": [ + "pants.backend.python.macros.python_requirements.generate_from_python_requirement" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.macros.python_requirements", + "name": "GenerateFromPythonRequirementsRequest", + "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.docker", - "pants.backend.helm.dependency_inference.deployment", - "pants.build_graph.address" + "pants.backend.experimental.go", + "pants.backend.project_info", + "pants.core", + "pants.engine.addresses", + "pants.engine.console", + "pants.engine.target", + "pants.engine.unions" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "A mapping between `helm_deployment` target addresses and tuples made up of a Docker image\nreference and a `docker_image` target address.\n\nThe tuples of Docker image references and addresses are stored in a YAML index so we can track\nthe locations in which the Docker image refs appear in the deployment files.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.dependency_inference.deployment", - "name": "FirstPartyHelmDeploymentMapping", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.mixed_interpreter_constraints.py_constraints", + "name": "PyConstraintsGoal", + "provider": "pants.backend.python.mixed_interpreter_constraints", "returned_by_rules": [ - "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" - ] + "used_in_rules": [] }, - "pants.backend.helm.dependency_inference.deployment.FirstPartyHelmDeploymentMappingRequest": { + "pants.backend.python.mixed_interpreter_constraints.py_constraints.PyConstraintsSubsystem": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "FirstPartyHelmDeploymentMappingRequest(field_set: 'HelmDeploymentFieldSet')", - "is_union": false, - "module": "pants.backend.helm.dependency_inference.deployment", - "name": "FirstPartyHelmDeploymentMappingRequest", - "provider": "pants.backend.helm.dependency_inference.deployment", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" - ] - }, - "pants.backend.helm.dependency_inference.deployment.HelmDeploymentReport": { - "consumed_by_rules": [], "dependencies": [ - "pants.backend.helm.dependency_inference.deployment", - "pants.engine.fs" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmDeploymentReport(address: 'Address', image_refs: 'FrozenYamlIndex[str]')", - "is_union": false, - "module": "pants.backend.helm.dependency_inference.deployment", - "name": "HelmDeploymentReport", - "provider": "pants.backend.experimental.helm", + "dependents": [ + "pants.backend.python.mixed_interpreter_constraints" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.mixed_interpreter_constraints.py_constraints", + "name": "PyConstraintsSubsystem", + "provider": "pants.backend.python.mixed_interpreter_constraints", "returned_by_rules": [ - "pants.backend.helm.dependency_inference.deployment.analyse_deployment" + "construct_scope_py_constraints" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" - ] + "used_in_rules": [] }, - "pants.backend.helm.dependency_inference.deployment.InferHelmDeploymentDependenciesRequest": { + "pants.backend.python.packaging.pyoxidizer.rules.PyOxidizerFieldSet": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies" + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PyOxidizerFieldSet" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": null, + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.python.packaging.pyoxidizer" + ], + "documentation": "PyOxidizerFieldSet(address: 'Address', binary_name: 'PyOxidizerBinaryNameField', entry_point: 'PyOxidizerEntryPointField', dependencies: 'PyOxidizerDependenciesField', unclassified_resources: 'PyOxidizerUnclassifiedResources', template: 'PyOxidizerConfigSourceField', output_path: 'PyOxidizerOutputPathField', environment: 'EnvironmentField')", "is_union": false, - "module": "pants.backend.helm.dependency_inference.deployment", - "name": "InferHelmDeploymentDependenciesRequest", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.packaging.pyoxidizer.rules", + "name": "PyOxidizerFieldSet", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "PackageFieldSet", "used_in_rules": [] }, - "pants.backend.helm.dependency_inference.unittest.InferHelmUnitTestChartDependencyRequest": { + "pants.backend.python.packaging.pyoxidizer.rules.PyoxidizerRunnerScript": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests" + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": null, + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.python.packaging.pyoxidizer" + ], + "documentation": "PyoxidizerRunnerScript(digest: 'Digest', path: 'str')", "is_union": false, - "module": "pants.backend.helm.dependency_inference.unittest", - "name": "InferHelmUnitTestChartDependencyRequest", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [], + "module": "pants.backend.python.packaging.pyoxidizer.rules", + "name": "PyoxidizerRunnerScript", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer", + "returned_by_rules": [ + "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script" + ], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.goals.deploy.DeployHelmDeploymentFieldSet": { - "consumed_by_rules": ["pants.backend.helm.goals.deploy.run_helm_deploy"], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "DeployHelmDeploymentFieldSet(address: 'Address', chart: 'HelmDeploymentChartField', description: 'DescriptionField', release_name: 'HelmDeploymentReleaseNameField', namespace: 'HelmDeploymentNamespaceField', sources: 'HelmDeploymentSourcesField', skip_crds: 'HelmDeploymentSkipCrdsField', no_hooks: 'HelmDeploymentNoHooksField', dependencies: 'HelmDeploymentDependenciesField', values: 'HelmDeploymentValuesField', post_renderers: 'HelmDeploymentPostRenderersField', enable_dns: 'HelmDeploymentEnableDNSField', timeout: 'HelmDeploymentTimeoutField')", + "pants.backend.python.packaging.pyoxidizer.subsystem.PyOxidizer": { + "consumed_by_rules": [ + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.python.packaging.pyoxidizer" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.goals.deploy", - "name": "DeployHelmDeploymentFieldSet", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [], + "module": "pants.backend.python.packaging.pyoxidizer.subsystem", + "name": "PyOxidizer", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer", + "returned_by_rules": [ + "construct_scope_pyoxidizer" + ], "union_members": [], - "union_type": "DeployFieldSet", + "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.goals.lint.HelmLintRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.backend.python.providers.pyenv.custom_install.rules.RunPyenvInstallFieldSet": { + "consumed_by_rules": [ + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunPyenvInstallFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunPyenvInstallFieldSet" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python.providers.experimental.pyenv.custom_install" + ], + "documentation": "RunPyenvInstallFieldSet(address: 'Address', _sentinel: pants.backend.python.providers.pyenv.custom_install.target_types.PyenvInstallSentinelField)", "is_union": false, - "module": "pants.backend.helm.goals.lint", - "name": "HelmLintRequest", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.providers.pyenv.custom_install.rules", + "name": "RunPyenvInstallFieldSet", + "provider": "pants.backend.python.providers.experimental.pyenv.custom_install", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "RunFieldSet", "used_in_rules": [] }, - "pants.backend.helm.goals.package.HelmPackageFieldSet": { + "pants.backend.python.providers.pyenv.custom_install.rules.SyntheticPyenvTargetsRequest": { "consumed_by_rules": [ - "pants.backend.helm.goals.package.run_helm_package" + "pants.backend.python.providers.pyenv.custom_install.rules.make_synthetic_targets" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmPackageFieldSet(address: 'Address', chart: 'HelmChartMetaSourceField', sources: 'HelmChartSourcesField', dependencies: 'HelmChartDependenciesField', description: 'DescriptionField', version: 'HelmChartVersionField', output_path: 'HelmChartOutputPathField')", + "dependencies": [ + "pants.engine.internals.synthetic_targets" + ], + "dependents": [ + "pants.backend.python.providers.experimental.pyenv.custom_install" + ], + "documentation": "SyntheticPyenvTargetsRequest(path: str = '')", "is_union": false, - "module": "pants.backend.helm.goals.package", - "name": "HelmPackageFieldSet", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.providers.pyenv.custom_install.rules", + "name": "SyntheticPyenvTargetsRequest", + "provider": "pants.backend.python.providers.experimental.pyenv.custom_install", "returned_by_rules": [], "union_members": [], - "union_type": "PackageFieldSet", + "union_type": "SyntheticTargetsRequest", "used_in_rules": [] }, - "pants.backend.helm.goals.publish.HelmPublishFieldSet": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": "HelmPublishFieldSet(address: 'Address', chart: 'HelmChartMetaSourceField', sources: 'HelmChartSourcesField', dependencies: 'HelmChartDependenciesField', description: 'DescriptionField', version: 'HelmChartVersionField', registries: 'HelmRegistriesField', repository: 'HelmChartRepositoryField', skip_push: 'HelmSkipPushField')", + "pants.backend.python.providers.pyenv.rules.PyenvInstallInfoRequest": { + "consumed_by_rules": [ + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info" + ], + "dependencies": [], + "dependents": [ + "pants.backend.python.providers.experimental.pyenv" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.goals.publish", - "name": "HelmPublishFieldSet", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.providers.pyenv.rules", + "name": "PyenvInstallInfoRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "PublishFieldSet", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "pants.backend.python.providers.pyenv.rules.get_python" + ] }, - "pants.backend.helm.goals.publish.PublishHelmChartRequest": { + "pants.backend.python.providers.pyenv.rules.PyenvPythonProvider": { "consumed_by_rules": [ - "pants.backend.helm.goals.publish.publish_helm_chart" + "pants.backend.python.providers.pyenv.rules.get_python" + ], + "dependencies": [ + "pants.backend.python" + ], + "dependents": [ + "pants.backend.python.providers.experimental.pyenv" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.goals.publish", - "name": "PublishHelmChartRequest", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.providers.pyenv.rules", + "name": "PyenvPythonProvider", + "provider": "pants.backend.python.providers.experimental.pyenv", "returned_by_rules": [], "union_members": [], - "union_type": "PublishRequest", + "union_type": "PythonProvider", "used_in_rules": [] }, - "pants.backend.helm.goals.tailor.PutativeHelmTargetsRequest": { + "pants.backend.python.providers.pyenv.rules.PyenvPythonProviderSubsystem": { "consumed_by_rules": [ - "pants.backend.helm.goals.tailor.find_putative_helm_targets" + "construct_env_aware_scope_pyenv_python_provider", + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.python.providers.pyenv.rules.get_python" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "PutativeHelmTargetsRequest(dirs: 'tuple[str, ...]')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.goals.tailor", - "name": "PutativeHelmTargetsRequest", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [], + "module": "pants.backend.python.providers.pyenv.rules", + "name": "PyenvPythonProviderSubsystem", + "provider": "pants.backend.python.providers.experimental.pyenv", + "returned_by_rules": [ + "construct_scope_pyenv_python_provider" + ], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.resolve.artifacts.HelmArtifact": { + "pants.backend.python.subsystems.debugpy.DebugPy": { "consumed_by_rules": [ - "pants.backend.helm.resolve.artifacts.resolved_helm_artifact" + "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmArtifact(requirement: 'HelmArtifactRequirement', address: 'Address')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.resolve.artifacts", - "name": "HelmArtifact", - "provider": "pants.backend.helm.resolve.artifacts", - "returned_by_rules": [], + "module": "pants.backend.python.subsystems.debugpy", + "name": "DebugPy", + "provider": "pants.backend.python", + "returned_by_rules": [ + "construct_scope_debugpy" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping", - "pants.backend.helm.resolve.fetch.fetch_helm_artifact" - ] + "used_in_rules": [] }, - "pants.backend.helm.resolve.artifacts.ResolvedHelmArtifact": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.helm.resolve.artifacts"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "ResolvedHelmArtifact(requirement: 'HelmArtifactRequirement', address: 'Address', location_url: 'str')", + "pants.backend.python.subsystems.ipython.IPython": { + "consumed_by_rules": [ + "pants.backend.python.goals.repl.create_ipython_repl_request" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.resolve.artifacts", - "name": "ResolvedHelmArtifact", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.subsystems.ipython", + "name": "IPython", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.resolve.artifacts.resolved_helm_artifact" + "construct_scope_ipython" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping", - "pants.backend.helm.resolve.fetch.fetch_helm_artifact" - ] + "used_in_rules": [] }, - "pants.backend.helm.resolve.artifacts.ThirdPartyHelmArtifactMapping": { + "pants.backend.python.subsystems.pytest.PyTest": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata" + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.python" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.resolve.artifacts", - "name": "ThirdPartyHelmArtifactMapping", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.subsystems.pytest", + "name": "PyTest", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping" + "construct_scope_pytest" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.resolve.fetch.FetchHelmArtifactRequest": { - "consumed_by_rules": [ - "pants.backend.helm.resolve.fetch.fetch_helm_artifact" + "pants.backend.python.subsystems.pytest.PythonTestFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "FetchHelmArtifactRequest(field_set: 'HelmArtifactFieldSet', description_of_origin: 'str')", + "dependents": [], + "documentation": "PythonTestFieldSet(address: 'Address', sources: 'SourcesField', source: 'PythonTestSourceField', interpreter_constraints: 'InterpreterConstraintsField', timeout: 'PythonTestsTimeoutField', runtime_package_dependencies: 'RuntimePackageDependenciesField', extra_env_vars: 'PythonTestsExtraEnvVarsField', xdist_concurrency: 'PythonTestsXdistConcurrencyField', batch_compatibility_tag: 'PythonTestsBatchCompatibilityTagField', resolve: 'PythonResolveField', environment: 'EnvironmentField')", "is_union": false, - "module": "pants.backend.helm.resolve.fetch", - "name": "FetchHelmArtifactRequest", - "provider": "pants.backend.helm.resolve.fetch", + "module": "pants.backend.python.subsystems.pytest", + "name": "PythonTestFieldSet", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.helm.util_rules.chart.find_chart_for_deployment", - "pants.backend.helm.util_rules.chart.get_helm_chart" - ] + "union_type": "TestFieldSet", + "used_in_rules": [] }, - "pants.backend.helm.resolve.fetch.FetchedHelmArtifact": { + "pants.backend.python.subsystems.python_native_code.EnvironmentAware": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.chart.create_chart_from_artifact" + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.helm.resolve.fetch", + "pants.backend.experimental.javascript" + ], + "dependents": [ "pants.core" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "FetchedHelmArtifact(artifact: 'ResolvedHelmArtifact', snapshot: 'Snapshot')", + "documentation": null, "is_union": false, - "module": "pants.backend.helm.resolve.fetch", - "name": "FetchedHelmArtifact", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.subsystems.python_native_code", + "name": "EnvironmentAware", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.helm.resolve.fetch.fetch_helm_artifact" + "construct_env_aware_scope_python_native_code" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.subsystems.helm.HelmSubsystem": { + "pants.backend.python.subsystems.python_native_code.PythonNativeCodeSubsystem": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", - "pants.backend.helm.goals.deploy.run_helm_deploy", - "pants.backend.helm.goals.lint.run_helm_lint", - "pants.backend.helm.goals.publish.publish_helm_chart", - "pants.backend.helm.goals.tailor.find_putative_helm_targets", - "pants.backend.helm.resolve.artifacts.resolved_helm_artifact", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.tool.helm_process", - "pants.backend.helm.util_rules.tool.setup_helm" + "construct_env_aware_scope_python_native_code" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.helm", - "name": "HelmSubsystem", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": ["construct_scope_helm"], + "module": "pants.backend.python.subsystems.python_native_code", + "name": "PythonNativeCodeSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_python_native_code" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.subsystems.k8s_parser.HelmKubeParserSubsystem": { + "pants.backend.python.subsystems.repos.PythonRepos": { "consumed_by_rules": [ - "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool" + "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.k8s_parser", - "name": "HelmKubeParserSubsystem", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": ["construct_scope_helm_k8s_parser"], + "module": "pants.backend.python.subsystems.repos", + "name": "PythonRepos", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_python_repos" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.subsystems.k8s_parser.ParseKubeManifestRequest": { + "pants.backend.python.subsystems.setup.PythonSetup": { "consumed_by_rules": [ - "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest" + "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", + "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", + "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses", + "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", + "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single", + "pants.backend.python.goals.export.export_virtualenv_for_resolve", + "pants.backend.python.goals.lockfile.determine_python_user_resolves", + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets", + "pants.backend.python.goals.lockfile.setup_user_lockfile_requests", + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "pants.backend.python.goals.pytest_runner.partition_python_tests", + "pants.backend.python.goals.repl.create_ipython_repl_request", + "pants.backend.python.goals.repl.create_python_repl_request", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.goals.tailor.find_putative_targets", + "pants.backend.python.lint.bandit.rules.partition_bandit", + "pants.backend.python.lint.black.rules.partition_black", + "pants.backend.python.lint.flake8.rules.partition_flake8", + "pants.backend.python.lint.pylint.rules.partition_pylint", + "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.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", + "pants.backend.python.target_types_rules.python_resolve_field_default_factory", + "pants.backend.python.target_types_rules.validate_python_dependencies", + "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_determine_partitions", + "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", + "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints", + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex", + "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets", + "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config", + "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve", + "pants.backend.python.util_rules.pex_requirements.load_lockfile", + "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "ParseKubeManifestRequest(file: 'FileEntry')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.python", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.pylint", + "pants.backend.python.mixed_interpreter_constraints", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.typecheck.mypy", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.k8s_parser", - "name": "ParseKubeManifestRequest", - "provider": "pants.backend.helm.subsystems.k8s_parser", - "returned_by_rules": [], + "module": "pants.backend.python.subsystems.setup", + "name": "PythonSetup", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_python" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.dependency_inference.deployment.analyse_deployment" - ] + "used_in_rules": [] }, - "pants.backend.helm.subsystems.k8s_parser.ParsedKubeManifest": { - "consumed_by_rules": [], + "pants.backend.python.subsystems.setup_py_generation.SetupPyGeneration": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.package_dists.get_requirements" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.helm.subsystems.k8s_parser", - "pants.core", - "pants.engine.process" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "ParsedKubeManifest(filename: 'str', found_image_refs: 'tuple[ParsedImageRefEntry, ...]')", + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.k8s_parser", - "name": "ParsedKubeManifest", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.subsystems.setup_py_generation", + "name": "SetupPyGeneration", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest" + "construct_scope_setup_py_generation" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.dependency_inference.deployment.analyse_deployment" - ] + "used_in_rules": [] }, - "pants.backend.helm.subsystems.k8s_parser._HelmKubeParserTool": { + "pants.backend.python.subsystems.setuptools.PythonDistributionFieldSet": { "consumed_by_rules": [ - "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest" + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.python", "pants.core" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "_HelmKubeParserTool(pex: 'VenvPex')", - "is_union": false, - "module": "pants.backend.helm.subsystems.k8s_parser", - "name": "_HelmKubeParserTool", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [ - "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool" + "dependents": [ + "pants.backend.python" ], + "documentation": "PythonDistributionFieldSet(address: 'Address', provides: pants.backend.python.target_types.PythonProvidesField)", + "is_union": false, + "module": "pants.backend.python.subsystems.setuptools", + "name": "PythonDistributionFieldSet", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [] + "union_type": "PackageFieldSet", + "used_in_rules": [ + "pants.backend.python.util_rules.local_dists.build_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" + ] }, - "pants.backend.helm.subsystems.post_renderer.HelmPostRenderer": { - "consumed_by_rules": [], + "pants.backend.python.subsystems.setuptools.Setuptools": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.dists.find_build_system" + ], "dependencies": [ - "builtins", - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.shell", - "pants.core", - "pants.engine.process" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmPostRenderer(*, exe: 'str', digest: 'Digest', description_of_origin: 'str', env: 'Mapping[str, str] | None' = None, immutable_input_digests: 'Mapping[str, Digest] | None' = None, append_only_caches: 'Mapping[str, str] | None' = None) -> 'None'", + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.post_renderer", - "name": "HelmPostRenderer", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.subsystems.setuptools", + "name": "Setuptools", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher" + "construct_scope_setuptools" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.helm.goals.deploy.run_helm_deploy"] + "used_in_rules": [] }, - "pants.backend.helm.subsystems.post_renderer.HelmPostRendererSubsystem": { + "pants.backend.python.subsystems.setuptools_scm.SetuptoolsSCM": { "consumed_by_rules": [ - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool" + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.python" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.post_renderer", - "name": "HelmPostRendererSubsystem", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": ["construct_scope_helm_post_renderer"], + "module": "pants.backend.python.subsystems.setuptools_scm", + "name": "SetuptoolsSCM", + "provider": "pants.backend.experimental.python", + "returned_by_rules": [ + "construct_scope_setuptools_scm" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.subsystems.post_renderer.SetupHelmPostRenderer": { + "pants.backend.python.subsystems.twine.TwineSubsystem": { "consumed_by_rules": [ - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher" + "pants.backend.python.goals.publish.twine_upload" ], "dependencies": [ - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.helm.util_rules.post_renderer", - "pants.core", - "pants.engine.unions" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "Request for a post-renderer process that will perform a series of replacements in the\ngenerated files.", + "dependents": [ + "pants.backend.experimental.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.post_renderer", - "name": "SetupHelmPostRenderer", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.subsystems.twine", + "name": "TwineSubsystem", + "provider": "pants.backend.experimental.python", "returned_by_rules": [ - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + "construct_scope_twine" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.subsystems.post_renderer._HelmPostRendererTool": { + "pants.backend.python.target_types.PexBinaryDefaults": { "consumed_by_rules": [ - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher" + "pants.backend.python.goals.package_pex_binary.package_pex_binary" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.python", - "pants.core" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "_HelmPostRendererTool(pex: 'VenvPex')", + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.post_renderer", - "name": "_HelmPostRendererTool", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.target_types", + "name": "PexBinaryDefaults", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool" + "construct_scope_pex_binary_defaults" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.subsystems.unittest.HelmUnitTestPluginBinding": { + "pants.backend.python.target_types.PexCompletePlatformsField": { "consumed_by_rules": [ - "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request" + "pants.backend.python.util_rules.pex.digest_complete_platforms" + ], + "dependencies": [], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.backend.helm.util_rules.tool"], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.unittest", - "name": "HelmUnitTestPluginBinding", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.target_types", + "name": "PexCompletePlatformsField", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "ExternalHelmPluginBinding", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.package_pex_binary.package_pex_binary" + ] }, - "pants.backend.helm.subsystems.unittest.HelmUnitTestSubsystem": { + "pants.backend.python.target_types.PythonFilesGeneratorSettingsRequest": { "consumed_by_rules": [ - "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request", - "pants.backend.helm.test.unittest.run_helm_unittest", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_HelmUnitTestRequest" + "pants.backend.python.target_types_rules.python_files_generator_settings" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.subsystems.unittest", - "name": "HelmUnitTestSubsystem", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": ["construct_scope_helm_unittest"], + "module": "pants.backend.python.target_types", + "name": "PythonFilesGeneratorSettingsRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "TargetFilesGeneratorSettingsRequest", "used_in_rules": [] }, - "pants.backend.helm.target_types.AllHelmArtifactTargets": { + "pants.backend.python.target_types.ResolvePexEntryPointRequest": { "consumed_by_rules": [ - "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping" + "pants.backend.python.target_types_rules.resolve_pex_entry_point" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": null, - "is_union": false, - "module": "pants.backend.helm.target_types", - "name": "AllHelmArtifactTargets", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [ - "pants.backend.helm.target_types.all_helm_artifact_targets" + "dependencies": [], + "dependents": [ + "pants.backend.python" ], + "documentation": "Determine the `entry_point` for a `pex_binary` after applying all syntactic sugar.", + "is_union": false, + "module": "pants.backend.python.target_types", + "name": "ResolvePexEntryPointRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.package_pex_binary.package_pex_binary", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.goals.tailor.find_putative_targets", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points" + ] }, - "pants.backend.helm.target_types.AllHelmChartTargets": { + "pants.backend.python.target_types.ResolvePythonDistributionEntryPointsRequest": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping", - "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests" + "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": null, - "is_union": false, - "module": "pants.backend.helm.target_types", - "name": "AllHelmChartTargets", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [ - "pants.backend.helm.target_types.all_helm_chart_targets" + "dependencies": [], + "dependents": [ + "pants.backend.python" ], + "documentation": "Looks at the entry points to see if it is a setuptools entry point, or a BUILD target address\nthat should be resolved into a setuptools entry point.\n\nIf the `entry_points_field` is present, inspect the specified entry points.\nIf the `provides_field` is present, inspect the `provides_field.kwargs[\"entry_points\"]`.\n\nThis is to support inspecting one or the other depending on use case, using the same\nlogic for resolving pex_binary addresses etc.", + "is_union": false, + "module": "pants.backend.python.target_types", + "name": "ResolvePythonDistributionEntryPointsRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs" + ] }, - "pants.backend.helm.target_types.AllHelmDeploymentTargets": { + "pants.backend.python.target_types.ResolvedPexEntryPoint": { "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go"], - "dependents": [], - "documentation": null, + "dependencies": [ + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "ResolvedPexEntryPoint(val: 'EntryPoint | None', file_name_used: 'bool')", "is_union": false, - "module": "pants.backend.helm.target_types", - "name": "AllHelmDeploymentTargets", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.target_types", + "name": "ResolvedPexEntryPoint", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.target_types.all_helm_deployment_targets" + "pants.backend.python.target_types_rules.resolve_pex_entry_point" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.package_pex_binary.package_pex_binary", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.goals.tailor.find_putative_targets", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points" + ] }, - "pants.backend.helm.target_types.AllHelmUnitTestTestTargets": { + "pants.backend.python.target_types.ResolvedPythonDistributionEntryPoints": { "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go"], - "dependents": [], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.go", + "pants.core", + "pants.engine.addresses" + ], + "dependents": [ + "pants.backend.experimental.python.framework.stevedore", + "pants.backend.python" + ], + "documentation": "ResolvedPythonDistributionEntryPoints(val: 'FrozenDict[str, FrozenDict[str, PythonDistributionEntryPoint]]' = FrozenDict({}))", "is_union": false, - "module": "pants.backend.helm.target_types", - "name": "AllHelmUnitTestTestTargets", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.target_types", + "name": "ResolvedPythonDistributionEntryPoints", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.target_types.all_helm_unittest_test_targets" + "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs" + ] }, - "pants.backend.helm.target_types.HelmChartMetaSourceField": { + "pants.backend.python.target_types_rules.GenerateTargetsFromPexBinaries": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field" + "pants.backend.python.target_types_rules.generate_targets_from_pex_binaries" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], "documentation": null, "is_union": false, - "module": "pants.backend.helm.target_types", - "name": "HelmChartMetaSourceField", - "provider": "pants.backend.helm.target_types", + "module": "pants.backend.python.target_types_rules", + "name": "GenerateTargetsFromPexBinaries", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping", - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", - "pants.backend.helm.util_rules.chart.get_helm_chart" - ] + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] }, - "pants.backend.helm.test.unittest.HelmUnitTestFieldSet": { + "pants.backend.python.target_types_rules.InferPexBinaryEntryPointDependency": { "consumed_by_rules": [ - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots" + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmUnitTestFieldSet(address: 'Address', sources: 'SourcesField', source: 'HelmUnitTestSourceField', dependencies: 'HelmUnitTestDependenciesField', strict: 'HelmUnitTestStrictField', timeout: 'HelmUnitTestTimeoutField')", + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.test.unittest", - "name": "HelmUnitTestFieldSet", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.target_types_rules", + "name": "InferPexBinaryEntryPointDependency", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "TestFieldSet", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.helm.test.unittest.HelmUnitTestRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.python.target_types_rules.InferPythonDistributionDependencies": { + "consumed_by_rules": [ + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" + ], "documentation": null, "is_union": false, - "module": "pants.backend.helm.test.unittest", - "name": "HelmUnitTestRequest", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.target_types_rules", + "name": "InferPythonDistributionDependencies", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "TestRequest", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.helm.test.unittest.HelmUnitTestSetup": { - "consumed_by_rules": [], + "pants.backend.python.target_types_rules.PythonResolveFieldDefaultFactoryRequest": { + "consumed_by_rules": [ + "pants.backend.python.target_types_rules.python_resolve_field_default_factory" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.helm.test.unittest", - "pants.core" + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmUnitTestSetup(chart: 'HelmChart', chart_root: 'HelmChartRoot', process: 'HelmProcess', reports_output_directory: 'str', snapshot_output_directories: 'tuple[str, ...]')", + "dependents": [ + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.test.unittest", - "name": "HelmUnitTestSetup", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [ - "pants.backend.helm.test.unittest.setup_helm_unittest" + "module": "pants.backend.python.target_types_rules", + "name": "PythonResolveFieldDefaultFactoryRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "FieldDefaultFactoryRequest", + "used_in_rules": [] + }, + "pants.backend.python.target_types_rules.PythonValidateDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.python.target_types_rules.validate_python_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" ], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.target_types_rules", + "name": "PythonValidateDependenciesRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "pants.backend.helm.test.unittest.run_helm_unittest" - ] + "union_type": "ValidateDependenciesRequest", + "used_in_rules": [] }, - "pants.backend.helm.test.unittest.HelmUnitTestSetupRequest": { + "pants.backend.python.typecheck.mypy.mypyc.MyPycDistBuildEnvironmentRequest": { "consumed_by_rules": [ - "pants.backend.helm.test.unittest.setup_helm_unittest" + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmUnitTestSetupRequest(field_set: 'HelmUnitTestFieldSet', description: 'str', force: 'bool', update_snapshots: 'bool', timeout_seconds: 'int | None')", + "dependencies": [ + "pants.backend.python" + ], + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": "MyPycDistBuildEnvironmentRequest(target_addresses: 'tuple[Address, ...]', interpreter_constraints: 'InterpreterConstraints')", "is_union": false, - "module": "pants.backend.helm.test.unittest", - "name": "HelmUnitTestSetupRequest", - "provider": "pants.backend.helm.test.unittest", + "module": "pants.backend.python.typecheck.mypy.mypyc", + "name": "MyPycDistBuildEnvironmentRequest", + "provider": "pants.backend.python.typecheck.mypy", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "pants.backend.helm.test.unittest.run_helm_unittest" - ] + "union_type": "DistBuildEnvironmentRequest", + "used_in_rules": [] }, - "pants.backend.helm.util_rules.chart.FindHelmDeploymentChart": { + "pants.backend.python.typecheck.mypy.mypyc.UsesMyPycField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.typecheck.mypy.mypyc", + "name": "UsesMyPycField", + "provider": "pants.backend.python.typecheck.mypy", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.python.typecheck.mypy.rules.MyPyPartition": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.chart.find_chart_for_deployment" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" ], "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "FindHelmDeploymentChart(field_set: 'HelmDeploymentFieldSet')", + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": "MyPyPartition(field_sets: 'FrozenOrderedSet[MyPyFieldSet]', root_targets: 'CoarsenedTargets', resolve_description: 'str | None', interpreter_constraints: 'InterpreterConstraints')", "is_union": false, - "module": "pants.backend.helm.util_rules.chart", - "name": "FindHelmDeploymentChart", - "provider": "pants.backend.helm.util_rules.chart", + "module": "pants.backend.python.typecheck.mypy.rules", + "name": "MyPyPartition", + "provider": "pants.backend.python.typecheck.mypy", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck" ] }, - "pants.backend.helm.util_rules.chart.HelmChart": { + "pants.backend.python.typecheck.mypy.rules.MyPyPartitions": { "consumed_by_rules": [], "dependencies": [ - "builtins", "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.helm.util_rules.chart", - "pants.backend.helm.util_rules.chart_metadata", - "pants.core" + "pants.core", + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmChart(address: 'Address', info: 'HelmChartMetadata', snapshot: 'Snapshot', artifact: 'ResolvedHelmArtifact | None' = None)", + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.chart", - "name": "HelmChart", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.typecheck.mypy.rules", + "name": "MyPyPartitions", + "provider": "pants.backend.python.typecheck.mypy", "returned_by_rules": [ - "pants.backend.helm.util_rules.chart.create_chart_from_artifact", - "pants.backend.helm.util_rules.chart.find_chart_for_deployment", - "pants.backend.helm.util_rules.chart.get_helm_chart" + "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.helm.goals.lint.partition_helm_lint", - "pants.backend.helm.goals.package.run_helm_package", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart.find_chart_for_deployment", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.renderer.render_helm_chart", - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck" ] }, - "pants.backend.helm.util_rules.chart.HelmChartRequest": { + "pants.backend.python.typecheck.mypy.rules.MyPyRequest": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.chart.get_helm_chart" + "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmChartRequest(field_set: 'HelmChartFieldSet')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.chart", - "name": "HelmChartRequest", - "provider": "pants.backend.helm.util_rules.chart", + "module": "pants.backend.python.typecheck.mypy.rules", + "name": "MyPyRequest", + "provider": "pants.backend.python.typecheck.mypy", "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "CheckRequest", "used_in_rules": [ - "pants.backend.helm.goals.lint.partition_helm_lint", - "pants.backend.helm.goals.package.run_helm_package", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart.find_chart_for_deployment", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.renderer.render_helm_chart" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck" ] }, - "pants.backend.helm.util_rules.chart_metadata.HelmChartMetadata": { + "pants.backend.python.typecheck.mypy.skip_field.SkipMyPyField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.typecheck.mypy.skip_field", + "name": "SkipMyPyField", + "provider": "pants.backend.python.typecheck.mypy", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.backend.python.typecheck.mypy.subsystem.MyPy": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata" + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", + "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", + "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.helm.target_types", - "pants.core", - "pants.engine.fs" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmChartMetadata(name: 'str', version: 'str', api_version: 'str' = 'v2', type: 'ChartType' = , kube_version: 'str | None' = None, app_version: 'str | None' = None, icon: 'str | None' = None, description: 'str | None' = None, dependencies: 'tuple[HelmChartDependency, ...]' = , keywords: 'tuple[str, ...]' = , sources: 'tuple[str, ...]' = , home: 'str | None' = None, maintainers: 'tuple[HelmChartMaintainer, ...]' = , deprecated: 'bool | None' = None, annotations: 'FrozenDict[str, str]' = )", + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.chart_metadata", - "name": "HelmChartMetadata", - "provider": "pants.backend.experimental.helm, pants.backend.helm.util_rules.chart_metadata", + "module": "pants.backend.python.typecheck.mypy.subsystem", + "name": "MyPy", + "provider": "pants.backend.python.typecheck.mypy", "returned_by_rules": [ - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field" + "construct_scope_mypy" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping", - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", - "pants.backend.helm.util_rules.chart.create_chart_from_artifact", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field" - ] + "used_in_rules": [] }, - "pants.backend.helm.util_rules.chart_metadata.ParseHelmChartMetadataDigest": { + "pants.backend.python.typecheck.mypy.subsystem.MyPyConfigFile": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest" + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "Request to parse the Helm chart definition file (i.e. `Chart.yaml`) from the given digest.\n\nThe definition file is expected to be at the root of the digest.", + "dependencies": [ + "pants.core", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": "MyPyConfigFile(digest: 'Digest', _python_version_configured: 'bool')", "is_union": false, - "module": "pants.backend.helm.util_rules.chart_metadata", - "name": "ParseHelmChartMetadataDigest", - "provider": "pants.backend.helm.util_rules.chart_metadata", - "returned_by_rules": [], + "module": "pants.backend.python.typecheck.mypy.subsystem", + "name": "MyPyConfigFile", + "provider": "pants.backend.python.typecheck.mypy", + "returned_by_rules": [ + "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.util_rules.chart.create_chart_from_artifact", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field" - ] + "used_in_rules": [] }, - "pants.backend.helm.util_rules.post_renderer.HelmDeploymentPostRendererRequest": { + "pants.backend.python.typecheck.mypy.subsystem.MyPyFirstPartyPlugins": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment" + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmDeploymentPostRendererRequest(field_set: 'HelmDeploymentFieldSet')", + "dependencies": [ + "pants.backend.experimental.go", + "pants.backend.python", + "pants.engine.addresses" + ], + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": "MyPyFirstPartyPlugins(requirement_strings: 'FrozenOrderedSet[str]', sources_digest: 'Digest', source_roots: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.helm.util_rules.post_renderer", - "name": "HelmDeploymentPostRendererRequest", - "provider": "pants.backend.helm.util_rules.post_renderer", - "returned_by_rules": [], + "module": "pants.backend.python.typecheck.mypy.subsystem", + "name": "MyPyFirstPartyPlugins", + "provider": "pants.backend.python.typecheck.mypy", + "returned_by_rules": [ + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins" + ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.helm.goals.deploy.run_helm_deploy"] + "used_in_rules": [] }, - "pants.backend.helm.util_rules.renderer.HelmDeploymentRequest": { + "pants.backend.python.typecheck.pyright.rules.PyrightPartition": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process" + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition" ], "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmDeploymentRequest(field_set: 'HelmDeploymentFieldSet', *, cmd: 'HelmDeploymentCmd', description: 'str', extra_argv: 'Iterable[str] | None' = None, post_renderer: 'HelmPostRenderer | None' = None) -> 'None'", + "dependents": [ + "pants.backend.experimental.python.typecheck.pyright" + ], + "documentation": "PyrightPartition(field_sets: 'FrozenOrderedSet[PyrightFieldSet]', root_targets: 'CoarsenedTargets', resolve_description: 'str | None', interpreter_constraints: 'InterpreterConstraints')", "is_union": false, - "module": "pants.backend.helm.util_rules.renderer", - "name": "HelmDeploymentRequest", - "provider": "pants.backend.helm.util_rules.renderer", + "module": "pants.backend.python.typecheck.pyright.rules", + "name": "PyrightPartition", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.helm.dependency_inference.deployment.analyse_deployment", - "pants.backend.helm.goals.deploy.run_helm_deploy" + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck" ] }, - "pants.backend.helm.util_rules.renderer.RenderedHelmFiles": { + "pants.backend.python.typecheck.pyright.rules.PyrightPartitions": { "consumed_by_rules": [], "dependencies": [ - "builtins", "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.helm.util_rules.renderer", - "pants.core" + "pants.backend.python", + "pants.core", + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "RenderedHelmFiles(address: 'Address', chart: 'HelmChart', snapshot: 'Snapshot', post_processed: 'bool')", + "dependents": [ + "pants.backend.experimental.python.typecheck.pyright" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.renderer", - "name": "RenderedHelmFiles", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.typecheck.pyright.rules", + "name": "PyrightPartitions", + "provider": "pants.backend.experimental.python.typecheck.pyright", "returned_by_rules": [ - "pants.backend.helm.util_rules.renderer.render_helm_chart", - "pants.backend.helm.util_rules.renderer.run_renderer" + "pants.backend.python.typecheck.pyright.rules.pyright_determine_partitions" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.helm.dependency_inference.deployment.analyse_deployment" + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck" ] }, - "pants.backend.helm.util_rules.renderer._HelmDeploymentProcessWrapper": { + "pants.backend.python.typecheck.pyright.rules.PyrightRequest": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", - "pants.backend.helm.util_rules.renderer.run_renderer" + "pants.backend.python.typecheck.pyright.rules.pyright_determine_partitions", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.helm.util_rules.renderer", "pants.core" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "Intermediate representation of a `HelmProcess` that will produce a fully rendered set of\nmanifests from a given chart.\n\nThe encapsulated `process` will be side-effecting dependening on the `cmd` that was originally requested.\n\nThis is meant to only be used internally by this module.", + "dependents": [ + "pants.backend.experimental.python.typecheck.pyright" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.renderer", - "name": "_HelmDeploymentProcessWrapper", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [ - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process" + "module": "pants.backend.python.typecheck.pyright.rules", + "name": "PyrightRequest", + "provider": "pants.backend.experimental.python.typecheck.pyright, pants.backend.python", + "returned_by_rules": [], + "union_members": [], + "union_type": "CheckRequest", + "used_in_rules": [ + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck" + ] + }, + "pants.backend.python.typecheck.pyright.skip_field.SkipPyrightField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.typecheck.pyright.skip_field", + "name": "SkipPyrightField", + "provider": "pants.backend.experimental.python.typecheck.pyright", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.helm.util_rules.sources.HelmChartRoot": { - "consumed_by_rules": [], + "pants.backend.python.typecheck.pyright.subsystem.Pyright": { + "consumed_by_rules": [ + "pants.backend.python.typecheck.pyright.rules.pyright_determine_partitions", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition" + ], "dependencies": [ - "pants.backend.experimental.go", - "pants.backend.helm.util_rules.sources" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmChartRoot(path: 'str')", + "dependents": [ + "pants.backend.experimental.python.typecheck.pyright" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.sources", - "name": "HelmChartRoot", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.typecheck.pyright.subsystem", + "name": "Pyright", + "provider": "pants.backend.experimental.python.typecheck.pyright", "returned_by_rules": [ - "pants.backend.helm.util_rules.sources.find_chart_source_root" + "construct_scope_pyright" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", - "pants.backend.helm.util_rules.sources.get_helm_source_files" - ] + "used_in_rules": [] }, - "pants.backend.helm.util_rules.sources.HelmChartRootRequest": { + "pants.backend.python.typecheck.pytype.rules.PytypePartition": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.sources.find_chart_source_root" + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" ], "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmChartRootRequest(source: 'HelmChartMetaSourceField')", + "dependents": [ + "pants.backend.experimental.python.typecheck.pytype" + ], + "documentation": "PytypePartition(field_sets: 'FrozenOrderedSet[PytypeFieldSet]', root_targets: 'CoarsenedTargets', resolve_description: 'str | None', interpreter_constraints: 'InterpreterConstraints')", "is_union": false, - "module": "pants.backend.helm.util_rules.sources", - "name": "HelmChartRootRequest", - "provider": "pants.backend.helm.util_rules.sources", + "module": "pants.backend.python.typecheck.pytype.rules", + "name": "PytypePartition", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", - "pants.backend.helm.util_rules.sources.get_helm_source_files" + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" ] }, - "pants.backend.helm.util_rules.sources.HelmChartSourceFiles": { + "pants.backend.python.typecheck.pytype.rules.PytypePartitions": { "consumed_by_rules": [], "dependencies": [ - "builtins", "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.helm.util_rules.sources", - "pants.core" + "pants.backend.python", + "pants.core", + "pants.engine.target" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmChartSourceFiles(snapshot: 'Snapshot', unrooted_files: 'tuple[str, ...]')", + "dependents": [ + "pants.backend.experimental.python.typecheck.pytype" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.sources", - "name": "HelmChartSourceFiles", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.typecheck.pytype.rules", + "name": "PytypePartitions", + "provider": "pants.backend.experimental.python.typecheck.pytype", "returned_by_rules": [ - "pants.backend.helm.util_rules.sources.get_helm_source_files" + "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.helm.util_rules.chart.get_helm_chart"] + "used_in_rules": [ + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" + ] }, - "pants.backend.helm.util_rules.sources.HelmChartSourceFilesRequest": { + "pants.backend.python.typecheck.pytype.rules.PytypeRequest": { "consumed_by_rules": [ - "pants.backend.helm.util_rules.sources.get_helm_source_files" + "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmChartSourceFilesRequest(field_set: 'HelmChartFieldSet', include_resources: 'bool', include_files: 'bool', include_metadata: 'bool')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.python.typecheck.pytype" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.sources", - "name": "HelmChartSourceFilesRequest", - "provider": "pants.backend.helm.util_rules.sources", + "module": "pants.backend.python.typecheck.pytype.rules", + "name": "PytypeRequest", + "provider": "pants.backend.experimental.python.typecheck.pytype, pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.helm.util_rules.chart.get_helm_chart"] + "union_type": "CheckRequest", + "used_in_rules": [ + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" + ] }, - "pants.backend.helm.util_rules.tool.ExternalHelmPluginBinding": { + "pants.backend.python.typecheck.pytype.skip_field.SkipPytypeField": { "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "Union type allowing Pants to discover global external Helm plugins.", - "is_union": true, - "module": "pants.backend.helm.util_rules.tool", - "name": "ExternalHelmPluginBinding", - "provider": "pants.backend.helm.util_rules.tool", - "returned_by_rules": [], - "union_members": ["HelmUnitTestPluginBinding"], - "union_type": null, - "used_in_rules": ["pants.backend.helm.util_rules.tool.all_helm_plugins"] - }, - "pants.backend.helm.util_rules.tool.ExternalHelmPluginRequest": { - "consumed_by_rules": [ - "pants.backend.helm.util_rules.tool.download_external_helm_plugin" + "dependencies": [ + "pants.engine.target" ], - "dependencies": ["pants.engine.platform"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "Helper class to create a download request for an external Helm plugin.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.tool", - "name": "ExternalHelmPluginRequest", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [ - "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request" - ], + "module": "pants.backend.python.typecheck.pytype.skip_field", + "name": "SkipPytypeField", + "provider": "pants.backend.experimental.python.typecheck.pytype", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.helm.util_rules.tool.HelmBinary": { - "consumed_by_rules": ["pants.backend.helm.util_rules.tool.helm_process"], + "pants.backend.python.typecheck.pytype.subsystem.Pytype": { + "consumed_by_rules": [ + "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.core", - "pants.engine.env_vars", - "pants.engine.platform" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmBinary(path: 'str', *, helm_env: 'Mapping[str, str]', local_env: 'Mapping[str, str]', immutable_input_digests: 'Mapping[str, Digest]') -> 'None'", + "dependents": [ + "pants.backend.experimental.python.typecheck.pytype" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.helm.util_rules.tool", - "name": "HelmBinary", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": ["pants.backend.helm.util_rules.tool.setup_helm"], + "module": "pants.backend.python.typecheck.pytype.subsystem", + "name": "Pytype", + "provider": "pants.backend.experimental.python.typecheck.pytype", + "returned_by_rules": [ + "construct_scope_pytype" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.helm.util_rules.tool.HelmPlugin": { + "pants.backend.python.util_rules.ancestor_files.AncestorFiles": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.core", "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmPlugin(info: 'HelmPluginInfo', platform: 'Platform', snapshot: 'Snapshot')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "Any ancestor files found.", "is_union": false, - "module": "pants.backend.helm.util_rules.tool", - "name": "HelmPlugin", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.util_rules.ancestor_files", + "name": "AncestorFiles", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.util_rules.tool.download_external_helm_plugin" + "pants.backend.python.util_rules.ancestor_files.find_ancestor_files" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.helm.util_rules.tool.all_helm_plugins"] + "used_in_rules": [ + "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.python_sources.prepare_python_sources" + ] }, - "pants.backend.helm.util_rules.tool.HelmPlugins": { - "consumed_by_rules": ["pants.backend.helm.util_rules.tool.setup_helm"], - "dependencies": ["pants.engine.unions"], - "dependents": ["pants.backend.experimental.helm"], - "documentation": null, + "pants.backend.python.util_rules.ancestor_files.AncestorFilesRequest": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.ancestor_files.find_ancestor_files" + ], + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "A request for ancestor files of the given names.\n\n\"Ancestor files\" means all files with one of the given names that are siblings of, or in parent\ndirectories of, a `.py` or `.pyi` file in the input_files.", "is_union": false, - "module": "pants.backend.helm.util_rules.tool", - "name": "HelmPlugins", - "provider": "pants.backend.experimental.helm", + "module": "pants.backend.python.util_rules.ancestor_files", + "name": "AncestorFilesRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "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.python_sources.prepare_python_sources" + ] + }, + "pants.backend.python.util_rules.dists.BuildSystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "A PEP 517/518 build system configuration.", + "is_union": false, + "module": "pants.backend.python.util_rules.dists", + "name": "BuildSystem", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.helm.util_rules.tool.all_helm_plugins" + "pants.backend.python.util_rules.dists.find_build_system" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + ] }, - "pants.backend.helm.util_rules.tool.HelmProcess": { - "consumed_by_rules": ["pants.backend.helm.util_rules.tool.helm_process"], + "pants.backend.python.util_rules.dists.BuildSystemRequest": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.dists.find_build_system" + ], "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "HelmProcess(argv: 'Iterable[str]', *, description: 'str', input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), level: 'LogLevel' = , output_directories: 'Iterable[str] | None' = None, output_files: 'Iterable[str] | None' = None, extra_env: 'Mapping[str, str] | None' = None, extra_immutable_input_digests: 'Mapping[str, Digest] | None' = None, extra_append_only_caches: 'Mapping[str, str] | None' = None, cache_scope: 'ProcessCacheScope | None' = None, timeout_seconds: 'int | None' = None)", + "dependents": [ + "pants.backend.python" + ], + "documentation": "A request to find build system config in the given dir of the given digest.", "is_union": false, - "module": "pants.backend.helm.util_rules.tool", - "name": "HelmProcess", - "provider": "pants.backend.helm.util_rules.tool", + "module": "pants.backend.python.util_rules.dists", + "name": "BuildSystemRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.helm.goals.lint.run_helm_lint", - "pants.backend.helm.goals.package.run_helm_package", - "pants.backend.helm.goals.publish.publish_helm_chart", - "pants.backend.helm.resolve.fetch.fetch_helm_artifact", - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "pants.backend.helm.test.unittest.run_helm_unittest", - "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", - "pants.backend.helm.util_rules.renderer.render_helm_chart", - "pants.backend.helm.util_rules.renderer.run_renderer" + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" ] }, - "pants.backend.java.bsp.rules.HandleJavacOptionsRequest": { + "pants.backend.python.util_rules.dists.DistBuildRequest": { "consumed_by_rules": [ - "pants.backend.java.bsp.rules.handle_bsp_java_options_request" + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build" ], "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "HandleJavacOptionsRequest(bsp_target_id: pants.bsp.spec.base.BuildTargetIdentifier)", + "dependents": [ + "pants.backend.python" + ], + "documentation": "A request to build dists via a PEP 517 build backend.", "is_union": false, - "module": "pants.backend.java.bsp.rules", - "name": "HandleJavacOptionsRequest", - "provider": "pants.backend.java.bsp.rules", + "module": "pants.backend.python.util_rules.dists", + "name": "DistBuildRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.java.bsp.rules.bsp_javac_options_request" + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" ] }, - "pants.backend.java.bsp.rules.HandleJavacOptionsResult": { + "pants.backend.python.util_rules.dists.DistBuildResult": { "consumed_by_rules": [], - "dependencies": ["pants.backend.java.bsp.rules", "pants.base.build_root"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "HandleJavacOptionsResult(item: pants.backend.java.bsp.spec.JavacOptionsItem)", + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "DistBuildResult(output: 'Digest', wheel_path: 'str | None', sdist_path: 'str | None')", "is_union": false, - "module": "pants.backend.java.bsp.rules", - "name": "HandleJavacOptionsResult", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.dists", + "name": "DistBuildResult", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.java.bsp.rules.handle_bsp_java_options_request" + "pants.backend.python.util_rules.dists.run_pep517_build" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.java.bsp.rules.bsp_javac_options_request" + "pants.backend.python.goals.package_dists.package_python_dist" ] }, - "pants.backend.java.bsp.rules.JavaBSPBuildTargetsMetadataRequest": { + "pants.backend.python.util_rules.faas.BuildPythonFaaSRequest": { "consumed_by_rules": [ - "pants.backend.java.bsp.rules.bsp_resolve_java_metadata" + "pants.backend.python.util_rules.faas.build_python_faas" ], - "dependencies": ["pants.bsp.util_rules.targets"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "BuildPythonFaaSRequest(address: 'Address', target_name: 'str', complete_platforms: 'PythonFaaSCompletePlatforms', handler: 'None | PythonFaaSHandlerField', output_path: 'OutputPathField', runtime: 'PythonFaaSRuntimeField', pex3_venv_create_extra_args: 'PythonFaaSPex3VenvCreateExtraArgsField', include_requirements: 'bool', include_sources: 'bool', reexported_handler_module: 'None | str', log_only_reexported_handler_func: 'bool' = False, prefix_in_artifact: 'None | str' = None)", "is_union": false, - "module": "pants.backend.java.bsp.rules", - "name": "JavaBSPBuildTargetsMetadataRequest", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.faas", + "name": "BuildPythonFaaSRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "BSPBuildTargetsMetadataRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.awslambda.python.rules.package_python_aws_lambda_function", + "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer", + "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function" + ] }, - "pants.backend.java.bsp.rules.JavaBSPCompileRequest": { + "pants.backend.python.util_rules.faas.InferPythonFaaSHandlerDependency": { "consumed_by_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request" + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.awslambda.python" ], - "dependencies": ["pants.bsp.util_rules.targets"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JavaBSPCompileRequest(bsp_target: 'BSPBuildTargetInternal', field_sets: 'tuple[_FS, ...]', task_id: 'TaskId')", - "is_union": false, - "module": "pants.backend.java.bsp.rules", - "name": "JavaBSPCompileRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "BSPCompileRequest", - "used_in_rules": [] - }, - "pants.backend.java.bsp.rules.JavaBSPLanguageSupport": { - "consumed_by_rules": [], - "dependencies": ["pants.bsp.util_rules.lifecycle"], - "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.java.bsp.rules", - "name": "JavaBSPLanguageSupport", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.faas", + "name": "InferPythonFaaSHandlerDependency", + "provider": "pants.backend.awslambda.python", "returned_by_rules": [], "union_members": [], - "union_type": "BSPLanguageSupport", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.java.bsp.rules.JavaBSPResourcesRequest": { + "pants.backend.python.util_rules.faas.PythonFaaSCompletePlatforms": { "consumed_by_rules": [ - "pants.backend.java.bsp.rules.bsp_java_resources_request" + "pants.backend.python.util_rules.faas.digest_complete_platforms" + ], + "dependencies": [], + "dependents": [ + "pants.backend.awslambda.python" ], - "dependencies": ["pants.bsp.util_rules.targets"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JavaBSPResourcesRequest(bsp_target: 'BSPBuildTargetInternal', field_sets: 'tuple[_FS, ...]')", - "is_union": false, - "module": "pants.backend.java.bsp.rules", - "name": "JavaBSPResourcesRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "BSPResourcesRequest", - "used_in_rules": [] - }, - "pants.backend.java.bsp.rules.JavacOptionsHandlerMapping": { - "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], - "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.java.bsp.rules", - "name": "JavacOptionsHandlerMapping", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.faas", + "name": "PythonFaaSCompletePlatforms", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "BSPHandlerMapping", - "used_in_rules": [] - }, - "pants.backend.java.bsp.spec.JavacOptionsResult": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.java.bsp.spec"], - "dependents": [], - "documentation": "JavacOptionsResult(items: 'tuple[JavacOptionsItem, ...]')", - "is_union": false, - "module": "pants.backend.java.bsp.spec", - "name": "JavacOptionsResult", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.backend.java.bsp.rules.bsp_javac_options_request" - ], - "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.faas.infer_runtime_platforms" + ] }, - "pants.backend.java.compile.javac.CompileJavaSourceRequest": { + "pants.backend.python.util_rules.faas.ResolvePythonFaaSHandlerRequest": { "consumed_by_rules": [ - "pants.backend.java.compile.javac.compile_java_source" + "pants.backend.python.util_rules.faas.resolve_python_faas_handler" ], - "dependencies": ["pants.jvm.compile"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "ResolvePythonFaaSHandlerRequest(field: 'PythonFaaSHandlerField')", "is_union": false, - "module": "pants.backend.java.compile.javac", - "name": "CompileJavaSourceRequest", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.faas", + "name": "ResolvePythonFaaSHandlerRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "ClasspathEntryRequest", - "used_in_rules": [] - }, - "pants.backend.java.dependency_inference.java_parser.FallibleJavaSourceDependencyAnalysisResult": { - "consumed_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis" - ], - "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.java.dependency_inference.java_parser", + "union_type": null, + "used_in_rules": [ + "pants.backend.python.util_rules.faas.build_python_faas", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" + ] + }, + "pants.backend.python.util_rules.faas.ResolvedPythonFaaSHandler": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.python", "pants.core", - "pants.engine.process" + "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "FallibleJavaSourceDependencyAnalysisResult(process_result: 'FallibleProcessResult')", + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "ResolvedPythonFaaSHandler(module: 'str', func: 'str', file_name_used: 'bool')", "is_union": false, - "module": "pants.backend.java.dependency_inference.java_parser", - "name": "FallibleJavaSourceDependencyAnalysisResult", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.faas", + "name": "ResolvedPythonFaaSHandler", + "provider": "pants.backend.awslambda.python", "returned_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies" + "pants.backend.python.util_rules.faas.resolve_python_faas_handler" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.faas.build_python_faas", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" + ] }, - "pants.backend.java.dependency_inference.java_parser.JavaParserCompiledClassfiles": { - "consumed_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies" - ], + "pants.backend.python.util_rules.faas.RuntimePlatforms": { + "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.python", "pants.core" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JavaParserCompiledClassfiles(digest: 'Digest')", + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "RuntimePlatforms(interpreter_version: 'None | tuple[int, int]', pex_platforms: 'PexPlatforms' = PexPlatforms([]), complete_platforms: 'CompletePlatforms' = CompletePlatforms([]))", "is_union": false, - "module": "pants.backend.java.dependency_inference.java_parser", - "name": "JavaParserCompiledClassfiles", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.faas", + "name": "RuntimePlatforms", + "provider": "pants.backend.awslambda.python", "returned_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.build_processors" + "pants.backend.python.util_rules.faas.infer_runtime_platforms" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.faas.build_python_faas" + ] }, - "pants.backend.java.dependency_inference.java_parser.JavaParserToolLockfileSentinel": { + "pants.backend.python.util_rules.faas.RuntimePlatformsRequest": { "consumed_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.generate_java_parser_lockfile_request" + "pants.backend.python.util_rules.faas.infer_runtime_platforms" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "RuntimePlatformsRequest(address: 'Address', target_name: 'str', runtime: 'PythonFaaSRuntimeField', complete_platforms: 'PythonFaaSCompletePlatforms')", "is_union": false, - "module": "pants.backend.java.dependency_inference.java_parser", - "name": "JavaParserToolLockfileSentinel", - "provider": "pants.backend.experimental.java, pants.backend.java.dependency_inference.java_parser", + "module": "pants.backend.python.util_rules.faas", + "name": "RuntimePlatformsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateToolLockfileSentinel", + "union_type": null, "used_in_rules": [ - "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", - "pants.backend.java.dependency_inference.java_parser.build_processors" + "pants.backend.python.util_rules.faas.build_python_faas" ] }, - "pants.backend.java.dependency_inference.java_parser.JavaSourceDependencyAnalysisRequest": { + "pants.backend.python.util_rules.interpreter_constraints.InterpreterConstraints": { "consumed_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies" + "pants.backend.python.util_rules.pex.find_interpreter" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JavaSourceDependencyAnalysisRequest(source_files: 'SourceFiles')", + "dependencies": [ + "pants.backend.experimental.go", + "pants.core" + ], + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.python", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.java.dependency_inference.java_parser", - "name": "JavaSourceDependencyAnalysisRequest", - "provider": "pants.backend.experimental.java, pants.backend.java.dependency_inference.java_parser", + "module": "pants.backend.python.util_rules.interpreter_constraints", + "name": "InterpreterConstraints", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.make_analysis_request_from_source_files" + "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis" + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.util_rules.faas.infer_runtime_platforms", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" ] }, - "pants.backend.java.dependency_inference.rules.InferJavaSourceDependencies": { - "consumed_by_rules": [ - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis" + "pants.backend.python.util_rules.local_dists.LocalDistWheels": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.awslambda.python", + "pants.backend.docker", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.google_cloud_function.python", + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, + "dependents": [ + "pants.backend.python" + ], + "documentation": "Contains the wheels isolated from a single local Python distribution.", "is_union": false, - "module": "pants.backend.java.dependency_inference.rules", - "name": "InferJavaSourceDependencies", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], + "module": "pants.backend.python.util_rules.local_dists", + "name": "LocalDistWheels", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels" + ], "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.util_rules.local_dists.build_local_dists" + ] }, - "pants.backend.java.dependency_inference.rules.JavaInferredDependencies": { + "pants.backend.python.util_rules.local_dists.LocalDistsPex": { "consumed_by_rules": [], "dependencies": [ + "builtins", "pants.backend.experimental.go", - "pants.backend.java.dependency_inference.rules", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", "pants.core" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JavaInferredDependencies(dependencies: 'FrozenOrderedSet[Address]', exports: 'FrozenOrderedSet[Address]')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "A PEX file containing locally-built dists.\n\nCan be consumed from another PEX, e.g., by adding to PEX_PATH.\n\nThe PEX will only contain locally built dists and not their dependencies. For Pants generated\n`setup.py` / `pyproject.toml`, the dependencies will be included in the standard resolve process\nthat the locally-built dists PEX is adjoined to via PEX_PATH. For hand-made `setup.py` /\n`pyproject.toml` with 3rdparty dependencies not hand-mirrored into BUILD file dependencies, this\nwill lead to issues. See https://github.com/pantsbuild/pants/issues/13587#issuecomment-974863636\nfor one way to fix this corner which is intentionally punted on for now.\n\nLists the files provided by the dists on sys.path, so they can be subtracted from\nsources digests, to prevent the same file ending up on sys.path twice.", "is_union": false, - "module": "pants.backend.java.dependency_inference.rules", - "name": "JavaInferredDependencies", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.local_dists", + "name": "LocalDistsPex", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis" + "pants.backend.python.util_rules.local_dists.build_local_dists" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis" + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.goals.repl.create_ipython_repl_request", + "pants.backend.python.goals.repl.create_python_repl_request", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" ] }, - "pants.backend.java.dependency_inference.rules.JavaInferredDependenciesAndExportsRequest": { + "pants.backend.python.util_rules.local_dists.LocalDistsPexRequest": { "consumed_by_rules": [ - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis" + "pants.backend.python.util_rules.local_dists.build_local_dists" ], "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JavaInferredDependenciesAndExportsRequest(source: 'SourcesField')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "Request to build the local dists from the dependency closure of a set of addresses.", "is_union": false, - "module": "pants.backend.java.dependency_inference.rules", - "name": "JavaInferredDependenciesAndExportsRequest", - "provider": "pants.backend.java.dependency_inference.rules", + "module": "pants.backend.python.util_rules.local_dists", + "name": "LocalDistsPexRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis" + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.goals.repl.create_ipython_repl_request", + "pants.backend.python.goals.repl.create_python_repl_request", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" ] }, - "pants.backend.java.dependency_inference.symbol_mapper.AllJavaTargets": { + "pants.backend.python.util_rules.local_dists_pep660.AllPythonDistributionTargets": { "consumed_by_rules": [ - "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols" + "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "AllPythonDistributionTargets(targets: 'Targets')", "is_union": false, - "module": "pants.backend.java.dependency_inference.symbol_mapper", - "name": "AllJavaTargets", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.local_dists_pep660", + "name": "AllPythonDistributionTargets", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.java.dependency_inference.symbol_mapper.find_all_java_targets" + "pants.backend.python.util_rules.local_dists_pep660.find_all_python_distributions" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.java.dependency_inference.symbol_mapper.FirstPartyJavaTargetsMappingRequest": { - "consumed_by_rules": [ - "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols" - ], - "dependencies": ["pants.jvm.dependency_inference.symbol_mapper"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.backend.java.dependency_inference.symbol_mapper", - "name": "FirstPartyJavaTargetsMappingRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "FirstPartyMappingRequest", - "used_in_rules": [] - }, - "pants.backend.java.dependency_inference.types.JavaSourceDependencyAnalysis": { + "pants.backend.python.util_rules.local_dists_pep660.EditableLocalDists": { "consumed_by_rules": [], - "dependencies": ["pants.engine.fs", "pants.option.global_options"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JavaSourceDependencyAnalysis(declared_package: 'str | None', imports: 'Sequence[JavaImport]', top_level_types: 'Sequence[str]', consumed_types: 'Sequence[str]', export_types: 'Sequence[str]')", + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "A Digest populated by editable (PEP660) wheels of local dists.\n\nAccording to PEP660, these wheels should not be exported to users and must be discarded\nafter install. Anything that uses this should ensure that these wheels get installed and\nthen deleted.\n\nInstalling PEP660 wheels creates an \"editable\" install such that the sys.path gets\nadjusted to include source directories from the build root (not from the sandbox).\nThis is decidedly not hermetic or portable and should only be used locally.\n\nPEP660 wheels have .dist-info metadata and the .pth files (or similar) that adjust sys.path.", "is_union": false, - "module": "pants.backend.java.dependency_inference.types", - "name": "JavaSourceDependencyAnalysis", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.local_dists_pep660", + "name": "EditableLocalDists", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis" + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols" + "pants.backend.python.goals.export.export_virtualenv_for_resolve" ] }, - "pants.backend.java.goals.check.JavacCheckRequest": { - "consumed_by_rules": ["pants.backend.java.goals.check.javac_check"], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.backend.java.goals.check", - "name": "JavacCheckRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "CheckRequest", - "used_in_rules": [] - }, - "pants.backend.java.goals.tailor.PutativeJavaTargetsRequest": { + "pants.backend.python.util_rules.local_dists_pep660.EditableLocalDistsRequest": { "consumed_by_rules": [ - "pants.backend.java.goals.tailor.find_putative_targets" + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "PutativeJavaTargetsRequest(dirs: 'tuple[str, ...]')", + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "Request to generate PEP660 wheels of local dists in the given resolve.\n\nThe editable wheel files must not be exported or made available to the end-user (according to\nPEP 660). Instead, the PEP660 editable wheels serve as intermediate, internal-only,\nrepresentation of what should be installed in the exported virtualenv to create the editable\ninstalls of local python_distributions.", "is_union": false, - "module": "pants.backend.java.goals.tailor", - "name": "PutativeJavaTargetsRequest", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.local_dists_pep660", + "name": "EditableLocalDistsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "PutativeTargetsRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.export.export_virtualenv_for_resolve" + ] }, - "pants.backend.java.lint.google_java_format.rules.GoogleJavaFormatRequest": { + "pants.backend.python.util_rules.local_dists_pep660.LocalDistPEP660Wheels": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.java.lint.google_java_format.rules", - "name": "GoogleJavaFormatRequest", - "provider": "pants.backend.experimental.java.lint.google_java_format", - "returned_by_rules": [], - "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] - }, - "pants.backend.java.lint.google_java_format.rules.GoogleJavaFormatToolLockfileSentinel": { - "consumed_by_rules": [ - "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request" + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.python.typecheck.mypy", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.unions" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java.lint.google_java_format"], - "documentation": null, + "dependents": [ + "pants.backend.python" + ], + "documentation": "Contains the PEP 660 \"editable\" wheels isolated from a single local Python distribution.", "is_union": false, - "module": "pants.backend.java.lint.google_java_format.rules", - "name": "GoogleJavaFormatToolLockfileSentinel", - "provider": "pants.backend.experimental.java.lint.google_java_format, pants.backend.java.lint.google_java_format.rules", - "returned_by_rules": [], + "module": "pants.backend.python.util_rules.local_dists_pep660", + "name": "LocalDistPEP660Wheels", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + ], "union_members": [], - "union_type": "GenerateToolLockfileSentinel", + "union_type": null, "used_in_rules": [ - "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt" + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" ] }, - "pants.backend.java.lint.google_java_format.skip_field.SkipGoogleJavaFormatField": { + "pants.backend.python.util_rules.local_dists_pep660.PEP660BuildResult": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.java.lint.google_java_format.skip_field", - "name": "SkipGoogleJavaFormatField", - "provider": "pants.backend.experimental.java.lint.google_java_format", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] - }, - "pants.backend.java.lint.google_java_format.subsystem.GoogleJavaFormatSubsystem": { - "consumed_by_rules": [ - "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request", - "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest" + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.base.build_root", + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.java.lint.google_java_format"], - "documentation": null, + "dependents": [ + "pants.backend.python" + ], + "documentation": "PEP660BuildResult(output: 'Digest', editable_wheel_path: 'str | None')", "is_union": false, - "module": "pants.backend.java.lint.google_java_format.subsystem", - "name": "GoogleJavaFormatSubsystem", - "provider": "pants.backend.experimental.java.lint.google_java_format", - "returned_by_rules": ["construct_scope_google_java_format"], + "module": "pants.backend.python.util_rules.local_dists_pep660", + "name": "PEP660BuildResult", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + ] }, - "pants.backend.java.subsystems.java_infer.JavaInferSubsystem": { + "pants.backend.python.util_rules.local_dists_pep660.ResolveSortedPythonDistributionTargets": { "consumed_by_rules": [ - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping" + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "ResolveSortedPythonDistributionTargets(targets: 'FrozenDict[str | None, tuple[Target, ...]]')", "is_union": false, - "module": "pants.backend.java.subsystems.java_infer", - "name": "JavaInferSubsystem", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["construct_scope_java_infer"], + "module": "pants.backend.python.util_rules.local_dists_pep660", + "name": "ResolveSortedPythonDistributionTargets", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.java.subsystems.javac.JavacSubsystem": { + "pants.backend.python.util_rules.package_dists.DependencyOwner": { "consumed_by_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.goals.tailor.find_putative_targets" + "pants.backend.python.util_rules.package_dists.get_owned_dependencies", + "pants.backend.python.util_rules.package_dists.get_requirements" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "An ExportedTarget in its role as an owner of other targets.\n\nWe need this type to prevent rule ambiguities when computing the list of targets owned by an\nExportedTarget (which involves going from ExportedTarget -> dep -> owner (which is itself an\nExportedTarget) and checking if owner is the original ExportedTarget.", "is_union": false, - "module": "pants.backend.java.subsystems.javac", - "name": "JavacSubsystem", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["construct_scope_javac"], + "module": "pants.backend.python.util_rules.package_dists", + "name": "DependencyOwner", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve", + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", + "pants.backend.python.util_rules.package_dists.get_sources" + ] }, - "pants.backend.java.subsystems.junit.JUnit": { - "consumed_by_rules": [ - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_JunitTestRequest", - "pants.jvm.test.junit.generate_junit_lockfile_request", - "pants.jvm.test.junit.setup_junit_for_target" + "pants.backend.python.util_rules.package_dists.DistBuildChroot": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, + "dependents": [ + "pants.backend.python" + ], + "documentation": "A chroot containing PEP 517 build setup and the sources it operates on.", "is_union": false, - "module": "pants.backend.java.subsystems.junit", - "name": "JUnit", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["construct_scope_junit"], + "module": "pants.backend.python.util_rules.package_dists", + "name": "DistBuildChroot", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.package_dists.generate_chroot" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + ] }, - "pants.backend.java.target_types.JavaFieldSet": { + "pants.backend.python.util_rules.package_dists.DistBuildChrootRequest": { "consumed_by_rules": [ - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JavaFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet" + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.package_dists.get_sources" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JavaFieldSet(address: 'Address', jdk_version: 'JvmJdkField', main_class: 'JvmMainClassNameField', sources: 'JavaSourceField')", + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "A request to create a chroot for building a dist in.", "is_union": false, - "module": "pants.backend.java.target_types", - "name": "JavaFieldSet", - "provider": "pants.backend.experimental.java", + "module": "pants.backend.python.util_rules.package_dists", + "name": "DistBuildChrootRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "RunFieldSet", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.package_dists.generate_chroot" + ] }, - "pants.backend.javascript.dependency_inference.rules.InferJSDependenciesRequest": { - "consumed_by_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + "pants.backend.python.util_rules.package_dists.DistBuildEnvironment": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.python", + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "dependents": [ + "pants.backend.python" + ], + "documentation": "Various extra information that might be needed to build a dist.", "is_union": false, - "module": "pants.backend.javascript.dependency_inference.rules", - "name": "InferJSDependenciesRequest", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [], + "module": "pants.backend.python.util_rules.package_dists", + "name": "DistBuildEnvironment", + "provider": "pants.backend.python.typecheck.mypy", + "returned_by_rules": [ + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment" + ], "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] - }, - "pants.backend.javascript.dependency_inference.rules.InferNodePackageDependenciesRequest": { - "consumed_by_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies" + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + ] + }, + "pants.backend.python.util_rules.package_dists.DistBuildEnvironmentRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.python.typecheck.mypy" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, - "is_union": false, - "module": "pants.backend.javascript.dependency_inference.rules", - "name": "InferNodePackageDependenciesRequest", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "documentation": "DistBuildEnvironmentRequest(target_addresses: 'tuple[Address, ...]', interpreter_constraints: 'InterpreterConstraints')", + "is_union": true, + "module": "pants.backend.python.util_rules.package_dists", + "name": "DistBuildEnvironmentRequest", + "provider": "pants.backend.python", "returned_by_rules": [], - "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] + "union_members": [ + "MyPycDistBuildEnvironmentRequest" + ], + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + ] }, - "pants.backend.javascript.dependency_inference.rules.NodePackageCandidateMap": { + "pants.backend.python.util_rules.package_dists.DistBuildSources": { "consumed_by_rules": [], - "dependencies": ["pants.backend.javascript.dependency_inference.rules"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.go", + "pants.engine.fs", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "The source-root-stripped sources required to build a distribution with a generated setup.py.\n\nIncludes some information derived from analyzing the source, namely the packages, namespace\npackages and resource files in the source.", "is_union": false, - "module": "pants.backend.javascript.dependency_inference.rules", - "name": "NodePackageCandidateMap", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.package_dists", + "name": "DistBuildSources", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages" + "pants.backend.python.util_rules.package_dists.get_sources" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + "pants.backend.python.util_rules.package_dists.generate_chroot" ] }, - "pants.backend.javascript.dependency_inference.rules.RequestNodePackagesCandidateMap": { + "pants.backend.python.util_rules.package_dists.ExportedTarget": { "consumed_by_rules": [ - "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages" + "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "RequestNodePackagesCandidateMap(address: 'Address')", + "dependencies": [ + "pants.backend.experimental.go", + "pants.core" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "A target that explicitly exports a setup.py artifact, using a `provides=` stanza.\n\nThe code provided by this artifact can be from this target or from any targets it owns.", "is_union": false, - "module": "pants.backend.javascript.dependency_inference.rules", - "name": "RequestNodePackagesCandidateMap", - "provider": "pants.backend.javascript.dependency_inference.rules", - "returned_by_rules": [], + "module": "pants.backend.python.util_rules.package_dists", + "name": "ExportedTarget", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.package_dists.get_exporting_owner" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", + "pants.backend.python.util_rules.package_dists.get_owned_dependencies", + "pants.backend.python.util_rules.package_dists.get_requirements" ] }, - "pants.backend.javascript.install_node_package.InstalledNodePackage": { + "pants.backend.python.util_rules.package_dists.ExportedTargetRequirements": { "consumed_by_rules": [], "dependencies": [ - "builtins", "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.javascript.install_node_package", "pants.core", "pants.engine.unions" ], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "InstalledNodePackage(project_env: 'NodeJsProjectEnvironment', digest: 'Digest')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "The requirements of an ExportedTarget.\n\nIncludes:\n- The \"normal\" 3rdparty requirements of the ExportedTarget and all targets it owns.\n- The published versions of any other ExportedTargets it depends on.", "is_union": false, - "module": "pants.backend.javascript.install_node_package", - "name": "InstalledNodePackage", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.package_dists", + "name": "ExportedTargetRequirements", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.javascript.install_node_package.install_node_packages_for_address" + "pants.backend.python.util_rules.package_dists.get_requirements" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package", - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs" ] }, - "pants.backend.javascript.install_node_package.InstalledNodePackageRequest": { + "pants.backend.python.util_rules.package_dists.FinalizedSetupKwargs": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "The final kwargs used for the `setup()` function, after Pants added requirements and sources\ninformation.", + "is_union": false, + "module": "pants.backend.python.util_rules.package_dists", + "name": "FinalizedSetupKwargs", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.python.util_rules.package_dists.generate_setup_py" + ] + }, + "pants.backend.python.util_rules.package_dists.GenerateSetupPyRequest": { "consumed_by_rules": [ - "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.python.util_rules.package_dists.determine_finalized_setup_kwargs", + "pants.backend.python.util_rules.package_dists.generate_setup_py" ], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "InstalledNodePackageRequest(address: 'Address')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "GenerateSetupPyRequest(exported_target: 'ExportedTarget', sources: 'DistBuildSources', interpreter_constraints: 'InterpreterConstraints')", "is_union": false, - "module": "pants.backend.javascript.install_node_package", - "name": "InstalledNodePackageRequest", - "provider": "pants.backend.javascript.install_node_package", + "module": "pants.backend.python.util_rules.package_dists", + "name": "GenerateSetupPyRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "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.javascript.subsystems.nodejs_tool.prepare_tool_process" + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.package_dists.generate_setup_py" ] }, - "pants.backend.javascript.install_node_package.InstalledNodePackageWithSource": { + "pants.backend.python.util_rules.package_dists.GeneratedSetupPy": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.javascript.install_node_package", + "pants.backend.url_handlers.s3", "pants.core" ], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "InstalledNodePackageWithSource(project_env: 'NodeJsProjectEnvironment', digest: 'Digest')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "GeneratedSetupPy(digest: 'Digest')", "is_union": false, - "module": "pants.backend.javascript.install_node_package", - "name": "InstalledNodePackageWithSource", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.package_dists", + "name": "GeneratedSetupPy", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package" + "pants.backend.python.util_rules.package_dists.generate_setup_py" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.install_node_package.install_node_packages_for_address" + "pants.backend.python.util_rules.package_dists.generate_chroot" ] }, - "pants.backend.javascript.nodejs_project.AllNodeJSProjects": { - "consumed_by_rules": [ - "pants.backend.javascript.resolve.resolve_for_package", - "pants.backend.javascript.resolve.resolve_to_projects" + "pants.backend.python.util_rules.package_dists.OwnedDependencies": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.python" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], "documentation": null, "is_union": false, - "module": "pants.backend.javascript.nodejs_project", - "name": "AllNodeJSProjects", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.package_dists", + "name": "OwnedDependencies", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.javascript.nodejs_project.find_node_js_projects" + "pants.backend.python.util_rules.package_dists.get_owned_dependencies" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve", + "pants.backend.python.util_rules.package_dists.get_sources" + ] }, - "pants.backend.javascript.nodejs_project_environment.NodeJSProjectEnvironmentRequest": { + "pants.backend.python.util_rules.package_dists.OwnedDependency": { "consumed_by_rules": [ - "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment" + "pants.backend.python.util_rules.package_dists.get_exporting_owner" ], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "NodeJSProjectEnvironmentRequest(address: 'Address')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "A target that is owned by some ExportedTarget.\n\nCode in this target is published in the owner's distribution.\n\nThe owner of a target T is T's closest filesystem ancestor among the python_distribution\ntargets that directly or indirectly depend on it (including T itself).", "is_union": false, - "module": "pants.backend.javascript.nodejs_project_environment", - "name": "NodeJSProjectEnvironmentRequest", - "provider": "pants.backend.javascript.nodejs_project_environment", + "module": "pants.backend.python.util_rules.package_dists", + "name": "OwnedDependency", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.install_node_package.install_node_packages_for_address" + "pants.backend.python.util_rules.package_dists.get_owned_dependencies", + "pants.backend.python.util_rules.package_dists.get_requirements" ] }, - "pants.backend.javascript.nodejs_project_environment.NodeJsProjectEnvironment": { + "pants.backend.python.util_rules.package_dists.SetupKwargs": { "consumed_by_rules": [], - "dependencies": ["pants.backend.javascript.nodejs_project_environment"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "NodeJsProjectEnvironment(resolve: 'ChosenNodeResolve', package: 'OwningNodePackage | None' = None)", + "dependencies": [ + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": "The keyword arguments to the `setup()` function in the generated `setup.py`.", "is_union": false, - "module": "pants.backend.javascript.nodejs_project_environment", - "name": "NodeJsProjectEnvironment", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.package_dists", + "name": "SetupKwargs", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment" + "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.install_node_package.install_node_packages_for_address" + "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs", + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", + "pants.backend.python.util_rules.package_dists.get_requirements" ] }, - "pants.backend.javascript.nodejs_project_environment.NodeJsProjectEnvironmentProcess": { - "consumed_by_rules": [ - "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process" - ], + "pants.backend.python.util_rules.package_dists.SetupKwargsRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "NodeJsProjectEnvironmentProcess(env: 'NodeJsProjectEnvironment', args: 'Iterable[str]', description: 'str', level: 'LogLevel' = , input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), output_files: 'tuple[str, ...]' = (), output_directories: 'tuple[str, ...]' = (), per_package_caches: 'FrozenDict[str, str]' = , timeout_seconds: 'int | None' = None, extra_env: 'FrozenDict[str, str]' = )", - "is_union": false, - "module": "pants.backend.javascript.nodejs_project_environment", - "name": "NodeJsProjectEnvironmentProcess", - "provider": "pants.backend.javascript.nodejs_project_environment", + "dependents": [], + "documentation": "A request to allow setting the kwargs passed to the `setup()` function.\n\nBy default, Pants will pass the kwargs provided in the BUILD file unchanged. To customize this\nbehavior, subclass `SetupKwargsRequest`, register the rule `UnionRule(SetupKwargsRequest,\nMyCustomSetupKwargsRequest)`, and add a rule that takes your subclass as a parameter and returns\n`SetupKwargs`.", + "is_union": true, + "module": "pants.backend.python.util_rules.package_dists", + "name": "SetupKwargsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.install_node_package.install_node_packages_for_address", - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs" ] }, - "pants.backend.javascript.package_json.AllPackageJson": { - "consumed_by_rules": [ - "pants.backend.javascript.nodejs_project.find_node_js_projects", - "pants.backend.javascript.package_json.all_package_json_names", - "pants.backend.javascript.package_json.pnpm_workspace_files" + "pants.backend.python.util_rules.pex.BuildPexResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.python", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.url_handlers.s3" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "dependents": [ + "pants.core" + ], + "documentation": "BuildPexResult(result: 'ProcessResult', pex_filename: 'str', digest: 'Digest', python: 'PythonExecutable | None')", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "AllPackageJson", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex", + "name": "BuildPexResult", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.javascript.package_json.all_package_json" + "pants.backend.python.util_rules.pex.build_pex" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.pex.create_pex", + "pants.backend.python.util_rules.pex.create_venv_pex" + ] }, - "pants.backend.javascript.package_json.AllPackageJsonNames": { - "consumed_by_rules": [ - "pants.backend.javascript.package_json.generate_node_package_targets" + "pants.backend.python.util_rules.pex.CompletePlatforms": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.python", + "pants.engine.addresses" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "Used to not invalidate all generated node package targets when any package.json contents are\nchanged.", + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.python", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "AllPackageJsonNames", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex", + "name": "CompletePlatforms", + "provider": "pants.backend.awslambda.python, pants.core", "returned_by_rules": [ - "pants.backend.javascript.package_json.all_package_json_names" + "pants.backend.python.util_rules.faas.digest_complete_platforms", + "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", + "pants.backend.python.util_rules.pex.digest_complete_platforms" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.package_pex_binary.package_pex_binary", + "pants.backend.python.util_rules.faas.digest_complete_platforms", + "pants.backend.python.util_rules.faas.infer_runtime_platforms", + "pants.backend.python.util_rules.pex.digest_complete_platforms" + ] }, - "pants.backend.javascript.package_json.FirstPartyNodePackageTargets": { - "consumed_by_rules": [ - "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages", - "pants.backend.javascript.resolve.resolve_to_first_party_node_package" + "pants.backend.python.util_rules.pex.OptionalPex": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.python" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "dependents": [ + "pants.backend.python" + ], + "documentation": "OptionalPex(maybe_pex: 'Pex | None')", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "FirstPartyNodePackageTargets", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex", + "name": "OptionalPex", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.javascript.package_json.all_first_party_node_package_targets" + "pants.backend.python.util_rules.pex.create_optional_pex" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + ] }, - "pants.backend.javascript.package_json.GenerateNodePackageTargets": { + "pants.backend.python.util_rules.pex.OptionalPexRequest": { "consumed_by_rules": [ - "pants.backend.javascript.package_json.generate_node_package_targets" + "pants.backend.python.util_rules.pex.create_optional_pex" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.go", + "pants.core" + ], + "dependents": [ + "pants.backend.python", + "pants.core" + ], + "documentation": "OptionalPexRequest(maybe_pex_request: 'PexRequest | None')", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "GenerateNodePackageTargets", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [], + "module": "pants.backend.python.util_rules.pex", + "name": "OptionalPexRequest", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + ], "union_members": [], - "union_type": "GenerateTargetsRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + ] }, - "pants.backend.javascript.package_json.OwningNodePackage": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.go", - "pants.backend.javascript.package_json", + "pants.backend.python.util_rules.pex.Pex": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.pex.determine_pex_resolve_info" + ], + "dependencies": [], + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.tools.yamllint", + "pants.backend.python", + "pants.backend.python.lint.pylint", + "pants.backend.python.typecheck.mypy", "pants.core" ], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "OwningNodePackage(target: 'Target | None' = None, third_party: 'tuple[Target, ...]' = ())", + "documentation": "Wrapper for a digest containing a pex file created with some filename.", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "OwningNodePackage", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex", + "name": "Pex", + "provider": "pants.backend.python, pants.core", "returned_by_rules": [ - "pants.backend.javascript.package_json.find_owning_package" + "pants.backend.python.util_rules.pex.create_pex" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages", - "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment", - "pants.backend.javascript.resolve.resolve_for_package" + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request", + "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "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", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.faas.build_python_faas", + "pants.backend.python.util_rules.local_dists.build_local_dists", + "pants.backend.python.util_rules.pex.create_optional_pex", + "pants.backend.tools.yamllint.rules.run_yamllint" ] }, - "pants.backend.javascript.package_json.OwningNodePackageRequest": { + "pants.backend.python.util_rules.pex.PexProcess": { "consumed_by_rules": [ - "pants.backend.javascript.package_json.find_owning_package" + "pants.backend.python.util_rules.pex.setup_pex_process" ], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "OwningNodePackageRequest(address: 'Address')", + "dependents": [ + "pants.core" + ], + "documentation": "PexProcess(pex: 'Pex', *, description: 'str', argv: 'Iterable[str]' = (), level: 'LogLevel' = , input_digest: 'Digest | None' = None, working_directory: 'str | None' = None, extra_env: 'Mapping[str, str] | None' = None, output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, timeout_seconds: 'int | None' = None, execution_slot_variable: 'str | None' = None, concurrency_available: 'int' = 0, cache_scope: 'ProcessCacheScope' = ) -> 'None'", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "OwningNodePackageRequest", - "provider": "pants.backend.javascript.package_json", + "module": "pants.backend.python.util_rules.pex", + "name": "PexProcess", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages", - "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment", - "pants.backend.javascript.resolve.resolve_for_package" + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.util_rules.pex.determine_pex_resolve_info", + "pants.backend.tools.yamllint.rules.run_yamllint" + ] + }, + "pants.backend.python.util_rules.pex.PexRequest": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex.create_pex", + "pants.backend.python.util_rules.pex.wrap_venv_prex_request" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.python", + "pants.core" + ], + "documentation": "PexRequest(*, output_filename: 'str', internal_only: 'bool', layout: 'PexLayout | None' = None, python: 'PythonExecutable | None' = None, requirements: 'PexRequirements | EntireLockfile' = PexRequirements(req_strings_or_addrs=FrozenOrderedSet(), constraints_strings=FrozenOrderedSet(), from_superset=None, description_of_origin=''), interpreter_constraints=InterpreterConstraints(), platforms=PexPlatforms([]), complete_platforms=CompletePlatforms([]), sources: 'Digest | None' = None, additional_inputs: 'Digest | None' = None, main: 'MainSpecification | None' = None, inject_args: 'Iterable[str]' = (), inject_env: 'Mapping[str, str]' = FrozenDict({}), additional_args: 'Iterable[str]' = (), pex_path: 'Iterable[Pex]' = (), description: 'str | None' = None, cache_scope: 'ProcessCacheScope' = ) -> 'None'", + "is_union": false, + "module": "pants.backend.python.util_rules.pex", + "name": "PexRequest", + "provider": "pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", + "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.goals.coverage_py.setup_coverage", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.goals.repl.create_ipython_repl_request", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", + "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.docformatter.rules.docformatter_fmt", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.local_dists.build_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.python.util_rules.pex.create_optional_pex", + "pants.backend.python.util_rules.pex.create_pex", + "pants.backend.python.util_rules.pex.create_venv_pex", + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", + "pants.backend.terraform.dependency_inference.setup_parser", + "pants.backend.tools.semgrep.rules.lint", + "pants.backend.tools.yamllint.rules.run_yamllint", + "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" ] }, - "pants.backend.javascript.package_json.PackageJson": { + "pants.backend.python.util_rules.pex.PexRequirementsInfo": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.javascript.package_json", - "pants.engine.fs" + "pants.backend.experimental.go", + "pants.backend.python", + "pants.engine.addresses" ], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "PackageJson(content: 'FrozenDict[str, Any]', name: 'str', version: 'str | None', snapshot: 'Snapshot', workspaces: 'tuple[str, ...]' = (), module: \"Literal['commonjs', 'module'] | None\" = None, dependencies: 'FrozenDict[str, str]' = , package_manager: 'str | None' = None)", + "dependents": [ + "pants.backend.python", + "pants.core" + ], + "documentation": "PexRequirementsInfo(req_strings: 'tuple[str, ...]', find_links: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "PackageJson", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex", + "name": "PexRequirementsInfo", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.javascript.package_json.package_json_for_source", - "pants.backend.javascript.package_json.parse_package_json" + "pants.backend.python.util_rules.pex.get_req_strings" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.package_json.generate_node_package_targets", - "pants.backend.javascript.package_json.read_package_jsons", - "pants.backend.javascript.package_json.script_entrypoints_for_source", - "pants.backend.javascript.package_json.subpath_imports_for_source" + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.util_rules.pex.build_pex" ] }, - "pants.backend.javascript.package_json.PackageJsonEntryPoints": { + "pants.backend.python.util_rules.pex.PexResolveInfo": { "consumed_by_rules": [], - "dependencies": ["pants.backend.javascript.package_json"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "See https://nodejs.org/api/packages.html#package-entry-points and\nhttps://docs.npmjs.com/cli/v9/configuring-npm/package-json#browser.", + "dependencies": [ + "pants.backend.experimental.helm", + "pants.backend.python" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pylint", + "pants.backend.python.typecheck.mypy" + ], + "documentation": "Information about all distributions resolved in a PEX file, as reported by `PEX_TOOLS=1\nrepository info -v`.", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "PackageJsonEntryPoints", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex", + "name": "PexResolveInfo", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.javascript.package_json.script_entrypoints_for_source" + "pants.backend.python.util_rules.pex.determine_pex_resolve_info", + "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies" + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" ] }, - "pants.backend.javascript.package_json.PackageJsonForGlobs": { + "pants.backend.python.util_rules.pex.PythonProvider": { "consumed_by_rules": [], - "dependencies": ["builtins", "pants.engine.fs"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, - "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "PackageJsonForGlobs", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [ - "pants.backend.javascript.package_json.read_package_jsons" + "dependencies": [], + "dependents": [ + "pants.backend.python.providers.experimental.pyenv" + ], + "documentation": "Union which should have 0 or 1 implementations registered which provide Python.\n\nSubclasses should provide a rule from their subclass type to `PythonExecutable`.", + "is_union": true, + "module": "pants.backend.python.util_rules.pex", + "name": "PythonProvider", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [ + "PyenvPythonProvider" ], - "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.package_json.all_package_json", - "pants.backend.javascript.package_json.package_json_for_source" + "pants.backend.python.util_rules.pex.find_interpreter" ] }, - "pants.backend.javascript.package_json.PackageJsonImports": { + "pants.backend.python.util_rules.pex.VenvPex": { "consumed_by_rules": [ - "pants.backend.javascript.dependency_inference.rules.prepare_inference_metadata" + "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info" ], - "dependencies": ["pants.backend.javascript.package_json"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "https://nodejs.org/api/packages.html#subpath-imports.", + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3" + ], + "dependents": [ + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.python", + "pants.backend.docker", + "pants.backend.experimental.helm", + "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.python.lint.add_trailing_comma", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.terraform", + "pants.backend.experimental.tools.semgrep", + "pants.backend.python", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.python.typecheck.mypy", + "pants.core" + ], + "documentation": "VenvPex(digest: 'Digest', append_only_caches: 'FrozenDict[str, str] | None', pex_filename: 'str', pex: 'Script', python: 'Script', bin: 'FrozenDict[str, Script]', venv_rel_dir: 'str')", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "PackageJsonImports", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex", + "name": "VenvPex", + "provider": "pants.backend.python, pants.core", "returned_by_rules": [ - "pants.backend.javascript.package_json.subpath_imports_for_source" + "pants.backend.python.util_rules.pex.create_venv_pex" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", + "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.goals.coverage_py.setup_coverage", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", + "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.docformatter.rules.docformatter_fmt", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", + "pants.backend.terraform.dependency_inference.setup_parser", + "pants.backend.tools.semgrep.rules.lint", + "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" + ] }, - "pants.backend.javascript.package_json.PackageJsonSourceField": { + "pants.backend.python.util_rules.pex.VenvPexProcess": { "consumed_by_rules": [ - "pants.backend.javascript.package_json.package_json_for_source", - "pants.backend.javascript.package_json.script_entrypoints_for_source", - "pants.backend.javascript.package_json.subpath_imports_for_source" + "pants.backend.python.util_rules.pex.setup_venv_pex_process" ], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "dependents": [ + "pants.core" + ], + "documentation": "VenvPexProcess(venv_pex: 'VenvPex', *, description: 'str', argv: 'Iterable[str]' = (), level: 'LogLevel' = , input_digest: 'Digest | None' = None, working_directory: 'str | None' = None, extra_env: 'Mapping[str, str] | None' = None, output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, timeout_seconds: 'int | None' = None, execution_slot_variable: 'str | None' = None, concurrency_available: 'int' = 0, cache_scope: 'ProcessCacheScope' = , append_only_caches: 'Mapping[str, str] | None' = None) -> 'None'", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "PackageJsonSourceField", - "provider": "pants.backend.javascript.package_json", + "module": "pants.backend.python.util_rules.pex", + "name": "VenvPexProcess", + "provider": "pants.backend.python", "returned_by_rules": [], "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_node_package_dependencies", - "pants.backend.javascript.package_json.generate_node_package_targets", - "pants.backend.javascript.package_json.script_entrypoints_for_source", - "pants.backend.javascript.package_json.subpath_imports_for_source" + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile", + "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", + "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.docformatter.rules.docformatter_fmt", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info", + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", + "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources", + "pants.backend.tools.semgrep.rules.lint", + "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" ] }, - "pants.backend.javascript.package_json.PnpmWorkspaces": { + "pants.backend.python.util_rules.pex.VenvPexRequest": { "consumed_by_rules": [ - "pants.backend.javascript.nodejs_project.find_node_js_projects" + "pants.backend.python.util_rules.pex.create_venv_pex" ], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core", - "pants.engine.fs" + "dependencies": [], + "dependents": [ + "pants.core" ], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "documentation": "VenvPexRequest(pex_request: 'PexRequest', complete_pex_env: 'CompletePexEnvironment', bin_names: 'Iterable[str]' = (), site_packages_copies: 'bool' = False) -> 'None'", "is_union": false, - "module": "pants.backend.javascript.package_json", - "name": "PnpmWorkspaces", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex", + "name": "VenvPexRequest", + "provider": "pants.backend.python, pants.core", "returned_by_rules": [ - "pants.backend.javascript.package_json.pnpm_workspace_files" + "pants.backend.python.util_rules.pex.wrap_venv_prex_request" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" + ] }, - "pants.backend.javascript.resolve.ChosenNodeResolve": { - "consumed_by_rules": [], + "pants.backend.python.util_rules.pex_cli.PexCli": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.pex_cli.download_pex_pex" + ], "dependencies": [ - "pants.backend.experimental.go", - "pants.backend.javascript.resolve" + "pants.option.scope" ], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "ChosenNodeResolve(project: 'NodeJSProject')", - "is_union": false, - "module": "pants.backend.javascript.resolve", - "name": "ChosenNodeResolve", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [ - "pants.backend.javascript.resolve.resolve_for_package" + "dependents": [ + "pants.core" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment" - ] - }, - "pants.backend.javascript.resolve.FirstPartyNodePackageResolves": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], "documentation": null, "is_union": false, - "module": "pants.backend.javascript.resolve", - "name": "FirstPartyNodePackageResolves", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex_cli", + "name": "PexCli", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.javascript.resolve.resolve_to_first_party_node_package" + "construct_scope_pex_cli" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" - ] + "used_in_rules": [] }, - "pants.backend.javascript.resolve.NodeJSProjectResolves": { + "pants.backend.python.util_rules.pex_cli.PexCliProcess": { "consumed_by_rules": [ - "pants.backend.javascript.resolve.resolve_to_first_party_node_package" + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" ], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, - "is_union": false, - "module": "pants.backend.javascript.resolve", - "name": "NodeJSProjectResolves", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [ - "pants.backend.javascript.resolve.resolve_to_projects" + "dependents": [ + "pants.core" ], + "documentation": "PexCliProcess(*, subcommand: 'Iterable[str]', extra_args: 'Iterable[str]', description: 'str', additional_input_digest: 'Optional[Digest]' = None, extra_env: 'Optional[Mapping[str, str]]' = None, output_files: 'Optional[Iterable[str]]' = None, output_directories: 'Optional[Iterable[str]]' = None, level: 'LogLevel' = , concurrency_available: 'int' = 0, cache_scope: 'ProcessCacheScope' = ) -> 'None'", + "is_union": false, + "module": "pants.backend.python.util_rules.pex_cli", + "name": "PexCliProcess", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex.find_interpreter", + "pants.backend.python.util_rules.pex_venv.pex_venv" ] }, - "pants.backend.javascript.resolve.RequestNodeResolve": { + "pants.backend.python.util_rules.pex_cli.PexPEX": { "consumed_by_rules": [ - "pants.backend.javascript.resolve.resolve_for_package" + "pants.backend.python.goals.export.do_export", + "pants.backend.python.util_rules.pex.determine_pex_resolve_info", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "RequestNodeResolve(address: 'Address')", + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.backend.python", + "pants.core" + ], + "documentation": "The Pex PEX binary.", "is_union": false, - "module": "pants.backend.javascript.resolve", - "name": "RequestNodeResolve", - "provider": "pants.backend.javascript.resolve", - "returned_by_rules": [], + "module": "pants.backend.python.util_rules.pex_cli", + "name": "PexPEX", + "provider": "pants.core", + "returned_by_rules": [ + "pants.backend.python.util_rules.pex_cli.download_pex_pex" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment" - ] + "used_in_rules": [] }, - "pants.backend.javascript.subsystems.nodejs.CorepackToolDigest": { - "consumed_by_rules": [], + "pants.backend.python.util_rules.pex_environment.EnvironmentAware": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.pex_environment.find_pex_python" + ], "dependencies": [ - "pants.backend.experimental.helm", - "pants.backend.javascript.subsystems.nodejs" + "pants.backend.experimental.javascript" ], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "CorepackToolDigest(digest: 'Digest')", + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "CorepackToolDigest", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex_environment", + "name": "EnvironmentAware", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool" + "construct_env_aware_scope_pex" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process" - ] + "used_in_rules": [] }, - "pants.backend.javascript.subsystems.nodejs.CorepackToolRequest": { + "pants.backend.python.util_rules.pex_environment.PexEnvironment": { "consumed_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool" + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.repl.create_ipython_repl_request", + "pants.backend.python.goals.repl.create_python_repl_request", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.pex.create_venv_pex", + "pants.backend.python.util_rules.pex.setup_pex_process", + "pants.backend.python.util_rules.pex.setup_venv_pex_process", + "pants.backend.python.util_rules.pex.wrap_venv_prex_request", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "CorepackToolRequest(tool: 'str', input_digest: 'Digest', working_directory: 'str | None' = None, version: 'str | None' = None)", + "dependencies": [ + "pants.option.global_options" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.python", + "pants.backend.python.lint.pylint", + "pants.core" + ], + "documentation": "PexEnvironment(path: 'tuple[str, ...]', interpreter_search_paths: 'tuple[str, ...]', subprocess_environment_dict: 'FrozenDict[str, str]', named_caches_dir: 'PurePath', bootstrap_python: 'PythonBuildStandaloneBinary', venv_use_symlinks: 'bool' = False)", "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "CorepackToolRequest", - "provider": "pants.backend.javascript.subsystems.nodejs", - "returned_by_rules": [], + "module": "pants.backend.python.util_rules.pex_environment", + "name": "PexEnvironment", + "provider": "pants.core", + "returned_by_rules": [ + "pants.backend.python.util_rules.pex_environment.find_pex_python" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process" - ] + "used_in_rules": [] }, - "pants.backend.javascript.subsystems.nodejs.EnvironmentAware": { + "pants.backend.python.util_rules.pex_environment.PexSubsystem": { "consumed_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.node_process_environment", - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap" + "construct_env_aware_scope_pex", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex.find_interpreter", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", + "pants.backend.python.util_rules.pex_environment.find_pex_python" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.core", "pants.engine.env_vars"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], "documentation": null, "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "EnvironmentAware", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": ["construct_env_aware_scope_nodejs"], + "module": "pants.backend.python.util_rules.pex_environment", + "name": "PexSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_pex" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.javascript.subsystems.nodejs.NodeJS": { - "consumed_by_rules": [ - "construct_env_aware_scope_nodejs", - "pants.backend.javascript.nodejs_project.find_node_js_projects", - "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", - "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", - "pants.backend.javascript.subsystems.nodejs.user_chosen_resolve_aliases" + "pants.backend.python.util_rules.pex_environment.PythonExecutable": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.shell", + "pants.engine.unions" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.python.framework.django", + "pants.backend.python", + "pants.core" + ], + "documentation": "The BinaryPath of a Python executable for user code, along with some extras.", "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "NodeJS", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": ["construct_scope_nodejs"], + "module": "pants.backend.python.util_rules.pex_environment", + "name": "PythonExecutable", + "provider": "pants.backend.python.providers.experimental.pyenv, pants.core", + "returned_by_rules": [ + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.backend.python.util_rules.pex.find_interpreter" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex.find_interpreter" ] }, - "pants.backend.javascript.subsystems.nodejs.NodeJSBinaries": { - "consumed_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.node_process_environment" + "pants.backend.python.util_rules.pex_from_targets.ChosenPythonResolve": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.core" ], - "dependencies": ["pants.core", "pants.engine.platform"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "NodeJSBinaries(binary_dir: 'str', digest: 'Digest | None' = None)", + "dependents": [ + "pants.backend.python" + ], + "documentation": "ChosenPythonResolve(name: 'str', lockfile: 'Lockfile')", "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "NodeJSBinaries", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "ChosenPythonResolve", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries" + "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + ] }, - "pants.backend.javascript.subsystems.nodejs.NodeJSBootstrap": { + "pants.backend.python.util_rules.pex_from_targets.ChosenPythonResolveRequest": { "consumed_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version" - ], - "dependencies": ["pants.core", "pants.engine.env_vars"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "NodeJSBootstrap(nodejs_search_paths: 'tuple[str, ...]')", - "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "NodeJSBootstrap", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap" + "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve" + ], + "dependencies": [], + "dependents": [ + "pants.backend.python" ], + "documentation": "ChosenPythonResolveRequest(addresses: 'Addresses')", + "is_union": false, + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "ChosenPythonResolveRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + ] }, - "pants.backend.javascript.subsystems.nodejs.NodeJSProcessEnvironment": { + "pants.backend.python.util_rules.pex_from_targets.GlobalRequirementConstraints": { "consumed_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", - "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process" + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", + "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", "pants.core", - "pants.engine.env_vars" + "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "NodeJSProcessEnvironment(binaries: 'NodeJSBinaries', npm_config_cache: 'str', tool_binaries: 'BinaryShims', corepack_home: 'str', corepack_shims: 'str', corepack_env_vars: 'EnvironmentVars')", + "dependents": [ + "pants.backend.python" + ], + "documentation": "Global constraints specified by the `[python].requirement_constraints` setting, if any.", "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "NodeJSProcessEnvironment", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "GlobalRequirementConstraints", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.node_process_environment" + "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.javascript.subsystems.nodejs.NodeJSToolProcess": { + "pants.backend.python.util_rules.pex_from_targets.InterpreterConstraintsRequest": { "consumed_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process" + "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets" ], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "A request for a tool installed with NodeJS.", + "dependents": [ + "pants.backend.python" + ], + "documentation": "InterpreterConstraintsRequest(addresses: 'Iterable[Address]', *, hardcoded_interpreter_constraints: 'InterpreterConstraints | None' = None) -> 'None'", "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "NodeJSToolProcess", - "provider": "pants.backend.javascript.subsystems.nodejs", + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "InterpreterConstraintsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + "pants.backend.python.goals.repl.create_ipython_repl_request", + "pants.backend.python.goals.repl.create_python_repl_request", + "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", + "pants.backend.python.util_rules.faas.infer_runtime_platforms", + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" ] }, - "pants.backend.javascript.subsystems.nodejs.UserChosenNodeJSResolveAliases": { + "pants.backend.python.util_rules.pex_from_targets.PexFromTargetsRequest": { "consumed_by_rules": [ - "pants.backend.javascript.nodejs_project.find_node_js_projects", - "pants.backend.javascript.resolve.resolve_to_projects" + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" ], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, - "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "UserChosenNodeJSResolveAliases", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.user_chosen_resolve_aliases" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.javascript.subsystems.nodejs._BinaryPathsPerVersion": { - "consumed_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries" + "dependents": [ + "pants.backend.python" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "documentation": "PexFromTargetsRequest(addresses: 'Iterable[Address]', *, output_filename: 'str', internal_only: 'bool', layout: 'PexLayout | None' = None, main: 'MainSpecification | None' = None, inject_args: 'Iterable[str]' = (), inject_env: 'Mapping[str, str]' = FrozenDict({}), platforms: 'PexPlatforms' = PexPlatforms([]), complete_platforms: 'CompletePlatforms' = CompletePlatforms([]), additional_args: 'Iterable[str]' = (), additional_lockfile_args: 'Iterable[str]' = (), include_source_files: 'bool' = True, include_requirements: 'bool' = True, include_local_dists: 'bool' = False, additional_sources: 'Digest | None' = None, additional_inputs: 'Digest | None' = None, hardcoded_interpreter_constraints: 'InterpreterConstraints | None' = None, description: 'str | None' = None, warn_for_transitive_files_targets: 'bool' = False) -> 'None'", "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs", - "name": "_BinaryPathsPerVersion", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "PexFromTargetsRequest", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version" + "pants.backend.python.util_rules.pex_from_targets.generalize_requirements_pex_request" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.util_rules.faas.build_python_faas" + ] }, - "pants.backend.javascript.subsystems.nodejs_infer.NodeJSInfer": { + "pants.backend.python.util_rules.pex_from_targets.RequirementsPexRequest": { "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.python.util_rules.pex_from_targets.generalize_requirements_pex_request" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "Requests a PEX containing only thirdparty requirements for internal/non-portable use.\n\nUsed as part of an optimization to reduce the \"overhead\" (in terms of both time and space) of\nthirdparty requirements by taking advantage of certain PEX features.", "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs_infer", - "name": "NodeJSInfer", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": ["construct_scope_nodejs_infer"], + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "RequirementsPexRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.goals.repl.create_ipython_repl_request", + "pants.backend.python.goals.repl.create_python_repl_request", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" + ] }, - "pants.backend.javascript.subsystems.nodejs_tool.NodeJSToolRequest": { + "pants.backend.python.util_rules.pex_from_targets._ConstraintsRepositoryPexRequest": { "consumed_by_rules": [ - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process" + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex" ], "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "NodeJSToolRequest(tool: 'str', resolve: 'str | None', args: 'tuple[str, ...]', input_digest: 'Digest', description: 'str', level: 'LogLevel', options_scope: 'str', output_files: 'tuple[str, ...]' = (), output_directories: 'tuple[str, ...]' = (), append_only_caches: 'FrozenDict[str, str]' = , timeout_seconds: 'int | None' = None, extra_env: 'Mapping[str, str]' = )", + "dependents": [ + "pants.backend.python" + ], + "documentation": "_ConstraintsRepositoryPexRequest(repository_pex_request: '_RepositoryPexRequest')", "is_union": false, - "module": "pants.backend.javascript.subsystems.nodejs_tool", - "name": "NodeJSToolRequest", - "provider": "pants.backend.javascript.subsystems.nodejs_tool", + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "_ConstraintsRepositoryPexRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", - "pants.backend.openapi.lint.spectral.rules.run_spectral" + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" ] }, - "pants.backend.kotlin.compile.kotlinc.CompileKotlinSourceRequest": { + "pants.backend.python.util_rules.pex_from_targets._PexRequirementsRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure" ], - "dependencies": ["pants.jvm.compile"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "Determine the requirement strings used transitively.\n\nThis type is private because callers should likely use `RequirementsPexRequest` or\n`PexFromTargetsRequest` instead.", "is_union": false, - "module": "pants.backend.kotlin.compile.kotlinc", - "name": "CompileKotlinSourceRequest", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "_PexRequirementsRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "ClasspathEntryRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + ] }, - "pants.backend.kotlin.compile.kotlinc_plugins.AllKotlincPluginTargets": { + "pants.backend.python.util_rules.pex_from_targets._RepositoryPexRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target" + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, - "is_union": false, - "module": "pants.backend.kotlin.compile.kotlinc_plugins", - "name": "AllKotlincPluginTargets", - "provider": "pants.backend.experimental.kotlin", - "returned_by_rules": [ - "pants.backend.kotlin.compile.kotlinc_plugins.all_kotlinc_plugin_targets" + "dependencies": [], + "dependents": [ + "pants.backend.python" ], + "documentation": "_RepositoryPexRequest(addresses: 'Iterable[Address]', *, internal_only: 'bool', hardcoded_interpreter_constraints: 'InterpreterConstraints | None' = None, platforms: 'PexPlatforms' = PexPlatforms([]), complete_platforms: 'CompletePlatforms' = CompletePlatforms([]), additional_lockfile_args: 'tuple[str, ...]' = ()) -> 'None'", + "is_union": false, + "module": "pants.backend.python.util_rules.pex_from_targets", + "name": "_RepositoryPexRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + ] }, - "pants.backend.kotlin.compile.kotlinc_plugins.KotlincPluginTargetsForTarget": { + "pants.backend.python.util_rules.pex_requirements.LoadedLockfile": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", + "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.kotlin.compile.kotlinc_plugins", + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.yapf", + "pants.backend.python", "pants.core" ], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlincPluginTargetsForTarget(plugins: 'Targets', artifacts: 'Targets')", + "documentation": "A lockfile after loading and header stripping.\n\nValidation is deferred until consumption time, because each consumed subset (in the case of a\nPEX-native lockfile) can be individually validated.", "is_union": false, - "module": "pants.backend.kotlin.compile.kotlinc_plugins", - "name": "KotlincPluginTargetsForTarget", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.pex_requirements", + "name": "LoadedLockfile", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target" + "pants.backend.python.util_rules.pex_requirements.load_lockfile" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" ] }, - "pants.backend.kotlin.compile.kotlinc_plugins.KotlincPlugins": { + "pants.backend.python.util_rules.pex_requirements.LoadedLockfileRequest": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.pex_requirements.load_lockfile" + ], + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "A request to load and validate the content of the given lockfile.", + "is_union": false, + "module": "pants.backend.python.util_rules.pex_requirements", + "name": "LoadedLockfileRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" + ] + }, + "pants.backend.python.util_rules.pex_requirements.Lockfile": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.scala", - "pants.backend.kotlin.compile.kotlinc_plugins", - "pants.core", - "pants.engine.target" + "pants.backend.python" ], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlincPlugins(ids: 'tuple[str, ...]', classpath: 'ClasspathEntry', plugin_args: 'FrozenDict[str, tuple[str, ...]]')", + "dependents": [ + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.yapf", + "pants.backend.python", + "pants.core" + ], + "documentation": "Lockfile(url: 'str', url_description_of_origin: 'str', resolve_name: 'str', lockfile_hex_digest: 'str | None' = None)", "is_union": false, - "module": "pants.backend.kotlin.compile.kotlinc_plugins", - "name": "KotlincPlugins", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.pex_requirements", + "name": "Lockfile", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins" + "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.util_rules.pex.build_pex", + "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" ] }, - "pants.backend.kotlin.compile.kotlinc_plugins.KotlincPluginsForTargetRequest": { + "pants.backend.python.util_rules.pex_requirements.PexRequirements": { "consumed_by_rules": [ - "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target" + "pants.backend.python.util_rules.pex.get_req_strings" ], - "dependencies": ["pants.backend.experimental.java"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlincPluginsForTargetRequest(target: 'Target', resolve_name: 'str')", + "dependencies": [], + "dependents": [ + "pants.backend.python", + "pants.core" + ], + "documentation": "A request to resolve a series of requirements (optionally from a \"superset\" resolve).", "is_union": false, - "module": "pants.backend.kotlin.compile.kotlinc_plugins", - "name": "KotlincPluginsForTargetRequest", - "provider": "pants.backend.experimental.kotlin, pants.backend.kotlin.compile.kotlinc_plugins", + "module": "pants.backend.python.util_rules.pex_requirements", + "name": "PexRequirements", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.kotlin.compile.kotlinc_plugins.add_resolve_name_to_plugin_request" + "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" ] }, - "pants.backend.kotlin.compile.kotlinc_plugins.KotlincPluginsRequest": { + "pants.backend.python.util_rules.pex_requirements.Resolve": { "consumed_by_rules": [ - "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins" + "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve" ], "dependencies": [], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlincPluginsRequest(plugins: 'Targets', artifacts: 'Targets', resolve: 'CoursierResolveKey')", + "dependents": [ + "pants.core" + ], + "documentation": "Resolve(name: 'str', use_entire_lockfile: 'bool')", "is_union": false, - "module": "pants.backend.kotlin.compile.kotlinc_plugins", - "name": "KotlincPluginsRequest", - "provider": "pants.backend.kotlin.compile.kotlinc_plugins", + "module": "pants.backend.python.util_rules.pex_requirements", + "name": "Resolve", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source" + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.util_rules.pex.build_pex", + "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" ] }, - "pants.backend.kotlin.dependency_inference.kotlin_parser.FallibleKotlinSourceDependencyAnalysisResult": { - "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis" - ], + "pants.backend.python.util_rules.pex_requirements.ResolvePexConfig": { + "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.core", - "pants.engine.process" + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.engine.fs", + "pants.engine.unions" ], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "FallibleKotlinSourceDependencyAnalysisResult(process_result: 'FallibleProcessResult')", + "dependents": [ + "pants.core" + ], + "documentation": "Configuration from `[python]` that impacts how the resolve is created.", "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.kotlin_parser", - "name": "FallibleKotlinSourceDependencyAnalysisResult", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.pex_requirements", + "name": "ResolvePexConfig", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies" + "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.util_rules.pex.build_pex" + ] }, - "pants.backend.kotlin.dependency_inference.kotlin_parser.KotlinParserCompiledClassfiles": { + "pants.backend.python.util_rules.pex_requirements.ResolvePexConfigRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies" + "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config" + ], + "dependencies": [], + "dependents": [ + "pants.core" ], + "documentation": "Find all configuration from `[python]` that impacts how the resolve is created.\n\nIf `resolve_name` is None, then most per-resolve options will be ignored because there is no way\nfor users to configure them. However, some options like `[python-repos].indexes` will still be\nloaded.", + "is_union": false, + "module": "pants.backend.python.util_rules.pex_requirements", + "name": "ResolvePexConfigRequest", + "provider": "pants.backend.python", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.util_rules.pex.build_pex" + ] + }, + "pants.backend.python.util_rules.pex_venv.PexVenv": { + "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.python", + "pants.backend.url_handlers.s3", "pants.core" ], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "PexVenv(digest: 'Digest', path: 'Path')", "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.kotlin_parser", - "name": "KotlinParserCompiledClassfiles", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.pex_venv", + "name": "PexVenv", + "provider": "pants.backend.awslambda.python", "returned_by_rules": [ - "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles" + "pants.backend.python.util_rules.pex_venv.pex_venv" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.faas.build_python_faas" + ] }, - "pants.backend.kotlin.dependency_inference.kotlin_parser.KotlinParserToolLockfileSentinel": { + "pants.backend.python.util_rules.pex_venv.PexVenvRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.kotlin_parser.generate_kotlin_parser_lockfile_request" + "pants.backend.python.util_rules.pex_venv.pex_venv" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.awslambda.python" + ], + "documentation": "PexVenvRequest(pex: 'Pex', layout: 'PexVenvLayout', output_path: 'Path', description: 'str', platforms: 'PexPlatforms' = PexPlatforms([]), complete_platforms: 'CompletePlatforms' = CompletePlatforms([]), prefix: 'None | str' = None, extra_args: 'tuple[str, ...]' = ())", "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.kotlin_parser", - "name": "KotlinParserToolLockfileSentinel", - "provider": "pants.backend.experimental.kotlin, pants.backend.kotlin.dependency_inference.kotlin_parser", + "module": "pants.backend.python.util_rules.pex_venv", + "name": "PexVenvRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateToolLockfileSentinel", + "union_type": null, "used_in_rules": [ - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", - "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles" + "pants.backend.python.util_rules.faas.build_python_faas" ] }, - "pants.backend.kotlin.dependency_inference.kotlin_parser.KotlinSourceDependencyAnalysis": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.fs", "pants.option.global_options"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlinSourceDependencyAnalysis(package: 'str', imports: 'frozenset[KotlinImport]', named_declarations: 'frozenset[str]', consumed_symbols_by_scope: 'FrozenDict[str, frozenset[str]]', scopes: 'frozenset[str]')", + "pants.backend.python.util_rules.python_sources.PythonSourceFiles": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.python_sources.strip_python_sources" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.core", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.python", + "pants.backend.python.lint.pylint", + "pants.backend.python.typecheck.mypy" + ], + "documentation": "Sources that can be introspected by Python, relative to a set of source roots.\n\nSpecifically, this will filter out to only have Python, and, optionally, resource and\nfile targets; and will add any missing `__init__.py` files to ensure that modules are\nrecognized correctly.\n\nUse-cases that introspect Python source code (e.g., the `test, `lint`, `fmt` goals) can\nrequest this type to get relevant sources that are still relative to their source roots.\nThat way the paths they report are the unstripped ones the user is familiar with.\n\nThe sources can also be imported and used by Python (e.g., for the `test` goal), but only\nif sys.path is modified to include the source roots.", "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.kotlin_parser", - "name": "KotlinSourceDependencyAnalysis", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.python_sources", + "name": "PythonSourceFiles", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis" + "pants.backend.python.util_rules.python_sources.prepare_python_sources" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", - "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols" + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" ] }, - "pants.backend.kotlin.dependency_inference.rules.InferKotlinRuntimeDependencyRequest": { + "pants.backend.python.util_rules.python_sources.PythonSourceFilesRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency" + "pants.backend.python.util_rules.python_sources.prepare_python_sources" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, - "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.rules", - "name": "InferKotlinRuntimeDependencyRequest", - "provider": "pants.backend.experimental.kotlin", - "returned_by_rules": [], - "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] - }, - "pants.backend.kotlin.dependency_inference.rules.InferKotlinSourceDependencies": { - "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis" + "dependencies": [], + "dependents": [ + "pants.backend.python" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, + "documentation": "PythonSourceFilesRequest(targets: 'Iterable[Target]', *, include_resources: 'bool' = True, include_files: 'bool' = False) -> 'None'", "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.rules", - "name": "InferKotlinSourceDependencies", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.python_sources", + "name": "PythonSourceFilesRequest", + "provider": "pants.backend.python", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.package_dists.get_sources", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + ] }, - "pants.backend.kotlin.dependency_inference.rules.KotlinRuntimeForResolve": { + "pants.backend.python.util_rules.python_sources.StrippedPythonSourceFiles": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.java", - "pants.backend.kotlin.dependency_inference.rules" + "pants.core" ], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlinRuntimeForResolve(addresses: 'frozenset[Address]')", + "dependents": [ + "pants.backend.python", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.pylint" + ], + "documentation": "A PythonSourceFiles that has had its source roots stripped.", "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.rules", - "name": "KotlinRuntimeForResolve", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.python_sources", + "name": "StrippedPythonSourceFiles", + "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve" + "pants.backend.python.util_rules.python_sources.strip_python_sources" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency" + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "pants.backend.python.util_rules.package_dists.get_sources", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" ] }, - "pants.backend.kotlin.dependency_inference.rules.KotlinRuntimeForResolveRequest": { + "pants.backend.python.util_rules.vcs_versioning.AllVCSVersionTargets": { "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve" + "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlinRuntimeForResolveRequest(resolve_name: 'str')", + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.python" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.rules", - "name": "KotlinRuntimeForResolveRequest", - "provider": "pants.backend.kotlin.dependency_inference.rules", - "returned_by_rules": [], + "module": "pants.backend.python.util_rules.vcs_versioning", + "name": "AllVCSVersionTargets", + "provider": "pants.backend.experimental.python", + "returned_by_rules": [ + "pants.backend.python.util_rules.vcs_versioning.find_all_vcs_version_targets" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency" - ] + "used_in_rules": [] }, - "pants.backend.kotlin.dependency_inference.symbol_mapper.AllKotlinTargets": { + "pants.backend.python.util_rules.vcs_versioning.GeneratePythonFromSetuptoolsSCMRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols" + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.python" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.kotlin"], "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.symbol_mapper", - "name": "AllKotlinTargets", - "provider": "pants.backend.experimental.kotlin", - "returned_by_rules": [ - "pants.backend.kotlin.dependency_inference.symbol_mapper.find_all_kotlin_targets" - ], + "module": "pants.backend.python.util_rules.vcs_versioning", + "name": "GeneratePythonFromSetuptoolsSCMRequest", + "provider": "pants.backend.experimental.python", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "GenerateSourcesRequest", "used_in_rules": [] }, - "pants.backend.kotlin.dependency_inference.symbol_mapper.FirstPartyKotlinTargetsMappingRequest": { + "pants.backend.python.util_rules.vcs_versioning.PythonVCSVersionMappingMarker": { "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols" + "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + ], + "dependencies": [ + "pants.backend.python" + ], + "dependents": [ + "pants.backend.experimental.python" ], - "dependencies": ["pants.jvm.dependency_inference.symbol_mapper"], - "dependents": ["pants.backend.experimental.kotlin"], "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.dependency_inference.symbol_mapper", - "name": "FirstPartyKotlinTargetsMappingRequest", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.vcs_versioning", + "name": "PythonVCSVersionMappingMarker", + "provider": "pants.backend.experimental.python", "returned_by_rules": [], "union_members": [], - "union_type": "FirstPartyMappingRequest", + "union_type": "FirstPartyPythonMappingImplMarker", "used_in_rules": [] }, - "pants.backend.kotlin.goals.check.KotlincCheckRequest": { - "consumed_by_rules": ["pants.backend.kotlin.goals.check.kotlinc_check"], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.kotlin"], + "pants.backend.python.util_rules.vcs_versioning.VCSVersionPythonResolveField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.goals.check", - "name": "KotlincCheckRequest", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.python.util_rules.vcs_versioning", + "name": "VCSVersionPythonResolveField", + "provider": "pants.backend.experimental.python", "returned_by_rules": [], "union_members": [], - "union_type": "CheckRequest", + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.kotlin.goals.tailor.PutativeKotlinTargetsRequest": { + "pants.backend.rust.goals.tailor.PutativeRustTargetsRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.goals.tailor.find_putative_targets" + "pants.backend.rust.goals.tailor.find_putative_rust_targets" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "PutativeKotlinTargetsRequest(dirs: 'tuple[str, ...]')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.rust" + ], + "documentation": "PutativeRustTargetsRequest(dirs: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.kotlin.goals.tailor", - "name": "PutativeKotlinTargetsRequest", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.rust.goals.tailor", + "name": "PutativeRustTargetsRequest", + "provider": "pants.backend.experimental.rust", "returned_by_rules": [], "union_members": [], "union_type": "PutativeTargetsRequest", "used_in_rules": [] }, - "pants.backend.kotlin.lint.ktlint.rules.KtlintRequest": { + "pants.backend.rust.lint.rustfmt.rules.RustfmtRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.lint.ktlint.rules", - "name": "KtlintRequest", - "provider": "pants.backend.experimental.kotlin.lint.ktlint", + "module": "pants.backend.rust.lint.rustfmt.rules", + "name": "RustfmtRequest", + "provider": "pants.backend.experimental.rust", "returned_by_rules": [], "union_members": [], "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.kotlin.lint.ktlint.rules.KtlintToolLockfileSentinel": { - "consumed_by_rules": [ - "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request" - ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.kotlin.lint.ktlint"], - "documentation": null, - "is_union": false, - "module": "pants.backend.kotlin.lint.ktlint.rules", - "name": "KtlintToolLockfileSentinel", - "provider": "pants.backend.experimental.kotlin.lint.ktlint, pants.backend.kotlin.lint.ktlint.rules", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateToolLockfileSentinel", - "used_in_rules": ["pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt"] - }, - "pants.backend.kotlin.lint.ktlint.skip_field.SkipKtlintField": { + "pants.backend.rust.lint.rustfmt.skip_field.SkipRustfmtField": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.engine.target" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.lint.ktlint.skip_field", - "name": "SkipKtlintField", - "provider": "pants.backend.experimental.kotlin.lint.ktlint", + "module": "pants.backend.rust.lint.rustfmt.skip_field", + "name": "SkipRustfmtField", + "provider": "pants.backend.experimental.rust", "returned_by_rules": [], "union_members": [], "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.kotlin.lint.ktlint.subsystem.KtlintSubsystem": { + "pants.backend.rust.lint.rustfmt.subsystem.RustfmtSubsystem": { "consumed_by_rules": [ - "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request", - "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest" + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RustfmtRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.rust" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.kotlin.lint.ktlint"], "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.lint.ktlint.subsystem", - "name": "KtlintSubsystem", - "provider": "pants.backend.experimental.kotlin.lint.ktlint", - "returned_by_rules": ["construct_scope_ktlint"], + "module": "pants.backend.rust.lint.rustfmt.subsystem", + "name": "RustfmtSubsystem", + "provider": "pants.backend.experimental.rust", + "returned_by_rules": [ + "construct_scope_rustfmt" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.kotlin.subsystems.kotlin.KotlinSubsystem": { + "pants.backend.rust.subsystems.rust.RustSubsystem": { "consumed_by_rules": [ - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve", - "pants.backend.kotlin.goals.tailor.find_putative_targets", - "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve" + "pants.backend.rust.util_rules.toolchains.find_rustup", + "pants.backend.rust.util_rules.toolchains.rust_binary_path" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.rust" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.kotlin"], "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.subsystems.kotlin", - "name": "KotlinSubsystem", - "provider": "pants.backend.experimental.kotlin", - "returned_by_rules": ["construct_scope_kotlin"], + "module": "pants.backend.rust.subsystems.rust", + "name": "RustSubsystem", + "provider": "pants.backend.experimental.rust", + "returned_by_rules": [ + "construct_scope_rust" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.kotlin.subsystems.kotlin_infer.KotlinInferSubsystem": { + "pants.backend.rust.util_rules.toolchains.RustBinaryPathRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis" + "pants.backend.rust.util_rules.toolchains.rust_binary_path" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.rust" + ], + "documentation": "RustBinaryPathRequest(binary: 'str')", "is_union": false, - "module": "pants.backend.kotlin.subsystems.kotlin_infer", - "name": "KotlinInferSubsystem", - "provider": "pants.backend.experimental.kotlin", - "returned_by_rules": ["construct_scope_kotlin_infer"], + "module": "pants.backend.rust.util_rules.toolchains", + "name": "RustBinaryPathRequest", + "provider": "pants.backend.rust.util_rules.toolchains", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.rust.util_rules.toolchains.rust_toolchain_process" + ] }, - "pants.backend.kotlin.subsystems.kotlinc.KotlincSubsystem": { + "pants.backend.rust.util_rules.toolchains.RustToolchainProcess": { "consumed_by_rules": [ - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target" + "pants.backend.rust.util_rules.toolchains.rust_toolchain_process" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.rust" + ], + "documentation": "RustToolchainProcess(binary: 'str', args: 'Iterable[str]', input_digest: 'Digest', description: 'str', level: 'LogLevel' = , output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, platform: 'Platform | None' = None, cache_scope: 'ProcessCacheScope | None' = None)", "is_union": false, - "module": "pants.backend.kotlin.subsystems.kotlinc", - "name": "KotlincSubsystem", - "provider": "pants.backend.experimental.kotlin", - "returned_by_rules": ["construct_scope_kotlinc"], + "module": "pants.backend.rust.util_rules.toolchains", + "name": "RustToolchainProcess", + "provider": "pants.backend.rust.util_rules.toolchains", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.rust.lint.rustfmt.rules.rustfmt_fmt" + ] }, - "pants.backend.kotlin.target_types.KotlinFieldSet": { + "pants.backend.rust.util_rules.toolchains.RustupBinary": { "consumed_by_rules": [ - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_KotlinFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet" + "pants.backend.rust.util_rules.toolchains.rust_binary_path" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlinFieldSet(address: 'Address', jdk_version: 'JvmJdkField', main_class: 'JvmMainClassNameField', sources: 'KotlinSourceField')", + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.rust" + ], + "documentation": "Path to the rustup binary used to select and gain access to Rust toolchains.", "is_union": false, - "module": "pants.backend.kotlin.target_types", - "name": "KotlinFieldSet", - "provider": "pants.backend.experimental.kotlin", - "returned_by_rules": [], + "module": "pants.backend.rust.util_rules.toolchains", + "name": "RustupBinary", + "provider": "pants.backend.experimental.rust", + "returned_by_rules": [ + "pants.backend.rust.util_rules.toolchains.find_rustup" + ], "union_members": [], - "union_type": "RunFieldSet", + "union_type": null, "used_in_rules": [] }, - "pants.backend.kotlin.test.junit.InferKotlinJunitTestDependencyRequest": { + "pants.backend.scala.bsp.rules.HandleScalacOptionsRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency" + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "HandleScalacOptionsRequest(bsp_target_id: 'BuildTargetIdentifier')", "is_union": false, - "module": "pants.backend.kotlin.test.junit", - "name": "InferKotlinJunitTestDependencyRequest", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.scala.bsp.rules", + "name": "HandleScalacOptionsRequest", + "provider": "pants.backend.scala.bsp.rules", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.scala.bsp.rules.bsp_scalac_options_request" + ] }, - "pants.backend.kotlin.test.junit.KotlinJunitLibrariesForResolve": { + "pants.backend.scala.bsp.rules.HandleScalacOptionsResult": { "consumed_by_rules": [], "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.kotlin.test.junit" + "pants.backend.scala.bsp.rules", + "pants.backend.url_handlers.s3", + "pants.base.build_root", + "pants.core", + "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlinJunitLibrariesForResolve(addresses: 'frozenset[Address]')", + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "HandleScalacOptionsResult(item: 'ScalacOptionsItem')", "is_union": false, - "module": "pants.backend.kotlin.test.junit", - "name": "KotlinJunitLibrariesForResolve", - "provider": "pants.backend.experimental.kotlin", + "module": "pants.backend.scala.bsp.rules", + "name": "HandleScalacOptionsResult", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve" + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency" + "pants.backend.scala.bsp.rules.bsp_scalac_options_request" ] }, - "pants.backend.kotlin.test.junit.KotlinJunitLibrariesForResolveRequest": { + "pants.backend.scala.bsp.rules.ScalaBSPBuildTargetsMetadataRequest": { "consumed_by_rules": [ - "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve" + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.kotlin"], - "documentation": "KotlinJunitLibrariesForResolveRequest(resolve_name: 'str')", + "dependencies": [ + "pants.bsp.util_rules.targets" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.kotlin.test.junit", - "name": "KotlinJunitLibrariesForResolveRequest", - "provider": "pants.backend.kotlin.test.junit", + "module": "pants.backend.scala.bsp.rules", + "name": "ScalaBSPBuildTargetsMetadataRequest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency" - ] + "union_type": "BSPBuildTargetsMetadataRequest", + "used_in_rules": [] }, - "pants.backend.openapi.dependency_inference.InferOpenApiDocumentDependenciesRequest": { + "pants.backend.scala.bsp.rules.ScalaBSPCompileRequest": { "consumed_by_rules": [ - "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies" + "pants.backend.scala.bsp.rules.bsp_scala_compile_request" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.openapi"], - "documentation": null, + "dependencies": [ + "pants.bsp.util_rules.targets" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaBSPCompileRequest(bsp_target: 'BSPBuildTargetInternal', field_sets: 'tuple[_FS, ...]', task_id: 'TaskId')", "is_union": false, - "module": "pants.backend.openapi.dependency_inference", - "name": "InferOpenApiDocumentDependenciesRequest", - "provider": "pants.backend.experimental.openapi", + "module": "pants.backend.scala.bsp.rules", + "name": "ScalaBSPCompileRequest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "BSPCompileRequest", "used_in_rules": [] }, - "pants.backend.openapi.dependency_inference.InferOpenApiSourceDependenciesRequest": { + "pants.backend.scala.bsp.rules.ScalaBSPDependencyModulesRequest": { "consumed_by_rules": [ - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies" + "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.openapi"], - "documentation": null, + "dependencies": [ + "pants.bsp.util_rules.targets" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaBSPDependencyModulesRequest(field_sets: 'tuple[_FS, ...]')", "is_union": false, - "module": "pants.backend.openapi.dependency_inference", - "name": "InferOpenApiSourceDependenciesRequest", - "provider": "pants.backend.experimental.openapi", + "module": "pants.backend.scala.bsp.rules", + "name": "ScalaBSPDependencyModulesRequest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "BSPDependencyModulesRequest", "used_in_rules": [] }, - "pants.backend.openapi.dependency_inference.OpenApiDependencies": { + "pants.backend.scala.bsp.rules.ScalaBSPLanguageSupport": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.openapi.dependency_inference", - "pants.engine.fs" + "pants.bsp.util_rules.lifecycle" ], - "dependents": ["pants.backend.experimental.openapi"], - "documentation": "OpenApiDependencies(dependencies: 'FrozenDict[str, frozenset[str]]')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.openapi.dependency_inference", - "name": "OpenApiDependencies", - "provider": "pants.backend.experimental.openapi", - "returned_by_rules": [ - "pants.backend.openapi.dependency_inference.parse_openapi_sources" - ], + "module": "pants.backend.scala.bsp.rules", + "name": "ScalaBSPLanguageSupport", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.openapi.goals.tailor.find_putative_targets" - ] + "union_type": "BSPLanguageSupport", + "used_in_rules": [] }, - "pants.backend.openapi.dependency_inference.ParseOpenApiSources": { + "pants.backend.scala.bsp.rules.ScalaBSPResourcesRequest": { "consumed_by_rules": [ - "pants.backend.openapi.dependency_inference.parse_openapi_sources" + "pants.backend.scala.bsp.rules.bsp_scala_resources_request" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi"], - "documentation": "ParseOpenApiSources(sources_digest: 'Digest', paths: 'tuple[str, ...]')", + "dependencies": [ + "pants.bsp.util_rules.targets" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaBSPResourcesRequest(bsp_target: 'BSPBuildTargetInternal', field_sets: 'tuple[_FS, ...]')", "is_union": false, - "module": "pants.backend.openapi.dependency_inference", - "name": "ParseOpenApiSources", - "provider": "pants.backend.openapi.dependency_inference", + "module": "pants.backend.scala.bsp.rules", + "name": "ScalaBSPResourcesRequest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.openapi.goals.tailor.find_putative_targets" - ] + "union_type": "BSPResourcesRequest", + "used_in_rules": [] }, - "pants.backend.openapi.goals.tailor.PutativeOpenApiTargetsRequest": { - "consumed_by_rules": [ - "pants.backend.openapi.goals.tailor.find_putative_targets" + "pants.backend.scala.bsp.rules.ScalaMainClassesHandlerMapping": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.protocol" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.openapi"], - "documentation": "PutativeOpenApiTargetsRequest(dirs: 'tuple[str, ...]')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.openapi.goals.tailor", - "name": "PutativeOpenApiTargetsRequest", - "provider": "pants.backend.experimental.openapi", + "module": "pants.backend.scala.bsp.rules", + "name": "ScalaMainClassesHandlerMapping", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.openapi.lint.openapi_format.rules.OpenApiFormatRequest": { + "pants.backend.scala.bsp.rules.ScalaTestClassesHandlerMapping": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.bsp.protocol" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.openapi.lint.openapi_format.rules", - "name": "OpenApiFormatRequest", - "provider": "pants.backend.experimental.openapi.lint.openapi_format", + "module": "pants.backend.scala.bsp.rules", + "name": "ScalaTestClassesHandlerMapping", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.openapi.lint.openapi_format.skip_field.SkipOpenApiFormatField": { + "pants.backend.scala.bsp.rules.ScalacOptionsHandlerMapping": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.bsp.protocol" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.openapi.lint.openapi_format.skip_field", - "name": "SkipOpenApiFormatField", - "provider": "pants.backend.experimental.openapi.lint.openapi_format", + "module": "pants.backend.scala.bsp.rules", + "name": "ScalacOptionsHandlerMapping", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.openapi.lint.openapi_format.subsystem.OpenApiFormatSubsystem": { + "pants.backend.scala.bsp.rules.ThirdpartyModules": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.scala.bsp.rules", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.target", + "pants.jvm.compile", + "pants.jvm.resolve.coursier_fetch", + "pants.jvm.resolve.key" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ThirdpartyModules(resolve: 'CoursierResolveKey', entries: 'dict[CoursierLockfileEntry, ClasspathEntry]', merged_digest: 'Digest')", + "is_union": false, + "module": "pants.backend.scala.bsp.rules", + "name": "ThirdpartyModules", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.bsp.rules.collect_thirdparty_modules" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", + "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules" + ] + }, + "pants.backend.scala.bsp.rules.ThirdpartyModulesRequest": { "consumed_by_rules": [ - "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", - "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest" + "pants.backend.scala.bsp.rules.collect_thirdparty_modules" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.openapi.lint.openapi_format"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ThirdpartyModulesRequest(addresses: 'Addresses')", "is_union": false, - "module": "pants.backend.openapi.lint.openapi_format.subsystem", - "name": "OpenApiFormatSubsystem", - "provider": "pants.backend.experimental.openapi.lint.openapi_format", - "returned_by_rules": ["construct_scope_openapi_format"], + "module": "pants.backend.scala.bsp.rules", + "name": "ThirdpartyModulesRequest", + "provider": "pants.backend.scala.bsp.rules", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", + "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules" + ] + }, + "pants.backend.scala.bsp.spec.ScalaMainClassesResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.scala.bsp.spec" + ], + "dependents": [], + "documentation": "ScalaMainClassesResult(items: 'tuple[ScalaMainClassesItem, ...]', origin_id: 'str | None' = None)", + "is_union": false, + "module": "pants.backend.scala.bsp.spec", + "name": "ScalaMainClassesResult", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.bsp.rules.bsp_scala_main_classes_request" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.openapi.lint.spectral.rules.SpectralRequest": { + "pants.backend.scala.bsp.spec.ScalaTestClassesResult": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.backend.scala.bsp.spec" + ], "dependents": [], - "documentation": null, + "documentation": "ScalaTestClassesResult(items: 'tuple[ScalaTestClassesItem, ...]', origin_id: 'str | None' = None)", "is_union": false, - "module": "pants.backend.openapi.lint.spectral.rules", - "name": "SpectralRequest", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [], + "module": "pants.backend.scala.bsp.spec", + "name": "ScalaTestClassesResult", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.bsp.rules.bsp_scala_test_classes_request" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.openapi.lint.spectral.skip_field.SkipSpectralField": { + "pants.backend.scala.bsp.spec.ScalacOptionsResult": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.backend.scala.bsp.spec" + ], "dependents": [], - "documentation": null, + "documentation": "ScalacOptionsResult(items: 'tuple[ScalacOptionsItem, ...]')", "is_union": false, - "module": "pants.backend.openapi.lint.spectral.skip_field", - "name": "SkipSpectralField", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": [], + "module": "pants.backend.scala.bsp.spec", + "name": "ScalacOptionsResult", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.bsp.rules.bsp_scalac_options_request" + ], "union_members": [], - "union_type": "PluginField", + "union_type": null, "used_in_rules": [] }, - "pants.backend.openapi.lint.spectral.subsystem.SpectralSubsystem": { + "pants.backend.scala.compile.scalac.CompileScalaSourceRequest": { "consumed_by_rules": [ - "pants.backend.openapi.lint.spectral.rules.run_spectral", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_SpectralRequest" + "pants.backend.scala.compile.scalac.compile_scala_source" + ], + "dependencies": [ + "pants.jvm.compile" + ], + "dependents": [ + "pants.backend.experimental.scala" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], "documentation": null, "is_union": false, - "module": "pants.backend.openapi.lint.spectral.subsystem", - "name": "SpectralSubsystem", - "provider": "pants.backend.experimental.openapi.lint.spectral", - "returned_by_rules": ["construct_scope_spectral"], + "module": "pants.backend.scala.compile.scalac", + "name": "CompileScalaSourceRequest", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "ClasspathEntryRequest", "used_in_rules": [] }, - "pants.backend.openapi.subsystems.openapi.OpenApiSubsystem": { + "pants.backend.scala.compile.scalac_plugins.AllScalaPluginTargets": { "consumed_by_rules": [ - "pants.backend.openapi.goals.tailor.find_putative_targets" + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.scala" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.openapi"], "documentation": null, "is_union": false, - "module": "pants.backend.openapi.subsystems.openapi", - "name": "OpenApiSubsystem", - "provider": "pants.backend.experimental.openapi", - "returned_by_rules": ["construct_scope_openapi"], + "module": "pants.backend.scala.compile.scalac_plugins", + "name": "AllScalaPluginTargets", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.compile.scalac_plugins.all_scala_plugin_targets" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.plugin_development.pants_requirements.GenerateFromPantsRequirementsRequest": { - "consumed_by_rules": [ - "pants.backend.plugin_development.pants_requirements.generate_from_pants_requirements" + "pants.backend.scala.compile.scalac_plugins.ScalaPluginTargetsForTarget": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.scala.compile.scalac_plugins", + "pants.engine.environment" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.plugin_development"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaPluginTargetsForTarget(plugins: 'Targets', artifacts: 'Targets')", "is_union": false, - "module": "pants.backend.plugin_development.pants_requirements", - "name": "GenerateFromPantsRequirementsRequest", - "provider": "pants.backend.plugin_development", - "returned_by_rules": [], + "module": "pants.backend.scala.compile.scalac_plugins", + "name": "ScalaPluginTargetsForTarget", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target" + ], "union_members": [], - "union_type": "GenerateTargetsRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies" + ] }, - "pants.backend.project_info.count_loc.CountLinesOfCode": { + "pants.backend.scala.compile.scalac_plugins.ScalaPlugins": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.scala.compile.scalac_plugins", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.console", - "pants.engine.fs", - "pants.engine.platform" + "pants.engine.target" ], - "dependents": [], - "documentation": null, + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaPlugins(names: 'tuple[str, ...]', classpath: 'ClasspathEntry')", "is_union": false, - "module": "pants.backend.project_info.count_loc", - "name": "CountLinesOfCode", - "provider": "pants.backend.project_info", - "returned_by_rules": ["pants.backend.project_info.count_loc.count_loc"], + "module": "pants.backend.scala.compile.scalac_plugins", + "name": "ScalaPlugins", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.compile.scalac_plugins.fetch_plugins" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.scala.compile.scalac.compile_scala_source" + ] }, - "pants.backend.project_info.count_loc.CountLinesOfCodeSubsystem": { - "consumed_by_rules": [], - "dependencies": ["pants.option.scope"], - "dependents": [], - "documentation": null, + "pants.backend.scala.compile.scalac_plugins.ScalaPluginsForTargetRequest": { + "consumed_by_rules": [ + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target" + ], + "dependencies": [ + "pants.backend.experimental.java" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaPluginsForTargetRequest(target: 'Target', resolve_name: 'str')", "is_union": false, - "module": "pants.backend.project_info.count_loc", - "name": "CountLinesOfCodeSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_count_loc"], + "module": "pants.backend.scala.compile.scalac_plugins", + "name": "ScalaPluginsForTargetRequest", + "provider": "pants.backend.experimental.scala, pants.backend.scala.compile.scalac_plugins", + "returned_by_rules": [ + "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.scala.compile.scalac.compile_scala_source" + ] }, - "pants.backend.project_info.count_loc.SuccinctCodeCounter": { - "consumed_by_rules": ["pants.backend.project_info.count_loc.count_loc"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], - "documentation": null, + "pants.backend.scala.compile.scalac_plugins.ScalaPluginsForTargetWithoutResolveRequest": { + "consumed_by_rules": [ + "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaPluginsForTargetWithoutResolveRequest(target: 'Target')", "is_union": false, - "module": "pants.backend.project_info.count_loc", - "name": "SuccinctCodeCounter", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_scc"], + "module": "pants.backend.scala.compile.scalac_plugins", + "name": "ScalaPluginsForTargetWithoutResolveRequest", + "provider": "pants.backend.scala.compile.scalac_plugins", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies" + ] }, - "pants.backend.project_info.dependencies.Dependencies": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.go", - "pants.core", - "pants.engine.addresses", - "pants.engine.console", - "pants.engine.target" + "pants.backend.scala.compile.scalac_plugins.ScalaPluginsRequest": { + "consumed_by_rules": [ + "pants.backend.scala.compile.scalac_plugins.fetch_plugins" ], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.project_info.dependencies", - "name": "Dependencies", - "provider": "pants.backend.project_info", - "returned_by_rules": [ - "pants.backend.project_info.dependencies.dependencies" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.scala" ], + "documentation": "ScalaPluginsRequest(plugins: 'Targets', artifacts: 'Targets', resolve: 'CoursierResolveKey')", + "is_union": false, + "module": "pants.backend.scala.compile.scalac_plugins", + "name": "ScalaPluginsRequest", + "provider": "pants.backend.scala.compile.scalac_plugins", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.scala.compile.scalac.compile_scala_source" + ] }, - "pants.backend.project_info.dependencies.DependenciesSubsystem": { + "pants.backend.scala.dependency_inference.rules.InferScalaLibraryDependencyRequest": { "consumed_by_rules": [ - "pants.backend.project_info.dependencies.dependencies" + "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.scala" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.dependencies", - "name": "DependenciesSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_dependencies"], + "module": "pants.backend.scala.dependency_inference.rules", + "name": "InferScalaLibraryDependencyRequest", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.project_info.dependents.AddressToDependents": { + "pants.backend.scala.dependency_inference.rules.InferScalaPluginDependenciesRequest": { "consumed_by_rules": [ - "pants.backend.project_info.dependents.find_dependents" + "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies" ], "dependencies": [ - "pants.backend.experimental.go", - "pants.engine.addresses" + "pants.engine.target" ], - "dependents": ["pants.backend.project_info"], - "documentation": "AddressToDependents(mapping: pants.util.frozendict.FrozenDict[Address, pants.util.ordered_set.FrozenOrderedSet[Address]])", - "is_union": false, - "module": "pants.backend.project_info.dependents", - "name": "AddressToDependents", - "provider": "pants.backend.project_info", - "returned_by_rules": [ - "pants.backend.project_info.dependents.map_addresses_to_dependents" + "dependents": [ + "pants.backend.experimental.scala" ], + "documentation": null, + "is_union": false, + "module": "pants.backend.scala.dependency_inference.rules", + "name": "InferScalaPluginDependenciesRequest", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.project_info.dependents.Dependents": { - "consumed_by_rules": [], - "dependencies": [], + "pants.backend.scala.dependency_inference.rules.InferScalaSourceDependencies": { + "consumed_by_rules": [ + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis" + ], + "dependencies": [ + "pants.engine.target" + ], "dependents": [ - "pants.backend.project_info", - "pants.backend.python.mixed_interpreter_constraints" + "pants.backend.experimental.scala" ], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.dependents", - "name": "Dependents", - "provider": "pants.backend.project_info", - "returned_by_rules": [ - "pants.backend.project_info.dependents.find_dependents" - ], + "module": "pants.backend.scala.dependency_inference.rules", + "name": "InferScalaSourceDependencies", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.project_info.dependents.dependents_goal", - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" - ] + "union_type": "InferDependenciesRequest", + "used_in_rules": [] }, - "pants.backend.project_info.dependents.DependentsGoal": { + "pants.backend.scala.dependency_inference.rules.ScalaRuntimeForResolve": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.go", - "pants.engine.addresses", - "pants.engine.console" + "pants.backend.experimental.java", + "pants.backend.scala.dependency_inference.rules" ], - "dependents": [], - "documentation": null, + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaRuntimeForResolve(addresses: 'frozenset[Address]')", "is_union": false, - "module": "pants.backend.project_info.dependents", - "name": "DependentsGoal", - "provider": "pants.backend.project_info", + "module": "pants.backend.scala.dependency_inference.rules", + "name": "ScalaRuntimeForResolve", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.project_info.dependents.dependents_goal" + "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency" + ] }, - "pants.backend.project_info.dependents.DependentsRequest": { + "pants.backend.scala.dependency_inference.rules.ScalaRuntimeForResolveRequest": { "consumed_by_rules": [ - "pants.backend.project_info.dependents.find_dependents" + "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve" ], "dependencies": [], - "dependents": ["pants.backend.project_info"], - "documentation": "DependentsRequest(addresses: Iterable[Address], *, transitive: bool, include_roots: bool)", + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaRuntimeForResolveRequest(resolve_name: 'str')", "is_union": false, - "module": "pants.backend.project_info.dependents", - "name": "DependentsRequest", - "provider": "pants.backend.project_info", + "module": "pants.backend.scala.dependency_inference.rules", + "name": "ScalaRuntimeForResolveRequest", + "provider": "pants.backend.scala.dependency_inference.rules", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.project_info.dependents.dependents_goal", - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" + "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency" ] }, - "pants.backend.project_info.dependents.DependentsSubsystem": { + "pants.backend.scala.dependency_inference.scala_parser.AnalyzeScalaSourceRequest": { "consumed_by_rules": [ - "pants.backend.project_info.dependents.dependents_goal" + "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], - "documentation": null, - "is_union": false, - "module": "pants.backend.project_info.dependents", - "name": "DependentsSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_dependents"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.project_info.filedeps.Filedeps": { - "consumed_by_rules": [], "dependencies": [ "pants.backend.experimental.go", - "pants.base.build_root", - "pants.build_graph.address", - "pants.engine.addresses", - "pants.engine.console", - "pants.engine.target" + "pants.backend.experimental.java", + "pants.core" ], - "dependents": [], - "documentation": null, + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "AnalyzeScalaSourceRequest(source_files: 'SourceFiles', scala_version: 'str', source3: 'bool')", "is_union": false, - "module": "pants.backend.project_info.filedeps", - "name": "Filedeps", - "provider": "pants.backend.project_info", - "returned_by_rules": ["pants.backend.project_info.filedeps.file_deps"], + "module": "pants.backend.scala.dependency_inference.scala_parser", + "name": "AnalyzeScalaSourceRequest", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.project_info.filedeps.FiledepsSubsystem": { - "consumed_by_rules": ["pants.backend.project_info.filedeps.file_deps"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], - "documentation": null, + "pants.backend.scala.dependency_inference.scala_parser.FallibleScalaSourceDependencyAnalysisResult": { + "consumed_by_rules": [ + "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "FallibleScalaSourceDependencyAnalysisResult(process_result: 'FallibleProcessResult')", "is_union": false, - "module": "pants.backend.project_info.filedeps", - "name": "FiledepsSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_filedeps"], + "module": "pants.backend.scala.dependency_inference.scala_parser", + "name": "FallibleScalaSourceDependencyAnalysisResult", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.project_info.filter_targets.FilterGoal": { - "consumed_by_rules": [], + "pants.backend.scala.dependency_inference.scala_parser.ScalaParserCompiledClassfiles": { + "consumed_by_rules": [ + "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies" + ], "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.go", - "pants.engine.addresses", - "pants.engine.console" + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.scala" ], - "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.filter_targets", - "name": "FilterGoal", - "provider": "pants.backend.project_info", + "module": "pants.backend.scala.dependency_inference.scala_parser", + "name": "ScalaParserCompiledClassfiles", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.project_info.filter_targets.filter_targets" + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.project_info.filter_targets.FilterSubsystem": { + "pants.backend.scala.dependency_inference.scala_parser.ScalaParserToolLockfileSentinel": { "consumed_by_rules": [ - "pants.backend.project_info.filter_targets.filter_targets" + "pants.backend.scala.dependency_inference.scala_parser.generate_scala_parser_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.scala" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.filter_targets", - "name": "FilterSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_filter"], + "module": "pants.backend.scala.dependency_inference.scala_parser", + "name": "ScalaParserToolLockfileSentinel", + "provider": "pants.backend.experimental.scala, pants.backend.scala.dependency_inference.scala_parser", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [] + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles" + ] }, - "pants.backend.project_info.list_roots.Roots": { + "pants.backend.scala.dependency_inference.scala_parser.ScalaSourceDependencyAnalysis": { "consumed_by_rules": [], - "dependencies": ["pants.core", "pants.engine.console"], - "dependents": [], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.helm", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.debug_goals" + ], + "documentation": "ScalaSourceDependencyAnalysis(provided_symbols: 'FrozenOrderedSet[ScalaProvidedSymbol]', provided_symbols_encoded: 'FrozenOrderedSet[ScalaProvidedSymbol]', imports_by_scope: 'FrozenDict[str, tuple[ScalaImport, ...]]', consumed_symbols_by_scope: 'FrozenDict[str, FrozenOrderedSet[str]]', scopes: 'FrozenOrderedSet[str]')", "is_union": false, - "module": "pants.backend.project_info.list_roots", - "name": "Roots", - "provider": "pants.backend.project_info", - "returned_by_rules": ["pants.backend.project_info.list_roots.list_roots"], + "module": "pants.backend.scala.dependency_inference.scala_parser", + "name": "ScalaSourceDependencyAnalysis", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", + "pants.backend.scala.goals.debug_goals.dump_scala_source_analysis" + ] }, - "pants.backend.project_info.list_roots.RootsSubsystem": { - "consumed_by_rules": ["pants.backend.project_info.list_roots.list_roots"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], + "pants.backend.scala.dependency_inference.symbol_mapper.AllScalaTargets": { + "consumed_by_rules": [ + "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", + "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.list_roots", - "name": "RootsSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_roots"], + "module": "pants.backend.scala.dependency_inference.symbol_mapper", + "name": "AllScalaTargets", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.scala.dependency_inference.symbol_mapper.find_all_scala_targets" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.project_info.list_targets.List": { - "consumed_by_rules": [], + "pants.backend.scala.dependency_inference.symbol_mapper.FirstPartyScalaTargetsMappingRequest": { + "consumed_by_rules": [ + "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols" + ], "dependencies": [ - "pants.backend.experimental.go", - "pants.engine.addresses", - "pants.engine.console", - "pants.engine.target" + "pants.jvm.dependency_inference.symbol_mapper" ], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.project_info.list_targets", - "name": "List", - "provider": "pants.backend.project_info", - "returned_by_rules": [ - "pants.backend.project_info.list_targets.list_targets" + "dependents": [ + "pants.backend.experimental.scala" ], + "documentation": null, + "is_union": false, + "module": "pants.backend.scala.dependency_inference.symbol_mapper", + "name": "FirstPartyScalaTargetsMappingRequest", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "FirstPartyMappingRequest", "used_in_rules": [] }, - "pants.backend.project_info.list_targets.ListSubsystem": { + "pants.backend.scala.goals.check.ScalacCheckRequest": { "consumed_by_rules": [ - "pants.backend.project_info.list_targets.list_targets" + "pants.backend.scala.goals.check.scalac_check" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.scala" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.list_targets", - "name": "ListSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_list"], + "module": "pants.backend.scala.goals.check", + "name": "ScalacCheckRequest", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "CheckRequest", "used_in_rules": [] }, - "pants.backend.project_info.paths.PathsGoal": { + "pants.backend.scala.goals.debug_goals.DumpScalaSourceAnalysis": { "consumed_by_rules": [], "dependencies": [ "pants.backend.experimental.go", + "pants.backend.experimental.scala", "pants.core", "pants.engine.console" ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.paths", - "name": "PathsGoal", - "provider": "pants.backend.project_info", - "returned_by_rules": ["pants.backend.project_info.paths.paths"], + "module": "pants.backend.scala.goals.debug_goals", + "name": "DumpScalaSourceAnalysis", + "provider": "pants.backend.experimental.scala.debug_goals", + "returned_by_rules": [ + "pants.backend.scala.goals.debug_goals.dump_scala_source_analysis" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.project_info.paths.PathsSubsystem": { - "consumed_by_rules": ["pants.backend.project_info.paths.paths"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], + "pants.backend.scala.goals.debug_goals.DumpScalaSourceAnalysisSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.paths", - "name": "PathsSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_paths"], + "module": "pants.backend.scala.goals.debug_goals", + "name": "DumpScalaSourceAnalysisSubsystem", + "provider": "pants.backend.experimental.scala.debug_goals", + "returned_by_rules": [ + "construct_scope_scala_dump_source_analysis" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.project_info.paths.RootDestinationPair": { + "pants.backend.scala.goals.repl.ScalaRepl": { "consumed_by_rules": [ - "pants.backend.project_info.paths.get_paths_between_root_and_destination" + "pants.backend.scala.goals.repl.create_scala_repl_request" ], - "dependencies": [], - "dependents": ["pants.backend.project_info"], - "documentation": "RootDestinationPair(root: 'Target', destination: 'Target')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.project_info.paths", - "name": "RootDestinationPair", - "provider": "pants.backend.project_info", + "module": "pants.backend.scala.goals.repl", + "name": "ScalaRepl", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.project_info.paths.get_paths_between_root_and_destinations" - ] + "union_type": "ReplImplementation", + "used_in_rules": [] }, - "pants.backend.project_info.paths.RootDestinationsPair": { + "pants.backend.scala.goals.tailor.PutativeScalaTargetsRequest": { "consumed_by_rules": [ - "pants.backend.project_info.paths.get_paths_between_root_and_destinations" + "pants.backend.scala.goals.tailor.find_putative_targets" ], - "dependencies": [], - "dependents": ["pants.backend.project_info"], - "documentation": "RootDestinationsPair(root: 'Target', destinations: 'Targets')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "PutativeScalaTargetsRequest(dirs: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.project_info.paths", - "name": "RootDestinationsPair", - "provider": "pants.backend.project_info", + "module": "pants.backend.scala.goals.tailor", + "name": "PutativeScalaTargetsRequest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.project_info.paths.paths"] + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] }, - "pants.backend.project_info.paths.SpecsPaths": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go", "pants.core"], - "dependents": ["pants.backend.project_info"], - "documentation": "SpecsPaths(paths: 'list[list[str]]')", - "is_union": false, - "module": "pants.backend.project_info.paths", - "name": "SpecsPaths", - "provider": "pants.backend.project_info", - "returned_by_rules": [ - "pants.backend.project_info.paths.get_paths_between_root_and_destination" + "pants.backend.scala.lint.scalafmt.rules.GatherScalafmtConfigFilesRequest": { + "consumed_by_rules": [ + "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.scala.lint.scalafmt" ], + "documentation": "GatherScalafmtConfigFilesRequest(filepaths: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.scala.lint.scalafmt.rules", + "name": "GatherScalafmtConfigFilesRequest", + "provider": "pants.backend.scala.lint.scalafmt.rules", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.project_info.paths.get_paths_between_root_and_destinations" + "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt" ] }, - "pants.backend.project_info.paths.SpecsPathsCollection": { + "pants.backend.scala.lint.scalafmt.rules.ScalafmtConfigFiles": { "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.project_info"], - "documentation": "SpecsPathsCollection(spec_paths: 'list[SpecsPaths]')", + "dependencies": [ + "builtins", + "pants.backend.scala.lint.scalafmt.rules" + ], + "dependents": [ + "pants.backend.experimental.scala.lint.scalafmt" + ], + "documentation": "ScalafmtConfigFiles(snapshot: 'Snapshot', source_dir_to_config_file: 'FrozenDict[str, str]')", "is_union": false, - "module": "pants.backend.project_info.paths", - "name": "SpecsPathsCollection", - "provider": "pants.backend.project_info", + "module": "pants.backend.scala.lint.scalafmt.rules", + "name": "ScalafmtConfigFiles", + "provider": "pants.backend.experimental.scala.lint.scalafmt", "returned_by_rules": [ - "pants.backend.project_info.paths.get_paths_between_root_and_destinations" + "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.project_info.paths.paths"] + "used_in_rules": [ + "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt" + ] }, - "pants.backend.project_info.peek.Peek": { + "pants.backend.scala.lint.scalafmt.rules.ScalafmtRequest": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.go", - "pants.engine.console", - "pants.engine.target" + "pants.core" ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.peek", - "name": "Peek", - "provider": "pants.backend.project_info", - "returned_by_rules": ["pants.backend.project_info.peek.peek"], + "module": "pants.backend.scala.lint.scalafmt.rules", + "name": "ScalafmtRequest", + "provider": "pants.backend.experimental.scala.lint.scalafmt", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.project_info.peek.PeekSubsystem": { + "pants.backend.scala.lint.scalafmt.rules.ScalafmtToolLockfileSentinel": { "consumed_by_rules": [ - "pants.backend.project_info.peek.get_target_data", - "pants.backend.project_info.peek.peek" + "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], - "documentation": "Display detailed target information in JSON form.", - "is_union": false, - "module": "pants.backend.project_info.peek", - "name": "PeekSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_peek"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.project_info.peek.TargetDatas": { - "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.go", - "pants.core", - "pants.engine.internals.build_files", - "pants.engine.target" + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.scala.lint.scalafmt" ], - "dependents": ["pants.backend.project_info"], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.peek", - "name": "TargetDatas", - "provider": "pants.backend.project_info", - "returned_by_rules": ["pants.backend.project_info.peek.get_target_data"], + "module": "pants.backend.scala.lint.scalafmt.rules", + "name": "ScalafmtToolLockfileSentinel", + "provider": "pants.backend.experimental.scala.lint.scalafmt, pants.backend.scala.lint.scalafmt.rules", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.project_info.peek.peek"] + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt" + ] }, - "pants.backend.project_info.regex_lint.RegexLintRequest": { + "pants.backend.scala.lint.scalafmt.skip_field.SkipScalafmtField": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.engine.target" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.regex_lint", - "name": "RegexLintRequest", - "provider": "pants.backend.project_info", + "module": "pants.backend.scala.lint.scalafmt.skip_field", + "name": "SkipScalafmtField", + "provider": "pants.backend.experimental.scala.lint.scalafmt", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.project_info.regex_lint.RegexLintSubsystem": { + "pants.backend.scala.lint.scalafmt.subsystem.ScalafmtSubsystem": { "consumed_by_rules": [ - "pants.backend.project_info.regex_lint.lint_with_regex_patterns", - "pants.backend.project_info.regex_lint.partition_inputs" + "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request", + "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt", + "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.scala.lint.scalafmt" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.project_info"], "documentation": null, "is_union": false, - "module": "pants.backend.project_info.regex_lint", - "name": "RegexLintSubsystem", - "provider": "pants.backend.project_info", - "returned_by_rules": ["construct_scope_regex_lint"], + "module": "pants.backend.scala.lint.scalafmt.subsystem", + "name": "ScalafmtSubsystem", + "provider": "pants.backend.experimental.scala.lint.scalafmt", + "returned_by_rules": [ + "construct_scope_scalafmt" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.dependency_inference.module_mapper.AllPythonTargets": { + "pants.backend.scala.resolve.artifact.ScalaArtifactClasspathEntryRequest": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", - "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses" + "pants.backend.scala.resolve.artifact.scala_artifact_classpath" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.python"], - "documentation": "AllPythonTargets(first_party: 'tuple[Target, ...]', third_party: 'tuple[Target, ...]')", - "is_union": false, - "module": "pants.backend.python.dependency_inference.module_mapper", - "name": "AllPythonTargets", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.find_all_python_projects" + "dependencies": [ + "pants.jvm.compile" + ], + "dependents": [ + "pants.backend.experimental.scala" ], + "documentation": null, + "is_union": false, + "module": "pants.backend.scala.resolve.artifact", + "name": "ScalaArtifactClasspathEntryRequest", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "ClasspathEntryRequest", "used_in_rules": [] }, - "pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonMappingImpl": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "A mapping of each resolve name to the first-party module names contained and their owning\naddresses.\n\nThis contains the modules from a specific implementation, e.g. a codegen backend. All\nimplementations then get merged.", - "is_union": false, - "module": "pants.backend.python.dependency_inference.module_mapper", - "name": "FirstPartyPythonMappingImpl", - "provider": "pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.experimental.python, pants.backend.python", - "returned_by_rules": [ - "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", - "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", - "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", - "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + "pants.backend.scala.resolve.lockfile.ValidateResolveHasScalaRuntimeRequest": { + "consumed_by_rules": [ + "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" + ], + "dependencies": [ + "pants.jvm.goals.lockfile" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings" - ] - }, - "pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonMappingImplMarker": { - "consumed_by_rules": [], - "dependencies": [], "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.python", - "pants.backend.python" + "pants.backend.experimental.scala" ], - "documentation": "An entry point for a specific implementation of mapping module names to owning targets for\nPython import dependency inference.\n\nAll implementations will be merged together. Any modules that show up in multiple\nimplementations will be marked ambiguous.", - "is_union": true, - "module": "pants.backend.python.dependency_inference.module_mapper", - "name": "FirstPartyPythonMappingImplMarker", - "provider": "pants.backend.python", + "documentation": null, + "is_union": false, + "module": "pants.backend.scala.resolve.lockfile", + "name": "ValidateResolveHasScalaRuntimeRequest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], - "union_members": [ - "FirstPartyPythonTargetsMappingMarker", - "PythonProtobufMappingMarker", - "PythonThriftMappingMarker", - "PythonVCSVersionMappingMarker" - ], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings" - ] + "union_members": [], + "union_type": "ValidateJvmArtifactsForResolveRequest", + "used_in_rules": [] }, - "pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonModuleMapping": { + "pants.backend.scala.subsystems.scala.ScalaSubsystem": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.map_module_to_address" + "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", + "pants.backend.codegen.thrift.scrooge.java.rules.resolve_scrooge_thrift_java_runtime_for_resolve", + "pants.backend.codegen.thrift.scrooge.scala.rules.resolve_scrooge_thrift_scala_runtime_for_resolve", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", + "pants.backend.scala.goals.repl.create_scala_repl_request", + "pants.backend.scala.goals.tailor.find_putative_targets", + "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve", + "pants.backend.scala.target_types.generate_jvm_artifact_targets" ], "dependencies": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.python", - "pants.engine.unions" + "pants.option.scope" ], - "dependents": ["pants.backend.python"], - "documentation": "FirstPartyPythonModuleMapping(resolves_to_modules_to_providers: 'FrozenDict[ResolveName, FrozenDict[str, Tuple[ModuleProvider, ...]]]')", + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", + "pants.backend.experimental.scala" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.module_mapper", - "name": "FirstPartyPythonModuleMapping", - "provider": "pants.backend.python", + "module": "pants.backend.scala.subsystems.scala", + "name": "ScalaSubsystem", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings" + "construct_scope_scala" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonTargetsMappingMarker": { + "pants.backend.scala.subsystems.scala_infer.ScalaInferSubsystem": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules" + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "pants.backend.scala.target_types.scala_settings_request" + ], + "dependencies": [ + "pants.option.scope" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.dependency_inference.module_mapper", - "name": "FirstPartyPythonTargetsMappingMarker", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "FirstPartyPythonMappingImplMarker", - "used_in_rules": [] - }, - "pants.backend.python.dependency_inference.module_mapper.PythonModuleOwners": { - "consumed_by_rules": [], - "dependencies": [], "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.python" + "pants.backend.experimental.scala" ], - "documentation": "The target(s) that own a Python module.\n\nUp to 2 targets can unambiguously own the same module, if one is an implementation and the other\nis a .pyi type stub. It is ambiguous for >1 implementation target to own the same module, and\nthose targets will be put into `ambiguous` instead of `unambiguous`. Therefore, `unambiguous`\nshould never be >2; and only 1 of `unambiguous` and `ambiguous` should have targets.", + "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.module_mapper", - "name": "PythonModuleOwners", - "provider": "pants.backend.python", + "module": "pants.backend.scala.subsystems.scala_infer", + "name": "ScalaInferSubsystem", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.map_module_to_address" + "construct_scope_scala_infer" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", - "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" - ] + "used_in_rules": [] }, - "pants.backend.python.dependency_inference.module_mapper.PythonModuleOwnersRequest": { + "pants.backend.scala.subsystems.scalac.Scalac": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.map_module_to_address" + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "PythonModuleOwnersRequest(module: 'str', resolve: 'str | None', locality: 'str | None' = None)", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.module_mapper", - "name": "PythonModuleOwnersRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.backend.scala.subsystems.scalac", + "name": "Scalac", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [ + "construct_scope_scalac" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", - "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" - ] + "used_in_rules": [] }, - "pants.backend.python.dependency_inference.module_mapper.ThirdPartyPythonModuleMapping": { + "pants.backend.scala.subsystems.scalatest.Scalatest": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.map_module_to_address", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request" + "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "A mapping of each resolve to the modules they contain and the addresses providing those\nmodules.", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.module_mapper", - "name": "ThirdPartyPythonModuleMapping", - "provider": "pants.backend.python", + "module": "pants.backend.scala.subsystems.scalatest", + "name": "Scalatest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses" + "construct_scope_scalatest" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.dependency_inference.parse_python_dependencies.ParsePythonDependenciesRequest": { + "pants.backend.scala.target_types.GenerateJvmArtifactForScalaTargets": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies" + "pants.backend.scala.target_types.generate_jvm_artifact_targets" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "ParsePythonDependenciesRequest(source: 'PythonSourceField', interpreter_constraints: 'InterpreterConstraints')", + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.parse_python_dependencies", - "name": "ParsePythonDependenciesRequest", - "provider": "pants.backend.python", + "module": "pants.backend.scala.target_types", + "name": "GenerateJvmArtifactForScalaTargets", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" - ] + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] }, - "pants.backend.python.dependency_inference.parse_python_dependencies.ParsedPythonDependencies": { - "consumed_by_rules": [], + "pants.backend.scala.target_types.ScalaFieldSet": { + "consumed_by_rules": [ + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_ScalaFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet" + ], "dependencies": [ - "pants.core", - "pants.engine.internals.native_dep_inference" + "pants.core" ], "dependents": [ - "pants.backend.experimental.python", - "pants.backend.python" + "pants.backend.experimental.scala" ], - "documentation": "ParsedPythonDependencies(imports: 'ParsedPythonImports', assets: 'ParsedPythonAssetPaths')", + "documentation": "ScalaFieldSet(address: 'Address', jdk_version: 'JvmJdkField', main_class: 'JvmMainClassNameField', sources: 'ScalaSourceField')", "is_union": false, - "module": "pants.backend.python.dependency_inference.parse_python_dependencies", - "name": "ParsedPythonDependencies", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies" - ], + "module": "pants.backend.scala.target_types", + "name": "ScalaFieldSet", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" - ] + "union_type": "RunFieldSet", + "used_in_rules": [] }, - "pants.backend.python.dependency_inference.rules.InferConftestDependencies": { + "pants.backend.scala.target_types.ScalaSettingsRequest": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies" + "pants.backend.scala.target_types.scala_settings_request" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.scala" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.rules", - "name": "InferConftestDependencies", - "provider": "pants.backend.python", + "module": "pants.backend.scala.target_types", + "name": "ScalaSettingsRequest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "TargetFilesGeneratorSettingsRequest", "used_in_rules": [] - }, - "pants.backend.python.dependency_inference.rules.InferInitDependencies": { - "consumed_by_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies" + }, + "pants.backend.scala.test.scalatest.ScalatestTestFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], - "documentation": null, + "dependents": [], + "documentation": "ScalatestTestFieldSet(address: 'Address', sources: 'ScalatestTestSourceField', timeout: 'ScalatestTestTimeoutField', jdk_version: 'JvmJdkField', dependencies: 'JvmDependenciesField', extra_env_vars: 'ScalatestTestExtraEnvVarsField')", "is_union": false, - "module": "pants.backend.python.dependency_inference.rules", - "name": "InferInitDependencies", - "provider": "pants.backend.python", + "module": "pants.backend.scala.test.scalatest", + "name": "ScalatestTestFieldSet", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "TestFieldSet", "used_in_rules": [] }, - "pants.backend.python.dependency_inference.rules.InferPythonImportDependencies": { - "consumed_by_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source" + "pants.backend.scala.test.scalatest.ScalatestTestRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.rules", - "name": "InferPythonImportDependencies", - "provider": "pants.backend.python", + "module": "pants.backend.scala.test.scalatest", + "name": "ScalatestTestRequest", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "TestRequest", "used_in_rules": [] }, - "pants.backend.python.dependency_inference.rules.PythonImportDependenciesInferenceFieldSet": { + "pants.backend.scala.test.scalatest.ScalatestToolLockfileSentinel": { "consumed_by_rules": [ - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" + "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.python"], - "documentation": "PythonImportDependenciesInferenceFieldSet(address: 'Address', source: 'PythonSourceField', dependencies: 'PythonDependenciesField', resolve: 'PythonResolveField', interpreter_constraints: 'InterpreterConstraintsField')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.rules", - "name": "PythonImportDependenciesInferenceFieldSet", - "provider": "pants.backend.python", + "module": "pants.backend.scala.test.scalatest", + "name": "ScalatestToolLockfileSentinel", + "provider": "pants.backend.experimental.scala, pants.backend.scala.test.scalatest", "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "GenerateToolLockfileSentinel", "used_in_rules": [ - "pants.backend.python.goals.debug_goals.dump_python_source_analysis" + "pants.backend.scala.test.scalatest.setup_scalatest_for_target" ] }, - "pants.backend.python.dependency_inference.rules.ResolvedParsedPythonDependencies": { + "pants.backend.scala.test.scalatest.TestSetup": { "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go", "pants.core"], + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.scala.test.scalatest", + "pants.backend.url_handlers.s3", + "pants.core" + ], "dependents": [ - "pants.backend.experimental.python", - "pants.backend.python" + "pants.backend.experimental.scala" ], - "documentation": "ResolvedParsedPythonDependencies(resolve_results: 'dict[str, ImportResolveResult]', assets: 'dict[str, ImportResolveResult]', explicit: 'ExplicitlyProvidedDependencies')", + "documentation": "TestSetup(process: 'JvmProcess', reports_dir_prefix: 'str')", "is_union": false, - "module": "pants.backend.python.dependency_inference.rules", - "name": "ResolvedParsedPythonDependencies", - "provider": "pants.backend.python", + "module": "pants.backend.scala.test.scalatest", + "name": "TestSetup", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies" + "pants.backend.scala.test.scalatest.setup_scalatest_for_target" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" + "pants.backend.scala.test.scalatest.run_scalatest_test", + "pants.backend.scala.test.scalatest.setup_scalatest_debug_request" ] }, - "pants.backend.python.dependency_inference.rules.ResolvedParsedPythonDependenciesRequest": { + "pants.backend.scala.test.scalatest.TestSetupRequest": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies" + "pants.backend.scala.test.scalatest.setup_scalatest_for_target" ], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "ResolvedParsedPythonDependenciesRequest(field_set: 'PythonImportDependenciesInferenceFieldSet', parsed_dependencies: 'ParsedPythonDependencies', resolve: 'Optional[str]')", + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "TestSetupRequest(field_set: 'ScalatestTestFieldSet', is_debug: 'bool')", "is_union": false, - "module": "pants.backend.python.dependency_inference.rules", - "name": "ResolvedParsedPythonDependenciesRequest", - "provider": "pants.backend.python", + "module": "pants.backend.scala.test.scalatest", + "name": "TestSetupRequest", + "provider": "pants.backend.scala.test.scalatest", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" + "pants.backend.scala.test.scalatest.run_scalatest_test", + "pants.backend.scala.test.scalatest.setup_scalatest_debug_request" ] }, - "pants.backend.python.dependency_inference.rules.UnownedImportPossibleOwnerRequest": { + "pants.backend.scala.util_rules.versions.ScalaArtifactsForVersionRequest": { "consumed_by_rules": [ - "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import" + "pants.backend.scala.util_rules.versions.resolve_scala_artifacts_for_version" ], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "UnownedImportPossibleOwnerRequest(unowned_import: 'str', original_resolve: 'str')", + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "ScalaArtifactsForVersionRequest(scala_version: 'str')", "is_union": false, - "module": "pants.backend.python.dependency_inference.rules", - "name": "UnownedImportPossibleOwnerRequest", - "provider": "pants.backend.python", + "module": "pants.backend.scala.util_rules.versions", + "name": "ScalaArtifactsForVersionRequest", + "provider": "pants.backend.scala.util_rules.versions", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.compile.scalac.fetch_scala_library", + "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", + "pants.backend.scala.goals.repl.create_scala_repl_request", + "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" ] }, - "pants.backend.python.dependency_inference.rules.UnownedImportPossibleOwners": { + "pants.backend.scala.util_rules.versions.ScalaArtifactsForVersionResult": { "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go", "pants.core"], + "dependencies": [ + "pants.backend.scala.util_rules.versions" + ], "dependents": [ - "pants.backend.experimental.python", - "pants.backend.python" + "pants.backend.experimental.scala" ], - "documentation": "UnownedImportPossibleOwners(value: 'list[tuple[Address, ResolveName]]')", + "documentation": "ScalaArtifactsForVersionResult(compiler_coordinate: 'Coordinate', library_coordinate: 'Coordinate', reflect_coordinate: 'Coordinate | None', compiler_main: 'str', repl_main: 'str')", "is_union": false, - "module": "pants.backend.python.dependency_inference.rules", - "name": "UnownedImportPossibleOwners", - "provider": "pants.backend.python", + "module": "pants.backend.scala.util_rules.versions", + "name": "ScalaArtifactsForVersionResult", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import" + "pants.backend.scala.util_rules.versions.resolve_scala_artifacts_for_version" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.compile.scalac.fetch_scala_library", + "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", + "pants.backend.scala.goals.repl.create_scala_repl_request", + "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" ] }, - "pants.backend.python.dependency_inference.subsystem.PythonInferSubsystem": { + "pants.backend.shell.dependency_inference.AllShellTargets": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", - "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "pants.backend.python.target_types_rules.python_files_generator_settings", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" + "pants.backend.shell.dependency_inference.map_shell_files" + ], + "dependencies": [ + "pants.backend.experimental.go" ], - "dependencies": ["pants.option.scope"], "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.python" + "pants.backend.shell" ], "documentation": null, "is_union": false, - "module": "pants.backend.python.dependency_inference.subsystem", - "name": "PythonInferSubsystem", - "provider": "pants.backend.python", - "returned_by_rules": ["construct_scope_python_infer"], + "module": "pants.backend.shell.dependency_inference", + "name": "AllShellTargets", + "provider": "pants.backend.shell", + "returned_by_rules": [ + "pants.backend.shell.dependency_inference.find_all_shell_targets" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.framework.stevedore.python_target_dependencies.InferStevedoreNamespacesDependencies": { + "pants.backend.shell.dependency_inference.InferShellDependencies": { "consumed_by_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies" + "pants.backend.shell.dependency_inference.infer_shell_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.shell" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.python.framework.stevedore"], "documentation": null, "is_union": false, - "module": "pants.backend.python.framework.stevedore.python_target_dependencies", - "name": "InferStevedoreNamespacesDependencies", - "provider": "pants.backend.experimental.python.framework.stevedore", + "module": "pants.backend.shell.dependency_inference", + "name": "InferShellDependencies", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.python.framework.stevedore.python_target_dependencies.StevedoreExtensions": { + "pants.backend.shell.dependency_inference.ParseShellImportsRequest": { "consumed_by_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces" + "pants.backend.shell.dependency_inference.parse_shell_imports" ], "dependencies": [], - "dependents": ["pants.backend.experimental.python.framework.stevedore"], - "documentation": "A mapping of stevedore namespaces to a list of targets that provide them.\n\nEffectively, the targets are StevedoreExtension targets.", - "is_union": false, - "module": "pants.backend.python.framework.stevedore.python_target_dependencies", - "name": "StevedoreExtensions", - "provider": "pants.backend.experimental.python.framework.stevedore", - "returned_by_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.map_stevedore_extensions" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.python.framework.stevedore.rules.GenerateEntryPointsTxtFromStevedoreExtensionRequest": { - "consumed_by_rules": [ - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension" + "dependents": [ + "pants.backend.shell" ], - "dependencies": ["pants.backend.python"], - "dependents": ["pants.backend.experimental.python.framework.stevedore"], - "documentation": null, + "documentation": "ParseShellImportsRequest(digest: 'Digest', fp: 'str')", "is_union": false, - "module": "pants.backend.python.framework.stevedore.rules", - "name": "GenerateEntryPointsTxtFromStevedoreExtensionRequest", - "provider": "pants.backend.experimental.python.framework.stevedore", + "module": "pants.backend.shell.dependency_inference", + "name": "ParseShellImportsRequest", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": "PytestPluginSetupRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.shell.dependency_inference.infer_shell_dependencies" + ] }, - "pants.backend.python.framework.stevedore.target_types.AllStevedoreExtensionTargets": { - "consumed_by_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.map_stevedore_extensions" + "pants.backend.shell.dependency_inference.ParsedShellImports": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.shell" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.python.framework.stevedore"], "documentation": null, "is_union": false, - "module": "pants.backend.python.framework.stevedore.target_types", - "name": "AllStevedoreExtensionTargets", - "provider": "pants.backend.experimental.python.framework.stevedore", + "module": "pants.backend.shell.dependency_inference", + "name": "ParsedShellImports", + "provider": "pants.backend.shell", "returned_by_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.find_all_python_distributions_with_any_stevedore_entry_points" + "pants.backend.shell.dependency_inference.parse_shell_imports" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.shell.dependency_inference.infer_shell_dependencies" + ] }, - "pants.backend.python.framework.stevedore.target_types.StevedoreExtensionTargets": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.python"], - "dependents": ["pants.backend.experimental.python.framework.stevedore"], - "documentation": null, + "pants.backend.shell.dependency_inference.ShellMapping": { + "consumed_by_rules": [ + "pants.backend.shell.dependency_inference.infer_shell_dependencies" + ], + "dependencies": [], + "dependents": [ + "pants.backend.shell" + ], + "documentation": "A mapping of Shell file names to their owning file address.", "is_union": false, - "module": "pants.backend.python.framework.stevedore.target_types", - "name": "StevedoreExtensionTargets", - "provider": "pants.backend.experimental.python.framework.stevedore", + "module": "pants.backend.shell.dependency_inference", + "name": "ShellMapping", + "provider": "pants.backend.shell", "returned_by_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces" + "pants.backend.shell.dependency_inference.map_shell_files" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension" - ] + "used_in_rules": [] }, - "pants.backend.python.framework.stevedore.target_types.StevedoreNamespacesField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "pants.backend.shell.goals.tailor.PutativeShellTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.shell.goals.tailor.find_putative_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.shell" + ], + "documentation": "PutativeShellTargetsRequest(dirs: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.python.framework.stevedore.target_types", - "name": "StevedoreNamespacesField", - "provider": "pants.backend.experimental.python.framework.stevedore", + "module": "pants.backend.shell.goals.tailor", + "name": "PutativeShellTargetsRequest", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "PutativeTargetsRequest", "used_in_rules": [] }, - "pants.backend.python.framework.stevedore.target_types.StevedoreNamespacesProviderTargetsRequest": { - "consumed_by_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces" + "pants.backend.shell.goals.test.ShellTestRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.python.framework.stevedore"], - "documentation": "StevedoreNamespacesProviderTargetsRequest(stevedore_namespaces: 'StevedoreNamespacesField')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.framework.stevedore.target_types", - "name": "StevedoreNamespacesProviderTargetsRequest", - "provider": "pants.backend.python", + "module": "pants.backend.shell.goals.test", + "name": "ShellTestRequest", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension" - ] + "union_type": "TestRequest", + "used_in_rules": [] }, - "pants.backend.python.goals.coverage_py.CoverageConfig": { - "consumed_by_rules": [ - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" - ], + "pants.backend.shell.goals.test.TestShellCommandFieldSet": { + "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core", - "pants.engine.fs" + "pants.core" ], - "dependents": ["pants.backend.python"], - "documentation": "CoverageConfig(digest: 'Digest', path: 'str')", + "dependents": [], + "documentation": "TestShellCommandFieldSet(address: 'Address', sources: 'SourcesField', environment: 'EnvironmentField')", "is_union": false, - "module": "pants.backend.python.goals.coverage_py", - "name": "CoverageConfig", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.goals.coverage_py.create_or_update_coverage_config" - ], + "module": "pants.backend.shell.goals.test", + "name": "TestShellCommandFieldSet", + "provider": "pants.backend.shell", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "TestFieldSet", "used_in_rules": [] }, - "pants.backend.python.goals.coverage_py.CoverageSetup": { - "consumed_by_rules": [ - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.coverage_py.merge_coverage_data" + "pants.backend.shell.lint.shellcheck.rules.ShellcheckRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "CoverageSetup(pex: 'VenvPex')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.coverage_py", - "name": "CoverageSetup", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.goals.coverage_py.setup_coverage" - ], + "module": "pants.backend.shell.lint.shellcheck.rules", + "name": "ShellcheckRequest", + "provider": "pants.backend.shell.lint.shellcheck", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.goals.coverage_py.CoverageSubsystem": { - "consumed_by_rules": [ - "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.coverage_py.setup_coverage", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" + "pants.backend.shell.lint.shellcheck.skip_field.SkipShellcheckField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.coverage_py", - "name": "CoverageSubsystem", - "provider": "pants.backend.python", - "returned_by_rules": ["construct_scope_coverage_py"], + "module": "pants.backend.shell.lint.shellcheck.skip_field", + "name": "SkipShellcheckField", + "provider": "pants.backend.shell.lint.shellcheck", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.python.goals.coverage_py.MergedCoverageData": { + "pants.backend.shell.lint.shellcheck.subsystem.Shellcheck": { "consumed_by_rules": [ - "pants.backend.python.goals.coverage_py.generate_coverage_reports" + "pants.backend.shell.dependency_inference.parse_shell_imports", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_ShellcheckRequest" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core", - "pants.engine.fs" + "pants.option.scope" ], - "dependents": ["pants.backend.python"], - "documentation": "MergedCoverageData(coverage_data: 'Digest', addresses: 'tuple[Address, ...]')", + "dependents": [ + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.coverage_py", - "name": "MergedCoverageData", - "provider": "pants.backend.python", + "module": "pants.backend.shell.lint.shellcheck.subsystem", + "name": "Shellcheck", + "provider": "pants.backend.shell", "returned_by_rules": [ - "pants.backend.python.goals.coverage_py.merge_coverage_data" + "construct_scope_shellcheck" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.goals.coverage_py.PytestCoverageDataCollection": { - "consumed_by_rules": [ - "pants.backend.python.goals.coverage_py.merge_coverage_data" + "pants.backend.shell.lint.shfmt.rules.ShfmtRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.coverage_py", - "name": "PytestCoverageDataCollection", - "provider": "pants.backend.python", + "module": "pants.backend.shell.lint.shfmt.rules", + "name": "ShfmtRequest", + "provider": "pants.backend.shell.lint.shfmt", "returned_by_rules": [], "union_members": [], - "union_type": "CoverageDataCollection", + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.goals.debug_goals.DumpPythonSourceAnalysis": { + "pants.backend.shell.lint.shfmt.skip_field.SkipShfmtField": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.go", - "pants.core", - "pants.engine.console" + "pants.engine.target" ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.debug_goals", - "name": "DumpPythonSourceAnalysis", - "provider": "pants.backend.experimental.python", - "returned_by_rules": [ - "pants.backend.python.goals.debug_goals.dump_python_source_analysis" - ], + "module": "pants.backend.shell.lint.shfmt.skip_field", + "name": "SkipShfmtField", + "provider": "pants.backend.shell.lint.shfmt", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.python.goals.debug_goals.DumpPythonSourceAnalysisSubsystem": { + "pants.backend.shell.lint.shfmt.subsystem.Shfmt": { "consumed_by_rules": [ - "pants.backend.python.goals.debug_goals.dump_python_source_analysis" + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.shell.lint.shfmt" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.python"], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.debug_goals", - "name": "DumpPythonSourceAnalysisSubsystem", - "provider": "pants.backend.experimental.python", - "returned_by_rules": ["construct_scope_python_dump_source_analysis"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.python.goals.debug_goals.PythonSourceAnalysis": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.python", "pants.core"], - "dependents": ["pants.backend.experimental.python"], - "documentation": "Information on the inferred imports for a Python file, including all raw intermediate\nresults.", - "is_union": false, - "module": "pants.backend.python.goals.debug_goals", - "name": "PythonSourceAnalysis", - "provider": "pants.backend.experimental.python", + "module": "pants.backend.shell.lint.shfmt.subsystem", + "name": "Shfmt", + "provider": "pants.backend.shell.lint.shfmt", "returned_by_rules": [ - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single" + "construct_scope_shfmt" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.debug_goals.dump_python_source_analysis" - ] - }, - "pants.backend.python.goals.export.ExportPluginOptions": { - "consumed_by_rules": [], - "dependencies": ["pants.option.subsystem"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.goals.export", - "name": "ExportPluginOptions", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginOption", "used_in_rules": [] }, - "pants.backend.python.goals.export.ExportVenvsRequest": { - "consumed_by_rules": [ - "pants.backend.python.goals.export.export_virtualenvs" + "pants.backend.shell.shunit2_test_runner.Shunit2FieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "ExportVenvsRequest(targets: 'Sequence[Target]')", + "dependents": [], + "documentation": "Shunit2FieldSet(address: 'Address', sources: pants.backend.shell.target_types.Shunit2TestSourceField, timeout: pants.backend.shell.target_types.Shunit2TestTimeoutField, shell: pants.backend.shell.target_types.Shunit2ShellField, runtime_package_dependencies: pants.core.goals.test.RuntimePackageDependenciesField)", "is_union": false, - "module": "pants.backend.python.goals.export", - "name": "ExportVenvsRequest", - "provider": "pants.backend.python", + "module": "pants.backend.shell.shunit2_test_runner", + "name": "Shunit2FieldSet", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": "ExportRequest", + "union_type": "TestFieldSet", "used_in_rules": [] }, - "pants.backend.python.goals.export.MaybeExportResult": { + "pants.backend.shell.shunit2_test_runner.Shunit2Runner": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "MaybeExportResult(result: 'ExportResult | None')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.shell" + ], + "documentation": "Shunit2Runner(shell: pants.backend.shell.target_types.Shunit2Shell, binary_path: pants.core.util_rules.system_binaries.BinaryPath)", "is_union": false, - "module": "pants.backend.python.goals.export", - "name": "MaybeExportResult", - "provider": "pants.backend.python", + "module": "pants.backend.shell.shunit2_test_runner", + "name": "Shunit2Runner", + "provider": "pants.backend.shell", "returned_by_rules": [ - "pants.backend.python.goals.export.export_virtualenv_for_resolve" + "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.python.goals.export.export_virtualenvs"] + "used_in_rules": [ + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + ] }, - "pants.backend.python.goals.export.VenvExportRequest": { - "consumed_by_rules": ["pants.backend.python.goals.export.do_export"], + "pants.backend.shell.shunit2_test_runner.Shunit2RunnerRequest": { + "consumed_by_rules": [ + "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell" + ], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "VenvExportRequest(pex_request: 'PexRequest', dest_prefix: 'str', resolve_name: 'str', qualify_path_with_python_version: 'bool', editable_local_dists_digest: 'Digest | None' = None)", + "dependents": [ + "pants.backend.shell" + ], + "documentation": "Shunit2RunnerRequest(address: Address, test_file_content: pants.engine.fs.FileContent, shell_field: pants.backend.shell.target_types.Shunit2ShellField)", "is_union": false, - "module": "pants.backend.python.goals.export", - "name": "VenvExportRequest", - "provider": "pants.backend.python", + "module": "pants.backend.shell.shunit2_test_runner", + "name": "Shunit2RunnerRequest", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.export.export_virtualenv_for_resolve" + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" ] }, - "pants.backend.python.goals.export._ExportVenvForResolveRequest": { - "consumed_by_rules": [ - "pants.backend.python.goals.export.export_virtualenv_for_resolve" + "pants.backend.shell.shunit2_test_runner.Shunit2TestRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "_ExportVenvForResolveRequest(resolve: 'str')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.export", - "name": "_ExportVenvForResolveRequest", - "provider": "pants.backend.python", + "module": "pants.backend.shell.shunit2_test_runner", + "name": "Shunit2TestRequest", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.python.goals.export.export_virtualenvs"] + "union_type": "TestRequest", + "used_in_rules": [] }, - "pants.backend.python.goals.lockfile.GeneratePythonLockfile": { - "consumed_by_rules": [ - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.goals.lockfile.wrap_python_lockfile_request" + "pants.backend.shell.shunit2_test_runner.TestSetup": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "GeneratePythonLockfile(resolve_name: 'str', lockfile_dest: 'str', diff: 'bool', requirements: 'FrozenOrderedSet[str]', find_links: 'FrozenOrderedSet[str]', interpreter_constraints: 'InterpreterConstraints')", + "dependents": [ + "pants.backend.shell" + ], + "documentation": "TestSetup(process: pants.engine.process.Process)", "is_union": false, - "module": "pants.backend.python.goals.lockfile", - "name": "GeneratePythonLockfile", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.backend.shell.shunit2_test_runner", + "name": "TestSetup", + "provider": "pants.backend.shell", + "returned_by_rules": [ + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + ], "union_members": [], - "union_type": "GenerateLockfile", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test" + ] }, - "pants.backend.python.goals.lockfile.KnownPythonUserResolveNamesRequest": { + "pants.backend.shell.shunit2_test_runner.TestSetupRequest": { "consumed_by_rules": [ - "pants.backend.python.goals.lockfile.determine_python_user_resolves" + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": null, + "dependents": [ + "pants.backend.shell" + ], + "documentation": "TestSetupRequest(field_set: pants.backend.shell.shunit2_test_runner.Shunit2FieldSet)", "is_union": false, - "module": "pants.backend.python.goals.lockfile", - "name": "KnownPythonUserResolveNamesRequest", - "provider": "pants.core", + "module": "pants.backend.shell.shunit2_test_runner", + "name": "TestSetupRequest", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": "KnownUserResolveNamesRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test" + ] }, - "pants.backend.python.goals.lockfile.PythonSyntheticLockfileTargetsRequest": { + "pants.backend.shell.subsystems.shell_setup.EnvironmentAware": { "consumed_by_rules": [ - "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets" + "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", + "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target" ], - "dependencies": ["pants.engine.internals.synthetic_targets"], - "dependents": ["pants.core"], - "documentation": "Register the type used to create synthetic targets for Python lockfiles.\n\nAs the paths for all lockfiles are known up-front, we set the `path` field to\n`SyntheticTargetsRequest.SINGLE_REQUEST_FOR_ALL_TARGETS` so that we get a single request for all\nour synthetic targets rather than one request per directory.", + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.shell" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.lockfile", - "name": "PythonSyntheticLockfileTargetsRequest", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.backend.shell.subsystems.shell_setup", + "name": "EnvironmentAware", + "provider": "pants.backend.shell", + "returned_by_rules": [ + "construct_env_aware_scope_shell_setup" + ], "union_members": [], - "union_type": "SyntheticTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.goals.lockfile.RequestedPythonUserResolveNames": { + "pants.backend.shell.subsystems.shell_setup.ShellSetup": { "consumed_by_rules": [ - "pants.backend.python.goals.lockfile.setup_user_lockfile_requests" + "construct_env_aware_scope_shell_setup", + "pants.backend.shell.dependency_inference.infer_shell_dependencies", + "pants.backend.shell.goals.tailor.find_putative_targets", + "pants.backend.shell.target_types.generator_settings" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.shell" ], - "dependencies": [], - "dependents": ["pants.core"], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.lockfile", - "name": "RequestedPythonUserResolveNames", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.backend.shell.subsystems.shell_setup", + "name": "ShellSetup", + "provider": "pants.backend.shell", + "returned_by_rules": [ + "construct_scope_shell_setup" + ], "union_members": [], - "union_type": "RequestedUserResolveNames", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.goals.package_pex_binary.PexBinaryFieldSet": { + "pants.backend.shell.subsystems.shell_test_subsys.ShellTestSubsystem": { "consumed_by_rules": [ - "pants.backend.python.goals.package_pex_binary.package_pex_binary", - "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PexBinaryFieldSet" + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ShellTestRequest" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "PexBinaryFieldSet(address: 'Address', entry_point: pants.backend.python.target_types.PexEntryPointField, script: pants.backend.python.target_types.PexScriptField, 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, shebang: pants.backend.python.target_types.PexShebangField, strip_env: pants.backend.python.target_types.PexStripEnvField, platforms: pants.backend.python.target_types.PexPlatformsField, 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)", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.shell" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.package_pex_binary", - "name": "PexBinaryFieldSet", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.backend.shell.subsystems.shell_test_subsys", + "name": "ShellTestSubsystem", + "provider": "pants.backend.shell", + "returned_by_rules": [ + "construct_scope_shell_test" + ], "union_members": [], - "union_type": "PackageFieldSet", - "used_in_rules": [ - "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request" - ] + "union_type": null, + "used_in_rules": [] }, - "pants.backend.python.goals.package_pex_binary.PexFromTargetsRequestForBuiltPackage": { + "pants.backend.shell.subsystems.shunit2.Shunit2": { "consumed_by_rules": [ - "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request" + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_Shunit2TestRequest" ], - "dependencies": ["pants.backend.awslambda.python", "pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "An intermediate class that gives consumers access to the data used to create a\n`PexFromTargetsRequest` to fulfil a `BuiltPackage` request.\n\nThis class is used directly by `run_pex_binary`, but should be handled transparently by direct\n`BuiltPackage` requests.", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.shell" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.package_pex_binary", - "name": "PexFromTargetsRequestForBuiltPackage", - "provider": "pants.backend.python", + "module": "pants.backend.shell.subsystems.shunit2", + "name": "Shunit2", + "provider": "pants.backend.shell", "returned_by_rules": [ - "pants.backend.python.goals.package_pex_binary.package_pex_binary" + "construct_scope_shunit2" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request" - ] - }, - "pants.backend.python.goals.publish.PublishPythonPackageFieldSet": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": "PublishPythonPackageFieldSet(address: 'Address', repositories: 'PythonRepositoriesField', skip_twine: 'SkipTwineUploadField')", - "is_union": false, - "module": "pants.backend.python.goals.publish", - "name": "PublishPythonPackageFieldSet", - "provider": "pants.backend.experimental.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "PublishFieldSet", "used_in_rules": [] }, - "pants.backend.python.goals.publish.PublishPythonPackageRequest": { - "consumed_by_rules": ["pants.backend.python.goals.publish.twine_upload"], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.python"], + "pants.backend.shell.target_types.ShellGeneratorSettingsRequest": { + "consumed_by_rules": [ + "pants.backend.shell.target_types.generator_settings" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.shell" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.publish", - "name": "PublishPythonPackageRequest", - "provider": "pants.backend.experimental.python", + "module": "pants.backend.shell.target_types", + "name": "ShellGeneratorSettingsRequest", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": "PublishRequest", + "union_type": "TargetFilesGeneratorSettingsRequest", "used_in_rules": [] }, - "pants.backend.python.goals.publish.PythonRepositoriesField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], + "pants.backend.shell.util_rules.shell_command.GenerateFilesFromShellCommandRequest": { + "consumed_by_rules": [ + "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.shell" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.publish", - "name": "PythonRepositoriesField", - "provider": "pants.backend.experimental.python", + "module": "pants.backend.shell.util_rules.shell_command", + "name": "GenerateFilesFromShellCommandRequest", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "GenerateSourcesRequest", "used_in_rules": [] }, - "pants.backend.python.goals.publish.SkipTwineUploadField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], + "pants.backend.shell.util_rules.shell_command.RunShellCommand": { + "consumed_by_rules": [ + "pants.backend.shell.util_rules.shell_command.run_shell_command_request", + "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunShellCommand", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunShellCommand" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.shell" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.publish", - "name": "SkipTwineUploadField", - "provider": "pants.backend.experimental.python", + "module": "pants.backend.shell.util_rules.shell_command", + "name": "RunShellCommand", + "provider": "pants.backend.shell", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "RunFieldSet", "used_in_rules": [] }, - "pants.backend.python.goals.pytest_runner.AllPytestPluginSetups": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.go", - "pants.backend.experimental.python.framework.stevedore", - "pants.engine.unions" + "pants.backend.shell.util_rules.shell_command.ShellCommandProcessFromTargetRequest": { + "consumed_by_rules": [ + "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", + "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target" ], - "dependents": ["pants.backend.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.goals.pytest_runner", - "name": "AllPytestPluginSetups", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.goals.pytest_runner.run_all_setup_plugins" + "dependencies": [], + "dependents": [ + "pants.backend.shell" ], + "documentation": "ShellCommandProcessFromTargetRequest(target: 'Target')", + "is_union": false, + "module": "pants.backend.shell.util_rules.shell_command", + "name": "ShellCommandProcessFromTargetRequest", + "provider": "pants.backend.shell", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" + "pants.backend.shell.goals.test.test_shell_command", + "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox" ] }, - "pants.backend.python.goals.pytest_runner.AllPytestPluginSetupsRequest": { + "pants.backend.swift.goals.tailor.PutativeSwiftTargetsRequest": { "consumed_by_rules": [ - "pants.backend.python.goals.pytest_runner.run_all_setup_plugins" + "pants.backend.swift.goals.tailor.find_putative_targets" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "AllPytestPluginSetupsRequest(addresses: 'tuple[Address, ...]')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.swift" + ], + "documentation": "PutativeSwiftTargetsRequest(dirs: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.python.goals.pytest_runner", - "name": "AllPytestPluginSetupsRequest", - "provider": "pants.backend.python", + "module": "pants.backend.swift.goals.tailor", + "name": "PutativeSwiftTargetsRequest", + "provider": "pants.backend.experimental.swift", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" - ] + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] }, - "pants.backend.python.goals.pytest_runner.PyTestRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.backend.terraform.dependencies.TerraformDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.terraform.dependencies.get_terraform_providers" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": "TerraformDependenciesRequest(source_files: 'SourceFiles', directories: 'Tuple[str, ...]', backend_config: 'SourceFiles', dependencies_files: 'SourceFiles', initialise_backend: 'bool' = False)", "is_union": false, - "module": "pants.backend.python.goals.pytest_runner", - "name": "PyTestRequest", - "provider": "pants.backend.python", + "module": "pants.backend.terraform.dependencies", + "name": "TerraformDependenciesRequest", + "provider": "pants.backend.terraform.dependencies", "returned_by_rules": [], "union_members": [], - "union_type": "TestRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.terraform.dependencies.init_terraform" + ] }, - "pants.backend.python.goals.pytest_runner.PytestPluginSetup": { + "pants.backend.terraform.dependencies.TerraformDependenciesResponse": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.terraform.dependencies", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.fs" + "pants.engine.process" ], - "dependents": ["pants.backend.python"], - "documentation": "The result of custom set up logic before Pytest runs.\n\nPlease reach out it if you would like certain functionality, such as allowing your plugin to set\nenvironment variables.", + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": "TerraformDependenciesResponse(fetched_deps: 'Tuple[Tuple[str, Digest], ...]')", "is_union": false, - "module": "pants.backend.python.goals.pytest_runner", - "name": "PytestPluginSetup", - "provider": "pants.backend.experimental.python.framework.stevedore, pants.backend.python", + "module": "pants.backend.terraform.dependencies", + "name": "TerraformDependenciesResponse", + "provider": "pants.backend.experimental.terraform", "returned_by_rules": [ - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", - "pants.backend.python.goals.pytest_runner.setup_runtime_packages" + "pants.backend.terraform.dependencies.get_terraform_providers" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.run_all_setup_plugins" + "pants.backend.terraform.dependencies.init_terraform" ] }, - "pants.backend.python.goals.pytest_runner.PytestPluginSetupRequest": { - "consumed_by_rules": [], + "pants.backend.terraform.dependencies.TerraformInitRequest": { + "consumed_by_rules": [ + "pants.backend.terraform.dependencies.init_terraform" + ], "dependencies": [], "dependents": [ - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.python" + "pants.backend.experimental.terraform" ], - "documentation": "A request to set up the test environment before Pytest runs, e.g. to set up databases.\n\nTo use, subclass PytestPluginSetupRequest, register the rule\n`UnionRule(PytestPluginSetupRequest, MyCustomPytestPluginSetupRequest)`, and add a rule that\ntakes your subclass as a parameter and returns `PytestPluginSetup`.", - "is_union": true, - "module": "pants.backend.python.goals.pytest_runner", - "name": "PytestPluginSetupRequest", - "provider": "pants.backend.python", + "documentation": "TerraformInitRequest(root_module: 'TerraformRootModuleField', backend_config: 'TerraformBackendConfigField', dependencies: 'TerraformDependenciesField', initialise_backend: 'bool' = False)", + "is_union": false, + "module": "pants.backend.terraform.dependencies", + "name": "TerraformInitRequest", + "provider": "pants.backend.terraform.dependencies", "returned_by_rules": [], - "union_members": [ - "GenerateEntryPointsTxtFromStevedoreExtensionRequest", - "RuntimePackagesPluginRequest" - ], + "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.run_all_setup_plugins" + "pants.backend.terraform.goals.check.terraform_check", + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment" ] }, - "pants.backend.python.goals.pytest_runner.RuntimePackagesPluginRequest": { - "consumed_by_rules": [ - "pants.backend.python.goals.pytest_runner.setup_runtime_packages" - ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "RuntimePackagesPluginRequest(target: 'Target')", - "is_union": false, - "module": "pants.backend.python.goals.pytest_runner", - "name": "RuntimePackagesPluginRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "PytestPluginSetupRequest", - "used_in_rules": [] - }, - "pants.backend.python.goals.pytest_runner.TestSetup": { + "pants.backend.terraform.dependencies.TerraformInitResponse": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.docker", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.terraform", - "pants.backend.shell", - "pants.core", - "pants.engine.env_vars", - "pants.engine.fs", - "pants.engine.process" + "pants.backend.terraform.dependencies", + "pants.backend.url_handlers.s3", + "pants.core" ], - "dependents": ["pants.backend.python"], - "documentation": "TestSetup(process: 'Process', results_file_name: 'Optional[str]')", + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": "TerraformInitResponse(sources_and_deps: 'Digest', terraform_files: 'tuple[str, ...]', chdir: 'str')", "is_union": false, - "module": "pants.backend.python.goals.pytest_runner", - "name": "TestSetup", - "provider": "pants.backend.python", + "module": "pants.backend.terraform.dependencies", + "name": "TerraformInitResponse", + "provider": "pants.backend.experimental.terraform", "returned_by_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" + "pants.backend.terraform.dependencies.init_terraform" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.debug_python_test", - "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "pants.backend.python.goals.pytest_runner.run_python_tests" + "pants.backend.terraform.goals.check.terraform_check", + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment" ] }, - "pants.backend.python.goals.pytest_runner.TestSetupRequest": { + "pants.backend.terraform.dependency_inference.InferTerraformDeploymentDependenciesRequest": { "consumed_by_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" + "pants.backend.terraform.dependency_inference.infer_terraform_deployment_dependencies" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "TestSetupRequest(field_sets: 'Tuple[PythonTestFieldSet, ...]', metadata: 'TestMetadata', is_debug: 'bool', extra_env: 'FrozenDict[str, str]' = FrozenDict({}), prepend_argv: 'Tuple[str, ...]' = (), additional_pexes: 'Tuple[Pex, ...]' = ())", - "is_union": false, - "module": "pants.backend.python.goals.pytest_runner", - "name": "TestSetupRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.debug_python_test", - "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "pants.backend.python.goals.pytest_runner.run_python_tests" - ] - }, - "pants.backend.python.goals.repl.IPythonRepl": { - "consumed_by_rules": [ - "pants.backend.python.goals.repl.create_ipython_repl_request" + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.terraform" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.repl", - "name": "IPythonRepl", - "provider": "pants.backend.python", + "module": "pants.backend.terraform.dependency_inference", + "name": "InferTerraformDeploymentDependenciesRequest", + "provider": "pants.backend.experimental.terraform", "returned_by_rules": [], "union_members": [], - "union_type": "ReplImplementation", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.python.goals.repl.PythonRepl": { + "pants.backend.terraform.dependency_inference.InferTerraformModuleDependenciesRequest": { "consumed_by_rules": [ - "pants.backend.python.goals.repl.create_python_repl_request" + "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.terraform" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.repl", - "name": "PythonRepl", - "provider": "pants.backend.python", + "module": "pants.backend.terraform.dependency_inference", + "name": "InferTerraformModuleDependenciesRequest", + "provider": "pants.backend.experimental.terraform", "returned_by_rules": [], "union_members": [], - "union_type": "ReplImplementation", + "union_type": "InferDependenciesRequest", "used_in_rules": [] }, - "pants.backend.python.goals.run_python_requirement.PythonRequirementFieldSet": { + "pants.backend.terraform.dependency_inference.ParseTerraformModuleSources": { "consumed_by_rules": [ - "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PythonRequirementFieldSet" + "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "PythonRequirementFieldSet(address: 'Address', requirements: 'PythonRequirementsField', dependencies: 'PythonRequirementDependenciesField', modules: 'PythonRequirementModulesField', resolve: 'PythonRequirementResolveField', entry_point: 'PythonRequirementEntryPointField')", + "dependencies": [], + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": "ParseTerraformModuleSources(sources_digest: 'Digest', paths: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.python.goals.run_python_requirement", - "name": "PythonRequirementFieldSet", - "provider": "pants.backend.python", + "module": "pants.backend.terraform.dependency_inference", + "name": "ParseTerraformModuleSources", + "provider": "pants.backend.terraform.dependency_inference", "returned_by_rules": [], "union_members": [], - "union_type": "RunFieldSet", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies" + ] }, - "pants.backend.python.goals.run_python_source.PythonSourceFieldSet": { + "pants.backend.terraform.dependency_inference.ParserSetup": { "consumed_by_rules": [ - "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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request" + "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "PythonSourceFieldSet(address: 'Address', source: pants.backend.python.target_types.PythonSourceField, interpreter_constraints: pants.backend.python.target_types.InterpreterConstraintsField, _run_goal_use_sandbox: pants.backend.python.target_types.PythonRunGoalUseSandboxField)", + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": "ParserSetup(pex: 'VenvPex')", "is_union": false, - "module": "pants.backend.python.goals.run_python_source", - "name": "PythonSourceFieldSet", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.backend.terraform.dependency_inference", + "name": "ParserSetup", + "provider": "pants.backend.experimental.terraform", + "returned_by_rules": [ + "pants.backend.terraform.dependency_inference.setup_parser" + ], "union_members": [], - "union_type": "RunFieldSet", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.goals.tailor.PutativePythonTargetsRequest": { + "pants.backend.terraform.dependency_inference.TerraformHcl2Parser": { "consumed_by_rules": [ - "pants.backend.python.goals.tailor.find_putative_targets" + "pants.backend.terraform.dependency_inference.setup_parser" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "PutativePythonTargetsRequest(dirs: 'tuple[str, ...]')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.goals.tailor", - "name": "PutativePythonTargetsRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.backend.terraform.dependency_inference", + "name": "TerraformHcl2Parser", + "provider": "pants.backend.experimental.terraform", + "returned_by_rules": [ + "construct_scope_terraform_hcl2_parser" + ], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.add_trailing_comma.rules.AddTrailingCommaRequest": { + "pants.backend.terraform.goals.check.SkipTerraformValidateField": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.engine.target" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.add_trailing_comma.rules", - "name": "AddTrailingCommaRequest", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", + "module": "pants.backend.terraform.goals.check", + "name": "SkipTerraformValidateField", + "provider": "pants.backend.experimental.terraform", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.python.lint.add_trailing_comma.skip_field.SkipAddTrailingCommaField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], + "pants.backend.terraform.goals.check.TerraformCheckRequest": { + "consumed_by_rules": [ + "pants.backend.terraform.goals.check.terraform_check" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.terraform" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.add_trailing_comma.skip_field", - "name": "SkipAddTrailingCommaField", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", + "module": "pants.backend.terraform.goals.check", + "name": "TerraformCheckRequest", + "provider": "pants.backend.experimental.terraform", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "CheckRequest", "used_in_rules": [] }, - "pants.backend.python.lint.add_trailing_comma.subsystem.AddTrailingComma": { + "pants.backend.terraform.goals.check.TerraformValidateSubsystem": { "consumed_by_rules": [ - "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest" + "pants.backend.terraform.goals.check.terraform_check" + ], + "dependencies": [ + "pants.option.scope" ], - "dependencies": ["pants.option.scope"], "dependents": [ - "pants.backend.experimental.python.lint.add_trailing_comma" + "pants.backend.experimental.terraform" ], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.add_trailing_comma.subsystem", - "name": "AddTrailingComma", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", - "returned_by_rules": ["construct_scope_add_trailing_comma"], + "module": "pants.backend.terraform.goals.check", + "name": "TerraformValidateSubsystem", + "provider": "pants.backend.experimental.terraform", + "returned_by_rules": [ + "construct_scope_terraform_validate" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.autoflake.rules.AutoflakeRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.backend.terraform.goals.deploy.DeployTerraformFieldSet": { + "consumed_by_rules": [ + "pants.backend.terraform.goals.deploy.run_terraform_deploy" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": "DeployTerraformFieldSet(address: 'Address', description: 'DescriptionField', root_module: 'TerraformRootModuleField', dependencies: 'TerraformDependenciesField', backend_config: 'TerraformBackendConfigField', var_files: 'TerraformVarFileSourcesField')", "is_union": false, - "module": "pants.backend.python.lint.autoflake.rules", - "name": "AutoflakeRequest", - "provider": "pants.backend.python.lint.autoflake", + "module": "pants.backend.terraform.goals.deploy", + "name": "DeployTerraformFieldSet", + "provider": "pants.backend.experimental.terraform", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "DeployFieldSet", "used_in_rules": [] }, - "pants.backend.python.lint.autoflake.skip_field.SkipAutoflakeField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "pants.backend.terraform.goals.deploy.TerraformDeploymentRequest": { + "consumed_by_rules": [ + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": "TerraformDeploymentRequest(field_set: 'TerraformDeploymentFieldSet')", "is_union": false, - "module": "pants.backend.python.lint.autoflake.skip_field", - "name": "SkipAutoflakeField", - "provider": "pants.backend.python.lint.autoflake", + "module": "pants.backend.terraform.goals.deploy", + "name": "TerraformDeploymentRequest", + "provider": "pants.backend.terraform.goals.deploy", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": null, + "used_in_rules": [ + "pants.backend.terraform.goals.deploy.run_terraform_deploy" + ] + }, + "pants.backend.terraform.goals.tailor.PutativeTerraformTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.terraform" + ], + "documentation": "PutativeTerraformTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.terraform.goals.tailor", + "name": "PutativeTerraformTargetsRequest", + "provider": "pants.backend.experimental.terraform", + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", "used_in_rules": [] }, - "pants.backend.python.lint.autoflake.subsystem.Autoflake": { + "pants.backend.terraform.lint.tffmt.tffmt.TfFmtSubsystem": { "consumed_by_rules": [ - "pants.backend.python.lint.autoflake.rules.autoflake_fix", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest" + "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", + "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.terraform" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.lint.autoflake"], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.autoflake.subsystem", - "name": "Autoflake", - "provider": "pants.backend.python.lint.autoflake", - "returned_by_rules": ["construct_scope_autoflake"], + "module": "pants.backend.terraform.lint.tffmt.tffmt", + "name": "TfFmtSubsystem", + "provider": "pants.backend.experimental.terraform", + "returned_by_rules": [ + "construct_scope_terraform_fmt" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.bandit.rules.BanditRequest": { + "pants.backend.terraform.lint.tffmt.tffmt.TffmtRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.bandit.rules", - "name": "BanditRequest", - "provider": "pants.backend.python.lint.bandit", + "module": "pants.backend.terraform.lint.tffmt.tffmt", + "name": "TffmtRequest", + "provider": "pants.backend.experimental.terraform", "returned_by_rules": [], "union_members": [], "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.lint.bandit.skip_field.SkipBanditField": { + "pants.backend.terraform.lint.tfsec.tfsec.SkipTfSecField": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.engine.target" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.bandit.skip_field", - "name": "SkipBanditField", - "provider": "pants.backend.python.lint.bandit", + "module": "pants.backend.terraform.lint.tfsec.tfsec", + "name": "SkipTfSecField", + "provider": "pants.backend.experimental.terraform.lint.tfsec", "returned_by_rules": [], "union_members": [], "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.python.lint.bandit.subsystem.Bandit": { + "pants.backend.terraform.lint.tfsec.tfsec.TFSec": { "consumed_by_rules": [ - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.bandit.rules.partition_bandit" + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_TfSecRequest" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.lint.bandit"], - "documentation": null, + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.terraform.lint.tfsec" + ], + "documentation": "Static analysis of Terraform, by Aqua Security.", "is_union": false, - "module": "pants.backend.python.lint.bandit.subsystem", - "name": "Bandit", - "provider": "pants.backend.python.lint.bandit", - "returned_by_rules": ["construct_scope_bandit"], + "module": "pants.backend.terraform.lint.tfsec.tfsec", + "name": "TFSec", + "provider": "pants.backend.experimental.terraform.lint.tfsec", + "returned_by_rules": [ + "construct_scope_terraform_tfsec" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.black.rules.BlackRequest": { + "pants.backend.terraform.lint.tfsec.tfsec.TfSecRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.black.rules", - "name": "BlackRequest", - "provider": "pants.backend.python.lint.black", + "module": "pants.backend.terraform.lint.tfsec.tfsec", + "name": "TfSecRequest", + "provider": "pants.backend.experimental.terraform.lint.tfsec", "returned_by_rules": [], "union_members": [], "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.lint.black.skip_field.SkipBlackField": { + "pants.backend.terraform.target_types.AllTerraformDeploymentTargets": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.backend.experimental.go" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.black.skip_field", - "name": "SkipBlackField", - "provider": "pants.backend.python.lint.black", - "returned_by_rules": [], + "module": "pants.backend.terraform.target_types", + "name": "AllTerraformDeploymentTargets", + "provider": "pants.backend.experimental.terraform", + "returned_by_rules": [ + "pants.backend.terraform.target_types.all_terraform_deployment_targets" + ], "union_members": [], - "union_type": "PluginField", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.black.subsystem.Black": { + "pants.backend.terraform.tool.TerraformProcess": { "consumed_by_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BlackRequest", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.black.rules.partition_black", - "pants.core.goals.update_build_files.format_build_file_with_black" + "pants.backend.terraform.tool.setup_terraform_process" ], - "dependencies": ["pants.option.scope"], + "dependencies": [], "dependents": [ - "pants.backend.build_files.fmt.black", - "pants.backend.python.lint.black", - "pants.core" + "pants.backend.experimental.terraform" ], - "documentation": null, + "documentation": "A request to invoke Terraform.", "is_union": false, - "module": "pants.backend.python.lint.black.subsystem", - "name": "Black", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_black"], + "module": "pants.backend.terraform.tool", + "name": "TerraformProcess", + "provider": "pants.backend.terraform.tool", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.terraform.dependencies.get_terraform_providers", + "pants.backend.terraform.goals.check.terraform_check", + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", + "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt" + ] }, - "pants.backend.python.lint.docformatter.rules.DocformatterRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.terraform.tool.TerraformTool": { + "consumed_by_rules": [ + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", + "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets", + "pants.backend.terraform.tool.setup_terraform_process" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.terraform" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.docformatter.rules", - "name": "DocformatterRequest", - "provider": "pants.backend.python.lint.docformatter", - "returned_by_rules": [], + "module": "pants.backend.terraform.tool", + "name": "TerraformTool", + "provider": "pants.backend.experimental.terraform", + "returned_by_rules": [ + "construct_scope_download_terraform" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.docformatter.skip_field.SkipDocformatterField": { + "pants.backend.tools.preamble.rules.PreambleRequest": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.docformatter.skip_field", - "name": "SkipDocformatterField", - "provider": "pants.backend.python.lint.docformatter", + "module": "pants.backend.tools.preamble.rules", + "name": "PreambleRequest", + "provider": "pants.backend.tools.preamble", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.lint.docformatter.subsystem.Docformatter": { + "pants.backend.tools.preamble.subsystem.PreambleSubsystem": { "consumed_by_rules": [ - "pants.backend.python.lint.docformatter.rules.docformatter_fmt", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest" + "pants.backend.tools.preamble.rules.partition_inputs", + "pants.backend.tools.preamble.rules.preamble_fmt" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.tools.preamble" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.lint.docformatter"], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.docformatter.subsystem", - "name": "Docformatter", - "provider": "pants.backend.python.lint.docformatter", - "returned_by_rules": ["construct_scope_docformatter"], + "module": "pants.backend.tools.preamble.subsystem", + "name": "PreambleSubsystem", + "provider": "pants.backend.tools.preamble", + "returned_by_rules": [ + "construct_scope_preamble" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.flake8.rules.Flake8Request": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.backend.tools.semgrep.rules.AllSemgrepConfigs": { + "consumed_by_rules": [ + "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs" + ], + "dependencies": [ + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.experimental.tools.semgrep" + ], + "documentation": "AllSemgrepConfigs(configs_by_dir: 'dict[PurePath, set[PurePath]]')", "is_union": false, - "module": "pants.backend.python.lint.flake8.rules", - "name": "Flake8Request", - "provider": "pants.backend.python.lint.flake8", - "returned_by_rules": [], + "module": "pants.backend.tools.semgrep.rules", + "name": "AllSemgrepConfigs", + "provider": "pants.backend.experimental.tools.semgrep", + "returned_by_rules": [ + "pants.backend.tools.semgrep.rules.find_all_semgrep_configs" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.flake8.skip_field.SkipFlake8Field": { + "pants.backend.tools.semgrep.rules.RelevantSemgrepConfigs": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], + "dependencies": [ + "pants.backend.tools.semgrep.rules" + ], + "dependents": [ + "pants.backend.experimental.tools.semgrep" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.flake8.skip_field", - "name": "SkipFlake8Field", - "provider": "pants.backend.python.lint.flake8", - "returned_by_rules": [], + "module": "pants.backend.tools.semgrep.rules", + "name": "RelevantSemgrepConfigs", + "provider": "pants.backend.experimental.tools.semgrep", + "returned_by_rules": [ + "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs" + ], "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.tools.semgrep.rules.partition" + ] }, - "pants.backend.python.lint.flake8.subsystem.Flake8": { + "pants.backend.tools.semgrep.rules.RelevantSemgrepConfigsRequest": { "consumed_by_rules": [ - "pants.backend.python.lint.flake8.rules.partition_flake8", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins" + "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.lint.flake8"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.tools.semgrep" + ], + "documentation": "RelevantSemgrepConfigsRequest(field_set: 'SemgrepFieldSet')", "is_union": false, - "module": "pants.backend.python.lint.flake8.subsystem", - "name": "Flake8", - "provider": "pants.backend.python.lint.flake8", - "returned_by_rules": ["construct_scope_flake8"], + "module": "pants.backend.tools.semgrep.rules", + "name": "RelevantSemgrepConfigsRequest", + "provider": "pants.backend.tools.semgrep.rules", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.tools.semgrep.rules.partition" + ] }, - "pants.backend.python.lint.flake8.subsystem.Flake8FirstPartyPlugins": { + "pants.backend.tools.semgrep.rules.SemgrepIgnoreFiles": { "consumed_by_rules": [ - "pants.backend.python.lint.flake8.rules.partition_flake8", - "pants.backend.python.lint.flake8.rules.run_flake8" + "pants.backend.tools.semgrep.rules.partition" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.python", - "pants.core", - "pants.engine.addresses" + "builtins" ], - "dependents": ["pants.backend.python.lint.flake8"], - "documentation": "Flake8FirstPartyPlugins(requirement_strings: 'FrozenOrderedSet[str]', interpreter_constraints_fields: 'FrozenOrderedSet[InterpreterConstraintsField]', sources_digest: 'Digest')", + "dependents": [ + "pants.backend.experimental.tools.semgrep" + ], + "documentation": "SemgrepIgnoreFiles(snapshot: 'Snapshot')", "is_union": false, - "module": "pants.backend.python.lint.flake8.subsystem", - "name": "Flake8FirstPartyPlugins", - "provider": "pants.backend.python.lint.flake8", + "module": "pants.backend.tools.semgrep.rules", + "name": "SemgrepIgnoreFiles", + "provider": "pants.backend.experimental.tools.semgrep", "returned_by_rules": [ - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins" + "pants.backend.tools.semgrep.rules.all_semgrep_ignore_files" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.isort.rules.IsortRequest": { + "pants.backend.tools.semgrep.rules.SemgrepLintRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.isort.rules", - "name": "IsortRequest", - "provider": "pants.backend.python.lint.isort", + "module": "pants.backend.tools.semgrep.rules", + "name": "SemgrepLintRequest", + "provider": "pants.backend.experimental.tools.semgrep", "returned_by_rules": [], "union_members": [], "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.lint.isort.skip_field.SkipIsortField": { + "pants.backend.tools.semgrep.subsystem.SemgrepSubsystem": { + "consumed_by_rules": [ + "pants.backend.tools.semgrep.rules.lint", + "pants.backend.tools.semgrep.rules.partition" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.tools.semgrep" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.tools.semgrep.subsystem", + "name": "SemgrepSubsystem", + "provider": "pants.backend.experimental.tools.semgrep", + "returned_by_rules": [ + "construct_scope_semgrep" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.tools.taplo.rules.TaploFmtRequest": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.isort.skip_field", - "name": "SkipIsortField", - "provider": "pants.backend.python.lint.isort", + "module": "pants.backend.tools.taplo.rules", + "name": "TaploFmtRequest", + "provider": "pants.backend.tools.taplo", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.lint.isort.subsystem.Isort": { + "pants.backend.tools.taplo.subsystem.Taplo": { "consumed_by_rules": [ - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest" + "pants.backend.tools.taplo.rules.partition_inputs", + "pants.backend.tools.taplo.rules.taplo_fmt" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.tools.taplo" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.lint.isort"], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.isort.subsystem", - "name": "Isort", - "provider": "pants.backend.python.lint.isort", - "returned_by_rules": ["construct_scope_isort"], + "module": "pants.backend.tools.taplo.subsystem", + "name": "Taplo", + "provider": "pants.backend.tools.taplo", + "returned_by_rules": [ + "construct_scope_taplo" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.pydocstyle.rules.PydocstyleRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.tools.workunit_logger.rules.WorkunitLogger": { + "consumed_by_rules": [ + "pants.backend.tools.workunit_logger.rules.construct_callback" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.tools.workunit_logger" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.pydocstyle.rules", - "name": "PydocstyleRequest", - "provider": "pants.backend.python.lint.pydocstyle", - "returned_by_rules": [], + "module": "pants.backend.tools.workunit_logger.rules", + "name": "WorkunitLogger", + "provider": "pants.backend.experimental.tools.workunit_logger", + "returned_by_rules": [ + "construct_scope_workunit_logger" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.pydocstyle.skip_field.SkipPydocstyleField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "pants.backend.tools.workunit_logger.rules.WorkunitLoggerCallbackFactoryRequest": { + "consumed_by_rules": [ + "pants.backend.tools.workunit_logger.rules.construct_callback" + ], + "dependencies": [ + "pants.engine.streaming_workunit_handler" + ], + "dependents": [ + "pants.backend.experimental.tools.workunit_logger" + ], + "documentation": "A unique request type that is installed to trigger construction of our WorkunitsCallback.", "is_union": false, - "module": "pants.backend.python.lint.pydocstyle.skip_field", - "name": "SkipPydocstyleField", - "provider": "pants.backend.python.lint.pydocstyle", + "module": "pants.backend.tools.workunit_logger.rules", + "name": "WorkunitLoggerCallbackFactoryRequest", + "provider": "pants.backend.experimental.tools.workunit_logger", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "WorkunitsCallbackFactoryRequest", "used_in_rules": [] }, - "pants.backend.python.lint.pydocstyle.subsystem.Pydocstyle": { - "consumed_by_rules": [ - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_PydocstyleRequest" + "pants.backend.tools.yamllint.rules.YamllintConfigFiles": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.tools.yamllint.rules" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.lint.pydocstyle"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.tools.yamllint" + ], + "documentation": "YamllintConfigFiles(snapshot: 'Snapshot', source_dir_to_config_files: 'FrozenDict[str, str]')", "is_union": false, - "module": "pants.backend.python.lint.pydocstyle.subsystem", - "name": "Pydocstyle", - "provider": "pants.backend.python.lint.pydocstyle", - "returned_by_rules": ["construct_scope_pydocstyle"], + "module": "pants.backend.tools.yamllint.rules", + "name": "YamllintConfigFiles", + "provider": "pants.backend.experimental.tools.yamllint", + "returned_by_rules": [ + "pants.backend.tools.yamllint.rules.gather_config_files" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.tools.yamllint.rules.partition_inputs" + ] }, - "pants.backend.python.lint.pylint.rules.PylintRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.backend.tools.yamllint.rules.YamllintConfigFilesRequest": { + "consumed_by_rules": [ + "pants.backend.tools.yamllint.rules.gather_config_files" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.tools.yamllint" + ], + "documentation": "YamllintConfigFilesRequest(filepaths: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.python.lint.pylint.rules", - "name": "PylintRequest", - "provider": "pants.backend.python.lint.pylint", + "module": "pants.backend.tools.yamllint.rules", + "name": "YamllintConfigFilesRequest", + "provider": "pants.backend.tools.yamllint.rules", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.tools.yamllint.rules.partition_inputs" + ] }, - "pants.backend.python.lint.pylint.skip_field.SkipPylintField": { + "pants.backend.tools.yamllint.rules.YamllintRequest": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.pylint.skip_field", - "name": "SkipPylintField", - "provider": "pants.backend.python.lint.pylint", + "module": "pants.backend.tools.yamllint.rules", + "name": "YamllintRequest", + "provider": "pants.backend.experimental.tools.yamllint", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.lint.pylint.subsystem.Pylint": { + "pants.backend.tools.yamllint.subsystem.Yamllint": { "consumed_by_rules": [ - "pants.backend.python.lint.pylint.rules.partition_pylint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins" + "pants.backend.tools.yamllint.rules.gather_config_files", + "pants.backend.tools.yamllint.rules.partition_inputs", + "pants.backend.tools.yamllint.rules.run_yamllint" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.tools.yamllint" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.lint.pylint"], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.pylint.subsystem", - "name": "Pylint", - "provider": "pants.backend.python.lint.pylint", - "returned_by_rules": ["construct_scope_pylint"], + "module": "pants.backend.tools.yamllint.subsystem", + "name": "Yamllint", + "provider": "pants.backend.experimental.tools.yamllint", + "returned_by_rules": [ + "construct_scope_yamllint" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.pylint.subsystem.PylintFirstPartyPlugins": { + "pants.backend.url_handlers.s3.register.AWSCredentials": { "consumed_by_rules": [ - "pants.backend.python.lint.pylint.rules.partition_pylint", - "pants.backend.python.lint.pylint.rules.run_pylint" + "pants.backend.url_handlers.s3.register.download_file_from_path_s3_authority", + "pants.backend.url_handlers.s3.register.download_file_from_virtual_hosted_s3_authority", + "pants.backend.url_handlers.s3.register.download_from_s3" ], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.python", - "pants.core", - "pants.engine.addresses" + "dependencies": [], + "dependents": [ + "pants.backend.url_handlers.s3" ], - "dependents": ["pants.backend.python.lint.pylint"], - "documentation": "PylintFirstPartyPlugins(requirement_strings: 'FrozenOrderedSet[str]', interpreter_constraints_fields: 'FrozenOrderedSet[InterpreterConstraintsField]', sources_digest: 'Digest')", + "documentation": "AWSCredentials(creds: 'Any')", "is_union": false, - "module": "pants.backend.python.lint.pylint.subsystem", - "name": "PylintFirstPartyPlugins", - "provider": "pants.backend.python.lint.pylint", + "module": "pants.backend.url_handlers.s3.register", + "name": "AWSCredentials", + "provider": "pants.backend.url_handlers.s3", "returned_by_rules": [ - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins" + "pants.backend.url_handlers.s3.register.access_aws_credentials" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.pyupgrade.rules.PyUpgradeRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "pants.backend.url_handlers.s3.register.DownloadS3AuthorityPathStyleURL": { + "consumed_by_rules": [ + "pants.backend.url_handlers.s3.register.download_file_from_path_s3_authority" + ], + "dependencies": [ + "pants.engine.download_file" + ], + "dependents": [ + "pants.backend.url_handlers.s3" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.pyupgrade.rules", - "name": "PyUpgradeRequest", - "provider": "pants.backend.python.lint.pyupgrade", + "module": "pants.backend.url_handlers.s3.register", + "name": "DownloadS3AuthorityPathStyleURL", + "provider": "pants.backend.url_handlers.s3", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": "URLDownloadHandler", "used_in_rules": [] }, - "pants.backend.python.lint.pyupgrade.skip_field.SkipPyUpgradeField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], + "pants.backend.url_handlers.s3.register.DownloadS3AuthorityVirtualHostedStyleURL": { + "consumed_by_rules": [ + "pants.backend.url_handlers.s3.register.download_file_from_virtual_hosted_s3_authority" + ], + "dependencies": [ + "pants.engine.download_file" + ], + "dependents": [ + "pants.backend.url_handlers.s3" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.pyupgrade.skip_field", - "name": "SkipPyUpgradeField", - "provider": "pants.backend.python.lint.pyupgrade", + "module": "pants.backend.url_handlers.s3.register", + "name": "DownloadS3AuthorityVirtualHostedStyleURL", + "provider": "pants.backend.url_handlers.s3", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "URLDownloadHandler", "used_in_rules": [] }, - "pants.backend.python.lint.pyupgrade.subsystem.PyUpgrade": { + "pants.backend.url_handlers.s3.register.DownloadS3SchemeURL": { "consumed_by_rules": [ - "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest" + "pants.backend.url_handlers.s3.register.download_file_from_s3_scheme" + ], + "dependencies": [ + "pants.engine.download_file" + ], + "dependents": [ + "pants.backend.url_handlers.s3" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.lint.pyupgrade"], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.pyupgrade.subsystem", - "name": "PyUpgrade", - "provider": "pants.backend.python.lint.pyupgrade", - "returned_by_rules": ["construct_scope_pyupgrade"], + "module": "pants.backend.url_handlers.s3.register", + "name": "DownloadS3SchemeURL", + "provider": "pants.backend.url_handlers.s3", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "URLDownloadHandler", "used_in_rules": [] }, - "pants.backend.python.lint.ruff.rules.RuffFixRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.backend.url_handlers.s3.register.S3DownloadFile": { + "consumed_by_rules": [ + "pants.backend.url_handlers.s3.register.download_from_s3" + ], + "dependencies": [], + "dependents": [ + "pants.backend.url_handlers.s3" + ], + "documentation": "S3DownloadFile(region: 'str', bucket: 'str', key: 'str', query: 'str', expected_digest: 'FileDigest')", "is_union": false, - "module": "pants.backend.python.lint.ruff.rules", - "name": "RuffFixRequest", - "provider": "pants.backend.experimental.python.lint.ruff", + "module": "pants.backend.url_handlers.s3.register", + "name": "S3DownloadFile", + "provider": "pants.backend.url_handlers.s3", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.url_handlers.s3.register.download_file_from_path_s3_authority", + "pants.backend.url_handlers.s3.register.download_file_from_s3_scheme", + "pants.backend.url_handlers.s3.register.download_file_from_virtual_hosted_s3_authority" + ] }, - "pants.backend.python.lint.ruff.rules.RuffLintRequest": { + "pants.backend.visibility.lint.EnforceVisibilityRules": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "pants.core" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.ruff.rules", - "name": "RuffLintRequest", - "provider": "pants.backend.experimental.python.lint.ruff", + "module": "pants.backend.visibility.lint", + "name": "EnforceVisibilityRules", + "provider": "pants.backend.experimental.visibility", "returned_by_rules": [], "union_members": [], "union_type": "AbstractLintRequest", "used_in_rules": [] }, - "pants.backend.python.lint.ruff.rules._RunRuffRequest": { - "consumed_by_rules": ["pants.backend.python.lint.ruff.rules.run_ruff"], - "dependencies": [], - "dependents": ["pants.backend.experimental.python.lint.ruff"], - "documentation": "_RunRuffRequest(snapshot: 'Snapshot', is_fix: 'bool')", + "pants.backend.visibility.rules.BuildFileVisibilityImplementationRequest": { + "consumed_by_rules": [ + "pants.backend.visibility.rules.build_file_visibility_implementation" + ], + "dependencies": [ + "pants.engine.internals.dep_rules" + ], + "dependents": [ + "pants.backend.experimental.visibility" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.ruff.rules", - "name": "_RunRuffRequest", - "provider": "pants.backend.python", + "module": "pants.backend.visibility.rules", + "name": "BuildFileVisibilityImplementationRequest", + "provider": "pants.backend.experimental.visibility", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.lint.ruff.rules.ruff_fix", - "pants.backend.python.lint.ruff.rules.ruff_lint" - ] + "union_type": "BuildFileDependencyRulesImplementationRequest", + "used_in_rules": [] }, - "pants.backend.python.lint.ruff.skip_field.SkipRuffField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], + "pants.backend.visibility.rules.VisibilityValidateDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.visibility.rules.visibility_validate_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.visibility" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.ruff.skip_field", - "name": "SkipRuffField", - "provider": "pants.backend.experimental.python.lint.ruff", + "module": "pants.backend.visibility.rules", + "name": "VisibilityValidateDependenciesRequest", + "provider": "pants.backend.experimental.visibility", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "ValidateDependenciesRequest", "used_in_rules": [] }, - "pants.backend.python.lint.ruff.subsystem.Ruff": { + "pants.backend.visibility.subsystem.VisibilitySubsystem": { "consumed_by_rules": [ - "pants.backend.python.lint.ruff.rules.ruff_fix", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_RuffLintRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest" + "pants.backend.visibility.rules.visibility_validate_dependencies", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_EnforceVisibilityRules" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.visibility" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.python.lint.ruff"], "documentation": null, "is_union": false, - "module": "pants.backend.python.lint.ruff.subsystem", - "name": "Ruff", - "provider": "pants.backend.experimental.python.lint.ruff", - "returned_by_rules": ["construct_scope_ruff"], + "module": "pants.backend.visibility.subsystem", + "name": "VisibilitySubsystem", + "provider": "pants.backend.experimental.visibility", + "returned_by_rules": [ + "construct_scope_visibility" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.lint.yapf.rules.YapfRequest": { + "pants.base.specs.RawSpecs": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [], "dependents": [], - "documentation": null, + "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.backend.python.lint.yapf.rules", - "name": "YapfRequest", - "provider": "pants.backend.python.lint.yapf", + "module": "pants.base.specs", + "name": "RawSpecs", + "provider": "pants.base.specs", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.go.goals.tailor.find_putative_go_targets", + "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", + "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod", + "pants.backend.javascript.package_json.find_owning_package", + "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", + "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.goals.tailor.find_putative_targets", + "pants.backend.python.util_rules.package_dists.get_exporting_owner", + "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", + "pants.core.goals.tailor.restrict_conflicting_sources" + ] }, - "pants.backend.python.lint.yapf.skip_field.SkipYapfField": { + "pants.base.specs.RawSpecsWithoutFileOwners": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [], "dependents": [], - "documentation": null, + "documentation": "The subset of `RawSpecs` that do not use 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.backend.python.lint.yapf.skip_field", - "name": "SkipYapfField", - "provider": "pants.backend.python.lint.yapf", + "module": "pants.base.specs", + "name": "RawSpecsWithoutFileOwners", + "provider": "pants.base.specs", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", + "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.backend.python.lint.yapf.subsystem.Yapf": { + "pants.base.specs.Specs": { "consumed_by_rules": [ - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_YapfRequest", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.core.goals.update_build_files.format_build_file_with_yapf", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest" + "pants.core.goals.fix.fix", + "pants.core.goals.fmt.fmt", + "pants.core.goals.lint.lint", + "pants.core.goals.tailor.tailor", + "pants.core.goals.update_build_files.update_build_files" ], - "dependencies": ["pants.option.scope"], + "dependencies": [], "dependents": [ - "pants.backend.build_files.fmt.yapf", - "pants.backend.python.lint.yapf", "pants.core" ], - "documentation": null, + "documentation": "The specs provided by the user for what to run on.\n\nThe `ignores` will filter out all relevant `includes`.\n\nIf your rule does not need to consider includes vs. ignores, e.g. to find all targets in a\ndirectory, you can directly use `RawSpecs`.", "is_union": false, - "module": "pants.backend.python.lint.yapf.subsystem", - "name": "Yapf", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_yapf"], + "module": "pants.base.specs", + "name": "Specs", + "provider": "pants.base.specs", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.project_info.paths.paths", + "pants.core.goals.fix.fix", + "pants.core.goals.fmt.fmt", + "pants.core.goals.lint.lint", + "pants.core.goals.tailor.tailor", + "pants.core.goals.update_build_files.update_build_files" + ] }, - "pants.backend.python.macros.pipenv_requirements.GenerateFromPipenvRequirementsRequest": { + "pants.bsp.context.BSPContext": { "consumed_by_rules": [ - "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements" + "pants.bsp.util_rules.compile.compile_bsp_target", + "pants.jvm.bsp.compile.notify_for_classpath_entry" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], - "documentation": null, + "dependencies": [ + "pants.engine.internals.session" + ], + "dependents": [ + "pants.backend.experimental.java", + "pants.core" + ], + "documentation": "Wrapper type to provide BSP rules with the ability to interact with the BSP protocol\ndriver.", "is_union": false, - "module": "pants.backend.python.macros.pipenv_requirements", - "name": "GenerateFromPipenvRequirementsRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.bsp.context", + "name": "BSPContext", + "provider": "pants.core", + "returned_by_rules": [ + "pants.bsp.rules.bsp_context" + ], "union_members": [], - "union_type": "GenerateTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.macros.poetry_requirements.GenerateFromPoetryRequirementsRequest": { + "pants.bsp.goal.BSPGoal": { "consumed_by_rules": [ - "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement" + "pants.bsp.util_rules.targets.materialize_bsp_build_targets" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], "documentation": null, "is_union": false, - "module": "pants.backend.python.macros.poetry_requirements", - "name": "GenerateFromPoetryRequirementsRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.bsp.goal", + "name": "BSPGoal", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_experimental_bsp" + ], "union_members": [], - "union_type": "GenerateTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.macros.python_requirements.GenerateFromPythonRequirementsRequest": { + "pants.bsp.protocol.BSPHandlerMapping": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.scala", + "pants.core" + ], + "documentation": "Union type for rules to register handlers for BSP methods.", + "is_union": true, + "module": "pants.bsp.protocol", + "name": "BSPHandlerMapping", + "provider": "pants.bsp.protocol", + "returned_by_rules": [], + "union_members": [ + "BuildTargetSourcesHandlerMapping", + "CompileRequestHandlerMapping", + "DependencyModulesHandlerMapping", + "DependencySourcesHandlerMapping", + "InitializeBuildHandlerMapping", + "JavacOptionsHandlerMapping", + "ResourcesRequestHandlerMapping", + "ScalaMainClassesHandlerMapping", + "ScalaTestClassesHandlerMapping", + "ScalacOptionsHandlerMapping", + "WorkspaceBuildTargetsHandlerMapping" + ], + "union_type": null, + "used_in_rules": [] + }, + "pants.bsp.spec.base.BuildTargetIdentifier": { "consumed_by_rules": [ - "pants.backend.python.macros.python_requirements.generate_from_python_requirement" + "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "A unique identifier for a target, can use any URI-compatible encoding as long as it is unique\nwithin the workspace.\n\nClients should not infer metadata out of the URI structure such as the path or query parameters,\nuse BuildTarget instead.", "is_union": false, - "module": "pants.backend.python.macros.python_requirements", - "name": "GenerateFromPythonRequirementsRequest", - "provider": "pants.backend.python", + "module": "pants.bsp.spec.base", + "name": "BuildTargetIdentifier", + "provider": "pants.bsp.spec.base", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateTargetsRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", + "pants.bsp.util_rules.compile.bsp_compile_request", + "pants.bsp.util_rules.resources.bsp_resources_request", + "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources", + "pants.bsp.util_rules.targets.resolve_one_dependency_module" + ] }, - "pants.backend.python.mixed_interpreter_constraints.py_constraints.PyConstraintsGoal": { + "pants.bsp.spec.compile.CompileResult": { "consumed_by_rules": [], "dependencies": [ + "builtins", "pants.backend.experimental.go", - "pants.backend.project_info", - "pants.core", - "pants.engine.addresses", - "pants.engine.console", - "pants.engine.target", - "pants.engine.unions" + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.scala", + "pants.backend.url_handlers.s3", + "pants.bsp.spec.compile", + "pants.bsp.util_rules.targets", + "pants.engine.fs" ], "dependents": [], - "documentation": null, + "documentation": "CompileResult(origin_id: 'str | None', status_code: 'int', data_kind: 'str | None' = None, data: 'Any | None' = None)", "is_union": false, - "module": "pants.backend.python.mixed_interpreter_constraints.py_constraints", - "name": "PyConstraintsGoal", - "provider": "pants.backend.python.mixed_interpreter_constraints", + "module": "pants.bsp.spec.compile", + "name": "CompileResult", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" + "pants.bsp.util_rules.compile.bsp_compile_request" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.mixed_interpreter_constraints.py_constraints.PyConstraintsSubsystem": { - "consumed_by_rules": [ - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" + "pants.bsp.spec.lifecycle.InitializeBuildResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.spec.lifecycle", + "pants.engine.unions" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.mixed_interpreter_constraints"], - "documentation": null, + "dependents": [], + "documentation": "InitializeBuildResult(display_name: 'str', version: 'str', bsp_version: 'str', capabilities: 'BuildServerCapabilities', data: 'Any | None')", "is_union": false, - "module": "pants.backend.python.mixed_interpreter_constraints.py_constraints", - "name": "PyConstraintsSubsystem", - "provider": "pants.backend.python.mixed_interpreter_constraints", - "returned_by_rules": ["construct_scope_py_constraints"], + "module": "pants.bsp.spec.lifecycle", + "name": "InitializeBuildResult", + "provider": "pants.core", + "returned_by_rules": [ + "pants.bsp.util_rules.lifecycle.bsp_build_initialize" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.packaging.pyoxidizer.rules.PyOxidizerFieldSet": { - "consumed_by_rules": [ - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PyOxidizerFieldSet" + "pants.bsp.spec.resources.ResourcesResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.scala", + "pants.backend.url_handlers.s3", + "pants.bsp.spec.resources", + "pants.bsp.util_rules.targets", + "pants.engine.fs" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.python.packaging.pyoxidizer"], - "documentation": "PyOxidizerFieldSet(address: 'Address', binary_name: 'PyOxidizerBinaryNameField', entry_point: 'PyOxidizerEntryPointField', dependencies: 'PyOxidizerDependenciesField', unclassified_resources: 'PyOxidizerUnclassifiedResources', template: 'PyOxidizerConfigSourceField', output_path: 'PyOxidizerOutputPathField', environment: 'EnvironmentField')", + "dependents": [], + "documentation": "ResourcesResult(items: 'tuple[ResourcesItem, ...]')", "is_union": false, - "module": "pants.backend.python.packaging.pyoxidizer.rules", - "name": "PyOxidizerFieldSet", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer", - "returned_by_rules": [], + "module": "pants.bsp.spec.resources", + "name": "ResourcesResult", + "provider": "pants.core", + "returned_by_rules": [ + "pants.bsp.util_rules.resources.bsp_resources_request" + ], "union_members": [], - "union_type": "PackageFieldSet", + "union_type": null, "used_in_rules": [] }, - "pants.backend.python.packaging.pyoxidizer.rules.PyoxidizerRunnerScript": { - "consumed_by_rules": [ - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary" - ], + "pants.bsp.spec.targets.DependencyModulesResult": { + "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.core" + "pants.backend.url_handlers.s3", + "pants.bsp.spec.targets", + "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.python.packaging.pyoxidizer"], - "documentation": "PyoxidizerRunnerScript(digest: 'Digest', path: 'str')", + "dependents": [], + "documentation": "DependencyModulesResult(items: 'tuple[DependencyModulesItem, ...]')", "is_union": false, - "module": "pants.backend.python.packaging.pyoxidizer.rules", - "name": "PyoxidizerRunnerScript", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer", + "module": "pants.bsp.spec.targets", + "name": "DependencyModulesResult", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script" + "pants.bsp.util_rules.targets.bsp_dependency_modules" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.packaging.pyoxidizer.subsystem.PyOxidizer": { - "consumed_by_rules": [ - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary" + "pants.bsp.spec.targets.DependencySourcesResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.spec.targets" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.python.packaging.pyoxidizer"], - "documentation": null, + "dependents": [], + "documentation": "DependencySourcesResult(items: 'tuple[DependencySourcesItem, ...]')", "is_union": false, - "module": "pants.backend.python.packaging.pyoxidizer.subsystem", - "name": "PyOxidizer", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer", - "returned_by_rules": ["construct_scope_pyoxidizer"], + "module": "pants.bsp.spec.targets", + "name": "DependencySourcesResult", + "provider": "pants.core", + "returned_by_rules": [ + "pants.bsp.util_rules.targets.bsp_dependency_sources" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.subsystems.debugpy.DebugPy": { - "consumed_by_rules": [ - "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request" + "pants.bsp.spec.targets.SourcesResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.spec.targets" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python"], - "documentation": null, + "dependents": [], + "documentation": "SourcesResult(items: 'tuple[SourcesItem, ...]')", "is_union": false, - "module": "pants.backend.python.subsystems.debugpy", - "name": "DebugPy", - "provider": "pants.backend.python", - "returned_by_rules": ["construct_scope_debugpy"], + "module": "pants.bsp.spec.targets", + "name": "SourcesResult", + "provider": "pants.core", + "returned_by_rules": [ + "pants.bsp.util_rules.targets.bsp_build_target_sources" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.subsystems.ipython.IPython": { - "consumed_by_rules": [ - "pants.backend.python.goals.repl.create_ipython_repl_request" + "pants.bsp.spec.targets.WorkspaceBuildTargetsResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.bsp.spec.targets", + "pants.engine.fs" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python"], - "documentation": null, + "dependents": [], + "documentation": "WorkspaceBuildTargetsResult(targets: 'tuple[BuildTarget, ...]')", "is_union": false, - "module": "pants.backend.python.subsystems.ipython", - "name": "IPython", - "provider": "pants.backend.python", - "returned_by_rules": ["construct_scope_ipython"], + "module": "pants.bsp.spec.targets", + "name": "WorkspaceBuildTargetsResult", + "provider": "pants.core", + "returned_by_rules": [ + "pants.bsp.util_rules.targets.bsp_workspace_build_targets" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.subsystems.pytest.PyTest": { + "pants.bsp.util_rules.compile.CompileOneBSPTargetRequest": { "consumed_by_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target" + "pants.bsp.util_rules.compile.compile_bsp_target" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "CompileOneBSPTargetRequest(bsp_target: 'BSPBuildTargetInternal', origin_id: 'str | None' = None, arguments: 'tuple[str, ...] | None' = ())", "is_union": false, - "module": "pants.backend.python.subsystems.pytest", - "name": "PyTest", - "provider": "pants.backend.python", - "returned_by_rules": ["construct_scope_pytest"], + "module": "pants.bsp.util_rules.compile", + "name": "CompileOneBSPTargetRequest", + "provider": "pants.bsp.util_rules.compile", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.bsp.util_rules.compile.bsp_compile_request" + ] }, - "pants.backend.python.subsystems.pytest.PythonTestFieldSet": { + "pants.bsp.util_rules.compile.CompileRequestHandlerMapping": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": "PythonTestFieldSet(address: 'Address', sources: 'SourcesField', source: 'PythonTestSourceField', interpreter_constraints: 'InterpreterConstraintsField', timeout: 'PythonTestsTimeoutField', runtime_package_dependencies: 'RuntimePackageDependenciesField', extra_env_vars: 'PythonTestsExtraEnvVarsField', xdist_concurrency: 'PythonTestsXdistConcurrencyField', batch_compatibility_tag: 'PythonTestsBatchCompatibilityTagField', resolve: 'PythonResolveField', environment: 'EnvironmentField')", - "is_union": false, - "module": "pants.backend.python.subsystems.pytest", - "name": "PythonTestFieldSet", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "TestFieldSet", - "used_in_rules": [] - }, - "pants.backend.python.subsystems.python_native_code.EnvironmentAware": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" + "dependencies": [ + "pants.bsp.protocol" ], - "dependencies": ["pants.engine.env_vars"], - "dependents": ["pants.core"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.subsystems.python_native_code", - "name": "EnvironmentAware", + "module": "pants.bsp.util_rules.compile", + "name": "CompileRequestHandlerMapping", "provider": "pants.core", - "returned_by_rules": ["construct_env_aware_scope_python_native_code"], + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.python.subsystems.python_native_code.PythonNativeCodeSubsystem": { - "consumed_by_rules": ["construct_env_aware_scope_python_native_code"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.subsystems.python_native_code", - "name": "PythonNativeCodeSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_python_native_code"], - "union_members": [], + "pants.bsp.util_rules.lifecycle.BSPLanguageSupport": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "documentation": "Union exposed by language backends to inform BSP core rules of capabilities to advertise to\nclients.", + "is_union": true, + "module": "pants.bsp.util_rules.lifecycle", + "name": "BSPLanguageSupport", + "provider": "pants.bsp.util_rules.lifecycle", + "returned_by_rules": [], + "union_members": [ + "JavaBSPLanguageSupport", + "ScalaBSPLanguageSupport" + ], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.subsystems.repos.PythonRepos": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config" + "pants.bsp.util_rules.lifecycle.InitializeBuildHandlerMapping": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.protocol" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.subsystems.repos", - "name": "PythonRepos", + "module": "pants.bsp.util_rules.lifecycle", + "name": "InitializeBuildHandlerMapping", "provider": "pants.core", - "returned_by_rules": ["construct_scope_python_repos"], + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.python.subsystems.setup.PythonSetup": { + "pants.bsp.util_rules.resources.ResourcesForOneBSPTargetRequest": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", - "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", - "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses", - "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single", - "pants.backend.python.goals.export.export_virtualenv_for_resolve", - "pants.backend.python.goals.lockfile.determine_python_user_resolves", - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets", - "pants.backend.python.goals.lockfile.setup_user_lockfile_requests", - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "pants.backend.python.goals.pytest_runner.partition_python_tests", - "pants.backend.python.goals.repl.create_ipython_repl_request", - "pants.backend.python.goals.repl.create_python_repl_request", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.goals.tailor.find_putative_targets", - "pants.backend.python.lint.bandit.rules.partition_bandit", - "pants.backend.python.lint.black.rules.partition_black", - "pants.backend.python.lint.flake8.rules.partition_flake8", - "pants.backend.python.lint.pylint.rules.partition_pylint", - "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.mixed_interpreter_constraints.py_constraints.py_constraints", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.python_resolve_field_default_factory", - "pants.backend.python.target_types_rules.validate_python_dependencies", - "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", - "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints", - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex", - "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets", - "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config", - "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve", - "pants.backend.python.util_rules.pex_requirements.load_lockfile", - "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + "pants.bsp.util_rules.resources.resources_bsp_target" ], - "dependencies": ["pants.option.scope"], + "dependencies": [], "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.python", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.pylint", - "pants.backend.python.mixed_interpreter_constraints", - "pants.backend.python.typecheck.mypy", "pants.core" ], - "documentation": null, + "documentation": "ResourcesForOneBSPTargetRequest(bsp_target: 'BSPBuildTargetInternal')", "is_union": false, - "module": "pants.backend.python.subsystems.setup", - "name": "PythonSetup", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_python"], + "module": "pants.bsp.util_rules.resources", + "name": "ResourcesForOneBSPTargetRequest", + "provider": "pants.bsp.util_rules.resources", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.bsp.util_rules.resources.bsp_resources_request" + ] }, - "pants.backend.python.subsystems.setup_py_generation.SetupPyGeneration": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.package_dists.get_requirements" + "pants.bsp.util_rules.resources.ResourcesRequestHandlerMapping": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.protocol" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.subsystems.setup_py_generation", - "name": "SetupPyGeneration", - "provider": "pants.backend.python", - "returned_by_rules": ["construct_scope_setup_py_generation"], + "module": "pants.bsp.util_rules.resources", + "name": "ResourcesRequestHandlerMapping", + "provider": "pants.core", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.python.subsystems.setuptools.PythonDistributionFieldSet": { + "pants.bsp.util_rules.targets.BSPBuildTargetInternal": { "consumed_by_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "PythonDistributionFieldSet(address: 'Address', provides: pants.backend.python.target_types.PythonProvidesField)", + "dependencies": [ + "pants.bsp.spec.base" + ], + "dependents": [ + "pants.core" + ], + "documentation": "BSPBuildTargetInternal(name: 'str', specs: 'RawSpecs', definition: 'BSPTargetDefinition')", "is_union": false, - "module": "pants.backend.python.subsystems.setuptools", - "name": "PythonDistributionFieldSet", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.bsp.util_rules.targets", + "name": "BSPBuildTargetInternal", + "provider": "pants.bsp.util_rules.targets, pants.core", + "returned_by_rules": [ + "pants.bsp.util_rules.targets.parse_one_bsp_mapping", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier" + ], "union_members": [], - "union_type": "PackageFieldSet", + "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.local_dists.build_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" + "pants.bsp.util_rules.compile.bsp_compile_request", + "pants.bsp.util_rules.compile.compile_bsp_target", + "pants.bsp.util_rules.resources.bsp_resources_request", + "pants.bsp.util_rules.resources.resources_bsp_target", + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", + "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources", + "pants.bsp.util_rules.targets.materialize_bsp_build_targets", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots" ] }, - "pants.backend.python.subsystems.setuptools.Setuptools": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.dists.find_build_system" + "pants.bsp.util_rules.targets.BSPBuildTargetSourcesInfo": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.bsp.util_rules.targets" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.subsystems.setuptools", - "name": "Setuptools", - "provider": "pants.backend.python", - "returned_by_rules": ["construct_scope_setuptools"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.python.subsystems.setuptools_scm.SetuptoolsSCM": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm" + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.subsystems.setuptools_scm", - "name": "SetuptoolsSCM", - "provider": "pants.backend.experimental.python", - "returned_by_rules": ["construct_scope_setuptools_scm"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.python.subsystems.twine.TwineSubsystem": { - "consumed_by_rules": ["pants.backend.python.goals.publish.twine_upload"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.python"], - "documentation": null, + "documentation": "Source files and roots for a BSP build target.\n\nIt is a separate class so that it is computed lazily only when called for by an RPC call.", "is_union": false, - "module": "pants.backend.python.subsystems.twine", - "name": "TwineSubsystem", - "provider": "pants.backend.experimental.python", - "returned_by_rules": ["construct_scope_twine"], + "module": "pants.bsp.util_rules.targets", + "name": "BSPBuildTargetSourcesInfo", + "provider": "pants.core", + "returned_by_rules": [ + "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", + "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources" + ] }, - "pants.backend.python.target_types.PexBinaryDefaults": { + "pants.bsp.util_rules.targets.BSPBuildTargets": { "consumed_by_rules": [ - "pants.backend.python.goals.package_pex_binary.package_pex_binary" + "pants.bsp.util_rules.targets.bsp_workspace_build_targets", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python"], - "documentation": null, + "dependencies": [ + "pants.bsp.util_rules.targets", + "pants.engine.fs" + ], + "dependents": [ + "pants.core" + ], + "documentation": "BSPBuildTargets(targets_mapping: 'FrozenDict[str, BSPBuildTargetInternal]')", "is_union": false, - "module": "pants.backend.python.target_types", - "name": "PexBinaryDefaults", - "provider": "pants.backend.python", - "returned_by_rules": ["construct_scope_pex_binary_defaults"], + "module": "pants.bsp.util_rules.targets", + "name": "BSPBuildTargets", + "provider": "pants.core", + "returned_by_rules": [ + "pants.bsp.util_rules.targets.materialize_bsp_build_targets" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.target_types.PexCompletePlatformsField": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.digest_complete_platforms" - ], + "pants.bsp.util_rules.targets.BSPBuildTargetsMetadataRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.target_types", - "name": "PexCompletePlatformsField", - "provider": "pants.backend.python", + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "documentation": "Hook to allow language backends to provide metadata for BSP build targets.", + "is_union": true, + "module": "pants.bsp.util_rules.targets", + "name": "BSPBuildTargetsMetadataRequest", + "provider": "pants.bsp.util_rules.targets", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "JavaBSPBuildTargetsMetadataRequest", + "ScalaBSPBuildTargetsMetadataRequest" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.package_pex_binary.package_pex_binary" + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request" ] }, - "pants.backend.python.target_types.PythonFilesGeneratorSettingsRequest": { - "consumed_by_rules": [ - "pants.backend.python.target_types_rules.python_files_generator_settings" + "pants.bsp.util_rules.targets.BSPBuildTargetsMetadataResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.url_handlers.s3", + "pants.base.build_root", + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], - "documentation": null, + "dependents": [ + "pants.core" + ], + "documentation": "Response type for a BSPBuildTargetsMetadataRequest.", "is_union": false, - "module": "pants.backend.python.target_types", - "name": "PythonFilesGeneratorSettingsRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.bsp.util_rules.targets", + "name": "BSPBuildTargetsMetadataResult", + "provider": "pants.backend.experimental.java, pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.java.bsp.rules.bsp_resolve_java_metadata", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata" + ], "union_members": [], - "union_type": "TargetFilesGeneratorSettingsRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request" + ] }, - "pants.backend.python.target_types.ResolvePexEntryPointRequest": { - "consumed_by_rules": [ - "pants.backend.python.target_types_rules.resolve_pex_entry_point" - ], + "pants.bsp.util_rules.targets.BSPCompileRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "Determine the `entry_point` for a `pex_binary` after applying all syntactic sugar.", - "is_union": false, - "module": "pants.backend.python.target_types", - "name": "ResolvePexEntryPointRequest", - "provider": "pants.backend.python", + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "documentation": "Hook to allow language backends to compile targets.", + "is_union": true, + "module": "pants.bsp.util_rules.targets", + "name": "BSPCompileRequest", + "provider": "pants.bsp.util_rules.targets", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "JavaBSPCompileRequest", + "ScalaBSPCompileRequest" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.package_pex_binary.package_pex_binary", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.goals.tailor.find_putative_targets", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points" + "pants.bsp.util_rules.compile.compile_bsp_target" ] }, - "pants.backend.python.target_types.ResolvePythonDistributionEntryPointsRequest": { - "consumed_by_rules": [ - "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points" + "pants.bsp.util_rules.targets.BSPCompileResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.url_handlers.s3", + "pants.bsp.util_rules.compile", + "pants.engine.target", + "pants.engine.unions", + "pants.jvm.resolve.key" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "Looks at the entry points to see if it is a setuptools entry point, or a BUILD target address\nthat should be resolved into a setuptools entry point.\n\nIf the `entry_points_field` is present, inspect the specified entry points.\nIf the `provides_field` is present, inspect the `provides_field.kwargs[\"entry_points\"]`.\n\nThis is to support inspecting one or the other depending on use case, using the same\nlogic for resolving pex_binary addresses etc.", + "dependents": [ + "pants.core" + ], + "documentation": "Result of compilation of a target capable of target compilation.", "is_union": false, - "module": "pants.backend.python.target_types", - "name": "ResolvePythonDistributionEntryPointsRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.bsp.util_rules.targets", + "name": "BSPCompileResult", + "provider": "pants.backend.experimental.java, pants.backend.experimental.scala, pants.core", + "returned_by_rules": [ + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.bsp.util_rules.compile.compile_bsp_target" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs" + "pants.bsp.util_rules.compile.bsp_compile_request", + "pants.bsp.util_rules.compile.compile_bsp_target" ] }, - "pants.backend.python.target_types.ResolvedPexEntryPoint": { + "pants.bsp.util_rules.targets.BSPDependencyModulesRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core", "pants.engine.fs"], - "dependents": ["pants.backend.python"], - "documentation": "ResolvedPexEntryPoint(val: 'EntryPoint | None', file_name_used: 'bool')", - "is_union": false, - "module": "pants.backend.python.target_types", - "name": "ResolvedPexEntryPoint", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.target_types_rules.resolve_pex_entry_point" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "Hook to allow language backends to provide dependency modules.", + "is_union": true, + "module": "pants.bsp.util_rules.targets", + "name": "BSPDependencyModulesRequest", + "provider": "pants.bsp.util_rules.targets", + "returned_by_rules": [], + "union_members": [ + "ScalaBSPDependencyModulesRequest" ], - "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.package_pex_binary.package_pex_binary", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.goals.tailor.find_putative_targets", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points" + "pants.bsp.util_rules.targets.resolve_one_dependency_module" ] }, - "pants.backend.python.target_types.ResolvedPythonDistributionEntryPoints": { + "pants.bsp.util_rules.targets.BSPDependencyModulesResult": { "consumed_by_rules": [], "dependencies": [ + "builtins", "pants.backend.experimental.go", - "pants.core", - "pants.engine.addresses" + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.base.build_root", + "pants.core" ], "dependents": [ - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.python" + "pants.core" ], - "documentation": "ResolvedPythonDistributionEntryPoints(val: 'FrozenDict[str, FrozenDict[str, PythonDistributionEntryPoint]]' = FrozenDict({}))", + "documentation": "BSPDependencyModulesResult(modules: 'tuple[DependencyModule, ...]', digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0))", "is_union": false, - "module": "pants.backend.python.target_types", - "name": "ResolvedPythonDistributionEntryPoints", - "provider": "pants.backend.python", + "module": "pants.bsp.util_rules.targets", + "name": "BSPDependencyModulesResult", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points" + "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs" + "pants.bsp.util_rules.targets.resolve_one_dependency_module" ] }, - "pants.backend.python.target_types_rules.GenerateTargetsFromPexBinaries": { - "consumed_by_rules": [ - "pants.backend.python.target_types_rules.generate_targets_from_pex_binaries" + "pants.bsp.util_rules.targets.BSPResourcesRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.scala" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.target_types_rules", - "name": "GenerateTargetsFromPexBinaries", - "provider": "pants.backend.python", + "documentation": "Hook to allow language backends to provide resources for targets.", + "is_union": true, + "module": "pants.bsp.util_rules.targets", + "name": "BSPResourcesRequest", + "provider": "pants.bsp.util_rules.targets", "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateTargetsRequest", - "used_in_rules": [] - }, - "pants.backend.python.target_types_rules.InferPexBinaryEntryPointDependency": { - "consumed_by_rules": [ - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency" + "union_members": [ + "JavaBSPResourcesRequest", + "ScalaBSPResourcesRequest" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.target_types_rules", - "name": "InferPexBinaryEntryPointDependency", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.bsp.util_rules.resources.resources_bsp_target" + ] }, - "pants.backend.python.target_types_rules.InferPythonDistributionDependencies": { - "consumed_by_rules": [ - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies" + "pants.bsp.util_rules.targets.BSPResourcesResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.url_handlers.s3", + "pants.base.build_root", + "pants.bsp.util_rules.resources", + "pants.engine.target", + "pants.engine.unions" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.target_types_rules", - "name": "InferPythonDistributionDependencies", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] - }, - "pants.backend.python.target_types_rules.PythonResolveFieldDefaultFactoryRequest": { - "consumed_by_rules": [ - "pants.backend.python.target_types_rules.python_resolve_field_default_factory" + "dependents": [ + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], - "documentation": null, + "documentation": "Resources for a target.", "is_union": false, - "module": "pants.backend.python.target_types_rules", - "name": "PythonResolveFieldDefaultFactoryRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.bsp.util_rules.targets", + "name": "BSPResourcesResult", + "provider": "pants.backend.experimental.java, pants.backend.experimental.scala, pants.core", + "returned_by_rules": [ + "pants.backend.java.bsp.rules.bsp_java_resources_request", + "pants.backend.scala.bsp.rules.bsp_scala_resources_request", + "pants.bsp.util_rules.resources.resources_bsp_target" + ], "union_members": [], - "union_type": "FieldDefaultFactoryRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.bsp.util_rules.resources.bsp_resources_request", + "pants.bsp.util_rules.resources.resources_bsp_target" + ] }, - "pants.backend.python.target_types_rules.PythonValidateDependenciesRequest": { - "consumed_by_rules": [ - "pants.backend.python.target_types_rules.validate_python_dependencies" + "pants.bsp.util_rules.targets.BuildTargetSourcesHandlerMapping": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.protocol" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.python"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.target_types_rules", - "name": "PythonValidateDependenciesRequest", - "provider": "pants.backend.python", + "module": "pants.bsp.util_rules.targets", + "name": "BuildTargetSourcesHandlerMapping", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "ValidateDependenciesRequest", + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.python.typecheck.mypy.mypyc.MyPycDistBuildEnvironmentRequest": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment" + "pants.bsp.util_rules.targets.DependencyModulesHandlerMapping": { + "consumed_by_rules": [], + "dependencies": [ + "pants.bsp.protocol" ], - "dependencies": ["pants.backend.python"], - "dependents": ["pants.backend.python.typecheck.mypy"], - "documentation": "MyPycDistBuildEnvironmentRequest(target_addresses: 'tuple[Address, ...]', interpreter_constraints: 'InterpreterConstraints')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.typecheck.mypy.mypyc", - "name": "MyPycDistBuildEnvironmentRequest", - "provider": "pants.backend.python.typecheck.mypy", + "module": "pants.bsp.util_rules.targets", + "name": "DependencyModulesHandlerMapping", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "DistBuildEnvironmentRequest", + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.python.typecheck.mypy.mypyc.UsesMyPycField": { + "pants.bsp.util_rules.targets.DependencySourcesHandlerMapping": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.bsp.protocol" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.typecheck.mypy.mypyc", - "name": "UsesMyPycField", - "provider": "pants.backend.python.typecheck.mypy", + "module": "pants.bsp.util_rules.targets", + "name": "DependencySourcesHandlerMapping", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.python.typecheck.mypy.rules.MyPyPartition": { + "pants.bsp.util_rules.targets.GenerateOneBSPBuildTargetRequest": { "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request" ], "dependencies": [], - "dependents": ["pants.backend.python.typecheck.mypy"], - "documentation": "MyPyPartition(field_sets: 'FrozenOrderedSet[MyPyFieldSet]', root_targets: 'CoarsenedTargets', resolve_description: 'str | None', interpreter_constraints: 'InterpreterConstraints')", + "dependents": [ + "pants.core" + ], + "documentation": "GenerateOneBSPBuildTargetRequest(bsp_target: 'BSPBuildTargetInternal')", "is_union": false, - "module": "pants.backend.python.typecheck.mypy.rules", - "name": "MyPyPartition", - "provider": "pants.backend.python.typecheck.mypy", + "module": "pants.bsp.util_rules.targets", + "name": "GenerateOneBSPBuildTargetRequest", + "provider": "pants.bsp.util_rules.targets", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck" + "pants.bsp.util_rules.targets.bsp_workspace_build_targets" ] }, - "pants.backend.python.typecheck.mypy.rules.MyPyPartitions": { + "pants.bsp.util_rules.targets.GenerateOneBSPBuildTargetResult": { "consumed_by_rules": [], "dependencies": [ + "builtins", "pants.backend.experimental.go", - "pants.core", - "pants.engine.target" + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.scala", + "pants.backend.url_handlers.s3", + "pants.base.build_root", + "pants.bsp.util_rules.targets", + "pants.engine.unions" ], - "dependents": ["pants.backend.python.typecheck.mypy"], - "documentation": null, + "dependents": [ + "pants.core" + ], + "documentation": "GenerateOneBSPBuildTargetResult(build_target: 'BuildTarget', digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0))", "is_union": false, - "module": "pants.backend.python.typecheck.mypy.rules", - "name": "MyPyPartitions", - "provider": "pants.backend.python.typecheck.mypy", + "module": "pants.bsp.util_rules.targets", + "name": "GenerateOneBSPBuildTargetResult", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions" + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck" + "pants.bsp.util_rules.targets.bsp_workspace_build_targets" ] }, - "pants.backend.python.typecheck.mypy.rules.MyPyRequest": { + "pants.bsp.util_rules.targets.MaterializeBuildTargetSourcesRequest": { "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck" + "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python.typecheck.mypy"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "MaterializeBuildTargetSourcesRequest(bsp_target_id: 'BuildTargetIdentifier')", "is_union": false, - "module": "pants.backend.python.typecheck.mypy.rules", - "name": "MyPyRequest", - "provider": "pants.backend.python.typecheck.mypy", + "module": "pants.bsp.util_rules.targets", + "name": "MaterializeBuildTargetSourcesRequest", + "provider": "pants.bsp.util_rules.targets", "returned_by_rules": [], "union_members": [], - "union_type": "CheckRequest", + "union_type": null, "used_in_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck" + "pants.bsp.util_rules.targets.bsp_build_target_sources" ] }, - "pants.backend.python.typecheck.mypy.skip_field.SkipMyPyField": { + "pants.bsp.util_rules.targets.MaterializeBuildTargetSourcesResult": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.typecheck.mypy.skip_field", - "name": "SkipMyPyField", - "provider": "pants.backend.python.typecheck.mypy", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] - }, - "pants.backend.python.typecheck.mypy.subsystem.MyPy": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", - "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", - "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config" - ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python.typecheck.mypy"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.typecheck.mypy.subsystem", - "name": "MyPy", - "provider": "pants.backend.python.typecheck.mypy", - "returned_by_rules": ["construct_scope_mypy"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.python.typecheck.mypy.subsystem.MyPyConfigFile": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" - ], - "dependencies": ["pants.core", "pants.engine.fs"], - "dependents": ["pants.backend.python.typecheck.mypy"], - "documentation": "MyPyConfigFile(digest: 'Digest', _python_version_configured: 'bool')", - "is_union": false, - "module": "pants.backend.python.typecheck.mypy.subsystem", - "name": "MyPyConfigFile", - "provider": "pants.backend.python.typecheck.mypy", - "returned_by_rules": [ - "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.python.typecheck.mypy.subsystem.MyPyFirstPartyPlugins": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" - ], "dependencies": [ - "pants.backend.experimental.go", - "pants.backend.python", - "pants.engine.addresses" + "pants.base.build_root", + "pants.bsp.util_rules.targets" ], - "dependents": ["pants.backend.python.typecheck.mypy"], - "documentation": "MyPyFirstPartyPlugins(requirement_strings: 'FrozenOrderedSet[str]', sources_digest: 'Digest', source_roots: 'tuple[str, ...]')", + "dependents": [ + "pants.core" + ], + "documentation": "MaterializeBuildTargetSourcesResult(sources_item: 'SourcesItem')", "is_union": false, - "module": "pants.backend.python.typecheck.mypy.subsystem", - "name": "MyPyFirstPartyPlugins", - "provider": "pants.backend.python.typecheck.mypy", + "module": "pants.bsp.util_rules.targets", + "name": "MaterializeBuildTargetSourcesResult", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins" + "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.bsp.util_rules.targets.bsp_build_target_sources" + ] }, - "pants.backend.python.typecheck.pytype.rules.PytypePartition": { + "pants.bsp.util_rules.targets.ResolveOneDependencyModuleRequest": { "consumed_by_rules": [ - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" + "pants.bsp.util_rules.targets.resolve_one_dependency_module" ], "dependencies": [], - "dependents": ["pants.backend.experimental.python.typecheck.pytype"], - "documentation": "PytypePartition(field_sets: 'FrozenOrderedSet[PytypeFieldSet]', root_targets: 'CoarsenedTargets', resolve_description: 'str | None', interpreter_constraints: 'InterpreterConstraints')", + "dependents": [ + "pants.core" + ], + "documentation": "ResolveOneDependencyModuleRequest(bsp_target_id: 'BuildTargetIdentifier')", "is_union": false, - "module": "pants.backend.python.typecheck.pytype.rules", - "name": "PytypePartition", - "provider": "pants.backend.python", + "module": "pants.bsp.util_rules.targets", + "name": "ResolveOneDependencyModuleRequest", + "provider": "pants.bsp.util_rules.targets", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" + "pants.bsp.util_rules.targets.bsp_dependency_modules" ] }, - "pants.backend.python.typecheck.pytype.rules.PytypePartitions": { + "pants.bsp.util_rules.targets.ResolveOneDependencyModuleResult": { "consumed_by_rules": [], "dependencies": [ + "builtins", "pants.backend.experimental.go", - "pants.backend.python", - "pants.core", - "pants.engine.target" + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.scala", + "pants.backend.url_handlers.s3", + "pants.bsp.util_rules.targets", + "pants.engine.unions" ], - "dependents": ["pants.backend.experimental.python.typecheck.pytype"], - "documentation": null, + "dependents": [ + "pants.core" + ], + "documentation": "ResolveOneDependencyModuleResult(bsp_target_id: 'BuildTargetIdentifier', modules: 'tuple[DependencyModule, ...]' = (), digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0))", "is_union": false, - "module": "pants.backend.python.typecheck.pytype.rules", - "name": "PytypePartitions", - "provider": "pants.backend.experimental.python.typecheck.pytype", + "module": "pants.bsp.util_rules.targets", + "name": "ResolveOneDependencyModuleResult", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions" + "pants.bsp.util_rules.targets.resolve_one_dependency_module" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" - ] - }, - "pants.backend.python.typecheck.pytype.rules.PytypeRequest": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" - ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.python.typecheck.pytype"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.typecheck.pytype.rules", - "name": "PytypeRequest", - "provider": "pants.backend.experimental.python.typecheck.pytype, pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "CheckRequest", - "used_in_rules": [ - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" + "pants.bsp.util_rules.targets.bsp_dependency_modules" ] }, - "pants.backend.python.typecheck.pytype.skip_field.SkipPytypeField": { + "pants.bsp.util_rules.targets.WorkspaceBuildTargetsHandlerMapping": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], + "dependencies": [ + "pants.bsp.protocol" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.python.typecheck.pytype.skip_field", - "name": "SkipPytypeField", - "provider": "pants.backend.experimental.python.typecheck.pytype", + "module": "pants.bsp.util_rules.targets", + "name": "WorkspaceBuildTargetsHandlerMapping", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "BSPHandlerMapping", "used_in_rules": [] }, - "pants.backend.python.typecheck.pytype.subsystem.Pytype": { + "pants.bsp.util_rules.targets._ParseOneBSPMappingRequest": { "consumed_by_rules": [ - "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" + "pants.bsp.util_rules.targets.parse_one_bsp_mapping" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.python.typecheck.pytype"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.typecheck.pytype.subsystem", - "name": "Pytype", - "provider": "pants.backend.experimental.python.typecheck.pytype", - "returned_by_rules": ["construct_scope_pytype"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.python.util_rules.ancestor_files.AncestorFiles": { - "consumed_by_rules": [], - "dependencies": ["builtins", "pants.engine.fs"], - "dependents": ["pants.backend.python"], - "documentation": "Any ancestor files found.", - "is_union": false, - "module": "pants.backend.python.util_rules.ancestor_files", - "name": "AncestorFiles", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.util_rules.ancestor_files.find_ancestor_files" + "dependencies": [], + "dependents": [ + "pants.core" ], + "documentation": "_ParseOneBSPMappingRequest(name: 'str', definition: 'BSPTargetDefinition')", + "is_union": false, + "module": "pants.bsp.util_rules.targets", + "name": "_ParseOneBSPMappingRequest", + "provider": "pants.bsp.util_rules.targets", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "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.python_sources.prepare_python_sources" + "pants.bsp.util_rules.targets.materialize_bsp_build_targets" ] }, - "pants.backend.python.util_rules.ancestor_files.AncestorFilesRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.ancestor_files.find_ancestor_files" - ], + "pants.build_graph.address.BuildFileAddressRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "A request for ancestor files of the given names.\n\n\"Ancestor files\" means all files with one of the given names that are siblings of, or in parent\ndirectories of, a `.py` or `.pyi` file in the input_files.", + "dependents": [], + "documentation": "A request to find the BUILD file path for an address.", "is_union": false, - "module": "pants.backend.python.util_rules.ancestor_files", - "name": "AncestorFilesRequest", - "provider": "pants.backend.python", + "module": "pants.build_graph.address", + "name": "BuildFileAddressRequest", + "provider": "pants.build_graph.address", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "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.python_sources.prepare_python_sources" + "pants.backend.project_info.filedeps.file_deps", + "pants.engine.internals.graph.find_owners" ] }, - "pants.backend.python.util_rules.dists.BuildSystem": { + "pants.core.goals.check.Check": { "consumed_by_rules": [], - "dependencies": ["pants.engine.fs"], - "dependents": ["pants.backend.python"], - "documentation": "A PEP 517/518 build system configuration.", + "dependencies": [ + "pants.backend.experimental.go", + "pants.backend.experimental.helm.check.kubeconform", + "pants.backend.experimental.java", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.python.typecheck.mypy", + "pants.engine.console", + "pants.engine.environment", + "pants.engine.fs", + "pants.engine.target", + "pants.engine.unions" + ], + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.dists", - "name": "BuildSystem", - "provider": "pants.backend.python", + "module": "pants.core.goals.check", + "name": "Check", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.dists.find_build_system" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" - ] - }, - "pants.backend.python.util_rules.dists.BuildSystemRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.dists.find_build_system" + "pants.core.goals.check.check" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "A request to find build system config in the given dir of the given digest.", - "is_union": false, - "module": "pants.backend.python.util_rules.dists", - "name": "BuildSystemRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.dists.DistBuildRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build" - ], + "pants.core.goals.check.CheckRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "A request to build dists via a PEP 517 build backend.", - "is_union": false, - "module": "pants.backend.python.util_rules.dists", - "name": "DistBuildRequest", - "provider": "pants.backend.python", + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.helm.check.kubeconform", + "pants.backend.experimental.java", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.python.typecheck.mypy" + ], + "documentation": "A union for targets that should be checked.\n\nSubclass and install a member of this type to provide a checker.", + "is_union": true, + "module": "pants.core.goals.check", + "name": "CheckRequest", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "GoCheckRequest", + "JavacCheckRequest", + "KotlincCheckRequest", + "KubeconformCheckChartRequest", + "KubeconformCheckDeploymentRequest", + "MyPyRequest", + "PyrightRequest", + "PytypeRequest", + "ScalacCheckRequest", + "TerraformCheckRequest" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + "pants.core.goals.check.check" ] }, - "pants.backend.python.util_rules.dists.DistBuildResult": { + "pants.core.goals.check.CheckResult": { "consumed_by_rules": [], "dependencies": [ "builtins", + "pants.backend.docker", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.core" + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.backend.helm.check.kubeconform.chart", + "pants.backend.helm.check.kubeconform.common", + "pants.backend.helm.check.kubeconform.deployment", + "pants.backend.python", + "pants.backend.shell", + "pants.backend.url_handlers.s3", + "pants.base.build_root", + "pants.core", + "pants.engine.fs", + "pants.engine.process" ], - "dependents": ["pants.backend.python"], - "documentation": "DistBuildResult(output: 'Digest', wheel_path: 'str | None', sdist_path: 'str | None')", + "dependents": [ + "pants.backend.experimental.helm.check.kubeconform", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.python.typecheck.mypy" + ], + "documentation": "CheckResult(exit_code: 'int', stdout: 'str', stderr: 'str', partition_description: 'str | None' = None, report: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0))", "is_union": false, - "module": "pants.backend.python.util_rules.dists", - "name": "DistBuildResult", - "provider": "pants.backend.python", + "module": "pants.core.goals.check", + "name": "CheckResult", + "provider": "pants.backend.experimental.helm.check.kubeconform, pants.backend.experimental.python.typecheck.pyright, pants.backend.experimental.python.typecheck.pytype, pants.backend.python.typecheck.mypy", "returned_by_rules": [ - "pants.backend.python.util_rules.dists.run_pep517_build" + "pants.backend.helm.check.kubeconform.chart.run_kubeconform_on_chart", + "pants.backend.helm.check.kubeconform.common.run_kubeconform", + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist" + "pants.backend.helm.check.kubeconform.chart.run_check_chart", + "pants.backend.helm.check.kubeconform.chart.run_kubeconform_on_chart", + "pants.backend.helm.check.kubeconform.deployment.run_check_deployment", + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" ] }, - "pants.backend.python.util_rules.faas.BuildPythonFaaSRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.faas.build_python_faas" + "pants.core.goals.check.CheckResults": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.python", + "pants.engine.process", + "pants.engine.target", + "pants.jvm.resolve.key" ], - "dependencies": [], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "BuildPythonFaaSRequest(address: 'Address', target_name: 'str', complete_platforms: 'PythonFaaSCompletePlatforms', handler: 'None | PythonFaaSHandlerField', output_path: 'OutputPathField', runtime: 'PythonFaaSRuntimeField', include_requirements: 'bool', include_sources: 'bool', reexported_handler_module: 'None | str', log_only_reexported_handler_func: 'bool' = False, prefix_in_artifact: 'None | str' = None)", + "dependents": [ + "pants.core" + ], + "documentation": "Zero or more CheckResult objects for a single type checker.\n\nTypically, type checkers will return one result. If they no-oped, they will return zero results.\nHowever, some type checkers may need to partition their input and thus may need to return\nmultiple results.", "is_union": false, - "module": "pants.backend.python.util_rules.faas", - "name": "BuildPythonFaaSRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.core.goals.check", + "name": "CheckResults", + "provider": "pants.backend.experimental.go, pants.backend.experimental.helm.check.kubeconform, pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.python.typecheck.pyright, pants.backend.experimental.python.typecheck.pytype, pants.backend.experimental.scala, pants.backend.experimental.terraform, pants.backend.python.typecheck.mypy", + "returned_by_rules": [ + "pants.backend.go.goals.check.check_go", + "pants.backend.helm.check.kubeconform.chart.run_check_chart", + "pants.backend.helm.check.kubeconform.deployment.run_check_deployment", + "pants.backend.java.goals.check.javac_check", + "pants.backend.kotlin.goals.check.kotlinc_check", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck", + "pants.backend.scala.goals.check.scalac_check", + "pants.backend.terraform.goals.check.terraform_check" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.awslambda.python.rules.package_python_aws_lambda_function", - "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer", - "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function" + "pants.core.goals.check.check" ] }, - "pants.backend.python.util_rules.faas.InferPythonFaaSHandlerDependency": { + "pants.core.goals.check.CheckSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" + "pants.core.goals.check.check" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.awslambda.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.util_rules.faas", - "name": "InferPythonFaaSHandlerDependency", - "provider": "pants.backend.awslambda.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] - }, - "pants.backend.python.util_rules.faas.PythonFaaSCompletePlatforms": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.faas.digest_complete_platforms" + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.awslambda.python"], "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.faas", - "name": "PythonFaaSCompletePlatforms", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.core.goals.check", + "name": "CheckSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_check" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.faas.infer_runtime_platforms" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.faas.ResolvePythonFaaSHandlerRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.faas.resolve_python_faas_handler" + "pants.core.goals.deploy.Deploy": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.docker", + "pants.backend.experimental.helm", + "pants.backend.experimental.python", + "pants.backend.experimental.terraform", + "pants.engine.console", + "pants.engine.process", + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "ResolvePythonFaaSHandlerRequest(field: 'PythonFaaSHandlerField')", + "dependents": [], + "documentation": "Deploy(exit_code: 'int')", "is_union": false, - "module": "pants.backend.python.util_rules.faas", - "name": "ResolvePythonFaaSHandlerRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.core.goals.deploy", + "name": "Deploy", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.goals.deploy.run_deploy" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.faas.build_python_faas", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.faas.ResolvedPythonFaaSHandler": { + "pants.core.goals.deploy.DeployFieldSet": { "consumed_by_rules": [], - "dependencies": ["pants.backend.python", "pants.core", "pants.engine.fs"], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "ResolvedPythonFaaSHandler(module: 'str', func: 'str', file_name_used: 'bool')", - "is_union": false, - "module": "pants.backend.python.util_rules.faas", - "name": "ResolvedPythonFaaSHandler", - "provider": "pants.backend.awslambda.python", - "returned_by_rules": [ - "pants.backend.python.util_rules.faas.resolve_python_faas_handler" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm", + "pants.backend.experimental.terraform" + ], + "documentation": "The FieldSet type for the `deploy` goal.\n\nUnion members may list any fields required to fulfill the instantiation of the `DeployProcess`\nresult of the deploy rule.", + "is_union": true, + "module": "pants.core.goals.deploy", + "name": "DeployFieldSet", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "DeployHelmDeploymentFieldSet", + "DeployTerraformFieldSet" ], - "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.faas.build_python_faas", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency" + "pants.core.goals.deploy.run_deploy" ] }, - "pants.backend.python.util_rules.faas.RuntimePlatforms": { + "pants.core.goals.deploy.DeployProcess": { "consumed_by_rules": [], - "dependencies": ["builtins", "pants.backend.python", "pants.core"], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "RuntimePlatforms(interpreter_version: 'None | tuple[int, int]', pex_platforms: 'PexPlatforms' = PexPlatforms([]), complete_platforms: 'CompletePlatforms' = CompletePlatforms([]))", + "dependencies": [ + "pants.backend.experimental.go", + "pants.core", + "pants.engine.process" + ], + "dependents": [ + "pants.core" + ], + "documentation": "A process that when executed will have the side effect of deploying a target.\n\nTo provide with the ability to deploy a given target, create a custom `DeployFieldSet` for\nthat given target and implement a rule that returns `DeployProcess` for that custom field set:\n\nExample:\n\n @dataclass(frozen=True)\n class MyDeploymentFieldSet(DeployFieldSet):\n pass\n\n @rule\n async def my_deployment_process(field_set: MyDeploymentFieldSet) -> DeployProcess:\n # Create the underlying process that executes the deployment\n process = Process(...)\n return DeployProcess(\n name=\"my_deployment\",\n process=InteractiveProcess.from_process(process)\n )\n\n def rules():\n return [\n *collect_rules(),\n UnionRule(DeployFieldSet, MyDeploymentFieldSet)\n ]\n\nUse the `publish_dependencies` field to provide with a list of targets that produce packages\nwhich need to be externally published before the deployment process is executed.", "is_union": false, - "module": "pants.backend.python.util_rules.faas", - "name": "RuntimePlatforms", - "provider": "pants.backend.awslambda.python", + "module": "pants.core.goals.deploy", + "name": "DeployProcess", + "provider": "pants.backend.experimental.helm, pants.backend.experimental.terraform", "returned_by_rules": [ - "pants.backend.python.util_rules.faas.infer_runtime_platforms" + "pants.backend.helm.goals.deploy.run_helm_deploy", + "pants.backend.terraform.goals.deploy.run_terraform_deploy" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.faas.build_python_faas" + "pants.core.goals.deploy.run_deploy" ] }, - "pants.backend.python.util_rules.faas.RuntimePlatformsRequest": { + "pants.core.goals.deploy.DeploySubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.faas.infer_runtime_platforms" + "pants.core.goals.deploy.run_deploy" ], - "dependencies": [], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "RuntimePlatformsRequest(address: 'Address', target_name: 'str', runtime: 'PythonFaaSRuntimeField', complete_platforms: 'PythonFaaSCompletePlatforms')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.faas", - "name": "RuntimePlatformsRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.core.goals.deploy", + "name": "DeploySubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_experimental_deploy" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.faas.build_python_faas" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.interpreter_constraints.InterpreterConstraints": { + "pants.core.goals.deploy._PublishProcessesForTargetRequest": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.find_interpreter" + "pants.core.goals.deploy.publish_process_for_target" ], - "dependencies": ["pants.backend.experimental.go", "pants.core"], + "dependencies": [], "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.python", "pants.core" ], - "documentation": null, + "documentation": "_PublishProcessesForTargetRequest(target: 'Target')", "is_union": false, - "module": "pants.backend.python.util_rules.interpreter_constraints", - "name": "InterpreterConstraints", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets" - ], + "module": "pants.core.goals.deploy", + "name": "_PublishProcessesForTargetRequest", + "provider": "pants.core", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "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", - "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.util_rules.faas.infer_runtime_platforms", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + "pants.core.goals.deploy.run_deploy" ] }, - "pants.backend.python.util_rules.local_dists.LocalDistWheels": { + "pants.core.goals.export.Export": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.awslambda.python", - "pants.backend.docker", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.google_cloud_function.python", - "pants.core" + "pants.backend.experimental.javascript", + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.base.build_root", + "pants.engine.console", + "pants.engine.fs", + "pants.engine.process", + "pants.engine.target", + "pants.engine.unions" ], - "dependents": ["pants.backend.python"], - "documentation": "Contains the wheels isolated from a single local Python distribution.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.local_dists", - "name": "LocalDistWheels", - "provider": "pants.backend.python", + "module": "pants.core.goals.export", + "name": "Export", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels" + "pants.core.goals.export.export" ], "union_members": [], "union_type": null, + "used_in_rules": [] + }, + "pants.core.goals.export.ExportRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.python" + ], + "documentation": "A union for exportable data provided by a backend.\n\nSubclass and install a member of this type to export data.", + "is_union": true, + "module": "pants.core.goals.export", + "name": "ExportRequest", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "ExportVenvsRequest" + ], + "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.local_dists.build_local_dists" + "pants.core.goals.export.export" ] }, - "pants.backend.python.util_rules.local_dists.LocalDistsPex": { + "pants.core.goals.export.ExportResult": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", "pants.core" ], - "dependents": ["pants.backend.python"], - "documentation": "A PEX file containing locally-built dists.\n\nCan be consumed from another PEX, e.g., by adding to PEX_PATH.\n\nThe PEX will only contain locally built dists and not their dependencies. For Pants generated\n`setup.py` / `pyproject.toml`, the dependencies will be included in the standard resolve process\nthat the locally-built dists PEX is adjoined to via PEX_PATH. For hand-made `setup.py` /\n`pyproject.toml` with 3rdparty dependencies not hand-mirrored into BUILD file dependencies, this\nwill lead to issues. See https://github.com/pantsbuild/pants/issues/13587#issuecomment-974863636\nfor one way to fix this corner which is intentionally punted on for now.\n\nLists the files provided by the dists on sys.path, so they can be subtracted from\nsources digests, to prevent the same file ending up on sys.path twice.", + "dependents": [ + "pants.backend.python" + ], + "documentation": "ExportResult(description: 'str', reldir: 'str', *, digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), post_processing_cmds: 'Iterable[PostProcessingCommand]' = (), resolve: 'str | None' = None)", "is_union": false, - "module": "pants.backend.python.util_rules.local_dists", - "name": "LocalDistsPex", + "module": "pants.core.goals.export", + "name": "ExportResult", "provider": "pants.backend.python", "returned_by_rules": [ - "pants.backend.python.util_rules.local_dists.build_local_dists" + "pants.backend.python.goals.export.do_export" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.goals.repl.create_ipython_repl_request", - "pants.backend.python.goals.repl.create_python_repl_request", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.backend.python.goals.export.export_virtualenv_for_resolve" ] }, - "pants.backend.python.util_rules.local_dists.LocalDistsPexRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.local_dists.build_local_dists" + "pants.core.goals.export.ExportResults": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "Request to build the local dists from the dependency closure of a set of addresses.", + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.local_dists", - "name": "LocalDistsPexRequest", + "module": "pants.core.goals.export", + "name": "ExportResults", "provider": "pants.backend.python", - "returned_by_rules": [], + "returned_by_rules": [ + "pants.backend.python.goals.export.export_virtualenvs" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.goals.repl.create_ipython_repl_request", - "pants.backend.python.goals.repl.create_python_repl_request", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.core.goals.export.export" ] }, - "pants.backend.python.util_rules.local_dists_pep660.AllPythonDistributionTargets": { + "pants.core.goals.export.ExportSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve" + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.export.export_virtualenv_for_resolve", + "pants.backend.python.goals.export.export_virtualenvs", + "pants.core.goals.export.export" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.python"], - "documentation": "AllPythonDistributionTargets(targets: 'Targets')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.python", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.local_dists_pep660", - "name": "AllPythonDistributionTargets", - "provider": "pants.backend.python", + "module": "pants.core.goals.export", + "name": "ExportSubsystem", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.find_all_python_distributions" + "construct_scope_export" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.util_rules.local_dists_pep660.EditableLocalDists": { + "pants.core.goals.fix.AbstractFixRequest": { "consumed_by_rules": [], - "dependencies": [ - "builtins", + "dependencies": [], + "dependents": [ + "pants.backend.build_files.fix.deprecations", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.cue", "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core" + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.lint.openapi_format", + "pants.backend.experimental.python.lint.add_trailing_comma", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo" ], - "dependents": ["pants.backend.python"], - "documentation": "A Digest populated by editable (PEP660) wheels of local dists.\n\nAccording to PEP660, these wheels should not be exported to users and must be discarded\nafter install. Anything that uses this should ensure that these wheels get installed and\nthen deleted.\n\nInstalling PEP660 wheels creates an \"editable\" install such that the sys.path gets\nadjusted to include source directories from the build root (not from the sandbox).\nThis is decidedly not hermetic or portable and should only be used locally.\n\nPEP660 wheels have .dist-info metadata and the .pth files (or similar) that adjust sys.path.", - "is_union": false, - "module": "pants.backend.python.util_rules.local_dists_pep660", - "name": "EditableLocalDists", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" + "documentation": null, + "is_union": true, + "module": "pants.core.goals.fix", + "name": "AbstractFixRequest", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "AddTrailingCommaRequest", + "AutoflakeRequest", + "BlackRequest", + "BlackRequest", + "BufFormatRequest", + "BuildifierRequest", + "ClangFormatRequest", + "CueFmtRequest", + "DocformatterRequest", + "GofmtRequest", + "GoogleJavaFormatRequest", + "IsortRequest", + "KtlintRequest", + "OpenApiFormatRequest", + "PreambleRequest", + "PrettierFmtRequest", + "PyUpgradeRequest", + "RenameFieldsInFilesRequest", + "RenameTargetsInFilesRequest", + "RuffFixRequest", + "RustfmtRequest", + "ScalafmtRequest", + "ShfmtRequest", + "TaploFmtRequest", + "TffmtRequest", + "YapfRequest", + "YapfRequest" ], - "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.export.export_virtualenv_for_resolve" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.local_dists_pep660.EditableLocalDistsRequest": { + "pants.core.goals.fix.Batch": { "consumed_by_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" + "pants.backend.rust.lint.rustfmt.rules.rustfmt_fmt" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "Request to generate PEP660 wheels of local dists in the given resolve.\n\nThe editable wheel files must not be exported or made available to the end-user (according to\nPEP 660). Instead, the PEP660 editable wheels serve as intermediate, internal-only,\nrepresentation of what should be installed in the exported virtualenv to create the editable\ninstalls of local python_distributions.", - "is_union": false, - "module": "pants.backend.python.util_rules.local_dists_pep660", - "name": "EditableLocalDistsRequest", - "provider": "pants.backend.python", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.rust" + ], + "documentation": "Batch(tool_name: 'str', elements: 'tuple[PartitionElementT, ...]', partition_metadata: 'PartitionMetadataT', snapshot: 'Snapshot')", + "is_union": true, + "module": "pants.core.goals.fix", + "name": "Batch", + "provider": "pants.backend.experimental.rust", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.export.export_virtualenv_for_resolve" - ] + "union_type": "Batch", + "used_in_rules": [] }, - "pants.backend.python.util_rules.local_dists_pep660.LocalDistPEP660Wheels": { + "pants.core.goals.fix.Fix": { "consumed_by_rules": [], "dependencies": [ "builtins", + "pants.backend.build_files.fix.deprecations", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.cue", "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.python.typecheck.mypy", - "pants.core", - "pants.engine.env_vars", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "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", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.tools.semgrep", + "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.visibility", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo", + "pants.backend.url_handlers.s3", + "pants.base.specs", + "pants.engine.console", + "pants.engine.fs", + "pants.engine.target", "pants.engine.unions" ], - "dependents": ["pants.backend.python"], - "documentation": "Contains the PEP 660 \"editable\" wheels isolated from a single local Python distribution.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.local_dists_pep660", - "name": "LocalDistPEP660Wheels", - "provider": "pants.backend.python", + "module": "pants.core.goals.fix", + "name": "Fix", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + "pants.core.goals.fix.fix" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" - ] - }, - "pants.backend.python.util_rules.local_dists_pep660.PEP660BuildResult": { - "consumed_by_rules": [], + "used_in_rules": [] + }, + "pants.core.goals.fix.FixResult": { + "consumed_by_rules": [ + "pants.core.goals.fix.convert_fix_result_to_lint_result" + ], "dependencies": [ "builtins", - "pants.backend.experimental.go", + "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.base.build_root", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.engine.fs", + "pants.engine.process", + "pants.option.global_options" + ], + "dependents": [ "pants.core" ], - "dependents": ["pants.backend.python"], - "documentation": "PEP660BuildResult(output: 'Digest', editable_wheel_path: 'str | None')", + "documentation": "FixResult(input: 'Snapshot', output: 'Snapshot', stdout: 'str', stderr: 'str', tool_name: 'str')", "is_union": false, - "module": "pants.backend.python.util_rules.local_dists_pep660", - "name": "PEP660BuildResult", - "provider": "pants.backend.python", + "module": "pants.core.goals.fix", + "name": "FixResult", + "provider": "pants.backend.build_files.fmt.black, pants.backend.build_files.fmt.buildifier, pants.backend.build_files.fmt.yapf, pants.backend.codegen.protobuf.lint.buf, pants.backend.experimental.cc.lint.clangformat, pants.backend.experimental.cue, pants.backend.experimental.go, pants.backend.experimental.java.lint.google_java_format, pants.backend.experimental.javascript.lint.prettier, pants.backend.experimental.kotlin.lint.ktlint, pants.backend.experimental.openapi.lint.openapi_format, pants.backend.experimental.python.lint.add_trailing_comma, pants.backend.experimental.python.lint.ruff, pants.backend.experimental.rust, pants.backend.experimental.scala.lint.scalafmt, pants.backend.experimental.terraform, pants.backend.python.lint.autoflake, pants.backend.python.lint.black, pants.backend.python.lint.docformatter, pants.backend.python.lint.isort, pants.backend.python.lint.pyupgrade, pants.backend.python.lint.yapf, pants.backend.shell.lint.shfmt, pants.backend.tools.preamble, pants.backend.tools.taplo, pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build" + "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.yapf.register.yapf_fmt", + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.go.lint.gofmt.rules.gofmt_fmt", + "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", + "pants.backend.javascript.lint.prettier.rules.prettier_fmt", + "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", + "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", + "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", + "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.docformatter.rules.docformatter_fmt", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", + "pants.backend.python.lint.ruff.rules.ruff_fix", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.rust.lint.rustfmt.rules.rustfmt_fmt", + "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt", + "pants.backend.tools.preamble.rules.preamble_fmt", + "pants.backend.tools.taplo.rules.taplo_fmt" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + "pants.core.goals.fix.fix_batch" ] }, - "pants.backend.python.util_rules.local_dists_pep660.ResolveSortedPythonDistributionTargets": { + "pants.core.goals.fix.FixSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists" + "pants.core.goals.fix.fix" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "ResolveSortedPythonDistributionTargets(targets: 'FrozenDict[str | None, tuple[Target, ...]]')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.local_dists_pep660", - "name": "ResolveSortedPythonDistributionTargets", - "provider": "pants.backend.python", + "module": "pants.core.goals.fix", + "name": "FixSubsystem", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve" + "construct_scope_fix" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.util_rules.package_dists.DependencyOwner": { + "pants.core.goals.fix._FixBatchRequest": { "consumed_by_rules": [ - "pants.backend.python.util_rules.package_dists.get_owned_dependencies", - "pants.backend.python.util_rules.package_dists.get_requirements" + "pants.core.goals.fix.fix_batch" ], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "An ExportedTarget in its role as an owner of other targets.\n\nWe need this type to prevent rule ambiguities when computing the list of targets owned by an\nExportedTarget (which involves going from ExportedTarget -> dep -> owner (which is itself an\nExportedTarget) and checking if owner is the original ExportedTarget.", + "dependents": [ + "pants.core" + ], + "documentation": "Request to serially fix all the elements in the given batch.", "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "DependencyOwner", - "provider": "pants.backend.python", + "module": "pants.core.goals.fix", + "name": "_FixBatchRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve", - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", - "pants.backend.python.util_rules.package_dists.get_sources" + "pants.core.goals.fix.fix", + "pants.core.goals.fmt.fmt" ] }, - "pants.backend.python.util_rules.package_dists.DistBuildChroot": { + "pants.core.goals.fix._FixBatchResult": { "consumed_by_rules": [], "dependencies": [ "builtins", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.cue", "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core" - ], - "dependents": ["pants.backend.python"], - "documentation": "A chroot containing PEP 517 build setup and the sources it operates on.", - "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "DistBuildChroot", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.util_rules.package_dists.generate_chroot" + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.lint.openapi_format", + "pants.backend.experimental.python.lint.add_trailing_comma", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" - ] - }, - "pants.backend.python.util_rules.package_dists.DistBuildChrootRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.package_dists.get_sources" + "dependents": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "A request to create a chroot for building a dist in.", - "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "DistBuildChrootRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.package_dists.generate_chroot" - ] - }, - "pants.backend.python.util_rules.package_dists.DistBuildEnvironment": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.python", "pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "Various extra information that might be needed to build a dist.", + "documentation": "_FixBatchResult(results: 'tuple[FixResult, ...]')", "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "DistBuildEnvironment", - "provider": "pants.backend.python.typecheck.mypy", + "module": "pants.core.goals.fix", + "name": "_FixBatchResult", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment" + "pants.core.goals.fix.fix_batch" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" + "pants.core.goals.fix.fix", + "pants.core.goals.fmt.fmt" ] }, - "pants.backend.python.util_rules.package_dists.DistBuildEnvironmentRequest": { + "pants.core.goals.fmt.AbstractFmtRequest": { "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.python.typecheck.mypy"], - "documentation": "DistBuildEnvironmentRequest(target_addresses: 'tuple[Address, ...]', interpreter_constraints: 'InterpreterConstraints')", + "dependents": [ + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.cue", + "pants.backend.experimental.go", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.lint.openapi_format", + "pants.backend.experimental.python.lint.add_trailing_comma", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.yapf", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo" + ], + "documentation": null, "is_union": true, - "module": "pants.backend.python.util_rules.package_dists", - "name": "DistBuildEnvironmentRequest", - "provider": "pants.backend.python", + "module": "pants.core.goals.fmt", + "name": "AbstractFmtRequest", + "provider": "pants.core", "returned_by_rules": [], - "union_members": ["MyPycDistBuildEnvironmentRequest"], + "union_members": [ + "AddTrailingCommaRequest", + "BlackRequest", + "BlackRequest", + "BufFormatRequest", + "BuildifierRequest", + "ClangFormatRequest", + "CueFmtRequest", + "DocformatterRequest", + "GofmtRequest", + "GoogleJavaFormatRequest", + "IsortRequest", + "KtlintRequest", + "OpenApiFormatRequest", + "PreambleRequest", + "PrettierFmtRequest", + "RustfmtRequest", + "ScalafmtRequest", + "ShfmtRequest", + "TaploFmtRequest", + "TffmtRequest", + "YapfRequest", + "YapfRequest" + ], "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.package_dists.DistBuildSources": { + "pants.core.goals.fmt.Fmt": { "consumed_by_rules": [], "dependencies": [ + "builtins", + "pants.backend.build_files.fix.deprecations", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.cue", "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "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", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.tools.semgrep", + "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.visibility", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo", + "pants.backend.url_handlers.s3", + "pants.base.specs", + "pants.engine.console", "pants.engine.fs", + "pants.engine.target", "pants.engine.unions" ], - "dependents": ["pants.backend.python"], - "documentation": "The source-root-stripped sources required to build a distribution with a generated setup.py.\n\nIncludes some information derived from analyzing the source, namely the packages, namespace\npackages and resource files in the source.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "DistBuildSources", - "provider": "pants.backend.python", + "module": "pants.core.goals.fmt", + "name": "Fmt", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.package_dists.get_sources" + "pants.core.goals.fmt.fmt" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.generate_chroot" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.package_dists.ExportedTarget": { + "pants.core.goals.fmt.FmtSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs" + "pants.core.goals.fmt.fmt" ], - "dependencies": ["pants.backend.experimental.go", "pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "A target that explicitly exports a setup.py artifact, using a `provides=` stanza.\n\nThe code provided by this artifact can be from this target or from any targets it owns.", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "ExportedTarget", - "provider": "pants.backend.python", + "module": "pants.core.goals.fmt", + "name": "FmtSubsystem", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.package_dists.get_exporting_owner" + "construct_scope_fmt" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", - "pants.backend.python.util_rules.package_dists.get_owned_dependencies", - "pants.backend.python.util_rules.package_dists.get_requirements" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.package_dists.ExportedTargetRequirements": { + "pants.core.goals.generate_lockfiles.GenerateLockfile": { "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.go", - "pants.core", - "pants.engine.unions" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.core" ], - "dependents": ["pants.backend.python"], - "documentation": "The requirements of an ExportedTarget.\n\nIncludes:\n- The \"normal\" 3rdparty requirements of the ExportedTarget and all targets it owns.\n- The published versions of any other ExportedTargets it depends on.", - "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "ExportedTargetRequirements", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.util_rules.package_dists.get_requirements" + "documentation": "A union base for generating ecosystem-specific lockfiles.\n\nEach language ecosystem should set up a subclass of `GenerateLockfile`, like\n`GeneratePythonLockfile` and `GenerateJVMLockfile`, and register a union rule. They should\nalso set up a simple rule that goes from that class -> `WrappedGenerateLockfile`.\n\nSubclasses will usually want to add additional properties, such as what requirements to\ninstall and Python interpreter constraints.", + "is_union": true, + "module": "pants.core.goals.generate_lockfiles", + "name": "GenerateLockfile", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "GenerateJvmLockfile", + "GeneratePackageLockJsonFile", + "GeneratePythonLockfile" ], - "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs" + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ] }, - "pants.backend.python.util_rules.package_dists.FinalizedSetupKwargs": { + "pants.core.goals.generate_lockfiles.GenerateLockfileResult": { "consumed_by_rules": [], - "dependencies": ["pants.engine.fs"], - "dependents": ["pants.backend.python"], - "documentation": "The final kwargs used for the `setup()` function, after Pants added requirements and sources\ninformation.", - "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "FinalizedSetupKwargs", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs" + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.url_handlers.s3", + "pants.engine.fs", + "pants.jvm.resolve.coursier_fetch" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.generate_setup_py" - ] - }, - "pants.backend.python.util_rules.package_dists.GenerateSetupPyRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", - "pants.backend.python.util_rules.package_dists.generate_setup_py" + "dependents": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "GenerateSetupPyRequest(exported_target: 'ExportedTarget', sources: 'DistBuildSources', interpreter_constraints: 'InterpreterConstraints')", + "documentation": "The result of generating a lockfile for a particular resolve.", "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "GenerateSetupPyRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.core.goals.generate_lockfiles", + "name": "GenerateLockfileResult", + "provider": "pants.backend.experimental.java, pants.backend.experimental.javascript, pants.core", + "returned_by_rules": [ + "pants.backend.javascript.goals.lockfile.generate_lockfile_from_package_jsons", + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.jvm.goals.lockfile.generate_jvm_lockfile" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.package_dists.generate_setup_py" + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ] }, - "pants.backend.python.util_rules.package_dists.GeneratedSetupPy": { + "pants.core.goals.generate_lockfiles.GenerateLockfilesGoal": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.core" + "pants.backend.experimental.javascript", + "pants.backend.url_handlers.s3", + "pants.engine.console", + "pants.engine.environment", + "pants.engine.fs", + "pants.engine.unions" ], - "dependents": ["pants.backend.python"], - "documentation": "GeneratedSetupPy(digest: 'Digest')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "GeneratedSetupPy", - "provider": "pants.backend.python", + "module": "pants.core.goals.generate_lockfiles", + "name": "GenerateLockfilesGoal", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.package_dists.generate_setup_py" + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.generate_chroot" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.package_dists.OwnedDependencies": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go", "pants.engine.unions"], - "dependents": ["pants.backend.python"], + "pants.core.goals.generate_lockfiles.GenerateLockfilesSubsystem": { + "consumed_by_rules": [ + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", + "pants.jvm.goals.lockfile.generate_jvm_lockfile" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.java", + "pants.core" + ], "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "OwnedDependencies", - "provider": "pants.backend.python", + "module": "pants.core.goals.generate_lockfiles", + "name": "GenerateLockfilesSubsystem", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.package_dists.get_owned_dependencies" + "construct_scope_generate_lockfiles" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve", - "pants.backend.python.util_rules.package_dists.get_sources" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.package_dists.OwnedDependency": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.package_dists.get_exporting_owner" - ], + "pants.core.goals.generate_lockfiles.GenerateToolLockfileSentinel": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "A target that is owned by some ExportedTarget.\n\nCode in this target is published in the owner's distribution.\n\nThe owner of a target T is T's closest filesystem ancestor among the python_distribution\ntargets that directly or indirectly depend on it (including T itself).", - "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "OwnedDependency", - "provider": "pants.backend.python", + "dependents": [ + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt" + ], + "documentation": "Tools use this as an entry point to say how to generate their tool lockfile.\n\nEach language ecosystem should set up a union member of `GenerateLockfile`, like\n`GeneratePythonLockfile`, as explained in that class's docstring.\n\nEach language ecosystem should also subclass `GenerateToolLockfileSentinel`, e.g.\n`GeneratePythonToolLockfileSentinel`. The subclass does not need to do anything - it is only used to know which language ecosystems tools correspond to.\n\nThen, each tool should subclass their language ecosystem's subclass of `GenerateToolLockfileSentinel` and set up a rule that goes from the\nsubclass -> the language's lockfile request, e.g. BlackLockfileSentinel ->\nGeneratePythonLockfile. Register `UnionRule(GenerateToolLockfileSentinel, MySubclass)`.", + "is_union": true, + "module": "pants.core.goals.generate_lockfiles", + "name": "GenerateToolLockfileSentinel", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "AvroToolLockfileSentinel", + "GoogleJavaFormatToolLockfileSentinel", + "GrpcJavaToolLockfileSentinel", + "JarJarGeneratorLockfileSentinel", + "JarToolGenerateLockfileSentinel", + "JavaParserToolLockfileSentinel", + "JunitToolLockfileSentinel", + "KotlinParserToolLockfileSentinel", + "KtlintToolLockfileSentinel", + "OpenAPIGeneratorLockfileSentinel", + "ScalaParserToolLockfileSentinel", + "ScalafmtToolLockfileSentinel", + "ScalapbcToolLockfileSentinel", + "ScalatestToolLockfileSentinel", + "ScroogeToolLockfileSentinel", + "StripJarToolLockfileSentinel" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.get_owned_dependencies", - "pants.backend.python.util_rules.package_dists.get_requirements" + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ] }, - "pants.backend.python.util_rules.package_dists.SetupKwargs": { + "pants.core.goals.generate_lockfiles.KnownUserResolveNames": { "consumed_by_rules": [], - "dependencies": ["pants.engine.unions"], - "dependents": ["pants.backend.python"], - "documentation": "The keyword arguments to the `setup()` function in the generated `setup.py`.", + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "All defined user resolves for a particular language ecosystem.\n\nSee KnownUserResolveNamesRequest for how to use this type. `option_name` should be formatted\nlike `[options-scope].resolves`", "is_union": false, - "module": "pants.backend.python.util_rules.package_dists", - "name": "SetupKwargs", - "provider": "pants.backend.python", + "module": "pants.core.goals.generate_lockfiles", + "name": "KnownUserResolveNames", + "provider": "pants.backend.experimental.java, pants.backend.experimental.javascript, pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs" + "pants.backend.javascript.goals.lockfile.determine_package_json_user_resolves", + "pants.backend.python.goals.lockfile.determine_python_user_resolves", + "pants.jvm.goals.lockfile.determine_jvm_user_resolves" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs", - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", - "pants.backend.python.util_rules.package_dists.get_requirements" + "pants.core.goals.export.export", + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ] }, - "pants.backend.python.util_rules.package_dists.SetupKwargsRequest": { + "pants.core.goals.generate_lockfiles.KnownUserResolveNamesRequest": { "consumed_by_rules": [], "dependencies": [], - "dependents": [], - "documentation": "A request to allow setting the kwargs passed to the `setup()` function.\n\nBy default, Pants will pass the kwargs provided in the BUILD file unchanged. To customize this\nbehavior, subclass `SetupKwargsRequest`, register the rule `UnionRule(SetupKwargsRequest,\nMyCustomSetupKwargsRequest)`, and add a rule that takes your subclass as a parameter and returns\n`SetupKwargs`.", + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.core" + ], + "documentation": "A hook for a language ecosystem to declare which resolves it has defined.\n\nEach language ecosystem should set up a subclass and register it with a UnionRule. Implement a\nrule that goes from the subclass -> KnownUserResolveNames, usually by simply reading the\n`resolves` option from the relevant subsystem.", "is_union": true, - "module": "pants.backend.python.util_rules.package_dists", - "name": "SetupKwargsRequest", - "provider": "pants.backend.python", + "module": "pants.core.goals.generate_lockfiles", + "name": "KnownUserResolveNamesRequest", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "KnownJVMUserResolveNamesRequest", + "KnownPackageJsonUserResolveNamesRequest", + "KnownPythonUserResolveNamesRequest" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs" + "pants.core.goals.export.export", + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ] }, - "pants.backend.python.util_rules.pex.BuildPexResult": { + "pants.core.goals.generate_lockfiles.RequestedUserResolveNames": { "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", + "dependencies": [], + "dependents": [ "pants.backend.experimental.java", - "pants.backend.python" - ], - "dependents": ["pants.core"], - "documentation": "BuildPexResult(result: 'ProcessResult', pex_filename: 'str', digest: 'Digest', python: 'PythonExecutable | None')", - "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "BuildPexResult", + "pants.backend.experimental.javascript", + "pants.core" + ], + "documentation": "The user resolves requested for a particular language ecosystem.\n\nEach language ecosystem should set up a subclass and register it with a UnionRule. Implement a\nrule that goes from the subclass -> UserGenerateLockfiles.", + "is_union": true, + "module": "pants.core.goals.generate_lockfiles", + "name": "RequestedUserResolveNames", "provider": "pants.core", - "returned_by_rules": ["pants.backend.python.util_rules.pex.build_pex"], - "union_members": [], + "returned_by_rules": [], + "union_members": [ + "RequestedJVMUserResolveNames", + "RequestedPackageJsonUserResolveNames", + "RequestedPythonUserResolveNames" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.pex.create_pex", - "pants.backend.python.util_rules.pex.create_venv_pex" + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ] }, - "pants.backend.python.util_rules.pex.CompletePlatforms": { + "pants.core.goals.generate_lockfiles.UserGenerateLockfiles": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.python", - "pants.engine.addresses" + "pants.backend.experimental.go" ], "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.python", "pants.core" ], - "documentation": null, + "documentation": "All user resolves for a particular language ecosystem to build.\n\nEach language ecosystem should set up a subclass of `RequestedUserResolveNames` (see its\ndocstring), and implement a rule going from that subclass -> UserGenerateLockfiles. Each element\nin the returned `UserGenerateLockfiles` should be a subclass of `GenerateLockfile`, like\n`GeneratePythonLockfile`.", "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "CompletePlatforms", - "provider": "pants.backend.awslambda.python, pants.core", + "module": "pants.core.goals.generate_lockfiles", + "name": "UserGenerateLockfiles", + "provider": "pants.backend.experimental.java, pants.backend.experimental.javascript, pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.faas.digest_complete_platforms", - "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", - "pants.backend.python.util_rules.pex.digest_complete_platforms" + "pants.backend.javascript.goals.lockfile.setup_user_lockfile_requests", + "pants.backend.python.goals.lockfile.setup_user_lockfile_requests", + "pants.jvm.goals.lockfile.setup_user_lockfile_requests" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.package_pex_binary.package_pex_binary", - "pants.backend.python.util_rules.faas.digest_complete_platforms", - "pants.backend.python.util_rules.faas.infer_runtime_platforms", - "pants.backend.python.util_rules.pex.digest_complete_platforms" + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ] }, - "pants.backend.python.util_rules.pex.OptionalPex": { + "pants.core.goals.generate_lockfiles.WrappedGenerateLockfile": { "consumed_by_rules": [], - "dependencies": ["pants.backend.python"], - "dependents": ["pants.backend.python"], - "documentation": "OptionalPex(maybe_pex: 'Pex | None')", - "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "OptionalPex", - "provider": "pants.core", - "returned_by_rules": [ - "pants.backend.python.util_rules.pex.create_optional_pex" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" - ] - }, - "pants.backend.python.util_rules.pex.OptionalPexRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.create_optional_pex" + "dependencies": [], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.backend.experimental.go", "pants.core"], - "dependents": ["pants.backend.python", "pants.core"], - "documentation": "OptionalPexRequest(maybe_pex_request: 'PexRequest | None')", + "documentation": "WrappedGenerateLockfile(request: 'GenerateLockfile')", "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "OptionalPexRequest", - "provider": "pants.backend.python", + "module": "pants.core.goals.generate_lockfiles", + "name": "WrappedGenerateLockfile", + "provider": "pants.backend.experimental.java, pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + "pants.backend.python.goals.lockfile.wrap_python_lockfile_request", + "pants.jvm.goals.lockfile.wrap_jvm_lockfile_request" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" ] }, - "pants.backend.python.util_rules.pex.Pex": { + "pants.core.goals.generate_snapshots.EnvironmentAwareGenerateSnapshotsRequest": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.determine_pex_resolve_info" + "pants.core.goals.generate_snapshots.environment_await_generate_snapshots" ], "dependencies": [], "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.experimental.tools.yamllint", - "pants.backend.python", - "pants.backend.python.lint.pylint", - "pants.backend.python.typecheck.mypy", "pants.core" ], - "documentation": "Wrapper for a digest containing a pex file created with some filename.", - "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "Pex", - "provider": "pants.backend.python, pants.core", - "returned_by_rules": ["pants.backend.python.util_rules.pex.create_pex"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request", - "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "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", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.python.util_rules.faas.build_python_faas", - "pants.backend.python.util_rules.local_dists.build_local_dists", - "pants.backend.python.util_rules.pex.create_optional_pex", - "pants.backend.tools.yamllint.rules.run_yamllint" - ] - }, - "pants.backend.python.util_rules.pex.PexProcess": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.setup_pex_process" - ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "PexProcess(pex: 'Pex', *, description: 'str', argv: 'Iterable[str]' = (), level: 'LogLevel' = , input_digest: 'Digest | None' = None, working_directory: 'str | None' = None, extra_env: 'Mapping[str, str] | None' = None, output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, timeout_seconds: 'int | None' = None, execution_slot_variable: 'str | None' = None, concurrency_available: 'int' = 0, cache_scope: 'ProcessCacheScope' = ) -> 'None'", + "documentation": "Request class to request a `GenerateSnapshotsResult` in an environment-aware fashion.", "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "PexProcess", - "provider": "pants.backend.python", + "module": "pants.core.goals.generate_snapshots", + "name": "EnvironmentAwareGenerateSnapshotsRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.export.do_export", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.util_rules.pex.determine_pex_resolve_info", - "pants.backend.tools.yamllint.rules.run_yamllint" + "pants.core.goals.generate_snapshots.generate_snapshots" ] }, - "pants.backend.python.util_rules.pex.PexRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex.create_pex", - "pants.backend.python.util_rules.pex.wrap_venv_prex_request" - ], + "pants.core.goals.generate_snapshots.GenerateSnapshots": { + "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.core", - "pants.engine.unions" + "pants.engine.fs", + "pants.engine.target" ], - "dependents": ["pants.backend.python", "pants.core"], - "documentation": "PexRequest(*, output_filename: 'str', internal_only: 'bool', layout: 'PexLayout | None' = None, python: 'PythonExecutable | None' = None, requirements: 'PexRequirements | EntireLockfile' = PexRequirements(req_strings_or_addrs=FrozenOrderedSet(), constraints_strings=FrozenOrderedSet(), from_superset=None, description_of_origin=''), interpreter_constraints=InterpreterConstraints(), platforms=PexPlatforms([]), complete_platforms=CompletePlatforms([]), sources: 'Digest | None' = None, additional_inputs: 'Digest | None' = None, main: 'MainSpecification | None' = None, inject_args: 'Iterable[str]' = (), inject_env: 'Mapping[str, str]' = FrozenDict({}), additional_args: 'Iterable[str]' = (), pex_path: 'Iterable[Pex]' = (), description: 'str | None' = None, cache_scope: 'ProcessCacheScope' = ) -> 'None'", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "PexRequest", - "provider": "pants.backend.python", + "module": "pants.core.goals.generate_snapshots", + "name": "GenerateSnapshots", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.core.goals.generate_snapshots.generate_snapshots" ], "union_members": [], "union_type": null, + "used_in_rules": [] + }, + "pants.core.goals.generate_snapshots.GenerateSnapshotsFieldSet": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "The fields necessary to generate snapshots from a target.", + "is_union": true, + "module": "pants.core.goals.generate_snapshots", + "name": "GenerateSnapshotsFieldSet", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "HelmUnitTestFieldSet" + ], + "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", - "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", - "pants.backend.python.goals.coverage_py.setup_coverage", - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.goals.repl.create_ipython_repl_request", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", - "pants.backend.python.lint.autoflake.rules.autoflake_fix", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.docformatter.rules.docformatter_fmt", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.local_dists.build_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.python.util_rules.pex.create_optional_pex", - "pants.backend.python.util_rules.pex.create_pex", - "pants.backend.python.util_rules.pex.create_venv_pex", - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", - "pants.backend.terraform.dependency_inference.setup_parser", - "pants.backend.tools.semgrep.rules.lint", - "pants.backend.tools.yamllint.rules.run_yamllint", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" + "pants.core.goals.generate_snapshots.environment_await_generate_snapshots" ] }, - "pants.backend.python.util_rules.pex.PexRequirementsInfo": { + "pants.core.goals.generate_snapshots.GenerateSnapshotsResult": { "consumed_by_rules": [], "dependencies": [ + "builtins", "pants.backend.experimental.go", - "pants.backend.python", - "pants.engine.addresses" + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.engine.environment" ], - "dependents": ["pants.backend.python", "pants.core"], - "documentation": "PexRequirementsInfo(req_strings: 'tuple[str, ...]', find_links: 'tuple[str, ...]')", + "dependents": [ + "pants.core" + ], + "documentation": "GenerateSnapshotsResult(snapshot: 'Snapshot')", "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "PexRequirementsInfo", - "provider": "pants.core", + "module": "pants.core.goals.generate_snapshots", + "name": "GenerateSnapshotsResult", + "provider": "pants.backend.experimental.helm, pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex.get_req_strings" + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "pants.core.goals.generate_snapshots.environment_await_generate_snapshots" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.util_rules.pex.build_pex" + "pants.core.goals.generate_snapshots.environment_await_generate_snapshots", + "pants.core.goals.generate_snapshots.generate_snapshots" ] }, - "pants.backend.python.util_rules.pex.PexResolveInfo": { + "pants.core.goals.generate_snapshots.GenerateSnapshotsSubsystem": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.helm", - "pants.backend.python" - ], - "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pylint", - "pants.backend.python.typecheck.mypy" + "pants.option.scope" ], - "documentation": "Information about all distributions resolved in a PEX file, as reported by `PEX_TOOLS=1\nrepository info -v`.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "PexResolveInfo", + "module": "pants.core.goals.generate_snapshots", + "name": "GenerateSnapshotsSubsystem", "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex.determine_pex_resolve_info", - "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info" + "construct_scope_generate_snapshots" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex.PythonProvider": { + "pants.core.goals.lint.AbstractLintRequest": { "consumed_by_rules": [], "dependencies": [], - "dependents": [], - "documentation": "Union which should have 0 or 1 implementations registered which provide Python.\n\nSubclasses should provide a rule from their subclass type to `PythonExecutable`.", + "dependents": [ + "pants.backend.build_files.fix.deprecations", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.cue", + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet", + "pants.backend.experimental.helm", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "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", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.tools.semgrep", + "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.visibility", + "pants.backend.project_info", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo" + ], + "documentation": "Base class for plugin types wanting to be run as part of `lint`.\n\nPlugins should define a new type which subclasses either `LintTargetsRequest` (to lint targets)\nor `LintFilesRequest` (to lint arbitrary files), and set the appropriate class variables.\nE.g.\n class DryCleaningRequest(LintTargetsRequest):\n name = DryCleaningSubsystem.options_scope\n field_set_type = DryCleaningFieldSet\n\nThen, define 2 `@rule`s:\n 1. A rule which takes an instance of your request type's `PartitionRequest` class property,\n and returns a `Partitions` instance.\n E.g.\n @rule\n async def partition(\n request: DryCleaningRequest.PartitionRequest[DryCleaningFieldSet]\n # or `request: DryCleaningRequest.PartitionRequest` if file linter\n subsystem: DryCleaningSubsystem,\n ) -> Partitions[DryCleaningFieldSet, Any]:\n if subsystem.skip:\n return Partitions()\n\n # One possible implementation\n return Partitions.single_partition(request.field_sets)\n\n 2. A rule which takes an instance of your request type's `Batch` class property, and\n returns a `LintResult instance.\n E.g.\n @rule\n async def dry_clean(\n request: DryCleaningRequest.Batch,\n ) -> LintResult:\n ...\n\nLastly, register the rules which tell Pants about your plugin.\nE.g.\n def rules():\n return [\n *collect_rules(),\n *DryCleaningRequest.rules()\n ]", "is_union": true, - "module": "pants.backend.python.util_rules.pex", - "name": "PythonProvider", - "provider": "pants.backend.python", + "module": "pants.core.goals.lint", + "name": "AbstractLintRequest", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "AddTrailingCommaRequest", + "AutoflakeRequest", + "BanditRequest", + "BlackRequest", + "BlackRequest", + "BufFormatRequest", + "BufLintRequest", + "BuildifierRequest", + "ClangFormatRequest", + "CueFmtRequest", + "CueLintRequest", + "DocformatterRequest", + "EnforceVisibilityRules", + "Flake8Request", + "GoVetRequest", + "GofmtRequest", + "GolangciLintRequest", + "GoogleJavaFormatRequest", + "HadolintRequest", + "HelmLintRequest", + "IsortRequest", + "KtlintRequest", + "OpenApiFormatRequest", + "PreambleRequest", + "PrettierFmtRequest", + "PyUpgradeRequest", + "PydocstyleRequest", + "PylintRequest", + "RegexLintRequest", + "RenameFieldsInFilesRequest", + "RenameTargetsInFilesRequest", + "RuffFixRequest", + "RuffLintRequest", + "RustfmtRequest", + "ScalafmtRequest", + "SemgrepLintRequest", + "ShellcheckRequest", + "ShfmtRequest", + "SpectralRequest", + "TaploFmtRequest", + "TfSecRequest", + "TffmtRequest", + "YamllintRequest", + "YapfRequest", + "YapfRequest" + ], "union_type": null, - "used_in_rules": ["pants.backend.python.util_rules.pex.find_interpreter"] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex.VenvPex": { + "pants.core.goals.lint.Batch": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info" + "pants.backend.docker.lint.hadolint.rules.run_hadolint" ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java" + "pants.core" ], "dependents": [ + "pants.backend.docker.lint.hadolint" + ], + "documentation": null, + "is_union": true, + "module": "pants.core.goals.lint", + "name": "Batch", + "provider": "pants.backend.docker.lint.hadolint", + "returned_by_rules": [], + "union_members": [], + "union_type": "Batch", + "used_in_rules": [] + }, + "pants.core.goals.lint.Lint": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.python", - "pants.backend.docker", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.cue", + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", - "pants.backend.experimental.python", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "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", - "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", "pants.backend.experimental.tools.semgrep", + "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.visibility", + "pants.backend.project_info", "pants.backend.python", "pants.backend.python.lint.autoflake", "pants.backend.python.lint.bandit", @@ -38090,26173 +58206,30136 @@ "pants.backend.python.lint.pylint", "pants.backend.python.lint.pyupgrade", "pants.backend.python.lint.yapf", - "pants.backend.python.typecheck.mypy", - "pants.core" + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo", + "pants.base.specs", + "pants.engine.console", + "pants.engine.fs", + "pants.engine.target", + "pants.engine.unions" ], - "documentation": "VenvPex(digest: 'Digest', append_only_caches: 'FrozenDict[str, str] | None', pex_filename: 'str', pex: 'Script', python: 'Script', bin: 'FrozenDict[str, Script]', venv_rel_dir: 'str')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "VenvPex", - "provider": "pants.backend.python, pants.core", + "module": "pants.core.goals.lint", + "name": "Lint", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex.create_venv_pex" + "pants.core.goals.lint.lint" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", - "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", - "pants.backend.python.goals.coverage_py.setup_coverage", - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", - "pants.backend.python.lint.autoflake.rules.autoflake_fix", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.docformatter.rules.docformatter_fmt", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", - "pants.backend.terraform.dependency_inference.setup_parser", - "pants.backend.tools.semgrep.rules.lint", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex.VenvPexProcess": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.setup_venv_pex_process" + "pants.core.goals.lint.LintResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.docker", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.lint.openapi_format", + "pants.backend.experimental.python.lint.add_trailing_comma", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.shell", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo", + "pants.backend.url_handlers.s3", + "pants.engine.addresses", + "pants.engine.fs", + "pants.engine.internals.session", + "pants.engine.process", + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "VenvPexProcess(venv_pex: 'VenvPex', *, description: 'str', argv: 'Iterable[str]' = (), level: 'LogLevel' = , input_digest: 'Digest | None' = None, working_directory: 'str | None' = None, extra_env: 'Mapping[str, str] | None' = None, output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, timeout_seconds: 'int | None' = None, execution_slot_variable: 'str | None' = None, concurrency_available: 'int' = 0, cache_scope: 'ProcessCacheScope' = , append_only_caches: 'Mapping[str, str] | None' = None) -> 'None'", - "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "VenvPexProcess", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile", - "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", - "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "dependents": [ + "pants.core" + ], + "documentation": "LintResult(exit_code: 'int', stdout: 'str', stderr: 'str', linter_name: 'str', partition_description: 'str | None' = None, report: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), _render_message: 'bool' = True)", + "is_union": false, + "module": "pants.core.goals.lint", + "name": "LintResult", + "provider": "pants.backend.codegen.protobuf.lint.buf, pants.backend.docker.lint.hadolint, pants.backend.experimental.cue, pants.backend.experimental.go.lint.golangci_lint, pants.backend.experimental.go.lint.vet, pants.backend.experimental.helm, pants.backend.experimental.openapi.lint.spectral, pants.backend.experimental.python.lint.ruff, pants.backend.experimental.terraform.lint.tfsec, pants.backend.experimental.tools.semgrep, pants.backend.experimental.tools.yamllint, pants.backend.experimental.visibility, pants.backend.project_info, pants.backend.python.lint.bandit, pants.backend.python.lint.flake8, pants.backend.python.lint.pydocstyle, pants.backend.python.lint.pylint, pants.backend.shell.lint.shellcheck, pants.core", + "returned_by_rules": [ + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.helm.goals.lint.run_helm_lint", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.project_info.regex_lint.lint_with_regex_patterns", "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.docformatter.rules.docformatter_fmt", "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.isort.rules.isort_fmt", "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info", - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", - "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources", + "pants.backend.python.lint.ruff.rules.ruff_lint", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", "pants.backend.tools.semgrep.rules.lint", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" - ] - }, - "pants.backend.python.util_rules.pex.VenvPexRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.create_venv_pex" - ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "VenvPexRequest(pex_request: 'PexRequest', complete_pex_env: 'CompletePexEnvironment', bin_names: 'Iterable[str]' = (), site_packages_copies: 'bool' = False) -> 'None'", - "is_union": false, - "module": "pants.backend.python.util_rules.pex", - "name": "VenvPexRequest", - "provider": "pants.backend.python, pants.core", - "returned_by_rules": [ - "pants.backend.python.util_rules.pex.wrap_venv_prex_request" + "pants.backend.tools.yamllint.rules.run_yamllint", + "pants.backend.visibility.lint.check_visibility_rule_violations", + "pants.core.goals.fix.convert_fix_result_to_lint_result" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" + "pants.core.goals.lint.lint" ] }, - "pants.backend.python.util_rules.pex_cli.PexCli": { + "pants.core.goals.lint.LintSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_cli.download_pex_pex" + "pants.core.goals.lint.lint" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_cli", - "name": "PexCli", + "module": "pants.core.goals.lint", + "name": "LintSubsystem", "provider": "pants.core", - "returned_by_rules": ["construct_scope_pex_cli"], + "returned_by_rules": [ + "construct_scope_lint" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_cli.PexCliProcess": { + "pants.core.goals.lint.PartitionRequest": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "PexCliProcess(*, subcommand: 'Iterable[str]', extra_args: 'Iterable[str]', description: 'str', additional_input_digest: 'Optional[Digest]' = None, extra_env: 'Optional[Mapping[str, str]]' = None, output_files: 'Optional[Iterable[str]]' = None, output_directories: 'Optional[Iterable[str]]' = None, level: 'LogLevel' = , concurrency_available: 'int' = 0, cache_scope: 'ProcessCacheScope' = ) -> 'None'", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_cli", - "name": "PexCliProcess", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex.find_interpreter", - "pants.backend.python.util_rules.pex_venv.pex_venv" - ] - }, - "pants.backend.python.util_rules.pex_cli.PexPEX": { - "consumed_by_rules": [ - "pants.backend.python.goals.export.do_export", - "pants.backend.python.util_rules.pex.determine_pex_resolve_info", - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" + "dependencies": [ + "pants.core" ], - "dependencies": ["pants.engine.platform"], - "dependents": ["pants.backend.python", "pants.core"], - "documentation": "The Pex PEX binary.", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_cli", - "name": "PexPEX", - "provider": "pants.core", - "returned_by_rules": [ - "pants.backend.python.util_rules.pex_cli.download_pex_pex" + "dependents": [ + "pants.backend.experimental.python.lint.add_trailing_comma" ], + "documentation": null, + "is_union": true, + "module": "pants.core.goals.lint", + "name": "PartitionRequest", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "PartitionRequest", "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_environment.EnvironmentAware": { + "pants.core.goals.package.AllPackageableTargets": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_environment.find_pex_python" + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.docker" ], - "dependencies": ["pants.engine.env_vars"], - "dependents": ["pants.core"], "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_environment", - "name": "EnvironmentAware", + "module": "pants.core.goals.package", + "name": "AllPackageableTargets", "provider": "pants.core", - "returned_by_rules": ["construct_env_aware_scope_pex"], + "returned_by_rules": [ + "pants.core.goals.package.find_all_packageable_targets" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_environment.PexEnvironment": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.repl.create_ipython_repl_request", - "pants.backend.python.goals.repl.create_python_repl_request", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.python.util_rules.pex.create_venv_pex", - "pants.backend.python.util_rules.pex.setup_pex_process", - "pants.backend.python.util_rules.pex.setup_venv_pex_process", - "pants.backend.python.util_rules.pex.wrap_venv_prex_request", - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" + "pants.core.goals.package.BuiltPackage": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell", + "pants.backend.url_handlers.s3", + "pants.engine.environment", + "pants.engine.fs", + "pants.engine.process", + "pants.engine.unions", + "pants.jvm.package.deploy_jar", + "pants.option.global_options" ], - "dependencies": ["pants.option.global_options"], "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.awslambda.python", + "pants.backend.docker", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.google_cloud_function.python", "pants.backend.python", - "pants.backend.python.lint.pylint", + "pants.backend.shell", "pants.core" ], - "documentation": "PexEnvironment(path: 'tuple[str, ...]', interpreter_search_paths: 'tuple[str, ...]', subprocess_environment_dict: 'FrozenDict[str, str]', named_caches_dir: 'PurePath', bootstrap_python: 'PythonBuildStandaloneBinary', venv_use_symlinks: 'bool' = False)", + "documentation": "BuiltPackage(digest: 'Digest', artifacts: 'tuple[BuiltPackageArtifact, ...]')", "is_union": false, - "module": "pants.backend.python.util_rules.pex_environment", - "name": "PexEnvironment", - "provider": "pants.core", + "module": "pants.core.goals.package", + "name": "BuiltPackage", + "provider": "pants.backend.awslambda.python, pants.backend.docker, pants.backend.experimental.debian, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.python.packaging.pyoxidizer, pants.backend.google_cloud_function.python, pants.backend.python, pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_environment.find_pex_python" + "pants.backend.awslambda.python.rules.package_python_aws_lambda_function", + "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.go.goals.package_binary.package_go_binary", + "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function", + "pants.backend.helm.goals.package.run_helm_package", + "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.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", + "pants.backend.python.util_rules.faas.build_python_faas", + "pants.core.goals.package.environment_aware_package", + "pants.core.target_types.package_archive_target", + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.package.war.package_war" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.awslambda.python.rules.package_python_aws_lambda_function", + "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer", + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.go.goals.run_binary.create_go_binary_run_request", + "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function", + "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", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.core.goals.package.environment_aware_package", + "pants.core.goals.package.package_asset", + "pants.core.goals.publish.package_for_publish", + "pants.core.goals.test.build_runtime_package_dependencies", + "pants.core.target_types.package_archive_target", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request" + ] }, - "pants.backend.python.util_rules.pex_environment.PexSubsystem": { + "pants.core.goals.package.EnvironmentAwarePackageRequest": { "consumed_by_rules": [ - "construct_env_aware_scope_pex", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex.find_interpreter", - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", - "pants.backend.python.util_rules.pex_environment.find_pex_python" + "pants.core.goals.package.environment_aware_package" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "Request class to request a `BuiltPackage` in an environment-aware fashion.", "is_union": false, - "module": "pants.backend.python.util_rules.pex_environment", - "name": "PexSubsystem", + "module": "pants.core.goals.package", + "name": "EnvironmentAwarePackageRequest", "provider": "pants.core", - "returned_by_rules": ["construct_scope_pex"], + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.core.goals.package.package_asset", + "pants.core.goals.publish.package_for_publish", + "pants.core.goals.test.build_runtime_package_dependencies", + "pants.core.target_types.package_archive_target", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" + ] }, - "pants.backend.python.util_rules.pex_environment.PythonExecutable": { + "pants.core.goals.package.Package": { "consumed_by_rules": [], "dependencies": [ + "builtins", + "pants.backend.awslambda.python", + "pants.backend.docker", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.google_cloud_function.python", "pants.backend.python", - "pants.engine.unions" + "pants.backend.url_handlers.s3", + "pants.engine.fs", + "pants.engine.target" ], - "dependents": ["pants.backend.python", "pants.core"], - "documentation": "The BinaryPath of a Python executable for user code, along with some extras.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_environment", - "name": "PythonExecutable", + "module": "pants.core.goals.package", + "name": "Package", "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex.find_interpreter" + "pants.core.goals.package.package_asset" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex.find_interpreter" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_from_targets.ChosenPythonResolve": { + "pants.core.goals.package.PackageFieldSet": { "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go", "pants.core"], - "dependents": ["pants.backend.python"], - "documentation": "ChosenPythonResolve(name: 'str', lockfile: 'Lockfile')", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "ChosenPythonResolve", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve" + "dependencies": [], + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.docker", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.google_cloud_function.python", + "pants.backend.python", + "pants.core" + ], + "documentation": "The fields necessary to build an asset from a target.", + "is_union": true, + "module": "pants.core.goals.package", + "name": "PackageFieldSet", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "ArchiveFieldSet", + "DebianPackageFieldSet", + "DeployJarFieldSet", + "DockerPackageFieldSet", + "GoBinaryFieldSet", + "HelmPackageFieldSet", + "NodeBuildScriptPackageFieldSet", + "NodePackageTarFieldSet", + "PackageWarFileFieldSet", + "PexBinaryFieldSet", + "PyOxidizerFieldSet", + "PythonAwsLambdaFieldSet", + "PythonAwsLambdaLayerFieldSet", + "PythonDistributionFieldSet", + "PythonGoogleCloudFunctionFieldSet" ], - "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.go.goals.run_binary.create_go_binary_run_request", + "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.core.goals.package.environment_aware_package" ] }, - "pants.backend.python.util_rules.pex_from_targets.ChosenPythonResolveRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve" + "pants.core.goals.package.PackageSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "ChosenPythonResolveRequest(addresses: 'Addresses')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "ChosenPythonResolveRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.core.goals.package", + "name": "PackageSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_package" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_from_targets.GlobalRequirementConstraints": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", - "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure" + "pants.core.goals.publish.Publish": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.docker", + "pants.backend.experimental.helm", + "pants.backend.experimental.python", + "pants.engine.console", + "pants.engine.environment", + "pants.engine.process", + "pants.engine.target" ], - "dependencies": ["pants.core", "pants.engine.fs"], - "dependents": ["pants.backend.python"], - "documentation": "Global constraints specified by the `[python].requirement_constraints` setting, if any.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "GlobalRequirementConstraints", - "provider": "pants.backend.python", + "module": "pants.core.goals.publish", + "name": "Publish", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints" + "pants.core.goals.publish.run_publish" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_from_targets.InterpreterConstraintsRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets" - ], + "pants.core.goals.publish.PublishFieldSet": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "InterpreterConstraintsRequest(addresses: 'Iterable[Address]', *, hardcoded_interpreter_constraints: 'InterpreterConstraints | None' = None) -> 'None'", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "InterpreterConstraintsRequest", - "provider": "pants.backend.python", + "dependents": [ + "pants.backend.docker", + "pants.backend.experimental.helm", + "pants.backend.experimental.python" + ], + "documentation": "FieldSet for PublishRequest.\n\nUnion members may list any fields required to fulfill the instantiation of the\n`PublishProcesses` result of the publish rule.", + "is_union": true, + "module": "pants.core.goals.publish", + "name": "PublishFieldSet", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "HelmPublishFieldSet", + "PublishDockerImageFieldSet", + "PublishPythonPackageFieldSet" + ], "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.repl.create_ipython_repl_request", - "pants.backend.python.goals.repl.create_python_repl_request", - "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", - "pants.backend.python.util_rules.faas.infer_runtime_platforms", - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_from_targets.PexFromTargetsRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.core.goals.publish.PublishProcesses": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.awslambda.python", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.backend.google_cloud_function.python", + "pants.backend.python", + "pants.backend.shell", + "pants.backend.url_handlers.s3", + "pants.engine.environment", + "pants.engine.process" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "PexFromTargetsRequest(addresses: 'Iterable[Address]', *, output_filename: 'str', internal_only: 'bool', layout: 'PexLayout | None' = None, main: 'MainSpecification | None' = None, inject_args: 'Iterable[str]' = (), inject_env: 'Mapping[str, str]' = FrozenDict({}), platforms: 'PexPlatforms' = PexPlatforms([]), complete_platforms: 'CompletePlatforms' = CompletePlatforms([]), additional_args: 'Iterable[str]' = (), additional_lockfile_args: 'Iterable[str]' = (), include_source_files: 'bool' = True, include_requirements: 'bool' = True, include_local_dists: 'bool' = False, additional_sources: 'Digest | None' = None, additional_inputs: 'Digest | None' = None, hardcoded_interpreter_constraints: 'InterpreterConstraints | None' = None, description: 'str | None' = None, warn_for_transitive_files_targets: 'bool' = False) -> 'None'", + "dependents": [ + "pants.core" + ], + "documentation": "Collection of what processes to run for all built packages.\n\nThis is returned from implementing rules in response to a PublishRequest.\n\nDepending on the capabilities of the publishing tool, the work may be partitioned based on\nnumber of artifacts and/or repositories to publish to.", "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "PexFromTargetsRequest", - "provider": "pants.backend.python", + "module": "pants.core.goals.publish", + "name": "PublishProcesses", + "provider": "pants.backend.docker, pants.backend.experimental.helm, pants.backend.experimental.python, pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.generalize_requirements_pex_request" + "pants.backend.docker.goals.publish.push_docker_images", + "pants.backend.helm.goals.publish.publish_helm_chart", + "pants.backend.python.goals.publish.twine_upload", + "pants.core.goals.deploy.publish_process_for_target", + "pants.core.goals.publish.package_for_publish" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_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", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.util_rules.faas.build_python_faas" + "pants.core.goals.deploy.publish_process_for_target", + "pants.core.goals.deploy.run_deploy", + "pants.core.goals.publish.package_for_publish", + "pants.core.goals.publish.run_publish" ] }, - "pants.backend.python.util_rules.pex_from_targets.RequirementsPexRequest": { + "pants.core.goals.publish.PublishProcessesRequest": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.generalize_requirements_pex_request" + "pants.core.goals.publish.package_for_publish" ], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "Requests a PEX containing only thirdparty requirements for internal/non-portable use.\n\nUsed as part of an optimization to reduce the \"overhead\" (in terms of both time and space) of\nthirdparty requirements by taking advantage of certain PEX features.", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "RequirementsPexRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.goals.repl.create_ipython_repl_request", - "pants.backend.python.goals.repl.create_python_repl_request", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" - ] - }, - "pants.backend.python.util_rules.pex_from_targets._ConstraintsRepositoryPexRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex" + "dependents": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "_ConstraintsRepositoryPexRequest(repository_pex_request: '_RepositoryPexRequest')", + "documentation": "Internal request taking all field sets for a target and turning it into a `PublishProcesses`\ncollection (via registered publish plugins).", "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "_ConstraintsRepositoryPexRequest", - "provider": "pants.backend.python", + "module": "pants.core.goals.publish", + "name": "PublishProcessesRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + "pants.core.goals.deploy.publish_process_for_target", + "pants.core.goals.publish.run_publish" ] }, - "pants.backend.python.util_rules.pex_from_targets._PexRequirementsRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure" - ], + "pants.core.goals.publish.PublishRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "Determine the requirement strings used transitively.\n\nThis type is private because callers should likely use `RequirementsPexRequest` or\n`PexFromTargetsRequest` instead.", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "_PexRequirementsRequest", - "provider": "pants.backend.python", + "dependents": [ + "pants.backend.docker", + "pants.backend.experimental.helm", + "pants.backend.experimental.python" + ], + "documentation": "Implement a union member subclass of this union class along with a PublishFieldSet subclass\nthat appoints that member subclass in order to receive publish requests for targets compatible\nwith the field set.\n\nThe `packages` hold all artifacts produced for a given target to be published.\n\nExample:\n\n PublishToMyRepoRequest(PublishRequest):\n pass\n\n PublishToMyRepoFieldSet(PublishFieldSet):\n publish_request_type = PublishToMyRepoRequest\n\n # Standard FieldSet semantics from here on:\n required_fields = (MyRepositories,)\n ...", + "is_union": true, + "module": "pants.core.goals.publish", + "name": "PublishRequest", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "PublishDockerImageRequest", + "PublishHelmChartRequest", + "PublishPythonPackageRequest" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.core.goals.publish.package_for_publish" ] }, - "pants.backend.python.util_rules.pex_from_targets._RepositoryPexRequest": { + "pants.core.goals.publish.PublishSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex" + "pants.core.goals.publish.run_publish" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "_RepositoryPexRequest(addresses: 'Iterable[Address]', *, internal_only: 'bool', hardcoded_interpreter_constraints: 'InterpreterConstraints | None' = None, platforms: 'PexPlatforms' = PexPlatforms([]), complete_platforms: 'CompletePlatforms' = CompletePlatforms([]), additional_lockfile_args: 'tuple[str, ...]' = ()) -> 'None'", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_from_targets", - "name": "_RepositoryPexRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" - ] - }, - "pants.backend.python.util_rules.pex_requirements.LoadedLockfile": { - "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.python", - "pants.engine.fs" + "pants.option.scope" ], "dependents": [ - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.yapf", - "pants.backend.python", "pants.core" ], - "documentation": "A lockfile after loading and header stripping.\n\nValidation is deferred until consumption time, because each consumed subset (in the case of a\nPEX-native lockfile) can be individually validated.", + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_requirements", - "name": "LoadedLockfile", + "module": "pants.core.goals.publish", + "name": "PublishSubsystem", "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_requirements.load_lockfile" + "construct_scope_publish" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_requirements.LoadedLockfileRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_requirements.load_lockfile" + "pants.core.goals.repl.Repl": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.engine.console", + "pants.engine.process", + "pants.engine.target", + "pants.engine.unions" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "A request to load and validate the content of the given lockfile.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_requirements", - "name": "LoadedLockfileRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.core.goals.repl", + "name": "Repl", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.goals.repl.run_repl" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_requirements.Lockfile": { + "pants.core.goals.repl.ReplImplementation": { "consumed_by_rules": [], - "dependencies": ["pants.backend.python"], + "dependencies": [], "dependents": [ - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.yapf", - "pants.backend.python", - "pants.core" + "pants.backend.experimental.scala", + "pants.backend.python" ], - "documentation": "Lockfile(url: 'str', url_description_of_origin: 'str', resolve_name: 'str', lockfile_hex_digest: 'str | None' = None)", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_requirements", - "name": "Lockfile", + "documentation": "A REPL implementation for a specific language or runtime.\n\nProxies from the top-level `repl` goal to an actual implementation.", + "is_union": true, + "module": "pants.core.goals.repl", + "name": "ReplImplementation", "provider": "pants.core", - "returned_by_rules": [ - "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve" + "returned_by_rules": [], + "union_members": [ + "IPythonRepl", + "PythonRepl", + "ScalaRepl" ], - "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.util_rules.pex.build_pex", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" + "pants.core.goals.repl.run_repl" ] }, - "pants.backend.python.util_rules.pex_requirements.PexRequirements": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.get_req_strings" + "pants.core.goals.repl.ReplRequest": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.backend.python", "pants.core"], - "documentation": "A request to resolve a series of requirements (optionally from a \"superset\" resolve).", + "dependents": [ + "pants.core" + ], + "documentation": "ReplRequest(*, digest: 'Digest', args: 'Iterable[str]', extra_env: 'Optional[Mapping[str, str]]' = None, immutable_input_digests: 'Mapping[str, Digest] | None' = None, append_only_caches: 'Mapping[str, str] | None' = None, run_in_workspace: 'bool' = True) -> 'None'", "is_union": false, - "module": "pants.backend.python.util_rules.pex_requirements", - "name": "PexRequirements", - "provider": "pants.backend.python", + "module": "pants.core.goals.repl", + "name": "ReplRequest", + "provider": "pants.backend.experimental.scala, pants.backend.python", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure" + "pants.backend.python.goals.repl.create_ipython_repl_request", + "pants.backend.python.goals.repl.create_python_repl_request", + "pants.backend.scala.goals.repl.create_scala_repl_request" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.core.goals.repl.run_repl" ] }, - "pants.backend.python.util_rules.pex_requirements.Resolve": { + "pants.core.goals.repl.ReplSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve" + "pants.core.goals.repl.run_repl" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Resolve(name: 'str', use_entire_lockfile: 'bool')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_requirements", - "name": "Resolve", - "provider": "pants.backend.python", - "returned_by_rules": [], + "module": "pants.core.goals.repl", + "name": "ReplSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_repl" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.util_rules.pex.build_pex", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_requirements.ResolvePexConfig": { + "pants.core.goals.run.Run": { "consumed_by_rules": [], "dependencies": [ - "builtins", + "pants.backend.docker", + "pants.backend.experimental.adhoc", "pants.backend.experimental.go", - "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.scala", "pants.backend.python", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.shell", "pants.engine.fs", - "pants.engine.unions" + "pants.engine.process", + "pants.engine.target" ], - "dependents": ["pants.core"], - "documentation": "Configuration from `[python]` that impacts how the resolve is created.", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.pex_requirements", - "name": "ResolvePexConfig", + "module": "pants.core.goals.run", + "name": "Run", "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.util_rules.pex.build_pex" - ] - }, - "pants.backend.python.util_rules.pex_requirements.ResolvePexConfigRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config" + "pants.core.goals.run.run" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Find all configuration from `[python]` that impacts how the resolve is created.\n\nIf `resolve_name` is None, then most per-resolve options will be ignored because there is no way\nfor users to configure them. However, some options like `[python-repos].indexes` will still be\nloaded.", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_requirements", - "name": "ResolvePexConfigRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.util_rules.pex.build_pex" - ] + "used_in_rules": [] }, - "pants.backend.python.util_rules.pex_venv.PexVenv": { + "pants.core.goals.run.RunDebugAdapterRequest": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.python", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.jvm.package.deploy_jar" + ], + "dependents": [ "pants.core" ], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "PexVenv(digest: 'Digest', path: 'Path')", + "documentation": "Like RunRequest, but launches the process using the relevant Debug Adapter server.\n\nThe process should be launched waiting for the client to connect.", "is_union": false, - "module": "pants.backend.python.util_rules.pex_venv", - "name": "PexVenv", - "provider": "pants.backend.awslambda.python", + "module": "pants.core.goals.run", + "name": "RunDebugAdapterRequest", + "provider": "pants.backend.docker, pants.backend.experimental.adhoc, pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.kotlin, pants.backend.experimental.python.packaging.pyoxidizer, pants.backend.experimental.scala, pants.backend.python, pants.backend.python.providers.experimental.pyenv.custom_install, pants.backend.shell", "returned_by_rules": [ - "pants.backend.python.util_rules.pex_venv.pex_venv" + "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DeployJarFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DockerRunFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_GoBinaryFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JavaFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JvmArtifactFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_KotlinFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PexBinaryFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PyOxidizerFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PythonRequirementFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunNodeBuildScriptFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunPyenvInstallFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunShellCommand", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_ScalaFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_SystemBinaryFieldSet" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.faas.build_python_faas" + "pants.core.goals.run.run" ] }, - "pants.backend.python.util_rules.pex_venv.PexVenvRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_venv.pex_venv" - ], + "pants.core.goals.run.RunFieldSet": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.awslambda.python"], - "documentation": "PexVenvRequest(pex: 'Pex', layout: 'PexVenvLayout', output_path: 'Path', description: 'str', platforms: 'PexPlatforms' = PexPlatforms([]), complete_platforms: 'CompletePlatforms' = CompletePlatforms([]), prefix: 'None | str' = None)", - "is_union": false, - "module": "pants.backend.python.util_rules.pex_venv", - "name": "PexVenvRequest", - "provider": "pants.backend.python", + "dependents": [ + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.shell" + ], + "documentation": "The fields necessary from a target to run a program/script.", + "is_union": true, + "module": "pants.core.goals.run", + "name": "RunFieldSet", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "DeployJarFieldSet", + "DockerRunFieldSet", + "GoBinaryFieldSet", + "JavaFieldSet", + "JvmArtifactFieldSet", + "KotlinFieldSet", + "PexBinaryFieldSet", + "PyOxidizerFieldSet", + "PythonRequirementFieldSet", + "PythonSourceFieldSet", + "RunNodeBuildScriptFieldSet", + "RunPyenvInstallFieldSet", + "RunShellCommand", + "ScalaFieldSet", + "SystemBinaryFieldSet" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.util_rules.faas.build_python_faas" + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_RunNodeBuildScriptFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet", + "pants.core.goals.run.run", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" ] }, - "pants.backend.python.util_rules.python_sources.PythonSourceFiles": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.python_sources.strip_python_sources" - ], + "pants.core.goals.run.RunInSandboxRequest": { + "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.unions" + "pants.jvm.package.deploy_jar" ], "dependents": [ - "pants.backend.python", - "pants.backend.python.lint.pylint", - "pants.backend.python.typecheck.mypy" + "pants.backend.experimental.adhoc", + "pants.backend.shell" ], - "documentation": "Sources that can be introspected by Python, relative to a set of source roots.\n\nSpecifically, this will filter out to only have Python, and, optionally, resource and\nfile targets; and will add any missing `__init__.py` files to ensure that modules are\nrecognized correctly.\n\nUse-cases that introspect Python source code (e.g., the `test, `lint`, `fmt` goals) can\nrequest this type to get relevant sources that are still relative to their source roots.\nThat way the paths they report are the unstripped ones the user is familiar with.\n\nThe sources can also be imported and used by Python (e.g., for the `test` goal), but only\nif sys.path is modified to include the source roots.", + "documentation": "A run request that launches the process in the sandbox for use as part of a build rule.\n\nThe arguments and environment should only use values relative to the build root (or prefixed\nwith `{chroot}`), or refer to binaries that were fetched with `BinaryPathRequest`.\n\nPresently, implementors can opt to use the existing as not guaranteeing hermeticity, which will\ninternally mark the rule as uncacheable. In such a case, non-safe APIs can be used, however,\nthis behavior can result in poorer performance, and only exists as a stop-gap while\nimplementors work to make sure their `RunRequest`-generating rules can be used in a hermetic\ncontext, or writing new custom rules. (See the Plugin Upgrade Guide for details).", "is_union": false, - "module": "pants.backend.python.util_rules.python_sources", - "name": "PythonSourceFiles", - "provider": "pants.backend.python", + "module": "pants.core.goals.run", + "name": "RunInSandboxRequest", + "provider": "pants.backend.docker, pants.backend.experimental.adhoc, pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.kotlin, pants.backend.experimental.python.packaging.pyoxidizer, pants.backend.experimental.scala, pants.backend.python, pants.backend.python.providers.experimental.pyenv.custom_install, pants.backend.shell", "returned_by_rules": [ - "pants.backend.python.util_rules.python_sources.prepare_python_sources" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "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", "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" - ] - }, - "pants.backend.python.util_rules.python_sources.PythonSourceFilesRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.python_sources.prepare_python_sources" + "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunPyenvInstallFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunShellCommand", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_RunNodeBuildScriptFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet" ], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "PythonSourceFilesRequest(targets: 'Iterable[Target]', *, include_resources: 'bool' = True, include_files: 'bool' = False) -> 'None'", - "is_union": false, - "module": "pants.backend.python.util_rules.python_sources", - "name": "PythonSourceFilesRequest", - "provider": "pants.backend.python", - "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "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", - "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.package_dists.get_sources", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" ] }, - "pants.backend.python.util_rules.python_sources.StrippedPythonSourceFiles": { + "pants.core.goals.run.RunRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [ + "builtins", + "pants.backend.awslambda.python", + "pants.backend.experimental.debian", + "pants.backend.experimental.helm", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.backend.google_cloud_function.python", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process", + "pants.engine.target", + "pants.jvm.package.deploy_jar", + "pants.jvm.target_types" + ], "dependents": [ + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.scala", "pants.backend.python", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.pylint" + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.core" ], - "documentation": "A PythonSourceFiles that has had its source roots stripped.", + "documentation": "RunRequest(*, digest: 'Digest', args: 'Iterable[str]', extra_env: 'Optional[Mapping[str, str]]' = None, immutable_input_digests: 'Mapping[str, Digest] | None' = None, append_only_caches: 'Mapping[str, str] | None' = None) -> 'None'", "is_union": false, - "module": "pants.backend.python.util_rules.python_sources", - "name": "StrippedPythonSourceFiles", - "provider": "pants.backend.python", + "module": "pants.core.goals.run", + "name": "RunRequest", + "provider": "pants.backend.docker, pants.backend.experimental.adhoc, pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.kotlin, pants.backend.experimental.python.packaging.pyoxidizer, pants.backend.experimental.scala, pants.backend.python, pants.backend.python.providers.experimental.pyenv, pants.backend.python.providers.experimental.pyenv.custom_install, pants.backend.shell", "returned_by_rules": [ - "pants.backend.python.util_rules.python_sources.strip_python_sources" + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.go.goals.run_binary.create_go_binary_run_request", + "pants.backend.javascript.run.rules.run_node_build_script", + "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", + "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.shell.util_rules.shell_command.run_shell_command_request", + "pants.jvm.run.create_run_request", + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "pants.backend.python.util_rules.package_dists.get_sources", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_RunNodeBuildScriptFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet", + "pants.core.goals.run.run", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet" ] }, - "pants.backend.python.util_rules.vcs_versioning.AllVCSVersionTargets": { + "pants.core.goals.run.RunSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + "pants.core.goals.run.run" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.python"], "documentation": null, "is_union": false, - "module": "pants.backend.python.util_rules.vcs_versioning", - "name": "AllVCSVersionTargets", - "provider": "pants.backend.experimental.python", + "module": "pants.core.goals.run", + "name": "RunSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_run" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.core.goals.tailor.AllOwnedSources": { + "consumed_by_rules": [ + "pants.backend.cc.goals.tailor.find_putative_targets", + "pants.backend.codegen.avro.tailor.find_putative_targets", + "pants.backend.codegen.protobuf.tailor.find_putative_targets", + "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", + "pants.backend.docker.goals.tailor.find_putative_targets", + "pants.backend.go.goals.tailor.find_putative_go_package_target", + "pants.backend.go.goals.tailor.find_putative_go_targets", + "pants.backend.helm.goals.tailor.find_putative_helm_targets", + "pants.backend.java.goals.tailor.find_putative_targets", + "pants.backend.javascript.goals.tailor.find_putative_js_targets", + "pants.backend.javascript.goals.tailor.find_putative_package_json_targets", + "pants.backend.kotlin.goals.tailor.find_putative_targets", + "pants.backend.openapi.goals.tailor.find_putative_targets", + "pants.backend.python.goals.tailor.find_putative_targets", + "pants.backend.scala.goals.tailor.find_putative_targets", + "pants.backend.shell.goals.tailor.find_putative_targets", + "pants.backend.swift.goals.tailor.find_putative_targets", + "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi", + "pants.backend.experimental.scala", + "pants.backend.experimental.swift", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.shell" + ], + "documentation": "All files in the project already owned by targets.", + "is_union": false, + "module": "pants.core.goals.tailor", + "name": "AllOwnedSources", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.python.util_rules.vcs_versioning.find_all_vcs_version_targets" + "pants.core.goals.tailor.determine_all_owned_sources" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.python.util_rules.vcs_versioning.GeneratePythonFromSetuptoolsSCMRequest": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm" + "pants.core.goals.tailor.DisjointSourcePutativeTarget": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go", + "pants.engine.fs", + "pants.engine.target" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.util_rules.vcs_versioning", - "name": "GeneratePythonFromSetuptoolsSCMRequest", - "provider": "pants.backend.experimental.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateSourcesRequest", - "used_in_rules": [] - }, - "pants.backend.python.util_rules.vcs_versioning.PythonVCSVersionMappingMarker": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + "dependents": [ + "pants.core" ], - "dependencies": ["pants.backend.python"], - "dependents": ["pants.backend.experimental.python"], - "documentation": null, - "is_union": false, - "module": "pants.backend.python.util_rules.vcs_versioning", - "name": "PythonVCSVersionMappingMarker", - "provider": "pants.backend.experimental.python", - "returned_by_rules": [], - "union_members": [], - "union_type": "FirstPartyPythonMappingImplMarker", - "used_in_rules": [] - }, - "pants.backend.python.util_rules.vcs_versioning.VCSVersionPythonResolveField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "documentation": "Putative target whose sources don't overlap with those of any existing targets.", "is_union": false, - "module": "pants.backend.python.util_rules.vcs_versioning", - "name": "VCSVersionPythonResolveField", - "provider": "pants.backend.experimental.python", - "returned_by_rules": [], + "module": "pants.core.goals.tailor", + "name": "DisjointSourcePutativeTarget", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.goals.tailor.restrict_conflicting_sources" + ], "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.core.goals.tailor.tailor" + ] }, - "pants.backend.scala.bsp.rules.HandleScalacOptionsRequest": { + "pants.core.goals.tailor.EditBuildFilesRequest": { "consumed_by_rules": [ - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request" + "pants.core.goals.tailor.edit_build_files" ], "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "HandleScalacOptionsRequest(bsp_target_id: 'BuildTargetIdentifier')", + "dependents": [ + "pants.core" + ], + "documentation": "EditBuildFilesRequest(putative_targets: 'PutativeTargets')", "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "HandleScalacOptionsRequest", - "provider": "pants.backend.scala.bsp.rules", + "module": "pants.core.goals.tailor", + "name": "EditBuildFilesRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.bsp.rules.bsp_scalac_options_request" + "pants.core.goals.tailor.tailor" ] }, - "pants.backend.scala.bsp.rules.HandleScalacOptionsResult": { + "pants.core.goals.tailor.EditedBuildFiles": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.scala.bsp.rules", - "pants.base.build_root", - "pants.core", + "pants.backend.url_handlers.s3", "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "HandleScalacOptionsResult(item: 'ScalacOptionsItem')", + "dependents": [ + "pants.core" + ], + "documentation": "EditedBuildFiles(digest: 'Digest', created_paths: 'tuple[str, ...]', updated_paths: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "HandleScalacOptionsResult", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.tailor", + "name": "EditedBuildFiles", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request" + "pants.core.goals.tailor.edit_build_files" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.bsp.rules.bsp_scalac_options_request" + "pants.core.goals.tailor.tailor" ] }, - "pants.backend.scala.bsp.rules.ScalaBSPBuildTargetsMetadataRequest": { + "pants.core.goals.tailor.PutativeTarget": { "consumed_by_rules": [ - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata" + "pants.core.goals.tailor.restrict_conflicting_sources" ], - "dependencies": ["pants.bsp.util_rules.targets"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "A potential target to add, detected by various heuristics.\n\nThis class uses the term \"target\" in the loose sense. It can also represent an invocation of a\ntarget-generating macro.", "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ScalaBSPBuildTargetsMetadataRequest", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.tailor", + "name": "PutativeTarget", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "BSPBuildTargetsMetadataRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.core.goals.tailor.tailor" + ] }, - "pants.backend.scala.bsp.rules.ScalaBSPCompileRequest": { + "pants.core.goals.tailor.PutativeTargets": { "consumed_by_rules": [ - "pants.backend.scala.bsp.rules.bsp_scala_compile_request" + "pants.core.goals.tailor.rename_conflicting_targets" ], - "dependencies": ["pants.bsp.util_rules.targets"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaBSPCompileRequest(bsp_target: 'BSPBuildTargetInternal', field_sets: 'tuple[_FS, ...]', task_id: 'TaskId')", + "dependencies": [ + "builtins", + "pants.backend.url_handlers.s3", + "pants.engine.fs", + "pants.engine.target" + ], + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ScalaBSPCompileRequest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.goals.tailor", + "name": "PutativeTargets", + "provider": "pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.docker, pants.backend.experimental.cc, pants.backend.experimental.codegen.avro.java, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.kotlin, pants.backend.experimental.openapi, pants.backend.experimental.rust, pants.backend.experimental.scala, pants.backend.experimental.swift, pants.backend.experimental.terraform, pants.backend.python, pants.backend.shell, pants.core", + "returned_by_rules": [ + "pants.backend.cc.goals.tailor.find_putative_targets", + "pants.backend.codegen.avro.tailor.find_putative_targets", + "pants.backend.codegen.protobuf.tailor.find_putative_targets", + "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", + "pants.backend.docker.goals.tailor.find_putative_targets", + "pants.backend.go.goals.tailor.find_putative_go_targets", + "pants.backend.helm.goals.tailor.find_putative_helm_targets", + "pants.backend.java.goals.tailor.find_putative_targets", + "pants.backend.javascript.goals.tailor.find_putative_js_targets", + "pants.backend.javascript.goals.tailor.find_putative_package_json_targets", + "pants.backend.kotlin.goals.tailor.find_putative_targets", + "pants.backend.openapi.goals.tailor.find_putative_targets", + "pants.backend.python.goals.tailor.find_putative_targets", + "pants.backend.rust.goals.tailor.find_putative_rust_targets", + "pants.backend.scala.goals.tailor.find_putative_targets", + "pants.backend.shell.goals.tailor.find_putative_targets", + "pants.backend.swift.goals.tailor.find_putative_targets", + "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets" + ], "union_members": [], - "union_type": "BSPCompileRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.core.goals.tailor.tailor" + ] }, - "pants.backend.scala.bsp.rules.ScalaBSPDependencyModulesRequest": { - "consumed_by_rules": [ - "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules" + "pants.core.goals.tailor.PutativeTargetsRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.swift", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.shell" ], - "dependencies": ["pants.bsp.util_rules.targets"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaBSPDependencyModulesRequest(field_sets: 'tuple[_FS, ...]')", - "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ScalaBSPDependencyModulesRequest", - "provider": "pants.backend.experimental.scala", + "documentation": "PutativeTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": true, + "module": "pants.core.goals.tailor", + "name": "PutativeTargetsRequest", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], - "union_type": "BSPDependencyModulesRequest", - "used_in_rules": [] + "union_members": [ + "PutativeAvroTargetsRequest", + "PutativeCCTargetsRequest", + "PutativeDockerTargetsRequest", + "PutativeGoTargetsRequest", + "PutativeHelmTargetsRequest", + "PutativeJSTargetsRequest", + "PutativeJavaTargetsRequest", + "PutativeKotlinTargetsRequest", + "PutativeOpenApiTargetsRequest", + "PutativePackageJsonTargetsRequest", + "PutativeProtobufTargetsRequest", + "PutativePythonTargetsRequest", + "PutativeRustTargetsRequest", + "PutativeScalaTargetsRequest", + "PutativeShellTargetsRequest", + "PutativeSwiftTargetsRequest", + "PutativeTerraformTargetsRequest", + "PutativeThriftTargetsRequest" + ], + "union_type": null, + "used_in_rules": [ + "pants.core.goals.tailor.tailor" + ] }, - "pants.backend.scala.bsp.rules.ScalaBSPLanguageSupport": { + "pants.core.goals.tailor.TailorGoal": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.util_rules.lifecycle"], + "dependencies": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.swift", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.shell", + "pants.base.specs", + "pants.engine.console", + "pants.engine.fs", + "pants.engine.internals.build_files", + "pants.engine.unions" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ScalaBSPLanguageSupport", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.goals.tailor", + "name": "TailorGoal", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.goals.tailor.tailor" + ], "union_members": [], - "union_type": "BSPLanguageSupport", + "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.bsp.rules.ScalaBSPResourcesRequest": { + "pants.core.goals.tailor.TailorSubsystem": { "consumed_by_rules": [ - "pants.backend.scala.bsp.rules.bsp_scala_resources_request" + "pants.core.goals.tailor.edit_build_files", + "pants.core.goals.tailor.tailor" ], - "dependencies": ["pants.bsp.util_rules.targets"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaBSPResourcesRequest(bsp_target: 'BSPBuildTargetInternal', field_sets: 'tuple[_FS, ...]')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ScalaBSPResourcesRequest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.goals.tailor", + "name": "TailorSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_tailor" + ], "union_members": [], - "union_type": "BSPResourcesRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.bsp.rules.ScalaMainClassesHandlerMapping": { + "pants.core.goals.tailor.UniquelyNamedPutativeTargets": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], - "dependents": [], - "documentation": null, + "dependencies": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.swift", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.shell" + ], + "dependents": [ + "pants.core" + ], + "documentation": "Putative targets that have no name conflicts with existing targets (or each other).", "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ScalaMainClassesHandlerMapping", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.goals.tailor", + "name": "UniquelyNamedPutativeTargets", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.goals.tailor.rename_conflicting_targets" + ], "union_members": [], - "union_type": "BSPHandlerMapping", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.core.goals.tailor.tailor" + ] }, - "pants.backend.scala.bsp.rules.ScalaTestClassesHandlerMapping": { - "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], - "dependents": [], + "pants.core.goals.test.Batch": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JSTestRequest", + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_JSTestRequest" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], "documentation": null, - "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ScalaTestClassesHandlerMapping", - "provider": "pants.backend.experimental.scala", + "is_union": true, + "module": "pants.core.goals.test", + "name": "Batch", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [], "union_members": [], - "union_type": "BSPHandlerMapping", + "union_type": "Batch", "used_in_rules": [] }, - "pants.backend.scala.bsp.rules.ScalacOptionsHandlerMapping": { - "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], - "dependents": [], - "documentation": null, + "pants.core.goals.test.BuildPackageDependenciesRequest": { + "consumed_by_rules": [ + "pants.core.goals.test.build_runtime_package_dependencies" + ], + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "BuildPackageDependenciesRequest(field: 'RuntimePackageDependenciesField')", "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ScalacOptionsHandlerMapping", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.test", + "name": "BuildPackageDependenciesRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "BSPHandlerMapping", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.python.goals.pytest_runner.setup_runtime_packages", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + ] }, - "pants.backend.scala.bsp.rules.ThirdpartyModules": { + "pants.core.goals.test.BuiltPackageDependencies": { "consumed_by_rules": [], "dependencies": [ - "builtins", + "pants.backend.awslambda.python", + "pants.backend.docker", + "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.scala.bsp.rules", - "pants.core", - "pants.engine.target", - "pants.jvm.compile", - "pants.jvm.resolve.coursier_fetch", - "pants.jvm.resolve.key" + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.google_cloud_function.python", + "pants.backend.python" ], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ThirdpartyModules(resolve: 'CoursierResolveKey', entries: 'dict[CoursierLockfileEntry, ClasspathEntry]', merged_digest: 'Digest')", + "dependents": [ + "pants.backend.python", + "pants.backend.shell" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ThirdpartyModules", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.test", + "name": "BuiltPackageDependencies", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.bsp.rules.collect_thirdparty_modules" + "pants.core.goals.test.build_runtime_package_dependencies" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", - "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules" + "pants.backend.python.goals.pytest_runner.setup_runtime_packages", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" ] }, - "pants.backend.scala.bsp.rules.ThirdpartyModulesRequest": { - "consumed_by_rules": [ - "pants.backend.scala.bsp.rules.collect_thirdparty_modules" - ], + "pants.core.goals.test.CoverageDataCollection": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ThirdpartyModulesRequest(addresses: 'Addresses')", - "is_union": false, - "module": "pants.backend.scala.bsp.rules", - "name": "ThirdpartyModulesRequest", - "provider": "pants.backend.scala.bsp.rules", + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.javascript", + "pants.backend.python" + ], + "documentation": null, + "is_union": true, + "module": "pants.core.goals.test", + "name": "CoverageDataCollection", + "provider": "pants.core", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "GoCoverageDataCollection", + "JSCoverageDataCollection", + "PytestCoverageDataCollection" + ], "union_type": null, "used_in_rules": [ - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", - "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules" + "pants.core.goals.test.run_tests" ] }, - "pants.backend.scala.bsp.spec.ScalaMainClassesResult": { + "pants.core.goals.test.CoverageReports": { "consumed_by_rules": [], - "dependencies": ["pants.backend.scala.bsp.spec"], - "dependents": [], - "documentation": "ScalaMainClassesResult(items: 'tuple[ScalaMainClassesItem, ...]', origin_id: 'str | None' = None)", + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process", + "pants.option.global_options" + ], + "dependents": [ + "pants.core" + ], + "documentation": "CoverageReports(reports: 'tuple[CoverageReport, ...]')", "is_union": false, - "module": "pants.backend.scala.bsp.spec", - "name": "ScalaMainClassesResult", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.test", + "name": "CoverageReports", + "provider": "pants.backend.experimental.go, pants.backend.experimental.javascript, pants.backend.python", "returned_by_rules": [ - "pants.backend.scala.bsp.rules.bsp_scala_main_classes_request" + "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports", + "pants.backend.javascript.goals.test.collect_coverage_reports", + "pants.backend.python.goals.coverage_py.generate_coverage_reports" ], "union_members": [], "union_type": null, + "used_in_rules": [ + "pants.core.goals.test.run_tests" + ] + }, + "pants.core.goals.test.PartitionRequest": { + "consumed_by_rules": [ + "pants.backend.javascript.goals.test.partition_nodejs_tests" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, + "is_union": true, + "module": "pants.core.goals.test", + "name": "PartitionRequest", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [], + "union_members": [], + "union_type": "PartitionRequest", "used_in_rules": [] }, - "pants.backend.scala.bsp.spec.ScalaTestClassesResult": { + "pants.core.goals.test.Test": { "consumed_by_rules": [], - "dependencies": ["pants.backend.scala.bsp.spec"], + "dependencies": [ + "builtins", + "pants.backend.build_files.fix.deprecations", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.cue", + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin.lint.ktlint", + "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", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.tools.semgrep", + "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.visibility", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo", + "pants.backend.url_handlers.s3", + "pants.engine.console", + "pants.engine.desktop", + "pants.engine.environment", + "pants.engine.fs", + "pants.engine.internals.session", + "pants.engine.process", + "pants.engine.target", + "pants.engine.unions" + ], "dependents": [], - "documentation": "ScalaTestClassesResult(items: 'tuple[ScalaTestClassesItem, ...]', origin_id: 'str | None' = None)", + "documentation": null, "is_union": false, - "module": "pants.backend.scala.bsp.spec", - "name": "ScalaTestClassesResult", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.test", + "name": "Test", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.bsp.rules.bsp_scala_test_classes_request" + "pants.core.goals.test.run_tests" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.bsp.spec.ScalacOptionsResult": { + "pants.core.goals.test.TestDebugAdapterRequest": { "consumed_by_rules": [], - "dependencies": ["pants.backend.scala.bsp.spec"], - "dependents": [], - "documentation": "ScalacOptionsResult(items: 'tuple[ScalacOptionsItem, ...]')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.core" + ], + "documentation": "Like TestDebugRequest, but launches the test process using the relevant Debug Adapter server.\n\nThe process should be launched waiting for the client to connect.", "is_union": false, - "module": "pants.backend.scala.bsp.spec", - "name": "ScalacOptionsResult", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.test", + "name": "TestDebugAdapterRequest", + "provider": "pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", "returned_by_rules": [ - "pants.backend.scala.bsp.rules.bsp_scalac_options_request" + "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_GoTestRequest", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_HelmUnitTestRequest", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JSTestRequest", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JunitTestRequest", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ScalatestTestRequest", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ShellTestRequest", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_Shunit2TestRequest" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.core.goals.test.run_tests" + ] }, - "pants.backend.scala.compile.scalac.CompileScalaSourceRequest": { - "consumed_by_rules": [ - "pants.backend.scala.compile.scalac.compile_scala_source" + "pants.core.goals.test.TestDebugRequest": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.docker", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.core", + "pants.engine.process" ], - "dependencies": ["pants.jvm.compile"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, + "dependents": [ + "pants.core" + ], + "documentation": "TestDebugRequest(process: 'InteractiveProcess')", "is_union": false, - "module": "pants.backend.scala.compile.scalac", - "name": "CompileScalaSourceRequest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.goals.test", + "name": "TestDebugRequest", + "provider": "pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", + "returned_by_rules": [ + "pants.backend.python.goals.pytest_runner.debug_python_test", + "pants.backend.scala.test.scalatest.setup_scalatest_debug_request", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test", + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_GoTestRequest", + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_HelmUnitTestRequest", + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_JSTestRequest", + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_ShellTestRequest", + "pants.jvm.test.junit.setup_junit_debug_request" + ], "union_members": [], - "union_type": "ClasspathEntryRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.core.goals.test.run_tests" + ] }, - "pants.backend.scala.compile.scalac_plugins.AllScalaPluginTargets": { + "pants.core.goals.test.TestExtraEnv": { "consumed_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target" + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.backend.shell.goals.test.test_shell_command", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.jvm.test.junit.setup_junit_for_target" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.shell" + ], + "documentation": "TestExtraEnv(env: 'EnvironmentVars')", "is_union": false, - "module": "pants.backend.scala.compile.scalac_plugins", - "name": "AllScalaPluginTargets", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.test", + "name": "TestExtraEnv", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.all_scala_plugin_targets" + "pants.core.goals.test.get_filtered_environment" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.compile.scalac_plugins.ScalaPluginTargetsForTarget": { + "pants.core.goals.test.TestFieldSet": { "consumed_by_rules": [], - "dependencies": [ - "builtins", + "dependencies": [], + "dependents": [ "pants.backend.experimental.go", + "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.scala.compile.scalac_plugins", - "pants.engine.environment" + "pants.backend.experimental.javascript", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.shell" ], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaPluginTargetsForTarget(plugins: 'Targets', artifacts: 'Targets')", - "is_union": false, - "module": "pants.backend.scala.compile.scalac_plugins", - "name": "ScalaPluginTargetsForTarget", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target" + "documentation": "The fields necessary to run tests on a target.", + "is_union": true, + "module": "pants.core.goals.test", + "name": "TestFieldSet", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "GoTestFieldSet", + "HelmUnitTestFieldSet", + "JSTestFieldSet", + "JunitTestFieldSet", + "PythonTestFieldSet", + "ScalatestTestFieldSet", + "Shunit2FieldSet", + "TestShellCommandFieldSet" ], - "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies" - ] + "used_in_rules": [] }, - "pants.backend.scala.compile.scalac_plugins.ScalaPlugins": { + "pants.core.goals.test.TestRequest": { "consumed_by_rules": [], - "dependencies": [ - "builtins", + "dependencies": [], + "dependents": [ "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.scala.compile.scalac_plugins", + "pants.backend.experimental.javascript", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.shell" + ], + "documentation": "Base class for plugin types wanting to be run as part of `test`.\n\nPlugins should define a new type which subclasses this type, and set the\nappropriate class variables.\nE.g.\n class DryCleaningRequest(TestRequest):\n tool_subsystem = DryCleaningSubsystem\n field_set_type = DryCleaningFieldSet\n\nThen register the rules which tell Pants about your plugin.\nE.g.\n def rules():\n return [\n *collect_rules(),\n *DryCleaningRequest.rules(),\n ]", + "is_union": true, + "module": "pants.core.goals.test", + "name": "TestRequest", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "GoTestRequest", + "HelmUnitTestRequest", + "JSTestRequest", + "JunitTestRequest", + "PyTestRequest", + "ScalatestTestRequest", + "ShellTestRequest", + "Shunit2TestRequest" + ], + "union_type": null, + "used_in_rules": [] + }, + "pants.core.goals.test.TestResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.docker", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.target" + "pants.engine.process" ], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaPlugins(names: 'tuple[str, ...]', classpath: 'ClasspathEntry')", + "dependents": [ + "pants.core" + ], + "documentation": "TestResult(exit_code: 'int | None', stdout_bytes: 'bytes', stdout_digest: 'FileDigest', stderr_bytes: 'bytes', stderr_digest: 'FileDigest', addresses: 'tuple[Address, ...]', output_setting: 'ShowOutput', result_metadata: 'ProcessResultMetadata | None', partition_description: 'str | None' = None, coverage_data: 'CoverageData | None' = None, xml_results: 'Snapshot | None' = None, extra_output: 'Snapshot | None' = None, log_extra_output: 'bool' = False, process_results: 'Tuple[FallibleProcessResult, ...]' = , output_simplifier: 'Simplifier' = Simplifier(strip_chroot_path=True, strip_formatting=False))", "is_union": false, - "module": "pants.backend.scala.compile.scalac_plugins", - "name": "ScalaPlugins", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.test", + "name": "TestResult", + "provider": "pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", "returned_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.fetch_plugins" + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.helm.test.unittest.run_helm_unittest", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.python.goals.pytest_runner.run_python_tests", + "pants.backend.scala.test.scalatest.run_scalatest_test", + "pants.backend.shell.goals.test.test_shell_command", + "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", + "pants.jvm.test.junit.run_junit_test" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.compile.scalac.compile_scala_source" + "pants.core.goals.test.run_tests" ] }, - "pants.backend.scala.compile.scalac_plugins.ScalaPluginsForTargetRequest": { + "pants.core.goals.test.TestSubsystem": { "consumed_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target" + "construct_env_aware_scope_test", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.helm.test.unittest.run_helm_unittest", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.python.goals.pytest_runner.run_python_tests", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.scala.test.scalatest.run_scalatest_test", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.backend.shell.goals.test.test_shell_command", + "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.core.goals.test.run_tests", + "pants.jvm.test.junit.run_junit_test", + "pants.jvm.test.junit.setup_junit_for_target" ], - "dependencies": ["pants.backend.experimental.java"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaPluginsForTargetRequest(target: 'Target', resolve_name: 'str')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.shell", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.scala.compile.scalac_plugins", - "name": "ScalaPluginsForTargetRequest", - "provider": "pants.backend.experimental.scala, pants.backend.scala.compile.scalac_plugins", + "module": "pants.core.goals.test", + "name": "TestSubsystem", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request" + "construct_scope_test" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.scala.compile.scalac.compile_scala_source" - ] + "used_in_rules": [] }, - "pants.backend.scala.compile.scalac_plugins.ScalaPluginsForTargetWithoutResolveRequest": { + "pants.core.goals.update_build_files.FormatWithBlackRequest": { "consumed_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request" + "pants.core.goals.update_build_files.format_build_file_with_black" ], "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaPluginsForTargetWithoutResolveRequest(target: 'Target')", + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.scala.compile.scalac_plugins", - "name": "ScalaPluginsForTargetWithoutResolveRequest", - "provider": "pants.backend.scala.compile.scalac_plugins", + "module": "pants.core.goals.update_build_files", + "name": "FormatWithBlackRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies" - ] + "union_type": "RewrittenBuildFileRequest", + "used_in_rules": [] }, - "pants.backend.scala.compile.scalac_plugins.ScalaPluginsRequest": { + "pants.core.goals.update_build_files.FormatWithYapfRequest": { "consumed_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.fetch_plugins" + "pants.core.goals.update_build_files.format_build_file_with_yapf" ], "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaPluginsRequest(plugins: 'Targets', artifacts: 'Targets', resolve: 'CoursierResolveKey')", - "is_union": false, - "module": "pants.backend.scala.compile.scalac_plugins", - "name": "ScalaPluginsRequest", - "provider": "pants.backend.scala.compile.scalac_plugins", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.compile.scalac.compile_scala_source" - ] - }, - "pants.backend.scala.dependency_inference.rules.InferScalaLibraryDependencyRequest": { - "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency" + "dependents": [ + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.dependency_inference.rules", - "name": "InferScalaLibraryDependencyRequest", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.update_build_files", + "name": "FormatWithYapfRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "RewrittenBuildFileRequest", "used_in_rules": [] }, - "pants.backend.scala.dependency_inference.rules.InferScalaPluginDependenciesRequest": { + "pants.core.goals.update_build_files.RenameDeprecatedFieldsRequest": { "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies" + "pants.core.goals.update_build_files.maybe_rename_deprecated_fields" + ], + "dependencies": [], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.dependency_inference.rules", - "name": "InferScalaPluginDependenciesRequest", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.update_build_files", + "name": "RenameDeprecatedFieldsRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "RewrittenBuildFileRequest", "used_in_rules": [] }, - "pants.backend.scala.dependency_inference.rules.InferScalaSourceDependencies": { + "pants.core.goals.update_build_files.RenameDeprecatedTargetsRequest": { "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis" + "pants.core.goals.update_build_files.maybe_rename_deprecated_targets" + ], + "dependencies": [], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.dependency_inference.rules", - "name": "InferScalaSourceDependencies", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.update_build_files", + "name": "RenameDeprecatedTargetsRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "InferDependenciesRequest", + "union_type": "RewrittenBuildFileRequest", "used_in_rules": [] }, - "pants.backend.scala.dependency_inference.rules.ScalaRuntimeForResolve": { + "pants.core.goals.update_build_files.RewrittenBuildFile": { "consumed_by_rules": [], "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.scala.dependency_inference.rules" + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.engine.fs" ], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaRuntimeForResolve(addresses: 'frozenset[Address]')", + "dependents": [ + "pants.core" + ], + "documentation": "RewrittenBuildFile(path: 'str', lines: 'tuple[str, ...]', change_descriptions: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.scala.dependency_inference.rules", - "name": "ScalaRuntimeForResolve", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.update_build_files", + "name": "RewrittenBuildFile", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve" + "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf", + "pants.core.goals.update_build_files.maybe_rename_deprecated_fields", + "pants.core.goals.update_build_files.maybe_rename_deprecated_targets" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency" + "pants.core.goals.update_build_files.update_build_files" ] }, - "pants.backend.scala.dependency_inference.rules.ScalaRuntimeForResolveRequest": { - "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve" - ], + "pants.core.goals.update_build_files.RewrittenBuildFileRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaRuntimeForResolveRequest(resolve_name: 'str')", - "is_union": false, - "module": "pants.backend.scala.dependency_inference.rules", - "name": "ScalaRuntimeForResolveRequest", - "provider": "pants.backend.scala.dependency_inference.rules", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency" - ] - }, - "pants.backend.scala.dependency_inference.scala_parser.AnalyzeScalaSourceRequest": { - "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies" - ], - "dependencies": [ - "pants.backend.experimental.go", - "pants.backend.experimental.java", + "dependents": [ "pants.core" ], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "AnalyzeScalaSourceRequest(source_files: 'SourceFiles', scala_version: 'str', source3: 'bool')", - "is_union": false, - "module": "pants.backend.scala.dependency_inference.scala_parser", - "name": "AnalyzeScalaSourceRequest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request" + "documentation": "RewrittenBuildFileRequest(path: 'str', lines: 'tuple[str, ...]', colors_enabled: 'bool')", + "is_union": true, + "module": "pants.core.goals.update_build_files", + "name": "RewrittenBuildFileRequest", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [ + "FormatWithBlackRequest", + "FormatWithYapfRequest", + "RenameDeprecatedFieldsRequest", + "RenameDeprecatedTargetsRequest" ], - "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.core.goals.update_build_files.update_build_files" + ] }, - "pants.backend.scala.dependency_inference.scala_parser.FallibleScalaSourceDependencyAnalysisResult": { - "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis" - ], + "pants.core.goals.update_build_files.UpdateBuildFilesGoal": { + "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.core", - "pants.engine.process" + "pants.backend.url_handlers.s3", + "pants.base.specs", + "pants.engine.console", + "pants.engine.fs", + "pants.engine.internals.build_files", + "pants.engine.unions" ], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "FallibleScalaSourceDependencyAnalysisResult(process_result: 'FallibleProcessResult')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.scala.dependency_inference.scala_parser", - "name": "FallibleScalaSourceDependencyAnalysisResult", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.update_build_files", + "name": "UpdateBuildFilesGoal", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies" + "pants.core.goals.update_build_files.update_build_files" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.dependency_inference.scala_parser.ScalaParserCompiledClassfiles": { + "pants.core.goals.update_build_files.UpdateBuildFilesSubsystem": { "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies" + "pants.core.goals.update_build_files.update_build_files" ], "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala.lint.scalafmt", + "pants.option.scope" + ], + "dependents": [ "pants.core" ], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.dependency_inference.scala_parser", - "name": "ScalaParserCompiledClassfiles", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.goals.update_build_files", + "name": "UpdateBuildFilesSubsystem", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles" + "construct_scope_update_build_files" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.dependency_inference.scala_parser.ScalaParserToolLockfileSentinel": { + "pants.core.subsystems.debug_adapter.DebugAdapterSubsystem": { "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.generate_scala_parser_lockfile_request" + "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", + "pants.core.goals.run.run", + "pants.core.goals.test.run_tests" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, - "is_union": false, - "module": "pants.backend.scala.dependency_inference.scala_parser", - "name": "ScalaParserToolLockfileSentinel", - "provider": "pants.backend.experimental.scala, pants.backend.scala.dependency_inference.scala_parser", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateToolLockfileSentinel", - "used_in_rules": [ - "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.dependency_inference.scala_parser.ScalaSourceDependencyAnalysis": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.helm", "pants.engine.fs"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaSourceDependencyAnalysis(provided_symbols: 'FrozenOrderedSet[ScalaProvidedSymbol]', provided_symbols_encoded: 'FrozenOrderedSet[ScalaProvidedSymbol]', imports_by_scope: 'FrozenDict[str, tuple[ScalaImport, ...]]', consumed_symbols_by_scope: 'FrozenDict[str, FrozenOrderedSet[str]]', scopes: 'FrozenOrderedSet[str]')", - "is_union": false, - "module": "pants.backend.scala.dependency_inference.scala_parser", - "name": "ScalaSourceDependencyAnalysis", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis" + "dependencies": [ + "pants.option.scope" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", - "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols" - ] - }, - "pants.backend.scala.dependency_inference.symbol_mapper.AllScalaTargets": { - "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", - "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" + "dependents": [ + "pants.backend.python", + "pants.core" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.dependency_inference.symbol_mapper", - "name": "AllScalaTargets", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.subsystems.debug_adapter", + "name": "DebugAdapterSubsystem", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.dependency_inference.symbol_mapper.find_all_scala_targets" + "construct_scope_debug_adapter" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.dependency_inference.symbol_mapper.FirstPartyScalaTargetsMappingRequest": { + "pants.core.subsystems.python_bootstrap.EnvironmentAware": { "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols" + "pants.core.subsystems.python_bootstrap.python_bootstrap" + ], + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.jvm.dependency_inference.symbol_mapper"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, - "is_union": false, - "module": "pants.backend.scala.dependency_inference.symbol_mapper", - "name": "FirstPartyScalaTargetsMappingRequest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], - "union_members": [], - "union_type": "FirstPartyMappingRequest", - "used_in_rules": [] - }, - "pants.backend.scala.goals.check.ScalacCheckRequest": { - "consumed_by_rules": ["pants.backend.scala.goals.check.scalac_check"], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.goals.check", - "name": "ScalacCheckRequest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.subsystems.python_bootstrap", + "name": "EnvironmentAware", + "provider": "pants.core", + "returned_by_rules": [ + "construct_env_aware_scope_python_bootstrap" + ], "union_members": [], - "union_type": "CheckRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.goals.repl.ScalaRepl": { + "pants.core.subsystems.python_bootstrap.PythonBootstrap": { "consumed_by_rules": [ - "pants.backend.scala.goals.repl.create_scala_repl_request" + "pants.backend.python.util_rules.pex_environment.find_pex_python" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "PythonBootstrap(interpreter_names: 'tuple[str, ...]', interpreter_search_paths: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.scala.goals.repl", - "name": "ScalaRepl", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.subsystems.python_bootstrap", + "name": "PythonBootstrap", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.subsystems.python_bootstrap.python_bootstrap" + ], "union_members": [], - "union_type": "ReplImplementation", + "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.goals.tailor.PutativeScalaTargetsRequest": { + "pants.core.subsystems.python_bootstrap.PythonBootstrapSubsystem": { "consumed_by_rules": [ - "pants.backend.scala.goals.tailor.find_putative_targets" + "construct_env_aware_scope_python_bootstrap", + "pants.core.util_rules.adhoc_binaries.download_python_binary" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "PutativeScalaTargetsRequest(dirs: 'tuple[str, ...]')", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.scala.goals.tailor", - "name": "PutativeScalaTargetsRequest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.subsystems.python_bootstrap", + "name": "PythonBootstrapSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_python_bootstrap" + ], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.lint.scalafmt.rules.GatherScalafmtConfigFilesRequest": { + "pants.core.subsystems.python_bootstrap._ExpandInterpreterSearchPathsRequest": { "consumed_by_rules": [ - "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files" + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" ], "dependencies": [], - "dependents": ["pants.backend.experimental.scala.lint.scalafmt"], - "documentation": "GatherScalafmtConfigFilesRequest(filepaths: 'tuple[str, ...]')", + "dependents": [ + "pants.core" + ], + "documentation": "_ExpandInterpreterSearchPathsRequest(interpreter_search_paths: 'Collection[str]', env_tgt: 'EnvironmentTarget')", "is_union": false, - "module": "pants.backend.scala.lint.scalafmt.rules", - "name": "GatherScalafmtConfigFilesRequest", - "provider": "pants.backend.scala.lint.scalafmt.rules", + "module": "pants.core.subsystems.python_bootstrap", + "name": "_ExpandInterpreterSearchPathsRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt" + "pants.core.subsystems.python_bootstrap.python_bootstrap" ] }, - "pants.backend.scala.lint.scalafmt.rules.ScalafmtConfigFiles": { + "pants.core.subsystems.python_bootstrap._SearchPaths": { "consumed_by_rules": [], - "dependencies": ["builtins", "pants.backend.scala.lint.scalafmt.rules"], - "dependents": ["pants.backend.experimental.scala.lint.scalafmt"], - "documentation": "ScalafmtConfigFiles(snapshot: 'Snapshot', source_dir_to_config_file: 'FrozenDict[str, str]')", + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.core" + ], + "documentation": "_SearchPaths(paths: 'tuple[str, ...]')", "is_union": false, - "module": "pants.backend.scala.lint.scalafmt.rules", - "name": "ScalafmtConfigFiles", - "provider": "pants.backend.experimental.scala.lint.scalafmt", + "module": "pants.core.subsystems.python_bootstrap", + "name": "_SearchPaths", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files" + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt" + "pants.core.subsystems.python_bootstrap.python_bootstrap" ] }, - "pants.backend.scala.lint.scalafmt.rules.ScalafmtRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.core.target_types.AllAssetTargets": { + "consumed_by_rules": [ + "pants.core.target_types.map_assets_by_path" + ], + "dependencies": [ + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.core" + ], + "documentation": "AllAssetTargets(resources: 'tuple[Target, ...]', files: 'tuple[Target, ...]')", "is_union": false, - "module": "pants.backend.scala.lint.scalafmt.rules", - "name": "ScalafmtRequest", - "provider": "pants.backend.experimental.scala.lint.scalafmt", - "returned_by_rules": [], + "module": "pants.core.target_types", + "name": "AllAssetTargets", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.target_types.find_all_assets" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.lint.scalafmt.rules.ScalafmtToolLockfileSentinel": { + "pants.core.target_types.AllAssetTargetsByPath": { "consumed_by_rules": [ - "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request" + "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.scala.lint.scalafmt"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm", + "pants.backend.python" + ], + "documentation": "AllAssetTargetsByPath(resources: 'FrozenDict[PurePath, frozenset[Target]]', files: 'FrozenDict[PurePath, frozenset[Target]]')", "is_union": false, - "module": "pants.backend.scala.lint.scalafmt.rules", - "name": "ScalafmtToolLockfileSentinel", - "provider": "pants.backend.experimental.scala.lint.scalafmt, pants.backend.scala.lint.scalafmt.rules", - "returned_by_rules": [], + "module": "pants.core.target_types", + "name": "AllAssetTargetsByPath", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.target_types.map_assets_by_path" + ], "union_members": [], - "union_type": "GenerateToolLockfileSentinel", + "union_type": null, "used_in_rules": [ - "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt" + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies" ] }, - "pants.backend.scala.lint.scalafmt.skip_field.SkipScalafmtField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "pants.core.target_types.ArchiveFieldSet": { + "consumed_by_rules": [ + "pants.core.target_types.package_archive_target" + ], + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "ArchiveFieldSet(address: 'Address', packages: 'ArchivePackagesField', files: 'ArchiveFilesField', format_field: 'ArchiveFormatField', output_path: 'OutputPathField')", "is_union": false, - "module": "pants.backend.scala.lint.scalafmt.skip_field", - "name": "SkipScalafmtField", - "provider": "pants.backend.experimental.scala.lint.scalafmt", + "module": "pants.core.target_types", + "name": "ArchiveFieldSet", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "PluginField", + "union_type": "PackageFieldSet", "used_in_rules": [] }, - "pants.backend.scala.lint.scalafmt.subsystem.ScalafmtSubsystem": { + "pants.core.target_types.GenerateFileSourceRequest": { "consumed_by_rules": [ - "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request", - "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt", - "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt" + "pants.core.target_types.hydrate_file_source" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.scala.lint.scalafmt"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.lint.scalafmt.subsystem", - "name": "ScalafmtSubsystem", - "provider": "pants.backend.experimental.scala.lint.scalafmt", - "returned_by_rules": ["construct_scope_scalafmt"], + "module": "pants.core.target_types", + "name": "GenerateFileSourceRequest", + "provider": "pants.core", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "GenerateSourcesRequest", "used_in_rules": [] }, - "pants.backend.scala.resolve.artifact.ScalaArtifactClasspathEntryRequest": { + "pants.core.target_types.GenerateResourceSourceRequest": { "consumed_by_rules": [ - "pants.backend.scala.resolve.artifact.scala_artifact_classpath" + "pants.core.target_types.hydrate_resource_source" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.jvm.compile"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.resolve.artifact", - "name": "ScalaArtifactClasspathEntryRequest", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.target_types", + "name": "GenerateResourceSourceRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "ClasspathEntryRequest", + "union_type": "GenerateSourcesRequest", "used_in_rules": [] }, - "pants.backend.scala.resolve.lockfile.ValidateResolveHasScalaRuntimeRequest": { + "pants.core.target_types.RelocateFilesViaCodegenRequest": { "consumed_by_rules": [ - "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" + "pants.core.target_types.relocate_files" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.jvm.goals.lockfile"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.resolve.lockfile", - "name": "ValidateResolveHasScalaRuntimeRequest", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.target_types", + "name": "RelocateFilesViaCodegenRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "ValidateJvmArtifactsForResolveRequest", + "union_type": "GenerateSourcesRequest", "used_in_rules": [] }, - "pants.backend.scala.subsystems.scala.ScalaSubsystem": { + "pants.core.util_rules.adhoc_binaries.GunzipBinary": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.goals.tailor.find_putative_targets", - "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve", - "pants.backend.scala.target_types.generate_jvm_artifact_targets" + "pants.core.util_rules.adhoc_binaries.find_gunzip_wrapper" ], - "dependencies": ["pants.option.scope"], + "dependencies": [], "dependents": [ - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.scala" + "pants.core" ], - "documentation": null, + "documentation": "GunzipBinary(python_binary: 'PythonBuildStandaloneBinary')", "is_union": false, - "module": "pants.backend.scala.subsystems.scala", - "name": "ScalaSubsystem", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": ["construct_scope_scala"], + "module": "pants.core.util_rules.adhoc_binaries", + "name": "GunzipBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.adhoc_binaries.find_gunzip", + "pants.core.util_rules.adhoc_binaries.find_gunzip_wrapper" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.core.util_rules.archive.maybe_extract_archive" + ] }, - "pants.backend.scala.subsystems.scala_infer.ScalaInferSubsystem": { + "pants.core.util_rules.adhoc_binaries.PythonBuildStandaloneBinary": { "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", - "pants.backend.scala.target_types.scala_settings_request" + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", + "pants.backend.python.util_rules.pex_environment.find_pex_python", + "pants.core.util_rules.adhoc_binaries.find_gunzip", + "pants.jvm.resolve.coursier_setup.setup_coursier" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.python.providers.experimental.pyenv", + "pants.core" + ], + "documentation": "A Python interpreter for use by `@rule` code as an alternative to BashBinary scripts.\n\nThis interpreter is provided by Python Build Standalone https://gregoryszorc.com/docs/python-build-standalone/main/,\nwhich has a few caveats. Namely it doesn't play nicely with third-party sdists. Meaning Pants'\nscripts being run by Python Build Standalone should avoid third-party sdists.", "is_union": false, - "module": "pants.backend.scala.subsystems.scala_infer", - "name": "ScalaInferSubsystem", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": ["construct_scope_scala_infer"], + "module": "pants.core.util_rules.adhoc_binaries", + "name": "PythonBuildStandaloneBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.adhoc_binaries.get_python_for_scripts" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.subsystems.scalac.Scalac": { + "pants.core.util_rules.adhoc_binaries._DownloadPythonBuildStandaloneBinaryRequest": { "consumed_by_rules": [ - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request" + "pants.core.util_rules.adhoc_binaries.download_python_binary" + ], + "dependencies": [], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.subsystems.scalac", - "name": "Scalac", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": ["construct_scope_scalac"], + "module": "pants.core.util_rules.adhoc_binaries", + "name": "_DownloadPythonBuildStandaloneBinaryRequest", + "provider": "pants.core", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.core.util_rules.adhoc_binaries.get_python_for_scripts" + ] }, - "pants.backend.scala.subsystems.scalatest.Scalatest": { - "consumed_by_rules": [ - "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest" + "pants.core.util_rules.adhoc_binaries._PythonBuildStandaloneBinary": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.url_handlers.s3" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, "is_union": false, - "module": "pants.backend.scala.subsystems.scalatest", - "name": "Scalatest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": ["construct_scope_scalatest"], + "module": "pants.core.util_rules.adhoc_binaries", + "name": "_PythonBuildStandaloneBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.adhoc_binaries.download_python_binary" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.core.util_rules.adhoc_binaries.get_python_for_scripts" + ] }, - "pants.backend.scala.target_types.GenerateJvmArtifactForScalaTargets": { + "pants.core.util_rules.adhoc_process_support.AdhocProcessRequest": { "consumed_by_rules": [ - "pants.backend.scala.target_types.generate_jvm_artifact_targets" + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.adhoc_process_support.run_adhoc_process" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.shell" + ], + "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, ...]', fetch_env_vars: 'tuple[str, ...]', supplied_env_var_values: 'FrozenDict[str, str] | None', log_on_process_errors: 'FrozenDict[int, str] | None', log_output: 'bool', capture_stdout_file: 'str | None', capture_stderr_file: 'str | None')", "is_union": false, - "module": "pants.backend.scala.target_types", - "name": "GenerateJvmArtifactForScalaTargets", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.util_rules.adhoc_process_support", + "name": "AdhocProcessRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateTargetsRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "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.core.util_rules.adhoc_process_support.run_adhoc_process" + ] }, - "pants.backend.scala.target_types.ScalaFieldSet": { - "consumed_by_rules": [ - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_ScalaFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet" + "pants.core.util_rules.adhoc_process_support.AdhocProcessResult": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.docker", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.process" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaFieldSet(address: 'Address', jdk_version: 'JvmJdkField', main_class: 'JvmMainClassNameField', sources: 'ScalaSourceField')", + "dependents": [ + "pants.backend.experimental.adhoc", + "pants.backend.shell" + ], + "documentation": "AdhocProcessResult(process_result: 'ProcessResult', adjusted_digest: 'Digest')", "is_union": false, - "module": "pants.backend.scala.target_types", - "name": "ScalaFieldSet", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], + "module": "pants.core.util_rules.adhoc_process_support", + "name": "AdhocProcessResult", + "provider": "pants.backend.shell", + "returned_by_rules": [ + "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target", + "pants.core.util_rules.adhoc_process_support.run_adhoc_process" + ], "union_members": [], - "union_type": "RunFieldSet", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target", + "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox" + ] }, - "pants.backend.scala.target_types.ScalaSettingsRequest": { + "pants.core.util_rules.adhoc_process_support.ExtraSandboxContents": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.adhoc", + "pants.backend.shell" + ], + "documentation": "ExtraSandboxContents(digest: 'Digest', path: 'str | None', immutable_input_digests: 'Mapping[str, Digest]', append_only_caches: 'Mapping[str, str]', extra_env: 'Mapping[str, str]')", + "is_union": false, + "module": "pants.core.util_rules.adhoc_process_support", + "name": "ExtraSandboxContents", + "provider": "pants.backend.shell", + "returned_by_rules": [ + "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "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.core.util_rules.adhoc_process_support.resolve_execution_environment" + ] + }, + "pants.core.util_rules.adhoc_process_support.MergeExtraSandboxContents": { "consumed_by_rules": [ - "pants.backend.scala.target_types.scala_settings_request" + "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.shell" + ], + "documentation": "MergeExtraSandboxContents(additions: 'tuple[ExtraSandboxContents, ...]')", "is_union": false, - "module": "pants.backend.scala.target_types", - "name": "ScalaSettingsRequest", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.util_rules.adhoc_process_support", + "name": "MergeExtraSandboxContents", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "TargetFilesGeneratorSettingsRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "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.core.util_rules.adhoc_process_support.resolve_execution_environment" + ] }, - "pants.backend.scala.test.scalatest.ScalatestTestFieldSet": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": "ScalatestTestFieldSet(address: 'Address', sources: 'ScalatestTestSourceField', timeout: 'ScalatestTestTimeoutField', jdk_version: 'JvmJdkField', dependencies: 'JvmDependenciesField', extra_env_vars: 'ScalatestTestExtraEnvVarsField')", + "pants.core.util_rules.adhoc_process_support.ResolveExecutionDependenciesRequest": { + "consumed_by_rules": [ + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" + ], + "dependencies": [], + "dependents": [ + "pants.backend.shell" + ], + "documentation": "ResolveExecutionDependenciesRequest(address: 'Address', execution_dependencies: 'tuple[str, ...] | None', runnable_dependencies: 'tuple[str, ...] | None')", "is_union": false, - "module": "pants.backend.scala.test.scalatest", - "name": "ScalatestTestFieldSet", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.util_rules.adhoc_process_support", + "name": "ResolveExecutionDependenciesRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "TestFieldSet", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "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.shell.util_rules.shell_command.run_shell_command_request" + ] }, - "pants.backend.scala.test.scalatest.ScalatestTestRequest": { + "pants.core.util_rules.adhoc_process_support.ResolvedExecutionDependencies": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "dependencies": [ + "builtins", + "pants.backend.awslambda.python", + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.scala", + "pants.backend.google_cloud_function.python", + "pants.backend.python", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.addresses" + ], + "dependents": [ + "pants.backend.experimental.adhoc", + "pants.backend.shell" + ], + "documentation": "ResolvedExecutionDependencies(digest: 'Digest', runnable_dependencies: 'RunnableDependencies | None')", "is_union": false, - "module": "pants.backend.scala.test.scalatest", - "name": "ScalatestTestRequest", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [], - "union_members": [], - "union_type": "TestRequest", - "used_in_rules": [] + "module": "pants.core.util_rules.adhoc_process_support", + "name": "ResolvedExecutionDependencies", + "provider": "pants.backend.shell", + "returned_by_rules": [ + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "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.shell.util_rules.shell_command.run_shell_command_request" + ] }, - "pants.backend.scala.test.scalatest.ScalatestToolLockfileSentinel": { + "pants.core.util_rules.archive.CreateArchive": { "consumed_by_rules": [ - "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request" + "pants.core.util_rules.archive.create_archive" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "A request to create an archive.\n\nAll files in the input snapshot will be included in the resulting archive.", "is_union": false, - "module": "pants.backend.scala.test.scalatest", - "name": "ScalatestToolLockfileSentinel", - "provider": "pants.backend.experimental.scala, pants.backend.scala.test.scalatest", + "module": "pants.core.util_rules.archive", + "name": "CreateArchive", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "GenerateToolLockfileSentinel", + "union_type": null, "used_in_rules": [ - "pants.backend.scala.test.scalatest.setup_scalatest_for_target" + "pants.core.target_types.package_archive_target" ] }, - "pants.backend.scala.test.scalatest.TestSetup": { + "pants.core.util_rules.archive.ExtractedArchive": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.scala.test.scalatest", - "pants.core", - "pants.engine.env_vars" + "pants.backend.url_handlers.s3" ], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "TestSetup(process: 'JvmProcess', reports_dir_prefix: 'str')", + "dependents": [ + "pants.core" + ], + "documentation": "The result of extracting an archive.", "is_union": false, - "module": "pants.backend.scala.test.scalatest", - "name": "TestSetup", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.util_rules.archive", + "name": "ExtractedArchive", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.test.scalatest.setup_scalatest_for_target" + "pants.core.util_rules.archive.maybe_extract_archive" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.test.scalatest.run_scalatest_test", - "pants.backend.scala.test.scalatest.setup_scalatest_debug_request" + "pants.core.util_rules.external_tool.download_external_tool" ] }, - "pants.backend.scala.test.scalatest.TestSetupRequest": { + "pants.core.util_rules.archive.MaybeExtractArchiveRequest": { "consumed_by_rules": [ - "pants.backend.scala.test.scalatest.setup_scalatest_for_target" + "pants.core.util_rules.archive.maybe_extract_archive" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "TestSetupRequest(field_set: 'ScalatestTestFieldSet', is_debug: 'bool')", + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3" + ], + "dependents": [ + "pants.core" + ], + "documentation": "A request to extract a single archive file (otherwise returns the input digest).\n\n:param digest: The digest of the archive to maybe extract. If the archive contains a single file\n which matches a known suffix, the `ExtractedArchive` will contain the extracted digest.\n Otherwise the `ExtractedArchive` will contain this digest.\n:param use_suffix: If provided, extracts the single file archive as if it had this suffix.\n Useful in situations where the file is archived then renamed.\n (E.g. A Python `.whl` is a renamed `.zip`, so the client should provide `\".zip\"`)", "is_union": false, - "module": "pants.backend.scala.test.scalatest", - "name": "TestSetupRequest", - "provider": "pants.backend.scala.test.scalatest", - "returned_by_rules": [], + "module": "pants.core.util_rules.archive", + "name": "MaybeExtractArchiveRequest", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.scala.test.scalatest.run_scalatest_test", - "pants.backend.scala.test.scalatest.setup_scalatest_debug_request" - ] + "used_in_rules": [] }, - "pants.backend.scala.util_rules.versions.ScalaArtifactsForVersionRequest": { + "pants.core.util_rules.asdf.AsdfToolPathsRequest": { "consumed_by_rules": [ - "pants.backend.scala.util_rules.versions.resolve_scala_artifacts_for_version" + "pants.core.util_rules.asdf.resolve_asdf_tool_paths" ], "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaArtifactsForVersionRequest(scala_version: 'str')", + "dependents": [ + "pants.core" + ], + "documentation": "AsdfToolPathsRequest(env_tgt: 'EnvironmentTarget', tool_name: 'str', tool_description: 'str', resolve_standard: 'bool', resolve_local: 'bool', paths_option_name: 'str', bin_relpath: 'str' = 'bin')", "is_union": false, - "module": "pants.backend.scala.util_rules.versions", - "name": "ScalaArtifactsForVersionRequest", - "provider": "pants.backend.scala.util_rules.versions", + "module": "pants.core.util_rules.asdf", + "name": "AsdfToolPathsRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.compile.scalac.fetch_scala_library", - "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" ] }, - "pants.backend.scala.util_rules.versions.ScalaArtifactsForVersionResult": { + "pants.core.util_rules.asdf.AsdfToolPathsResult": { "consumed_by_rules": [], - "dependencies": ["pants.backend.scala.util_rules.versions"], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "ScalaArtifactsForVersionResult(compiler_coordinate: 'Coordinate', library_coordinate: 'Coordinate', reflect_coordinate: 'Coordinate | None', compiler_main: 'str', repl_main: 'str')", + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.base.build_root" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.javascript", + "pants.core" + ], + "documentation": "AsdfToolPathsResult(tool_name: 'str', standard_tool_paths: 'tuple[str, ...]' = (), local_tool_paths: 'tuple[str, ...]' = ())", "is_union": false, - "module": "pants.backend.scala.util_rules.versions", - "name": "ScalaArtifactsForVersionResult", - "provider": "pants.backend.experimental.scala", + "module": "pants.core.util_rules.asdf", + "name": "AsdfToolPathsResult", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.scala.util_rules.versions.resolve_scala_artifacts_for_version" + "pants.core.util_rules.asdf.resolve_asdf_tool_paths" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.compile.scalac.fetch_scala_library", - "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" ] }, - "pants.backend.shell.dependency_inference.AllShellTargets": { - "consumed_by_rules": [ - "pants.backend.shell.dependency_inference.map_shell_files" + "pants.core.util_rules.config_files.ConfigFiles": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.engine.fs" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.shell"], - "documentation": null, + "dependents": [ + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.python", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.python", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.taplo", + "pants.core" + ], + "documentation": "Config files used by a tool run by Pants.", "is_union": false, - "module": "pants.backend.shell.dependency_inference", - "name": "AllShellTargets", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.config_files", + "name": "ConfigFiles", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.shell.dependency_inference.find_all_shell_targets" + "pants.core.util_rules.config_files.find_config_file" ], "union_members": [], "union_type": null, - "used_in_rules": [] - }, - "pants.backend.shell.dependency_inference.InferShellDependencies": { - "consumed_by_rules": [ - "pants.backend.shell.dependency_inference.infer_shell_dependencies" - ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.shell"], - "documentation": null, - "is_union": false, - "module": "pants.backend.shell.dependency_inference", - "name": "InferShellDependencies", - "provider": "pants.backend.shell", - "returned_by_rules": [], - "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.javascript.lint.prettier.rules.prettier_fmt", + "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "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_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" + ] }, - "pants.backend.shell.dependency_inference.ParseShellImportsRequest": { + "pants.core.util_rules.config_files.ConfigFilesRequest": { "consumed_by_rules": [ - "pants.backend.shell.dependency_inference.parse_shell_imports" + "pants.core.util_rules.config_files.find_config_file" ], "dependencies": [], - "dependents": ["pants.backend.shell"], - "documentation": "ParseShellImportsRequest(digest: 'Digest', fp: 'str')", + "dependents": [ + "pants.core" + ], + "documentation": "Resolve the specified config files if given, else look for candidate config files if\ndiscovery is enabled.\n\nFiles in `check_existence` only need to exist, whereas files in `check_content` both must exist\nand contain the bytes snippet in the file.", "is_union": false, - "module": "pants.backend.shell.dependency_inference", - "name": "ParseShellImportsRequest", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.config_files", + "name": "ConfigFilesRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.shell.dependency_inference.infer_shell_dependencies" + "pants.backend.build_files.fmt.black.register.black_fmt", + "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.javascript.lint.prettier.rules.prettier_fmt", + "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "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_black", + "pants.core.goals.update_build_files.format_build_file_with_yapf" ] }, - "pants.backend.shell.dependency_inference.ParsedShellImports": { - "consumed_by_rules": [], + "pants.core.util_rules.distdir.DistDir": { + "consumed_by_rules": [ + "pants.backend.codegen.export_codegen_goal.export_codegen", + "pants.backend.go.goals.debug_goals.go_export_cgo_codegen", + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", + "pants.backend.javascript.goals.test.collect_coverage_reports", + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.core.goals.check.check", + "pants.core.goals.export.export", + "pants.core.goals.lint.lint", + "pants.core.goals.package.package_asset", + "pants.core.goals.test.run_tests" + ], "dependencies": [ - "builtins", + "pants.base.build_root" + ], + "dependents": [ "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.core", - "pants.engine.platform", - "pants.engine.process" + "pants.backend.experimental.go.debug_goals", + "pants.backend.experimental.javascript", + "pants.backend.python", + "pants.core" ], - "dependents": ["pants.backend.shell"], - "documentation": null, + "documentation": "The directory to which we write distributable files.", "is_union": false, - "module": "pants.backend.shell.dependency_inference", - "name": "ParsedShellImports", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.distdir", + "name": "DistDir", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.shell.dependency_inference.parse_shell_imports" + "pants.core.util_rules.distdir.get_distdir" ], "union_members": [], "union_type": null, + "used_in_rules": [] + }, + "pants.core.util_rules.environments.EnvironmentNameRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "EnvironmentNameRequest(raw_value: 'str', description_of_origin: 'str')", + "is_union": false, + "module": "pants.core.util_rules.environments", + "name": "EnvironmentNameRequest", + "provider": "pants.core", + "returned_by_rules": [], + "union_members": [], + "union_type": null, "used_in_rules": [ - "pants.backend.shell.dependency_inference.infer_shell_dependencies" + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", + "pants.core.goals.check.check", + "pants.core.goals.export.export", + "pants.core.goals.fix.fix", + "pants.core.goals.fmt.fmt", + "pants.core.goals.generate_snapshots.environment_await_generate_snapshots", + "pants.core.goals.lint.lint", + "pants.core.goals.package.environment_aware_package", + "pants.core.goals.repl.run_repl", + "pants.core.goals.run.run" ] }, - "pants.backend.shell.dependency_inference.ShellMapping": { + "pants.core.util_rules.environments.EnvironmentsSubsystem": { "consumed_by_rules": [ - "pants.backend.shell.dependency_inference.infer_shell_dependencies" + "pants.engine.internals.platform_rules.complete_environment_vars", + "pants.engine.internals.platform_rules.current_platform" ], - "dependencies": [], - "dependents": ["pants.backend.shell"], - "documentation": "A mapping of Shell file names to their owning file address.", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.shell.dependency_inference", - "name": "ShellMapping", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.environments", + "name": "EnvironmentsSubsystem", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.backend.shell.dependency_inference.map_shell_files" + "construct_scope_environments_preview" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.shell.goals.tailor.PutativeShellTargetsRequest": { - "consumed_by_rules": [ - "pants.backend.shell.goals.tailor.find_putative_targets" + "pants.core.util_rules.environments.OptionField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.shell"], - "documentation": "PutativeShellTargetsRequest(dirs: 'tuple[str, ...]')", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.shell.goals.tailor", - "name": "PutativeShellTargetsRequest", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.environments", + "name": "OptionField", + "provider": "pants.backend.python.providers.experimental.pyenv", "returned_by_rules": [], "union_members": [], - "union_type": "PutativeTargetsRequest", + "union_type": "PluginField", "used_in_rules": [] }, - "pants.backend.shell.goals.test.ShellTestRequest": { + "pants.core.util_rules.environments.SingleEnvironmentNameRequest": { "consumed_by_rules": [], - "dependencies": ["pants.core"], + "dependencies": [], "dependents": [], - "documentation": null, + "documentation": "Asserts that all of the given environment strings resolve to the same EnvironmentName.", "is_union": false, - "module": "pants.backend.shell.goals.test", - "name": "ShellTestRequest", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.environments", + "name": "SingleEnvironmentNameRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "TestRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.core.goals.test.run_tests" + ] }, - "pants.backend.shell.goals.test.TestShellCommandFieldSet": { + "pants.core.util_rules.external_tool.DownloadedExternalTool": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3", + "pants.engine.fs" + ], + "dependents": [ + "pants.backend.build_files.fmt.buildifier", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.codegen.protobuf.python", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.cue", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.helm", + "pants.backend.experimental.helm.check.kubeconform", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.project_info", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.taplo", + "pants.core" + ], + "documentation": "DownloadedExternalTool(digest: 'Digest', exe: 'str')", "is_union": false, - "module": "pants.backend.shell.goals.test", - "name": "TestShellCommandFieldSet", - "provider": "pants.backend.shell", - "returned_by_rules": [], + "module": "pants.core.util_rules.external_tool", + "name": "DownloadedExternalTool", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.external_tool.download_external_tool" + ], "union_members": [], - "union_type": "TestFieldSet", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.build_files.fmt.buildifier.rules.buildfier_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", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.helm.check.kubeconform.common.setup_kube_conform", + "pants.backend.helm.util_rules.tool.download_external_helm_plugin", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", + "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", + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.backend.python.util_rules.pex_cli.download_pex_pex", + "pants.backend.shell.dependency_inference.parse_shell_imports", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.backend.terraform.tool.setup_terraform_process", + "pants.backend.tools.taplo.rules.taplo_fmt", + "pants.jvm.resolve.coursier_setup.setup_coursier" + ] }, - "pants.backend.shell.lint.shellcheck.rules.ShellcheckRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "pants.core.util_rules.external_tool.ExternalToolRequest": { + "consumed_by_rules": [ + "pants.core.util_rules.external_tool.download_external_tool" + ], + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "ExternalToolRequest(download_file_request: 'DownloadFile', exe: 'str')", "is_union": false, - "module": "pants.backend.shell.lint.shellcheck.rules", - "name": "ShellcheckRequest", - "provider": "pants.backend.shell.lint.shellcheck", + "module": "pants.core.util_rules.external_tool", + "name": "ExternalToolRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.build_files.fmt.buildifier.rules.buildfier_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", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.helm.check.kubeconform.common.setup_kube_conform", + "pants.backend.helm.util_rules.tool.download_external_helm_plugin", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", + "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", + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.backend.python.util_rules.pex_cli.download_pex_pex", + "pants.backend.shell.dependency_inference.parse_shell_imports", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.backend.terraform.tool.setup_terraform_process", + "pants.backend.tools.taplo.rules.taplo_fmt", + "pants.jvm.resolve.coursier_setup.setup_coursier" + ] }, - "pants.backend.shell.lint.shellcheck.skip_field.SkipShellcheckField": { + "pants.core.util_rules.partitions.Partitions": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.core", + "pants.engine.internals.build_files", + "pants.engine.target" + ], + "dependents": [ + "pants.core" + ], + "documentation": "A collection of (, ) pairs.\n\nWhen implementing a plugin, one of your rules will return this type, taking in a\n`PartitionRequest` specific to your plugin.\n\nThe return likely will fit into one of:\n - Returning empty partitions: E.g. if your tool is being skipped.\n - Returning one partition. The partition may contain all of the inputs\n (as will likely be the case for target-based plugins) or a subset (which will likely be the\n case for targetless plugins).\n - Returning >1 partition. This might be the case if you can't run\n the tool on all the inputs at once. E.g. having to run a Python tool on XYZ with Py3,\n and files ABC with Py2.", "is_union": false, - "module": "pants.backend.shell.lint.shellcheck.skip_field", - "name": "SkipShellcheckField", - "provider": "pants.backend.shell.lint.shellcheck", - "returned_by_rules": [], + "module": "pants.core.util_rules.partitions", + "name": "Partitions", + "provider": "pants.backend.build_files.fix.deprecations, pants.backend.build_files.fmt.black, pants.backend.build_files.fmt.buildifier, pants.backend.build_files.fmt.yapf, pants.backend.codegen.protobuf.lint.buf, pants.backend.docker.lint.hadolint, pants.backend.experimental.cc.lint.clangformat, pants.backend.experimental.cue, pants.backend.experimental.go, pants.backend.experimental.go.lint.golangci_lint, pants.backend.experimental.go.lint.vet, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.java.lint.google_java_format, pants.backend.experimental.javascript, pants.backend.experimental.javascript.lint.prettier, pants.backend.experimental.kotlin.lint.ktlint, 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, pants.backend.experimental.rust, pants.backend.experimental.scala, pants.backend.experimental.scala.lint.scalafmt, pants.backend.experimental.terraform, pants.backend.experimental.terraform.lint.tfsec, pants.backend.experimental.tools.semgrep, pants.backend.experimental.tools.yamllint, pants.backend.experimental.visibility, pants.backend.project_info, pants.backend.python, pants.backend.python.lint.autoflake, pants.backend.python.lint.bandit, pants.backend.python.lint.black, pants.backend.python.lint.docformatter, pants.backend.python.lint.flake8, pants.backend.python.lint.isort, pants.backend.python.lint.pydocstyle, pants.backend.python.lint.pylint, pants.backend.python.lint.pyupgrade, pants.backend.python.lint.yapf, pants.backend.shell, pants.backend.shell.lint.shellcheck, pants.backend.shell.lint.shfmt, pants.backend.tools.preamble, pants.backend.tools.taplo", + "returned_by_rules": [ + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BlackRequest", + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BuildifierRequest", + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameFieldsInFilesRequest", + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameTargetsInFilesRequest", + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_YapfRequest", + "pants.backend.codegen.protobuf.lint.buf.format_rules.partition_buf", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.partition_buf", + "pants.backend.helm.goals.lint.partition_helm_lint", + "pants.backend.javascript.goals.test.partition_nodejs_tests", + "pants.backend.project_info.regex_lint.partition_inputs", + "pants.backend.python.goals.pytest_runner.partition_python_tests", + "pants.backend.python.lint.bandit.rules.partition_bandit", + "pants.backend.python.lint.black.rules.partition_black", + "pants.backend.python.lint.flake8.rules.partition_flake8", + "pants.backend.python.lint.pylint.rules.partition_pylint", + "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt", + "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", + "pants.backend.tools.preamble.rules.partition_inputs", + "pants.backend.tools.semgrep.rules.partition", + "pants.backend.tools.taplo.rules.partition_inputs", + "pants.backend.tools.yamllint.rules.partition_inputs", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_GoTestRequest", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_HelmUnitTestRequest", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_JunitTestRequest", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ShellTestRequest", + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_Shunit2TestRequest", + "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_CueLintRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_EnforceVisibilityRules", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_GoVetRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_GolangciLintRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_HadolintRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_PydocstyleRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_RuffLintRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_ShellcheckRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_SpectralRequest", + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_TfSecRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ClangFormatRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_CueFmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PrettierFmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RustfmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest" + ], "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.core.goals.fix.fix", + "pants.core.goals.fmt.fmt", + "pants.core.goals.lint.lint", + "pants.core.goals.test.run_tests" + ] }, - "pants.backend.shell.lint.shellcheck.subsystem.Shellcheck": { + "pants.core.util_rules.search_paths.ValidateSearchPathsRequest": { "consumed_by_rules": [ - "pants.backend.shell.dependency_inference.parse_shell_imports", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_ShellcheckRequest" + "pants.core.util_rules.search_paths.validate_search_paths" ], - "dependencies": ["pants.option.scope"], + "dependencies": [], "dependents": [ - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck" + "pants.core" ], - "documentation": null, - "is_union": false, - "module": "pants.backend.shell.lint.shellcheck.subsystem", - "name": "Shellcheck", - "provider": "pants.backend.shell", - "returned_by_rules": ["construct_scope_shellcheck"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.shell.lint.shfmt.rules.ShfmtRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, + "documentation": "ValidateSearchPathsRequest(env_tgt: 'EnvironmentTarget', search_paths: 'tuple[str, ...]', option_origin: 'str', environment_key: 'str', is_default: 'bool', local_only: 'FrozenOrderedSet[str]')", "is_union": false, - "module": "pants.backend.shell.lint.shfmt.rules", - "name": "ShfmtRequest", - "provider": "pants.backend.shell.lint.shfmt", + "module": "pants.core.util_rules.search_paths", + "name": "ValidateSearchPathsRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "pants.core.subsystems.python_bootstrap.python_bootstrap" + ] }, - "pants.backend.shell.lint.shfmt.skip_field.SkipShfmtField": { + "pants.core.util_rules.search_paths.ValidatedSearchPaths": { "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.shell.lint.shfmt.skip_field", - "name": "SkipShfmtField", - "provider": "pants.backend.shell.lint.shfmt", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] - }, - "pants.backend.shell.lint.shfmt.subsystem.Shfmt": { - "consumed_by_rules": [ - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.javascript", + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.shell.lint.shfmt"], - "documentation": null, + "documentation": "Search paths that are valid for the current target environment.", "is_union": false, - "module": "pants.backend.shell.lint.shfmt.subsystem", - "name": "Shfmt", - "provider": "pants.backend.shell.lint.shfmt", - "returned_by_rules": ["construct_scope_shfmt"], + "module": "pants.core.util_rules.search_paths", + "name": "ValidatedSearchPaths", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.search_paths.validate_search_paths" + ], "union_members": [], "union_type": null, - "used_in_rules": [] - }, - "pants.backend.shell.shunit2_test_runner.Shunit2FieldSet": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": "Shunit2FieldSet(address: 'Address', sources: pants.backend.shell.target_types.Shunit2TestSourceField, timeout: pants.backend.shell.target_types.Shunit2TestTimeoutField, shell: pants.backend.shell.target_types.Shunit2ShellField, runtime_package_dependencies: pants.core.goals.test.RuntimePackageDependenciesField)", - "is_union": false, - "module": "pants.backend.shell.shunit2_test_runner", - "name": "Shunit2FieldSet", - "provider": "pants.backend.shell", - "returned_by_rules": [], - "union_members": [], - "union_type": "TestFieldSet", - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "pants.core.subsystems.python_bootstrap.python_bootstrap" + ] }, - "pants.backend.shell.shunit2_test_runner.Shunit2Runner": { + "pants.core.util_rules.search_paths.VersionManagerSearchPaths": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.shell"], - "documentation": "Shunit2Runner(shell: pants.backend.shell.target_types.Shunit2Shell, binary_path: pants.core.util_rules.system_binaries.BinaryPath)", + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.shell.shunit2_test_runner", - "name": "Shunit2Runner", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.search_paths", + "name": "VersionManagerSearchPaths", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell" + "pants.core.util_rules.search_paths.get_un_cachable_version_manager_paths" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" ] }, - "pants.backend.shell.shunit2_test_runner.Shunit2RunnerRequest": { + "pants.core.util_rules.search_paths.VersionManagerSearchPathsRequest": { "consumed_by_rules": [ - "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell" + "pants.core.util_rules.search_paths.get_un_cachable_version_manager_paths" ], "dependencies": [], - "dependents": ["pants.backend.shell"], - "documentation": "Shunit2RunnerRequest(address: Address, test_file_content: pants.engine.fs.FileContent, shell_field: pants.backend.shell.target_types.Shunit2ShellField)", + "dependents": [ + "pants.core" + ], + "documentation": "VersionManagerSearchPathsRequest(env_tgt: 'EnvironmentTarget', root_dir: 'str | None', tool_path: 'str', option: 'str', version_files: 'tuple[str, ...]' = (), local_token: 'str | None' = None)", "is_union": false, - "module": "pants.backend.shell.shunit2_test_runner", - "name": "Shunit2RunnerRequest", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.search_paths", + "name": "VersionManagerSearchPathsRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" ] }, - "pants.backend.shell.shunit2_test_runner.Shunit2TestRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.shell.shunit2_test_runner", - "name": "Shunit2TestRequest", - "provider": "pants.backend.shell", - "returned_by_rules": [], - "union_members": [], - "union_type": "TestRequest", - "used_in_rules": [] - }, - "pants.backend.shell.shunit2_test_runner.TestSetup": { - "consumed_by_rules": [], + "pants.core.util_rules.source_files.SourceFiles": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.java_parser.make_analysis_request_from_source_files", + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", + "pants.core.util_rules.stripped_source_files.strip_source_roots" + ], "dependencies": [ "builtins", + "pants.backend.experimental.go" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.cue", "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.core", - "pants.engine.fs", - "pants.engine.platform" + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.tools.semgrep", + "pants.backend.python", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.core" ], - "dependents": ["pants.backend.shell"], - "documentation": "TestSetup(process: pants.engine.process.Process)", + "documentation": "A merged snapshot of the `sources` fields of multiple targets.", "is_union": false, - "module": "pants.backend.shell.shunit2_test_runner", - "name": "TestSetup", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.source_files", + "name": "SourceFiles", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + "pants.core.util_rules.source_files.determine_source_files" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test" + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", + "pants.backend.helm.util_rules.sources.get_helm_source_files", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "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.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.ruff.rules.ruff_lint", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.python_sources.prepare_python_sources", + "pants.backend.python.util_rules.python_sources.strip_python_sources", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", + "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", + "pants.backend.terraform.dependencies.init_terraform", + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", + "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.backend.tools.semgrep.rules.lint", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "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", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", + "pants.jvm.package.war.render_war_content", + "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", + "pants.jvm.test.junit.setup_junit_for_target" ] }, - "pants.backend.shell.shunit2_test_runner.TestSetupRequest": { + "pants.core.util_rules.source_files.SourceFilesRequest": { "consumed_by_rules": [ - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", + "pants.core.util_rules.source_files.determine_source_files" ], "dependencies": [], - "dependents": ["pants.backend.shell"], - "documentation": "TestSetupRequest(field_set: pants.backend.shell.shunit2_test_runner.Shunit2FieldSet)", + "dependents": [ + "pants.backend.experimental.scala", + "pants.core" + ], + "documentation": "SourceFilesRequest(sources_fields: Iterable[pants.engine.target.SourcesField], *, for_sources_types: Iterable[Type[pants.engine.target.SourcesField]] = (,), enable_codegen: bool = False)", "is_union": false, - "module": "pants.backend.shell.shunit2_test_runner", - "name": "TestSetupRequest", - "provider": "pants.backend.shell", + "module": "pants.core.util_rules.source_files", + "name": "SourceFilesRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test" + "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", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", + "pants.backend.helm.util_rules.sources.get_helm_source_files", + "pants.backend.java.bsp.rules.bsp_java_resources_request", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", + "pants.backend.java.goals.debug_goals.dump_java_source_analysis", + "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.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", + "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", + "pants.backend.kotlin.goals.debug_goals.dump_kotlin_source_analysis", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.ruff.rules.ruff_lint", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.python.util_rules.python_sources.prepare_python_sources", + "pants.backend.scala.bsp.rules.bsp_scala_resources_request", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", + "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", + "pants.backend.scala.goals.debug_goals.dump_scala_source_analysis", + "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", + "pants.backend.terraform.dependencies.init_terraform", + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", + "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.backend.tools.semgrep.rules.lint", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "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", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", + "pants.jvm.package.war.render_war_content", + "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", + "pants.jvm.resources.assemble_resources_jar", + "pants.jvm.test.junit.setup_junit_for_target" ] }, - "pants.backend.shell.subsystems.shell_setup.EnvironmentAware": { - "consumed_by_rules": [ - "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "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.core.util_rules.stripped_source_files.StrippedFileName": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.cc", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python", + "pants.backend.python" ], - "dependencies": ["pants.core", "pants.engine.env_vars"], - "dependents": ["pants.backend.shell"], - "documentation": null, + "documentation": "StrippedFileName(value: str)", "is_union": false, - "module": "pants.backend.shell.subsystems.shell_setup", - "name": "EnvironmentAware", - "provider": "pants.backend.shell", - "returned_by_rules": ["construct_env_aware_scope_shell_setup"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.shell.subsystems.shell_setup.ShellSetup": { - "consumed_by_rules": [ - "construct_env_aware_scope_shell_setup", - "pants.backend.shell.dependency_inference.infer_shell_dependencies", - "pants.backend.shell.goals.tailor.find_putative_targets", - "pants.backend.shell.target_types.generator_settings" + "module": "pants.core.util_rules.stripped_source_files", + "name": "StrippedFileName", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.stripped_source_files.strip_file_name" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.shell"], - "documentation": null, - "is_union": false, - "module": "pants.backend.shell.subsystems.shell_setup", - "name": "ShellSetup", - "provider": "pants.backend.shell", - "returned_by_rules": ["construct_scope_shell_setup"], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.cc.dependency_inference.rules.map_cc_files", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files", + "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", + "pants.backend.codegen.thrift.dependency_inference.map_thrift_files", + "pants.backend.javascript.nodejs_project.find_node_js_projects", + "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", + "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + ] }, - "pants.backend.shell.subsystems.shell_test_subsys.ShellTestSubsystem": { + "pants.core.util_rules.stripped_source_files.StrippedFileNameRequest": { "consumed_by_rules": [ - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ShellTestRequest" + "pants.core.util_rules.stripped_source_files.strip_file_name" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.shell"], - "documentation": null, - "is_union": false, - "module": "pants.backend.shell.subsystems.shell_test_subsys", - "name": "ShellTestSubsystem", - "provider": "pants.backend.shell", - "returned_by_rules": ["construct_scope_shell_test"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.shell.subsystems.shunit2.Shunit2": { - "consumed_by_rules": [ - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_Shunit2TestRequest" + "dependencies": [], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.shell"], - "documentation": null, + "documentation": "StrippedFileNameRequest(file_path: str)", "is_union": false, - "module": "pants.backend.shell.subsystems.shunit2", - "name": "Shunit2", - "provider": "pants.backend.shell", - "returned_by_rules": ["construct_scope_shunit2"], + "module": "pants.core.util_rules.stripped_source_files", + "name": "StrippedFileNameRequest", + "provider": "pants.core", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.cc.dependency_inference.rules.map_cc_files", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files", + "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", + "pants.backend.codegen.thrift.dependency_inference.map_thrift_files", + "pants.backend.javascript.nodejs_project.find_node_js_projects", + "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", + "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + ] }, - "pants.backend.shell.target_types.ShellGeneratorSettingsRequest": { - "consumed_by_rules": [ - "pants.backend.shell.target_types.generator_settings" + "pants.core.util_rules.stripped_source_files.StrippedSourceFileNames": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.go" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.shell"], - "documentation": null, + "dependents": [], + "documentation": "The file names from a target's `sources` field, with source roots stripped.\n\nUse via `Get(StrippedSourceFileNames, SourcePathsRequest(tgt.get(SourcesField))`.", "is_union": false, - "module": "pants.backend.shell.target_types", - "name": "ShellGeneratorSettingsRequest", - "provider": "pants.backend.shell", - "returned_by_rules": [], - "union_members": [], - "union_type": "TargetFilesGeneratorSettingsRequest", - "used_in_rules": [] - }, - "pants.backend.shell.util_rules.shell_command.GenerateFilesFromShellCommandRequest": { - "consumed_by_rules": [ - "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox" + "module": "pants.core.util_rules.stripped_source_files", + "name": "StrippedSourceFileNames", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.stripped_source_files.strip_sources_paths" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.shell"], - "documentation": null, - "is_union": false, - "module": "pants.backend.shell.util_rules.shell_command", - "name": "GenerateFilesFromShellCommandRequest", - "provider": "pants.backend.shell", - "returned_by_rules": [], "union_members": [], - "union_type": "GenerateSourcesRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.shell.util_rules.shell_command.RunShellCommand": { - "consumed_by_rules": [ - "pants.backend.shell.util_rules.shell_command.run_shell_command_request", - "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunShellCommand", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunShellCommand" + "pants.core.util_rules.stripped_source_files.StrippedSourceFiles": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.shell"], - "documentation": null, - "is_union": false, - "module": "pants.backend.shell.util_rules.shell_command", - "name": "RunShellCommand", - "provider": "pants.backend.shell", - "returned_by_rules": [], - "union_members": [], - "union_type": "RunFieldSet", - "used_in_rules": [] - }, - "pants.backend.shell.util_rules.shell_command.ShellCommandProcessFromTargetRequest": { - "consumed_by_rules": [ - "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", - "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target" + "dependents": [ + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.codegen.protobuf.python", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.scala", + "pants.backend.python" ], - "dependencies": [], - "dependents": ["pants.backend.shell"], - "documentation": "ShellCommandProcessFromTargetRequest(target: 'Target')", + "documentation": "Wrapper for a snapshot of files whose source roots have been stripped.\n\nUse via `Get(StrippedSourceFiles, SourceFilesRequest([tgt.get(SourcesField)])`.", "is_union": false, - "module": "pants.backend.shell.util_rules.shell_command", - "name": "ShellCommandProcessFromTargetRequest", - "provider": "pants.backend.shell", - "returned_by_rules": [], + "module": "pants.core.util_rules.stripped_source_files", + "name": "StrippedSourceFiles", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.stripped_source_files.strip_source_roots" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.shell.goals.test.test_shell_command", - "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox" + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.java.bsp.rules.bsp_java_resources_request", + "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.util_rules.python_sources.strip_python_sources", + "pants.backend.scala.bsp.rules.bsp_scala_resources_request", + "pants.jvm.resources.assemble_resources_jar" ] }, - "pants.backend.terraform.dependencies.TerraformDependenciesRequest": { + "pants.core.util_rules.subprocess_environment.SubprocessEnvironment": { "consumed_by_rules": [ - "pants.backend.terraform.dependencies.get_terraform_providers" + "construct_env_aware_scope_subprocess_environment" + ], + "dependencies": [ + "pants.option.scope" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "TerraformDependenciesRequest(source_files: 'SourceFiles', directories: 'Tuple[str, ...]', backend_config: 'SourceFiles', dependencies_files: 'SourceFiles', initialise_backend: 'bool' = False)", + "dependents": [ + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.terraform.dependencies", - "name": "TerraformDependenciesRequest", - "provider": "pants.backend.terraform.dependencies", - "returned_by_rules": [], + "module": "pants.core.util_rules.subprocess_environment", + "name": "SubprocessEnvironment", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_subprocess_environment" + ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.terraform.dependencies.init_terraform"] + "used_in_rules": [] }, - "pants.backend.terraform.dependencies.TerraformDependenciesResponse": { - "consumed_by_rules": [], + "pants.core.util_rules.subprocess_environment.SubprocessEnvironmentVars": { + "consumed_by_rules": [ + "pants.backend.python.util_rules.pex_environment.find_pex_python" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.terraform.dependencies", - "pants.core", - "pants.engine.process" + "pants.backend.experimental.javascript" ], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "TerraformDependenciesResponse(fetched_deps: 'Tuple[Tuple[str, Digest], ...]')", + "dependents": [ + "pants.core" + ], + "documentation": "SubprocessEnvironmentVars(vars: pants.util.frozendict.FrozenDict[str, str])", "is_union": false, - "module": "pants.backend.terraform.dependencies", - "name": "TerraformDependenciesResponse", - "provider": "pants.backend.experimental.terraform", + "module": "pants.core.util_rules.subprocess_environment", + "name": "SubprocessEnvironmentVars", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.terraform.dependencies.get_terraform_providers" + "pants.core.util_rules.subprocess_environment.get_subprocess_environment" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.terraform.dependencies.init_terraform"] + "used_in_rules": [] }, - "pants.backend.terraform.dependencies.TerraformInitRequest": { + "pants.core.util_rules.system_binaries.BashBinary": { "consumed_by_rules": [ - "pants.backend.terraform.dependencies.init_terraform" + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.util_rules.link.setup_go_linker", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.pex.create_venv_pex", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.goals.repl.create_scala_repl_request", + "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.shell.util_rules.shell_command.run_shell_command_request", + "pants.core.util_rules.adhoc_binaries.download_python_binary", + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "pants.core.util_rules.system_binaries.create_binary_shims", + "pants.jvm.jdk_rules.jvm_process", + "pants.jvm.jdk_rules.prepare_jdk_environment", + "pants.jvm.package.war.package_war", + "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper", + "pants.jvm.resources.assemble_resources_jar" ], "dependencies": [], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "TerraformInitRequest(root_module: 'TerraformRootModuleField', backend_config: 'TerraformBackendConfigField', dependencies: 'TerraformDependenciesField', initialise_backend: 'bool' = False)", + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.java", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.shell", + "pants.core" + ], + "documentation": "The `bash` binary.", "is_union": false, - "module": "pants.backend.terraform.dependencies", - "name": "TerraformInitRequest", - "provider": "pants.backend.terraform.dependencies", - "returned_by_rules": [], + "module": "pants.core.util_rules.system_binaries", + "name": "BashBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.get_bash" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.terraform.goals.check.terraform_check", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment" + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.core.util_rules.archive.create_archive", + "pants.core.util_rules.system_binaries.find_binary" ] }, - "pants.backend.terraform.dependencies.TerraformInitResponse": { + "pants.core.util_rules.system_binaries.BinaryPath": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.terraform.dependencies", + "pants.backend.go.util_rules.cgo_binaries", + "pants.backend.rust.util_rules.toolchains", "pants.core" ], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "TerraformInitResponse(sources_and_deps: 'Digest', terraform_files: 'tuple[str, ...]', chdir: 'str')", + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.rust" + ], + "documentation": "BinaryPath(path: 'str', fingerprint: 'str | None' = None) -> 'None'", "is_union": false, - "module": "pants.backend.terraform.dependencies", - "name": "TerraformInitResponse", - "provider": "pants.backend.experimental.terraform", + "module": "pants.core.util_rules.system_binaries", + "name": "BinaryPath", + "provider": "pants.backend.experimental.go, pants.backend.experimental.rust", "returned_by_rules": [ - "pants.backend.terraform.dependencies.init_terraform" + "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", + "pants.backend.rust.util_rules.toolchains.rust_binary_path" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.terraform.goals.check.terraform_check", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment" + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", + "pants.backend.go.util_rules.link.setup_go_linker", + "pants.backend.rust.util_rules.toolchains.rust_toolchain_process" ] }, - "pants.backend.terraform.dependency_inference.InferTerraformModuleDependenciesRequest": { - "consumed_by_rules": [ - "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies" - ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": null, - "is_union": false, - "module": "pants.backend.terraform.dependency_inference", - "name": "InferTerraformModuleDependenciesRequest", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": [], - "union_members": [], - "union_type": "InferDependenciesRequest", - "used_in_rules": [] - }, - "pants.backend.terraform.dependency_inference.ParseTerraformModuleSources": { + "pants.core.util_rules.system_binaries.BinaryPathRequest": { "consumed_by_rules": [ - "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources" + "pants.core.util_rules.system_binaries.find_binary" ], "dependencies": [], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "ParseTerraformModuleSources(sources_digest: 'Digest', paths: 'tuple[str, ...]')", + "dependents": [ + "pants.core" + ], + "documentation": "Request to find a binary of a given name.\n\nIf `check_file_entries` is `True` a BinaryPathRequest will consider any entries in the\n`search_path` that are file paths in addition to traditional directory paths.\n\nIf a `test` is specified all binaries that are found will be executed with the test args and\nonly those binaries whose test executions exit with return code 0 will be retained.\nAdditionally, if test execution includes stdout content, that will be used to fingerprint the\nbinary path so that upgrades and downgrades can be detected. A reasonable test for many programs\nmight be `BinaryPathTest(args=[\"--version\"])` since it will both ensure the program runs and\nalso produce stdout text that changes upon upgrade or downgrade of the binary at the discovered\npath.", "is_union": false, - "module": "pants.backend.terraform.dependency_inference", - "name": "ParseTerraformModuleSources", - "provider": "pants.backend.terraform.dependency_inference", + "module": "pants.core.util_rules.system_binaries", + "name": "BinaryPathRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies" + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.util_rules.docker_binary.get_docker", + "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", + "pants.backend.go.util_rules.goroot.setup_goroot", + "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version", + "pants.backend.rust.util_rules.toolchains.find_rustup", + "pants.backend.rust.util_rules.toolchains.rust_binary_path", + "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell", + "pants.core.util_rules.system_binaries.create_binary_shims", + "pants.core.util_rules.system_binaries.find_cat", + "pants.core.util_rules.system_binaries.find_chmod", + "pants.core.util_rules.system_binaries.find_cp", + "pants.core.util_rules.system_binaries.find_diff", + "pants.core.util_rules.system_binaries.find_git", + "pants.core.util_rules.system_binaries.find_ln", + "pants.core.util_rules.system_binaries.find_mkdir", + "pants.core.util_rules.system_binaries.find_mktemp", + "pants.core.util_rules.system_binaries.find_mv", + "pants.core.util_rules.system_binaries.find_open", + "pants.core.util_rules.system_binaries.find_readlink", + "pants.core.util_rules.system_binaries.find_tar", + "pants.core.util_rules.system_binaries.find_touch", + "pants.core.util_rules.system_binaries.find_unzip", + "pants.core.util_rules.system_binaries.find_zip", + "pants.core.util_rules.system_binaries.get_bash", + "pants.core.util_rules.system_binaries.maybe_find_git" ] }, - "pants.backend.terraform.dependency_inference.ParserSetup": { - "consumed_by_rules": [ - "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources" - ], + "pants.core.util_rules.system_binaries.BinaryPaths": { + "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.python", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.url_handlers.s3", + "pants.engine.process" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.javascript", + "pants.backend.experimental.rust", + "pants.backend.shell", "pants.core" ], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "ParserSetup(pex: 'VenvPex')", + "documentation": "BinaryPaths(binary_name: 'str', paths: 'Iterable[BinaryPath] | None' = None)", "is_union": false, - "module": "pants.backend.terraform.dependency_inference", - "name": "ParserSetup", - "provider": "pants.backend.experimental.terraform", + "module": "pants.core.util_rules.system_binaries", + "name": "BinaryPaths", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.terraform.dependency_inference.setup_parser" + "pants.core.util_rules.system_binaries.find_binary" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.util_rules.docker_binary.get_docker", + "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", + "pants.backend.go.util_rules.goroot.setup_goroot", + "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version", + "pants.backend.rust.util_rules.toolchains.find_rustup", + "pants.backend.rust.util_rules.toolchains.rust_binary_path", + "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell", + "pants.core.util_rules.system_binaries.create_binary_shims", + "pants.core.util_rules.system_binaries.find_cat", + "pants.core.util_rules.system_binaries.find_chmod", + "pants.core.util_rules.system_binaries.find_cp", + "pants.core.util_rules.system_binaries.find_diff", + "pants.core.util_rules.system_binaries.find_git", + "pants.core.util_rules.system_binaries.find_ln", + "pants.core.util_rules.system_binaries.find_mkdir", + "pants.core.util_rules.system_binaries.find_mktemp", + "pants.core.util_rules.system_binaries.find_mv", + "pants.core.util_rules.system_binaries.find_open", + "pants.core.util_rules.system_binaries.find_readlink", + "pants.core.util_rules.system_binaries.find_tar", + "pants.core.util_rules.system_binaries.find_touch", + "pants.core.util_rules.system_binaries.find_unzip", + "pants.core.util_rules.system_binaries.find_zip", + "pants.core.util_rules.system_binaries.get_bash", + "pants.core.util_rules.system_binaries.maybe_find_git" + ] }, - "pants.backend.terraform.dependency_inference.TerraformHcl2Parser": { - "consumed_by_rules": [ - "pants.backend.terraform.dependency_inference.setup_parser" + "pants.core.util_rules.system_binaries.BinaryShims": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.url_handlers.s3" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": null, - "is_union": false, - "module": "pants.backend.terraform.dependency_inference", - "name": "TerraformHcl2Parser", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": ["construct_scope_terraform_hcl2_parser"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.backend.terraform.goals.check.TerraformCheckRequest": { - "consumed_by_rules": [ - "pants.backend.terraform.goals.check.terraform_check" + "dependents": [ + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.docker", + "pants.backend.experimental.javascript", + "pants.backend.shell" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": null, + "documentation": "The shims created for a BinaryShimsRequest is 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.", "is_union": false, - "module": "pants.backend.terraform.goals.check", - "name": "TerraformCheckRequest", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": [], - "union_members": [], - "union_type": "CheckRequest", - "used_in_rules": [] - }, - "pants.backend.terraform.goals.check.TerraformValidateSubsystem": { - "consumed_by_rules": [ - "pants.backend.terraform.goals.check.terraform_check" + "module": "pants.core.util_rules.system_binaries", + "name": "BinaryShims", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.create_binary_shims" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": null, - "is_union": false, - "module": "pants.backend.terraform.goals.check", - "name": "TerraformValidateSubsystem", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": ["construct_scope_terraform_validate"], "union_members": [], "union_type": null, - "used_in_rules": [] - }, - "pants.backend.terraform.goals.deploy.DeployTerraformFieldSet": { - "consumed_by_rules": [ - "pants.backend.terraform.goals.deploy.run_terraform_deploy" - ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "DeployTerraformFieldSet(address: 'Address', description: 'DescriptionField', root_module: 'TerraformRootModuleField', dependencies: 'TerraformDependenciesField', backend_config: 'TerraformBackendConfigField', var_files: 'TerraformVarFileSourcesField')", - "is_union": false, - "module": "pants.backend.terraform.goals.deploy", - "name": "DeployTerraformFieldSet", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": [], - "union_members": [], - "union_type": "DeployFieldSet", - "used_in_rules": [] + "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.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.goals.deploy.TerraformDeploymentRequest": { + "pants.core.util_rules.system_binaries.BinaryShimsRequest": { "consumed_by_rules": [ - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment" + "pants.core.util_rules.system_binaries.create_binary_shims" ], "dependencies": [], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "TerraformDeploymentRequest(field_set: 'TerraformDeploymentFieldSet')", + "dependents": [ + "pants.core" + ], + "documentation": "Request to create shims for one or more system binaries.", "is_union": false, - "module": "pants.backend.terraform.goals.deploy", - "name": "TerraformDeploymentRequest", - "provider": "pants.backend.terraform.goals.deploy", + "module": "pants.core.util_rules.system_binaries", + "name": "BinaryShimsRequest", + "provider": "pants.core", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.terraform.goals.deploy.run_terraform_deploy" + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.docker.util_rules.docker_binary.get_docker", + "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.goals.tailor.PutativeTerraformTargetsRequest": { + "pants.core.util_rules.system_binaries.CatBinary": { "consumed_by_rules": [ - "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets" + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "PutativeTerraformTargetsRequest(dirs: 'tuple[str, ...]')", - "is_union": false, - "module": "pants.backend.terraform.goals.tailor", - "name": "PutativeTerraformTargetsRequest", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": [], - "union_members": [], - "union_type": "PutativeTargetsRequest", - "used_in_rules": [] - }, - "pants.backend.terraform.lint.tffmt.tffmt.TfFmtSubsystem": { - "consumed_by_rules": [ - "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", - "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.helm" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.terraform"], "documentation": null, "is_union": false, - "module": "pants.backend.terraform.lint.tffmt.tffmt", - "name": "TfFmtSubsystem", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": ["construct_scope_terraform_fmt"], + "module": "pants.core.util_rules.system_binaries", + "name": "CatBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_cat" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.terraform.lint.tffmt.tffmt.TffmtRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.terraform.lint.tffmt.tffmt", - "name": "TffmtRequest", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": [], - "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] - }, - "pants.backend.terraform.target_types.AllTerraformDeploymentTargets": { + "pants.core.util_rules.system_binaries.ChmodBinary": { "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go"], + "dependencies": [], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.terraform.target_types", - "name": "AllTerraformDeploymentTargets", - "provider": "pants.backend.experimental.terraform", + "module": "pants.core.util_rules.system_binaries", + "name": "ChmodBinary", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.terraform.target_types.all_terraform_deployment_targets" + "pants.core.util_rules.system_binaries.find_chmod" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.terraform.tool.TerraformProcess": { + "pants.core.util_rules.system_binaries.CpBinary": { "consumed_by_rules": [ - "pants.backend.terraform.tool.setup_terraform_process" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" ], "dependencies": [], - "dependents": ["pants.backend.experimental.terraform"], - "documentation": "A request to invoke Terraform.", - "is_union": false, - "module": "pants.backend.terraform.tool", - "name": "TerraformProcess", - "provider": "pants.backend.terraform.tool", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.terraform.dependencies.get_terraform_providers", - "pants.backend.terraform.goals.check.terraform_check", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", - "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt" - ] - }, - "pants.backend.terraform.tool.TerraformTool": { - "consumed_by_rules": [ - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", - "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets", - "pants.backend.terraform.tool.setup_terraform_process" + "dependents": [ + "pants.backend.python.typecheck.mypy" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.terraform"], "documentation": null, "is_union": false, - "module": "pants.backend.terraform.tool", - "name": "TerraformTool", - "provider": "pants.backend.experimental.terraform", - "returned_by_rules": ["construct_scope_download_terraform"], + "module": "pants.core.util_rules.system_binaries", + "name": "CpBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_cp" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.tools.preamble.rules.PreambleRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.tools.preamble.rules", - "name": "PreambleRequest", - "provider": "pants.backend.tools.preamble", - "returned_by_rules": [], - "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] - }, - "pants.backend.tools.preamble.subsystem.PreambleSubsystem": { + "pants.core.util_rules.system_binaries.DiffBinary": { "consumed_by_rules": [ - "pants.backend.tools.preamble.rules.partition_inputs", - "pants.backend.tools.preamble.rules.preamble_fmt" + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format" + ], + "dependencies": [], + "dependents": [ + "pants.backend.codegen.protobuf.lint.buf" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.tools.preamble"], "documentation": null, "is_union": false, - "module": "pants.backend.tools.preamble.subsystem", - "name": "PreambleSubsystem", - "provider": "pants.backend.tools.preamble", - "returned_by_rules": ["construct_scope_preamble"], + "module": "pants.core.util_rules.system_binaries", + "name": "DiffBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_diff" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.tools.semgrep.rules.AllSemgrepConfigs": { + "pants.core.util_rules.system_binaries.EnvironmentAware": { "consumed_by_rules": [ - "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs" + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "pants.core.util_rules.adhoc_binaries.download_python_binary", + "pants.core.util_rules.archive.create_archive", + "pants.core.util_rules.archive.maybe_extract_archive", + "pants.core.util_rules.system_binaries.find_cat", + "pants.core.util_rules.system_binaries.find_chmod", + "pants.core.util_rules.system_binaries.find_cp", + "pants.core.util_rules.system_binaries.find_diff", + "pants.core.util_rules.system_binaries.find_git", + "pants.core.util_rules.system_binaries.find_ln", + "pants.core.util_rules.system_binaries.find_mkdir", + "pants.core.util_rules.system_binaries.find_mktemp", + "pants.core.util_rules.system_binaries.find_mv", + "pants.core.util_rules.system_binaries.find_open", + "pants.core.util_rules.system_binaries.find_readlink", + "pants.core.util_rules.system_binaries.find_tar", + "pants.core.util_rules.system_binaries.find_touch", + "pants.core.util_rules.system_binaries.find_unzip", + "pants.core.util_rules.system_binaries.find_zip", + "pants.core.util_rules.system_binaries.get_bash", + "pants.core.util_rules.system_binaries.maybe_find_git" ], - "dependencies": ["pants.engine.fs"], - "dependents": ["pants.backend.experimental.tools.semgrep"], - "documentation": "AllSemgrepConfigs(configs_by_dir: 'dict[PurePath, set[PurePath]]')", + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.backend.experimental.adhoc", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.tools.semgrep.rules", - "name": "AllSemgrepConfigs", - "provider": "pants.backend.experimental.tools.semgrep", + "module": "pants.core.util_rules.system_binaries", + "name": "EnvironmentAware", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.tools.semgrep.rules.find_all_semgrep_configs" + "construct_env_aware_scope_system_binaries" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.tools.semgrep.rules.RelevantSemgrepConfigs": { + "pants.core.util_rules.system_binaries.GitBinary": { "consumed_by_rules": [], - "dependencies": ["pants.backend.tools.semgrep.rules"], - "dependents": ["pants.backend.experimental.tools.semgrep"], + "dependencies": [], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.backend.tools.semgrep.rules", - "name": "RelevantSemgrepConfigs", - "provider": "pants.backend.experimental.tools.semgrep", + "module": "pants.core.util_rules.system_binaries", + "name": "GitBinary", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs" + "pants.core.util_rules.system_binaries.find_git" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.tools.semgrep.rules.partition"] + "used_in_rules": [] }, - "pants.backend.tools.semgrep.rules.RelevantSemgrepConfigsRequest": { + "pants.core.util_rules.system_binaries.LnBinary": { "consumed_by_rules": [ - "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" ], "dependencies": [], - "dependents": ["pants.backend.experimental.tools.semgrep"], - "documentation": "RelevantSemgrepConfigsRequest(field_set: 'SemgrepFieldSet')", + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.tools.semgrep.rules", - "name": "RelevantSemgrepConfigsRequest", - "provider": "pants.backend.tools.semgrep.rules", - "returned_by_rules": [], + "module": "pants.core.util_rules.system_binaries", + "name": "LnBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_ln" + ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.tools.semgrep.rules.partition"] + "used_in_rules": [] }, - "pants.backend.tools.semgrep.rules.SemgrepIgnoreFiles": { - "consumed_by_rules": ["pants.backend.tools.semgrep.rules.partition"], - "dependencies": ["builtins"], - "dependents": ["pants.backend.experimental.tools.semgrep"], - "documentation": "SemgrepIgnoreFiles(snapshot: 'Snapshot')", + "pants.core.util_rules.system_binaries.MaybeGitBinary": { + "consumed_by_rules": [ + "pants.core.util_rules.system_binaries.maybe_find_git_wrapper", + "pants.vcs.git.get_git_worktree" + ], + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": "MaybeGitBinary(git_binary: 'GitBinary | None' = None)", "is_union": false, - "module": "pants.backend.tools.semgrep.rules", - "name": "SemgrepIgnoreFiles", - "provider": "pants.backend.experimental.tools.semgrep", + "module": "pants.core.util_rules.system_binaries", + "name": "MaybeGitBinary", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.tools.semgrep.rules.all_semgrep_ignore_files" + "pants.core.util_rules.system_binaries.maybe_find_git", + "pants.core.util_rules.system_binaries.maybe_find_git_wrapper" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.tools.semgrep.rules.SemgrepLintRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.backend.tools.semgrep.rules", - "name": "SemgrepLintRequest", - "provider": "pants.backend.experimental.tools.semgrep", - "returned_by_rules": [], - "union_members": [], - "union_type": "AbstractLintRequest", - "used_in_rules": [] - }, - "pants.backend.tools.semgrep.subsystem.SemgrepSubsystem": { + "pants.core.util_rules.system_binaries.MkdirBinary": { "consumed_by_rules": [ - "pants.backend.tools.semgrep.rules.lint", - "pants.backend.tools.semgrep.rules.partition" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" + ], + "dependencies": [], + "dependents": [ + "pants.backend.python.typecheck.mypy" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.tools.semgrep"], "documentation": null, "is_union": false, - "module": "pants.backend.tools.semgrep.subsystem", - "name": "SemgrepSubsystem", - "provider": "pants.backend.experimental.tools.semgrep", - "returned_by_rules": ["construct_scope_semgrep"], + "module": "pants.core.util_rules.system_binaries", + "name": "MkdirBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_mkdir" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.tools.workunit_logger.rules.WorkunitLogger": { + "pants.core.util_rules.system_binaries.MktempBinary": { "consumed_by_rules": [ - "pants.backend.tools.workunit_logger.rules.construct_callback" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" + ], + "dependencies": [], + "dependents": [ + "pants.backend.python.typecheck.mypy" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.tools.workunit_logger"], "documentation": null, "is_union": false, - "module": "pants.backend.tools.workunit_logger.rules", - "name": "WorkunitLogger", - "provider": "pants.backend.experimental.tools.workunit_logger", - "returned_by_rules": ["construct_scope_workunit_logger"], + "module": "pants.core.util_rules.system_binaries", + "name": "MktempBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_mktemp" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.backend.tools.workunit_logger.rules.WorkunitLoggerCallbackFactoryRequest": { + "pants.core.util_rules.system_binaries.MvBinary": { "consumed_by_rules": [ - "pants.backend.tools.workunit_logger.rules.construct_callback" + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" ], - "dependencies": ["pants.engine.streaming_workunit_handler"], - "dependents": ["pants.backend.experimental.tools.workunit_logger"], - "documentation": "A unique request type that is installed to trigger construction of our WorkunitsCallback.", + "dependencies": [], + "dependents": [ + "pants.backend.python.typecheck.mypy" + ], + "documentation": null, "is_union": false, - "module": "pants.backend.tools.workunit_logger.rules", - "name": "WorkunitLoggerCallbackFactoryRequest", - "provider": "pants.backend.experimental.tools.workunit_logger", - "returned_by_rules": [], + "module": "pants.core.util_rules.system_binaries", + "name": "MvBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_mv" + ], "union_members": [], - "union_type": "WorkunitsCallbackFactoryRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.tools.yamllint.rules.YamllintConfigFiles": { + "pants.core.util_rules.system_binaries.OpenBinary": { "consumed_by_rules": [], - "dependencies": ["builtins", "pants.backend.tools.yamllint.rules"], - "dependents": ["pants.backend.experimental.tools.yamllint"], - "documentation": "YamllintConfigFiles(snapshot: 'Snapshot', source_dir_to_config_files: 'FrozenDict[str, str]')", + "dependencies": [], + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.backend.tools.yamllint.rules", - "name": "YamllintConfigFiles", - "provider": "pants.backend.experimental.tools.yamllint", + "module": "pants.core.util_rules.system_binaries", + "name": "OpenBinary", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.tools.yamllint.rules.gather_config_files" + "pants.core.util_rules.system_binaries.find_open" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.backend.tools.yamllint.rules.partition_inputs"] + "used_in_rules": [] }, - "pants.backend.tools.yamllint.rules.YamllintConfigFilesRequest": { + "pants.core.util_rules.system_binaries.ReadlinkBinary": { "consumed_by_rules": [ - "pants.backend.tools.yamllint.rules.gather_config_files" + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata" ], "dependencies": [], - "dependents": ["pants.backend.experimental.tools.yamllint"], - "documentation": "YamllintConfigFilesRequest(filepaths: 'tuple[str, ...]')", - "is_union": false, - "module": "pants.backend.tools.yamllint.rules", - "name": "YamllintConfigFilesRequest", - "provider": "pants.backend.tools.yamllint.rules", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.tools.yamllint.rules.partition_inputs"] - }, - "pants.backend.tools.yamllint.rules.YamllintRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], + "dependents": [ + "pants.backend.experimental.scala" + ], "documentation": null, "is_union": false, - "module": "pants.backend.tools.yamllint.rules", - "name": "YamllintRequest", - "provider": "pants.backend.experimental.tools.yamllint", - "returned_by_rules": [], + "module": "pants.core.util_rules.system_binaries", + "name": "ReadlinkBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_readlink" + ], "union_members": [], - "union_type": "AbstractLintRequest", + "union_type": null, "used_in_rules": [] }, - "pants.backend.tools.yamllint.subsystem.Yamllint": { + "pants.core.util_rules.system_binaries.SystemBinariesSubsystem": { "consumed_by_rules": [ - "pants.backend.tools.yamllint.rules.gather_config_files", - "pants.backend.tools.yamllint.rules.partition_inputs", - "pants.backend.tools.yamllint.rules.run_yamllint" + "construct_env_aware_scope_system_binaries" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.tools.yamllint"], "documentation": null, "is_union": false, - "module": "pants.backend.tools.yamllint.subsystem", - "name": "Yamllint", - "provider": "pants.backend.experimental.tools.yamllint", - "returned_by_rules": ["construct_scope_yamllint"], + "module": "pants.core.util_rules.system_binaries", + "name": "SystemBinariesSubsystem", + "provider": "pants.core", + "returned_by_rules": [ + "construct_scope_system_binaries" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.base.specs.RawSpecs": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "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.", + "pants.core.util_rules.system_binaries.TarBinary": { + "consumed_by_rules": [ + "pants.backend.debian.rules.package_debian_package", + "pants.core.util_rules.adhoc_binaries.download_python_binary" + ], + "dependencies": [ + "pants.backend.experimental.javascript" + ], + "dependents": [ + "pants.backend.experimental.debian", + "pants.core" + ], + "documentation": "TarBinary(path: 'str', fingerprint: 'str', platform: 'Platform')", "is_union": false, - "module": "pants.base.specs", - "name": "RawSpecs", - "provider": "pants.base.specs", - "returned_by_rules": [], + "module": "pants.core.util_rules.system_binaries", + "name": "TarBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_tar" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.goals.tailor.find_putative_go_targets", - "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", - "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod", - "pants.backend.javascript.package_json.find_owning_package", - "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.python.goals.tailor.find_putative_targets", - "pants.backend.python.util_rules.package_dists.get_exporting_owner", - "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", - "pants.core.goals.tailor.restrict_conflicting_sources" + "pants.core.util_rules.archive.create_archive", + "pants.core.util_rules.archive.maybe_extract_archive" ] }, - "pants.base.specs.RawSpecsWithoutFileOwners": { - "consumed_by_rules": [], + "pants.core.util_rules.system_binaries.TouchBinary": { + "consumed_by_rules": [ + "pants.jvm.resources.assemble_resources_jar" + ], "dependencies": [], - "dependents": [], - "documentation": "The subset of `RawSpecs` that do not use 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.", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, "is_union": false, - "module": "pants.base.specs", - "name": "RawSpecsWithoutFileOwners", - "provider": "pants.base.specs", - "returned_by_rules": [], + "module": "pants.core.util_rules.system_binaries", + "name": "TouchBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_touch" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", - "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" - ] + "used_in_rules": [] }, - "pants.base.specs.Specs": { + "pants.core.util_rules.system_binaries.UnzipBinary": { "consumed_by_rules": [ - "pants.core.goals.fix.fix", - "pants.core.goals.fmt.fmt", - "pants.core.goals.lint.lint", - "pants.core.goals.tailor.tailor", - "pants.core.goals.update_build_files.update_build_files" + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.jvm.classpath.loose_classfiles", + "pants.jvm.run.create_run_request" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "The specs provided by the user for what to run on.\n\nThe `ignores` will filter out all relevant `includes`.\n\nIf your rule does not need to consider includes vs. ignores, e.g. to find all targets in a\ndirectory, you can directly use `RawSpecs`.", + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.python", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.base.specs", - "name": "Specs", - "provider": "pants.base.specs", - "returned_by_rules": [], + "module": "pants.core.util_rules.system_binaries", + "name": "UnzipBinary", + "provider": "pants.core", + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_unzip" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.project_info.paths.paths", - "pants.core.goals.fix.fix", - "pants.core.goals.fmt.fmt", - "pants.core.goals.lint.lint", - "pants.core.goals.tailor.tailor", - "pants.core.goals.update_build_files.update_build_files" + "pants.core.util_rules.archive.maybe_extract_archive" ] }, - "pants.bsp.context.BSPContext": { + "pants.core.util_rules.system_binaries.ZipBinary": { "consumed_by_rules": [ - "pants.bsp.util_rules.compile.compile_bsp_target", - "pants.jvm.bsp.compile.notify_for_classpath_entry" + "pants.backend.java.compile.javac.compile_java_source", + "pants.jvm.package.war.package_war", + "pants.jvm.resources.assemble_resources_jar" ], - "dependencies": ["pants.engine.internals.session"], - "dependents": ["pants.backend.experimental.java", "pants.core"], - "documentation": "Wrapper type to provide BSP rules with the ability to interact with the BSP protocol\ndriver.", + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java", + "pants.core" + ], + "documentation": null, "is_union": false, - "module": "pants.bsp.context", - "name": "BSPContext", + "module": "pants.core.util_rules.system_binaries", + "name": "ZipBinary", "provider": "pants.core", - "returned_by_rules": ["pants.bsp.rules.bsp_context"], + "returned_by_rules": [ + "pants.core.util_rules.system_binaries.find_zip" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.core.util_rules.archive.create_archive" + ] }, - "pants.bsp.goal.BSPGoal": { + "pants.core.util_rules.wrap_source.GenerateWrapSourceSourcesRequest": { "consumed_by_rules": [ - "pants.bsp.util_rules.targets.materialize_bsp_build_targets" + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.scala" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], "documentation": null, "is_union": false, - "module": "pants.bsp.goal", - "name": "BSPGoal", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_experimental_bsp"], + "module": "pants.core.util_rules.wrap_source", + "name": "GenerateWrapSourceSourcesRequest", + "provider": "pants.backend.experimental.scala", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "GenerateSourcesRequest", "used_in_rules": [] }, - "pants.bsp.protocol.BSPHandlerMapping": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ + "pants.engine.addresses.Addresses": { + "consumed_by_rules": [ + "pants.backend.project_info.dependencies.dependencies", + "pants.backend.project_info.dependents.dependents_goal", + "pants.backend.project_info.filedeps.file_deps", + "pants.backend.project_info.filter_targets.filter_targets", + "pants.backend.project_info.list_targets.list_targets", + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", + "pants.engine.internals.graph.coarsened_targets_request", + "pants.engine.internals.graph.resolve_unexpanded_targets" + ], + "dependencies": [ + "builtins", + "pants.backend.awslambda.python", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", + "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.experimental.visibility", + "pants.backend.python", + "pants.backend.shell", + "pants.build_graph.address", + "pants.engine.environment", + "pants.engine.target", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.docker", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.visibility", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.pylint", + "pants.backend.python.mixed_interpreter_constraints", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell", "pants.core" ], - "documentation": "Union type for rules to register handlers for BSP methods.", - "is_union": true, - "module": "pants.bsp.protocol", - "name": "BSPHandlerMapping", - "provider": "pants.bsp.protocol", - "returned_by_rules": [], - "union_members": [ - "BuildTargetSourcesHandlerMapping", - "CompileRequestHandlerMapping", - "DependencyModulesHandlerMapping", - "DependencySourcesHandlerMapping", - "InitializeBuildHandlerMapping", - "JavacOptionsHandlerMapping", - "ResourcesRequestHandlerMapping", - "ScalaMainClassesHandlerMapping", - "ScalaTestClassesHandlerMapping", - "ScalacOptionsHandlerMapping", - "WorkspaceBuildTargetsHandlerMapping" + "documentation": null, + "is_union": false, + "module": "pants.engine.addresses", + "name": "Addresses", + "provider": "pants.backend.experimental.go, pants.engine.addresses", + "returned_by_rules": [ + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_unparsed_address_inputs" ], + "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.java.bsp.rules.bsp_java_resources_request", + "pants.backend.java.goals.check.javac_check", + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", + "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.project_info.dependencies.dependencies", + "pants.backend.project_info.dependents.map_addresses_to_dependents", + "pants.backend.project_info.filedeps.file_deps", + "pants.backend.project_info.list_targets.list_targets", + "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", + "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", + "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points", + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", + "pants.backend.python.util_rules.pex.get_req_strings", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.bsp.rules.bsp_scala_resources_request", + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.backend.scala.compile.scalac_plugins.fetch_plugins", + "pants.backend.scala.goals.check.scalac_check", + "pants.backend.scala.goals.repl.create_scala_repl_request", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.backend.visibility.lint.check_visibility_rule_violations", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "pants.engine.internals.graph.transitive_dependency_mapping", + "pants.engine.internals.graph.transitive_targets", + "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", + "pants.jvm.run.create_run_request", + "pants.jvm.test.junit.setup_junit_for_target" + ] }, - "pants.bsp.spec.base.BuildTargetIdentifier": { + "pants.engine.addresses.UnparsedAddressInputs": { "consumed_by_rules": [ - "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier" + "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", + "pants.engine.internals.graph.resolve_unparsed_address_inputs" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "A unique identifier for a target, can use any URI-compatible encoding as long as it is unique\nwithin the workspace.\n\nClients should not infer metadata out of the URI structure such as the path or query parameters,\nuse BuildTarget instead.", + "dependents": [ + "pants.backend.experimental.go", + "pants.core" + ], + "documentation": "Raw addresses that have not been parsed yet.\n\nYou can convert these into fully normalized `Addresses` and `Targets` like this:\n\n await Get(Addresses, UnparsedAddressInputs([\"//:tgt1\", \"//:tgt2\"], owning_address=None)\n await Get(Targets, UnparsedAddressInputs([...], owning_address=Address(\"original\"))\n\nThis is intended for contexts where the user specifies addresses outside of the `dependencies`\nfield, such as through an option or a special field on a target that is not normal\n`dependencies`. You should not use this to resolve the `dependencies` field; use\n`await Get(Addresses, DependenciesRequest)` for that.\n\nIf the addresses are coming from a target's fields, set `owning_address` so that relative\nreferences like `:sibling` work properly.\n\nUnlike the `dependencies` field, this type does not work with `!` and `!!` ignores.\n\nSet `description_of_origin` to a value like \"CLI arguments\" or \"the `dependencies` field\nfrom {tgt.address}\". It is used for better error messages.", "is_union": false, - "module": "pants.bsp.spec.base", - "name": "BuildTargetIdentifier", - "provider": "pants.bsp.spec.base", + "module": "pants.engine.addresses", + "name": "UnparsedAddressInputs", + "provider": "pants.engine.addresses", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", - "pants.bsp.util_rules.compile.bsp_compile_request", - "pants.bsp.util_rules.resources.bsp_resources_request", - "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources", - "pants.bsp.util_rules.targets.resolve_one_dependency_module" + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points", + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", + "pants.backend.python.util_rules.faas.digest_complete_platforms", + "pants.backend.python.util_rules.package_dists.get_requirements", + "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", + "pants.backend.python.util_rules.pex.digest_complete_platforms", + "pants.backend.python.util_rules.pex.get_req_strings", + "pants.core.goals.test.build_runtime_package_dependencies", + "pants.core.target_types.package_archive_target", + "pants.core.target_types.relocate_files", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "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", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", + "pants.engine.internals.graph.transitive_targets", + "pants.jvm.package.war.render_war_content", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord" ] }, - "pants.bsp.spec.compile.CompileResult": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.scala", - "pants.bsp.spec.compile", - "pants.bsp.util_rules.targets", - "pants.engine.fs" - ], - "dependents": [], - "documentation": "CompileResult(origin_id: 'str | None', status_code: 'int', data_kind: 'str | None' = None, data: 'Any | None' = None)", - "is_union": false, - "module": "pants.bsp.spec.compile", - "name": "CompileResult", - "provider": "pants.core", - "returned_by_rules": ["pants.bsp.util_rules.compile.bsp_compile_request"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.bsp.spec.lifecycle.InitializeBuildResult": { + "pants.engine.desktop.OpenFilesRequest": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.spec.lifecycle", "pants.engine.unions"], + "dependencies": [], "dependents": [], - "documentation": "InitializeBuildResult(display_name: 'str', version: 'str', bsp_version: 'str', capabilities: 'BuildServerCapabilities', data: 'Any | None')", + "documentation": "OpenFilesRequest(files: Iterable[pathlib.PurePath], *, error_if_open_not_found: bool = True)", "is_union": false, - "module": "pants.bsp.spec.lifecycle", - "name": "InitializeBuildResult", - "provider": "pants.core", - "returned_by_rules": [ - "pants.bsp.util_rules.lifecycle.bsp_build_initialize" - ], + "module": "pants.engine.desktop", + "name": "OpenFilesRequest", + "provider": "pants.engine.desktop", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.core.goals.test.run_tests" + ] }, - "pants.bsp.spec.resources.ResourcesResult": { + "pants.engine.download_file.URLDownloadHandler": { "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.scala", - "pants.bsp.spec.resources", - "pants.bsp.util_rules.targets", - "pants.engine.fs" + "dependencies": [], + "dependents": [ + "pants.backend.url_handlers.s3" ], - "dependents": [], - "documentation": "ResourcesResult(items: 'tuple[ResourcesItem, ...]')", - "is_union": false, - "module": "pants.bsp.spec.resources", - "name": "ResourcesResult", - "provider": "pants.core", - "returned_by_rules": [ - "pants.bsp.util_rules.resources.bsp_resources_request" + "documentation": "Union base for custom URL handler.\n\nTo register a custom URL handler:\n- Subclass this class and declare one or both of the ClassVars.\n- Declare a rule that takes in your class type and returns a `Digest`.\n- Register your union member in your `rules()`: `UnionRule(URLDownloadHandler, YourClass)`.\n\nExample:\n\n class S3DownloadHandler(URLDownloadHandler):\n match_scheme = \"s3\"\n\n @rule\n async def download_s3_file(request: S3DownloadHandler) -> Digest:\n # Lookup auth tokens, etc...\n # Ideally, download the file using `NativeDownloadFile()`\n return digest\n\n def rules():\n return [\n *collect_rules(),\n UnionRule(URLDownloadHandler, S3DownloadHandler),\n ]", + "is_union": true, + "module": "pants.engine.download_file", + "name": "URLDownloadHandler", + "provider": "pants.engine.download_file", + "returned_by_rules": [], + "union_members": [ + "DownloadS3AuthorityPathStyleURL", + "DownloadS3AuthorityVirtualHostedStyleURL", + "DownloadS3SchemeURL" ], - "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.bsp.spec.targets.DependencyModulesResult": { - "consumed_by_rules": [], + "pants.engine.env_vars.CompleteEnvironmentVars": { + "consumed_by_rules": [ + "pants.core.goals.repl.run_repl", + "pants.core.goals.run.run", + "pants.engine.internals.platform_rules.environment_vars_subset" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.bsp.spec.targets", - "pants.engine.fs" + "pants.core", + "pants.engine.internals.session" ], - "dependents": [], - "documentation": "DependencyModulesResult(items: 'tuple[DependencyModulesItem, ...]')", + "dependents": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "documentation": "CompleteEnvironmentVars contains all environment variables from the current Pants process.\n\nNB: Consumers should almost always prefer to consume the `EnvironmentVars` type, which is\nfiltered to a relevant subset of the environment.", "is_union": false, - "module": "pants.bsp.spec.targets", - "name": "DependencyModulesResult", - "provider": "pants.core", + "module": "pants.engine.env_vars", + "name": "CompleteEnvironmentVars", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.bsp.util_rules.targets.bsp_dependency_modules" + "pants.engine.internals.platform_rules.complete_environment_vars" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.bsp.spec.targets.DependencySourcesResult": { + "pants.engine.env_vars.EnvironmentVars": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.spec.targets"], - "dependents": [], - "documentation": "DependencySourcesResult(items: 'tuple[DependencySourcesItem, ...]')", + "dependencies": [ + "pants.engine.env_vars" + ], + "dependents": [ + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.helm.check.kubeconform", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.shell", + "pants.core" + ], + "documentation": "A subset of the variables set in the environment.\n\nAccesses to `os.environ` cannot be accurately tracked, so @rules that need access to the\nenvironment should use APIs from this module instead.\n\nWherever possible, the `EnvironmentVars` type should be consumed rather than the\n`CompleteEnvironmentVars`, as it represents a filtered/relevant subset of the environment, rather\nthan the entire unfiltered environment.", "is_union": false, - "module": "pants.bsp.spec.targets", - "name": "DependencySourcesResult", - "provider": "pants.core", + "module": "pants.engine.env_vars", + "name": "EnvironmentVars", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.bsp.util_rules.targets.bsp_dependency_sources" + "pants.engine.internals.platform_rules.environment_vars_subset" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "construct_env_aware_scope_apache_thrift", + "construct_env_aware_scope_docker", + "construct_env_aware_scope_go_generate", + "construct_env_aware_scope_golang", + "construct_env_aware_scope_jvm", + "construct_env_aware_scope_nodejs", + "construct_env_aware_scope_pex", + "construct_env_aware_scope_pyenv_python_provider", + "construct_env_aware_scope_python_bootstrap", + "construct_env_aware_scope_python_native_code", + "construct_env_aware_scope_shell_setup", + "construct_env_aware_scope_subprocess_environment", + "construct_env_aware_scope_system_binaries", + "construct_env_aware_scope_test", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", + "pants.backend.docker.goals.publish.push_docker_images", + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process", + "pants.backend.helm.check.kubeconform.common.setup_kube_conform", + "pants.backend.helm.util_rules.tool.helm_process", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.javascript.package.rules.run_node_build_script", + "pants.backend.javascript.run.rules.run_node_build_script", + "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.rust.util_rules.toolchains.find_rustup", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.backend.terraform.tool.setup_terraform_process", + "pants.core.goals.export.export", + "pants.core.goals.test.get_filtered_environment", + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths", + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.asdf.resolve_asdf_tool_paths", + "pants.core.util_rules.subprocess_environment.get_subprocess_environment", + "pants.engine.internals.platform_rules.environment_path_variable", + "pants.jvm.test.junit.setup_junit_for_target" + ] }, - "pants.bsp.spec.targets.SourcesResult": { - "consumed_by_rules": [], - "dependencies": ["pants.bsp.spec.targets"], - "dependents": [], - "documentation": "SourcesResult(items: 'tuple[SourcesItem, ...]')", - "is_union": false, - "module": "pants.bsp.spec.targets", - "name": "SourcesResult", - "provider": "pants.core", - "returned_by_rules": [ - "pants.bsp.util_rules.targets.bsp_build_target_sources" + "pants.engine.env_vars.EnvironmentVarsRequest": { + "consumed_by_rules": [ + "pants.engine.internals.platform_rules.environment_vars_subset" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" ], + "documentation": "Requests a subset of the variables set in the environment.\n\nRequesting only the relevant subset of the environment reduces invalidation caused by unrelated\nchanges.", + "is_union": false, + "module": "pants.engine.env_vars", + "name": "EnvironmentVarsRequest", + "provider": "pants.engine.env_vars", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "construct_env_aware_scope_apache_thrift", + "construct_env_aware_scope_docker", + "construct_env_aware_scope_go_generate", + "construct_env_aware_scope_golang", + "construct_env_aware_scope_jvm", + "construct_env_aware_scope_nodejs", + "construct_env_aware_scope_pex", + "construct_env_aware_scope_pyenv_python_provider", + "construct_env_aware_scope_python_bootstrap", + "construct_env_aware_scope_python_native_code", + "construct_env_aware_scope_shell_setup", + "construct_env_aware_scope_subprocess_environment", + "construct_env_aware_scope_system_binaries", + "construct_env_aware_scope_test", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", + "pants.backend.docker.goals.publish.push_docker_images", + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process", + "pants.backend.helm.check.kubeconform.common.setup_kube_conform", + "pants.backend.helm.util_rules.tool.helm_process", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.javascript.package.rules.run_node_build_script", + "pants.backend.javascript.run.rules.run_node_build_script", + "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.rust.util_rules.toolchains.find_rustup", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.backend.terraform.tool.setup_terraform_process", + "pants.core.goals.export.export", + "pants.core.goals.test.get_filtered_environment", + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths", + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.asdf.resolve_asdf_tool_paths", + "pants.core.util_rules.subprocess_environment.get_subprocess_environment", + "pants.engine.internals.platform_rules.environment_path_variable", + "pants.jvm.test.junit.setup_junit_for_target" + ] }, - "pants.bsp.spec.targets.WorkspaceBuildTargetsResult": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", + "pants.engine.env_vars.PathEnvironmentVariable": { + "consumed_by_rules": [ + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" + ], + "dependencies": [], + "dependents": [ "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.bsp.spec.targets", - "pants.engine.fs" + "pants.backend.experimental.javascript", + "pants.core" ], - "dependents": [], - "documentation": "WorkspaceBuildTargetsResult(targets: 'tuple[BuildTarget, ...]')", + "documentation": "The PATH environment variable entries, split on `os.pathsep`.", "is_union": false, - "module": "pants.bsp.spec.targets", - "name": "WorkspaceBuildTargetsResult", - "provider": "pants.core", + "module": "pants.engine.env_vars", + "name": "PathEnvironmentVariable", + "provider": "pants.backend.experimental.javascript", "returned_by_rules": [ - "pants.bsp.util_rules.targets.bsp_workspace_build_targets" + "pants.engine.internals.platform_rules.environment_path_variable" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap" + ] }, - "pants.bsp.util_rules.compile.CompileOneBSPTargetRequest": { - "consumed_by_rules": ["pants.bsp.util_rules.compile.compile_bsp_target"], + "pants.engine.environment.EnvironmentName": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "CompileOneBSPTargetRequest(bsp_target: 'BSPBuildTargetInternal', origin_id: 'str | None' = None, arguments: 'tuple[str, ...] | None' = ())", + "dependents": [ + "pants.backend.experimental.adhoc", + "pants.backend.shell", + "pants.core" + ], + "documentation": "The normalized name for an environment, from `[environments-preview].names`, after applying\nthings like the __local__ matcher.\n\nNote that we have this type, rather than only `EnvironmentTarget`, for a more efficient rule\ngraph. This node impacts the equality of many downstream nodes, so we want its identity to only\nbe a single string, rather than a Target instance.", "is_union": false, - "module": "pants.bsp.util_rules.compile", - "name": "CompileOneBSPTargetRequest", - "provider": "pants.bsp.util_rules.compile", + "module": "pants.engine.environment", + "name": "EnvironmentName", + "provider": "pants.engine.environment", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.bsp.util_rules.compile.bsp_compile_request"] + "used_in_rules": [ + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", + "pants.core.goals.check.check", + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", + "pants.core.goals.generate_snapshots.environment_await_generate_snapshots", + "pants.core.goals.package.environment_aware_package", + "pants.core.goals.publish.package_for_publish", + "pants.core.goals.publish.run_publish", + "pants.core.goals.test.run_tests", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_target", + "pants.engine.internals.graph.resolve_targets", + "pants.engine.internals.graph.transitive_targets" + ] }, - "pants.bsp.util_rules.compile.CompileRequestHandlerMapping": { + "pants.engine.fs.CreateDigest": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], + "dependencies": [], "dependents": [], - "documentation": null, + "documentation": "A request to create a Digest with the input FileContent/FileEntry/SymlinkEntry/Directory\nvalues.\n\nThe engine will create any parent directories necessary, e.g. `FileContent('a/b/c.txt')` will\nresult in `a/`, `a/b`, and `a/b/c.txt` being created. You only need to use `Directory` to\ncreate an empty directory.\n\nThis does _not_ actually materialize the digest to the build root. You must use\n`engine.fs.Workspace` in a `@goal_rule` to save the resulting digest to disk.", "is_union": false, - "module": "pants.bsp.util_rules.compile", - "name": "CompileRequestHandlerMapping", - "provider": "pants.core", + "module": "pants.engine.fs", + "name": "CreateDigest", + "provider": "pants.engine.fs", "returned_by_rules": [], "union_members": [], - "union_type": "BSPHandlerMapping", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "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.go.rules.setup_go_protoc_plugin", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", + "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile", + "pants.backend.go.go_sources.load_go_binary.setup_go_binary", + "pants.backend.go.goals.generate.merge_digests_with_overwrite", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.build_pkg.render_embed_config", + "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", + "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script", + "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code", + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.import_config.generate_import_config", + "pants.backend.go.util_rules.link.link_go_binary", + "pants.backend.go.util_rules.link.setup_go_linker", + "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", + "pants.backend.helm.check.kubeconform.common.run_kubeconform", + "pants.backend.helm.goals.package.run_helm_package", + "pants.backend.helm.resolve.fetch.fetch_helm_artifact", + "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", + "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", + "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata", + "pants.backend.helm.util_rules.renderer.render_helm_chart", + "pants.backend.helm.util_rules.renderer.run_renderer", + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.java_parser.build_processors", + "pants.backend.javascript.package_json.pnpm_workspace_files", + "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java", + "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", + "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.faas.build_python_faas", + "pants.backend.python.util_rules.faas.infer_runtime_platforms", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.python.util_rules.package_dists.generate_setup_py", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex.create_venv_pex", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", + "pants.backend.python.util_rules.pex_requirements.load_lockfile", + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.terraform.dependency_inference.setup_parser", + "pants.backend.tools.preamble.rules.preamble_fmt", + "pants.backend.tools.semgrep.rules.lint", + "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_yapf", + "pants.core.goals.update_build_files.update_build_files", + "pants.core.target_types.hydrate_file_source", + "pants.core.target_types.hydrate_resource_source", + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "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.external_tool.download_external_tool", + "pants.core.util_rules.system_binaries.create_binary_shims", + "pants.core.util_rules.system_binaries.find_binary", + "pants.jvm.goals.lockfile.generate_jvm_lockfile", + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.jar_tool.jar_tool.run_jar_tool", + "pants.jvm.jdk_rules.prepare_jdk_environment", + "pants.jvm.package.war.package_war", + "pants.jvm.package.war.render_war_deployment_descriptor", + "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", + "pants.jvm.resolve.coursier_setup.setup_coursier", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors" + ] }, - "pants.bsp.util_rules.lifecycle.BSPLanguageSupport": { + "pants.engine.fs.DigestSubset": { "consumed_by_rules": [], "dependencies": [], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.scala" - ], - "documentation": "Union exposed by language backends to inform BSP core rules of capabilities to advertise to\nclients.", - "is_union": true, - "module": "pants.bsp.util_rules.lifecycle", - "name": "BSPLanguageSupport", - "provider": "pants.bsp.util_rules.lifecycle", + "dependents": [], + "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", + "name": "DigestSubset", + "provider": "pants.engine.fs", "returned_by_rules": [], - "union_members": ["JavaBSPLanguageSupport", "ScalaBSPLanguageSupport"], + "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.coverage.go_apply_code_coverage", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", + "pants.backend.helm.resolve.fetch.fetch_helm_artifact", + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "pants.backend.helm.test.unittest.run_helm_unittest", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest", + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", + "pants.backend.helm.util_rules.sources.get_helm_source_files", + "pants.backend.helm.util_rules.tool.download_external_helm_plugin", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.javascript.goals.test.collect_coverage_reports", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java", + "pants.backend.python.goals.pytest_runner.run_python_tests", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.util_rules.dists.find_build_system", + "pants.backend.python.util_rules.local_dists.build_local_dists", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "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.scalafmt.rules.partition_scalafmt", + "pants.backend.scala.test.scalatest.run_scalatest_test", + "pants.backend.tools.yamllint.rules.partition_inputs", + "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", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.package.war.package_war", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", + "pants.jvm.test.junit.run_junit_test", + "pants.jvm.util_rules.digest_to_file_digest" + ] }, - "pants.bsp.util_rules.lifecycle.InitializeBuildHandlerMapping": { + "pants.engine.fs.DownloadFile": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], + "dependencies": [], "dependents": [], - "documentation": null, + "documentation": "Retrieve the contents of a file via an HTTP GET request or directly for local file:// URLs.\n\nTo compute the `expected_digest`, manually download the file, then run `shasum -a 256` to\ncompute the fingerprint and `wc -c` to compute the expected length of the downloaded file in\nbytes.", "is_union": false, - "module": "pants.bsp.util_rules.lifecycle", - "name": "InitializeBuildHandlerMapping", - "provider": "pants.core", + "module": "pants.engine.fs", + "name": "DownloadFile", + "provider": "pants.engine.fs", "returned_by_rules": [], "union_members": [], - "union_type": "BSPHandlerMapping", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.core.target_types.hydrate_file_source", + "pants.core.target_types.hydrate_resource_source", + "pants.core.util_rules.adhoc_binaries.download_python_binary", + "pants.core.util_rules.external_tool.download_external_tool" + ] }, - "pants.bsp.util_rules.resources.ResourcesForOneBSPTargetRequest": { + "pants.engine.fs.FileContent": { "consumed_by_rules": [ - "pants.bsp.util_rules.resources.resources_bsp_target" + "pants.backend.javascript.package_json.parse_package_json" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "ResourcesForOneBSPTargetRequest(bsp_target: 'BSPBuildTargetInternal')", + "dependents": [ + "pants.backend.experimental.javascript" + ], + "documentation": "The content of a file.\n\nThis can be used to create a new Digest with `Get(Digest, CreateDigest)`. You can also get back\na list of `FileContent` objects by using `Get(DigestContents, Digest)`.", "is_union": false, - "module": "pants.bsp.util_rules.resources", - "name": "ResourcesForOneBSPTargetRequest", - "provider": "pants.bsp.util_rules.resources", + "module": "pants.engine.fs", + "name": "FileContent", + "provider": "pants.engine.fs", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.bsp.util_rules.resources.bsp_resources_request"] + "used_in_rules": [ + "pants.backend.javascript.package_json.read_package_jsons" + ] }, - "pants.bsp.util_rules.resources.ResourcesRequestHandlerMapping": { + "pants.engine.fs.NativeDownloadFile": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], + "dependencies": [], "dependents": [], - "documentation": null, + "documentation": "Retrieve the contents of a file via an HTTP GET request or directly for local file:// URLs.\n\nThis request is handled directly by the native engine without any additional coercion by plugins,\nand therefore should only be used in cases where the URL is known to be publicly accessible.\nOtherwise, callers should use `DownloadFile`.\n\nThe auth_headers are part of this nodes' cache key for memoization (changing a header invalidates\nprior results) but are not part of the underlying cache key for the local/remote cache (changing\na header won't re-download a file if the file was previously downloaded).", "is_union": false, - "module": "pants.bsp.util_rules.resources", - "name": "ResourcesRequestHandlerMapping", - "provider": "pants.core", + "module": "pants.engine.fs", + "name": "NativeDownloadFile", + "provider": "pants.engine.fs", "returned_by_rules": [], "union_members": [], - "union_type": "BSPHandlerMapping", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.backend.url_handlers.s3.register.download_from_s3" + ] }, - "pants.bsp.util_rules.targets.BSPBuildTargetInternal": { + "pants.engine.fs.PathGlobs": { "consumed_by_rules": [ - "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots" + "pants.backend.javascript.package_json.read_package_jsons" ], - "dependencies": ["pants.bsp.spec.base"], - "dependents": ["pants.core"], - "documentation": "BSPBuildTargetInternal(name: 'str', specs: 'RawSpecs', definition: 'BSPTargetDefinition')", - "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "BSPBuildTargetInternal", - "provider": "pants.bsp.util_rules.targets, pants.core", - "returned_by_rules": [ - "pants.bsp.util_rules.targets.parse_one_bsp_mapping", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.javascript" ], + "documentation": "PathGlobs(globs: 'Iterable[str]', glob_match_error_behavior: 'GlobMatchErrorBehavior' = , conjunction: 'GlobExpansionConjunction' = , description_of_origin: 'str | None' = None) -> 'None'", + "is_union": false, + "module": "pants.engine.fs", + "name": "PathGlobs", + "provider": "pants.engine.fs", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.compile.bsp_compile_request", - "pants.bsp.util_rules.compile.compile_bsp_target", - "pants.bsp.util_rules.resources.bsp_resources_request", - "pants.bsp.util_rules.resources.resources_bsp_target", - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", - "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources", + "pants.backend.cc.goals.tailor.find_putative_targets", + "pants.backend.codegen.avro.tailor.find_putative_targets", + "pants.backend.codegen.protobuf.tailor.find_putative_targets", + "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", + "pants.backend.docker.goals.tailor.find_putative_targets", + "pants.backend.go.goals.tailor.find_putative_go_package_target", + "pants.backend.go.goals.tailor.find_putative_go_targets", + "pants.backend.helm.goals.tailor.find_putative_helm_targets", + "pants.backend.java.goals.tailor.find_putative_targets", + "pants.backend.javascript.goals.tailor.find_putative_js_targets", + "pants.backend.javascript.goals.tailor.find_putative_package_json_targets", + "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", + "pants.backend.javascript.package_json.all_package_json", + "pants.backend.javascript.package_json.package_json_for_source", + "pants.backend.javascript.package_json.parse_package_json", + "pants.backend.javascript.package_json.pnpm_workspace_files", + "pants.backend.javascript.package_json.read_package_jsons", + "pants.backend.kotlin.goals.tailor.find_putative_targets", + "pants.backend.openapi.goals.tailor.find_putative_targets", + "pants.backend.project_info.count_loc.count_loc", + "pants.backend.project_info.regex_lint.lint_with_regex_patterns", + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.tailor.find_putative_targets", + "pants.backend.python.lint.flake8.rules.run_flake8", + "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.target_types_rules.resolve_pex_entry_point", + "pants.backend.python.util_rules.ancestor_files.find_ancestor_files", + "pants.backend.python.util_rules.faas.resolve_python_faas_handler", + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", + "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints", + "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config", + "pants.backend.python.util_rules.pex_requirements.load_lockfile", + "pants.backend.rust.goals.tailor.find_putative_rust_targets", + "pants.backend.scala.goals.tailor.find_putative_targets", + "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files", + "pants.backend.shell.goals.tailor.find_putative_targets", + "pants.backend.swift.goals.tailor.find_putative_targets", + "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets", + "pants.backend.tools.semgrep.rules.all_semgrep_ignore_files", + "pants.backend.tools.semgrep.rules.find_all_semgrep_configs", + "pants.backend.tools.semgrep.rules.lint", + "pants.backend.tools.yamllint.rules.gather_config_files", + "pants.backend.tools.yamllint.rules.run_yamllint", "pants.bsp.util_rules.targets.materialize_bsp_build_targets", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots" + "pants.core.goals.fix.fix_batch", + "pants.core.goals.lint.lint", + "pants.core.goals.tailor.edit_build_files", + "pants.core.goals.tailor.restrict_conflicting_sources", + "pants.core.goals.update_build_files.update_build_files", + "pants.core.util_rules.config_files.find_config_file", + "pants.engine.internals.graph.find_owners", + "pants.engine.internals.graph.hydrate_sources", + "pants.engine.internals.graph.resolve_generator_target_requests", + "pants.engine.internals.graph.resolve_source_paths", + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", + "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets", + "pants.source.source_root.all_roots", + "pants.source.source_root.get_optional_source_root" ] }, - "pants.bsp.util_rules.targets.BSPBuildTargetSourcesInfo": { + "pants.engine.internals.build_files.AddressFamilyDir": { "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.go", - "pants.bsp.util_rules.targets" - ], - "dependents": ["pants.core"], - "documentation": "Source files and roots for a BSP build target.\n\nIt is a separate class so that it is computed lazily only when called for by an RPC call.", + "dependencies": [], + "dependents": [], + "documentation": "The directory to find addresses for.\n\nThis does _not_ recurse into subdirectories.", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "BSPBuildTargetSourcesInfo", - "provider": "pants.core", - "returned_by_rules": [ - "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots" - ], + "module": "pants.engine.internals.build_files", + "name": "AddressFamilyDir", + "provider": "pants.engine.internals.build_files", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", - "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources" + "pants.backend.project_info.peek.get_target_data" ] }, - "pants.bsp.util_rules.targets.BSPBuildTargets": { - "consumed_by_rules": [ - "pants.bsp.util_rules.targets.bsp_workspace_build_targets", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier" - ], - "dependencies": ["pants.bsp.util_rules.targets", "pants.engine.fs"], - "dependents": ["pants.core"], - "documentation": "BSPBuildTargets(targets_mapping: 'FrozenDict[str, BSPBuildTargetInternal]')", + "pants.engine.internals.dep_rules.BuildFileDependencyRulesImplementation": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "BuildFileDependencyRulesImplementation(build_file_dependency_rules_class: 'type[BuildFileDependencyRules]')", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "BSPBuildTargets", - "provider": "pants.core", + "module": "pants.engine.internals.dep_rules", + "name": "BuildFileDependencyRulesImplementation", + "provider": "pants.backend.experimental.visibility", "returned_by_rules": [ - "pants.bsp.util_rules.targets.materialize_bsp_build_targets" + "pants.backend.visibility.rules.build_file_visibility_implementation" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.bsp.util_rules.targets.BSPBuildTargetsMetadataRequest": { + "pants.engine.internals.dep_rules.BuildFileDependencyRulesImplementationRequest": { "consumed_by_rules": [], "dependencies": [], "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.scala" + "pants.backend.experimental.visibility" ], - "documentation": "Hook to allow language backends to provide metadata for BSP build targets.", + "documentation": null, "is_union": true, - "module": "pants.bsp.util_rules.targets", - "name": "BSPBuildTargetsMetadataRequest", - "provider": "pants.bsp.util_rules.targets", + "module": "pants.engine.internals.dep_rules", + "name": "BuildFileDependencyRulesImplementationRequest", + "provider": "pants.engine.internals.dep_rules", "returned_by_rules": [], "union_members": [ - "JavaBSPBuildTargetsMetadataRequest", - "ScalaBSPBuildTargetsMetadataRequest" + "BuildFileVisibilityImplementationRequest" ], "union_type": null, - "used_in_rules": [ - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request" - ] + "used_in_rules": [] }, - "pants.bsp.util_rules.targets.BSPBuildTargetsMetadataResult": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.base.build_root", - "pants.core" + "pants.engine.internals.graph.GenerateFileTargets": { + "consumed_by_rules": [ + "pants.engine.internals.graph.generate_file_targets" ], - "dependents": ["pants.core"], - "documentation": "Response type for a BSPBuildTargetsMetadataRequest.", - "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "BSPBuildTargetsMetadataResult", - "provider": "pants.backend.experimental.java, pants.backend.experimental.scala", - "returned_by_rules": [ - "pants.backend.java.bsp.rules.bsp_resolve_java_metadata", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata" + "dependencies": [ + "pants.engine.target" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request" - ] - }, - "pants.bsp.util_rules.targets.BSPCompileRequest": { - "consumed_by_rules": [], - "dependencies": [], "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.scala" + "pants.backend.experimental.go" ], - "documentation": "Hook to allow language backends to compile targets.", - "is_union": true, - "module": "pants.bsp.util_rules.targets", - "name": "BSPCompileRequest", - "provider": "pants.bsp.util_rules.targets", + "documentation": null, + "is_union": false, + "module": "pants.engine.internals.graph", + "name": "GenerateFileTargets", + "provider": "pants.backend.experimental.go", "returned_by_rules": [], - "union_members": ["JavaBSPCompileRequest", "ScalaBSPCompileRequest"], - "union_type": null, - "used_in_rules": ["pants.bsp.util_rules.compile.compile_bsp_target"] + "union_members": [], + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] }, - "pants.bsp.util_rules.targets.BSPCompileResult": { + "pants.engine.internals.graph.Owners": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.kotlin", - "pants.bsp.util_rules.compile", - "pants.engine.target", - "pants.engine.unions", - "pants.jvm.resolve.key" + "pants.build_graph.address", + "pants.core", + "pants.engine.environment", + "pants.engine.fs", + "pants.engine.internals.graph", + "pants.engine.target" ], - "dependents": ["pants.core"], - "documentation": "Result of compilation of a target capable of target compilation.", + "dependents": [ + "pants.backend.experimental.javascript", + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "BSPCompileResult", - "provider": "pants.backend.experimental.java, pants.backend.experimental.scala, pants.core", + "module": "pants.engine.internals.graph", + "name": "Owners", + "provider": "pants.backend.experimental.go", "returned_by_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.bsp.util_rules.compile.compile_bsp_target" + "pants.engine.internals.graph.find_owners" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.compile.bsp_compile_request", - "pants.bsp.util_rules.compile.compile_bsp_target" + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "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.bsp.util_rules.targets.BSPDependencyModulesRequest": { - "consumed_by_rules": [], + "pants.engine.internals.graph.OwnersRequest": { + "consumed_by_rules": [ + "pants.engine.internals.graph.find_owners" + ], "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "Hook to allow language backends to provide dependency modules.", - "is_union": true, - "module": "pants.bsp.util_rules.targets", - "name": "BSPDependencyModulesRequest", - "provider": "pants.bsp.util_rules.targets", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "A request for the owners of a set of file paths.\n\nTODO: This is widely used as an effectively-public API. It should probably move to\n`pants.engine.target`.", + "is_union": false, + "module": "pants.engine.internals.graph", + "name": "OwnersRequest", + "provider": "pants.engine.internals.graph", "returned_by_rules": [], - "union_members": ["ScalaBSPDependencyModulesRequest"], + "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.targets.resolve_one_dependency_module" + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "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.bsp.util_rules.targets.BSPDependencyModulesResult": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.base.build_root", - "pants.core" + "pants.engine.internals.graph.ResolveAllTargetGeneratorRequests": { + "consumed_by_rules": [ + "pants.engine.internals.graph.resolve_all_generator_target_requests" ], - "dependents": ["pants.core"], - "documentation": "BSPDependencyModulesResult(modules: 'tuple[DependencyModule, ...]', digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0))", - "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "BSPDependencyModulesResult", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [ - "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" ], + "documentation": "ResolveAllTargetGeneratorRequests(description_of_origin: 'str', of_type: 'type[TargetGenerator] | None' = None)", + "is_union": false, + "module": "pants.engine.internals.graph", + "name": "ResolveAllTargetGeneratorRequests", + "provider": "pants.engine.internals.graph", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.targets.resolve_one_dependency_module" + "pants.backend.javascript.package_json.all_package_json" ] }, - "pants.bsp.util_rules.targets.BSPResourcesRequest": { - "consumed_by_rules": [], + "pants.engine.internals.graph.ResolveTargetGeneratorRequests": { + "consumed_by_rules": [ + "pants.engine.internals.graph.resolve_generator_target_requests" + ], "dependencies": [], "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.scala" + "pants.backend.experimental.go" ], - "documentation": "Hook to allow language backends to provide resources for targets.", - "is_union": true, - "module": "pants.bsp.util_rules.targets", - "name": "BSPResourcesRequest", - "provider": "pants.bsp.util_rules.targets", + "documentation": "ResolveTargetGeneratorRequests(address: 'Address', description_of_origin: 'str')", + "is_union": false, + "module": "pants.engine.internals.graph", + "name": "ResolveTargetGeneratorRequests", + "provider": "pants.engine.internals.graph", "returned_by_rules": [], - "union_members": ["JavaBSPResourcesRequest", "ScalaBSPResourcesRequest"], + "union_members": [], "union_type": null, - "used_in_rules": ["pants.bsp.util_rules.resources.resources_bsp_target"] + "used_in_rules": [ + "pants.engine.internals.graph.resolve_all_generator_target_requests", + "pants.engine.internals.graph.resolve_target_parametrizations" + ] }, - "pants.bsp.util_rules.targets.BSPResourcesResult": { + "pants.engine.internals.graph.ResolvedTargetGeneratorRequests": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.base.build_root", - "pants.bsp.util_rules.resources", - "pants.engine.target", + "pants.engine.fs", + "pants.engine.internals.graph", + "pants.engine.internals.mapper", "pants.engine.unions" ], - "dependents": ["pants.core"], - "documentation": "Resources for a target.", + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.javascript" + ], + "documentation": "ResolvedTargetGeneratorRequests(requests: 'tuple[GenerateTargetsRequest, ...]' = ())", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "BSPResourcesResult", - "provider": "pants.backend.experimental.java, pants.backend.experimental.scala, pants.core", + "module": "pants.engine.internals.graph", + "name": "ResolvedTargetGeneratorRequests", + "provider": "pants.backend.experimental.go", "returned_by_rules": [ - "pants.backend.java.bsp.rules.bsp_java_resources_request", - "pants.backend.scala.bsp.rules.bsp_scala_resources_request", - "pants.bsp.util_rules.resources.resources_bsp_target" + "pants.engine.internals.graph.resolve_all_generator_target_requests", + "pants.engine.internals.graph.resolve_generator_target_requests" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.resources.bsp_resources_request", - "pants.bsp.util_rules.resources.resources_bsp_target" + "pants.backend.javascript.package_json.all_package_json", + "pants.engine.internals.graph.resolve_all_generator_target_requests", + "pants.engine.internals.graph.resolve_target_parametrizations" ] }, - "pants.bsp.util_rules.targets.BuildTargetSourcesHandlerMapping": { - "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], - "dependents": [], + "pants.engine.internals.graph.SubprojectRoots": { + "consumed_by_rules": [ + "pants.engine.internals.graph.determine_explicitly_provided_dependencies", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_unparsed_address_inputs" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], "documentation": null, "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "BuildTargetSourcesHandlerMapping", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.engine.internals.graph", + "name": "SubprojectRoots", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.extract_subproject_roots" + ], "union_members": [], - "union_type": "BSPHandlerMapping", + "union_type": null, "used_in_rules": [] }, - "pants.bsp.util_rules.targets.DependencyModulesHandlerMapping": { + "pants.engine.internals.graph.WrappedTargetForBootstrap": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], + "dependencies": [ + "pants.engine.target", + "pants.engine.unions" + ], "dependents": [], - "documentation": null, + "documentation": "Used to avoid a rule graph cycle when evaluating bootstrap targets.\n\nThis does not work with target generation and parametrization. It also ignores any unrecognized\nfields in the target, to accommodate plugin fields which are not yet registered during\nbootstrapping.\n\nThis should only be used by bootstrapping code.", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "DependencyModulesHandlerMapping", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.engine.internals.graph", + "name": "WrappedTargetForBootstrap", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.resolve_target_for_bootstrapping" + ], "union_members": [], - "union_type": "BSPHandlerMapping", + "union_type": null, "used_in_rules": [] }, - "pants.bsp.util_rules.targets.DependencySourcesHandlerMapping": { + "pants.engine.internals.graph._AdaptorAndType": { "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "DependencySourcesHandlerMapping", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": "BSPHandlerMapping", - "used_in_rules": [] - }, - "pants.bsp.util_rules.targets.GenerateOneBSPBuildTargetRequest": { - "consumed_by_rules": [ - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request" + "dependencies": [ + "pants.engine.internals.graph", + "pants.engine.internals.target_adaptor", + "pants.engine.target" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "GenerateOneBSPBuildTargetRequest(bsp_target: 'BSPBuildTargetInternal')", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "_AdaptorAndType(adaptor: 'TargetAdaptor', target_type: 'type[Target]')", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "GenerateOneBSPBuildTargetRequest", - "provider": "pants.bsp.util_rules.targets", - "returned_by_rules": [], + "module": "pants.engine.internals.graph", + "name": "_AdaptorAndType", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph._determine_target_adaptor_and_type" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.targets.bsp_workspace_build_targets" + "pants.engine.internals.graph.resolve_generator_target_requests", + "pants.engine.internals.graph.resolve_target_for_bootstrapping", + "pants.engine.internals.graph.resolve_target_parametrizations" ] }, - "pants.bsp.util_rules.targets.GenerateOneBSPBuildTargetResult": { + "pants.engine.internals.graph._DependencyMapping": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.scala", - "pants.base.build_root", - "pants.bsp.util_rules.targets", - "pants.engine.unions" + "pants.core", + "pants.engine.internals.graph", + "pants.engine.target" ], - "dependents": ["pants.core"], - "documentation": "GenerateOneBSPBuildTargetResult(build_target: 'BuildTarget', digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0))", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "_DependencyMapping(mapping: 'FrozenDict[Address, tuple[Address, ...]]', visited: 'FrozenOrderedSet[Target]', roots_as_targets: 'Collection[Target]')", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "GenerateOneBSPBuildTargetResult", - "provider": "pants.core", + "module": "pants.engine.internals.graph", + "name": "_DependencyMapping", + "provider": "pants.backend.experimental.go", "returned_by_rules": [ - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request" + "pants.engine.internals.graph.transitive_dependency_mapping" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.targets.bsp_workspace_build_targets" + "pants.engine.internals.graph.coarsened_targets", + "pants.engine.internals.graph.transitive_targets" ] }, - "pants.bsp.util_rules.targets.MaterializeBuildTargetSourcesRequest": { + "pants.engine.internals.graph._DependencyMappingRequest": { "consumed_by_rules": [ - "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources" + "pants.engine.internals.graph.transitive_dependency_mapping" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "MaterializeBuildTargetSourcesRequest(bsp_target_id: 'BuildTargetIdentifier')", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "_DependencyMappingRequest(tt_request: 'TransitiveTargetsRequest', expanded_targets: 'bool')", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "MaterializeBuildTargetSourcesRequest", - "provider": "pants.bsp.util_rules.targets", + "module": "pants.engine.internals.graph", + "name": "_DependencyMappingRequest", + "provider": "pants.engine.internals.graph", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.bsp.util_rules.targets.bsp_build_target_sources"] - }, - "pants.bsp.util_rules.targets.MaterializeBuildTargetSourcesResult": { - "consumed_by_rules": [], - "dependencies": ["pants.base.build_root", "pants.bsp.util_rules.targets"], - "dependents": ["pants.core"], - "documentation": "MaterializeBuildTargetSourcesResult(sources_item: 'SourcesItem')", - "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "MaterializeBuildTargetSourcesResult", - "provider": "pants.core", - "returned_by_rules": [ - "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.bsp.util_rules.targets.bsp_build_target_sources"] + "used_in_rules": [ + "pants.engine.internals.graph.coarsened_targets", + "pants.engine.internals.graph.transitive_targets" + ] }, - "pants.bsp.util_rules.targets.ResolveOneDependencyModuleRequest": { + "pants.engine.internals.graph._RequestAdaptorAndType": { "consumed_by_rules": [ - "pants.bsp.util_rules.targets.resolve_one_dependency_module" + "pants.engine.internals.graph._determine_target_adaptor_and_type" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "ResolveOneDependencyModuleRequest(bsp_target_id: 'BuildTargetIdentifier')", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "_RequestAdaptorAndType(address: 'Address', description_of_origin: 'str')", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "ResolveOneDependencyModuleRequest", - "provider": "pants.bsp.util_rules.targets", + "module": "pants.engine.internals.graph", + "name": "_RequestAdaptorAndType", + "provider": "pants.engine.internals.graph", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.bsp.util_rules.targets.bsp_dependency_modules"] + "used_in_rules": [ + "pants.engine.internals.graph.resolve_generator_target_requests", + "pants.engine.internals.graph.resolve_target_for_bootstrapping", + "pants.engine.internals.graph.resolve_target_parametrizations" + ] }, - "pants.bsp.util_rules.targets.ResolveOneDependencyModuleResult": { + "pants.engine.internals.parametrize._TargetParametrizations": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", + "pants.backend.experimental.javascript", "pants.backend.experimental.scala", - "pants.bsp.util_rules.targets", + "pants.backend.plugin_development", + "pants.backend.python", + "pants.engine.internals.parametrize", "pants.engine.unions" ], - "dependents": ["pants.core"], - "documentation": "ResolveOneDependencyModuleResult(bsp_target_id: 'BuildTargetIdentifier', modules: 'tuple[DependencyModule, ...]' = (), digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0))", + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.scala" + ], + "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, - "module": "pants.bsp.util_rules.targets", - "name": "ResolveOneDependencyModuleResult", - "provider": "pants.core", + "module": "pants.engine.internals.parametrize", + "name": "_TargetParametrizations", + "provider": "pants.backend.experimental.go", "returned_by_rules": [ - "pants.bsp.util_rules.targets.resolve_one_dependency_module" + "pants.engine.internals.graph.resolve_target_parametrizations" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.bsp.util_rules.targets.bsp_dependency_modules"] - }, - "pants.bsp.util_rules.targets.WorkspaceBuildTargetsHandlerMapping": { - "consumed_by_rules": [], - "dependencies": ["pants.bsp.protocol"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "WorkspaceBuildTargetsHandlerMapping", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": "BSPHandlerMapping", - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_target", + "pants.engine.internals.graph.resolve_targets" + ] }, - "pants.bsp.util_rules.targets._ParseOneBSPMappingRequest": { + "pants.engine.internals.parametrize._TargetParametrizationsRequest": { "consumed_by_rules": [ - "pants.bsp.util_rules.targets.parse_one_bsp_mapping" + "pants.engine.internals.graph.resolve_target_parametrizations" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "_ParseOneBSPMappingRequest(name: 'str', definition: 'BSPTargetDefinition')", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "_TargetParametrizationsRequest(address: 'Address', description_of_origin: 'str')", "is_union": false, - "module": "pants.bsp.util_rules.targets", - "name": "_ParseOneBSPMappingRequest", - "provider": "pants.bsp.util_rules.targets", + "module": "pants.engine.internals.parametrize", + "name": "_TargetParametrizationsRequest", + "provider": "pants.engine.internals.parametrize", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.bsp.util_rules.targets.materialize_bsp_build_targets" + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_target", + "pants.engine.internals.graph.resolve_targets" ] }, - "pants.build_graph.address.BuildFileAddressRequest": { + "pants.engine.internals.synthetic_targets.SyntheticAddressMaps": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "A collection of `SyntheticAddressMap` for all synthetic target adaptors.", + "is_union": false, + "module": "pants.engine.internals.synthetic_targets", + "name": "SyntheticAddressMaps", + "provider": "pants.backend.python.providers.experimental.pyenv.custom_install, pants.core", + "returned_by_rules": [ + "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets", + "pants.backend.python.providers.pyenv.custom_install.rules.make_synthetic_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.engine.internals.synthetic_targets.SyntheticTargetsRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.core" + ], + "documentation": "Union members of the `SyntheticTargetsRequest` should implement a rule returning an instance\nof a `SyntheticAddressMaps`.", + "is_union": true, + "module": "pants.engine.internals.synthetic_targets", + "name": "SyntheticTargetsRequest", + "provider": "pants.engine.internals.synthetic_targets", + "returned_by_rules": [], + "union_members": [ + "PythonSyntheticLockfileTargetsRequest", + "SyntheticPyenvTargetsRequest" + ], + "union_type": null, + "used_in_rules": [] + }, + "pants.engine.internals.target_adaptor.TargetAdaptorRequest": { "consumed_by_rules": [], "dependencies": [], "dependents": [], - "documentation": "A request to find the BUILD file path for an address.", + "documentation": "Lookup the TargetAdaptor for an Address.", "is_union": false, - "module": "pants.build_graph.address", - "name": "BuildFileAddressRequest", - "provider": "pants.build_graph.address", + "module": "pants.engine.internals.target_adaptor", + "name": "TargetAdaptorRequest", + "provider": "pants.engine.internals.target_adaptor", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.project_info.filedeps.file_deps", - "pants.engine.internals.graph.find_owners" + "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.engine.internals.graph._determine_target_adaptor_and_type" ] }, - "pants.core.goals.check.Check": { - "consumed_by_rules": [], + "pants.engine.platform.Platform": { + "consumed_by_rules": [ + "pants.backend.build_files.fmt.buildifier.rules.buildfier_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", + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.helm.check.kubeconform.common.setup_kube_conform", + "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request", + "pants.backend.helm.util_rules.tool.setup_helm", + "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", + "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", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.backend.python.util_rules.pex_cli.download_pex_pex", + "pants.backend.shell.dependency_inference.parse_shell_imports", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.backend.terraform.tool.setup_terraform_process", + "pants.backend.tools.taplo.rules.taplo_fmt", + "pants.backend.visibility.lint.check_visibility_rule_violations", + "pants.core.target_types.hydrate_file_source", + "pants.core.target_types.hydrate_resource_source", + "pants.core.util_rules.adhoc_binaries.download_python_binary", + "pants.core.util_rules.system_binaries.find_tar", + "pants.jvm.resolve.coursier_setup.setup_coursier" + ], "dependencies": [ - "pants.backend.experimental.go", + "pants.core" + ], + "dependents": [ + "pants.backend.build_files.fmt.buildifier", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.codegen.protobuf.python", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.cue", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.helm", + "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.experimental.scala", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.experimental.terraform", - "pants.backend.python.typecheck.mypy", - "pants.engine.console", - "pants.engine.environment", - "pants.engine.fs", - "pants.engine.target", - "pants.engine.unions" + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.visibility", + "pants.backend.project_info", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.taplo", + "pants.core" ], - "dependents": [], - "documentation": null, + "documentation": "An enumeration.", "is_union": false, - "module": "pants.core.goals.check", - "name": "Check", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.check.check"], + "module": "pants.engine.platform", + "name": "Platform", + "provider": "pants.backend.experimental.javascript", + "returned_by_rules": [ + "pants.engine.internals.platform_rules.current_platform" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.check.CheckRequest": { - "consumed_by_rules": [], - "dependencies": [], + "pants.engine.process.FallibleProcessResult": { + "consumed_by_rules": [ + "pants.engine.process.fallible_to_exec_result_or_raise" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.python", + "pants.backend.url_handlers.s3", + "pants.core" + ], "dependents": [ + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.docker", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.cue", "pants.backend.experimental.go", + "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.javascript", "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.python.typecheck.pytype", "pants.backend.experimental.scala", "pants.backend.experimental.terraform", - "pants.backend.python.typecheck.mypy" + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.tools.semgrep", + "pants.backend.experimental.tools.yamllint", + "pants.backend.python", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.core" ], - "documentation": "A union for targets that should be checked.\n\nSubclass and install a member of this type to provide a checker.", - "is_union": true, - "module": "pants.core.goals.check", - "name": "CheckRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "GoCheckRequest", - "JavacCheckRequest", - "KotlincCheckRequest", - "MyPyRequest", - "PytypeRequest", - "ScalacCheckRequest", - "TerraformCheckRequest" + "documentation": "Result of executing a process which might fail.\n\nIf the process has a non-zero exit code, this will not raise an exception, unlike ProcessResult.", + "is_union": false, + "module": "pants.engine.process", + "name": "FallibleProcessResult", + "provider": "pants.backend.experimental.python.lint.ruff, pants.engine.process", + "returned_by_rules": [ + "pants.backend.python.lint.ruff.rules.run_ruff" ], + "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.check.check"] + "used_in_rules": [ + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.lint.vet.rules.run_go_vet", + "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.tests_analysis.generate_testmain", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", + "pants.backend.helm.check.kubeconform.common.run_kubeconform", + "pants.backend.helm.goals.lint.run_helm_lint", + "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", + "pants.backend.helm.test.unittest.run_helm_unittest", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.lint.bandit.rules.bandit_lint", + "pants.backend.python.lint.docformatter.rules.docformatter_fmt", + "pants.backend.python.lint.flake8.rules.run_flake8", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "pants.backend.python.lint.pylint.rules.run_pylint", + "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", + "pants.backend.python.lint.ruff.rules.ruff_fix", + "pants.backend.python.lint.ruff.rules.ruff_lint", + "pants.backend.python.lint.ruff.rules.run_ruff", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", + "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", + "pants.backend.scala.test.scalatest.run_scalatest_test", + "pants.backend.shell.dependency_inference.parse_shell_imports", + "pants.backend.shell.goals.test.test_shell_command", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", + "pants.backend.terraform.dependencies.get_terraform_providers", + "pants.backend.terraform.goals.check.terraform_check", + "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "pants.backend.tools.semgrep.rules.lint", + "pants.backend.tools.yamllint.rules.run_yamllint", + "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.jvm.jdk_rules.prepare_jdk_environment", + "pants.jvm.run.create_run_request", + "pants.jvm.test.junit.run_junit_test" + ] }, - "pants.core.goals.check.CheckResult": { + "pants.engine.process.InteractiveProcess": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.docker", "pants.backend.experimental.go", - "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.terraform", - "pants.backend.python", + "pants.backend.experimental.rust", "pants.backend.shell", - "pants.base.build_root", - "pants.core", - "pants.engine.process" + "pants.backend.terraform.goals.deploy", + "pants.backend.url_handlers.s3", + "pants.core" ], "dependents": [ - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.python.typecheck.mypy" + "pants.backend.experimental.helm", + "pants.backend.experimental.terraform" ], - "documentation": "CheckResult(exit_code: 'int', stdout: 'str', stderr: 'str', partition_description: 'str | None' = None, report: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0))", + "documentation": "InteractiveProcess(argv: 'Iterable[str]', *, env: 'Mapping[str, str] | None' = None, input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), run_in_workspace: 'bool' = False, forward_signals_to_process: 'bool' = True, restartable: 'bool' = False, append_only_caches: 'Mapping[str, str] | None' = None, immutable_input_digests: 'Mapping[str, Digest] | None' = None, keep_sandboxes: 'KeepSandboxes' = ) -> 'None'", "is_union": false, - "module": "pants.core.goals.check", - "name": "CheckResult", - "provider": "pants.backend.experimental.python.typecheck.pytype, pants.backend.python.typecheck.mypy", + "module": "pants.engine.process", + "name": "InteractiveProcess", + "provider": "pants.backend.experimental.helm, pants.backend.experimental.terraform, pants.engine.process", "returned_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition" + "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck" + "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.core.goals.check.CheckResults": { - "consumed_by_rules": [], + "pants.engine.process.Process": { + "consumed_by_rules": [ + "pants.engine.process.get_multi_platform_request_description" + ], "dependencies": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.python.lint.ruff", + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.go.util_rules.sdk", + "pants.backend.helm.util_rules.tool", + "pants.backend.javascript.nodejs_project_environment", + "pants.backend.javascript.subsystems.nodejs", + "pants.backend.javascript.subsystems.nodejs_tool", + "pants.backend.openapi.util_rules.generator_process", "pants.backend.python", - "pants.engine.process", - "pants.engine.target", - "pants.jvm.resolve.key" + "pants.backend.rust.util_rules.toolchains", + "pants.backend.terraform.dependency_inference", + "pants.backend.terraform.tool", + "pants.backend.url_handlers.s3", + "pants.jvm.jdk_rules", + "pants.jvm.resolve.coursier_setup" ], - "dependents": ["pants.core"], - "documentation": "Zero or more CheckResult objects for a single type checker.\n\nTypically, type checkers will return one result. If they no-oped, they will return zero results.\nHowever, some type checkers may need to partition their input and thus may need to return\nmultiple results.", + "dependents": [ + "pants.backend.docker", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell" + ], + "documentation": "Process(argv: 'Iterable[str]', *, description: 'str', level: 'LogLevel' = , input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), immutable_input_digests: 'Mapping[str, Digest] | None' = None, use_nailgun: 'Iterable[str]' = (), working_directory: 'str | None' = None, env: 'Mapping[str, str] | None' = None, append_only_caches: 'Mapping[str, str] | None' = None, output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, timeout_seconds: 'int | float | None' = None, jdk_home: 'str | None' = None, execution_slot_variable: 'str | None' = None, concurrency_available: 'int' = 0, cache_scope: 'ProcessCacheScope' = , remote_cache_speculation_delay_millis: 'int' = 0, attempt: 'int' = 0) -> 'None'", "is_union": false, - "module": "pants.core.goals.check", - "name": "CheckResults", - "provider": "pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.python.typecheck.pytype, pants.backend.experimental.scala, pants.backend.experimental.terraform, pants.backend.python.typecheck.mypy", + "module": "pants.engine.process", + "name": "Process", + "provider": "pants.backend.docker, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.openapi.codegen.java, pants.backend.experimental.openapi.lint.spectral, pants.backend.experimental.rust, pants.backend.experimental.terraform, pants.backend.shell, pants.core, pants.engine.process", "returned_by_rules": [ - "pants.backend.go.goals.check.check_go", - "pants.backend.java.goals.check.javac_check", - "pants.backend.kotlin.goals.check.kotlinc_check", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck", - "pants.backend.scala.goals.check.scalac_check", - "pants.backend.terraform.goals.check.terraform_check" + "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process", + "pants.backend.helm.util_rules.tool.helm_process", + "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", + "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process", + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", + "pants.backend.openapi.util_rules.generator_process.openapi_generator_process", + "pants.backend.python.util_rules.pex.setup_pex_process", + "pants.backend.python.util_rules.pex.setup_venv_pex_process", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", + "pants.backend.rust.util_rules.toolchains.rust_toolchain_process", + "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", + "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources", + "pants.backend.terraform.tool.setup_terraform_process", + "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess", + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.jvm.jdk_rules.jvm_process", + "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.check.check"] + "used_in_rules": [ + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "pants.backend.build_files.fmt.buildifier.rules.buildfier_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", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", + "pants.backend.cue.goals.fix.run_cue_fmt", + "pants.backend.cue.goals.lint.run_cue_vet", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.lint.gofmt.rules.gofmt_fmt", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", + "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.goroot.setup_goroot", + "pants.backend.go.util_rules.tests_analysis.generate_testmain", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", + "pants.backend.helm.check.kubeconform.common.run_kubeconform", + "pants.backend.helm.goals.publish.publish_helm_chart", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.javascript.goals.test.run_javascript_tests", + "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", + "pants.backend.javascript.run.rules.run_node_build_script", + "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", + "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", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.rust.util_rules.toolchains.rust_binary_path", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.test.scalatest.setup_scalatest_debug_request", + "pants.backend.shell.dependency_inference.parse_shell_imports", + "pants.backend.shell.goals.test.test_shell_command", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", + "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", + "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources", + "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.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.jvm.classpath.loose_classfiles", + "pants.jvm.jdk_rules.prepare_jdk_environment", + "pants.jvm.package.war.package_war", + "pants.jvm.resources.assemble_resources_jar", + "pants.jvm.run.create_run_request", + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", + "pants.jvm.test.junit.setup_junit_debug_request" + ] }, - "pants.core.goals.check.CheckSubsystem": { - "consumed_by_rules": ["pants.core.goals.check.check"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, + "pants.engine.process.ProcessResult": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.python.lint.ruff", + "pants.engine.process", + "pants.option.global_options" + ], + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.build_files.fmt.black", + "pants.backend.build_files.fmt.buildifier", + "pants.backend.build_files.fmt.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.openapi_format", + "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.python.lint.add_trailing_comma", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.terraform", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.black", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.yapf", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.shell", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.taplo", + "pants.core" + ], + "documentation": "Result of executing a process which should not fail.\n\nIf the process has a non-zero exit code, this will raise an exception, unlike\nFallibleProcessResult.", "is_union": false, - "module": "pants.core.goals.check", - "name": "CheckSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_check"], + "module": "pants.engine.process", + "name": "ProcessResult", + "provider": "pants.backend.experimental.helm", + "returned_by_rules": [ + "pants.engine.process.fallible_to_exec_result_or_raise" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "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.yapf.register.yapf_fmt", + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", + "pants.backend.go.goals.generate.run_go_package_generators", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.lint.gofmt.rules.gofmt_fmt", + "pants.backend.go.util_rules.build_pkg.build_go_package", + "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", + "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", + "pants.backend.go.util_rules.cgo.cgo_compile_request", + "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", + "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", + "pants.backend.go.util_rules.go_mod.determine_go_mod_info", + "pants.backend.go.util_rules.goroot.setup_goroot", + "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages", + "pants.backend.go.util_rules.link.link_go_binary", + "pants.backend.go.util_rules.sdk.compute_go_tool_id", + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", + "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies", + "pants.backend.helm.goals.package.run_helm_package", + "pants.backend.helm.resolve.fetch.fetch_helm_artifact", + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "pants.backend.helm.util_rules.renderer.render_helm_chart", + "pants.backend.helm.util_rules.renderer.run_renderer", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.java_parser.build_processors", + "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", + "pants.backend.javascript.goals.lockfile.generate_lockfile_from_package_jsons", + "pants.backend.javascript.install_node_package.install_node_packages_for_address", + "pants.backend.javascript.lint.prettier.rules.prettier_fmt", + "pants.backend.javascript.package.rules.pack_node_package_into_tgz_for_publication", + "pants.backend.javascript.package.rules.run_node_build_script", + "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", + "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", + "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java", + "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", + "pants.backend.project_info.count_loc.count_loc", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.goals.coverage_py.merge_coverage_data", + "pants.backend.python.goals.export.do_export", + "pants.backend.python.goals.lockfile.generate_lockfile", + "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", + "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "pants.backend.python.lint.black.rules.black_fmt", + "pants.backend.python.lint.isort.rules.isort_fmt", + "pants.backend.python.lint.yapf.rules.yapf_fmt", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.providers.pyenv.rules.get_python", + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "pants.backend.python.util_rules.dists.run_pep517_build", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "pants.backend.python.util_rules.pex.build_pex", + "pants.backend.python.util_rules.pex.determine_pex_resolve_info", + "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info", + "pants.backend.python.util_rules.pex.find_interpreter", + "pants.backend.python.util_rules.pex_venv.pex_venv", + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", + "pants.backend.rust.lint.rustfmt.rules.rustfmt_fmt", + "pants.backend.rust.util_rules.toolchains.rust_binary_path", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", + "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", + "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_yapf", + "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.jvm.classpath.loose_classfiles", + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.jar_tool.jar_tool.run_jar_tool", + "pants.jvm.package.war.package_war", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", + "pants.jvm.resources.assemble_resources_jar", + "pants.jvm.run.create_run_request", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar" + ] }, - "pants.core.goals.deploy.Deploy": { + "pants.engine.process.ProcessResultWithRetries": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.docker", - "pants.backend.experimental.helm", - "pants.backend.experimental.python", - "pants.backend.experimental.terraform", - "pants.engine.console", - "pants.engine.process", - "pants.engine.target" + "pants.backend.experimental.python.lint.ruff", + "pants.engine.process" ], - "dependents": [], - "documentation": "Deploy(exit_code: 'int')", - "is_union": false, - "module": "pants.core.goals.deploy", - "name": "Deploy", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.deploy.run_deploy"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.goals.deploy.DeployFieldSet": { - "consumed_by_rules": [], - "dependencies": [], "dependents": [ - "pants.backend.experimental.helm", - "pants.backend.experimental.terraform" - ], - "documentation": "The FieldSet type for the `deploy` goal.\n\nUnion members may list any fields required to fulfill the instantiation of the `DeployProcess`\nresult of the deploy rule.", - "is_union": true, - "module": "pants.core.goals.deploy", - "name": "DeployFieldSet", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "DeployHelmDeploymentFieldSet", - "DeployTerraformFieldSet" - ], - "union_type": null, - "used_in_rules": ["pants.core.goals.deploy.run_deploy"] - }, - "pants.core.goals.deploy.DeployProcess": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.go", - "pants.core", - "pants.engine.process" + "pants.backend.python" ], - "dependents": ["pants.core"], - "documentation": "A process that when executed will have the side effect of deploying a target.\n\nTo provide with the ability to deploy a given target, create a custom `DeployFieldSet` for\nthat given target and implement a rule that returns `DeployProcess` for that custom field set:\n\nExample:\n\n @dataclass(frozen=True)\n class MyDeploymentFieldSet(DeployFieldSet):\n pass\n\n @rule\n async def my_deployment_process(field_set: MyDeploymentFieldSet) -> DeployProcess:\n # Create the underlying process that executes the deployment\n process = Process(...)\n return DeployProcess(\n name=\"my_deployment\",\n process=InteractiveProcess.from_process(process)\n )\n\n def rules():\n return [\n *collect_rules(),\n UnionRule(DeployFieldSet, MyDeploymentFieldSet)\n ]\n\nUse the `publish_dependencies` field to provide with a list of targets that produce packages\nwhich need to be externally published before the deployment process is executed.", + "documentation": "ProcessResultWithRetries(results: 'Tuple[FallibleProcessResult, ...]')", "is_union": false, - "module": "pants.core.goals.deploy", - "name": "DeployProcess", - "provider": "pants.backend.experimental.helm, pants.backend.experimental.terraform", + "module": "pants.engine.process", + "name": "ProcessResultWithRetries", + "provider": "pants.backend.experimental.helm", "returned_by_rules": [ - "pants.backend.helm.goals.deploy.run_helm_deploy", - "pants.backend.terraform.goals.deploy.run_terraform_deploy" + "pants.engine.process.run_proc_with_retry" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.deploy.run_deploy"] - }, - "pants.core.goals.deploy.DeploySubsystem": { - "consumed_by_rules": ["pants.core.goals.deploy.run_deploy"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.deploy", - "name": "DeploySubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_experimental_deploy"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.goals.pytest_runner.run_python_tests" + ] }, - "pants.core.goals.deploy._PublishProcessesForTargetRequest": { + "pants.engine.process.ProcessWithRetries": { "consumed_by_rules": [ - "pants.core.goals.deploy.publish_process_for_target" + "pants.engine.process.run_proc_with_retry" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "_PublishProcessesForTargetRequest(target: 'Target')", + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "ProcessWithRetries(proc: 'Process', attempts: 'int')", "is_union": false, - "module": "pants.core.goals.deploy", - "name": "_PublishProcessesForTargetRequest", - "provider": "pants.core", + "module": "pants.engine.process", + "name": "ProcessWithRetries", + "provider": "pants.engine.process", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.deploy.run_deploy"] + "used_in_rules": [ + "pants.backend.python.goals.pytest_runner.run_python_tests" + ] }, - "pants.core.goals.export.Export": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.python", - "pants.base.build_root", - "pants.engine.console", - "pants.engine.env_vars", - "pants.engine.fs", - "pants.engine.process", - "pants.engine.target", - "pants.engine.unions" + "pants.engine.process.ProductDescription": { + "consumed_by_rules": [ + "pants.engine.process.fallible_to_exec_result_or_raise" ], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.export", - "name": "Export", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.export.export"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.goals.export.ExportRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "A union for exportable data provided by a backend.\n\nSubclass and install a member of this type to export data.", - "is_union": true, - "module": "pants.core.goals.export", - "name": "ExportRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": ["ExportVenvsRequest"], - "union_type": null, - "used_in_rules": ["pants.core.goals.export.export"] - }, - "pants.core.goals.export.ExportResult": { - "consumed_by_rules": [], "dependencies": [ - "builtins", + "pants.backend.docker", "pants.backend.experimental.go", - "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.rust", + "pants.backend.experimental.terraform", + "pants.backend.shell", "pants.core" ], - "dependents": ["pants.backend.python"], - "documentation": "ExportResult(description: 'str', reldir: 'str', *, digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), post_processing_cmds: 'Iterable[PostProcessingCommand]' = (), resolve: 'str | None' = None)", + "dependents": [ + "pants.backend.experimental.helm" + ], + "documentation": "ProductDescription(value: 'str')", "is_union": false, - "module": "pants.core.goals.export", - "name": "ExportResult", - "provider": "pants.backend.python", - "returned_by_rules": ["pants.backend.python.goals.export.do_export"], + "module": "pants.engine.process", + "name": "ProductDescription", + "provider": "pants.backend.experimental.helm, pants.engine.process", + "returned_by_rules": [ + "pants.engine.process.get_multi_platform_request_description" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.export.export_virtualenv_for_resolve" + "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", + "pants.core.util_rules.adhoc_process_support.run_adhoc_process" ] }, - "pants.core.goals.export.ExportResults": { + "pants.engine.streaming_workunit_handler.WorkunitsCallbackFactory": { "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": ["pants.core"], - "documentation": null, + "dependencies": [], + "dependents": [], + "documentation": "A wrapper around a callable that constructs WorkunitsCallbacks.\n\nNB: This extra wrapping is because subtyping is not supported in the return position of a\nrule. See #11354 for discussion of that limitation.", "is_union": false, - "module": "pants.core.goals.export", - "name": "ExportResults", - "provider": "pants.backend.python", + "module": "pants.engine.streaming_workunit_handler", + "name": "WorkunitsCallbackFactory", + "provider": "pants.backend.experimental.tools.workunit_logger, pants.core", "returned_by_rules": [ - "pants.backend.python.goals.export.export_virtualenvs" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.goals.export.export"] - }, - "pants.core.goals.export.ExportSubsystem": { - "consumed_by_rules": [ - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.export.export_virtualenv_for_resolve", - "pants.backend.python.goals.export.export_virtualenvs", - "pants.core.goals.export.export" + "pants.backend.tools.workunit_logger.rules.construct_callback", + "pants.goal.stats_aggregator.construct_callback" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python", "pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.export", - "name": "ExportSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_export"], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.fix.AbstractFixRequest": { + "pants.engine.streaming_workunit_handler.WorkunitsCallbackFactoryRequest": { "consumed_by_rules": [], "dependencies": [], "dependents": [ - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.experimental.go", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.openapi.lint.openapi_format", - "pants.backend.experimental.python.lint.add_trailing_comma", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble" + "pants.backend.experimental.tools.workunit_logger", + "pants.core" ], - "documentation": null, + "documentation": "A request for a particular WorkunitsCallbackFactory.", "is_union": true, - "module": "pants.core.goals.fix", - "name": "AbstractFixRequest", - "provider": "pants.core", + "module": "pants.engine.streaming_workunit_handler", + "name": "WorkunitsCallbackFactoryRequest", + "provider": "pants.engine.streaming_workunit_handler", "returned_by_rules": [], "union_members": [ - "AddTrailingCommaRequest", - "AutoflakeRequest", - "BlackRequest", - "BlackRequest", - "BufFormatRequest", - "BuildifierRequest", - "DocformatterRequest", - "GofmtRequest", - "GoogleJavaFormatRequest", - "IsortRequest", - "KtlintRequest", - "OpenApiFormatRequest", - "PreambleRequest", - "PyUpgradeRequest", - "RenameFieldsInFilesRequest", - "RenameTargetsInFilesRequest", - "RuffFixRequest", - "ScalafmtRequest", - "ShfmtRequest", - "TffmtRequest", - "YapfRequest", - "YapfRequest" + "StatsAggregatorCallbackFactoryRequest", + "WorkunitLoggerCallbackFactoryRequest" ], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.fix.Batch": { + "pants.engine.target.AllTargets": { "consumed_by_rules": [ - "pants.backend.python.lint.docformatter.rules.docformatter_fmt" + "pants.backend.cc.dependency_inference.rules.find_all_cc_targets", + "pants.backend.codegen.avro.target_types.find_all_avro_targets", + "pants.backend.codegen.protobuf.target_types.find_all_protobuf_targets", + "pants.backend.codegen.thrift.target_types.find_all_thrift_targets", + "pants.backend.docker.target_types.all_docker_targets", + "pants.backend.go.target_type_rules.go_map_import_paths_by_module", + "pants.backend.helm.target_types.all_helm_artifact_targets", + "pants.backend.helm.target_types.all_helm_chart_targets", + "pants.backend.helm.target_types.all_helm_deployment_targets", + "pants.backend.helm.target_types.all_helm_unittest_test_targets", + "pants.backend.java.dependency_inference.symbol_mapper.find_all_java_targets", + "pants.backend.javascript.package_json.all_first_party_node_package_targets", + "pants.backend.kotlin.compile.kotlinc_plugins.all_kotlinc_plugin_targets", + "pants.backend.kotlin.dependency_inference.symbol_mapper.find_all_kotlin_targets", + "pants.backend.python.dependency_inference.module_mapper.find_all_python_projects", + "pants.backend.python.framework.stevedore.python_target_dependencies.find_all_python_distributions_with_any_stevedore_entry_points", + "pants.backend.python.goals.lockfile.setup_user_lockfile_requests", + "pants.backend.python.util_rules.local_dists_pep660.find_all_python_distributions", + "pants.backend.python.util_rules.vcs_versioning.find_all_vcs_version_targets", + "pants.backend.scala.compile.scalac_plugins.all_scala_plugin_targets", + "pants.backend.scala.dependency_inference.symbol_mapper.find_all_scala_targets", + "pants.backend.shell.dependency_inference.find_all_shell_targets", + "pants.backend.terraform.target_types.all_terraform_deployment_targets", + "pants.core.goals.package.find_all_packageable_targets", + "pants.core.target_types.find_all_assets", + "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_artifact_targets", + "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_provides_fields", + "pants.jvm.goals.lockfile.setup_user_lockfile_requests" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.python.lint.docformatter"], - "documentation": "Batch(tool_name: 'str', elements: 'tuple[PartitionElementT, ...]', partition_metadata: 'PartitionMetadataT', snapshot: 'Snapshot')", - "is_union": true, - "module": "pants.core.goals.fix", - "name": "Batch", - "provider": "pants.backend.python.lint.docformatter", - "returned_by_rules": [], - "union_members": [], - "union_type": "Batch", - "used_in_rules": [] - }, - "pants.core.goals.fix.Fix": { - "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker.lint.hadolint", + "pants.core" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc", + "pants.backend.experimental.codegen.avro.java", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "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", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.yamllint", - "pants.backend.project_info", "pants.backend.python", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", + "pants.backend.python.mixed_interpreter_constraints", "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble", - "pants.base.specs", - "pants.engine.console", - "pants.engine.fs", - "pants.engine.target", - "pants.engine.unions" + "pants.core" ], - "dependents": [], - "documentation": null, + "documentation": "All targets in the project, but with target generators replaced by their generated targets,\nunlike `AllUnexpandedTargets`.", "is_union": false, - "module": "pants.core.goals.fix", - "name": "Fix", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.fix.fix"], + "module": "pants.engine.target", + "name": "AllTargets", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.find_all_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" + ] + }, + "pants.engine.target.AllUnexpandedTargets": { + "consumed_by_rules": [ + "pants.backend.go.util_rules.go_mod.find_all_go_mod_targets", + "pants.backend.project_info.dependents.map_addresses_to_dependents", + "pants.core.goals.tailor.determine_all_owned_sources", + "pants.core.goals.tailor.rename_conflicting_targets" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.project_info", + "pants.core" + ], + "documentation": "All targets in the project, including generated targets.\n\nThis should generally be avoided because it is relatively expensive to compute and is frequently\ninvalidated, but it can be necessary for things like dependency inference to build a global\nmapping of imports to targets.", + "is_union": false, + "module": "pants.engine.target", + "name": "AllUnexpandedTargets", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.find_all_unexpanded_targets" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.fix.FixResult": { + "pants.engine.target.CoarsenedTargets": { "consumed_by_rules": [ - "pants.core.goals.fix.convert_fix_result_to_lint_result" + "pants.jvm.classpath.classpath", + "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets" ], "dependencies": [ - "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.helm", + "pants.engine.environment" + ], + "dependents": [ "pants.backend.experimental.java", "pants.backend.experimental.kotlin", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", "pants.backend.experimental.scala", - "pants.backend.python", - "pants.engine.fs", - "pants.engine.platform", - "pants.engine.process", - "pants.option.global_options" + "pants.backend.python.lint.pylint", + "pants.backend.python.typecheck.mypy" ], - "dependents": ["pants.core"], - "documentation": "FixResult(input: 'Snapshot', output: 'Snapshot', stdout: 'str', stderr: 'str', tool_name: 'str')", + "documentation": "The CoarsenedTarget roots of a transitive graph walk for some addresses.\n\nTo collect all reachable CoarsenedTarget members, use `def closure`.", "is_union": false, - "module": "pants.core.goals.fix", - "name": "FixResult", - "provider": "pants.backend.build_files.fmt.black, pants.backend.build_files.fmt.buildifier, pants.backend.build_files.fmt.yapf, pants.backend.codegen.protobuf.lint.buf, pants.backend.experimental.go, pants.backend.experimental.java.lint.google_java_format, pants.backend.experimental.kotlin.lint.ktlint, pants.backend.experimental.openapi.lint.openapi_format, pants.backend.experimental.python.lint.add_trailing_comma, pants.backend.experimental.python.lint.ruff, pants.backend.experimental.scala.lint.scalafmt, pants.backend.experimental.terraform, pants.backend.python.lint.autoflake, pants.backend.python.lint.black, pants.backend.python.lint.docformatter, pants.backend.python.lint.isort, pants.backend.python.lint.pyupgrade, pants.backend.python.lint.yapf, pants.backend.shell.lint.shfmt, pants.backend.tools.preamble, pants.core", + "module": "pants.engine.target", + "name": "CoarsenedTargets", + "provider": "pants.backend.experimental.go, pants.engine.target", "returned_by_rules": [ - "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.yapf.register.yapf_fmt", - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "pants.backend.go.lint.gofmt.rules.gofmt_fmt", - "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", - "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", - "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", - "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", - "pants.backend.python.lint.autoflake.rules.autoflake_fix", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.docformatter.rules.docformatter_fmt", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", - "pants.backend.python.lint.ruff.rules.ruff_fix", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt", - "pants.backend.tools.preamble.rules.preamble_fmt" + "pants.engine.internals.graph.coarsened_targets" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.fix.fix_batch"] + "used_in_rules": [ + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.java.bsp.rules.bsp_java_resources_request", + "pants.backend.java.goals.check.javac_check", + "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", + "pants.backend.kotlin.goals.check.kotlinc_check", + "pants.backend.python.lint.pylint.rules.partition_pylint", + "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", + "pants.backend.python.typecheck.pyright.rules.pyright_determine_partitions", + "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.bsp.rules.bsp_scala_resources_request", + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.backend.scala.compile.scalac_plugins.fetch_plugins", + "pants.backend.scala.goals.check.scalac_check", + "pants.backend.scala.goals.repl.create_scala_repl_request", + "pants.jvm.classpath.classpath", + "pants.jvm.run.create_run_request" + ] }, - "pants.core.goals.fix.FixSubsystem": { - "consumed_by_rules": ["pants.core.goals.fix.fix"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, + "pants.engine.target.CoarsenedTargetsRequest": { + "consumed_by_rules": [ + "pants.engine.internals.graph.coarsened_targets" + ], + "dependencies": [ + "pants.engine.addresses" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "A request to get CoarsenedTargets for input roots.", "is_union": false, - "module": "pants.core.goals.fix", - "name": "FixSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_fix"], + "module": "pants.engine.target", + "name": "CoarsenedTargetsRequest", + "provider": "pants.backend.experimental.go, pants.engine.target", + "returned_by_rules": [ + "pants.engine.internals.graph.coarsened_targets_request" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.lint.pylint.rules.partition_pylint", + "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", + "pants.backend.python.typecheck.pyright.rules.pyright_determine_partitions", + "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions" + ] + }, + "pants.engine.target.DependenciesRequest": { + "consumed_by_rules": [ + "pants.engine.internals.graph.convert_dependencies_request_to_explicitly_provided_dependencies_request", + "pants.engine.internals.graph.resolve_dependencies" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "DependenciesRequest(field: 'Dependencies', should_traverse_deps_predicate: 'ShouldTraverseDepsPredicate' = TraverseIfDependenciesField())", + "is_union": false, + "module": "pants.engine.target", + "name": "DependenciesRequest", + "provider": "pants.engine.target", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", + "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests", + "pants.backend.helm.goals.deploy.run_helm_deploy", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.sources.get_helm_source_files", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.backend.javascript.package_json.find_owning_package", + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", + "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", + "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", + "pants.backend.project_info.dependencies.dependencies", + "pants.backend.project_info.dependents.map_addresses_to_dependents", + "pants.backend.project_info.paths.get_paths_between_root_and_destination", + "pants.backend.project_info.peek.get_target_data", + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", + "pants.backend.python.util_rules.package_dists.get_requirements", + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "pants.backend.shell.dependency_inference.infer_shell_dependencies", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.visibility.lint.check_visibility_rule_violations", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.transitive_dependency_mapping", + "pants.jvm.package.war.package_war" + ] }, - "pants.core.goals.fix._FixBatchRequest": { - "consumed_by_rules": ["pants.core.goals.fix.fix_batch"], + "pants.engine.target.DependenciesRuleApplicationRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Request to serially fix all the elements in the given batch.", + "dependents": [], + "documentation": "A request to return the applicable dependency rule action for each dependency of a target.", "is_union": false, - "module": "pants.core.goals.fix", - "name": "_FixBatchRequest", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "DependenciesRuleApplicationRequest", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.fix.fix", "pants.core.goals.fmt.fmt"] + "used_in_rules": [ + "pants.backend.project_info.peek.get_target_data", + "pants.backend.visibility.lint.check_visibility_rule_violations", + "pants.backend.visibility.rules.visibility_validate_dependencies" + ] }, - "pants.core.goals.fix._FixBatchResult": { + "pants.engine.target.ExplicitlyProvidedDependencies": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.experimental.go", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.openapi.lint.openapi_format", - "pants.backend.experimental.python.lint.add_trailing_comma", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble" + "pants.engine.target", + "pants.engine.unions" ], - "dependents": ["pants.core"], - "documentation": "_FixBatchResult(results: 'tuple[FixResult, ...]')", - "is_union": false, - "module": "pants.core.goals.fix", - "name": "_FixBatchResult", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.fix.fix_batch"], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.goals.fix.fix", "pants.core.goals.fmt.fmt"] - }, - "pants.core.goals.fmt.AbstractFmtRequest": { - "consumed_by_rules": [], - "dependencies": [], "dependents": [ - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.experimental.go", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.openapi.lint.openapi_format", - "pants.backend.experimental.python.lint.add_trailing_comma", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.yapf", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble" - ], - "documentation": null, - "is_union": true, - "module": "pants.core.goals.fmt", - "name": "AbstractFmtRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "AddTrailingCommaRequest", - "BlackRequest", - "BlackRequest", - "BufFormatRequest", - "BuildifierRequest", - "DocformatterRequest", - "GofmtRequest", - "GoogleJavaFormatRequest", - "IsortRequest", - "KtlintRequest", - "OpenApiFormatRequest", - "PreambleRequest", - "ScalafmtRequest", - "ShfmtRequest", - "TffmtRequest", - "YapfRequest", - "YapfRequest" - ], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.goals.fmt.Fmt": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker.lint.hadolint", + "pants.backend.awslambda.python", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.cc", "pants.backend.experimental.go", "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "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", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi", + "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.yamllint", - "pants.backend.project_info", "pants.backend.python", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble", - "pants.base.specs", - "pants.engine.console", - "pants.engine.fs", - "pants.engine.target", - "pants.engine.unions" + "pants.backend.shell" ], - "dependents": [], - "documentation": null, + "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.", "is_union": false, - "module": "pants.core.goals.fmt", - "name": "Fmt", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.fmt.fmt"], + "module": "pants.engine.target", + "name": "ExplicitlyProvidedDependencies", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.determine_explicitly_provided_dependencies" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", + "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", + "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", + "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "pants.backend.shell.dependency_inference.infer_shell_dependencies", + "pants.engine.internals.graph.resolve_dependencies" + ] }, - "pants.core.goals.fmt.FmtSubsystem": { - "consumed_by_rules": ["pants.core.goals.fmt.fmt"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, + "pants.engine.target.ExplicitlyProvidedDependenciesRequest": { + "consumed_by_rules": [ + "pants.engine.internals.graph.determine_explicitly_provided_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ExplicitlyProvidedDependenciesRequest(field: 'Dependencies')", "is_union": false, - "module": "pants.core.goals.fmt", - "name": "FmtSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_fmt"], + "module": "pants.engine.target", + "name": "ExplicitlyProvidedDependenciesRequest", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.convert_dependencies_request_to_explicitly_provided_dependencies_request" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.generate_lockfiles.GenerateLockfile": { + "pants.engine.target.FieldDefaultFactoryRequest": { "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.experimental.java", "pants.core"], - "documentation": "A union base for generating ecosystem-specific lockfiles.\n\nEach language ecosystem should set up a subclass of `GenerateLockfile`, like\n`GeneratePythonLockfile` and `GenerateJVMLockfile`, and register a union rule. They should\nalso set up a simple rule that goes from that class -> `WrappedGenerateLockfile`.\n\nSubclasses will usually want to add additional properties, such as what requirements to\ninstall and Python interpreter constraints.", + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.python" + ], + "documentation": "Registers a dynamic default for a Field.\n\nSee `FieldDefaults`.", "is_union": true, - "module": "pants.core.goals.generate_lockfiles", - "name": "GenerateLockfile", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "FieldDefaultFactoryRequest", + "provider": "pants.engine.target", "returned_by_rules": [], - "union_members": ["GenerateJvmLockfile", "GeneratePythonLockfile"], + "union_members": [ + "JvmResolveFieldDefaultFactoryRequest", + "PythonResolveFieldDefaultFactoryRequest" + ], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.engine.internals.graph.field_defaults" ] }, - "pants.core.goals.generate_lockfiles.GenerateLockfileResult": { + "pants.engine.target.FieldDefaultFactoryResult": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.engine.fs", - "pants.jvm.resolve.coursier_fetch" + "pants.core" ], - "dependents": ["pants.core"], - "documentation": "The result of generating a lockfile for a particular resolve.", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "A wrapper for a function which computes the default value of a Field.", "is_union": false, - "module": "pants.core.goals.generate_lockfiles", - "name": "GenerateLockfileResult", - "provider": "pants.backend.experimental.java, pants.core", + "module": "pants.engine.target", + "name": "FieldDefaultFactoryResult", + "provider": "pants.backend.experimental.java, pants.backend.python", "returned_by_rules": [ - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.jvm.goals.lockfile.generate_jvm_lockfile" + "pants.backend.python.target_types_rules.python_resolve_field_default_factory", + "pants.jvm.target_types.jvm_resolve_field_default_factory" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.engine.internals.graph.field_defaults" ] }, - "pants.core.goals.generate_lockfiles.GenerateLockfilesGoal": { - "consumed_by_rules": [], + "pants.engine.target.FieldDefaults": { + "consumed_by_rules": [ + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", + "pants.engine.internals.graph.resolve_dependencies" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.engine.console", - "pants.engine.environment", - "pants.engine.fs", + "pants.backend.python", "pants.engine.unions" ], - "dependents": [], - "documentation": null, + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.scala", + "pants.core" + ], + "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 subsytem 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, - "module": "pants.core.goals.generate_lockfiles", - "name": "GenerateLockfilesGoal", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "FieldDefaults", + "provider": "pants.backend.experimental.go", "returned_by_rules": [ - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.engine.internals.graph.field_defaults" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.generate_lockfiles.GenerateLockfilesSubsystem": { - "consumed_by_rules": [ - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", - "pants.jvm.goals.lockfile.generate_jvm_lockfile" - ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.java", "pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.generate_lockfiles", - "name": "GenerateLockfilesSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_generate_lockfiles"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.goals.generate_lockfiles.GenerateToolLockfileSentinel": { + "pants.engine.target.FieldSetsPerTarget": { "consumed_by_rules": [], - "dependencies": [], + "dependencies": [ + "pants.engine.target", + "pants.engine.unions" + ], "dependents": [ - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt" + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.helm", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.shell", + "pants.core" ], - "documentation": "Tools use this as an entry point to say how to generate their tool lockfile.\n\nEach language ecosystem should set up a union member of `GenerateLockfile`, like\n`GeneratePythonLockfile`, as explained in that class's docstring.\n\nEach language ecosystem should also subclass `GenerateToolLockfileSentinel`, e.g.\n`GeneratePythonToolLockfileSentinel`. The subclass does not need to do anything - it is only used to know which language ecosystems tools correspond to.\n\nThen, each tool should subclass their language ecosystem's subclass of `GenerateToolLockfileSentinel` and set up a rule that goes from the\nsubclass -> the language's lockfile request, e.g. BlackLockfileSentinel ->\nGeneratePythonLockfile. Register `UnionRule(GenerateToolLockfileSentinel, MySubclass)`.", - "is_union": true, - "module": "pants.core.goals.generate_lockfiles", - "name": "GenerateToolLockfileSentinel", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "GoogleJavaFormatToolLockfileSentinel", - "GrpcJavaToolLockfileSentinel", - "JarJarGeneratorLockfileSentinel", - "JarToolGenerateLockfileSentinel", - "JavaParserToolLockfileSentinel", - "JunitToolLockfileSentinel", - "KotlinParserToolLockfileSentinel", - "KtlintToolLockfileSentinel", - "ScalaParserToolLockfileSentinel", - "ScalafmtToolLockfileSentinel", - "ScalapbcToolLockfileSentinel", - "ScalatestToolLockfileSentinel", - "StripJarToolLockfileSentinel" + "documentation": "FieldSetsPerTarget(collection: 'Iterable[Iterable[_FS]]')", + "is_union": false, + "module": "pants.engine.target", + "name": "FieldSetsPerTarget", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.find_valid_field_sets" ], + "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "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", + "pants.core.goals.test.build_runtime_package_dependencies", + "pants.core.target_types.package_archive_target", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" ] }, - "pants.core.goals.generate_lockfiles.KnownUserResolveNames": { - "consumed_by_rules": [], + "pants.engine.target.FieldSetsPerTargetRequest": { + "consumed_by_rules": [ + "pants.engine.internals.graph.find_valid_field_sets" + ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "All defined user resolves for a particular language ecosystem.\n\nSee KnownUserResolveNamesRequest for how to use this type. `option_name` should be formatted\nlike `[options-scope].resolves`", - "is_union": false, - "module": "pants.core.goals.generate_lockfiles", - "name": "KnownUserResolveNames", - "provider": "pants.backend.experimental.java, pants.core", - "returned_by_rules": [ - "pants.backend.python.goals.lockfile.determine_python_user_resolves", - "pants.jvm.goals.lockfile.determine_jvm_user_resolves" + "dependents": [ + "pants.backend.experimental.go" ], + "documentation": "FieldSetsPerTargetRequest(field_set_superclass: 'Type[_FS]', targets: 'Iterable[Target]')", + "is_union": false, + "module": "pants.engine.target", + "name": "FieldSetsPerTargetRequest", + "provider": "pants.engine.target", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.export.export", - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "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", + "pants.core.goals.test.build_runtime_package_dependencies", + "pants.core.target_types.package_archive_target", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" ] }, - "pants.core.goals.generate_lockfiles.KnownUserResolveNamesRequest": { + "pants.engine.target.GenerateSourcesRequest": { "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.experimental.java", "pants.core"], - "documentation": "A hook for a language ecosystem to declare which resolves it has defined.\n\nEach language ecosystem should set up a subclass and register it with a UnionRule. Implement a\nrule that goes from the subclass -> KnownUserResolveNames, usually by simply reading the\n`resolves` option from the relevant subsystem.", + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", + "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.shell", + "pants.core" + ], + "documentation": "A request to go from protocol sources -> a particular language.\n\nThis should be subclassed for each distinct codegen implementation. The subclasses must define\nthe class properties `input` and `output`. The subclass must also be registered via\n`UnionRule(GenerateSourcesRequest, GenerateFortranFromAvroRequest)`, for example.\n\nThe rule to actually implement the codegen should take the subclass as input, and it must\nreturn `GeneratedSources`.\n\nThe `exportable` attribute disables the use of this codegen by the `export-codegen` goal when\nset to False.\n\nFor example:\n\n class GenerateFortranFromAvroRequest:\n input = AvroSources\n output = FortranSources\n\n @rule\n def generate_fortran_from_avro(request: GenerateFortranFromAvroRequest) -> GeneratedSources:\n ...\n\n def rules():\n return [\n generate_fortran_from_avro,\n UnionRule(GenerateSourcesRequest, GenerateFortranFromAvroRequest),\n ]", "is_union": true, - "module": "pants.core.goals.generate_lockfiles", - "name": "KnownUserResolveNamesRequest", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "GenerateSourcesRequest", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [ - "KnownJVMUserResolveNamesRequest", - "KnownPythonUserResolveNamesRequest" + "GenerateDockerContextFiles", + "GenerateDockerfileRequest", + "GenerateFileSourceRequest", + "GenerateFilesFromAdhocToolRequest", + "GenerateFilesFromShellCommandRequest", + "GenerateGoFromProtobufRequest", + "GenerateJavaFromAvroRequest", + "GenerateJavaFromOpenAPIRequest", + "GenerateJavaFromProtobufRequest", + "GenerateJavaFromThriftRequest", + "GenerateJavaFromThriftRequest", + "GeneratePythonFromProtobufRequest", + "GeneratePythonFromSetuptoolsSCMRequest", + "GeneratePythonFromThriftRequest", + "GenerateResourceSourceRequest", + "GenerateResourcesFromNodeBuildScriptRequest", + "GenerateScalaFromProtobufRequest", + "GenerateScalaFromThriftRequest", + "GenerateWrapSourceSourcesRequest", + "GenerateWrapSourceSourcesRequest", + "GenerateWrapSourceSourcesRequest", + "GenerateWrapSourceSourcesRequest", + "GenerateWrapSourceSourcesRequest", + "GenerateWrapSourceSourcesRequest", + "RelocateFilesViaCodegenRequest" ], "union_type": null, "used_in_rules": [ - "pants.core.goals.export.export", - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.engine.internals.graph.hydrate_sources" ] }, - "pants.core.goals.generate_lockfiles.RequestedUserResolveNames": { + "pants.engine.target.GenerateTargetsRequest": { "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.experimental.java", "pants.core"], - "documentation": "The user resolves requested for a particular language ecosystem.\n\nEach language ecosystem should set up a subclass and register it with a UnionRule. Implement a\nrule that goes from the subclass -> UserGenerateLockfiles.", + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.javascript", + "pants.backend.experimental.scala", + "pants.backend.plugin_development", + "pants.backend.python" + ], + "documentation": "GenerateTargetsRequest(generator: '_TargetGenerator', template_address: 'Address', template: 'dict[str, Any]', overrides: 'dict[str, dict[Address, dict[str, Any]]]')", "is_union": true, - "module": "pants.core.goals.generate_lockfiles", - "name": "RequestedUserResolveNames", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "GenerateTargetsRequest", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [ - "RequestedJVMUserResolveNames", - "RequestedPythonUserResolveNames" + "GenerateFileTargets", + "GenerateFromPantsRequirementsRequest", + "GenerateFromPipenvRequirementsRequest", + "GenerateFromPoetryRequirementsRequest", + "GenerateFromPythonRequirementsRequest", + "GenerateJvmArtifactForScalaTargets", + "GenerateNodePackageTargets", + "GenerateTargetsFromGoModRequest", + "GenerateTargetsFromPexBinaries" ], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.engine.internals.graph.resolve_target_parametrizations" ] }, - "pants.core.goals.generate_lockfiles.UserGenerateLockfiles": { + "pants.engine.target.GeneratedSources": { "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.core"], - "documentation": "All user resolves for a particular language ecosystem to build.\n\nEach language ecosystem should set up a subclass of `RequestedUserResolveNames` (see its\ndocstring), and implement a rule going from that subclass -> UserGenerateLockfiles. Each element\nin the returned `UserGenerateLockfiles` should be a subclass of `GenerateLockfile`, like\n`GeneratePythonLockfile`.", + "dependencies": [ + "builtins", + "pants.backend.experimental.helm", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.url_handlers.s3", + "pants.engine.environment" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "GeneratedSources(snapshot: 'Snapshot')", "is_union": false, - "module": "pants.core.goals.generate_lockfiles", - "name": "UserGenerateLockfiles", - "provider": "pants.backend.experimental.java, pants.core", + "module": "pants.engine.target", + "name": "GeneratedSources", + "provider": "pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.docker, pants.backend.experimental.adhoc, pants.backend.experimental.codegen.avro.java, pants.backend.experimental.codegen.protobuf.go, pants.backend.experimental.codegen.protobuf.java, pants.backend.experimental.codegen.protobuf.scala, pants.backend.experimental.codegen.thrift.apache.java, pants.backend.experimental.codegen.thrift.scrooge.java, pants.backend.experimental.codegen.thrift.scrooge.scala, pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.kotlin, pants.backend.experimental.openapi.codegen.java, pants.backend.experimental.python, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell, pants.core", "returned_by_rules": [ - "pants.backend.python.goals.lockfile.setup_user_lockfile_requests", - "pants.jvm.goals.lockfile.setup_user_lockfile_requests" + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.codegen.avro.java.rules.generate_java_from_avro", + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift", + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge", + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge", + "pants.backend.docker.util_rules.docker_build_context.hydrate_input_sources", + "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile", + "pants.backend.javascript.package.rules.generate_resources_from_node_build_script", + "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", + "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", + "pants.core.target_types.hydrate_file_source", + "pants.core.target_types.hydrate_resource_source", + "pants.core.target_types.relocate_files", + "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", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.engine.internals.graph.hydrate_sources" ] }, - "pants.core.goals.generate_lockfiles.WrappedGenerateLockfile": { + "pants.engine.target.GeneratedTargets": { "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "WrappedGenerateLockfile(request: 'GenerateLockfile')", + "dependencies": [ + "builtins", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.java", + "pants.backend.shell", + "pants.base.build_root", + "pants.core", + "pants.engine.fs", + "pants.engine.internals.target_adaptor", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "A mapping of the address of generated targets to the targets themselves.", "is_union": false, - "module": "pants.core.goals.generate_lockfiles", - "name": "WrappedGenerateLockfile", - "provider": "pants.backend.experimental.java, pants.core", + "module": "pants.engine.target", + "name": "GeneratedTargets", + "provider": "pants.backend.experimental.go, pants.backend.experimental.javascript, pants.backend.experimental.scala, pants.backend.plugin_development, pants.backend.python", "returned_by_rules": [ - "pants.backend.python.goals.lockfile.wrap_python_lockfile_request", - "pants.jvm.goals.lockfile.wrap_jvm_lockfile_request" + "pants.backend.go.target_type_rules.generate_targets_from_go_mod", + "pants.backend.javascript.package_json.generate_node_package_targets", + "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.target_types_rules.generate_targets_from_pex_binaries", + "pants.backend.scala.target_types.generate_jvm_artifact_targets", + "pants.engine.internals.graph.generate_file_targets" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal" + "pants.engine.internals.graph.resolve_target_parametrizations" ] }, - "pants.core.goals.generate_snapshots.EnvironmentAwareGenerateSnapshotsRequest": { + "pants.engine.target.HydrateSourcesRequest": { "consumed_by_rules": [ - "pants.core.goals.generate_snapshots.environment_await_generate_snapshots" + "pants.engine.internals.graph.hydrate_sources" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Request class to request a `GenerateSnapshotsResult` in an environment-aware fashion.", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "HydrateSourcesRequest(field: 'SourcesField', *, for_sources_types: 'Iterable[type[SourcesField]]' = (,), enable_codegen: 'bool' = False) -> 'None'", "is_union": false, - "module": "pants.core.goals.generate_snapshots", - "name": "EnvironmentAwareGenerateSnapshotsRequest", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "HydrateSourcesRequest", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_snapshots.generate_snapshots" + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies", + "pants.backend.codegen.avro.java.rules.generate_java_from_avro", + "pants.backend.codegen.export_codegen_goal.export_codegen", + "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", + "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.go_mod.determine_go_mod_info", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", + "pants.backend.helm.util_rules.sources.find_chart_source_root", + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "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", + "pants.backend.project_info.filedeps.file_deps", + "pants.backend.project_info.peek.get_target_data", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", + "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.core.target_types.package_archive_target", + "pants.core.target_types.relocate_files", + "pants.core.util_rules.source_files.determine_source_files", + "pants.jvm.package.war.render_war_deployment_descriptor" ] }, - "pants.core.goals.generate_snapshots.GenerateSnapshots": { + "pants.engine.target.HydratedSources": { "consumed_by_rules": [], "dependencies": [ "builtins", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.shell", + "pants.core", + "pants.engine.target", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.engine.fs", - "pants.engine.target" + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.terraform", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.shell", + "pants.core" ], - "dependents": [], - "documentation": null, + "documentation": "The result of hydrating a SourcesField.\n\nThe `sources_type` will indicate which of the `HydrateSourcesRequest.for_sources_type` the\nresult corresponds to, e.g. if the result comes from `FilesSources` vs. `PythonSources`. If this\nvalue is None, then the input `SourcesField` was not one of the expected types; or, when codegen\nwas enabled in the request, there was no valid code generator to generate the requested language\nfrom the original input. This property allows for switching on the result, e.g. handling\nhydrated files() sources differently than hydrated Python sources.", "is_union": false, - "module": "pants.core.goals.generate_snapshots", - "name": "GenerateSnapshots", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "HydratedSources", + "provider": "pants.backend.experimental.go", "returned_by_rules": [ - "pants.core.goals.generate_snapshots.generate_snapshots" + "pants.engine.internals.graph.hydrate_sources" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies", + "pants.backend.codegen.avro.java.rules.generate_java_from_avro", + "pants.backend.codegen.export_codegen_goal.export_codegen", + "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", + "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file", + "pants.backend.debian.rules.package_debian_package", + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.go_mod.determine_go_mod_info", + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", + "pants.backend.helm.util_rules.sources.find_chart_source_root", + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "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", + "pants.backend.project_info.filedeps.file_deps", + "pants.backend.project_info.peek.get_target_data", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", + "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.core.target_types.package_archive_target", + "pants.core.target_types.relocate_files", + "pants.core.util_rules.source_files.determine_source_files", + "pants.jvm.package.war.render_war_deployment_descriptor" + ] }, - "pants.core.goals.generate_snapshots.GenerateSnapshotsFieldSet": { + "pants.engine.target.InferDependenciesRequest": { "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "The fields necessary to generate snapshots from a target.", + "dependents": [ + "pants.backend.awslambda.python", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.cc", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.python.framework.stevedore", + "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.python", + "pants.backend.shell" + ], + "documentation": "A request to infer dependencies by analyzing source files.\n\nTo set up a new inference implementation, subclass this class. Set the class property\n`infer_from` to the FieldSet subclass you are able to infer from. This will cause the FieldSet\nclass, and any subclass, to use your inference implementation.\n\nNote that there cannot be more than one implementation for a particular `FieldSet` class.\n\nRegister this subclass with `UnionRule(InferDependenciesRequest, InferFortranDependencies)`, for example.\n\nThen, create a rule that takes the subclass as a parameter and returns `InferredDependencies`.\n\nFor example:\n\n class InferFortranDependencies(InferDependenciesRequest):\n infer_from = FortranDependenciesInferenceFieldSet\n\n @rule\n def infer_fortran_dependencies(request: InferFortranDependencies) -> InferredDependencies:\n hydrated_sources = await Get(HydratedSources, HydrateSources(request.sources))\n ...\n return InferredDependencies(...)\n\n def rules():\n return [\n infer_fortran_dependencies,\n UnionRule(InferDependenciesRequest, InferFortranDependencies),\n ]", "is_union": true, - "module": "pants.core.goals.generate_snapshots", - "name": "GenerateSnapshotsFieldSet", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "InferDependenciesRequest", + "provider": "pants.engine.target", "returned_by_rules": [], - "union_members": ["HelmUnitTestFieldSet"], + "union_members": [ + "InferApacheThriftJavaDependencies", + "InferApacheThriftPythonDependencies", + "InferAvroRuntimeDependencyRequest", + "InferCCDependenciesRequest", + "InferConftestDependencies", + "InferDjangoDependencies", + "InferDockerDependencies", + "InferGoBinaryMainDependencyRequest", + "InferGoPackageDependenciesRequest", + "InferGoThirdPartyPackageDependenciesRequest", + "InferHelmChartDependenciesRequest", + "InferHelmDeploymentDependenciesRequest", + "InferHelmUnitTestChartDependencyRequest", + "InferInitDependencies", + "InferJSDependenciesRequest", + "InferJavaSourceDependencies", + "InferKotlinJunitTestDependencyRequest", + "InferKotlinRuntimeDependencyRequest", + "InferKotlinSourceDependencies", + "InferNodePackageDependenciesRequest", + "InferOpenApiDocumentDependenciesRequest", + "InferOpenApiJavaRuntimeDependencyRequest", + "InferOpenApiSourceDependenciesRequest", + "InferPexBinaryEntryPointDependency", + "InferProtobufDependencies", + "InferProtobufJavaRuntimeDependencyRequest", + "InferPythonDistributionDependencies", + "InferPythonFaaSHandlerDependency", + "InferPythonImportDependencies", + "InferPythonProtobufDependencies", + "InferScalaLibraryDependencyRequest", + "InferScalaPBRuntimeDependencyRequest", + "InferScalaPluginDependenciesRequest", + "InferScalaSourceDependencies", + "InferScroogeThriftJavaDependencies", + "InferScroogeThriftScalaDependencies", + "InferShellDependencies", + "InferStevedoreNamespacesDependencies", + "InferTerraformDeploymentDependenciesRequest", + "InferTerraformModuleDependenciesRequest", + "InferThriftDependencies" + ], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_snapshots.environment_await_generate_snapshots" + "pants.engine.internals.graph.resolve_dependencies" ] }, - "pants.core.goals.generate_snapshots.GenerateSnapshotsResult": { + "pants.engine.target.InferredDependencies": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.engine.environment" + "pants.backend.helm.util_rules.chart_metadata", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.addresses", + "pants.engine.fs", + "pants.engine.internals.native_dep_inference" ], - "dependents": ["pants.core"], - "documentation": "GenerateSnapshotsResult(snapshot: 'Snapshot')", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "InferredDependencies(include: 'Iterable[Address]', *, exclude: 'Iterable[Address]' = ()) -> 'None'", "is_union": false, - "module": "pants.core.goals.generate_snapshots", - "name": "GenerateSnapshotsResult", - "provider": "pants.backend.experimental.helm, pants.core", + "module": "pants.engine.target", + "name": "InferredDependencies", + "provider": "pants.backend.awslambda.python, pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.docker, pants.backend.experimental.cc, pants.backend.experimental.codegen.avro.java, pants.backend.experimental.codegen.protobuf.java, pants.backend.experimental.codegen.protobuf.scala, pants.backend.experimental.codegen.thrift.apache.java, pants.backend.experimental.codegen.thrift.scrooge.java, pants.backend.experimental.codegen.thrift.scrooge.scala, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.javascript, pants.backend.experimental.kotlin, pants.backend.experimental.openapi, pants.backend.experimental.openapi.codegen.java, pants.backend.experimental.python.framework.django, pants.backend.experimental.python.framework.stevedore, pants.backend.experimental.scala, pants.backend.experimental.terraform, pants.backend.python, pants.backend.shell", "returned_by_rules": [ - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "pants.core.goals.generate_snapshots.environment_await_generate_snapshots" + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies", + "pants.backend.codegen.avro.java.rules.infer_apache_avro_java_dependencies", + "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency", + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", + "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency", + "pants.backend.codegen.thrift.apache.java.rules.infer_apache_thrift_java_dependencies", + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", + "pants.backend.codegen.thrift.scrooge.java.rules.inject_scrooge_thrift_java_dependencies", + "pants.backend.codegen.thrift.scrooge.scala.rules.inject_scrooge_thrift_scala_dependencies", + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", + "pants.backend.go.target_type_rules.infer_go_dependencies", + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency", + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", + "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis", + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", + "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.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", + "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", + "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency", + "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies", + "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" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.generate_snapshots.environment_await_generate_snapshots", - "pants.core.goals.generate_snapshots.generate_snapshots" + "pants.engine.internals.graph.resolve_dependencies" ] }, - "pants.core.goals.generate_snapshots.GenerateSnapshotsSubsystem": { - "consumed_by_rules": [], - "dependencies": ["pants.option.scope"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.generate_snapshots", - "name": "GenerateSnapshotsSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_generate_snapshots"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.goals.lint.AbstractLintRequest": { + "pants.engine.target.MovedPluginField": { "consumed_by_rules": [], "dependencies": [], "dependents": [ - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "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", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.yamllint", - "pants.backend.project_info", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble" + "pants.backend.codegen.protobuf.python" ], - "documentation": "Base class for plugin types wanting to be run as part of `lint`.\n\nPlugins should define a new type which subclasses either `LintTargetsRequest` (to lint targets)\nor `LintFilesRequest` (to lint arbitrary files), and set the appropriate class variables.\nE.g.\n class DryCleaningRequest(LintTargetsRequest):\n name = DryCleaningSubsystem.options_scope\n field_set_type = DryCleaningFieldSet\n\nThen, define 2 `@rule`s:\n 1. A rule which takes an instance of your request type's `PartitionRequest` class property,\n and returns a `Partitions` instance.\n E.g.\n @rule\n async def partition(\n request: DryCleaningRequest.PartitionRequest[DryCleaningFieldSet]\n # or `request: DryCleaningRequest.PartitionRequest` if file linter\n subsystem: DryCleaningSubsystem,\n ) -> Partitions[DryCleaningFieldSet, Any]:\n if subsystem.skip:\n return Partitions()\n\n # One possible implementation\n return Partitions.single_partition(request.field_sets)\n\n 2. A rule which takes an instance of your request type's `Batch` class property, and\n returns a `LintResult instance.\n E.g.\n @rule\n async def dry_clean(\n request: DryCleaningRequest.Batch,\n ) -> LintResult:\n ...\n\nLastly, register the rules which tell Pants about your plugin.\nE.g.\n def rules():\n return [\n *collect_rules(),\n *DryCleaningRequest.rules()\n ]", + "documentation": "A plugin field that should be moved into the generated targets.", "is_union": true, - "module": "pants.core.goals.lint", - "name": "AbstractLintRequest", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "MovedPluginField", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [ - "AddTrailingCommaRequest", - "AutoflakeRequest", - "BanditRequest", - "BlackRequest", - "BlackRequest", - "BufFormatRequest", - "BufLintRequest", - "BuildifierRequest", - "DocformatterRequest", - "Flake8Request", - "GofmtRequest", - "GoogleJavaFormatRequest", - "HadolintRequest", - "HelmLintRequest", - "IsortRequest", - "KtlintRequest", - "OpenApiFormatRequest", - "PreambleRequest", - "PyUpgradeRequest", - "PydocstyleRequest", - "PylintRequest", - "RegexLintRequest", - "RenameFieldsInFilesRequest", - "RenameTargetsInFilesRequest", - "RuffFixRequest", - "RuffLintRequest", - "ScalafmtRequest", - "SemgrepLintRequest", - "ShellcheckRequest", - "ShfmtRequest", - "SpectralRequest", - "TffmtRequest", - "YamllintRequest", - "YapfRequest", - "YapfRequest" + "ProtobufPythonInterpreterConstraintsField", + "ProtobufPythonResolveField", + "PythonSourceRootField" ], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.lint.Batch": { - "consumed_by_rules": ["pants.backend.tools.semgrep.rules.lint"], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.tools.semgrep"], + "pants.engine.target.PluginField": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java" + ], "documentation": null, "is_union": true, - "module": "pants.core.goals.lint", - "name": "Batch", - "provider": "pants.backend.experimental.tools.semgrep", + "module": "pants.engine.target", + "name": "PluginField", + "provider": "pants.engine.target", "returned_by_rules": [], - "union_members": [], - "union_type": "Batch", + "union_members": [ + "GoOwningGoModAddressField", + "PrefixedJvmJdkField", + "PrefixedJvmResolveField", + "SkipBufFormatField", + "SkipBufLintField" + ], + "union_type": null, "used_in_rules": [] }, - "pants.core.goals.lint.Lint": { - "consumed_by_rules": [], + "pants.engine.target.SourcesPaths": { + "consumed_by_rules": [ + "pants.core.util_rules.stripped_source_files.strip_sources_paths" + ], "dependencies": [ - "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker.lint.hadolint", + "pants.engine.fs", + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.cue", "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin.lint.ktlint", "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", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.yamllint", - "pants.backend.project_info", - "pants.backend.python", + "pants.backend.experimental.rust", "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.flake8", "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", "pants.backend.python.lint.pyupgrade", "pants.backend.python.lint.yapf", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble", - "pants.base.specs", - "pants.engine.console", - "pants.engine.fs", - "pants.engine.target", - "pants.engine.unions" + "pants.core" ], - "dependents": [], - "documentation": null, + "documentation": "The resolved file names of the `source`/`sources` field.\n\nThis does not consider codegen, and only captures the files from the field.", "is_union": false, - "module": "pants.core.goals.lint", - "name": "Lint", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.lint.lint"], + "module": "pants.engine.target", + "name": "SourcesPaths", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.resolve_source_paths" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", + "pants.core.goals.tailor.determine_all_owned_sources", + "pants.core.goals.tailor.restrict_conflicting_sources", + "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ClangFormatRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_CueFmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PrettierFmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RustfmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest", + "pants.engine.internals.graph.generate_file_targets" + ] }, - "pants.core.goals.lint.LintResult": { + "pants.engine.target.SourcesPathsRequest": { + "consumed_by_rules": [ + "pants.engine.internals.graph.resolve_source_paths" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" + ], + "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, + "module": "pants.engine.target", + "name": "SourcesPathsRequest", + "provider": "pants.engine.target", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", + "pants.core.goals.tailor.determine_all_owned_sources", + "pants.core.goals.tailor.restrict_conflicting_sources", + "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ClangFormatRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_CueFmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PrettierFmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RustfmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest", + "pants.engine.internals.graph.generate_file_targets" + ] + }, + "pants.engine.target.TargetFilesGeneratorSettings": { "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.openapi.lint.openapi_format", - "pants.backend.experimental.python.lint.add_trailing_comma", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.shell", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble", - "pants.engine.fs", - "pants.engine.platform", - "pants.engine.process" + "dependencies": [], + "dependents": [ + "pants.backend.experimental.go" ], - "dependents": ["pants.core"], - "documentation": "LintResult(exit_code: 'int', stdout: 'str', stderr: 'str', linter_name: 'str', partition_description: 'str | None' = None, report: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), _render_message: 'bool' = True)", + "documentation": "TargetFilesGeneratorSettings(add_dependencies_on_all_siblings: 'bool' = False)", "is_union": false, - "module": "pants.core.goals.lint", - "name": "LintResult", - "provider": "pants.backend.codegen.protobuf.lint.buf, pants.backend.docker.lint.hadolint, pants.backend.experimental.helm, pants.backend.experimental.openapi.lint.spectral, pants.backend.experimental.python.lint.ruff, pants.backend.experimental.tools.semgrep, pants.backend.experimental.tools.yamllint, pants.backend.project_info, pants.backend.python.lint.bandit, pants.backend.python.lint.flake8, pants.backend.python.lint.pydocstyle, pants.backend.python.lint.pylint, pants.backend.shell.lint.shellcheck, pants.core", + "module": "pants.engine.target", + "name": "TargetFilesGeneratorSettings", + "provider": "pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", "returned_by_rules": [ - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.helm.goals.lint.run_helm_lint", - "pants.backend.openapi.lint.spectral.rules.run_spectral", - "pants.backend.project_info.regex_lint.lint_with_regex_patterns", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.ruff.rules.ruff_lint", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.tools.semgrep.rules.lint", - "pants.backend.tools.yamllint.rules.run_yamllint", - "pants.core.goals.fix.convert_fix_result_to_lint_result" + "pants.backend.codegen.protobuf.target_types.generator_settings", + "pants.backend.codegen.thrift.target_types.generator_settings", + "pants.backend.python.target_types_rules.python_files_generator_settings", + "pants.backend.scala.target_types.scala_settings_request", + "pants.backend.shell.target_types.generator_settings" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.lint.lint"] - }, - "pants.core.goals.lint.LintSubsystem": { - "consumed_by_rules": ["pants.core.goals.lint.lint"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.lint", - "name": "LintSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_lint"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.engine.internals.graph.generate_file_targets" + ] }, - "pants.core.goals.lint.PartitionRequest": { + "pants.engine.target.TargetFilesGeneratorSettingsRequest": { "consumed_by_rules": [], "dependencies": [], "dependents": [ - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "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", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt" + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.scala", + "pants.backend.python", + "pants.backend.shell" ], - "documentation": null, + "documentation": "An optional union to provide dynamic settings for a `TargetFilesGenerator`.\n\nSee `TargetFilesGenerator`.", "is_union": true, - "module": "pants.core.goals.lint", - "name": "PartitionRequest", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "TargetFilesGeneratorSettingsRequest", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [ - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest", - "PartitionRequest" + "GeneratorSettingsRequest", + "GeneratorSettingsRequest", + "PythonFilesGeneratorSettingsRequest", + "ScalaSettingsRequest", + "ShellGeneratorSettingsRequest" ], "union_type": null, - "used_in_rules": ["pants.core.goals.lint.lint"] + "used_in_rules": [ + "pants.engine.internals.graph.generate_file_targets" + ] }, - "pants.core.goals.package.AllPackageableTargets": { + "pants.engine.target.TargetRootsToFieldSetsRequest": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "TargetRootsToFieldSetsRequest(field_set_superclass: 'Type[_FS]', *, goal_description: 'str', no_applicable_targets_behavior: 'NoApplicableTargetsBehavior', shard: 'int' = 0, num_shards: 'int' = -1) -> 'None'", + "is_union": false, + "module": "pants.engine.target", + "name": "TargetRootsToFieldSetsRequest", + "provider": "pants.engine.target", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.core.goals.deploy.run_deploy", + "pants.core.goals.generate_snapshots.generate_snapshots", + "pants.core.goals.package.package_asset", + "pants.core.goals.publish.run_publish", + "pants.core.goals.run.run", + "pants.core.goals.test.run_tests" + ] + }, + "pants.engine.target.TargetTypesToGenerateTargetsRequests": { "consumed_by_rules": [ - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies" + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_generator_target_requests", + "pants.engine.internals.graph.resolve_target", + "pants.engine.internals.graph.resolve_targets" + ], + "dependencies": [ + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.go", + "pants.backend.experimental.scala" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.docker"], "documentation": null, "is_union": false, - "module": "pants.core.goals.package", - "name": "AllPackageableTargets", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "TargetTypesToGenerateTargetsRequests", + "provider": "pants.backend.experimental.go", "returned_by_rules": [ - "pants.core.goals.package.find_all_packageable_targets" + "pants.engine.internals.graph.target_types_to_generate_targets_requests" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.package.BuiltPackage": { - "consumed_by_rules": [], + "pants.engine.target.Targets": { + "consumed_by_rules": [ + "pants.backend.go.goals.debug_goals.go_export_cgo_codegen", + "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "pants.backend.go.goals.generate.go_generate", + "pants.backend.java.goals.debug_goals.dump_java_source_analysis", + "pants.backend.kotlin.goals.debug_goals.dump_kotlin_source_analysis", + "pants.backend.python.goals.debug_goals.dump_python_source_analysis", + "pants.backend.scala.goals.debug_goals.dump_scala_source_analysis" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.terraform", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell", - "pants.engine.env_vars", + "pants.bsp.util_rules.targets", "pants.engine.environment", - "pants.engine.fs", - "pants.engine.platform", - "pants.engine.process", - "pants.engine.unions", - "pants.jvm.package.deploy_jar", - "pants.option.global_options" + "pants.engine.target", + "pants.engine.unions" ], "dependents": [ - "pants.backend.awslambda.python", "pants.backend.docker", + "pants.backend.experimental.adhoc", "pants.backend.experimental.go", + "pants.backend.experimental.go.debug_goals", + "pants.backend.experimental.helm", "pants.backend.experimental.java", + "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.debug_goals", + "pants.backend.experimental.openapi", + "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.django", "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.google_cloud_function.python", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.debug_goals", + "pants.backend.experimental.terraform", + "pants.backend.project_info", "pants.backend.python", "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", "pants.core" ], - "documentation": "BuiltPackage(digest: 'Digest', artifacts: 'tuple[BuiltPackageArtifact, ...]')", + "documentation": "A heterogeneous collection of instances of Target subclasses.\n\nWhile every element will be a subclass of `Target`, there may be many different `Target` types\nin this collection, e.g. some `FileTarget` and some `PythonTestTarget`.\n\nOften, you will want to filter out the relevant targets by looking at what fields they have\nregistered, e.g.:\n\n valid_tgts = [tgt for tgt in tgts if tgt.has_fields([Compatibility, PythonSources])]\n\nYou should not check the Target's actual type because this breaks custom target types;\nfor example, prefer `tgt.has_field(PythonTestsSourcesField)` to\n`isinstance(tgt, PythonTestsTarget)`.", "is_union": false, - "module": "pants.core.goals.package", - "name": "BuiltPackage", - "provider": "pants.backend.awslambda.python, pants.backend.docker, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.python.packaging.pyoxidizer, pants.backend.google_cloud_function.python, pants.backend.python, pants.core", + "module": "pants.engine.target", + "name": "Targets", + "provider": "pants.backend.experimental.go, pants.core", "returned_by_rules": [ - "pants.backend.awslambda.python.rules.package_python_aws_lambda_function", - "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer", - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.go.goals.package_binary.package_go_binary", - "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function", - "pants.backend.helm.goals.package.run_helm_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", - "pants.backend.python.util_rules.faas.build_python_faas", - "pants.core.goals.package.environment_aware_package", - "pants.core.target_types.package_archive_target", - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.package.war.package_war" + "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", + "pants.engine.internals.graph.resolve_targets" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.awslambda.python.rules.package_python_aws_lambda_function", - "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer", - "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.go.goals.run_binary.create_go_binary_run_request", - "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function", - "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", + "pants.backend.go.goals.test.prepare_go_test_binary", + "pants.backend.go.goals.test.run_go_tests", + "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.helm.goals.deploy.run_helm_deploy", + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "pants.backend.helm.util_rules.chart.get_helm_chart", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", + "pants.backend.helm.util_rules.sources.get_helm_source_files", + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", + "pants.backend.javascript.package_json.find_owning_package", + "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", + "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", + "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", + "pants.backend.project_info.dependencies.dependencies", + "pants.backend.project_info.paths.get_paths_between_root_and_destination", + "pants.backend.project_info.paths.paths", + "pants.backend.project_info.peek.get_target_data", + "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", + "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", + "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", + "pants.backend.python.framework.django.detect_apps.detect_django_apps", "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.core.goals.package.environment_aware_package", - "pants.core.goals.package.package_asset", - "pants.core.goals.publish.package_for_publish", + "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points", + "pants.backend.python.util_rules.package_dists.get_exporting_owner", + "pants.backend.python.util_rules.package_dists.get_requirements", + "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "pants.backend.terraform.dependency_inference.infer_terraform_module_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", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", + "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", + "pants.bsp.util_rules.targets.resolve_one_dependency_module", "pants.core.goals.test.build_runtime_package_dependencies", "pants.core.target_types.package_archive_target", + "pants.core.target_types.relocate_files", "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request" + "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", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", + "pants.engine.internals.graph.find_all_targets", + "pants.engine.internals.graph.find_owners", + "pants.engine.internals.graph.transitive_dependency_mapping", + "pants.engine.internals.graph.transitive_targets", + "pants.jvm.package.war.render_war_content", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile" ] }, - "pants.core.goals.package.EnvironmentAwarePackageRequest": { + "pants.engine.target.TransitiveTargets": { + "consumed_by_rules": [], + "dependencies": [ + "pants.core", + "pants.engine.addresses", + "pants.engine.environment", + "pants.engine.target", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.helm", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.scala", + "pants.backend.experimental.terraform", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.pylint", + "pants.backend.python.mixed_interpreter_constraints", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell", + "pants.core" + ], + "documentation": "A set of Target roots, and their transitive, flattened, de-duped dependencies.\n\nIf a target root is a dependency of another target root, then it will show up both in `roots`\nand in `dependencies`.", + "is_union": false, + "module": "pants.engine.target", + "name": "TransitiveTargets", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.transitive_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "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", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "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.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.project_info.dependencies.dependencies", + "pants.backend.project_info.filedeps.file_deps", + "pants.backend.project_info.paths.get_paths_between_root_and_destination", + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", + "pants.backend.python.util_rules.local_dists.build_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.package_dists.get_exporting_owner", + "pants.backend.python.util_rules.package_dists.get_owned_dependencies", + "pants.backend.python.util_rules.package_dists.get_requirements", + "pants.backend.python.util_rules.package_dists.get_sources", + "pants.backend.python.util_rules.pex.get_req_strings", + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", + "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.terraform.dependencies.init_terraform", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "pants.jvm.test.junit.setup_junit_for_target" + ] + }, + "pants.engine.target.TransitiveTargetsRequest": { "consumed_by_rules": [ - "pants.core.goals.package.environment_aware_package" + "pants.engine.internals.graph.transitive_targets" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Request class to request a `BuiltPackage` in an environment-aware fashion.", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "A request to get the transitive dependencies of the input roots.\n\nResolve the transitive targets with `await Get(TransitiveTargets,\nTransitiveTargetsRequest([addr1, addr2])`.", "is_union": false, - "module": "pants.core.goals.package", - "name": "EnvironmentAwarePackageRequest", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "TransitiveTargetsRequest", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ + "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", + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.core.goals.package.package_asset", - "pants.core.goals.publish.package_for_publish", - "pants.core.goals.test.build_runtime_package_dependencies", - "pants.core.target_types.package_archive_target", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "pants.backend.helm.test.unittest.setup_helm_unittest", + "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.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.openapi.lint.spectral.rules.run_spectral", + "pants.backend.project_info.dependencies.dependencies", + "pants.backend.project_info.filedeps.file_deps", + "pants.backend.project_info.paths.get_paths_between_root_and_destination", + "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "pants.backend.python.goals.package_dists.package_python_dist", + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "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", + "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", + "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", + "pants.backend.python.util_rules.local_dists.build_local_dists", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.python.util_rules.package_dists.generate_chroot", + "pants.backend.python.util_rules.package_dists.get_exporting_owner", + "pants.backend.python.util_rules.package_dists.get_owned_dependencies", + "pants.backend.python.util_rules.package_dists.get_requirements", + "pants.backend.python.util_rules.package_dists.get_sources", + "pants.backend.python.util_rules.pex.get_req_strings", + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", + "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.backend.terraform.dependencies.init_terraform", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "pants.jvm.test.junit.setup_junit_for_target" ] }, - "pants.core.goals.package.Package": { + "pants.engine.target.TransitivelyExcludeDependenciesRequest": { "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "A request to transitvely exclude dependencies of a \"root\" node.\n\nThis is similar to `InferDependenciesRequest`, except the request is only made for \"root\" nodes\nin the dependency graph.\n\nThis mirrors the public facing \"transitive exclude\" dependency feature (i.e. `!!
`).", + "is_union": true, + "module": "pants.engine.target", + "name": "TransitivelyExcludeDependenciesRequest", + "provider": "pants.engine.target", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.engine.internals.graph.transitive_targets" + ] + }, + "pants.engine.target.UnexpandedTargets": { + "consumed_by_rules": [ + "pants.backend.go.goals.debug_goals.dump_go_import_paths_for_module", + "pants.backend.project_info.peek.get_target_data", + "pants.backend.project_info.peek.peek", + "pants.engine.internals.graph.resolve_targets" + ], "dependencies": [ - "builtins", - "pants.backend.awslambda.python", - "pants.backend.docker", + "pants.engine.addresses" + ], + "dependents": [ "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.google_cloud_function.python", + "pants.backend.experimental.go.debug_goals", + "pants.backend.project_info", "pants.backend.python", - "pants.engine.fs", - "pants.engine.target" + "pants.core" ], - "dependents": [], - "documentation": null, + "documentation": "Like `Targets`, but will not replace target generators with their generated targets (e.g.\nreplace `python_sources` \"BUILD targets\" with generated `python_source` \"file targets\").", "is_union": false, - "module": "pants.core.goals.package", - "name": "Package", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.package.package_asset"], + "module": "pants.engine.target", + "name": "UnexpandedTargets", + "provider": "pants.backend.experimental.go, pants.engine.target", + "returned_by_rules": [ + "pants.engine.internals.graph.resolve_unexpanded_targets" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.go.goals.tailor.find_putative_go_targets", + "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod", + "pants.backend.project_info.dependencies.dependencies", + "pants.backend.project_info.filedeps.file_deps", + "pants.backend.project_info.list_targets.list_targets", + "pants.backend.project_info.peek.peek", + "pants.backend.python.goals.tailor.find_putative_targets", + "pants.core.goals.tailor.restrict_conflicting_sources", + "pants.engine.internals.graph.find_all_unexpanded_targets", + "pants.engine.internals.graph.find_owners", + "pants.engine.internals.graph.transitive_dependency_mapping" + ] }, - "pants.core.goals.package.PackageFieldSet": { + "pants.engine.target.ValidateDependenciesRequest": { "consumed_by_rules": [], "dependencies": [], "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.google_cloud_function.python", - "pants.backend.python", - "pants.core" + "pants.backend.experimental.visibility", + "pants.backend.python" ], - "documentation": "The fields necessary to build an asset from a target.", - "is_union": true, - "module": "pants.core.goals.package", - "name": "PackageFieldSet", - "provider": "pants.core", + "documentation": "A request to validate dependencies after they have been computed.\n\nAn implementing rule should raise an exception if dependencies are invalid.", + "is_union": true, + "module": "pants.engine.target", + "name": "ValidateDependenciesRequest", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [ - "ArchiveFieldSet", - "DeployJarFieldSet", - "DockerPackageFieldSet", - "GoBinaryFieldSet", - "HelmPackageFieldSet", - "PackageWarFileFieldSet", - "PexBinaryFieldSet", - "PyOxidizerFieldSet", - "PythonAwsLambdaFieldSet", - "PythonAwsLambdaLayerFieldSet", - "PythonDistributionFieldSet", - "PythonGoogleCloudFunctionFieldSet" + "PythonValidateDependenciesRequest", + "VisibilityValidateDependenciesRequest" ], "union_type": null, "used_in_rules": [ - "pants.backend.docker.goals.run_image.docker_image_run_request", - "pants.backend.go.goals.run_binary.create_go_binary_run_request", - "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.core.goals.package.environment_aware_package" + "pants.engine.internals.graph.resolve_dependencies" ] }, - "pants.core.goals.package.PackageSubsystem": { + "pants.engine.target.ValidatedDependencies": { "consumed_by_rules": [], - "dependencies": ["pants.option.scope"], - "dependents": [], - "documentation": null, + "dependencies": [ + "pants.backend.experimental.go", + "pants.core", + "pants.engine.goal", + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "ValidatedDependencies()", "is_union": false, - "module": "pants.core.goals.package", - "name": "PackageSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_package"], + "module": "pants.engine.target", + "name": "ValidatedDependencies", + "provider": "pants.backend.experimental.visibility, pants.backend.python", + "returned_by_rules": [ + "pants.backend.python.target_types_rules.validate_python_dependencies", + "pants.backend.visibility.rules.visibility_validate_dependencies" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.engine.internals.graph.resolve_dependencies" + ] }, - "pants.core.goals.publish.Publish": { + "pants.engine.target.WrappedTarget": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.docker", - "pants.backend.experimental.helm", - "pants.backend.experimental.python", - "pants.engine.console", "pants.engine.environment", - "pants.engine.process", "pants.engine.target" ], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.publish", - "name": "Publish", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.publish.run_publish"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.goals.publish.PublishFieldSet": { - "consumed_by_rules": [], - "dependencies": [], "dependents": [ "pants.backend.docker", - "pants.backend.experimental.helm", - "pants.backend.experimental.python" - ], - "documentation": "FieldSet for PublishRequest.\n\nUnion members may list any fields required to fulfill the instantiation of the\n`PublishProcesses` result of the publish rule.", - "is_union": true, - "module": "pants.core.goals.publish", - "name": "PublishFieldSet", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "HelmPublishFieldSet", - "PublishDockerImageFieldSet", - "PublishPythonPackageFieldSet" - ], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.goals.publish.PublishProcesses": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.awslambda.python", + "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.go", + "pants.backend.experimental.helm", "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.javascript", + "pants.backend.experimental.scala", "pants.backend.experimental.terraform", - "pants.backend.google_cloud_function.python", "pants.backend.python", - "pants.backend.shell", - "pants.engine.env_vars", - "pants.engine.environment", - "pants.engine.process" + "pants.backend.shell" ], - "dependents": ["pants.core"], - "documentation": "Collection of what processes to run for all built packages.\n\nThis is returned from implementing rules in response to a PublishRequest.\n\nDepending on the capabilities of the publishing tool, the work may be partitioned based on\nnumber of artifacts and/or repositories to publish to.", + "documentation": "A light wrapper to encapsulate all the distinct `Target` subclasses into a single type.\n\nThis is necessary when using a single target in a rule because the engine expects exact types\nand does not work with subtypes.", "is_union": false, - "module": "pants.core.goals.publish", - "name": "PublishProcesses", - "provider": "pants.backend.docker, pants.backend.experimental.helm, pants.backend.experimental.python, pants.core", + "module": "pants.engine.target", + "name": "WrappedTarget", + "provider": "pants.backend.experimental.go", "returned_by_rules": [ - "pants.backend.docker.goals.publish.push_docker_images", - "pants.backend.helm.goals.publish.publish_helm_chart", - "pants.backend.python.goals.publish.twine_upload", - "pants.core.goals.deploy.publish_process_for_target", - "pants.core.goals.publish.package_for_publish" + "pants.engine.internals.graph.resolve_target" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.deploy.publish_process_for_target", - "pants.core.goals.deploy.run_deploy", - "pants.core.goals.publish.package_for_publish", - "pants.core.goals.publish.run_publish" + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", + "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.go_mod.determine_go_mod_info", + "pants.backend.go.util_rules.go_mod.find_owning_go_mod", + "pants.backend.helm.util_rules.chart.find_chart_for_deployment", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.backend.javascript.resolve.resolve_for_package", + "pants.backend.python.goals.pytest_runner.run_all_setup_plugins", + "pants.backend.python.target_types_rules.validate_python_dependencies", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies", + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", + "pants.backend.shell.goals.test.test_shell_command", + "pants.backend.shell.util_rules.shell_command.run_shell_command_request", + "pants.backend.terraform.dependencies.init_terraform", + "pants.engine.internals.graph.hydrate_sources", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_unexpanded_targets", + "pants.engine.internals.graph.resolve_unparsed_address_inputs" ] }, - "pants.core.goals.publish.PublishProcessesRequest": { - "consumed_by_rules": ["pants.core.goals.publish.package_for_publish"], + "pants.engine.target.WrappedTargetRequest": { + "consumed_by_rules": [ + "pants.engine.internals.graph.resolve_target", + "pants.engine.internals.graph.resolve_target_for_bootstrapping" + ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Internal request taking all field sets for a target and turning it into a `PublishProcesses`\ncollection (via registered publish plugins).", + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "Used with `WrappedTarget` to get the Target corresponding to an address.\n\n`description_of_origin` is used for error messages when the address does not actually exist. If\nyou are confident this cannot happen, set the string to something like ``.", "is_union": false, - "module": "pants.core.goals.publish", - "name": "PublishProcessesRequest", - "provider": "pants.core", + "module": "pants.engine.target", + "name": "WrappedTargetRequest", + "provider": "pants.engine.target", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.deploy.publish_process_for_target", - "pants.core.goals.publish.run_publish" + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.docker.goals.run_image.docker_image_run_request", + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", + "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "pants.backend.go.util_rules.go_mod.determine_go_mod_info", + "pants.backend.go.util_rules.go_mod.find_owning_go_mod", + "pants.backend.helm.util_rules.chart.find_chart_for_deployment", + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.backend.javascript.resolve.resolve_for_package", + "pants.backend.python.goals.pytest_runner.run_all_setup_plugins", + "pants.backend.python.target_types_rules.validate_python_dependencies", + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies", + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", + "pants.backend.shell.goals.test.test_shell_command", + "pants.backend.shell.util_rules.shell_command.run_shell_command_request", + "pants.backend.terraform.dependencies.init_terraform", + "pants.engine.internals.graph.hydrate_sources", + "pants.engine.internals.graph.resolve_dependencies", + "pants.engine.internals.graph.resolve_unexpanded_targets", + "pants.engine.internals.graph.resolve_unparsed_address_inputs" ] }, - "pants.core.goals.publish.PublishRequest": { + "pants.goal.anonymous_telemetry.AnonymousTelemetry": { "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.helm", - "pants.backend.experimental.python" + "dependencies": [ + "pants.option.scope" ], - "documentation": "Implement a union member subclass of this union class along with a PublishFieldSet subclass\nthat appoints that member subclass in order to receive publish requests for targets compatible\nwith the field set.\n\nThe `packages` hold all artifacts produced for a given target to be published.\n\nExample:\n\n PublishToMyRepoRequest(PublishRequest):\n pass\n\n PublishToMyRepoFieldSet(PublishFieldSet):\n publish_request_type = PublishToMyRepoRequest\n\n # Standard FieldSet semantics from here on:\n required_fields = (MyRepositories,)\n ...", - "is_union": true, - "module": "pants.core.goals.publish", - "name": "PublishRequest", + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.goal.anonymous_telemetry", + "name": "AnonymousTelemetry", "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "PublishDockerImageRequest", - "PublishHelmChartRequest", - "PublishPythonPackageRequest" + "returned_by_rules": [ + "construct_scope_anonymous_telemetry" ], + "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.publish.package_for_publish"] + "used_in_rules": [] }, - "pants.core.goals.publish.PublishSubsystem": { - "consumed_by_rules": ["pants.core.goals.publish.run_publish"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, + "pants.goal.stats_aggregator.StatsAggregatorCallbackFactoryRequest": { + "consumed_by_rules": [ + "pants.goal.stats_aggregator.construct_callback" + ], + "dependencies": [ + "pants.engine.streaming_workunit_handler" + ], + "dependents": [ + "pants.core" + ], + "documentation": "A unique request type that is installed to trigger construction of the WorkunitsCallback.", "is_union": false, - "module": "pants.core.goals.publish", - "name": "PublishSubsystem", + "module": "pants.goal.stats_aggregator", + "name": "StatsAggregatorCallbackFactoryRequest", "provider": "pants.core", - "returned_by_rules": ["construct_scope_publish"], + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "WorkunitsCallbackFactoryRequest", "used_in_rules": [] }, - "pants.core.goals.repl.Repl": { - "consumed_by_rules": [], + "pants.goal.stats_aggregator.StatsAggregatorSubsystem": { + "consumed_by_rules": [ + "pants.goal.stats_aggregator.construct_callback" + ], "dependencies": [ - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.engine.console", - "pants.engine.env_vars", - "pants.engine.process", - "pants.engine.target", - "pants.engine.unions" + "pants.option.scope" + ], + "dependents": [ + "pants.core" ], - "dependents": [], "documentation": null, "is_union": false, - "module": "pants.core.goals.repl", - "name": "Repl", + "module": "pants.goal.stats_aggregator", + "name": "StatsAggregatorSubsystem", "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.repl.run_repl"], + "returned_by_rules": [ + "construct_scope_stats" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.repl.ReplImplementation": { - "consumed_by_rules": [], + "pants.jvm.bsp.compile.BSPClasspathEntryRequest": { + "consumed_by_rules": [ + "pants.jvm.bsp.compile.notify_for_classpath_entry" + ], "dependencies": [], "dependents": [ - "pants.backend.experimental.scala", - "pants.backend.python" + "pants.backend.experimental.java" ], - "documentation": "A REPL implementation for a specific language or runtime.\n\nProxies from the top-level `repl` goal to an actual implementation.", - "is_union": true, - "module": "pants.core.goals.repl", - "name": "ReplImplementation", - "provider": "pants.core", + "documentation": "A wrapper around a `ClasspathEntryRequest` which notifies the BSP client on completion.\n\nTODO: Because this struct contains a `task_id`, messages will re-render in every run, even\nthough the underlying computation does not re-run. See #15426 for an alternative.", + "is_union": false, + "module": "pants.jvm.bsp.compile", + "name": "BSPClasspathEntryRequest", + "provider": "pants.jvm.bsp.compile", "returned_by_rules": [], - "union_members": ["IPythonRepl", "PythonRepl", "ScalaRepl"], + "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.repl.run_repl"] + "used_in_rules": [ + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request" + ] }, - "pants.core.goals.repl.ReplRequest": { + "pants.jvm.classpath.Classpath": { "consumed_by_rules": [], "dependencies": [ - "builtins", "pants.backend.experimental.go", - "pants.backend.experimental.helm", + "pants.backend.experimental.scala", + "pants.engine.target", + "pants.jvm.compile", + "pants.jvm.resolve.key" + ], + "dependents": [ "pants.backend.experimental.java", - "pants.core", - "pants.engine.target" + "pants.backend.experimental.scala" ], - "dependents": ["pants.core"], - "documentation": "ReplRequest(*, digest: 'Digest', args: 'Iterable[str]', extra_env: 'Optional[Mapping[str, str]]' = None, immutable_input_digests: 'Mapping[str, Digest] | None' = None, append_only_caches: 'Mapping[str, str] | None' = None, run_in_workspace: 'bool' = True) -> 'None'", + "documentation": "A transitive classpath which is sufficient to launch the target(s) it was generated for.\n\nThere are two primary ways to consume a Classpath:\n 1. Using the `(root_)immutable_inputs` methods, which produce the argument to\n `Process.immutable_input_digests` and adapted CLI args for use with that argument.\n 2. Using the `digests` and `(root_)args` methods, which can be merged to produce the\n argument to `Process.input_digest` and CLI args for use with a digest.\nThe first approach should be preferred, because it allows for symlinking of inputs. If\npossible, the latter method should be removed when consumers have migrated.\n\nThis classpath is guaranteed to contain only JAR files.", "is_union": false, - "module": "pants.core.goals.repl", - "name": "ReplRequest", - "provider": "pants.backend.experimental.scala, pants.backend.python", + "module": "pants.jvm.classpath", + "name": "Classpath", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.backend.python.goals.repl.create_ipython_repl_request", - "pants.backend.python.goals.repl.create_python_repl_request", - "pants.backend.scala.goals.repl.create_scala_repl_request" + "pants.jvm.classpath.classpath" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.repl.run_repl"] - }, - "pants.core.goals.repl.ReplSubsystem": { - "consumed_by_rules": ["pants.core.goals.repl.run_repl"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.repl", - "name": "ReplSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_repl"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.scala.goals.repl.create_scala_repl_request", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.package.war.package_war", + "pants.jvm.run.create_run_request", + "pants.jvm.test.junit.setup_junit_for_target" + ] }, - "pants.core.goals.run.Run": { + "pants.jvm.classpath.LooseClassfiles": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.docker", - "pants.backend.experimental.adhoc", + "builtins", "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.helm", "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell", - "pants.engine.env_vars", - "pants.engine.fs", - "pants.engine.process", - "pants.engine.target" + "pants.backend.url_handlers.s3", + "pants.core", + "pants.jvm.compile" ], - "dependents": [], - "documentation": null, + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "documentation": "The contents of a classpath entry as loose classfiles.\n\nNote that `ClasspathEntry` and `Classpath` both guarantee that they contain JAR files, and so\ncreating loose classfiles from them involves extracting their entry.", "is_union": false, - "module": "pants.core.goals.run", - "name": "Run", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.run.run"], + "module": "pants.jvm.classpath", + "name": "LooseClassfiles", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.classpath.loose_classfiles" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request" + ] }, - "pants.core.goals.run.RunDebugAdapterRequest": { - "consumed_by_rules": [], + "pants.jvm.compile.ClasspathDependenciesRequest": { + "consumed_by_rules": [ + "pants.jvm.compile.classpath_dependency_requests" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "ClasspathDependenciesRequest(request: 'ClasspathEntryRequest', ignore_generated: 'bool' = False)", + "is_union": false, + "module": "pants.jvm.compile", + "name": "ClasspathDependenciesRequest", + "provider": "pants.jvm.compile", + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.resolve.artifact.scala_artifact_classpath", + "pants.jvm.package.deploy_jar.deploy_jar_classpath", + "pants.jvm.resources.assemble_resources_jar" + ] + }, + "pants.jvm.compile.ClasspathEntry": { + "consumed_by_rules": [ + "pants.jvm.classpath.loose_classfiles" + ], "dependencies": [ "builtins", + "pants.backend.experimental.go", "pants.backend.experimental.helm", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.scala.compile.scalac", + "pants.backend.url_handlers.s3", "pants.core", - "pants.jvm.package.deploy_jar" + "pants.engine.fs", + "pants.jvm.resolve.coursier_fetch" ], - "dependents": ["pants.core"], - "documentation": "Like RunRequest, but launches the process using the relevant Debug Adapter server.\n\nThe process should be launched waiting for the client to connect.", + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "documentation": "A JVM classpath entry represented as a series of JAR files, and their dependencies.\n\nThis is a series of JAR files in order to account for \"exported\" dependencies, when a node\nand some of its dependencies are indistinguishable (such as for aliases, or potentially\nexplicitly declared or inferred `exported=` lists in the future).\n\nThis class additionally keeps filenames in order to preserve classpath ordering for the\n`classpath_arg` method: although Digests encode filenames, they are stored sorted.\n\nIf `[jvm].reproducible_jars`, then all JARs in a classpath entry must have had timestamps\nstripped -- either natively, or via the `pants.jvm.strip_jar` rules.\n\nTODO: Move to `classpath.py`.\nTODO: Generalize via https://github.com/pantsbuild/pants/issues/13112.\n\nNote: Non-jar artifacts (e.g., executables with \"exe\" packaging) may end up on the classpath if\nthey are dependencies.\nTODO: Does there need to be a filtering mechanism to exclude non-jar artifacts in the default case?", "is_union": false, - "module": "pants.core.goals.run", - "name": "RunDebugAdapterRequest", - "provider": "pants.backend.docker, pants.backend.experimental.adhoc, pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.python.packaging.pyoxidizer, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", + "module": "pants.jvm.compile", + "name": "ClasspathEntry", + "provider": "pants.backend.experimental.java, pants.backend.experimental.scala, pants.jvm.compile", "returned_by_rules": [ - "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DeployJarFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DockerRunFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_GoBinaryFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JavaFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JvmArtifactFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_KotlinFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PexBinaryFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PyOxidizerFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PythonRequirementFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunShellCommand", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_ScalaFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_SystemBinaryFieldSet" + "pants.backend.scala.compile.scalac.fetch_scala_library", + "pants.jvm.compile.required_classfiles", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.run.run"] + "used_in_rules": [ + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.jvm.classpath.classpath", + "pants.jvm.jdk_rules.fetch_nailgun", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile", + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier" + ] }, - "pants.core.goals.run.RunFieldSet": { + "pants.jvm.compile.ClasspathEntryRequest": { "consumed_by_rules": [], "dependencies": [], "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.go", "pants.backend.experimental.java", "pants.backend.experimental.kotlin", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell" + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala" ], - "documentation": "The fields necessary from a target to run a program/script.", + "documentation": "A request for a ClasspathEntry for the given CoarsenedTarget and resolve.\n\nTODO: Move to `classpath.py`.", "is_union": true, - "module": "pants.core.goals.run", - "name": "RunFieldSet", - "provider": "pants.core", + "module": "pants.jvm.compile", + "name": "ClasspathEntryRequest", + "provider": "pants.jvm.compile", "returned_by_rules": [], "union_members": [ - "DeployJarFieldSet", - "DockerRunFieldSet", - "GoBinaryFieldSet", - "JavaFieldSet", - "JvmArtifactFieldSet", - "KotlinFieldSet", - "PexBinaryFieldSet", - "PyOxidizerFieldSet", - "PythonRequirementFieldSet", - "PythonSourceFieldSet", - "RunShellCommand", - "ScalaFieldSet", - "SystemBinaryFieldSet" + "CompileJavaSourceRequest", + "CompileKotlinSourceRequest", + "CompileScalaSourceRequest", + "CoursierFetchRequest", + "DeployJarClasspathEntryRequest", + "JvmResourcesRequest", + "NoopClasspathEntryRequest", + "ScalaArtifactClasspathEntryRequest" + ], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.goals.check.javac_check", + "pants.backend.kotlin.goals.check.kotlinc_check", + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.backend.scala.goals.check.scalac_check", + "pants.jvm.bsp.compile.notify_for_classpath_entry", + "pants.jvm.classpath.classpath", + "pants.jvm.compile.compile_classpath_entries" + ] + }, + "pants.jvm.compile.ClasspathEntryRequestFactory": { + "consumed_by_rules": [ + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.java.goals.check.javac_check", + "pants.backend.kotlin.goals.check.kotlinc_check", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.backend.scala.goals.check.scalac_check", + "pants.jvm.classpath.classpath", + "pants.jvm.compile.classpath_dependency_requests" + ], + "dependencies": [ + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.scala" + ], + "documentation": "ClasspathEntryRequestFactory(impls: 'tuple[type[ClasspathEntryRequest], ...]', generator_sources: 'FrozenDict[type[ClasspathEntryRequest], frozenset[type[SourcesField]]]')", + "is_union": false, + "module": "pants.jvm.compile", + "name": "ClasspathEntryRequestFactory", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.compile.calculate_jvm_request_types" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.jvm.compile.ClasspathEntryRequests": { + "consumed_by_rules": [ + "pants.jvm.compile.compile_classpath_entries" ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.jvm.compile", + "name": "ClasspathEntryRequests", + "provider": "pants.backend.experimental.java, pants.jvm.compile", + "returned_by_rules": [ + "pants.jvm.compile.classpath_dependency_requests" + ], + "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet", - "pants.core.goals.run.run", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" + "pants.backend.java.compile.javac.compile_java_source", + "pants.jvm.resources.assemble_resources_jar" ] }, - "pants.core.goals.run.RunInSandboxRequest": { + "pants.jvm.compile.FallibleClasspathEntries": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.core", - "pants.jvm.package.deploy_jar" + "pants.backend.experimental.kotlin", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.jvm.compile" ], - "dependents": ["pants.backend.experimental.adhoc", "pants.backend.shell"], - "documentation": "A run request that launches the process in the sandbox for use as part of a build rule.\n\nThe arguments and environment should only use values relative to the build root (or prefixed\nwith `{chroot}`), or refer to binaries that were fetched with `BinaryPathRequest`.\n\nPresently, implementors can opt to use the existing as not guaranteeing hermeticity, which will\ninternally mark the rule as uncacheable. In such a case, non-safe APIs can be used, however,\nthis behavior can result in poorer performance, and only exists as a stop-gap while\nimplementors work to make sure their `RunRequest`-generating rules can be used in a hermetic\ncontext, or writing new custom rules. (See the Plugin Upgrade Guide for details).", + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.scala" + ], + "documentation": null, "is_union": false, - "module": "pants.core.goals.run", - "name": "RunInSandboxRequest", - "provider": "pants.backend.docker, pants.backend.experimental.adhoc, pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.python.packaging.pyoxidizer, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", + "module": "pants.jvm.compile", + "name": "FallibleClasspathEntries", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunShellCommand", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet" + "pants.jvm.compile.compile_classpath_entries" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.resolve.artifact.scala_artifact_classpath", + "pants.jvm.package.deploy_jar.deploy_jar_classpath", + "pants.jvm.resources.assemble_resources_jar" ] }, - "pants.core.goals.run.RunRequest": { - "consumed_by_rules": [], + "pants.jvm.compile.FallibleClasspathEntry": { + "consumed_by_rules": [ + "pants.jvm.compile.required_classfiles" + ], "dependencies": [ "builtins", - "pants.backend.awslambda.python", + "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.terraform", - "pants.backend.google_cloud_function.python", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.env_vars", "pants.engine.process", - "pants.engine.target", - "pants.jvm.package.deploy_jar", - "pants.jvm.target_types" + "pants.jvm.bsp.compile", + "pants.jvm.compile", + "pants.jvm.resolve.coursier_fetch" ], "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", "pants.backend.experimental.java", "pants.backend.experimental.kotlin", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.core" + "pants.backend.experimental.scala" ], - "documentation": "RunRequest(*, digest: 'Digest', args: 'Iterable[str]', extra_env: 'Optional[Mapping[str, str]]' = None, immutable_input_digests: 'Mapping[str, Digest] | None' = None, append_only_caches: 'Mapping[str, str] | None' = None) -> 'None'", + "documentation": "FallibleClasspathEntry(description: 'str', result: 'CompileResult', output: 'ClasspathEntry | None', exit_code: 'int', stdout: 'str | None' = None, stderr: 'str | None' = None)", "is_union": false, - "module": "pants.core.goals.run", - "name": "RunRequest", - "provider": "pants.backend.docker, pants.backend.experimental.adhoc, pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.python.packaging.pyoxidizer, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", + "module": "pants.jvm.compile", + "name": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.openapi.codegen.java, pants.backend.experimental.scala", "returned_by_rules": [ - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "pants.backend.docker.goals.run_image.docker_image_run_request", - "pants.backend.go.goals.run_binary.create_go_binary_run_request", - "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", - "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", - "pants.backend.shell.util_rules.shell_command.run_shell_command_request", - "pants.jvm.run.create_run_request", - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet" + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.resolve.artifact.scala_artifact_classpath", + "pants.jvm.bsp.compile.notify_for_classpath_entry", + "pants.jvm.non_jvm_dependencies.noop_classpath_entry", + "pants.jvm.package.deploy_jar.deploy_jar_classpath", + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", + "pants.jvm.resources.assemble_resources_jar" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet", - "pants.core.goals.run.run", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet" + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.java.goals.check.javac_check", + "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", + "pants.backend.kotlin.goals.check.kotlinc_check", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.compile.scalac_plugins.fetch_plugins", + "pants.backend.scala.goals.check.scalac_check", + "pants.jvm.bsp.compile.notify_for_classpath_entry", + "pants.jvm.compile.compile_classpath_entries" ] }, - "pants.core.goals.run.RunSubsystem": { - "consumed_by_rules": ["pants.core.goals.run.run"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.goals.run", - "name": "RunSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_run"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.goals.tailor.AllOwnedSources": { + "pants.jvm.dependency_inference.artifact_mapper.AllJvmArtifactTargets": { "consumed_by_rules": [ - "pants.backend.codegen.protobuf.tailor.find_putative_targets", - "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", - "pants.backend.docker.goals.tailor.find_putative_targets", - "pants.backend.go.goals.tailor.find_putative_go_package_target", - "pants.backend.go.goals.tailor.find_putative_go_targets", - "pants.backend.helm.goals.tailor.find_putative_helm_targets", - "pants.backend.java.goals.tailor.find_putative_targets", - "pants.backend.kotlin.goals.tailor.find_putative_targets", - "pants.backend.openapi.goals.tailor.find_putative_targets", - "pants.backend.python.goals.tailor.find_putative_targets", - "pants.backend.scala.goals.tailor.find_putative_targets", - "pants.backend.shell.goals.tailor.find_putative_targets", - "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets" + "pants.backend.codegen.avro.java.rules.resolve_apache_avro_runtime_for_resolve", + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve", + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve", + "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", + "pants.backend.codegen.thrift.apache.java.rules.resolve_apache_thrift_java_runtime_for_resolve", + "pants.backend.codegen.thrift.scrooge.java.rules.resolve_scrooge_thrift_java_runtime_for_resolve", + "pants.backend.codegen.thrift.scrooge.scala.rules.resolve_scrooge_thrift_scala_runtime_for_resolve", + "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve", + "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve", + "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies", + "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", + "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts" + ], + "dependencies": [ + "pants.backend.experimental.go" ], - "dependencies": ["pants.backend.experimental.go"], "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", "pants.backend.experimental.java", "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.shell" + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala" ], - "documentation": "All files in the project already owned by targets.", + "documentation": null, "is_union": false, - "module": "pants.core.goals.tailor", - "name": "AllOwnedSources", - "provider": "pants.core", + "module": "pants.jvm.dependency_inference.artifact_mapper", + "name": "AllJvmArtifactTargets", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.goals.tailor.determine_all_owned_sources" + "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_artifact_targets" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.tailor.DisjointSourcePutativeTarget": { - "consumed_by_rules": [], + "pants.jvm.dependency_inference.artifact_mapper.AllJvmTypeProvidingTargets": { + "consumed_by_rules": [ + "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping", + "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" + ], "dependencies": [ - "pants.backend.experimental.go", - "pants.engine.fs", - "pants.engine.target" + "pants.backend.experimental.go" ], - "dependents": ["pants.core"], - "documentation": "Putative target whose sources don't overlap with those of any existing targets.", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, "is_union": false, - "module": "pants.core.goals.tailor", - "name": "DisjointSourcePutativeTarget", - "provider": "pants.core", + "module": "pants.jvm.dependency_inference.artifact_mapper", + "name": "AllJvmTypeProvidingTargets", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.goals.tailor.restrict_conflicting_sources" + "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_provides_fields" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.tailor.tailor"] + "used_in_rules": [] }, - "pants.core.goals.tailor.EditBuildFilesRequest": { - "consumed_by_rules": ["pants.core.goals.tailor.edit_build_files"], + "pants.jvm.dependency_inference.artifact_mapper.AvailableThirdPartyArtifacts": { + "consumed_by_rules": [ + "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping" + ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "EditBuildFilesRequest(putative_targets: 'PutativeTargets')", - "is_union": false, - "module": "pants.core.goals.tailor", - "name": "EditBuildFilesRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.goals.tailor.tailor"] - }, - "pants.core.goals.tailor.EditedBuildFiles": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.engine.fs" + "dependents": [ + "pants.backend.experimental.java" ], - "dependents": ["pants.core"], - "documentation": "EditedBuildFiles(digest: 'Digest', created_paths: 'tuple[str, ...]', updated_paths: 'tuple[str, ...]')", + "documentation": "Maps coordinates and resolve names to target `Address`es and declared packages.", "is_union": false, - "module": "pants.core.goals.tailor", - "name": "EditedBuildFiles", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.tailor.edit_build_files"], + "module": "pants.jvm.dependency_inference.artifact_mapper", + "name": "AvailableThirdPartyArtifacts", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts" + ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.tailor.tailor"] + "used_in_rules": [] }, - "pants.core.goals.tailor.PutativeTarget": { + "pants.jvm.dependency_inference.artifact_mapper.ThirdPartySymbolMapping": { "consumed_by_rules": [ - "pants.core.goals.tailor.restrict_conflicting_sources" + "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "A potential target to add, detected by various heuristics.\n\nThis class uses the term \"target\" in the loose sense. It can also represent an invocation of a\ntarget-generating macro.", - "is_union": false, - "module": "pants.core.goals.tailor", - "name": "PutativeTarget", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.goals.tailor.tailor"] - }, - "pants.core.goals.tailor.PutativeTargets": { - "consumed_by_rules": [ - "pants.core.goals.tailor.rename_conflicting_targets" + "dependents": [ + "pants.backend.experimental.java" ], - "dependencies": ["builtins", "pants.engine.fs", "pants.engine.target"], - "dependents": ["pants.core"], - "documentation": null, + "documentation": "The third party symbols provided by all `jvm_artifact` targets.", "is_union": false, - "module": "pants.core.goals.tailor", - "name": "PutativeTargets", - "provider": "pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.docker, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.openapi, pants.backend.experimental.scala, pants.backend.experimental.terraform, pants.backend.python, pants.backend.shell, pants.core", + "module": "pants.jvm.dependency_inference.artifact_mapper", + "name": "ThirdPartySymbolMapping", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.backend.codegen.protobuf.tailor.find_putative_targets", - "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", - "pants.backend.docker.goals.tailor.find_putative_targets", - "pants.backend.go.goals.tailor.find_putative_go_targets", - "pants.backend.helm.goals.tailor.find_putative_helm_targets", - "pants.backend.java.goals.tailor.find_putative_targets", - "pants.backend.kotlin.goals.tailor.find_putative_targets", - "pants.backend.openapi.goals.tailor.find_putative_targets", - "pants.backend.python.goals.tailor.find_putative_targets", - "pants.backend.scala.goals.tailor.find_putative_targets", - "pants.backend.shell.goals.tailor.find_putative_targets", - "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets" + "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.tailor.tailor"] + "used_in_rules": [] }, - "pants.core.goals.tailor.PutativeTargetsRequest": { + "pants.jvm.dependency_inference.symbol_mapper.FirstPartyMappingRequest": { "consumed_by_rules": [], "dependencies": [], "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", "pants.backend.experimental.java", "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.shell" + "pants.backend.experimental.scala" ], - "documentation": "PutativeTargetsRequest(dirs: 'tuple[str, ...]')", + "documentation": "An entry point for a specific implementation of mapping JVM package names to owning targets.\n\nAll implementations will be merged together.\n\nThe addresses should all be file addresses, rather than BUILD addresses.", "is_union": true, - "module": "pants.core.goals.tailor", - "name": "PutativeTargetsRequest", - "provider": "pants.core", + "module": "pants.jvm.dependency_inference.symbol_mapper", + "name": "FirstPartyMappingRequest", + "provider": "pants.jvm.dependency_inference.symbol_mapper", "returned_by_rules": [], "union_members": [ - "PutativeDockerTargetsRequest", - "PutativeGoTargetsRequest", - "PutativeHelmTargetsRequest", - "PutativeJavaTargetsRequest", - "PutativeKotlinTargetsRequest", - "PutativeOpenApiTargetsRequest", - "PutativeProtobufTargetsRequest", - "PutativePythonTargetsRequest", - "PutativeScalaTargetsRequest", - "PutativeShellTargetsRequest", - "PutativeTerraformTargetsRequest", - "PutativeThriftTargetsRequest" + "FirstPartyJavaTargetsMappingRequest", + "FirstPartyKotlinTargetsMappingRequest", + "FirstPartyScalaTargetsMappingRequest" ], "union_type": null, - "used_in_rules": ["pants.core.goals.tailor.tailor"] + "used_in_rules": [ + "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" + ] }, - "pants.core.goals.tailor.TailorGoal": { + "pants.jvm.dependency_inference.symbol_mapper.SymbolMap": { "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "The first party symbols provided by a single inference implementation.", + "is_union": false, + "module": "pants.jvm.dependency_inference.symbol_mapper", + "name": "SymbolMap", + "provider": "pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.scala", + "returned_by_rules": [ + "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", + "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", + "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" + ] + }, + "pants.jvm.dependency_inference.symbol_mapper.SymbolMapping": { + "consumed_by_rules": [ + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "pants.jvm.goals.debug_goals.jvm_symbol_map" + ], "dependencies": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.shell", - "pants.base.specs", - "pants.engine.console", - "pants.engine.fs", - "pants.engine.internals.build_files", "pants.engine.unions" ], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.scala" + ], + "documentation": "The merged first and third party symbols provided by all inference implementations.", + "is_union": false, + "module": "pants.jvm.dependency_inference.symbol_mapper", + "name": "SymbolMapping", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.jvm.goals.debug_goals.JvmSymbolMap": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.experimental.java", + "pants.engine.console" + ], "dependents": [], "documentation": null, "is_union": false, - "module": "pants.core.goals.tailor", - "name": "TailorGoal", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.tailor.tailor"], + "module": "pants.jvm.goals.debug_goals", + "name": "JvmSymbolMap", + "provider": "pants.backend.experimental.java.debug_goals", + "returned_by_rules": [ + "pants.jvm.goals.debug_goals.jvm_symbol_map" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.tailor.TailorSubsystem": { - "consumed_by_rules": [ - "pants.core.goals.tailor.edit_build_files", - "pants.core.goals.tailor.tailor" + "pants.jvm.goals.debug_goals.JvmSymbolMapSubsystem": { + "consumed_by_rules": [], + "dependencies": [ + "pants.option.scope" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], + "dependents": [], "documentation": null, "is_union": false, - "module": "pants.core.goals.tailor", - "name": "TailorSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_tailor"], + "module": "pants.jvm.goals.debug_goals", + "name": "JvmSymbolMapSubsystem", + "provider": "pants.backend.experimental.java.debug_goals", + "returned_by_rules": [ + "construct_scope_jvm_symbol_map" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.tailor.UniquelyNamedPutativeTargets": { - "consumed_by_rules": [], + "pants.jvm.goals.lockfile.GenerateJvmLockfile": { + "consumed_by_rules": [ + "pants.jvm.goals.lockfile.generate_jvm_lockfile", + "pants.jvm.goals.lockfile.wrap_jvm_lockfile_request" + ], "dependencies": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.shell" + "pants.backend.experimental.scala.lint.scalafmt", + "pants.core", + "pants.engine.unions", + "pants.jvm.goals.lockfile", + "pants.jvm.resolve.common" ], - "dependents": ["pants.core"], - "documentation": "Putative targets that have no name conflicts with existing targets (or each other).", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "GenerateJvmLockfile(resolve_name: 'str', lockfile_dest: 'str', diff: 'bool', artifacts: 'ArtifactRequirements')", "is_union": false, - "module": "pants.core.goals.tailor", - "name": "UniquelyNamedPutativeTargets", - "provider": "pants.core", + "module": "pants.jvm.goals.lockfile", + "name": "GenerateJvmLockfile", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.goals.tailor.rename_conflicting_targets" + "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve", + "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool" ], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.goals.tailor.tailor"] + "union_type": "GenerateLockfile", + "used_in_rules": [ + "pants.jvm.goals.lockfile.setup_user_lockfile_requests" + ] }, - "pants.core.goals.test.Batch": { + "pants.jvm.goals.lockfile.KnownJVMUserResolveNamesRequest": { "consumed_by_rules": [ - "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test", - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_Shunit2TestRequest" + "pants.jvm.goals.lockfile.determine_jvm_user_resolves" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.shell"], "documentation": null, - "is_union": true, - "module": "pants.core.goals.test", - "name": "Batch", - "provider": "pants.backend.shell", + "is_union": false, + "module": "pants.jvm.goals.lockfile", + "name": "KnownJVMUserResolveNamesRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "KnownUserResolveNamesRequest", + "used_in_rules": [] + }, + "pants.jvm.goals.lockfile.RequestedJVMUserResolveNames": { + "consumed_by_rules": [ + "pants.jvm.goals.lockfile.setup_user_lockfile_requests" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.jvm.goals.lockfile", + "name": "RequestedJVMUserResolveNames", + "provider": "pants.backend.experimental.java", "returned_by_rules": [], "union_members": [], - "union_type": "Batch", + "union_type": "RequestedUserResolveNames", "used_in_rules": [] }, - "pants.core.goals.test.BuildPackageDependenciesRequest": { - "consumed_by_rules": [ - "pants.core.goals.test.build_runtime_package_dependencies" - ], + "pants.jvm.goals.lockfile.ValidateJvmArtifactsForResolveRequest": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "BuildPackageDependenciesRequest(field: 'RuntimePackageDependenciesField')", - "is_union": false, - "module": "pants.core.goals.test", - "name": "BuildPackageDependenciesRequest", - "provider": "pants.core", + "dependents": [ + "pants.backend.experimental.scala" + ], + "documentation": "Hook for backends to validate the artifact requirements requested for a resolve.\n\nThe main user is the Scala backend which will ensure scala-library is present in the resolve.", + "is_union": true, + "module": "pants.jvm.goals.lockfile", + "name": "ValidateJvmArtifactsForResolveRequest", + "provider": "pants.jvm.goals.lockfile", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "ValidateResolveHasScalaRuntimeRequest" + ], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_runtime_packages", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve" ] }, - "pants.core.goals.test.BuiltPackageDependencies": { + "pants.jvm.goals.lockfile.ValidateJvmArtifactsForResolveResult": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.awslambda.python", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.google_cloud_function.python", - "pants.backend.python" + "pants.backend.experimental.java" ], - "dependents": ["pants.backend.python", "pants.backend.shell"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "Sentinel type that represents that a backend is satisfied with the artifacts for a JVM\nresolve.", "is_union": false, - "module": "pants.core.goals.test", - "name": "BuiltPackageDependencies", - "provider": "pants.core", + "module": "pants.jvm.goals.lockfile", + "name": "ValidateJvmArtifactsForResolveResult", + "provider": "pants.backend.experimental.scala", "returned_by_rules": [ - "pants.core.goals.test.build_runtime_package_dependencies" + "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.setup_runtime_packages", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target" + "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve" ] }, - "pants.core.goals.test.CoverageDataCollection": { - "consumed_by_rules": [], + "pants.jvm.goals.lockfile._ValidateJvmArtifactsRequest": { + "consumed_by_rules": [ + "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve" + ], "dependencies": [], - "dependents": ["pants.backend.experimental.go", "pants.backend.python"], - "documentation": null, - "is_union": true, - "module": "pants.core.goals.test", - "name": "CoverageDataCollection", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "GoCoverageDataCollection", - "PytestCoverageDataCollection" + "dependents": [ + "pants.backend.experimental.java" ], + "documentation": "_ValidateJvmArtifactsRequest(artifacts: 'ArtifactRequirements', resolve_name: 'str')", + "is_union": false, + "module": "pants.jvm.goals.lockfile", + "name": "_ValidateJvmArtifactsRequest", + "provider": "pants.jvm.goals.lockfile", + "returned_by_rules": [], + "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.test.run_tests"] + "used_in_rules": [ + "pants.jvm.goals.lockfile.setup_user_lockfile_requests" + ] }, - "pants.core.goals.test.CoverageReports": { - "consumed_by_rules": [], + "pants.jvm.jar_tool.jar_tool.JarToolCompiledClassfiles": { + "consumed_by_rules": [ + "pants.jvm.jar_tool.jar_tool.run_jar_tool" + ], "dependencies": [ "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.process", - "pants.option.global_options" + "pants.engine.fs" ], - "dependents": ["pants.core"], - "documentation": "CoverageReports(reports: 'tuple[CoverageReport, ...]')", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JarToolCompiledClassfiles(digest: 'Digest')", "is_union": false, - "module": "pants.core.goals.test", - "name": "CoverageReports", - "provider": "pants.backend.experimental.go, pants.backend.python", + "module": "pants.jvm.jar_tool.jar_tool", + "name": "JarToolCompiledClassfiles", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports", - "pants.backend.python.goals.coverage_py.generate_coverage_reports" + "pants.jvm.jar_tool.jar_tool.build_jar_tool" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.test.run_tests"] + "used_in_rules": [] }, - "pants.core.goals.test.PartitionRequest": { + "pants.jvm.jar_tool.jar_tool.JarToolGenerateLockfileSentinel": { "consumed_by_rules": [ - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest" + "pants.jvm.jar_tool.jar_tool.generate_jartool_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.scala"], "documentation": null, - "is_union": true, - "module": "pants.core.goals.test", - "name": "PartitionRequest", - "provider": "pants.backend.experimental.scala", + "is_union": false, + "module": "pants.jvm.jar_tool.jar_tool", + "name": "JarToolGenerateLockfileSentinel", + "provider": "pants.backend.experimental.java, pants.jvm.jar_tool.jar_tool", "returned_by_rules": [], "union_members": [], - "union_type": "PartitionRequest", - "used_in_rules": [] + "union_type": "GenerateToolLockfileSentinel", + "used_in_rules": [ + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.jar_tool.jar_tool.run_jar_tool" + ] }, - "pants.core.goals.test.Test": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "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", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.yamllint", - "pants.backend.project_info", - "pants.backend.python", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble", - "pants.engine.console", - "pants.engine.desktop", - "pants.engine.environment", - "pants.engine.fs", - "pants.engine.internals.session", - "pants.engine.process", - "pants.engine.target", - "pants.engine.unions" + "pants.jvm.jar_tool.jar_tool.JarToolRequest": { + "consumed_by_rules": [ + "pants.jvm.jar_tool.jar_tool.run_jar_tool" ], - "dependents": [], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JarToolRequest(*, jar_name: 'str', digest: 'Digest', main_class: 'str | None' = None, classpath_entries: 'Iterable[str] | None' = None, manifest: 'str | None' = None, jars: 'Iterable[str] | None' = None, file_mappings: 'Mapping[str, str] | None' = None, default_action: 'JarDuplicateAction | None' = None, policies: 'Iterable[tuple[str, str | JarDuplicateAction]] | None' = None, skip: 'Iterable[str] | None' = None, compress: 'bool' = False, update: 'bool' = False) -> 'None'", "is_union": false, - "module": "pants.core.goals.test", - "name": "Test", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.test.run_tests"], + "module": "pants.jvm.jar_tool.jar_tool", + "name": "JarToolRequest", + "provider": "pants.jvm.jar_tool.jar_tool", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.jvm.package.deploy_jar.package_deploy_jar" + ] }, - "pants.core.goals.test.TestDebugAdapterRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": ["pants.core"], - "documentation": "Like TestDebugRequest, but launches the test process using the relevant Debug Adapter server.\n\nThe process should be launched waiting for the client to connect.", + "pants.jvm.jdk_rules.InternalJdk": { + "consumed_by_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "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.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.dependency_inference.scala_parser.analyze_scala_source_dependencies", + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", + "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.jar_tool.jar_tool.run_jar_tool", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt" + ], + "documentation": "The JDK configured for internal Pants usage, rather than for matching source compatibility.\n\nThe InternalJdk should only be used in situations where no classfiles are required for a user's\nfirstparty or thirdparty code (such as for codegen, or analysis of source files).", "is_union": false, - "module": "pants.core.goals.test", - "name": "TestDebugAdapterRequest", - "provider": "pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", + "module": "pants.jvm.jdk_rules", + "name": "InternalJdk", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_GoTestRequest", - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_HelmUnitTestRequest", - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JunitTestRequest", - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ScalatestTestRequest", - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ShellTestRequest", - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_Shunit2TestRequest" + "pants.jvm.jdk_rules.internal_jdk" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.test.run_tests"] + "used_in_rules": [] }, - "pants.core.goals.test.TestDebugRequest": { + "pants.jvm.jdk_rules.JdkEnvironment": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.docker", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.terraform", + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.process" + "pants.engine.process", + "pants.jvm.jdk_rules" ], - "dependents": ["pants.core"], - "documentation": "TestDebugRequest(process: 'InteractiveProcess')", + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.scala" + ], + "documentation": "JdkEnvironment(_digest: 'Digest', nailgun_jar: 'str', coursier: 'Coursier', jre_major_version: 'int', global_jvm_options: 'tuple[str, ...]', java_home_command: 'str')", "is_union": false, - "module": "pants.core.goals.test", - "name": "TestDebugRequest", - "provider": "pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", + "module": "pants.jvm.jdk_rules", + "name": "JdkEnvironment", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.backend.python.goals.pytest_runner.debug_python_test", - "pants.backend.scala.test.scalatest.setup_scalatest_debug_request", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test", - "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_GoTestRequest", - "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_HelmUnitTestRequest", - "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_ShellTestRequest", - "pants.jvm.test.junit.setup_junit_debug_request" + "pants.jvm.jdk_rules.prepare_jdk_environment" ], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.test.run_tests"] - }, - "pants.core.goals.test.TestExtraEnv": { - "consumed_by_rules": [ - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "used_in_rules": [ + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.goals.repl.create_scala_repl_request", "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.backend.shell.goals.test.test_shell_command", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "pants.jvm.jdk_rules.internal_jdk", + "pants.jvm.run.create_run_request", + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", "pants.jvm.test.junit.setup_junit_for_target" + ] + }, + "pants.jvm.jdk_rules.JdkRequest": { + "consumed_by_rules": [ + "pants.jvm.jdk_rules.prepare_jdk_environment" ], - "dependencies": ["pants.engine.env_vars"], + "dependencies": [], "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell" + "pants.backend.experimental.java" ], - "documentation": "TestExtraEnv(env: 'EnvironmentVars')", + "documentation": "Request for a JDK with a specific major version, or a default (`--jvm-jdk` or System).", "is_union": false, - "module": "pants.core.goals.test", - "name": "TestExtraEnv", - "provider": "pants.core", - "returned_by_rules": ["pants.core.goals.test.get_filtered_environment"], + "module": "pants.jvm.jdk_rules", + "name": "JdkRequest", + "provider": "pants.jvm.jdk_rules", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.goals.repl.create_scala_repl_request", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.jvm.jdk_rules.internal_jdk", + "pants.jvm.run.create_run_request", + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", + "pants.jvm.test.junit.setup_junit_for_target" + ] }, - "pants.core.goals.test.TestFieldSet": { - "consumed_by_rules": [], + "pants.jvm.jdk_rules.JvmProcess": { + "consumed_by_rules": [ + "pants.jvm.jdk_rules.jvm_process" + ], "dependencies": [], "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell" + "pants.backend.experimental.java" ], - "documentation": "The fields necessary to run tests on a target.", - "is_union": true, - "module": "pants.core.goals.test", - "name": "TestFieldSet", - "provider": "pants.core", + "documentation": "JvmProcess(jdk: 'JdkEnvironment', argv: 'Iterable[str]', classpath_entries: 'Iterable[str]', input_digest: 'Digest', description: 'str', level: 'LogLevel' = , extra_jvm_options: 'Iterable[str] | None' = None, extra_nailgun_keys: 'Iterable[str] | None' = None, output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, extra_immutable_input_digests: 'Mapping[str, Digest] | None' = None, extra_env: 'Mapping[str, str] | None' = None, timeout_seconds: 'int | float | None' = None, cache_scope: 'ProcessCacheScope | None' = None, use_nailgun: 'bool' = True, remote_cache_speculation_delay: 'int | None' = None)", + "is_union": false, + "module": "pants.jvm.jdk_rules", + "name": "JvmProcess", + "provider": "pants.jvm.jdk_rules", "returned_by_rules": [], - "union_members": [ - "GoTestFieldSet", - "HelmUnitTestFieldSet", - "JunitTestFieldSet", - "PythonTestFieldSet", - "ScalatestTestFieldSet", - "Shunit2FieldSet", - "TestShellCommandFieldSet" - ], + "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "pants.backend.java.compile.javac.compile_java_source", + "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.compile.scalac.compile_scala_source", + "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.lint.scalafmt.rules.scalafmt_fmt", + "pants.backend.scala.test.scalatest.run_scalatest_test", + "pants.backend.scala.test.scalatest.setup_scalatest_debug_request", + "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "pants.jvm.jar_tool.jar_tool.run_jar_tool", + "pants.jvm.run.create_run_request", + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar", + "pants.jvm.test.junit.run_junit_test", + "pants.jvm.test.junit.setup_junit_debug_request" + ] }, - "pants.core.goals.test.TestRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", + "pants.jvm.jdk_rules.Nailgun": { + "consumed_by_rules": [ + "pants.jvm.jdk_rules.prepare_jdk_environment" + ], + "dependencies": [ "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell" + "pants.jvm.compile" ], - "documentation": "Base class for plugin types wanting to be run as part of `test`.\n\nPlugins should define a new type which subclasses this type, and set the\nappropriate class variables.\nE.g.\n class DryCleaningRequest(TestRequest):\n tool_subsystem = DryCleaningSubsystem\n field_set_type = DryCleaningFieldSet\n\nThen register the rules which tell Pants about your plugin.\nE.g.\n def rules():\n return [\n *collect_rules(),\n *DryCleaningRequest.rules(),\n ]", - "is_union": true, - "module": "pants.core.goals.test", - "name": "TestRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "GoTestRequest", - "HelmUnitTestRequest", - "JunitTestRequest", - "PyTestRequest", - "ScalatestTestRequest", - "ShellTestRequest", - "Shunit2TestRequest" + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "Nailgun(classpath_entry: 'ClasspathEntry')", + "is_union": false, + "module": "pants.jvm.jdk_rules", + "name": "Nailgun", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.jdk_rules.fetch_nailgun" ], + "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.goals.test.TestResult": { - "consumed_by_rules": [], + "pants.jvm.non_jvm_dependencies.NoopClasspathEntryRequest": { + "consumed_by_rules": [ + "pants.jvm.non_jvm_dependencies.noop_classpath_entry" + ], "dependencies": [ - "builtins", - "pants.backend.docker", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.terraform", - "pants.core", - "pants.engine.env_vars", - "pants.engine.process" + "pants.jvm.compile" ], - "dependents": ["pants.core"], - "documentation": "TestResult(exit_code: 'int | None', stdout_bytes: 'bytes', stdout_digest: 'FileDigest', stderr_bytes: 'bytes', stderr_digest: 'FileDigest', addresses: 'tuple[Address, ...]', output_setting: 'ShowOutput', result_metadata: 'ProcessResultMetadata | None', partition_description: 'str | None' = None, coverage_data: 'CoverageData | None' = None, xml_results: 'Snapshot | None' = None, extra_output: 'Snapshot | None' = None, log_extra_output: 'bool' = False, process_results: 'Tuple[FallibleProcessResult, ...]' = , output_simplifier: 'Simplifier' = Simplifier(strip_chroot_path=True, strip_formatting=False))", - "is_union": false, - "module": "pants.core.goals.test", - "name": "TestResult", - "provider": "pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", - "returned_by_rules": [ - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.helm.test.unittest.run_helm_unittest", - "pants.backend.python.goals.pytest_runner.run_python_tests", - "pants.backend.scala.test.scalatest.run_scalatest_test", - "pants.backend.shell.goals.test.test_shell_command", - "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", - "pants.jvm.test.junit.run_junit_test" + "dependents": [ + "pants.backend.experimental.openapi.codegen.java" ], + "documentation": null, + "is_union": false, + "module": "pants.jvm.non_jvm_dependencies", + "name": "NoopClasspathEntryRequest", + "provider": "pants.backend.experimental.openapi.codegen.java", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.goals.test.run_tests"] + "union_type": "ClasspathEntryRequest", + "used_in_rules": [] }, - "pants.core.goals.test.TestSubsystem": { + "pants.jvm.package.deploy_jar.DeployJarClasspathEntryRequest": { "consumed_by_rules": [ - "construct_env_aware_scope_test", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.helm.test.unittest.run_helm_unittest", - "pants.backend.python.goals.pytest_runner.run_python_tests", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.scala.test.scalatest.run_scalatest_test", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.backend.shell.goals.test.test_shell_command", - "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.core.goals.test.run_tests", - "pants.jvm.test.junit.run_junit_test", - "pants.jvm.test.junit.setup_junit_for_target" + "pants.jvm.package.deploy_jar.deploy_jar_classpath" + ], + "dependencies": [ + "pants.jvm.compile" ], - "dependencies": ["pants.option.scope"], "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell", - "pants.core" + "pants.backend.experimental.java" ], "documentation": null, "is_union": false, - "module": "pants.core.goals.test", - "name": "TestSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_test"], + "module": "pants.jvm.package.deploy_jar", + "name": "DeployJarClasspathEntryRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "ClasspathEntryRequest", "used_in_rules": [] }, - "pants.core.goals.update_build_files.FormatWithBlackRequest": { + "pants.jvm.package.deploy_jar.DeployJarFieldSet": { "consumed_by_rules": [ - "pants.core.goals.update_build_files.format_build_file_with_black" + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DeployJarFieldSet", + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request" + ], + "dependencies": [ + "pants.core" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "DeployJarFieldSet(address: 'Address', main_class: pants.jvm.target_types.JvmMainClassNameField, output_path: pants.core.goals.package.OutputPathField, dependencies: pants.jvm.target_types.JvmDependenciesField, jdk_version: pants.jvm.target_types.JvmJdkField, duplicate_policy: pants.jvm.target_types.DeployJarDuplicatePolicyField, shading_rules: pants.jvm.target_types.DeployJarShadingRulesField, exclude_files: pants.jvm.target_types.DeployJarExcludeFilesField)", "is_union": false, - "module": "pants.core.goals.update_build_files", - "name": "FormatWithBlackRequest", - "provider": "pants.core", + "module": "pants.jvm.package.deploy_jar", + "name": "DeployJarFieldSet", + "provider": "pants.backend.experimental.java, pants.jvm.package.deploy_jar", "returned_by_rules": [], "union_members": [], - "union_type": "RewrittenBuildFileRequest", - "used_in_rules": [] + "union_type": "PackageFieldSet", + "used_in_rules": [ + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request" + ] }, - "pants.core.goals.update_build_files.FormatWithYapfRequest": { + "pants.jvm.package.war.PackageWarFileFieldSet": { "consumed_by_rules": [ - "pants.core.goals.update_build_files.format_build_file_with_yapf" + "pants.jvm.package.war.package_war" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": null, + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "PackageWarFileFieldSet(address: 'Address', output_path: 'OutputPathField', dependencies: 'JvmWarDependenciesField', descriptor: 'JvmWarDescriptorAddressField', content: 'JvmWarContentField', shading_rules: 'JvmWarShadingRulesField')", "is_union": false, - "module": "pants.core.goals.update_build_files", - "name": "FormatWithYapfRequest", - "provider": "pants.core", + "module": "pants.jvm.package.war", + "name": "PackageWarFileFieldSet", + "provider": "pants.backend.experimental.java", "returned_by_rules": [], "union_members": [], - "union_type": "RewrittenBuildFileRequest", + "union_type": "PackageFieldSet", "used_in_rules": [] }, - "pants.core.goals.update_build_files.RenameDeprecatedFieldsRequest": { + "pants.jvm.package.war.RenderWarContentRequest": { "consumed_by_rules": [ - "pants.core.goals.update_build_files.maybe_rename_deprecated_fields" + "pants.jvm.package.war.render_war_content" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "RenderWarContentRequest(content: 'JvmWarContentField')", "is_union": false, - "module": "pants.core.goals.update_build_files", - "name": "RenameDeprecatedFieldsRequest", - "provider": "pants.core", + "module": "pants.jvm.package.war", + "name": "RenderWarContentRequest", + "provider": "pants.jvm.package.war", "returned_by_rules": [], "union_members": [], - "union_type": "RewrittenBuildFileRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.jvm.package.war.package_war" + ] }, - "pants.core.goals.update_build_files.RenameDeprecatedTargetsRequest": { + "pants.jvm.package.war.RenderWarDeploymentDescriptorRequest": { "consumed_by_rules": [ - "pants.core.goals.update_build_files.maybe_rename_deprecated_targets" + "pants.jvm.package.war.render_war_deployment_descriptor" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "RenderWarDeploymentDescriptorRequest(descriptor: 'JvmWarDescriptorAddressField', owning_address: 'Address')", "is_union": false, - "module": "pants.core.goals.update_build_files", - "name": "RenameDeprecatedTargetsRequest", - "provider": "pants.core", + "module": "pants.jvm.package.war", + "name": "RenderWarDeploymentDescriptorRequest", + "provider": "pants.jvm.package.war", "returned_by_rules": [], "union_members": [], - "union_type": "RewrittenBuildFileRequest", - "used_in_rules": [] + "union_type": null, + "used_in_rules": [ + "pants.jvm.package.war.package_war" + ] }, - "pants.core.goals.update_build_files.RewrittenBuildFile": { + "pants.jvm.package.war.RenderedWarContent": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.python", - "pants.engine.fs" + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.addresses", + "pants.jvm.package.war" ], - "dependents": ["pants.core"], - "documentation": "RewrittenBuildFile(path: 'str', lines: 'tuple[str, ...]', change_descriptions: 'tuple[str, ...]')", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "RenderedWarContent(digest: 'Digest')", "is_union": false, - "module": "pants.core.goals.update_build_files", - "name": "RewrittenBuildFile", - "provider": "pants.core", + "module": "pants.jvm.package.war", + "name": "RenderedWarContent", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf", - "pants.core.goals.update_build_files.maybe_rename_deprecated_fields", - "pants.core.goals.update_build_files.maybe_rename_deprecated_targets" + "pants.jvm.package.war.render_war_content" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.goals.update_build_files.update_build_files" - ] - }, - "pants.core.goals.update_build_files.RewrittenBuildFileRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "RewrittenBuildFileRequest(path: 'str', lines: 'tuple[str, ...]', colors_enabled: 'bool')", - "is_union": true, - "module": "pants.core.goals.update_build_files", - "name": "RewrittenBuildFileRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [ - "FormatWithBlackRequest", - "FormatWithYapfRequest", - "RenameDeprecatedFieldsRequest", - "RenameDeprecatedTargetsRequest" - ], - "union_type": null, - "used_in_rules": [ - "pants.core.goals.update_build_files.update_build_files" + "pants.jvm.package.war.package_war" ] }, - "pants.core.goals.update_build_files.UpdateBuildFilesGoal": { + "pants.jvm.package.war.RenderedWarDeploymentDescriptor": { "consumed_by_rules": [], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.base.specs", - "pants.engine.console", + "pants.backend.url_handlers.s3", + "pants.core", "pants.engine.fs", - "pants.engine.internals.build_files", - "pants.engine.unions" + "pants.jvm.package.war" ], - "dependents": [], - "documentation": null, + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "RenderedWarDeploymentDescriptor(digest: 'Digest')", "is_union": false, - "module": "pants.core.goals.update_build_files", - "name": "UpdateBuildFilesGoal", - "provider": "pants.core", + "module": "pants.jvm.package.war", + "name": "RenderedWarDeploymentDescriptor", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.goals.update_build_files.update_build_files" + "pants.jvm.package.war.render_war_deployment_descriptor" ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.jvm.package.war.package_war" + ] }, - "pants.core.goals.update_build_files.UpdateBuildFilesSubsystem": { + "pants.jvm.resolve.common.ArtifactRequirements": { "consumed_by_rules": [ - "pants.core.goals.update_build_files.update_build_files" + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", + "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.java" + ], + "documentation": "An ordered list of Coordinates used as requirements.", "is_union": false, - "module": "pants.core.goals.update_build_files", - "name": "UpdateBuildFilesSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_update_build_files"], + "module": "pants.jvm.resolve.common", + "name": "ArtifactRequirements", + "provider": "pants.backend.experimental.java, pants.jvm.resolve.common", + "returned_by_rules": [ + "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", + "pants.jvm.goals.lockfile.generate_jvm_lockfile", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", + "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool" + ] }, - "pants.core.subsystems.debug_adapter.DebugAdapterSubsystem": { + "pants.jvm.resolve.common.GatherJvmCoordinatesRequest": { "consumed_by_rules": [ - "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", - "pants.core.goals.run.run", - "pants.core.goals.test.run_tests" + "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.python", "pants.core"], - "documentation": null, + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "A request to turn strings of coordinates (`group:artifact:version`) and/or addresses to\n`jvm_artifact` targets into `ArtifactRequirements`.", "is_union": false, - "module": "pants.core.subsystems.debug_adapter", - "name": "DebugAdapterSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_debug_adapter"], + "module": "pants.jvm.resolve.common", + "name": "GatherJvmCoordinatesRequest", + "provider": "pants.jvm.resolve.common", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", + "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool" + ] }, - "pants.core.subsystems.python_bootstrap.EnvironmentAware": { + "pants.jvm.resolve.coursier_fetch.CoursierFetchRequest": { "consumed_by_rules": [ - "pants.core.subsystems.python_bootstrap.python_bootstrap" + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier" + ], + "dependencies": [ + "pants.jvm.compile" + ], + "dependents": [ + "pants.backend.experimental.java" ], - "dependencies": ["pants.engine.env_vars"], - "dependents": ["pants.core"], "documentation": null, "is_union": false, - "module": "pants.core.subsystems.python_bootstrap", - "name": "EnvironmentAware", - "provider": "pants.core", - "returned_by_rules": ["construct_env_aware_scope_python_bootstrap"], + "module": "pants.jvm.resolve.coursier_fetch", + "name": "CoursierFetchRequest", + "provider": "pants.backend.experimental.java, pants.jvm.resolve.coursier_fetch", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [] + "union_type": "ClasspathEntryRequest", + "used_in_rules": [ + "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", + "pants.backend.scala.compile.scalac_plugins.fetch_plugins" + ] }, - "pants.core.subsystems.python_bootstrap.PythonBootstrap": { + "pants.jvm.resolve.coursier_fetch.CoursierLockfileEntry": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_environment.find_pex_python" + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "PythonBootstrap(interpreter_names: 'tuple[str, ...]', interpreter_search_paths: 'tuple[str, ...]')", - "is_union": false, - "module": "pants.core.subsystems.python_bootstrap", - "name": "PythonBootstrap", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.subsystems.python_bootstrap.python_bootstrap" + "dependents": [ + "pants.backend.experimental.java" ], + "documentation": "A single artifact entry from a Coursier-resolved lockfile.\n\nThese fields are nearly identical to the JSON objects from the\n\"dependencies\" entries in Coursier's --json-output-file format.\nBut unlike Coursier's JSON report, a CoursierLockfileEntry\nincludes the content-address of the artifact fetched by Coursier\nand ingested by Pants.\n\nFor example, a Coursier JSON report dependency entry might look like this:\n\n```\n{\n \"coord\": \"com.chuusai:shapeless_2.13:2.3.3\",\n \"file\": \"/home/USER/.cache/coursier/v1/https/repo1.maven.org/maven2/com/chuusai/shapeless_2.13/2.3.3/shapeless_2.13-2.3.3.jar\",\n \"directDependencies\": [\n \"org.scala-lang:scala-library:2.13.0\"\n ],\n \"dependencies\": [\n \"org.scala-lang:scala-library:2.13.0\"\n ]\n}\n```\n\nThe equivalent CoursierLockfileEntry would look like this:\n\n```\nCoursierLockfileEntry(\n coord=\"com.chuusai:shapeless_2.13:2.3.3\", # identical\n file_name=\"shapeless_2.13-2.3.3.jar\" # PurePath(entry[\"file\"].name)\n direct_dependencies=(Coordinate.from_coord_str(\"org.scala-lang:scala-library:2.13.0\"),),\n dependencies=(Coordinate.from_coord_str(\"org.scala-lang:scala-library:2.13.0\"),),\n file_digest=FileDigest(fingerprint=, ...),\n)\n```\n\nThe fields `remote_url` and `pants_address` are set by Pants if the `coord` field matches a\n`jvm_artifact` that had either the `url` or `jar` fields set.", + "is_union": false, + "module": "pants.jvm.resolve.coursier_fetch", + "name": "CoursierLockfileEntry", + "provider": "pants.jvm.resolve.coursier_fetch", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.jvm.jdk_rules.fetch_nailgun", + "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile", + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier" + ] }, - "pants.core.subsystems.python_bootstrap.PythonBootstrapSubsystem": { - "consumed_by_rules": [ - "construct_env_aware_scope_python_bootstrap", - "pants.core.util_rules.adhoc_binaries.download_python_binary" + "pants.jvm.resolve.coursier_fetch.CoursierResolveInfo": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.jvm.resolve.common" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "CoursierResolveInfo(coord_arg_strings: 'FrozenSet[str]', extra_args: 'tuple[str, ...]', digest: 'Digest')", "is_union": false, - "module": "pants.core.subsystems.python_bootstrap", - "name": "PythonBootstrapSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_python_bootstrap"], + "module": "pants.jvm.resolve.coursier_fetch", + "name": "CoursierResolveInfo", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile" + ] }, - "pants.core.subsystems.python_bootstrap._ExpandInterpreterSearchPathsRequest": { + "pants.jvm.resolve.coursier_fetch.CoursierResolvedLockfile": { "consumed_by_rules": [ - "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" + "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "_ExpandInterpreterSearchPathsRequest(interpreter_search_paths: 'Collection[str]', env_tgt: 'EnvironmentTarget')", + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.fs", + "pants.jvm.resolve.common", + "pants.jvm.resolve.key" + ], + "dependents": [ + "pants.backend.experimental.java", + "pants.backend.experimental.scala" + ], + "documentation": "An in-memory representation of Pants' Coursier lockfile format.\n\nAll coordinates in the resolved lockfile will be compatible, so we do not need to do version\ntesting when looking up coordinates.", "is_union": false, - "module": "pants.core.subsystems.python_bootstrap", - "name": "_ExpandInterpreterSearchPathsRequest", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.jvm.resolve.coursier_fetch", + "name": "CoursierResolvedLockfile", + "provider": "pants.backend.experimental.java, pants.jvm.resolve.coursier_fetch", + "returned_by_rules": [ + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", + "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.subsystems.python_bootstrap.python_bootstrap" + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.jvm.goals.lockfile.generate_jvm_lockfile", + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" ] }, - "pants.core.subsystems.python_bootstrap._SearchPaths": { + "pants.jvm.resolve.coursier_fetch.ResolvedClasspathEntries": { "consumed_by_rules": [], - "dependencies": ["pants.engine.env_vars"], - "dependents": ["pants.core"], - "documentation": "_SearchPaths(paths: 'tuple[str, ...]')", + "dependencies": [ + "pants.backend.experimental.scala", + "pants.jvm.compile", + "pants.jvm.resolve.coursier_fetch" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "A collection of resolved classpath entries.", "is_union": false, - "module": "pants.core.subsystems.python_bootstrap", - "name": "_SearchPaths", - "provider": "pants.core", + "module": "pants.jvm.resolve.coursier_fetch", + "name": "ResolvedClasspathEntries", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" + "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.subsystems.python_bootstrap.python_bootstrap" + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" ] }, - "pants.core.target_types.AllAssetTargets": { - "consumed_by_rules": ["pants.core.target_types.map_assets_by_path"], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.core"], - "documentation": "AllAssetTargets(resources: 'tuple[Target, ...]', files: 'tuple[Target, ...]')", + "pants.jvm.resolve.coursier_fetch.ToolClasspath": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.jvm.resolve.common", + "pants.jvm.resolve.coursier_fetch" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt" + ], + "documentation": "A fully fetched and merged classpath for running a JVM tool.", "is_union": false, - "module": "pants.core.target_types", - "name": "AllAssetTargets", - "provider": "pants.core", - "returned_by_rules": ["pants.core.target_types.find_all_assets"], + "module": "pants.jvm.resolve.coursier_fetch", + "name": "ToolClasspath", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" + ], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "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", + "pants.backend.scala.compile.scalac.fetch_scala_library", + "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.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", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar", + "pants.jvm.test.junit.setup_junit_for_target" + ] }, - "pants.core.target_types.AllAssetTargetsByPath": { + "pants.jvm.resolve.coursier_fetch.ToolClasspathRequest": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests" + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" ], "dependencies": [], - "dependents": ["pants.backend.experimental.helm", "pants.backend.python"], - "documentation": "AllAssetTargetsByPath(resources: 'FrozenDict[PurePath, frozenset[Target]]', files: 'FrozenDict[PurePath, frozenset[Target]]')", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "A request to set up the classpath for a JVM tool by fetching artifacts and merging the\nclasspath.\n\n:param prefix: if set, should be a relative directory that will\n be prepended to every classpath element. This is useful for\n keeping all classpath elements isolated under a single directory\n in a process invocation, where other inputs on the process's\n root directory might interfere with un-prefixed classpath\n entries (or vice versa).", "is_union": false, - "module": "pants.core.target_types", - "name": "AllAssetTargetsByPath", - "provider": "pants.core", - "returned_by_rules": ["pants.core.target_types.map_assets_by_path"], + "module": "pants.jvm.resolve.coursier_fetch", + "name": "ToolClasspathRequest", + "provider": "pants.jvm.resolve.coursier_fetch", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies" + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "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", + "pants.backend.scala.compile.scalac.fetch_scala_library", + "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.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", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar", + "pants.jvm.test.junit.setup_junit_for_target" ] }, - "pants.core.target_types.ArchiveFieldSet": { - "consumed_by_rules": ["pants.core.target_types.package_archive_target"], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "ArchiveFieldSet(address: 'Address', packages: 'ArchivePackagesField', files: 'ArchiveFilesField', format_field: 'ArchiveFormatField', output_path: 'OutputPathField')", - "is_union": false, - "module": "pants.core.target_types", - "name": "ArchiveFieldSet", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": "PackageFieldSet", - "used_in_rules": [] - }, - "pants.core.target_types.GenerateFileSourceRequest": { - "consumed_by_rules": ["pants.core.target_types.hydrate_file_source"], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.target_types", - "name": "GenerateFileSourceRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateSourcesRequest", - "used_in_rules": [] - }, - "pants.core.target_types.GenerateResourceSourceRequest": { - "consumed_by_rules": ["pants.core.target_types.hydrate_resource_source"], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.target_types", - "name": "GenerateResourceSourceRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateSourcesRequest", - "used_in_rules": [] - }, - "pants.core.target_types.RelocateFilesViaCodegenRequest": { - "consumed_by_rules": ["pants.core.target_types.relocate_files"], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.core"], - "documentation": null, + "pants.jvm.resolve.coursier_setup.Coursier": { + "consumed_by_rules": [ + "pants.jvm.jdk_rules.prepare_jdk_environment", + "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper" + ], + "dependencies": [ + "builtins", + "pants.backend.experimental.go", + "pants.backend.experimental.helm", + "pants.backend.experimental.javascript", + "pants.backend.url_handlers.s3", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "The Coursier tool and various utilities, prepared for use via `immutable_input_digests`.", "is_union": false, - "module": "pants.core.target_types", - "name": "RelocateFilesViaCodegenRequest", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.jvm.resolve.coursier_setup", + "name": "Coursier", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [ + "pants.jvm.resolve.coursier_setup.setup_coursier" + ], "union_members": [], - "union_type": "GenerateSourcesRequest", + "union_type": null, "used_in_rules": [] }, - "pants.core.util_rules.adhoc_binaries.GunzipBinary": { + "pants.jvm.resolve.coursier_setup.CoursierFetchProcess": { "consumed_by_rules": [ - "pants.core.util_rules.adhoc_binaries.find_gunzip_wrapper" + "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "GunzipBinary(python_binary: 'PythonBuildStandaloneBinary')", - "is_union": false, - "module": "pants.core.util_rules.adhoc_binaries", - "name": "GunzipBinary", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.adhoc_binaries.find_gunzip", - "pants.core.util_rules.adhoc_binaries.find_gunzip_wrapper" + "dependents": [ + "pants.backend.experimental.java" ], + "documentation": "CoursierFetchProcess(args: 'Tuple[str, ...]', input_digest: 'Digest', output_directories: 'Tuple[str, ...]', output_files: 'Tuple[str, ...]', description: 'str')", + "is_union": false, + "module": "pants.jvm.resolve.coursier_setup", + "name": "CoursierFetchProcess", + "provider": "pants.jvm.resolve.coursier_setup", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.util_rules.archive.maybe_extract_archive"] + "used_in_rules": [ + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile" + ] }, - "pants.core.util_rules.adhoc_binaries.PythonBuildStandaloneBinary": { + "pants.jvm.resolve.coursier_setup.CoursierSubsystem": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", - "pants.backend.python.util_rules.pex_environment.find_pex_python", - "pants.core.util_rules.adhoc_binaries.find_gunzip", "pants.jvm.resolve.coursier_setup.setup_coursier" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java", "pants.core"], - "documentation": "A Python interpreter for use by `@rule` code as an alternative to BashBinary scripts.\n\nThis interpreter is provided by Python Build Standalone https://gregoryszorc.com/docs/python-build-standalone/main/,\nwhich has a few caveats. Namely it doesn't play nicely with third-party sdists. Meaning Pants'\nscripts being run by Python Build Standalone should avoid third-party sdists.", + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.adhoc_binaries", - "name": "PythonBuildStandaloneBinary", - "provider": "pants.core", + "module": "pants.jvm.resolve.coursier_setup", + "name": "CoursierSubsystem", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.util_rules.adhoc_binaries.get_python_for_scripts" + "construct_scope_coursier" ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.util_rules.adhoc_binaries._DownloadPythonBuildStandaloneBinaryRequest": { + "pants.jvm.resolve.jvm_tool.GenerateJvmLockfileFromTool": { "consumed_by_rules": [ - "pants.core.util_rules.adhoc_binaries.download_python_binary" + "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": null, + "dependencies": [ + "pants.backend.codegen.avro.java.rules", + "pants.backend.codegen.protobuf.java.rules", + "pants.backend.codegen.protobuf.scala.rules", + "pants.backend.codegen.thrift.scrooge.rules", + "pants.backend.java.dependency_inference.java_parser", + "pants.backend.java.lint.google_java_format.rules", + "pants.backend.kotlin.dependency_inference.kotlin_parser", + "pants.backend.kotlin.lint.ktlint.rules", + "pants.backend.openapi.subsystems.openapi_generator", + "pants.backend.scala.dependency_inference.scala_parser", + "pants.backend.scala.lint.scalafmt.rules", + "pants.backend.scala.test.scalatest", + "pants.jvm.jar_tool.jar_tool", + "pants.jvm.shading.jarjar", + "pants.jvm.strip_jar.strip_jar", + "pants.jvm.test.junit" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt" + ], + "documentation": "Create a `GenerateJvmLockfile` request for a JVM tool.\n\nWe allow tools to either use coordinates or addresses to `jvm_artifact` targets for the artifact\ninputs. This is a convenience to parse those artifact inputs to create a standardized\n`GenerateJvmLockfile`.", "is_union": false, - "module": "pants.core.util_rules.adhoc_binaries", - "name": "_DownloadPythonBuildStandaloneBinaryRequest", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.jvm.resolve.jvm_tool", + "name": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.codegen.avro.java, pants.backend.experimental.codegen.protobuf.java, pants.backend.experimental.codegen.protobuf.scala, pants.backend.experimental.codegen.thrift.scrooge.java, pants.backend.experimental.java, pants.backend.experimental.java.lint.google_java_format, pants.backend.experimental.kotlin, pants.backend.experimental.kotlin.lint.ktlint, pants.backend.experimental.openapi.codegen.java, pants.backend.experimental.scala, pants.backend.experimental.scala.lint.scalafmt", + "returned_by_rules": [ + "pants.backend.codegen.avro.java.rules.generate_avro_tools_lockfile_request", + "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request", + "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_lockfile_request", + "pants.backend.java.dependency_inference.java_parser.generate_java_parser_lockfile_request", + "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request", + "pants.backend.kotlin.dependency_inference.kotlin_parser.generate_kotlin_parser_lockfile_request", + "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request", + "pants.backend.openapi.subsystems.openapi_generator.generate_openapi_generator_lockfile_request", + "pants.backend.scala.dependency_inference.scala_parser.generate_scala_parser_lockfile_request", + "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request", + "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request", + "pants.jvm.jar_tool.jar_tool.generate_jartool_lockfile_request", + "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request", + "pants.jvm.strip_jar.strip_jar.generate_strip_jar_lockfile_request", + "pants.jvm.test.junit.generate_junit_lockfile_request" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.util_rules.adhoc_binaries.get_python_for_scripts" + "pants.backend.codegen.avro.java.rules.compile_avro_source", + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "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.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.dependency_inference.scala_parser.analyze_scala_source_dependencies", + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", + "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", + "pants.jvm.shading.rules.shade_jar", + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar", + "pants.jvm.test.junit.setup_junit_for_target" ] }, - "pants.core.util_rules.adhoc_binaries._PythonBuildStandaloneBinary": { - "consumed_by_rules": [], + "pants.jvm.resolve.key.CoursierResolveKey": { + "consumed_by_rules": [ + "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve" + ], "dependencies": [ "builtins", "pants.backend.experimental.go", "pants.backend.experimental.helm", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.target" + ], + "dependents": [ "pants.backend.experimental.java", - "pants.engine.platform" + "pants.backend.experimental.kotlin", + "pants.backend.experimental.scala" + ], + "documentation": "CoursierResolveKey(name: 'str', path: 'str', digest: 'Digest')", + "is_union": false, + "module": "pants.jvm.resolve.key", + "name": "CoursierResolveKey", + "provider": "pants.backend.experimental.java, pants.jvm.resolve.key", + "returned_by_rules": [ + "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.java.bsp.rules.bsp_java_compile_request", + "pants.backend.java.goals.check.javac_check", + "pants.backend.kotlin.goals.check.kotlinc_check", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "pants.backend.scala.goals.check.scalac_check", + "pants.jvm.classpath.classpath", + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" + ] + }, + "pants.jvm.resources.JvmResourcesRequest": { + "consumed_by_rules": [ + "pants.jvm.resources.assemble_resources_jar" + ], + "dependencies": [ + "pants.jvm.compile" + ], + "dependents": [ + "pants.backend.experimental.java" ], - "dependents": ["pants.core"], "documentation": null, "is_union": false, - "module": "pants.core.util_rules.adhoc_binaries", - "name": "_PythonBuildStandaloneBinary", - "provider": "pants.core", + "module": "pants.jvm.resources", + "name": "JvmResourcesRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "ClasspathEntryRequest", + "used_in_rules": [] + }, + "pants.jvm.shading.jarjar.JarJar": { + "consumed_by_rules": [ + "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request", + "pants.jvm.shading.rules.shade_jar" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.jvm.shading.jarjar", + "name": "JarJar", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.util_rules.adhoc_binaries.download_python_binary" + "construct_scope_jarjar" ], "union_members": [], "union_type": null, + "used_in_rules": [] + }, + "pants.jvm.shading.jarjar.JarJarGeneratorLockfileSentinel": { + "consumed_by_rules": [ + "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.jvm.shading.jarjar", + "name": "JarJarGeneratorLockfileSentinel", + "provider": "pants.backend.experimental.java, pants.jvm.shading.jarjar", + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateToolLockfileSentinel", "used_in_rules": [ - "pants.core.util_rules.adhoc_binaries.get_python_for_scripts" + "pants.jvm.shading.rules.shade_jar" ] }, - "pants.core.util_rules.adhoc_process_support.AdhocProcessRequest": { + "pants.jvm.shading.rules.ShadeJarRequest": { "consumed_by_rules": [ - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", - "pants.core.util_rules.adhoc_process_support.run_adhoc_process" + "pants.jvm.shading.rules.shade_jar" ], "dependencies": [], - "dependents": ["pants.backend.shell"], - "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, ...]', fetch_env_vars: 'tuple[str, ...]', supplied_env_var_values: 'FrozenDict[str, str] | None', log_on_process_errors: 'FrozenDict[int, str] | None', log_output: 'bool', capture_stdout_file: 'str | None', capture_stderr_file: 'str | None')", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "ShadeJarRequest(*, path: 'str | PurePath', digest: 'Digest', rules: 'Iterable[JvmShadingRule] | None' = None, skip_manifest: 'bool | None' = None, misplaced_class_strategy: 'MisplacedClassStrategy | None' = None) -> 'None'", "is_union": false, - "module": "pants.core.util_rules.adhoc_process_support", - "name": "AdhocProcessRequest", - "provider": "pants.core", + "module": "pants.jvm.shading.rules", + "name": "ShadeJarRequest", + "provider": "pants.jvm.shading.rules", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "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.core.util_rules.adhoc_process_support.run_adhoc_process" + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.package.war.package_war" ] }, - "pants.core.util_rules.adhoc_process_support.AdhocProcessResult": { + "pants.jvm.shading.rules.ShadedJar": { "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.docker", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.terraform", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", "pants.core", - "pants.engine.process" + "pants.jvm.shading.rules" ], - "dependents": ["pants.backend.experimental.adhoc", "pants.backend.shell"], - "documentation": "AdhocProcessResult(process_result: 'ProcessResult', adjusted_digest: 'Digest')", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "ShadedJar(path: 'str', digest: 'Digest')", "is_union": false, - "module": "pants.core.util_rules.adhoc_process_support", - "name": "AdhocProcessResult", - "provider": "pants.backend.shell", + "module": "pants.jvm.shading.rules", + "name": "ShadedJar", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target", - "pants.core.util_rules.adhoc_process_support.run_adhoc_process" + "pants.jvm.shading.rules.shade_jar" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target", - "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox" + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.package.war.package_war" ] }, - "pants.core.util_rules.adhoc_process_support.ExtraSandboxContents": { - "consumed_by_rules": [], + "pants.jvm.strip_jar.strip_jar.StripJarCompiledClassfiles": { + "consumed_by_rules": [ + "pants.jvm.strip_jar.strip_jar.strip_jar" + ], "dependencies": [ "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.go", "pants.backend.experimental.helm", - "pants.backend.experimental.java", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", "pants.core" ], - "dependents": ["pants.backend.experimental.adhoc", "pants.backend.shell"], - "documentation": "ExtraSandboxContents(digest: 'Digest', path: 'str | None', immutable_input_digests: 'Mapping[str, Digest]', append_only_caches: 'Mapping[str, str]', extra_env: 'Mapping[str, str]')", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "StripJarCompiledClassfiles(digest: Digest)", "is_union": false, - "module": "pants.core.util_rules.adhoc_process_support", - "name": "ExtraSandboxContents", - "provider": "pants.backend.shell", + "module": "pants.jvm.strip_jar.strip_jar", + "name": "StripJarCompiledClassfiles", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents" + "pants.jvm.strip_jar.strip_jar.build_processors" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "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.core.util_rules.adhoc_process_support.resolve_execution_environment" - ] + "used_in_rules": [] }, - "pants.core.util_rules.adhoc_process_support.MergeExtraSandboxContents": { + "pants.jvm.strip_jar.strip_jar.StripJarRequest": { "consumed_by_rules": [ - "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents" + "pants.jvm.strip_jar.strip_jar.strip_jar" ], "dependencies": [], - "dependents": ["pants.backend.shell"], - "documentation": "MergeExtraSandboxContents(additions: 'tuple[ExtraSandboxContents, ...]')", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "StripJarRequest(digest: Digest, filenames: Tuple[str, ...])", "is_union": false, - "module": "pants.core.util_rules.adhoc_process_support", - "name": "MergeExtraSandboxContents", - "provider": "pants.core", + "module": "pants.jvm.strip_jar.strip_jar", + "name": "StripJarRequest", + "provider": "pants.jvm.strip_jar.strip_jar", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "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.core.util_rules.adhoc_process_support.resolve_execution_environment" + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.jvm.package.deploy_jar.package_deploy_jar" ] }, - "pants.core.util_rules.adhoc_process_support.ResolveExecutionDependenciesRequest": { + "pants.jvm.strip_jar.strip_jar.StripJarToolLockfileSentinel": { "consumed_by_rules": [ - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" + "pants.jvm.strip_jar.strip_jar.generate_strip_jar_lockfile_request" ], - "dependencies": [], - "dependents": ["pants.backend.shell"], - "documentation": "ResolveExecutionDependenciesRequest(address: 'Address', execution_dependencies: 'tuple[str, ...] | None', runnable_dependencies: 'tuple[str, ...] | None')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.adhoc_process_support", - "name": "ResolveExecutionDependenciesRequest", - "provider": "pants.core", + "module": "pants.jvm.strip_jar.strip_jar", + "name": "StripJarToolLockfileSentinel", + "provider": "pants.backend.experimental.java, pants.jvm.strip_jar.strip_jar", "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "GenerateToolLockfileSentinel", "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "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.shell.util_rules.shell_command.run_shell_command_request" + "pants.jvm.strip_jar.strip_jar.build_processors", + "pants.jvm.strip_jar.strip_jar.strip_jar" ] }, - "pants.core.util_rules.adhoc_process_support.ResolvedExecutionDependencies": { - "consumed_by_rules": [], + "pants.jvm.subsystems.JvmSubsystem": { + "consumed_by_rules": [ + "construct_env_aware_scope_jvm", + "pants.backend.codegen.avro.java.rules.infer_apache_avro_java_dependencies", + "pants.backend.codegen.avro.java.rules.resolve_apache_avro_runtime_for_resolve", + "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency", + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve", + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve", + "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency", + "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", + "pants.backend.codegen.thrift.apache.java.rules.infer_apache_thrift_java_dependencies", + "pants.backend.codegen.thrift.apache.java.rules.resolve_apache_thrift_java_runtime_for_resolve", + "pants.backend.codegen.thrift.scrooge.java.rules.inject_scrooge_thrift_java_dependencies", + "pants.backend.codegen.thrift.scrooge.java.rules.resolve_scrooge_thrift_java_runtime_for_resolve", + "pants.backend.codegen.thrift.scrooge.scala.rules.inject_scrooge_thrift_scala_dependencies", + "pants.backend.codegen.thrift.scrooge.scala.rules.resolve_scrooge_thrift_scala_runtime_for_resolve", + "pants.backend.java.compile.javac.compile_java_source", + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", + "pants.backend.kotlin.compile.kotlinc_plugins.add_resolve_name_to_plugin_request", + "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", + "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.dependency_inference.rules.resolve_kotlin_runtime_for_resolve", + "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", + "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency", + "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve", + "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies", + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "pants.backend.scala.compile.scalac.compile_scala_source", + "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request", + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency", + "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", + "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", + "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve", + "pants.backend.scala.target_types.generate_jvm_artifact_targets", + "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts", + "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings", + "pants.jvm.goals.lockfile.determine_jvm_user_resolves", + "pants.jvm.goals.lockfile.setup_user_lockfile_requests", + "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve", + "pants.jvm.jdk_rules.internal_jdk", + "pants.jvm.jdk_rules.jvm_process", + "pants.jvm.jdk_rules.prepare_jdk_environment", + "pants.jvm.package.deploy_jar.package_deploy_jar", + "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets", + "pants.jvm.resources.assemble_resources_jar", + "pants.jvm.target_types.jvm_resolve_field_default_factory", + "pants.jvm.test.junit.setup_junit_for_target" + ], "dependencies": [ - "builtins", - "pants.backend.awslambda.python", - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", "pants.backend.experimental.java", "pants.backend.experimental.kotlin", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala", - "pants.backend.google_cloud_function.python", - "pants.backend.python", - "pants.core", - "pants.engine.addresses" + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala" ], - "dependents": ["pants.backend.experimental.adhoc", "pants.backend.shell"], - "documentation": "ResolvedExecutionDependencies(digest: 'Digest', runnable_dependencies: 'RunnableDependencies | None')", + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.adhoc_process_support", - "name": "ResolvedExecutionDependencies", - "provider": "pants.backend.shell", + "module": "pants.jvm.subsystems", + "name": "JvmSubsystem", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" + "construct_scope_jvm" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.jvm.target_types.GenericJvmRunRequest": { + "consumed_by_rules": [ + "pants.jvm.run.create_run_request" + ], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.java" ], + "documentation": "Allows the use of a generic rule to return a `RunRequest` based on the field set.", + "is_union": false, + "module": "pants.jvm.target_types", + "name": "GenericJvmRunRequest", + "provider": "pants.jvm.target_types", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "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.shell.util_rules.shell_command.run_shell_command_request" + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet" ] }, - "pants.core.util_rules.archive.CreateArchive": { - "consumed_by_rules": ["pants.core.util_rules.archive.create_archive"], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "A request to create an archive.\n\nAll files in the input snapshot will be included in the resulting archive.", + "pants.jvm.target_types.JvmArtifactFieldSet": { + "consumed_by_rules": [ + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JvmArtifactFieldSet", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "JvmArtifactFieldSet(address: 'Address', jdk_version: 'JvmJdkField', main_class: 'JvmMainClassNameField', group: 'JvmArtifactGroupField', artifact: 'JvmArtifactArtifactField', version: 'JvmArtifactVersionField', packages: 'JvmArtifactPackagesField', url: 'JvmArtifactUrlField')", + "is_union": false, + "module": "pants.jvm.target_types", + "name": "JvmArtifactFieldSet", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "RunFieldSet", + "used_in_rules": [] + }, + "pants.jvm.target_types.JvmResolveFieldDefaultFactoryRequest": { + "consumed_by_rules": [ + "pants.jvm.target_types.jvm_resolve_field_default_factory" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, + "is_union": false, + "module": "pants.jvm.target_types", + "name": "JvmResolveFieldDefaultFactoryRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "FieldDefaultFactoryRequest", + "used_in_rules": [] + }, + "pants.jvm.target_types.PrefixedJvmJdkField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, + "is_union": false, + "module": "pants.jvm.target_types", + "name": "PrefixedJvmJdkField", + "provider": "pants.backend.experimental.codegen.avro.java, pants.backend.experimental.codegen.protobuf.java, pants.backend.experimental.codegen.thrift.apache.java, pants.backend.experimental.openapi.codegen.java", + "returned_by_rules": [], + "union_members": [], + "union_type": "PluginField", + "used_in_rules": [] + }, + "pants.jvm.target_types.PrefixedJvmResolveField": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.archive", - "name": "CreateArchive", - "provider": "pants.core", + "module": "pants.jvm.target_types", + "name": "PrefixedJvmResolveField", + "provider": "pants.backend.experimental.codegen.avro.java, pants.backend.experimental.codegen.protobuf.java, pants.backend.experimental.codegen.thrift.apache.java, pants.backend.experimental.openapi.codegen.java", "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.target_types.package_archive_target"] + "union_type": "PluginField", + "used_in_rules": [] }, - "pants.core.util_rules.archive.ExtractedArchive": { + "pants.jvm.test.junit.JunitTestFieldSet": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java" + "pants.core" ], - "dependents": ["pants.core"], - "documentation": "The result of extracting an archive.", + "dependents": [], + "documentation": "JunitTestFieldSet(address: 'Address', sources: 'JunitTestSourceField', timeout: 'JunitTestTimeoutField', jdk_version: 'JvmJdkField', dependencies: 'JvmDependenciesField', extra_env_vars: 'TestExtraEnvVarsField')", "is_union": false, - "module": "pants.core.util_rules.archive", - "name": "ExtractedArchive", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.archive.maybe_extract_archive" - ], + "module": "pants.jvm.test.junit", + "name": "JunitTestFieldSet", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.core.util_rules.external_tool.download_external_tool" - ] + "union_type": "TestFieldSet", + "used_in_rules": [] }, - "pants.core.util_rules.archive.MaybeExtractArchiveRequest": { - "consumed_by_rules": [ - "pants.core.util_rules.archive.maybe_extract_archive" - ], + "pants.jvm.test.junit.JunitTestRequest": { + "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java" + "pants.core" ], - "dependents": ["pants.core"], - "documentation": "A request to extract a single archive file (otherwise returns the input digest).\n\n:param digest: The digest of the archive to maybe extract. If the archive contains a single file\n which matches a known suffix, the `ExtractedArchive` will contain the extracted digest.\n Otherwise the `ExtractedArchive` will contain this digest.\n:param use_suffix: If provided, extracts the single file archive as if it had this suffix.\n Useful in situations where the file is archived then renamed.\n (E.g. A Python `.whl` is a renamed `.zip`, so the client should provide `\".zip\"`)", + "dependents": [], + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.archive", - "name": "MaybeExtractArchiveRequest", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest" - ], + "module": "pants.jvm.test.junit", + "name": "JunitTestRequest", + "provider": "pants.backend.experimental.java", + "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "TestRequest", "used_in_rules": [] }, - "pants.core.util_rules.asdf.AsdfToolPathsRequest": { + "pants.jvm.test.junit.JunitToolLockfileSentinel": { "consumed_by_rules": [ - "pants.core.util_rules.asdf.resolve_asdf_tool_paths" + "pants.jvm.test.junit.generate_junit_lockfile_request" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "AsdfToolPathsRequest(env_tgt: 'EnvironmentTarget', tool_name: 'str', tool_description: 'str', resolve_standard: 'bool', resolve_local: 'bool', paths_option_name: 'str', bin_relpath: 'str' = 'bin')", + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.asdf", - "name": "AsdfToolPathsRequest", - "provider": "pants.core", + "module": "pants.jvm.test.junit", + "name": "JunitToolLockfileSentinel", + "provider": "pants.backend.experimental.java, pants.jvm.test.junit", "returned_by_rules": [], "union_members": [], - "union_type": null, + "union_type": "GenerateToolLockfileSentinel", "used_in_rules": [ - "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", - "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" + "pants.jvm.test.junit.setup_junit_for_target" ] }, - "pants.core.util_rules.asdf.AsdfToolPathsResult": { + "pants.jvm.test.junit.TestSetup": { "consumed_by_rules": [], - "dependencies": ["pants.base.build_root", "pants.engine.env_vars"], - "dependents": [ + "dependencies": [ + "builtins", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.go", - "pants.backend.experimental.openapi.lint.spectral", - "pants.core" + "pants.backend.experimental.helm", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.jvm.test.junit" ], - "documentation": "AsdfToolPathsResult(tool_name: 'str', standard_tool_paths: 'tuple[str, ...]' = (), local_tool_paths: 'tuple[str, ...]' = ())", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "TestSetup(process: 'JvmProcess', reports_dir_prefix: 'str')", "is_union": false, - "module": "pants.core.util_rules.asdf", - "name": "AsdfToolPathsResult", - "provider": "pants.core", + "module": "pants.jvm.test.junit", + "name": "TestSetup", + "provider": "pants.backend.experimental.java", "returned_by_rules": [ - "pants.core.util_rules.asdf.resolve_asdf_tool_paths" + "pants.jvm.test.junit.setup_junit_for_target" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", - "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" + "pants.jvm.test.junit.run_junit_test", + "pants.jvm.test.junit.setup_junit_debug_request" ] }, - "pants.core.util_rules.config_files.ConfigFiles": { - "consumed_by_rules": [], - "dependencies": ["builtins", "pants.engine.fs"], + "pants.jvm.test.junit.TestSetupRequest": { + "consumed_by_rules": [ + "pants.jvm.test.junit.setup_junit_for_target" + ], + "dependencies": [], "dependents": [ - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.python", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.python", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.yapf", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt", - "pants.core" + "pants.backend.experimental.java" ], - "documentation": "Config files used by a tool run by Pants.", + "documentation": "TestSetupRequest(field_set: 'JunitTestFieldSet', is_debug: 'bool')", "is_union": false, - "module": "pants.core.util_rules.config_files", - "name": "ConfigFiles", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.config_files.find_config_file" - ], + "module": "pants.jvm.test.junit", + "name": "TestSetupRequest", + "provider": "pants.jvm.test.junit", + "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" + "pants.jvm.test.junit.run_junit_test", + "pants.jvm.test.junit.setup_junit_debug_request" ] }, - "pants.core.util_rules.config_files.ConfigFilesRequest": { + "pants.jvm.util_rules.ExtractFileDigest": { "consumed_by_rules": [ - "pants.core.util_rules.config_files.find_config_file" + "pants.jvm.util_rules.digest_to_file_digest" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Resolve the specified config files if given, else look for candidate config files if\ndiscovery is enabled.\n\nFiles in `check_existence` only need to exist, whereas files in `check_content` both must exist\nand contain the bytes snippet in the file.", + "dependents": [ + "pants.backend.experimental.java" + ], + "documentation": "ExtractFileDigest(digest: 'Digest', file_path: 'str')", "is_union": false, - "module": "pants.core.util_rules.config_files", - "name": "ConfigFilesRequest", - "provider": "pants.core", + "module": "pants.jvm.util_rules", + "name": "ExtractFileDigest", + "provider": "pants.jvm.util_rules", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.core.goals.update_build_files.format_build_file_with_black", - "pants.core.goals.update_build_files.format_build_file_with_yapf" + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile" ] }, - "pants.core.util_rules.distdir.DistDir": { + "pants.option.global_options.GlobalOptions": { "consumed_by_rules": [ - "pants.backend.codegen.export_codegen_goal.export_codegen", - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.core.goals.check.check", - "pants.core.goals.export.export", - "pants.core.goals.lint.lint", - "pants.core.goals.package.package_asset", - "pants.core.goals.test.run_tests" + "pants.backend.docker.goals.package_image.build_docker_image", + "pants.backend.python.goals.publish.twine_upload", + "pants.backend.python.goals.pytest_runner.run_python_tests", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "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.core.goals.generate_lockfiles.generate_lockfiles_goal", + "pants.core.goals.run.run", + "pants.core.util_rules.distdir.get_distdir", + "pants.engine.internals.graph.extract_subproject_roots", + "pants.engine.internals.graph.extract_unmatched_build_file_globs", + "pants.engine.internals.platform_rules.complete_environment_vars", + "pants.engine.internals.platform_rules.current_platform", + "pants.jvm.jdk_rules.jvm_process" + ], + "dependencies": [ + "pants.option.scope" ], - "dependencies": ["pants.base.build_root"], "dependents": [ + "pants.backend.docker", "pants.backend.experimental.go", + "pants.backend.experimental.java", + "pants.backend.experimental.javascript", + "pants.backend.experimental.python", + "pants.backend.experimental.tools.semgrep", "pants.backend.python", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell", "pants.core" ], - "documentation": "The directory to which we write distributable files.", + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.distdir", - "name": "DistDir", + "module": "pants.option.global_options", + "name": "GlobalOptions", "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.distdir.get_distdir"], + "returned_by_rules": [ + "construct_scope_" + ], "union_members": [], "union_type": null, "used_in_rules": [] }, - "pants.core.util_rules.environments.EnvironmentNameRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "EnvironmentNameRequest(raw_value: 'str', description_of_origin: 'str')", + "pants.option.global_options.UnmatchedBuildFileGlobs": { + "consumed_by_rules": [ + "pants.engine.internals.graph.hydrate_sources", + "pants.engine.internals.graph.resolve_generator_target_requests", + "pants.engine.internals.graph.resolve_source_paths" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.go" + ], + "documentation": "What to do when globs do not match in BUILD files.", "is_union": false, - "module": "pants.core.util_rules.environments", - "name": "EnvironmentNameRequest", - "provider": "pants.core", - "returned_by_rules": [], + "module": "pants.option.global_options", + "name": "UnmatchedBuildFileGlobs", + "provider": "pants.backend.experimental.go", + "returned_by_rules": [ + "pants.engine.internals.graph.extract_unmatched_build_file_globs" + ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", - "pants.core.goals.check.check", - "pants.core.goals.export.export", - "pants.core.goals.fix.fix", - "pants.core.goals.fmt.fmt", - "pants.core.goals.generate_snapshots.environment_await_generate_snapshots", - "pants.core.goals.lint.lint", - "pants.core.goals.package.environment_aware_package", - "pants.core.goals.repl.run_repl", - "pants.core.goals.run.run" - ] - }, - "pants.core.util_rules.environments.OptionField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.environments", - "name": "OptionField", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", "used_in_rules": [] }, - "pants.core.util_rules.environments.SingleEnvironmentNameRequest": { + "pants.option.scope.Scope": { "consumed_by_rules": [], "dependencies": [], "dependents": [], - "documentation": "Asserts that all of the given environment strings resolve to the same EnvironmentName.", + "documentation": "An options scope.", "is_union": false, - "module": "pants.core.util_rules.environments", - "name": "SingleEnvironmentNameRequest", - "provider": "pants.core", + "module": "pants.option.scope", + "name": "Scope", + "provider": "pants.option.scope", "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": ["pants.core.goals.test.run_tests"] - }, - "pants.core.util_rules.external_tool.DownloadedExternalTool": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.engine.fs" - ], - "dependents": [ - "pants.backend.build_files.fmt.buildifier", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.codegen.protobuf.python", - "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.terraform", - "pants.backend.project_info", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt", - "pants.core" - ], - "documentation": "DownloadedExternalTool(digest: 'Digest', exe: 'str')", - "is_union": false, - "module": "pants.core.util_rules.external_tool", - "name": "DownloadedExternalTool", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.external_tool.download_external_tool" - ], - "union_members": [], - "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fmt.buildifier.rules.buildfier_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", - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.helm.util_rules.tool.download_external_helm_plugin", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", - "pants.backend.project_info.count_loc.count_loc", - "pants.backend.python.util_rules.pex_cli.download_pex_pex", - "pants.backend.shell.dependency_inference.parse_shell_imports", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.backend.terraform.tool.setup_terraform_process", - "pants.jvm.resolve.coursier_setup.setup_coursier" + "construct_scope_", + "construct_scope_add_trailing_comma", + "construct_scope_anonymous_telemetry", + "construct_scope_apache_thrift", + "construct_scope_autoflake", + "construct_scope_avro", + "construct_scope_bandit", + "construct_scope_black", + "construct_scope_buf", + "construct_scope_build_deprecations_fixer", + "construct_scope_buildifier", + "construct_scope_cc", + "construct_scope_cc_external", + "construct_scope_cc_infer", + "construct_scope_check", + "construct_scope_clang_format", + "construct_scope_count_loc", + "construct_scope_coursier", + "construct_scope_coverage_py", + "construct_scope_cue", + "construct_scope_debug_adapter", + "construct_scope_debugpy", + "construct_scope_dependencies", + "construct_scope_dependents", + "construct_scope_docformatter", + "construct_scope_docker", + "construct_scope_dockerfile_parser", + "construct_scope_download_terraform", + "construct_scope_environments_preview", + "construct_scope_experimental_bsp", + "construct_scope_experimental_deploy", + "construct_scope_export", + "construct_scope_export_codegen", + "construct_scope_filedeps", + "construct_scope_filter", + "construct_scope_fix", + "construct_scope_flake8", + "construct_scope_fmt", + "construct_scope_generate_lockfiles", + "construct_scope_generate_snapshots", + "construct_scope_go_dump_import_path_mapping", + "construct_scope_go_export_cgo_codegen", + "construct_scope_go_generate", + "construct_scope_go_show_package_analysis", + "construct_scope_go_test", + "construct_scope_go_vet", + "construct_scope_gofmt", + "construct_scope_golang", + "construct_scope_golangci_lint", + "construct_scope_google_java_format", + "construct_scope_grpc_python_plugin", + "construct_scope_hadolint", + "construct_scope_helm", + "construct_scope_helm_k8s_parser", + "construct_scope_helm_post_renderer", + "construct_scope_helm_unittest", + "construct_scope_ipython", + "construct_scope_isort", + "construct_scope_jarjar", + "construct_scope_java_avro", + "construct_scope_java_dump_source_analysis", + "construct_scope_java_infer", + "construct_scope_java_thrift", + "construct_scope_javac", + "construct_scope_junit", + "construct_scope_jvm", + "construct_scope_jvm_symbol_map", + "construct_scope_kotlin", + "construct_scope_kotlin_dump_source_analysis", + "construct_scope_kotlin_infer", + "construct_scope_kotlinc", + "construct_scope_ktlint", + "construct_scope_kubeconform", + "construct_scope_lint", + "construct_scope_list", + "construct_scope_mypy", + "construct_scope_mypy_protobuf", + "construct_scope_nodejs", + "construct_scope_nodejs_infer", + "construct_scope_nodejs_test", + "construct_scope_openapi", + "construct_scope_openapi_format", + "construct_scope_openapi_generator", + "construct_scope_package", + "construct_scope_paths", + "construct_scope_peek", + "construct_scope_pex", + "construct_scope_pex_binary_defaults", + "construct_scope_pex_cli", + "construct_scope_preamble", + "construct_scope_prettier", + "construct_scope_protobuf_java_grpc", + "construct_scope_protoc", + "construct_scope_publish", + "construct_scope_py_constraints", + "construct_scope_pydocstyle", + "construct_scope_pyenv_python_provider", + "construct_scope_pylint", + "construct_scope_pyoxidizer", + "construct_scope_pyright", + "construct_scope_pytest", + "construct_scope_python", + "construct_scope_python_bootstrap", + "construct_scope_python_dump_source_analysis", + "construct_scope_python_infer", + "construct_scope_python_native_code", + "construct_scope_python_protobuf", + "construct_scope_python_repos", + "construct_scope_python_thrift", + "construct_scope_pytype", + "construct_scope_pyupgrade", + "construct_scope_regex_lint", + "construct_scope_repl", + "construct_scope_roots", + "construct_scope_ruff", + "construct_scope_run", + "construct_scope_rust", + "construct_scope_rustfmt", + "construct_scope_scala", + "construct_scope_scala_dump_source_analysis", + "construct_scope_scala_infer", + "construct_scope_scalac", + "construct_scope_scalafmt", + "construct_scope_scalapb", + "construct_scope_scalatest", + "construct_scope_scc", + "construct_scope_scrooge", + "construct_scope_semgrep", + "construct_scope_setup_py_generation", + "construct_scope_setuptools", + "construct_scope_setuptools_scm", + "construct_scope_shell_setup", + "construct_scope_shell_test", + "construct_scope_shellcheck", + "construct_scope_shfmt", + "construct_scope_shunit2", + "construct_scope_source", + "construct_scope_spectral", + "construct_scope_stats", + "construct_scope_subprocess_environment", + "construct_scope_system_binaries", + "construct_scope_tailor", + "construct_scope_taplo", + "construct_scope_terraform_fmt", + "construct_scope_terraform_hcl2_parser", + "construct_scope_terraform_tfsec", + "construct_scope_terraform_validate", + "construct_scope_test", + "construct_scope_thrift", + "construct_scope_twine", + "construct_scope_update_build_files", + "construct_scope_visibility", + "construct_scope_workunit_logger", + "construct_scope_yamllint", + "construct_scope_yapf" ] }, - "pants.core.util_rules.external_tool.ExternalToolRequest": { - "consumed_by_rules": [ - "pants.core.util_rules.external_tool.download_external_tool" - ], + "pants.option.subsystem.PluginOption": { + "consumed_by_rules": [], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "ExternalToolRequest(download_file_request: 'DownloadFile', exe: 'str')", - "is_union": false, - "module": "pants.core.util_rules.external_tool", - "name": "ExternalToolRequest", - "provider": "pants.core", + "dependents": [ + "pants.backend.python" + ], + "documentation": null, + "is_union": true, + "module": "pants.option.subsystem", + "name": "PluginOption", + "provider": "pants.option.subsystem", "returned_by_rules": [], - "union_members": [], + "union_members": [ + "ExportPluginOptions" + ], "union_type": null, - "used_in_rules": [ - "pants.backend.build_files.fmt.buildifier.rules.buildfier_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", - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.helm.util_rules.tool.download_external_helm_plugin", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", - "pants.backend.project_info.count_loc.count_loc", - "pants.backend.python.util_rules.pex_cli.download_pex_pex", - "pants.backend.shell.dependency_inference.parse_shell_imports", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.backend.terraform.tool.setup_terraform_process", - "pants.jvm.resolve.coursier_setup.setup_coursier" - ] + "used_in_rules": [] }, - "pants.core.util_rules.partitions.Partitions": { - "consumed_by_rules": [], + "pants.source.source_root.AllSourceRoots": { + "consumed_by_rules": [ + "pants.backend.project_info.list_roots.list_roots", + "pants.backend.python.goals.coverage_py.merge_coverage_data" + ], "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.kotlin", - "pants.core", - "pants.engine.internals.build_files", - "pants.engine.target" + "pants.engine.fs" ], - "dependents": ["pants.core"], - "documentation": "A collection of (, ) pairs.\n\nWhen implementing a plugin, one of your rules will return this type, taking in a\n`PartitionRequest` specific to your plugin.\n\nThe return likely will fit into one of:\n - Returning empty partitions: E.g. if your tool is being skipped.\n - Returning one partition. The partition may contain all of the inputs\n (as will likely be the case for target-based plugins) or a subset (which will likely be the\n case for targetless plugins).\n - Returning >1 partition. This might be the case if you can't run\n the tool on all the inputs at once. E.g. having to run a Python tool on XYZ with Py3,\n and files ABC with Py2.", + "dependents": [ + "pants.backend.project_info", + "pants.backend.python" + ], + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.partitions", - "name": "Partitions", - "provider": "pants.backend.build_files.fix.deprecations, pants.backend.build_files.fmt.black, pants.backend.build_files.fmt.buildifier, pants.backend.build_files.fmt.yapf, pants.backend.codegen.protobuf.lint.buf, pants.backend.docker.lint.hadolint, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.java.lint.google_java_format, pants.backend.experimental.kotlin.lint.ktlint, 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, pants.backend.experimental.scala, pants.backend.experimental.scala.lint.scalafmt, pants.backend.experimental.terraform, pants.backend.experimental.tools.semgrep, pants.backend.experimental.tools.yamllint, pants.backend.project_info, pants.backend.python, pants.backend.python.lint.autoflake, pants.backend.python.lint.bandit, pants.backend.python.lint.black, pants.backend.python.lint.docformatter, pants.backend.python.lint.flake8, pants.backend.python.lint.isort, pants.backend.python.lint.pydocstyle, pants.backend.python.lint.pylint, pants.backend.python.lint.pyupgrade, pants.backend.python.lint.yapf, pants.backend.shell, pants.backend.shell.lint.shellcheck, pants.backend.shell.lint.shfmt, pants.backend.tools.preamble", + "module": "pants.source.source_root", + "name": "AllSourceRoots", + "provider": "pants.core", "returned_by_rules": [ - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BlackRequest", - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BuildifierRequest", - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameFieldsInFilesRequest", - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameTargetsInFilesRequest", - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_YapfRequest", - "pants.backend.codegen.protobuf.lint.buf.format_rules.partition_buf", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.partition_buf", - "pants.backend.helm.goals.lint.partition_helm_lint", - "pants.backend.project_info.regex_lint.partition_inputs", - "pants.backend.python.goals.pytest_runner.partition_python_tests", - "pants.backend.python.lint.bandit.rules.partition_bandit", - "pants.backend.python.lint.black.rules.partition_black", - "pants.backend.python.lint.flake8.rules.partition_flake8", - "pants.backend.python.lint.pylint.rules.partition_pylint", - "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt", - "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", - "pants.backend.tools.preamble.rules.partition_inputs", - "pants.backend.tools.semgrep.rules.partition", - "pants.backend.tools.yamllint.rules.partition_inputs", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_GoTestRequest", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_HelmUnitTestRequest", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_JunitTestRequest", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ShellTestRequest", - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_Shunit2TestRequest", - "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_HadolintRequest", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_PydocstyleRequest", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_RuffLintRequest", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_ShellcheckRequest", - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_SpectralRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest" + "pants.source.source_root.all_roots" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.core.goals.fix.fix", - "pants.core.goals.fmt.fmt", - "pants.core.goals.lint.lint", - "pants.core.goals.test.run_tests" - ] + "used_in_rules": [] }, - "pants.core.util_rules.search_paths.ValidateSearchPathsRequest": { - "consumed_by_rules": [ - "pants.core.util_rules.search_paths.validate_search_paths" + "pants.source.source_root.OptionalSourceRoot": { + "consumed_by_rules": [], + "dependencies": [ + "pants.engine.fs", + "pants.source.source_root" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "ValidateSearchPathsRequest(env_tgt: 'EnvironmentTarget', search_paths: 'tuple[str, ...]', option_origin: 'str', environment_key: 'str', is_default: 'bool', local_only: 'FrozenOrderedSet[str]')", + "dependents": [ + "pants.core" + ], + "documentation": "OptionalSourceRoot(source_root: 'SourceRoot | None')", "is_union": false, - "module": "pants.core.util_rules.search_paths", - "name": "ValidateSearchPathsRequest", + "module": "pants.source.source_root", + "name": "OptionalSourceRoot", "provider": "pants.core", - "returned_by_rules": [], + "returned_by_rules": [ + "pants.source.source_root.get_optional_source_root" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", - "pants.core.subsystems.python_bootstrap.python_bootstrap" + "pants.source.source_root.all_roots", + "pants.source.source_root.get_optional_source_root", + "pants.source.source_root.get_optional_source_roots", + "pants.source.source_root.get_source_root" ] }, - "pants.core.util_rules.search_paths.ValidatedSearchPaths": { + "pants.source.source_root.OptionalSourceRootsResult": { "consumed_by_rules": [], - "dependencies": [], + "dependencies": [ + "pants.source.source_root" + ], "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.openapi.lint.spectral", "pants.core" ], - "documentation": "Search paths that are valid for the current target environment.", + "documentation": "OptionalSourceRootsResult(path_to_optional_root: 'FrozenDict[PurePath, OptionalSourceRoot]')", "is_union": false, - "module": "pants.core.util_rules.search_paths", - "name": "ValidatedSearchPaths", + "module": "pants.source.source_root", + "name": "OptionalSourceRootsResult", "provider": "pants.core", "returned_by_rules": [ - "pants.core.util_rules.search_paths.validate_search_paths" + "pants.source.source_root.get_optional_source_roots" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", - "pants.core.subsystems.python_bootstrap.python_bootstrap" + "pants.source.source_root.get_source_roots" ] }, - "pants.core.util_rules.search_paths.VersionManagerSearchPaths": { + "pants.source.source_root.SourceRoot": { "consumed_by_rules": [], - "dependencies": [], + "dependencies": [ + "pants.source.source_root" + ], "dependents": [ - "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.awslambda.python", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.python", "pants.core" ], - "documentation": null, + "documentation": "SourceRoot(path: 'str')", "is_union": false, - "module": "pants.core.util_rules.search_paths", - "name": "VersionManagerSearchPaths", + "module": "pants.source.source_root", + "name": "SourceRoot", "provider": "pants.core", "returned_by_rules": [ - "pants.core.util_rules.search_paths.get_un_cachable_version_manager_paths" + "pants.source.source_root.get_source_root" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", - "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" + "pants.backend.codegen.avro.java.rules.generate_java_from_avro", + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift", + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge", + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge", + "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.resolve_pex_entry_point", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", + "pants.backend.python.util_rules.faas.resolve_python_faas_handler", + "pants.backend.python.util_rules.python_sources.prepare_python_sources", + "pants.core.util_rules.stripped_source_files.strip_file_name", + "pants.core.util_rules.stripped_source_files.strip_sources_paths" ] }, - "pants.core.util_rules.search_paths.VersionManagerSearchPathsRequest": { + "pants.source.source_root.SourceRootConfig": { "consumed_by_rules": [ - "pants.core.util_rules.search_paths.get_un_cachable_version_manager_paths" + "pants.source.source_root.all_roots", + "pants.source.source_root.get_optional_source_root" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "VersionManagerSearchPathsRequest(env_tgt: 'EnvironmentTarget', root_dir: 'str | None', tool_path: 'str', option: 'str', version_files: 'tuple[str, ...]' = (), local_token: 'str | None' = None)", - "is_union": false, - "module": "pants.core.util_rules.search_paths", - "name": "VersionManagerSearchPathsRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", - "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths" - ] - }, - "pants.core.util_rules.source_files.SourceFiles": { - "consumed_by_rules": [ - "pants.backend.java.dependency_inference.java_parser.make_analysis_request_from_source_files", - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", - "pants.core.util_rules.stripped_source_files.strip_source_roots" + "dependencies": [ + "pants.option.scope" ], - "dependencies": ["builtins", "pants.backend.experimental.go"], "dependents": [ - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.python", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", "pants.core" ], - "documentation": "A merged snapshot of the `sources` fields of multiple targets.", + "documentation": null, "is_union": false, - "module": "pants.core.util_rules.source_files", - "name": "SourceFiles", + "module": "pants.source.source_root", + "name": "SourceRootConfig", "provider": "pants.core", "returned_by_rules": [ - "pants.core.util_rules.source_files.determine_source_files" + "construct_scope_source" ], "union_members": [], "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", - "pants.backend.helm.util_rules.sources.get_helm_source_files", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "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.openapi.lint.spectral.rules.run_spectral", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.ruff.rules.ruff_lint", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.python.util_rules.python_sources.prepare_python_sources", - "pants.backend.python.util_rules.python_sources.strip_python_sources", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "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", - "pants.backend.terraform.dependencies.init_terraform", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", - "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", - "pants.backend.tools.semgrep.rules.lint", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "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", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", - "pants.jvm.package.war.render_war_content", - "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "used_in_rules": [] }, - "pants.core.util_rules.source_files.SourceFilesRequest": { + "pants.source.source_root.SourceRootRequest": { "consumed_by_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "pants.core.util_rules.source_files.determine_source_files" + "pants.source.source_root.get_optional_source_root", + "pants.source.source_root.get_source_root" ], "dependencies": [], - "dependents": ["pants.backend.experimental.scala", "pants.core"], - "documentation": "SourceFilesRequest(sources_fields: Iterable[pants.engine.target.SourcesField], *, for_sources_types: Iterable[Type[pants.engine.target.SourcesField]] = (,), enable_codegen: bool = False)", + "dependents": [ + "pants.core" + ], + "documentation": "Find the source root for the given path.\n\nIf you have multiple paths, particularly if many of them share parent directories, you'll get\nbetter performance with a `SourceRootsRequest` (see above) instead.", "is_union": false, - "module": "pants.core.util_rules.source_files", - "name": "SourceFilesRequest", - "provider": "pants.core", + "module": "pants.source.source_root", + "name": "SourceRootRequest", + "provider": "pants.source.source_root", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ + "pants.backend.codegen.avro.java.rules.generate_java_from_avro", "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", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", - "pants.backend.helm.util_rules.sources.get_helm_source_files", - "pants.backend.java.bsp.rules.bsp_java_resources_request", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", - "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.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", - "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", - "pants.backend.openapi.lint.spectral.rules.run_spectral", - "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.ruff.rules.ruff_lint", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift", + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge", + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge", + "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "pants.backend.python.target_types_rules.resolve_pex_entry_point", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", + "pants.backend.python.util_rules.faas.resolve_python_faas_handler", "pants.backend.python.util_rules.python_sources.prepare_python_sources", - "pants.backend.scala.bsp.rules.bsp_scala_resources_request", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", - "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", - "pants.backend.terraform.dependencies.init_terraform", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", - "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", - "pants.backend.tools.semgrep.rules.lint", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "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", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", - "pants.jvm.package.war.render_war_content", - "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", - "pants.jvm.resources.assemble_resources_jar", - "pants.jvm.test.junit.setup_junit_for_target" - ] - }, - "pants.core.util_rules.stripped_source_files.StrippedFileName": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python", - "pants.backend.python" - ], - "documentation": "StrippedFileName(value: str)", - "is_union": false, - "module": "pants.core.util_rules.stripped_source_files", - "name": "StrippedFileName", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.stripped_source_files.strip_file_name" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files", - "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", - "pants.backend.codegen.thrift.dependency_inference.map_thrift_files", - "pants.backend.javascript.nodejs_project.find_node_js_projects", - "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", - "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + "pants.core.util_rules.stripped_source_files.strip_file_name", + "pants.core.util_rules.stripped_source_files.strip_sources_paths", + "pants.source.source_root.all_roots", + "pants.source.source_root.get_optional_source_root", + "pants.source.source_root.get_optional_source_roots", + "pants.source.source_root.get_source_root" ] }, - "pants.core.util_rules.stripped_source_files.StrippedFileNameRequest": { + "pants.source.source_root.SourceRootsRequest": { "consumed_by_rules": [ - "pants.core.util_rules.stripped_source_files.strip_file_name" + "pants.source.source_root.get_optional_source_roots", + "pants.source.source_root.get_source_roots" ], "dependencies": [], - "dependents": ["pants.core"], - "documentation": "StrippedFileNameRequest(file_path: str)", + "dependents": [ + "pants.core" + ], + "documentation": "Find the source roots for the given files and/or dirs.", "is_union": false, - "module": "pants.core.util_rules.stripped_source_files", - "name": "StrippedFileNameRequest", - "provider": "pants.core", + "module": "pants.source.source_root", + "name": "SourceRootsRequest", + "provider": "pants.source.source_root", "returned_by_rules": [], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files", - "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", - "pants.backend.codegen.thrift.dependency_inference.map_thrift_files", - "pants.backend.javascript.nodejs_project.find_node_js_projects", - "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", - "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules" + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "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.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" ] }, - "pants.core.util_rules.stripped_source_files.StrippedSourceFileNames": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go"], - "dependents": [], - "documentation": "The file names from a target's `sources` field, with source roots stripped.\n\nUse via `Get(StrippedSourceFileNames, SourcePathsRequest(tgt.get(SourcesField))`.", - "is_union": false, - "module": "pants.core.util_rules.stripped_source_files", - "name": "StrippedSourceFileNames", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.stripped_source_files.strip_sources_paths" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.util_rules.stripped_source_files.StrippedSourceFiles": { + "pants.source.source_root.SourceRootsResult": { "consumed_by_rules": [], "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java" + "pants.source.source_root" ], "dependents": [ - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.scala", - "pants.backend.python" + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.python", + "pants.core" ], - "documentation": "Wrapper for a snapshot of files whose source roots have been stripped.\n\nUse via `Get(StrippedSourceFiles, SourceFilesRequest([tgt.get(SourcesField)])`.", + "documentation": "SourceRootsResult(path_to_root: 'FrozenDict[PurePath, SourceRoot]')", "is_union": false, - "module": "pants.core.util_rules.stripped_source_files", - "name": "StrippedSourceFiles", + "module": "pants.source.source_root", + "name": "SourceRootsResult", "provider": "pants.core", "returned_by_rules": [ - "pants.core.util_rules.stripped_source_files.strip_source_roots" + "pants.source.source_root.get_source_roots" ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.java.bsp.rules.bsp_java_resources_request", - "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies", - "pants.backend.python.util_rules.python_sources.strip_python_sources", - "pants.backend.scala.bsp.rules.bsp_scala_resources_request", - "pants.jvm.resources.assemble_resources_jar" + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "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.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", + "pants.core.util_rules.stripped_source_files.strip_source_roots" ] }, - "pants.core.util_rules.subprocess_environment.SubprocessEnvironment": { - "consumed_by_rules": ["construct_env_aware_scope_subprocess_environment"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.subprocess_environment", - "name": "SubprocessEnvironment", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_subprocess_environment"], - "union_members": [], - "union_type": null, - "used_in_rules": [] - }, - "pants.core.util_rules.subprocess_environment.SubprocessEnvironmentVars": { + "pants.vcs.git.GitWorktreeRequest": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_environment.find_pex_python" + "pants.vcs.git.get_git_worktree" ], - "dependencies": ["pants.engine.env_vars"], - "dependents": ["pants.core"], - "documentation": "SubprocessEnvironmentVars(vars: pants.util.frozendict.FrozenDict[str, str])", - "is_union": false, - "module": "pants.core.util_rules.subprocess_environment", - "name": "SubprocessEnvironmentVars", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.subprocess_environment.get_subprocess_environment" + "dependencies": [], + "dependents": [ + "pants.core" ], + "documentation": "GitWorktreeRequest(gitdir: 'PathLike[str] | None' = None, subdir: 'PathLike[str] | None' = None)", + "is_union": false, + "module": "pants.vcs.git", + "name": "GitWorktreeRequest", + "provider": "pants.vcs.git", + "returned_by_rules": [], "union_members": [], "union_type": null, - "used_in_rules": [] + "used_in_rules": [ + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm" + ] }, - "pants.core.util_rules.system_binaries.BashBinary": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.link.setup_go_linker", - "pants.backend.go.util_rules.sdk.setup_go_sdk_process", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.pex.create_venv_pex", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "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.shell.util_rules.shell_command.run_shell_command_request", - "pants.core.util_rules.adhoc_binaries.download_python_binary", - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "pants.core.util_rules.system_binaries.create_binary_shims", - "pants.jvm.jdk_rules.jvm_process", - "pants.jvm.jdk_rules.prepare_jdk_environment", - "pants.jvm.package.war.package_war", - "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper", - "pants.jvm.resources.assemble_resources_jar" + "pants.vcs.git.MaybeGitWorktree": { + "consumed_by_rules": [], + "dependencies": [ + "pants.vcs.git" ], - "dependencies": [], "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell", - "pants.core" + "pants.backend.experimental.python" ], - "documentation": "The `bash` binary.", + "documentation": "MaybeGitWorktree(git_worktree: 'GitWorktree | None' = None)", "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "BashBinary", + "module": "pants.vcs.git", + "name": "MaybeGitWorktree", "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.get_bash"], + "returned_by_rules": [ + "pants.vcs.git.get_git_worktree" + ], "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.core.util_rules.archive.create_archive", - "pants.core.util_rules.system_binaries.find_binary" + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm" ] + } + }, + "name_to_backend_help_info": { + "pants.backend.awslambda.python": { + "description": "Create AWS Lambdas from Python code.\n\nSee https://www.pantsbuild.org/docs/awslambda-python.", + "enabled": true, + "name": "pants.backend.awslambda.python", + "provider": "pants" + }, + "pants.backend.build_files.fix.deprecations": { + "description": "", + "enabled": true, + "name": "pants.backend.build_files.fix.deprecations", + "provider": "pants" + }, + "pants.backend.build_files.fmt.black": { + "description": "", + "enabled": true, + "name": "pants.backend.build_files.fmt.black", + "provider": "pants" + }, + "pants.backend.build_files.fmt.buildifier": { + "description": "", + "enabled": true, + "name": "pants.backend.build_files.fmt.buildifier", + "provider": "pants" + }, + "pants.backend.build_files.fmt.yapf": { + "description": "", + "enabled": true, + "name": "pants.backend.build_files.fmt.yapf", + "provider": "pants" + }, + "pants.backend.codegen.protobuf.lint.buf": { + "description": "", + "enabled": true, + "name": "pants.backend.codegen.protobuf.lint.buf", + "provider": "pants" + }, + "pants.backend.codegen.protobuf.python": { + "description": "Generate Python sources from Protocol Buffers (Protobufs).\n\nSee https://www.pantsbuild.org/docs/protobuf.", + "enabled": true, + "name": "pants.backend.codegen.protobuf.python", + "provider": "pants" + }, + "pants.backend.codegen.thrift.apache.python": { + "description": "", + "enabled": true, + "name": "pants.backend.codegen.thrift.apache.python", + "provider": "pants" + }, + "pants.backend.docker": { + "description": "", + "enabled": true, + "name": "pants.backend.docker", + "provider": "pants" + }, + "pants.backend.docker.lint.hadolint": { + "description": "", + "enabled": true, + "name": "pants.backend.docker.lint.hadolint", + "provider": "pants" + }, + "pants.backend.experimental.adhoc": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.adhoc", + "provider": "pants" + }, + "pants.backend.experimental.cc": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.cc", + "provider": "pants" + }, + "pants.backend.experimental.cc.lint.clangformat": { + "description": "A formatter for C/C++ (and several other languages).\n\nSee https://clang.llvm.org/docs/ClangFormat.html for details.", + "enabled": true, + "name": "pants.backend.experimental.cc.lint.clangformat", + "provider": "pants" + }, + "pants.backend.experimental.codegen.avro.java": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.codegen.avro.java", + "provider": "pants" + }, + "pants.backend.experimental.codegen.protobuf.go": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.codegen.protobuf.go", + "provider": "pants" + }, + "pants.backend.experimental.codegen.protobuf.java": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.codegen.protobuf.java", + "provider": "pants" + }, + "pants.backend.experimental.codegen.protobuf.scala": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.codegen.protobuf.scala", + "provider": "pants" + }, + "pants.backend.experimental.codegen.thrift.apache.java": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.codegen.thrift.apache.java", + "provider": "pants" + }, + "pants.backend.experimental.codegen.thrift.scrooge.java": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.codegen.thrift.scrooge.java", + "provider": "pants" + }, + "pants.backend.experimental.codegen.thrift.scrooge.scala": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.codegen.thrift.scrooge.scala", + "provider": "pants" + }, + "pants.backend.experimental.cue": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.cue", + "provider": "pants" + }, + "pants.backend.experimental.debian": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.debian", + "provider": "pants" + }, + "pants.backend.experimental.go": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.go", + "provider": "pants" + }, + "pants.backend.experimental.go.debug_goals": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.go.debug_goals", + "provider": "pants" + }, + "pants.backend.experimental.go.lint.golangci_lint": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.go.lint.golangci_lint", + "provider": "pants" + }, + "pants.backend.experimental.go.lint.vet": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.go.lint.vet", + "provider": "pants" + }, + "pants.backend.experimental.helm": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.helm", + "provider": "pants" + }, + "pants.backend.experimental.helm.check.kubeconform": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.helm.check.kubeconform", + "provider": "pants" + }, + "pants.backend.experimental.java": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.java", + "provider": "pants" + }, + "pants.backend.experimental.java.debug_goals": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.java.debug_goals", + "provider": "pants" + }, + "pants.backend.experimental.java.lint.google_java_format": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.java.lint.google_java_format", + "provider": "pants" + }, + "pants.backend.experimental.javascript": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.javascript", + "provider": "pants" + }, + "pants.backend.experimental.javascript.lint.prettier": { + "description": "A formatter for JS/TS (and several other languages).\n\nSee https://prettier.io/ for details.", + "enabled": true, + "name": "pants.backend.experimental.javascript.lint.prettier", + "provider": "pants" + }, + "pants.backend.experimental.kotlin": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.kotlin", + "provider": "pants" + }, + "pants.backend.experimental.kotlin.debug_goals": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.kotlin.debug_goals", + "provider": "pants" + }, + "pants.backend.experimental.kotlin.lint.ktlint": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.kotlin.lint.ktlint", + "provider": "pants" + }, + "pants.backend.experimental.openapi": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.openapi", + "provider": "pants" + }, + "pants.backend.experimental.openapi.codegen.java": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.openapi.codegen.java", + "provider": "pants" + }, + "pants.backend.experimental.openapi.lint.openapi_format": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.openapi.lint.openapi_format", + "provider": "pants" + }, + "pants.backend.experimental.openapi.lint.spectral": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.openapi.lint.spectral", + "provider": "pants" + }, + "pants.backend.experimental.python": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.python", + "provider": "pants" + }, + "pants.backend.experimental.python.framework.django": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.python.framework.django", + "provider": "pants" + }, + "pants.backend.experimental.python.framework.stevedore": { + "description": "A python \"framework\" for apps to dynamically load plugins.\n\nSee https://github.com/openstack/stevedore for details.", + "enabled": true, + "name": "pants.backend.experimental.python.framework.stevedore", + "provider": "pants" + }, + "pants.backend.experimental.python.lint.add_trailing_comma": { + "description": "Autoformatter to automatically add trailing commas to calls and literals.\n\nSee https://github.com/asottile/add-trailing-comma for details.", + "enabled": true, + "name": "pants.backend.experimental.python.lint.add_trailing_comma", + "provider": "pants" + }, + "pants.backend.experimental.python.lint.autoflake": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.python.lint.autoflake", + "provider": "pants" + }, + "pants.backend.experimental.python.lint.pyupgrade": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.python.lint.pyupgrade", + "provider": "pants" + }, + "pants.backend.experimental.python.lint.ruff": { + "description": "Linter & formatter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and https://github.com/charliermarsh/ruff", + "enabled": true, + "name": "pants.backend.experimental.python.lint.ruff", + "provider": "pants" + }, + "pants.backend.experimental.python.packaging.pyoxidizer": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.python.packaging.pyoxidizer", + "provider": "pants" + }, + "pants.backend.experimental.python.typecheck.pyright": { + "description": "Static type checker for Python, running on NodeJS.\n\nSee https://github.com/Microsoft/pyright for details.", + "enabled": true, + "name": "pants.backend.experimental.python.typecheck.pyright", + "provider": "pants" + }, + "pants.backend.experimental.python.typecheck.pytype": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.python.typecheck.pytype", + "provider": "pants" + }, + "pants.backend.experimental.rust": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.rust", + "provider": "pants" + }, + "pants.backend.experimental.scala": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.scala", + "provider": "pants" + }, + "pants.backend.experimental.scala.debug_goals": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.scala.debug_goals", + "provider": "pants" + }, + "pants.backend.experimental.scala.lint.scalafmt": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.scala.lint.scalafmt", + "provider": "pants" + }, + "pants.backend.experimental.swift": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.swift", + "provider": "pants" + }, + "pants.backend.experimental.terraform": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.terraform", + "provider": "pants" + }, + "pants.backend.experimental.terraform.lint.tfsec": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.terraform.lint.tfsec", + "provider": "pants" + }, + "pants.backend.experimental.tools.semgrep": { + "description": "Lightweight static analysis for many languages. Find bug variants with patterns that look like\nsource code.\n\nSee https://semgrep.dev/ for details.", + "enabled": true, + "name": "pants.backend.experimental.tools.semgrep", + "provider": "pants" + }, + "pants.backend.experimental.tools.workunit_logger": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.tools.workunit_logger", + "provider": "pants" + }, + "pants.backend.experimental.tools.yamllint": { + "description": "A configurable linter for YAML files.\n\nSee https://yamllint.readthedocs.io/ for details.", + "enabled": true, + "name": "pants.backend.experimental.tools.yamllint", + "provider": "pants" + }, + "pants.backend.experimental.visibility": { + "description": "", + "enabled": true, + "name": "pants.backend.experimental.visibility", + "provider": "pants" + }, + "pants.backend.google_cloud_function.python": { + "description": "Create Google Cloud Functions from Python code.\n\nSee https://www.pantsbuild.org/docs/google-cloud-function-python.", + "enabled": true, + "name": "pants.backend.google_cloud_function.python", + "provider": "pants" + }, + "pants.backend.plugin_development": { + "description": "", + "enabled": true, + "name": "pants.backend.plugin_development", + "provider": "pants" + }, + "pants.backend.project_info": { + "description": "Information on your project, such as listing the targets in your project.", + "enabled": true, + "name": "pants.backend.project_info", + "provider": "pants" + }, + "pants.backend.python": { + "description": "Support for Python.\n\nSee https://www.pantsbuild.org/docs/python-backend.", + "enabled": true, + "name": "pants.backend.python", + "provider": "pants" + }, + "pants.backend.python.lint.autoflake": { + "description": "Autoformatter for removing unused Python imports.\n\nSee https://github.com/myint/autoflake for details.", + "enabled": true, + "name": "pants.backend.python.lint.autoflake", + "provider": "pants" + }, + "pants.backend.python.lint.bandit": { + "description": "Security linter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://bandit.readthedocs.io/en/latest/.", + "enabled": true, + "name": "pants.backend.python.lint.bandit", + "provider": "pants" + }, + "pants.backend.python.lint.black": { + "description": "Autoformatter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://black.readthedocs.io/en/stable/.", + "enabled": true, + "name": "pants.backend.python.lint.black", + "provider": "pants" + }, + "pants.backend.python.lint.docformatter": { + "description": "Python autoformatter for PEP257 docstring conventions.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://github.com/myint/docformatter.", + "enabled": true, + "name": "pants.backend.python.lint.docformatter", + "provider": "pants" + }, + "pants.backend.python.lint.flake8": { + "description": "Linter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://flake8.pycqa.org/en/latest/.", + "enabled": true, + "name": "pants.backend.python.lint.flake8", + "provider": "pants" + }, + "pants.backend.python.lint.isort": { + "description": "Autoformatter for Python import statements.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://pycqa.github.io/isort/.", + "enabled": true, + "name": "pants.backend.python.lint.isort", + "provider": "pants" + }, + "pants.backend.python.lint.pydocstyle": { + "description": "Static analysis tool for checking compliance with Python docstring conventions.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttp://www.pydocstyle.org/en/stable/.", + "enabled": true, + "name": "pants.backend.python.lint.pydocstyle", + "provider": "pants" + }, + "pants.backend.python.lint.pylint": { + "description": "Linter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and https://www.pylint.org.", + "enabled": true, + "name": "pants.backend.python.lint.pylint", + "provider": "pants" + }, + "pants.backend.python.lint.pyupgrade": { + "description": "https://github.com/asottile/pyupgrade.\n\nA tool to automatically upgrade syntax for newer versions of the language.", + "enabled": true, + "name": "pants.backend.python.lint.pyupgrade", + "provider": "pants" }, - "pants.core.util_rules.system_binaries.BinaryPath": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.go.util_rules.cgo_binaries", - "pants.core" - ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "BinaryPath(path: 'str', fingerprint: 'str | None' = None) -> 'None'", - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "BinaryPath", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", - "pants.backend.go.util_rules.link.setup_go_linker" - ] + "pants.backend.python.lint.yapf": { + "description": "Autoformatter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://github.com/google/yapf .", + "enabled": true, + "name": "pants.backend.python.lint.yapf", + "provider": "pants" }, - "pants.core.util_rules.system_binaries.BinaryPathRequest": { - "consumed_by_rules": [ - "pants.core.util_rules.system_binaries.find_binary" - ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Request to find a binary of a given name.\n\nIf `check_file_entries` is `True` a BinaryPathRequest will consider any entries in the\n`search_path` that are file paths in addition to traditional directory paths.\n\nIf a `test` is specified all binaries that are found will be executed with the test args and\nonly those binaries whose test executions exit with return code 0 will be retained.\nAdditionally, if test execution includes stdout content, that will be used to fingerprint the\nbinary path so that upgrades and downgrades can be detected. A reasonable test for many programs\nmight be `BinaryPathTest(args=[\"--version\"])` since it will both ensure the program runs and\nalso produce stdout text that changes upon upgrade or downgrade of the binary at the discovered\npath.", - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "BinaryPathRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", - "pants.backend.docker.util_rules.docker_binary.get_docker", - "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", - "pants.backend.go.util_rules.goroot.setup_goroot", - "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version", - "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell", - "pants.core.util_rules.system_binaries.create_binary_shims", - "pants.core.util_rules.system_binaries.find_cat", - "pants.core.util_rules.system_binaries.find_chmod", - "pants.core.util_rules.system_binaries.find_cp", - "pants.core.util_rules.system_binaries.find_diff", - "pants.core.util_rules.system_binaries.find_git", - "pants.core.util_rules.system_binaries.find_ln", - "pants.core.util_rules.system_binaries.find_mkdir", - "pants.core.util_rules.system_binaries.find_mktemp", - "pants.core.util_rules.system_binaries.find_mv", - "pants.core.util_rules.system_binaries.find_open", - "pants.core.util_rules.system_binaries.find_readlink", - "pants.core.util_rules.system_binaries.find_tar", - "pants.core.util_rules.system_binaries.find_touch", - "pants.core.util_rules.system_binaries.find_unzip", - "pants.core.util_rules.system_binaries.find_zip", - "pants.core.util_rules.system_binaries.get_bash", - "pants.core.util_rules.system_binaries.maybe_find_git" - ] + "pants.backend.python.mixed_interpreter_constraints": { + "description": "", + "enabled": true, + "name": "pants.backend.python.mixed_interpreter_constraints", + "provider": "pants" }, - "pants.core.util_rules.system_binaries.BinaryPaths": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.python.lint.ruff", - "pants.engine.process" - ], - "dependents": [ - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.go", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.shell", - "pants.core" - ], - "documentation": "BinaryPaths(binary_name: 'str', paths: 'Iterable[BinaryPath] | None' = None)", - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "BinaryPaths", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.system_binaries.find_binary" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", - "pants.backend.docker.util_rules.docker_binary.get_docker", - "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", - "pants.backend.go.util_rules.goroot.setup_goroot", - "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version", - "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell", - "pants.core.util_rules.system_binaries.create_binary_shims", - "pants.core.util_rules.system_binaries.find_cat", - "pants.core.util_rules.system_binaries.find_chmod", - "pants.core.util_rules.system_binaries.find_cp", - "pants.core.util_rules.system_binaries.find_diff", - "pants.core.util_rules.system_binaries.find_git", - "pants.core.util_rules.system_binaries.find_ln", - "pants.core.util_rules.system_binaries.find_mkdir", - "pants.core.util_rules.system_binaries.find_mktemp", - "pants.core.util_rules.system_binaries.find_mv", - "pants.core.util_rules.system_binaries.find_open", - "pants.core.util_rules.system_binaries.find_readlink", - "pants.core.util_rules.system_binaries.find_tar", - "pants.core.util_rules.system_binaries.find_touch", - "pants.core.util_rules.system_binaries.find_unzip", - "pants.core.util_rules.system_binaries.find_zip", - "pants.core.util_rules.system_binaries.get_bash", - "pants.core.util_rules.system_binaries.maybe_find_git" - ] + "pants.backend.python.providers.experimental.pyenv": { + "description": "", + "enabled": true, + "name": "pants.backend.python.providers.experimental.pyenv", + "provider": "pants" }, - "pants.core.util_rules.system_binaries.BinaryShims": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java" - ], - "dependents": [ - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.shell" - ], - "documentation": "The shims created for a BinaryShimsRequest is 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.", - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "BinaryShims", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.system_binaries.create_binary_shims" - ], - "union_members": [], - "union_type": null, - "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.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.python.providers.experimental.pyenv.custom_install": { + "description": "", + "enabled": true, + "name": "pants.backend.python.providers.experimental.pyenv.custom_install", + "provider": "pants" }, - "pants.core.util_rules.system_binaries.BinaryShimsRequest": { - "consumed_by_rules": [ - "pants.core.util_rules.system_binaries.create_binary_shims" - ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Request to create shims for one or more system binaries.", - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "BinaryShimsRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "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.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.python.typecheck.mypy": { + "description": "Type checker for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://mypy.readthedocs.io/en/stable/.", + "enabled": true, + "name": "pants.backend.python.typecheck.mypy", + "provider": "pants" }, - "pants.core.util_rules.system_binaries.CatBinary": { - "consumed_by_rules": [ - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "CatBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_cat"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "pants.backend.shell": { + "description": "", + "enabled": true, + "name": "pants.backend.shell", + "provider": "pants" }, - "pants.core.util_rules.system_binaries.ChmodBinary": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "ChmodBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_chmod"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "pants.backend.shell.lint.shellcheck": { + "description": "", + "enabled": true, + "name": "pants.backend.shell.lint.shellcheck", + "provider": "pants" }, - "pants.core.util_rules.system_binaries.CpBinary": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" - ], - "dependencies": [], - "dependents": ["pants.backend.python.typecheck.mypy"], + "pants.backend.shell.lint.shfmt": { + "description": "", + "enabled": true, + "name": "pants.backend.shell.lint.shfmt", + "provider": "pants" + }, + "pants.backend.tools.preamble": { + "description": "", + "enabled": true, + "name": "pants.backend.tools.preamble", + "provider": "pants" + }, + "pants.backend.tools.taplo": { + "description": "", + "enabled": true, + "name": "pants.backend.tools.taplo", + "provider": "pants" + }, + "pants.backend.url_handlers.s3": { + "description": "", + "enabled": true, + "name": "pants.backend.url_handlers.s3", + "provider": "pants" + }, + "pants.core": { + "description": "Core rules for Pants to operate correctly.\n\nThese are always activated and cannot be disabled.", + "enabled": true, + "name": "pants.core", + "provider": "pants" + } + }, + "name_to_build_file_info": { + "PANTS_VERSION": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "CpBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_cp"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": false, + "name": "PANTS_VERSION", + "signature": null }, - "pants.core.util_rules.system_binaries.DiffBinary": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format" - ], - "dependencies": [], - "dependents": ["pants.backend.codegen.protobuf.lint.buf"], + "__defaults__": { + "documentation": "Provide default field values.\n\nLearn more https://www.pantsbuild.org/v2.19/docs/targets#field-default-values", + "is_target": false, + "name": "__defaults__", + "signature": "(*args: 'SetDefaultsT', ignore_unknown_fields: 'bool' = False, ignore_unknown_targets: 'bool' = False, **kwargs) -> 'None'" + }, + "__dependencies_rules__": { + "documentation": "Declare dependencies rules.", + "is_target": false, + "name": "__dependencies_rules__", + "signature": "(*args, **kwargs) -> 'None'" + }, + "__dependents_rules__": { + "documentation": "Declare dependents rules.", + "is_target": false, + "name": "__dependents_rules__", + "signature": "(*args, **kwargs) -> 'None'" + }, + "_generator_sources_helper": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "DiffBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_diff"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "_generator_sources_helper", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.EnvironmentAware": { - "consumed_by_rules": [ - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "pants.core.util_rules.adhoc_binaries.download_python_binary", - "pants.core.util_rules.archive.create_archive", - "pants.core.util_rules.archive.maybe_extract_archive", - "pants.core.util_rules.system_binaries.find_cat", - "pants.core.util_rules.system_binaries.find_chmod", - "pants.core.util_rules.system_binaries.find_cp", - "pants.core.util_rules.system_binaries.find_diff", - "pants.core.util_rules.system_binaries.find_git", - "pants.core.util_rules.system_binaries.find_ln", - "pants.core.util_rules.system_binaries.find_mkdir", - "pants.core.util_rules.system_binaries.find_mktemp", - "pants.core.util_rules.system_binaries.find_mv", - "pants.core.util_rules.system_binaries.find_open", - "pants.core.util_rules.system_binaries.find_readlink", - "pants.core.util_rules.system_binaries.find_tar", - "pants.core.util_rules.system_binaries.find_touch", - "pants.core.util_rules.system_binaries.find_unzip", - "pants.core.util_rules.system_binaries.find_zip", - "pants.core.util_rules.system_binaries.get_bash", - "pants.core.util_rules.system_binaries.maybe_find_git" - ], - "dependencies": ["pants.engine.env_vars"], - "dependents": ["pants.backend.experimental.adhoc", "pants.core"], + "_lockfile": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "EnvironmentAware", - "provider": "pants.core", - "returned_by_rules": ["construct_env_aware_scope_system_binaries"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "_lockfile", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.GitBinary": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], + "_lockfiles": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "GitBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_git"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "_lockfiles", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.LnBinary": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" - ], - "dependencies": [], - "dependents": ["pants.backend.python.typecheck.mypy"], + "_pyenv_install": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "LnBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_ln"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "_pyenv_install", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.MaybeGitBinary": { - "consumed_by_rules": [ - "pants.core.util_rules.system_binaries.maybe_find_git_wrapper", - "pants.vcs.git.get_git_worktree" - ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "MaybeGitBinary(git_binary: 'GitBinary | None' = None)", - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "MaybeGitBinary", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.system_binaries.maybe_find_git", - "pants.core.util_rules.system_binaries.maybe_find_git_wrapper" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "adhoc_tool": { + "documentation": null, + "is_target": true, + "name": "adhoc_tool", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.MkdirBinary": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" - ], - "dependencies": [], - "dependents": ["pants.backend.python.typecheck.mypy"], + "archive": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "MkdirBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_mkdir"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "archive", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.MktempBinary": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" - ], - "dependencies": [], - "dependents": ["pants.backend.python.typecheck.mypy"], + "avro_source": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "MktempBinary", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.system_binaries.find_mktemp" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "avro_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.MvBinary": { - "consumed_by_rules": [ - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" - ], - "dependencies": [], - "dependents": ["pants.backend.python.typecheck.mypy"], + "avro_sources": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "MvBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_mv"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "avro_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.OpenBinary": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], + "build_file_dir": { + "documentation": "Returns the path to the directory of the current BUILD file.\n\nThe returned value is an instance of `PurePath` to make path name manipulations easy.\n\nSee: https://docs.python.org/3/library/pathlib.html#pathlib.PurePath", + "is_target": false, + "name": "build_file_dir", + "signature": "() -> 'PurePath'" + }, + "cc_source": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "OpenBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_open"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "cc_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.ReadlinkBinary": { - "consumed_by_rules": [ - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], + "cc_sources": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "ReadlinkBinary", - "provider": "pants.core", - "returned_by_rules": [ - "pants.core.util_rules.system_binaries.find_readlink" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "cc_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.SystemBinariesSubsystem": { - "consumed_by_rules": ["construct_env_aware_scope_system_binaries"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], + "cue_package": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "SystemBinariesSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_system_binaries"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "cue_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.TarBinary": { - "consumed_by_rules": [ - "pants.core.util_rules.adhoc_binaries.download_python_binary" - ], - "dependencies": ["pants.engine.platform"], - "dependents": ["pants.core"], - "documentation": "TarBinary(path: 'str', fingerprint: 'str', platform: 'Platform')", - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "TarBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_tar"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.core.util_rules.archive.create_archive", - "pants.core.util_rules.archive.maybe_extract_archive" - ] + "debian_package": { + "documentation": null, + "is_target": true, + "name": "debian_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.TouchBinary": { - "consumed_by_rules": ["pants.jvm.resources.assemble_resources_jar"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], + "deploy_jar": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "TouchBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_touch"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "deploy_jar", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.UnzipBinary": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.jvm.classpath.loose_classfiles", - "pants.jvm.run.create_run_request" - ], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.python", - "pants.core" - ], + "docker_environment": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "UnzipBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_unzip"], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.util_rules.archive.maybe_extract_archive"] + "is_target": true, + "name": "docker_environment", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.system_binaries.ZipBinary": { - "consumed_by_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.jvm.package.war.package_war", - "pants.jvm.resources.assemble_resources_jar" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java", "pants.core"], + "docker_image": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.system_binaries", - "name": "ZipBinary", - "provider": "pants.core", - "returned_by_rules": ["pants.core.util_rules.system_binaries.find_zip"], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.util_rules.archive.create_archive"] + "is_target": true, + "name": "docker_image", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.core.util_rules.wrap_source.GenerateWrapSourceSourcesRequest": { - "consumed_by_rules": [ - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_GoPackageSourcesField" - ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.go"], + "duplicate_rule": { + "documentation": "DeployJarDuplicateRule(pattern: 'str', action: 'str')", + "is_target": false, + "name": "duplicate_rule", + "signature": "(pattern: 'str', action: 'str') -> None" + }, + "env": { + "documentation": "Reference environment variable.", + "is_target": false, + "name": "env", + "signature": "(name: 'str', *args, **kwargs) -> 'Any'" + }, + "experimental_test_shell_command": { "documentation": null, - "is_union": false, - "module": "pants.core.util_rules.wrap_source", - "name": "GenerateWrapSourceSourcesRequest", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateSourcesRequest", - "used_in_rules": [] + "is_target": true, + "name": "experimental_test_shell_command", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.addresses.Addresses": { - "consumed_by_rules": [ - "pants.backend.project_info.dependencies.dependencies", - "pants.backend.project_info.dependents.dependents_goal", - "pants.backend.project_info.filedeps.file_deps", - "pants.backend.project_info.filter_targets.filter_targets", - "pants.backend.project_info.list_targets.list_targets", - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", - "pants.engine.internals.graph.coarsened_targets_request", - "pants.engine.internals.graph.resolve_unexpanded_targets" - ], - "dependencies": [ - "builtins", - "pants.backend.awslambda.python", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.shell", - "pants.build_graph.address", - "pants.engine.environment", - "pants.engine.target", - "pants.engine.unions" - ], - "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.project_info", - "pants.backend.python", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.pylint", - "pants.backend.python.mixed_interpreter_constraints", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell", - "pants.core" - ], + "experimental_wrap_as_go_package_sources": { "documentation": null, - "is_union": false, - "module": "pants.engine.addresses", - "name": "Addresses", - "provider": "pants.backend.experimental.go, pants.engine.addresses", - "returned_by_rules": [ - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_unparsed_address_inputs" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.java.bsp.rules.bsp_java_resources_request", - "pants.backend.java.goals.check.javac_check", - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", - "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.project_info.dependencies.dependencies", - "pants.backend.project_info.dependents.map_addresses_to_dependents", - "pants.backend.project_info.filedeps.file_deps", - "pants.backend.project_info.list_targets.list_targets", - "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points", - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", - "pants.backend.python.util_rules.pex.get_req_strings", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.bsp.rules.bsp_scala_resources_request", - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.backend.scala.compile.scalac_plugins.fetch_plugins", - "pants.backend.scala.goals.check.scalac_check", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "pants.engine.internals.graph.transitive_dependency_mapping", - "pants.engine.internals.graph.transitive_targets", - "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", - "pants.jvm.run.create_run_request", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "is_target": true, + "name": "experimental_wrap_as_go_package_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.addresses.UnparsedAddressInputs": { - "consumed_by_rules": [ - "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", - "pants.engine.internals.graph.resolve_unparsed_address_inputs" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go", "pants.core"], - "documentation": "Raw addresses that have not been parsed yet.\n\nYou can convert these into fully normalized `Addresses` and `Targets` like this:\n\n await Get(Addresses, UnparsedAddressInputs([\"//:tgt1\", \"//:tgt2\"], owning_address=None)\n await Get(Targets, UnparsedAddressInputs([...], owning_address=Address(\"original\"))\n\nThis is intended for contexts where the user specifies addresses outside of the `dependencies`\nfield, such as through an option or a special field on a target that is not normal\n`dependencies`. You should not use this to resolve the `dependencies` field; use\n`await Get(Addresses, DependenciesRequest)` for that.\n\nIf the addresses are coming from a target's fields, set `owning_address` so that relative\nreferences like `:sibling` work properly.\n\nUnlike the `dependencies` field, this type does not work with `!` and `!!` ignores.\n\nSet `description_of_origin` to a value like \"CLI arguments\" or \"the `dependencies` field\nfrom {tgt.address}\". It is used for better error messages.", - "is_union": false, - "module": "pants.engine.addresses", - "name": "UnparsedAddressInputs", - "provider": "pants.engine.addresses", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points", - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", - "pants.backend.python.util_rules.faas.digest_complete_platforms", - "pants.backend.python.util_rules.package_dists.get_requirements", - "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", - "pants.backend.python.util_rules.pex.digest_complete_platforms", - "pants.backend.python.util_rules.pex.get_req_strings", - "pants.core.goals.test.build_runtime_package_dependencies", - "pants.core.target_types.package_archive_target", - "pants.core.target_types.relocate_files", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "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", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", - "pants.engine.internals.graph.transitive_targets", - "pants.jvm.package.war.render_war_content", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord" - ] + "experimental_wrap_as_java_sources": { + "documentation": null, + "is_target": true, + "name": "experimental_wrap_as_java_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.desktop.OpenFilesRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "OpenFilesRequest(files: Iterable[pathlib.PurePath], *, error_if_open_not_found: bool = True)", - "is_union": false, - "module": "pants.engine.desktop", - "name": "OpenFilesRequest", - "provider": "pants.engine.desktop", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.core.goals.test.run_tests"] + "experimental_wrap_as_kotlin_sources": { + "documentation": null, + "is_target": true, + "name": "experimental_wrap_as_kotlin_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.env_vars.EnvironmentVarsRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "Requests a subset of the variables set in the environment.\n\nRequesting only the relevant subset of the environment reduces invalidation caused by unrelated\nchanges.", - "is_union": false, - "module": "pants.engine.env_vars", - "name": "EnvironmentVarsRequest", - "provider": "pants.engine.env_vars", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "construct_env_aware_scope_apache_thrift", - "construct_env_aware_scope_docker", - "construct_env_aware_scope_go_generate", - "construct_env_aware_scope_golang", - "construct_env_aware_scope_jvm", - "construct_env_aware_scope_nodejs", - "construct_env_aware_scope_pex", - "construct_env_aware_scope_python_bootstrap", - "construct_env_aware_scope_python_native_code", - "construct_env_aware_scope_shell_setup", - "construct_env_aware_scope_subprocess_environment", - "construct_env_aware_scope_system_binaries", - "construct_env_aware_scope_test", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", - "pants.backend.docker.goals.publish.push_docker_images", - "pants.backend.docker.goals.run_image.docker_image_run_request", - "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars", - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.sdk.setup_go_sdk_process", - "pants.backend.helm.util_rules.tool.helm_process", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.javascript.subsystems.nodejs.node_process_environment", - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.backend.terraform.tool.setup_terraform_process", - "pants.core.goals.export.export", - "pants.core.goals.test.get_filtered_environment", - "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths", - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", - "pants.core.util_rules.asdf.resolve_asdf_tool_paths", - "pants.core.util_rules.subprocess_environment.get_subprocess_environment", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "experimental_wrap_as_python_sources": { + "documentation": null, + "is_target": true, + "name": "experimental_wrap_as_python_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.environment.EnvironmentName": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.adhoc", - "pants.backend.shell", - "pants.core" - ], - "documentation": "The normalized name for an environment, from `[environments-preview].names`, after applying\nthings like the __local__ matcher.\n\nNote that we have this type, rather than only `EnvironmentTarget`, for a more efficient rule\ngraph. This node impacts the equality of many downstream nodes, so we want its identity to only\nbe a single string, rather than a Target instance.", - "is_union": false, - "module": "pants.engine.environment", - "name": "EnvironmentName", - "provider": "pants.engine.environment", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", - "pants.core.goals.check.check", - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", - "pants.core.goals.generate_snapshots.environment_await_generate_snapshots", - "pants.core.goals.package.environment_aware_package", - "pants.core.goals.publish.package_for_publish", - "pants.core.goals.publish.run_publish", - "pants.core.goals.test.run_tests", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_target", - "pants.engine.internals.graph.resolve_targets", - "pants.engine.internals.graph.transitive_targets" - ] + "experimental_wrap_as_resources": { + "documentation": null, + "is_target": true, + "name": "experimental_wrap_as_resources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.fs.CreateDigest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "A request to create a Digest with the input FileContent/FileEntry/SymlinkEntry/Directory\nvalues.\n\nThe engine will create any parent directories necessary, e.g. `FileContent('a/b/c.txt')` will\nresult in `a/`, `a/b`, and `a/b/c.txt` being created. You only need to use `Directory` to\ncreate an empty directory.\n\nThis does _not_ actually materialize the digest to the build root. You must use\n`engine.fs.Workspace` in a `@goal_rule` to save the resulting digest to disk.", - "is_union": false, - "module": "pants.engine.fs", - "name": "CreateDigest", - "provider": "pants.engine.fs", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", - "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.go.rules.setup_go_protoc_plugin", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", - "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile", - "pants.backend.go.go_sources.load_go_binary.setup_go_binary", - "pants.backend.go.goals.generate.merge_digests_with_overwrite", - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg.render_embed_config", - "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", - "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script", - "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code", - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.import_config.generate_import_config", - "pants.backend.go.util_rules.link.link_go_binary", - "pants.backend.go.util_rules.link.setup_go_linker", - "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", - "pants.backend.helm.goals.package.run_helm_package", - "pants.backend.helm.resolve.fetch.fetch_helm_artifact", - "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", - "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", - "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata", - "pants.backend.helm.util_rules.renderer.render_helm_chart", - "pants.backend.helm.util_rules.renderer.run_renderer", - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.java_parser.build_processors", - "pants.backend.javascript.package_json.pnpm_workspace_files", - "pants.backend.javascript.subsystems.nodejs.node_process_environment", - "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", - "pants.backend.openapi.lint.spectral.rules.run_spectral", - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", - "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.faas.build_python_faas", - "pants.backend.python.util_rules.faas.infer_runtime_platforms", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.python.util_rules.package_dists.generate_setup_py", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex.create_venv_pex", - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", - "pants.backend.python.util_rules.pex_requirements.load_lockfile", - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.backend.terraform.dependency_inference.setup_parser", - "pants.backend.tools.preamble.rules.preamble_fmt", - "pants.backend.tools.semgrep.rules.lint", - "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_yapf", - "pants.core.goals.update_build_files.update_build_files", - "pants.core.target_types.hydrate_file_source", - "pants.core.target_types.hydrate_resource_source", - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "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.external_tool.download_external_tool", - "pants.core.util_rules.system_binaries.create_binary_shims", - "pants.core.util_rules.system_binaries.find_binary", - "pants.jvm.goals.lockfile.generate_jvm_lockfile", - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.jar_tool.jar_tool.run_jar_tool", - "pants.jvm.jdk_rules.prepare_jdk_environment", - "pants.jvm.package.war.package_war", - "pants.jvm.package.war.render_war_deployment_descriptor", - "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", - "pants.jvm.resolve.coursier_setup.setup_coursier", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors" - ] + "experimental_wrap_as_scala_sources": { + "documentation": null, + "is_target": true, + "name": "experimental_wrap_as_scala_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.fs.DigestSubset": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "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", - "name": "DigestSubset", - "provider": "pants.engine.fs", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.coverage.go_apply_code_coverage", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", - "pants.backend.helm.resolve.fetch.fetch_helm_artifact", - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "pants.backend.helm.test.unittest.run_helm_unittest", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest", - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", - "pants.backend.helm.util_rules.sources.get_helm_source_files", - "pants.backend.helm.util_rules.tool.download_external_helm_plugin", - "pants.backend.helm.util_rules.tool.setup_helm", - "pants.backend.python.goals.pytest_runner.run_python_tests", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.util_rules.dists.find_build_system", - "pants.backend.python.util_rules.local_dists.build_local_dists", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "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.scalafmt.rules.partition_scalafmt", - "pants.backend.scala.test.scalatest.run_scalatest_test", - "pants.backend.tools.yamllint.rules.partition_inputs", - "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", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.package.war.package_war", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", - "pants.jvm.test.junit.run_junit_test", - "pants.jvm.util_rules.digest_to_file_digest" - ] + "file": { + "documentation": null, + "is_target": true, + "name": "file", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.fs.DownloadFile": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "Retrieve the contents of a file via an HTTP GET request or directly for local file:// URLs.\n\nTo compute the `expected_digest`, manually download the file, then run `shasum -a 256` to\ncompute the fingerprint and `wc -c` to compute the expected length of the downloaded file in\nbytes.", - "is_union": false, - "module": "pants.engine.fs", - "name": "DownloadFile", - "provider": "pants.engine.fs", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.core.target_types.hydrate_file_source", - "pants.core.target_types.hydrate_resource_source", - "pants.core.util_rules.adhoc_binaries.download_python_binary", - "pants.core.util_rules.external_tool.download_external_tool" - ] + "files": { + "documentation": null, + "is_target": true, + "name": "files", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.fs.FileContent": { - "consumed_by_rules": [ - "pants.backend.javascript.package_json.parse_package_json" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "The content of a file.\n\nThis can be used to create a new Digest with `Get(Digest, CreateDigest)`. You can also get back\na list of `FileContent` objects by using `Get(DigestContents, Digest)`.", - "is_union": false, - "module": "pants.engine.fs", - "name": "FileContent", - "provider": "pants.engine.fs", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.package_json.read_package_jsons" - ] + "go_binary": { + "documentation": null, + "is_target": true, + "name": "go_binary", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.fs.PathGlobs": { - "consumed_by_rules": [ - "pants.backend.javascript.package_json.read_package_jsons" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.openapi.lint.spectral"], - "documentation": "PathGlobs(globs: 'Iterable[str]', glob_match_error_behavior: 'GlobMatchErrorBehavior' = , conjunction: 'GlobExpansionConjunction' = , description_of_origin: 'str | None' = None) -> 'None'", - "is_union": false, - "module": "pants.engine.fs", - "name": "PathGlobs", - "provider": "pants.engine.fs", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.tailor.find_putative_targets", - "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", - "pants.backend.docker.goals.tailor.find_putative_targets", - "pants.backend.go.goals.tailor.find_putative_go_package_target", - "pants.backend.go.goals.tailor.find_putative_go_targets", - "pants.backend.helm.goals.tailor.find_putative_helm_targets", - "pants.backend.java.goals.tailor.find_putative_targets", - "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", - "pants.backend.javascript.package_json.all_package_json", - "pants.backend.javascript.package_json.package_json_for_source", - "pants.backend.javascript.package_json.parse_package_json", - "pants.backend.javascript.package_json.pnpm_workspace_files", - "pants.backend.javascript.package_json.read_package_jsons", - "pants.backend.kotlin.goals.tailor.find_putative_targets", - "pants.backend.openapi.goals.tailor.find_putative_targets", - "pants.backend.project_info.count_loc.count_loc", - "pants.backend.project_info.regex_lint.lint_with_regex_patterns", - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.tailor.find_putative_targets", - "pants.backend.python.lint.flake8.rules.run_flake8", - "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.target_types_rules.resolve_pex_entry_point", - "pants.backend.python.util_rules.ancestor_files.find_ancestor_files", - "pants.backend.python.util_rules.faas.resolve_python_faas_handler", - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", - "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints", - "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config", - "pants.backend.python.util_rules.pex_requirements.load_lockfile", - "pants.backend.scala.goals.tailor.find_putative_targets", - "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files", - "pants.backend.shell.goals.tailor.find_putative_targets", - "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets", - "pants.backend.tools.semgrep.rules.all_semgrep_ignore_files", - "pants.backend.tools.semgrep.rules.find_all_semgrep_configs", - "pants.backend.tools.semgrep.rules.lint", - "pants.backend.tools.yamllint.rules.gather_config_files", - "pants.backend.tools.yamllint.rules.run_yamllint", - "pants.bsp.util_rules.targets.materialize_bsp_build_targets", - "pants.core.goals.fix.fix_batch", - "pants.core.goals.lint.lint", - "pants.core.goals.tailor.edit_build_files", - "pants.core.goals.tailor.restrict_conflicting_sources", - "pants.core.goals.update_build_files.update_build_files", - "pants.core.util_rules.config_files.find_config_file", - "pants.engine.internals.graph.find_owners", - "pants.engine.internals.graph.hydrate_sources", - "pants.engine.internals.graph.resolve_generator_target_requests", - "pants.engine.internals.graph.resolve_source_paths", - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", - "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets", - "pants.source.source_root.all_roots", - "pants.source.source_root.get_optional_source_root" - ] + "go_mod": { + "documentation": null, + "is_target": true, + "name": "go_mod", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.build_files.AddressFamilyDir": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "The directory to find addresses for.\n\nThis does _not_ recurse into subdirectories.", - "is_union": false, - "module": "pants.engine.internals.build_files", - "name": "AddressFamilyDir", - "provider": "pants.engine.internals.build_files", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.project_info.peek.get_target_data"] + "go_package": { + "documentation": null, + "is_target": true, + "name": "go_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph.GenerateFileTargets": { - "consumed_by_rules": [ - "pants.engine.internals.graph.generate_file_targets" - ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.go"], + "go_third_party_package": { "documentation": null, - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "GenerateFileTargets", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateTargetsRequest", - "used_in_rules": [] + "is_target": true, + "name": "go_third_party_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph.Owners": { - "consumed_by_rules": [], - "dependencies": [ - "pants.build_graph.address", - "pants.core", - "pants.engine.environment", - "pants.engine.fs", - "pants.engine.internals.graph", - "pants.engine.target" - ], - "dependents": [ - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.python" - ], + "helm_artifact": { "documentation": null, - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "Owners", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.engine.internals.graph.find_owners"], - "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_node_package_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies" - ] + "is_target": true, + "name": "helm_artifact", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph.OwnersRequest": { - "consumed_by_rules": ["pants.engine.internals.graph.find_owners"], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "A request for the owners of a set of file paths.\n\nTODO: This is widely used as an effectively-public API. It should probably move to\n`pants.engine.target`.", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "OwnersRequest", - "provider": "pants.engine.internals.graph", - "returned_by_rules": [], - "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_node_package_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies" - ] + "helm_chart": { + "documentation": null, + "is_target": true, + "name": "helm_chart", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph.ResolveAllTargetGeneratorRequests": { - "consumed_by_rules": [ - "pants.engine.internals.graph.resolve_all_generator_target_requests" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ResolveAllTargetGeneratorRequests(description_of_origin: 'str', of_type: 'type[TargetGenerator] | None' = None)", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "ResolveAllTargetGeneratorRequests", - "provider": "pants.engine.internals.graph", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.package_json.all_package_json" - ] + "helm_deployment": { + "documentation": null, + "is_target": true, + "name": "helm_deployment", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph.ResolveTargetGeneratorRequests": { - "consumed_by_rules": [ - "pants.engine.internals.graph.resolve_generator_target_requests" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ResolveTargetGeneratorRequests(address: 'Address', description_of_origin: 'str')", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "ResolveTargetGeneratorRequests", - "provider": "pants.engine.internals.graph", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.engine.internals.graph.resolve_all_generator_target_requests", - "pants.engine.internals.graph.resolve_target_parametrizations" - ] + "helm_unittest_test": { + "documentation": null, + "is_target": true, + "name": "helm_unittest_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph.ResolvedTargetGeneratorRequests": { - "consumed_by_rules": [], - "dependencies": [ - "pants.engine.fs", - "pants.engine.internals.graph", - "pants.engine.internals.mapper", - "pants.engine.unions" - ], - "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.openapi.lint.spectral" - ], - "documentation": "ResolvedTargetGeneratorRequests(requests: 'tuple[GenerateTargetsRequest, ...]' = ())", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "ResolvedTargetGeneratorRequests", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.resolve_all_generator_target_requests", - "pants.engine.internals.graph.resolve_generator_target_requests" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.javascript.package_json.all_package_json", - "pants.engine.internals.graph.resolve_all_generator_target_requests", - "pants.engine.internals.graph.resolve_target_parametrizations" - ] + "helm_unittest_tests": { + "documentation": null, + "is_target": true, + "name": "helm_unittest_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph.SubprojectRoots": { - "consumed_by_rules": [ - "pants.engine.internals.graph.determine_explicitly_provided_dependencies", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_unparsed_address_inputs" - ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.go"], + "http_source": { + "documentation": "http_source(url: 'str', *, len: 'int', sha256: 'str', filename: 'str' = '')", + "is_target": false, + "name": "http_source", + "signature": "(url: 'str', *, len: 'int', sha256: 'str', filename: 'str' = '')" + }, + "java_source": { "documentation": null, - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "SubprojectRoots", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.extract_subproject_roots" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "java_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph.WrappedTargetForBootstrap": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target", "pants.engine.unions"], - "dependents": [], - "documentation": "Used to avoid a rule graph cycle when evaluating bootstrap targets.\n\nThis does not work with target generation and parametrization. It also ignores any unrecognized\nfields in the target, to accommodate plugin fields which are not yet registered during\nbootstrapping.\n\nThis should only be used by bootstrapping code.", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "WrappedTargetForBootstrap", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.resolve_target_for_bootstrapping" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "java_sources": { + "documentation": null, + "is_target": true, + "name": "java_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph._AdaptorAndType": { - "consumed_by_rules": [], - "dependencies": [ - "pants.engine.internals.graph", - "pants.engine.internals.target_adaptor", - "pants.engine.target" - ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "_AdaptorAndType(adaptor: 'TargetAdaptor', target_type: 'type[Target]')", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "_AdaptorAndType", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph._determine_target_adaptor_and_type" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.engine.internals.graph.resolve_generator_target_requests", - "pants.engine.internals.graph.resolve_target_for_bootstrapping", - "pants.engine.internals.graph.resolve_target_parametrizations" - ] + "javascript_source": { + "documentation": null, + "is_target": true, + "name": "javascript_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph._DependencyMapping": { - "consumed_by_rules": [], - "dependencies": [ - "pants.core", - "pants.engine.internals.graph", - "pants.engine.target" - ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "_DependencyMapping(mapping: 'FrozenDict[Address, tuple[Address, ...]]', visited: 'FrozenOrderedSet[Target]', roots_as_targets: 'Collection[Target]')", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "_DependencyMapping", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.transitive_dependency_mapping" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.engine.internals.graph.coarsened_targets", - "pants.engine.internals.graph.transitive_targets" - ] + "javascript_sources": { + "documentation": null, + "is_target": true, + "name": "javascript_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph._DependencyMappingRequest": { - "consumed_by_rules": [ - "pants.engine.internals.graph.transitive_dependency_mapping" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "_DependencyMappingRequest(tt_request: 'TransitiveTargetsRequest', expanded_targets: 'bool')", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "_DependencyMappingRequest", - "provider": "pants.engine.internals.graph", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.engine.internals.graph.coarsened_targets", - "pants.engine.internals.graph.transitive_targets" - ] + "javascript_test": { + "documentation": null, + "is_target": true, + "name": "javascript_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.graph._RequestAdaptorAndType": { - "consumed_by_rules": [ - "pants.engine.internals.graph._determine_target_adaptor_and_type" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "_RequestAdaptorAndType(address: 'Address', description_of_origin: 'str')", - "is_union": false, - "module": "pants.engine.internals.graph", - "name": "_RequestAdaptorAndType", - "provider": "pants.engine.internals.graph", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.engine.internals.graph.resolve_generator_target_requests", - "pants.engine.internals.graph.resolve_target_for_bootstrapping", - "pants.engine.internals.graph.resolve_target_parametrizations" - ] + "javascript_tests": { + "documentation": null, + "is_target": true, + "name": "javascript_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.parametrize._TargetParametrizations": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.scala", - "pants.backend.plugin_development", - "pants.backend.python", - "pants.engine.internals.parametrize", - "pants.engine.unions" - ], - "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.scala" - ], - "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, - "module": "pants.engine.internals.parametrize", - "name": "_TargetParametrizations", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.resolve_target_parametrizations" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_target", - "pants.engine.internals.graph.resolve_targets" - ] + "junit_test": { + "documentation": null, + "is_target": true, + "name": "junit_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.parametrize._TargetParametrizationsRequest": { - "consumed_by_rules": [ - "pants.engine.internals.graph.resolve_target_parametrizations" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "_TargetParametrizationsRequest(address: 'Address', description_of_origin: 'str')", - "is_union": false, - "module": "pants.engine.internals.parametrize", - "name": "_TargetParametrizationsRequest", - "provider": "pants.engine.internals.parametrize", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_target", - "pants.engine.internals.graph.resolve_targets" - ] + "junit_tests": { + "documentation": null, + "is_target": true, + "name": "junit_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "jvm_artifact": { + "documentation": null, + "is_target": true, + "name": "jvm_artifact", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "jvm_exclude": { + "documentation": "JvmArtifactExclusion(group: 'str', artifact: 'str | None' = None)", + "is_target": false, + "name": "jvm_exclude", + "signature": "(group: 'str', artifact: 'str | None' = None) -> None" + }, + "jvm_war": { + "documentation": null, + "is_target": true, + "name": "jvm_war", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "kotlin_junit_test": { + "documentation": null, + "is_target": true, + "name": "kotlin_junit_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "kotlin_junit_tests": { + "documentation": null, + "is_target": true, + "name": "kotlin_junit_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "kotlin_source": { + "documentation": null, + "is_target": true, + "name": "kotlin_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.synthetic_targets.SyntheticAddressMaps": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "A collection of `SyntheticAddressMap` for all synthetic target adaptors.", - "is_union": false, - "module": "pants.engine.internals.synthetic_targets", - "name": "SyntheticAddressMaps", - "provider": "pants.core", - "returned_by_rules": [ - "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "kotlin_sources": { + "documentation": null, + "is_target": true, + "name": "kotlin_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.synthetic_targets.SyntheticTargetsRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Union members of the `SyntheticTargetsRequest` should implement a rule returning an instance\nof a `SyntheticAddressMaps`.", - "is_union": true, - "module": "pants.engine.internals.synthetic_targets", - "name": "SyntheticTargetsRequest", - "provider": "pants.engine.internals.synthetic_targets", - "returned_by_rules": [], - "union_members": ["PythonSyntheticLockfileTargetsRequest"], - "union_type": null, - "used_in_rules": [] + "kotlinc_plugin": { + "documentation": null, + "is_target": true, + "name": "kotlinc_plugin", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.internals.target_adaptor.TargetAdaptorRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "Lookup the TargetAdaptor for an Address.", - "is_union": false, - "module": "pants.engine.internals.target_adaptor", - "name": "TargetAdaptorRequest", - "provider": "pants.engine.internals.target_adaptor", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "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.engine.internals.graph._determine_target_adaptor_and_type" - ] + "local_environment": { + "documentation": null, + "is_target": true, + "name": "local_environment", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.process.FallibleProcessResult": { - "consumed_by_rules": [ - "pants.engine.process.fallible_to_exec_result_or_raise" - ], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.python", - "pants.core" - ], - "dependents": [ - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.docker", - "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.yamllint", - "pants.backend.python", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - "pants.core" - ], - "documentation": "Result of executing a process which might fail.\n\nIf the process has a non-zero exit code, this will not raise an exception, unlike ProcessResult.", - "is_union": false, - "module": "pants.engine.process", - "name": "FallibleProcessResult", - "provider": "pants.backend.experimental.python.lint.ruff, pants.engine.process", - "returned_by_rules": ["pants.backend.python.lint.ruff.rules.run_ruff"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.tests_analysis.generate_testmain", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", - "pants.backend.helm.goals.lint.run_helm_lint", - "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", - "pants.backend.helm.test.unittest.run_helm_unittest", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", - "pants.backend.openapi.lint.spectral.rules.run_spectral", - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.lint.bandit.rules.bandit_lint", - "pants.backend.python.lint.docformatter.rules.docformatter_fmt", - "pants.backend.python.lint.flake8.rules.run_flake8", - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "pants.backend.python.lint.pylint.rules.run_pylint", - "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", - "pants.backend.python.lint.ruff.rules.ruff_fix", - "pants.backend.python.lint.ruff.rules.ruff_lint", - "pants.backend.python.lint.ruff.rules.run_ruff", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", - "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", - "pants.backend.scala.test.scalatest.run_scalatest_test", - "pants.backend.shell.dependency_inference.parse_shell_imports", - "pants.backend.shell.goals.test.test_shell_command", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", - "pants.backend.terraform.dependencies.get_terraform_providers", - "pants.backend.terraform.goals.check.terraform_check", - "pants.backend.tools.semgrep.rules.lint", - "pants.backend.tools.yamllint.rules.run_yamllint", - "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.jvm.jdk_rules.prepare_jdk_environment", - "pants.jvm.run.create_run_request", - "pants.jvm.test.junit.run_junit_test" - ] + "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\noutput artifacts of the build.", + "is_target": false, + "name": "node_build_script", + "signature": "(entry_point: 'str', output_directories: 'Iterable[str]' = (), output_files: 'Iterable[str]' = (), extra_caches: 'Iterable[str]' = (), extra_env_vars: 'Iterable[str]' = ()) -> 'NodeBuildScript'" }, - "pants.engine.process.InteractiveProcess": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.shell", - "pants.backend.terraform.goals.deploy", - "pants.core" - ], - "dependents": [ - "pants.backend.experimental.helm", - "pants.backend.experimental.terraform" - ], - "documentation": "InteractiveProcess(argv: 'Iterable[str]', *, env: 'Mapping[str, str] | None' = None, input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), run_in_workspace: 'bool' = False, forward_signals_to_process: 'bool' = True, restartable: 'bool' = False, append_only_caches: 'Mapping[str, str] | None' = None, immutable_input_digests: 'Mapping[str, Digest] | None' = None, keep_sandboxes: 'KeepSandboxes' = ) -> 'None'", - "is_union": false, - "module": "pants.engine.process", - "name": "InteractiveProcess", - "provider": "pants.backend.experimental.helm, pants.backend.experimental.terraform, pants.engine.process", - "returned_by_rules": [ - "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment" - ], - "union_members": [], - "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" - ] + "node_package": { + "documentation": null, + "is_target": true, + "name": "node_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.process.Process": { - "consumed_by_rules": [ - "pants.engine.process.get_multi_platform_request_description" - ], - "dependencies": [ - "builtins", - "pants.backend.go.util_rules.sdk", - "pants.backend.helm.util_rules.tool", - "pants.backend.javascript.nodejs_project_environment", - "pants.backend.javascript.subsystems.nodejs", - "pants.backend.javascript.subsystems.nodejs_tool", - "pants.backend.python", - "pants.backend.terraform.dependency_inference", - "pants.backend.terraform.tool", - "pants.engine.env_vars", - "pants.engine.platform", - "pants.jvm.jdk_rules", - "pants.jvm.resolve.coursier_setup" - ], - "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell" - ], - "documentation": "Process(argv: 'Iterable[str]', *, description: 'str', level: 'LogLevel' = , input_digest: 'Digest' = Digest('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', 0), immutable_input_digests: 'Mapping[str, Digest] | None' = None, use_nailgun: 'Iterable[str]' = (), working_directory: 'str | None' = None, env: 'Mapping[str, str] | None' = None, append_only_caches: 'Mapping[str, str] | None' = None, output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, timeout_seconds: 'int | float | None' = None, jdk_home: 'str | None' = None, execution_slot_variable: 'str | None' = None, concurrency_available: 'int' = 0, cache_scope: 'ProcessCacheScope' = , remote_cache_speculation_delay_millis: 'int' = 0, attempt: 'int' = 0) -> 'None'", - "is_union": false, - "module": "pants.engine.process", - "name": "Process", - "provider": "pants.backend.docker, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.openapi.lint.spectral, pants.backend.experimental.terraform, pants.backend.shell, pants.core, pants.engine.process", - "returned_by_rules": [ - "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile", - "pants.backend.go.util_rules.sdk.setup_go_sdk_process", - "pants.backend.helm.util_rules.tool.helm_process", - "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", - "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process", - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", - "pants.backend.python.util_rules.pex.setup_pex_process", - "pants.backend.python.util_rules.pex.setup_venv_pex_process", - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", - "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", - "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources", - "pants.backend.terraform.tool.setup_terraform_process", - "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess", - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", - "pants.jvm.jdk_rules.jvm_process", - "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "pants.backend.build_files.fmt.buildifier.rules.buildfier_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", - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile", - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.lint.gofmt.rules.gofmt_fmt", - "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", - "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.goroot.setup_goroot", - "pants.backend.go.util_rules.tests_analysis.generate_testmain", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", - "pants.backend.helm.goals.publish.publish_helm_chart", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", - "pants.backend.javascript.subsystems.nodejs.node_process_environment", - "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", - "pants.backend.project_info.count_loc.count_loc", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.test.scalatest.setup_scalatest_debug_request", - "pants.backend.shell.dependency_inference.parse_shell_imports", - "pants.backend.shell.goals.test.test_shell_command", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", - "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", - "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources", - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", - "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.process.run_proc_with_retry", - "pants.jvm.classpath.loose_classfiles", - "pants.jvm.jdk_rules.prepare_jdk_environment", - "pants.jvm.package.war.package_war", - "pants.jvm.resources.assemble_resources_jar", - "pants.jvm.run.create_run_request", - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", - "pants.jvm.test.junit.setup_junit_debug_request" - ] + "node_test_script": { + "documentation": "The test script for this package, mapped from the `scripts` section of a package.json\nfile. The pointed to script should accept a variadic number of ([ARG]...) path arguments.\n\nThis entry point is the \"test\" script, by default.", + "is_target": false, + "name": "node_test_script", + "signature": "(entry_point: 'str' = 'test', report_args: 'Iterable[str]' = (), report_output_files: 'Iterable[str]' = (), report_output_directories: 'Iterable[str]' = (), coverage_args: 'Iterable[str]' = (), coverage_output_files: 'Iterable[str]' = (), coverage_output_directories: 'Iterable[str]' = (), coverage_entry_point: 'str | None' = None) -> 'NodeTestScript'" }, - "pants.engine.process.ProcessResult": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.python.lint.ruff", - "pants.engine.process", - "pants.option.global_options" - ], - "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.openapi.lint.openapi_format", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python", - "pants.backend.experimental.python.lint.add_trailing_comma", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.project_info", - "pants.backend.python", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.black", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.yapf", - "pants.backend.shell", - "pants.backend.shell.lint.shfmt", - "pants.core" - ], - "documentation": "Result of executing a process which should not fail.\n\nIf the process has a non-zero exit code, this will raise an exception, unlike\nFallibleProcessResult.", - "is_union": false, - "module": "pants.engine.process", - "name": "ProcessResult", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": [ - "pants.engine.process.fallible_to_exec_result_or_raise" - ], - "union_members": [], - "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.yapf.register.yapf_fmt", - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", - "pants.backend.go.goals.generate.run_go_package_generators", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.lint.gofmt.rules.gofmt_fmt", - "pants.backend.go.util_rules.build_pkg.build_go_package", - "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", - "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", - "pants.backend.go.util_rules.cgo.cgo_compile_request", - "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", - "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", - "pants.backend.go.util_rules.go_mod.determine_go_mod_info", - "pants.backend.go.util_rules.goroot.setup_goroot", - "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages", - "pants.backend.go.util_rules.link.link_go_binary", - "pants.backend.go.util_rules.sdk.compute_go_tool_id", - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", - "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies", - "pants.backend.helm.goals.package.run_helm_package", - "pants.backend.helm.resolve.fetch.fetch_helm_artifact", - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "pants.backend.helm.util_rules.renderer.render_helm_chart", - "pants.backend.helm.util_rules.renderer.run_renderer", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.java_parser.build_processors", - "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", - "pants.backend.javascript.install_node_package.install_node_packages_for_address", - "pants.backend.javascript.subsystems.nodejs.node_process_environment", - "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", - "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", - "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", - "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", - "pants.backend.project_info.count_loc.count_loc", - "pants.backend.python.goals.coverage_py.merge_coverage_data", - "pants.backend.python.goals.export.do_export", - "pants.backend.python.goals.lockfile.generate_lockfile", - "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", - "pants.backend.python.lint.autoflake.rules.autoflake_fix", - "pants.backend.python.lint.black.rules.black_fmt", - "pants.backend.python.lint.isort.rules.isort_fmt", - "pants.backend.python.lint.yapf.rules.yapf_fmt", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.util_rules.dists.run_pep517_build", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "pants.backend.python.util_rules.pex.build_pex", - "pants.backend.python.util_rules.pex.determine_pex_resolve_info", - "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info", - "pants.backend.python.util_rules.pex.find_interpreter", - "pants.backend.python.util_rules.pex_venv.pex_venv", - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", - "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", - "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", - "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt", - "pants.core.goals.update_build_files.format_build_file_with_black", - "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", - "pants.core.util_rules.archive.create_archive", - "pants.core.util_rules.archive.maybe_extract_archive", - "pants.core.util_rules.system_binaries.find_binary", - "pants.jvm.classpath.loose_classfiles", - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.jar_tool.jar_tool.run_jar_tool", - "pants.jvm.package.war.package_war", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", - "pants.jvm.resources.assemble_resources_jar", - "pants.jvm.run.create_run_request", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar" - ] + "node_third_party_package": { + "documentation": null, + "is_target": true, + "name": "node_third_party_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.process.ProcessResultWithRetries": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.python.lint.ruff", - "pants.engine.process" - ], - "dependents": ["pants.backend.python"], - "documentation": "ProcessResultWithRetries(results: 'Tuple[FallibleProcessResult, ...]')", - "is_union": false, - "module": "pants.engine.process", - "name": "ProcessResultWithRetries", - "provider": "pants.backend.experimental.helm", - "returned_by_rules": ["pants.engine.process.run_proc_with_retry"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.run_python_tests" - ] + "openapi_document": { + "documentation": null, + "is_target": true, + "name": "openapi_document", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.process.ProcessWithRetries": { - "consumed_by_rules": ["pants.engine.process.run_proc_with_retry"], - "dependencies": [], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "ProcessWithRetries(proc: 'Process', attempts: 'int')", - "is_union": false, - "module": "pants.engine.process", - "name": "ProcessWithRetries", - "provider": "pants.engine.process", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.goals.pytest_runner.run_python_tests" - ] + "openapi_documents": { + "documentation": null, + "is_target": true, + "name": "openapi_documents", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.process.ProductDescription": { - "consumed_by_rules": [ - "pants.engine.process.fallible_to_exec_result_or_raise" - ], - "dependencies": [ - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.terraform", - "pants.backend.shell", - "pants.core" - ], - "dependents": ["pants.backend.experimental.helm"], - "documentation": "ProductDescription(value: 'str')", - "is_union": false, - "module": "pants.engine.process", - "name": "ProductDescription", - "provider": "pants.backend.experimental.helm, pants.engine.process", - "returned_by_rules": [ - "pants.engine.process.get_multi_platform_request_description" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", - "pants.core.util_rules.adhoc_process_support.run_adhoc_process" - ] + "openapi_source": { + "documentation": null, + "is_target": true, + "name": "openapi_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.streaming_workunit_handler.WorkunitsCallbackFactory": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "A wrapper around a callable that constructs WorkunitsCallbacks.\n\nNB: This extra wrapping is because subtyping is not supported in the return position of a\nrule. See #11354 for discussion of that limitation.", - "is_union": false, - "module": "pants.engine.streaming_workunit_handler", - "name": "WorkunitsCallbackFactory", - "provider": "pants.backend.experimental.tools.workunit_logger, pants.core", - "returned_by_rules": [ - "pants.backend.tools.workunit_logger.rules.construct_callback", - "pants.goal.stats_aggregator.construct_callback" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "openapi_sources": { + "documentation": null, + "is_target": true, + "name": "openapi_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.streaming_workunit_handler.WorkunitsCallbackFactoryRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.tools.workunit_logger", - "pants.core" - ], - "documentation": "A request for a particular WorkunitsCallbackFactory.", - "is_union": true, - "module": "pants.engine.streaming_workunit_handler", - "name": "WorkunitsCallbackFactoryRequest", - "provider": "pants.engine.streaming_workunit_handler", - "returned_by_rules": [], - "union_members": [ - "StatsAggregatorCallbackFactoryRequest", - "WorkunitLoggerCallbackFactoryRequest" - ], - "union_type": null, - "used_in_rules": [] + "package_json": { + "documentation": null, + "is_target": true, + "name": "package_json", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.AllTargets": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.target_types.find_all_protobuf_targets", - "pants.backend.codegen.thrift.target_types.find_all_thrift_targets", - "pants.backend.docker.target_types.all_docker_targets", - "pants.backend.go.target_type_rules.go_map_import_paths_by_module", - "pants.backend.helm.target_types.all_helm_artifact_targets", - "pants.backend.helm.target_types.all_helm_chart_targets", - "pants.backend.helm.target_types.all_helm_deployment_targets", - "pants.backend.helm.target_types.all_helm_unittest_test_targets", - "pants.backend.java.dependency_inference.symbol_mapper.find_all_java_targets", - "pants.backend.javascript.package_json.all_first_party_node_package_targets", - "pants.backend.kotlin.compile.kotlinc_plugins.all_kotlinc_plugin_targets", - "pants.backend.kotlin.dependency_inference.symbol_mapper.find_all_kotlin_targets", - "pants.backend.python.dependency_inference.module_mapper.find_all_python_projects", - "pants.backend.python.framework.stevedore.python_target_dependencies.find_all_python_distributions_with_any_stevedore_entry_points", - "pants.backend.python.goals.lockfile.setup_user_lockfile_requests", - "pants.backend.python.util_rules.local_dists_pep660.find_all_python_distributions", - "pants.backend.python.util_rules.vcs_versioning.find_all_vcs_version_targets", - "pants.backend.scala.compile.scalac_plugins.all_scala_plugin_targets", - "pants.backend.scala.dependency_inference.symbol_mapper.find_all_scala_targets", - "pants.backend.shell.dependency_inference.find_all_shell_targets", - "pants.backend.terraform.target_types.all_terraform_deployment_targets", - "pants.core.goals.package.find_all_packageable_targets", - "pants.core.target_types.find_all_assets", - "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_artifact_targets", - "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_provides_fields", - "pants.jvm.goals.lockfile.setup_user_lockfile_requests" - ], - "dependencies": ["pants.core"], - "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python", - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.python.mixed_interpreter_constraints", - "pants.backend.shell", - "pants.core" - ], - "documentation": "All targets in the project, but with target generators replaced by their generated targets,\nunlike `AllUnexpandedTargets`.", - "is_union": false, - "module": "pants.engine.target", - "name": "AllTargets", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.engine.internals.graph.find_all_targets"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints" - ] + "pants_requirements": { + "documentation": null, + "is_target": true, + "name": "pants_requirements", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.AllUnexpandedTargets": { - "consumed_by_rules": [ - "pants.backend.go.util_rules.go_mod.find_all_go_mod_targets", - "pants.backend.project_info.dependents.map_addresses_to_dependents", - "pants.core.goals.tailor.determine_all_owned_sources", - "pants.core.goals.tailor.rename_conflicting_targets" - ], - "dependencies": ["pants.engine.target"], - "dependents": [ - "pants.backend.experimental.go", - "pants.backend.project_info", - "pants.core" - ], - "documentation": "All targets in the project, including generated targets.\n\nThis should generally be avoided because it is relatively expensive to compute and is frequently\ninvalidated, but it can be necessary for things like dependency inference to build a global\nmapping of imports to targets.", - "is_union": false, - "module": "pants.engine.target", - "name": "AllUnexpandedTargets", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.find_all_unexpanded_targets" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "parametrize": { + "documentation": "A builtin function/dataclass that can be used to parametrize Targets.\n\nParametrization is applied between TargetAdaptor construction and Target instantiation, which\nmeans that individual Field instances need not be aware of it.", + "is_target": false, + "name": "parametrize", + "signature": "(*args: 'str', **kwargs: 'Any') -> 'None'" }, - "pants.engine.target.CoarsenedTargets": { - "consumed_by_rules": [ - "pants.jvm.classpath.classpath", - "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets" - ], - "dependencies": ["pants.engine.environment"], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.experimental.scala", - "pants.backend.python.lint.pylint", - "pants.backend.python.typecheck.mypy" - ], - "documentation": "The CoarsenedTarget roots of a transitive graph walk for some addresses.\n\nTo collect all reachable CoarsenedTarget members, use `def closure`.", - "is_union": false, - "module": "pants.engine.target", - "name": "CoarsenedTargets", - "provider": "pants.backend.experimental.go, pants.engine.target", - "returned_by_rules": ["pants.engine.internals.graph.coarsened_targets"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.java.bsp.rules.bsp_java_resources_request", - "pants.backend.java.goals.check.javac_check", - "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", - "pants.backend.kotlin.goals.check.kotlinc_check", - "pants.backend.python.lint.pylint.rules.partition_pylint", - "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", - "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.bsp.rules.bsp_scala_resources_request", - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.backend.scala.compile.scalac_plugins.fetch_plugins", - "pants.backend.scala.goals.check.scalac_check", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.jvm.classpath.classpath", - "pants.jvm.run.create_run_request" - ] + "per_platform": { + "documentation": "An object containing differing homogeneous platform-dependent values.\n\nThe values should be evaluated for the execution environment, and not the host environment\n(I.e. it should be evaluated in a `rule` which requests `Platform`).\n\nExpected usage is roughly:\n\n```python\nclass MyFieldType(...):\n value = str | per_platform[str]\n\n @classmethod\n def compute_value( # type: ignore[override]\n cls,\n raw_value: Optional[Union[str, per_platform[str]]],\n address: Address,\n ) -> Optional[Union[str, per_platform[str]]]:\n if isinstance(raw_value, per_platform):\n # NOTE: Ensure the values are homogenous\n raw_value.check_types(str)\n\n return raw_value\n\n...\n\n@rule\nasync def my_rule(..., platform: Platform) -> ...:\n field_value = target[MyFieldType].value\n\n if isinstance(field_value, per_platform):\n field_value = field_value.get_value_for_platform(platform)\n\n ...\n```\n\nNOTE: Support for this object should be heavily weighed, as it would be innaproriate to use in\ncertain contexts (such as the `source` field in a `foo_source` target, where the intent is to\nsupport differing source files based on platform. The result would be that dependency inference\n(and therefore the dependencies field) wouldn't be knowable on the host, which is not something\nthe engine can support yet).", + "is_target": false, + "name": "per_platform", + "signature": "(linux_arm64: '_T | None' = None, linux_x86_64: '_T | None' = None, macos_arm64: '_T | None' = None, macos_x86_64: '_T | None' = None) -> None" }, - "pants.engine.target.CoarsenedTargetsRequest": { - "consumed_by_rules": ["pants.engine.internals.graph.coarsened_targets"], - "dependencies": ["pants.engine.addresses"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "A request to get CoarsenedTargets for input roots.", - "is_union": false, - "module": "pants.engine.target", - "name": "CoarsenedTargetsRequest", - "provider": "pants.backend.experimental.go, pants.engine.target", - "returned_by_rules": [ - "pants.engine.internals.graph.coarsened_targets_request" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.lint.pylint.rules.partition_pylint", - "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", - "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions" - ] + "pex_binaries": { + "documentation": null, + "is_target": true, + "name": "pex_binaries", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.DependenciesRequest": { - "consumed_by_rules": [ - "pants.engine.internals.graph.convert_dependencies_request_to_explicitly_provided_dependencies_request", - "pants.engine.internals.graph.resolve_dependencies" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "DependenciesRequest(field: 'Dependencies', should_traverse_deps_predicate: 'ShouldTraverseDepsPredicate' = TraverseIfDependenciesField())", - "is_union": false, - "module": "pants.engine.target", - "name": "DependenciesRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", - "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", - "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests", - "pants.backend.helm.goals.deploy.run_helm_deploy", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.sources.get_helm_source_files", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.backend.javascript.package_json.find_owning_package", - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", - "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.project_info.dependencies.dependencies", - "pants.backend.project_info.dependents.map_addresses_to_dependents", - "pants.backend.project_info.paths.get_paths_between_root_and_destination", - "pants.backend.project_info.peek.get_target_data", - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", - "pants.backend.python.util_rules.package_dists.get_requirements", - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", - "pants.backend.shell.dependency_inference.infer_shell_dependencies", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.terraform.dependencies.init_terraform", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.transitive_dependency_mapping", - "pants.jvm.package.war.package_war" - ] + "pex_binary": { + "documentation": null, + "is_target": true, + "name": "pex_binary", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.DependenciesRuleApplicationRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "A request to return the applicable dependency rule action for each dependency of a target.", - "is_union": false, - "module": "pants.engine.target", - "name": "DependenciesRuleApplicationRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.backend.project_info.peek.get_target_data"] + "pipenv_requirements": { + "documentation": null, + "is_target": true, + "name": "pipenv_requirements", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.ExplicitlyProvidedDependencies": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.engine.target", - "pants.engine.unions" - ], - "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.experimental.scala", - "pants.backend.python", - "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.", - "is_union": false, - "module": "pants.engine.target", - "name": "ExplicitlyProvidedDependencies", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.determine_explicitly_provided_dependencies" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", - "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", - "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", - "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", - "pants.backend.shell.dependency_inference.infer_shell_dependencies", - "pants.engine.internals.graph.resolve_dependencies" - ] + "poetry_requirements": { + "documentation": null, + "is_target": true, + "name": "poetry_requirements", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.ExplicitlyProvidedDependenciesRequest": { - "consumed_by_rules": [ - "pants.engine.internals.graph.determine_explicitly_provided_dependencies" - ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ExplicitlyProvidedDependenciesRequest(field: 'Dependencies')", - "is_union": false, - "module": "pants.engine.target", - "name": "ExplicitlyProvidedDependenciesRequest", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.convert_dependencies_request_to_explicitly_provided_dependencies_request" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "protobuf_source": { + "documentation": null, + "is_target": true, + "name": "protobuf_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.FieldDefaultFactoryRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.java", "pants.backend.python"], - "documentation": "Registers a dynamic default for a Field.\n\nSee `FieldDefaults`.", - "is_union": true, - "module": "pants.engine.target", - "name": "FieldDefaultFactoryRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [ - "JvmResolveFieldDefaultFactoryRequest", - "PythonResolveFieldDefaultFactoryRequest" - ], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.field_defaults"] + "protobuf_sources": { + "documentation": null, + "is_target": true, + "name": "protobuf_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.FieldDefaultFactoryResult": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "A wrapper for a function which computes the default value of a Field.", - "is_union": false, - "module": "pants.engine.target", - "name": "FieldDefaultFactoryResult", - "provider": "pants.backend.experimental.java, pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.target_types_rules.python_resolve_field_default_factory", - "pants.jvm.target_types.jvm_resolve_field_default_factory" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.field_defaults"] + "pyoxidizer_binary": { + "documentation": null, + "is_target": true, + "name": "pyoxidizer_binary", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.FieldDefaults": { - "consumed_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", - "pants.engine.internals.graph.resolve_dependencies" - ], - "dependencies": [ - "pants.backend.experimental.java", - "pants.backend.python", - "pants.engine.unions" - ], - "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.scala", - "pants.core" - ], - "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 subsytem 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, - "module": "pants.engine.target", - "name": "FieldDefaults", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.engine.internals.graph.field_defaults"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "python_artifact": { + "documentation": "Represents a Python setup.py-based project.", + "is_target": false, + "name": "python_artifact", + "signature": "(**kwargs) -> None" }, - "pants.engine.target.FieldSetsPerTarget": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target", "pants.engine.unions"], - "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.helm", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.shell", - "pants.core" - ], - "documentation": "FieldSetsPerTarget(collection: 'Iterable[Iterable[_FS]]')", - "is_union": false, - "module": "pants.engine.target", - "name": "FieldSetsPerTarget", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.find_valid_field_sets" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "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", - "pants.core.goals.test.build_runtime_package_dependencies", - "pants.core.target_types.package_archive_target", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" - ] + "python_aws_lambda_function": { + "documentation": null, + "is_target": true, + "name": "python_aws_lambda_function", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.FieldSetsPerTargetRequest": { - "consumed_by_rules": [ - "pants.engine.internals.graph.find_valid_field_sets" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "FieldSetsPerTargetRequest(field_set_superclass: 'Type[_FS]', targets: 'Iterable[Target]')", - "is_union": false, - "module": "pants.engine.target", - "name": "FieldSetsPerTargetRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "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", - "pants.core.goals.test.build_runtime_package_dependencies", - "pants.core.target_types.package_archive_target", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment" - ] + "python_aws_lambda_layer": { + "documentation": null, + "is_target": true, + "name": "python_aws_lambda_layer", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.GenerateSourcesRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.python", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell", - "pants.core" - ], - "documentation": "A request to go from protocol sources -> a particular language.\n\nThis should be subclassed for each distinct codegen implementation. The subclasses must define\nthe class properties `input` and `output`. The subclass must also be registered via\n`UnionRule(GenerateSourcesRequest, GenerateFortranFromAvroRequest)`, for example.\n\nThe rule to actually implement the codegen should take the subclass as input, and it must\nreturn `GeneratedSources`.\n\nThe `exportable` attribute disables the use of this codegen by the `export-codegen` goal when\nset to False.\n\nFor example:\n\n class GenerateFortranFromAvroRequest:\n input = AvroSources\n output = FortranSources\n\n @rule\n def generate_fortran_from_avro(request: GenerateFortranFromAvroRequest) -> GeneratedSources:\n ...\n\n def rules():\n return [\n generate_fortran_from_avro,\n UnionRule(GenerateSourcesRequest, GenerateFortranFromAvroRequest),\n ]", - "is_union": true, - "module": "pants.engine.target", - "name": "GenerateSourcesRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [ - "GenerateDockerContextFiles", - "GenerateDockerfileRequest", - "GenerateFileSourceRequest", - "GenerateFilesFromAdhocToolRequest", - "GenerateFilesFromShellCommandRequest", - "GenerateGoFromProtobufRequest", - "GenerateJavaFromProtobufRequest", - "GeneratePythonFromProtobufRequest", - "GeneratePythonFromSetuptoolsSCMRequest", - "GeneratePythonFromThriftRequest", - "GenerateResourceSourceRequest", - "GenerateScalaFromProtobufRequest", - "GenerateWrapSourceSourcesRequest", - "GenerateWrapSourceSourcesRequest", - "GenerateWrapSourceSourcesRequest", - "GenerateWrapSourceSourcesRequest", - "GenerateWrapSourceSourcesRequest", - "GenerateWrapSourceSourcesRequest", - "RelocateFilesViaCodegenRequest" - ], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.hydrate_sources"] + "python_awslambda": { + "documentation": null, + "is_target": true, + "name": "python_awslambda", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.GenerateTargetsRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.scala", - "pants.backend.plugin_development", - "pants.backend.python" - ], - "documentation": "GenerateTargetsRequest(generator: '_TargetGenerator', template_address: 'Address', template: 'dict[str, Any]', overrides: 'dict[str, dict[Address, dict[str, Any]]]')", - "is_union": true, - "module": "pants.engine.target", - "name": "GenerateTargetsRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [ - "GenerateFileTargets", - "GenerateFromPantsRequirementsRequest", - "GenerateFromPipenvRequirementsRequest", - "GenerateFromPoetryRequirementsRequest", - "GenerateFromPythonRequirementsRequest", - "GenerateJvmArtifactForScalaTargets", - "GenerateNodePackageTargets", - "GenerateTargetsFromGoModRequest", - "GenerateTargetsFromPexBinaries" - ], - "union_type": null, - "used_in_rules": [ - "pants.engine.internals.graph.resolve_target_parametrizations" - ] + "python_distribution": { + "documentation": null, + "is_target": true, + "name": "python_distribution", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.GeneratedSources": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.engine.env_vars", - "pants.engine.environment", - "pants.engine.platform" - ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "GeneratedSources(snapshot: 'Snapshot')", - "is_union": false, - "module": "pants.engine.target", - "name": "GeneratedSources", - "provider": "pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.docker, pants.backend.experimental.adhoc, pants.backend.experimental.codegen.protobuf.go, pants.backend.experimental.codegen.protobuf.java, pants.backend.experimental.codegen.protobuf.scala, pants.backend.experimental.go, pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.python, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell, pants.core", - "returned_by_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", - "pants.backend.docker.util_rules.docker_build_context.hydrate_input_sources", - "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile", - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", - "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", - "pants.core.target_types.hydrate_file_source", - "pants.core.target_types.hydrate_resource_source", - "pants.core.target_types.relocate_files", - "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", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.hydrate_sources"] + "python_google_cloud_function": { + "documentation": null, + "is_target": true, + "name": "python_google_cloud_function", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.GeneratedTargets": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.java", - "pants.backend.shell", - "pants.base.build_root", - "pants.core", - "pants.engine.fs", - "pants.engine.internals.target_adaptor", - "pants.engine.unions" - ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "A mapping of the address of generated targets to the targets themselves.", - "is_union": false, - "module": "pants.engine.target", - "name": "GeneratedTargets", - "provider": "pants.backend.experimental.go, pants.backend.experimental.openapi.lint.spectral, pants.backend.experimental.scala, pants.backend.plugin_development, pants.backend.python", - "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.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.target_types_rules.generate_targets_from_pex_binaries", - "pants.backend.scala.target_types.generate_jvm_artifact_targets", - "pants.engine.internals.graph.generate_file_targets" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.engine.internals.graph.resolve_target_parametrizations" - ] + "python_requirement": { + "documentation": null, + "is_target": true, + "name": "python_requirement", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.HydrateSourcesRequest": { - "consumed_by_rules": ["pants.engine.internals.graph.hydrate_sources"], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "HydrateSourcesRequest(field: 'SourcesField', *, for_sources_types: 'Iterable[type[SourcesField]]' = (,), enable_codegen: 'bool' = False) -> 'None'", - "is_union": false, - "module": "pants.engine.target", - "name": "HydrateSourcesRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.export_codegen_goal.export_codegen", - "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", - "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file", - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.go_mod.determine_go_mod_info", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", - "pants.backend.helm.util_rules.sources.find_chart_source_root", - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.project_info.filedeps.file_deps", - "pants.backend.project_info.peek.get_target_data", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", - "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.core.target_types.package_archive_target", - "pants.core.target_types.relocate_files", - "pants.core.util_rules.source_files.determine_source_files", - "pants.jvm.package.war.render_war_deployment_descriptor" - ] + "python_requirements": { + "documentation": null, + "is_target": true, + "name": "python_requirements", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.HydratedSources": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.python", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell", - "pants.core", - "pants.engine.target", - "pants.engine.unions" - ], - "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.openapi", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.terraform", - "pants.backend.project_info", - "pants.backend.python", - "pants.backend.shell", - "pants.core" - ], - "documentation": "The result of hydrating a SourcesField.\n\nThe `sources_type` will indicate which of the `HydrateSourcesRequest.for_sources_type` the\nresult corresponds to, e.g. if the result comes from `FilesSources` vs. `PythonSources`. If this\nvalue is None, then the input `SourcesField` was not one of the expected types; or, when codegen\nwas enabled in the request, there was no valid code generator to generate the requested language\nfrom the original input. This property allows for switching on the result, e.g. handling\nhydrated files() sources differently than hydrated Python sources.", - "is_union": false, - "module": "pants.engine.target", - "name": "HydratedSources", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.engine.internals.graph.hydrate_sources"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.export_codegen_goal.export_codegen", - "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", - "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file", - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.go_mod.determine_go_mod_info", - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", - "pants.backend.helm.util_rules.sources.find_chart_source_root", - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.project_info.filedeps.file_deps", - "pants.backend.project_info.peek.get_target_data", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", - "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.core.target_types.package_archive_target", - "pants.core.target_types.relocate_files", - "pants.core.util_rules.source_files.determine_source_files", - "pants.jvm.package.war.render_war_deployment_descriptor" - ] + "python_source": { + "documentation": null, + "is_target": true, + "name": "python_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.InferDependenciesRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.shell" - ], - "documentation": "A request to infer dependencies by analyzing source files.\n\nTo set up a new inference implementation, subclass this class. Set the class property\n`infer_from` to the FieldSet subclass you are able to infer from. This will cause the FieldSet\nclass, and any subclass, to use your inference implementation.\n\nNote that there cannot be more than one implementation for a particular `FieldSet` class.\n\nRegister this subclass with `UnionRule(InferDependenciesRequest, InferFortranDependencies)`, for example.\n\nThen, create a rule that takes the subclass as a parameter and returns `InferredDependencies`.\n\nFor example:\n\n class InferFortranDependencies(InferDependenciesRequest):\n infer_from = FortranDependenciesInferenceFieldSet\n\n @rule\n def infer_fortran_dependencies(request: InferFortranDependencies) -> InferredDependencies:\n hydrated_sources = await Get(HydratedSources, HydrateSources(request.sources))\n ...\n return InferredDependencies(...)\n\n def rules():\n return [\n infer_fortran_dependencies,\n UnionRule(InferDependenciesRequest, InferFortranDependencies),\n ]", - "is_union": true, - "module": "pants.engine.target", - "name": "InferDependenciesRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [ - "InferApacheThriftPythonDependencies", - "InferConftestDependencies", - "InferDockerDependencies", - "InferGoBinaryMainDependencyRequest", - "InferGoPackageDependenciesRequest", - "InferGoThirdPartyPackageDependenciesRequest", - "InferHelmChartDependenciesRequest", - "InferHelmDeploymentDependenciesRequest", - "InferHelmUnitTestChartDependencyRequest", - "InferInitDependencies", - "InferJSDependenciesRequest", - "InferJavaSourceDependencies", - "InferKotlinJunitTestDependencyRequest", - "InferKotlinRuntimeDependencyRequest", - "InferKotlinSourceDependencies", - "InferNodePackageDependenciesRequest", - "InferOpenApiDocumentDependenciesRequest", - "InferOpenApiSourceDependenciesRequest", - "InferPexBinaryEntryPointDependency", - "InferProtobufDependencies", - "InferProtobufJavaRuntimeDependencyRequest", - "InferPythonDistributionDependencies", - "InferPythonFaaSHandlerDependency", - "InferPythonImportDependencies", - "InferPythonProtobufDependencies", - "InferScalaLibraryDependencyRequest", - "InferScalaPBRuntimeDependencyRequest", - "InferScalaPluginDependenciesRequest", - "InferScalaSourceDependencies", - "InferShellDependencies", - "InferStevedoreNamespacesDependencies", - "InferTerraformModuleDependenciesRequest", - "InferThriftDependencies" - ], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.resolve_dependencies"] + "python_sources": { + "documentation": null, + "is_target": true, + "name": "python_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.InferredDependencies": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.helm.util_rules.chart_metadata", - "pants.core", - "pants.engine.addresses", - "pants.engine.fs", - "pants.engine.internals.native_dep_inference" - ], - "dependents": ["pants.backend.experimental.go"], - "documentation": "InferredDependencies(include: 'Iterable[Address]', *, exclude: 'Iterable[Address]' = ()) -> 'None'", - "is_union": false, - "module": "pants.engine.target", - "name": "InferredDependencies", - "provider": "pants.backend.awslambda.python, pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.docker, pants.backend.experimental.codegen.protobuf.java, pants.backend.experimental.codegen.protobuf.scala, pants.backend.experimental.go, pants.backend.experimental.helm, pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.openapi, pants.backend.experimental.openapi.lint.spectral, pants.backend.experimental.python.framework.stevedore, pants.backend.experimental.scala, pants.backend.experimental.terraform, pants.backend.python, pants.backend.shell", - "returned_by_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency", - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency", - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "pants.backend.go.target_type_rules.infer_go_dependencies", - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency", - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", - "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", - "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis", - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", - "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.openapi.dependency_inference.infer_openapi_document_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", - "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency", - "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies", - "pants.backend.shell.dependency_inference.infer_shell_dependencies", - "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.resolve_dependencies"] + "python_test": { + "documentation": null, + "is_target": true, + "name": "python_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.MovedPluginField": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.codegen.protobuf.python"], - "documentation": "A plugin field that should be moved into the generated targets.", - "is_union": true, - "module": "pants.engine.target", - "name": "MovedPluginField", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [ - "ProtobufPythonInterpreterConstraintsField", - "ProtobufPythonResolveField", - "PythonSourceRootField" - ], - "union_type": null, - "used_in_rules": [] + "python_test_utils": { + "documentation": null, + "is_target": true, + "name": "python_test_utils", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.PluginField": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], + "python_tests": { "documentation": null, - "is_union": true, - "module": "pants.engine.target", - "name": "PluginField", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": ["SkipGofmtField"], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "python_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.SourcesPaths": { - "consumed_by_rules": [ - "pants.core.util_rules.stripped_source_files.strip_sources_paths" - ], - "dependencies": ["pants.engine.fs", "pants.engine.target"], - "dependents": [ - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.go", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.openapi.lint.openapi_format", - "pants.backend.experimental.python.lint.add_trailing_comma", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.shell.lint.shfmt", - "pants.core" - ], - "documentation": "The resolved file names of the `source`/`sources` field.\n\nThis does not consider codegen, and only captures the files from the field.", - "is_union": false, - "module": "pants.engine.target", - "name": "SourcesPaths", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.resolve_source_paths" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", - "pants.core.goals.tailor.determine_all_owned_sources", - "pants.core.goals.tailor.restrict_conflicting_sources", - "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest", - "pants.engine.internals.graph.generate_file_targets" - ] + "relocated_files": { + "documentation": null, + "is_target": true, + "name": "relocated_files", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "remote_environment": { + "documentation": null, + "is_target": true, + "name": "remote_environment", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "resource": { + "documentation": null, + "is_target": true, + "name": "resource", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.SourcesPathsRequest": { - "consumed_by_rules": [ - "pants.engine.internals.graph.resolve_source_paths" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "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, - "module": "pants.engine.target", - "name": "SourcesPathsRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", - "pants.core.goals.tailor.determine_all_owned_sources", - "pants.core.goals.tailor.restrict_conflicting_sources", - "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest", - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest", - "pants.engine.internals.graph.generate_file_targets" - ] + "resources": { + "documentation": null, + "is_target": true, + "name": "resources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.TargetFilesGeneratorSettings": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "TargetFilesGeneratorSettings(add_dependencies_on_all_siblings: 'bool' = False)", - "is_union": false, - "module": "pants.engine.target", - "name": "TargetFilesGeneratorSettings", - "provider": "pants.backend.codegen.protobuf.python, pants.backend.codegen.thrift.apache.python, pants.backend.experimental.scala, pants.backend.python, pants.backend.shell", - "returned_by_rules": [ - "pants.backend.codegen.protobuf.target_types.generator_settings", - "pants.backend.codegen.thrift.target_types.generator_settings", - "pants.backend.python.target_types_rules.python_files_generator_settings", - "pants.backend.scala.target_types.scala_settings_request", - "pants.backend.shell.target_types.generator_settings" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.generate_file_targets"] + "run_shell_command": { + "documentation": null, + "is_target": true, + "name": "run_shell_command", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.TargetFilesGeneratorSettingsRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.scala", - "pants.backend.python", - "pants.backend.shell" - ], - "documentation": "An optional union to provide dynamic settings for a `TargetFilesGenerator`.\n\nSee `TargetFilesGenerator`.", - "is_union": true, - "module": "pants.engine.target", - "name": "TargetFilesGeneratorSettingsRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [ - "GeneratorSettingsRequest", - "GeneratorSettingsRequest", - "PythonFilesGeneratorSettingsRequest", - "ScalaSettingsRequest", - "ShellGeneratorSettingsRequest" - ], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.generate_file_targets"] + "rust_package": { + "documentation": null, + "is_target": true, + "name": "rust_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.TargetRootsToFieldSetsRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "TargetRootsToFieldSetsRequest(field_set_superclass: 'Type[_FS]', *, goal_description: 'str', no_applicable_targets_behavior: 'NoApplicableTargetsBehavior', shard: 'int' = 0, num_shards: 'int' = -1) -> 'None'", - "is_union": false, - "module": "pants.engine.target", - "name": "TargetRootsToFieldSetsRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.core.goals.deploy.run_deploy", - "pants.core.goals.generate_snapshots.generate_snapshots", - "pants.core.goals.package.package_asset", - "pants.core.goals.publish.run_publish", - "pants.core.goals.run.run", - "pants.core.goals.test.run_tests" - ] + "scala_artifact": { + "documentation": null, + "is_target": true, + "name": "scala_artifact", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.TargetTypesToGenerateTargetsRequests": { - "consumed_by_rules": [ - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_generator_target_requests", - "pants.engine.internals.graph.resolve_target", - "pants.engine.internals.graph.resolve_targets" - ], - "dependencies": ["pants.engine.unions"], - "dependents": [ - "pants.backend.experimental.go", - "pants.backend.experimental.scala" - ], + "scala_exclude": { + "documentation": "ScalaArtifactExclusion(group: 'str', artifact: 'str | None' = None, crossversion: 'str' = 'partial')", + "is_target": false, + "name": "scala_exclude", + "signature": "(group: 'str', artifact: 'str | None' = None, crossversion: 'str' = 'partial') -> None" + }, + "scala_junit_test": { "documentation": null, - "is_union": false, - "module": "pants.engine.target", - "name": "TargetTypesToGenerateTargetsRequests", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.target_types_to_generate_targets_requests" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "scala_junit_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.Targets": { - "consumed_by_rules": [ - "pants.backend.go.goals.generate.go_generate", - "pants.backend.python.goals.debug_goals.dump_python_source_analysis" - ], - "dependencies": [ - "pants.bsp.util_rules.targets", - "pants.engine.environment", - "pants.engine.target", - "pants.engine.unions" - ], - "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.openapi", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.project_info", - "pants.backend.python", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - "pants.core" - ], - "documentation": "A heterogeneous collection of instances of Target subclasses.\n\nWhile every element will be a subclass of `Target`, there may be many different `Target` types\nin this collection, e.g. some `FileTarget` and some `PythonTestTarget`.\n\nOften, you will want to filter out the relevant targets by looking at what fields they have\nregistered, e.g.:\n\n valid_tgts = [tgt for tgt in tgts if tgt.has_fields([Compatibility, PythonSources])]\n\nYou should not check the Target's actual type because this breaks custom target types;\nfor example, prefer `tgt.has_field(PythonTestsSourcesField)` to\n`isinstance(tgt, PythonTestsTarget)`.", - "is_union": false, - "module": "pants.engine.target", - "name": "Targets", - "provider": "pants.backend.experimental.go, pants.core", - "returned_by_rules": [ - "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", - "pants.engine.internals.graph.resolve_targets" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.go.goals.test.prepare_go_test_binary", - "pants.backend.go.goals.test.run_go_tests", - "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.helm.goals.deploy.run_helm_deploy", - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "pants.backend.helm.util_rules.chart.get_helm_chart", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", - "pants.backend.helm.util_rules.sources.get_helm_source_files", - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", - "pants.backend.javascript.package_json.find_owning_package", - "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", - "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "pants.backend.project_info.dependencies.dependencies", - "pants.backend.project_info.paths.get_paths_between_root_and_destination", - "pants.backend.project_info.paths.paths", - "pants.backend.project_info.peek.get_target_data", - "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points", - "pants.backend.python.util_rules.package_dists.get_exporting_owner", - "pants.backend.python.util_rules.package_dists.get_requirements", - "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "pants.backend.terraform.dependencies.init_terraform", - "pants.backend.terraform.dependency_inference.infer_terraform_module_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", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", - "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", - "pants.bsp.util_rules.targets.resolve_one_dependency_module", - "pants.core.goals.test.build_runtime_package_dependencies", - "pants.core.target_types.package_archive_target", - "pants.core.target_types.relocate_files", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "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", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", - "pants.engine.internals.graph.find_all_targets", - "pants.engine.internals.graph.find_owners", - "pants.engine.internals.graph.transitive_dependency_mapping", - "pants.engine.internals.graph.transitive_targets", - "pants.jvm.package.war.render_war_content", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile" - ] + "scala_junit_tests": { + "documentation": null, + "is_target": true, + "name": "scala_junit_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.TransitiveTargets": { - "consumed_by_rules": [], - "dependencies": [ - "pants.core", - "pants.engine.addresses", - "pants.engine.environment", - "pants.engine.target", - "pants.engine.unions" - ], - "dependents": [ - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.scala", - "pants.backend.project_info", - "pants.backend.python", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.pylint", - "pants.backend.python.mixed_interpreter_constraints", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell", - "pants.core" - ], - "documentation": "A set of Target roots, and their transitive, flattened, de-duped dependencies.\n\nIf a target root is a dependency of another target root, then it will show up both in `roots`\nand in `dependencies`.", - "is_union": false, - "module": "pants.engine.target", - "name": "TransitiveTargets", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.engine.internals.graph.transitive_targets"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "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", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "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.openapi.lint.spectral.rules.run_spectral", - "pants.backend.project_info.dependencies.dependencies", - "pants.backend.project_info.filedeps.file_deps", - "pants.backend.project_info.paths.get_paths_between_root_and_destination", - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "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", - "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", - "pants.backend.python.util_rules.local_dists.build_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.package_dists.get_exporting_owner", - "pants.backend.python.util_rules.package_dists.get_owned_dependencies", - "pants.backend.python.util_rules.package_dists.get_requirements", - "pants.backend.python.util_rules.package_dists.get_sources", - "pants.backend.python.util_rules.pex.get_req_strings", - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", - "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "scala_source": { + "documentation": null, + "is_target": true, + "name": "scala_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.TransitiveTargetsRequest": { - "consumed_by_rules": ["pants.engine.internals.graph.transitive_targets"], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "A request to get the transitive dependencies of the input roots.\n\nResolve the transitive targets with `await Get(TransitiveTargets,\nTransitiveTargetsRequest([addr1, addr2])`.", - "is_union": false, - "module": "pants.engine.target", - "name": "TransitiveTargetsRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "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", - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "pants.backend.helm.test.unittest.setup_helm_unittest", - "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.openapi.lint.spectral.rules.run_spectral", - "pants.backend.project_info.dependencies.dependencies", - "pants.backend.project_info.filedeps.file_deps", - "pants.backend.project_info.paths.get_paths_between_root_and_destination", - "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "pants.backend.python.goals.package_dists.package_python_dist", - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "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", - "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", - "pants.backend.python.util_rules.local_dists.build_local_dists", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.python.util_rules.package_dists.generate_chroot", - "pants.backend.python.util_rules.package_dists.get_exporting_owner", - "pants.backend.python.util_rules.package_dists.get_owned_dependencies", - "pants.backend.python.util_rules.package_dists.get_requirements", - "pants.backend.python.util_rules.package_dists.get_sources", - "pants.backend.python.util_rules.pex.get_req_strings", - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", - "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "scala_sources": { + "documentation": null, + "is_target": true, + "name": "scala_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.TransitivelyExcludeDependenciesRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "A request to transitvely exclude dependencies of a \"root\" node.\n\nThis is similar to `InferDependenciesRequest`, except the request is only made for \"root\" nodes\nin the dependency graph.\n\nThis mirrors the public facing \"transitive exclude\" dependency feature (i.e. `!!
`).", - "is_union": true, - "module": "pants.engine.target", - "name": "TransitivelyExcludeDependenciesRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.transitive_targets"] + "scalac_plugin": { + "documentation": null, + "is_target": true, + "name": "scalac_plugin", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.UnexpandedTargets": { - "consumed_by_rules": [ - "pants.backend.project_info.peek.get_target_data", - "pants.backend.project_info.peek.peek", - "pants.engine.internals.graph.resolve_targets" - ], - "dependencies": ["pants.engine.addresses"], - "dependents": [ - "pants.backend.experimental.go", - "pants.backend.project_info", - "pants.backend.python", - "pants.core" - ], - "documentation": "Like `Targets`, but will not replace target generators with their generated targets (e.g.\nreplace `python_sources` \"BUILD targets\" with generated `python_source` \"file targets\").", - "is_union": false, - "module": "pants.engine.target", - "name": "UnexpandedTargets", - "provider": "pants.backend.experimental.go, pants.engine.target", - "returned_by_rules": [ - "pants.engine.internals.graph.resolve_unexpanded_targets" - ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.go.goals.tailor.find_putative_go_targets", - "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod", - "pants.backend.project_info.dependencies.dependencies", - "pants.backend.project_info.filedeps.file_deps", - "pants.backend.project_info.list_targets.list_targets", - "pants.backend.project_info.peek.peek", - "pants.backend.python.goals.tailor.find_putative_targets", - "pants.core.goals.tailor.restrict_conflicting_sources", - "pants.engine.internals.graph.find_all_unexpanded_targets", - "pants.engine.internals.graph.find_owners", - "pants.engine.internals.graph.transitive_dependency_mapping" - ] + "scalatest_test": { + "documentation": null, + "is_target": true, + "name": "scalatest_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "scalatest_tests": { + "documentation": null, + "is_target": true, + "name": "scalatest_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "setup_py": { + "documentation": "Represents a Python setup.py-based project.", + "is_target": false, + "name": "setup_py", + "signature": "(**kwargs) -> None" + }, + "shading_keep": { + "documentation": "JvmShadingKeepRule(pattern: 'str')", + "is_target": false, + "name": "shading_keep", + "signature": "(pattern: 'str') -> None" + }, + "shading_relocate": { + "documentation": "JvmShadingRelocateRule(package: 'str', into: 'str | None' = None)", + "is_target": false, + "name": "shading_relocate", + "signature": "(package: 'str', into: 'str | None' = None) -> None" + }, + "shading_rename": { + "documentation": "JvmShadingRenameRule(pattern: 'str', replacement: 'str')", + "is_target": false, + "name": "shading_rename", + "signature": "(pattern: 'str', replacement: 'str') -> None" + }, + "shading_zap": { + "documentation": "JvmShadingZapRule(pattern: 'str')", + "is_target": false, + "name": "shading_zap", + "signature": "(pattern: 'str') -> None" + }, + "shell_command": { + "documentation": null, + "is_target": true, + "name": "shell_command", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "shell_source": { + "documentation": null, + "is_target": true, + "name": "shell_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "shell_sources": { + "documentation": null, + "is_target": true, + "name": "shell_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.ValidateDependenciesRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": "A request to validate dependencies after they have been computed.\n\nAn implementing rule should raise an exception if dependencies are invalid.", - "is_union": true, - "module": "pants.engine.target", - "name": "ValidateDependenciesRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": ["PythonValidateDependenciesRequest"], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.resolve_dependencies"] + "shunit2_test": { + "documentation": null, + "is_target": true, + "name": "shunit2_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.ValidatedDependencies": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.go", "pants.core"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "ValidatedDependencies()", - "is_union": false, - "module": "pants.engine.target", - "name": "ValidatedDependencies", - "provider": "pants.backend.python", - "returned_by_rules": [ - "pants.backend.python.target_types_rules.validate_python_dependencies" - ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.engine.internals.graph.resolve_dependencies"] + "shunit2_tests": { + "documentation": null, + "is_target": true, + "name": "shunit2_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.engine.target.WrappedTarget": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.environment", "pants.engine.target"], - "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.scala", - "pants.backend.experimental.terraform", - "pants.backend.python", - "pants.backend.shell" - ], - "documentation": "A light wrapper to encapsulate all the distinct `Target` subclasses into a single type.\n\nThis is necessary when using a single target in a rule because the engine expects exact types\nand does not work with subtypes.", - "is_union": false, - "module": "pants.engine.target", - "name": "WrappedTarget", - "provider": "pants.backend.experimental.go", - "returned_by_rules": ["pants.engine.internals.graph.resolve_target"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.docker.goals.run_image.docker_image_run_request", - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", - "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.go_mod.determine_go_mod_info", - "pants.backend.go.util_rules.go_mod.find_owning_go_mod", - "pants.backend.helm.util_rules.chart.find_chart_for_deployment", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.backend.javascript.resolve.resolve_for_package", - "pants.backend.python.goals.pytest_runner.run_all_setup_plugins", - "pants.backend.python.target_types_rules.validate_python_dependencies", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies", - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "pants.backend.shell.goals.test.test_shell_command", - "pants.backend.shell.util_rules.shell_command.run_shell_command_request", - "pants.backend.terraform.dependencies.init_terraform", - "pants.engine.internals.graph.hydrate_sources", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_unexpanded_targets", - "pants.engine.internals.graph.resolve_unparsed_address_inputs" - ] + "stevedore_namespace": { + "documentation": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to sys.getdefaultencoding().\nerrors defaults to 'strict'.", + "is_target": false, + "name": "stevedore_namespace", + "signature": null }, - "pants.engine.target.WrappedTargetRequest": { - "consumed_by_rules": [ - "pants.engine.internals.graph.resolve_target", - "pants.engine.internals.graph.resolve_target_for_bootstrapping" - ], - "dependencies": [], - "dependents": ["pants.backend.experimental.go"], - "documentation": "Used with `WrappedTarget` to get the Target corresponding to an address.\n\n`description_of_origin` is used for error messages when the address does not actually exist. If\nyou are confident this cannot happen, set the string to something like ``.", - "is_union": false, - "module": "pants.engine.target", - "name": "WrappedTargetRequest", - "provider": "pants.engine.target", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.docker.goals.run_image.docker_image_run_request", - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", - "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "pants.backend.go.util_rules.go_mod.determine_go_mod_info", - "pants.backend.go.util_rules.go_mod.find_owning_go_mod", - "pants.backend.helm.util_rules.chart.find_chart_for_deployment", - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.backend.javascript.resolve.resolve_for_package", - "pants.backend.python.goals.pytest_runner.run_all_setup_plugins", - "pants.backend.python.target_types_rules.validate_python_dependencies", - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies", - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "pants.backend.shell.goals.test.test_shell_command", - "pants.backend.shell.util_rules.shell_command.run_shell_command_request", - "pants.backend.terraform.dependencies.init_terraform", - "pants.engine.internals.graph.hydrate_sources", - "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_unexpanded_targets", - "pants.engine.internals.graph.resolve_unparsed_address_inputs" - ] + "swift_source": { + "documentation": null, + "is_target": true, + "name": "swift_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.goal.anonymous_telemetry.AnonymousTelemetry": { - "consumed_by_rules": [], - "dependencies": ["pants.option.scope"], - "dependents": [], + "swift_sources": { "documentation": null, - "is_union": false, - "module": "pants.goal.anonymous_telemetry", - "name": "AnonymousTelemetry", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_anonymous_telemetry"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "swift_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.goal.stats_aggregator.StatsAggregatorCallbackFactoryRequest": { - "consumed_by_rules": ["pants.goal.stats_aggregator.construct_callback"], - "dependencies": ["pants.engine.streaming_workunit_handler"], - "dependents": ["pants.core"], - "documentation": "A unique request type that is installed to trigger construction of the WorkunitsCallback.", - "is_union": false, - "module": "pants.goal.stats_aggregator", - "name": "StatsAggregatorCallbackFactoryRequest", - "provider": "pants.core", - "returned_by_rules": [], - "union_members": [], - "union_type": "WorkunitsCallbackFactoryRequest", - "used_in_rules": [] + "system_binary": { + "documentation": null, + "is_target": true, + "name": "system_binary", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.goal.stats_aggregator.StatsAggregatorSubsystem": { - "consumed_by_rules": ["pants.goal.stats_aggregator.construct_callback"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], + "target": { "documentation": null, - "is_union": false, - "module": "pants.goal.stats_aggregator", - "name": "StatsAggregatorSubsystem", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_stats"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "is_target": true, + "name": "target", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.jvm.bsp.compile.BSPClasspathEntryRequest": { - "consumed_by_rules": ["pants.jvm.bsp.compile.notify_for_classpath_entry"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "A wrapper around a `ClasspathEntryRequest` which notifies the BSP client on completion.\n\nTODO: Because this struct contains a `task_id`, messages will re-render in every run, even\nthough the underlying computation does not re-run. See #15426 for an alternative.", - "is_union": false, - "module": "pants.jvm.bsp.compile", - "name": "BSPClasspathEntryRequest", - "provider": "pants.jvm.bsp.compile", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request" - ] + "terraform_deployment": { + "documentation": null, + "is_target": true, + "name": "terraform_deployment", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.jvm.classpath.Classpath": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.go", - "pants.backend.experimental.scala", - "pants.engine.target", - "pants.jvm.compile", - "pants.jvm.resolve.key" - ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.scala" - ], - "documentation": "A transitive classpath which is sufficient to launch the target(s) it was generated for.\n\nThere are two primary ways to consume a Classpath:\n 1. Using the `(root_)immutable_inputs` methods, which produce the argument to\n `Process.immutable_input_digests` and adapted CLI args for use with that argument.\n 2. Using the `digests` and `(root_)args` methods, which can be merged to produce the\n argument to `Process.input_digest` and CLI args for use with a digest.\nThe first approach should be preferred, because it allows for symlinking of inputs. If\npossible, the latter method should be removed when consumers have migrated.\n\nThis classpath is guaranteed to contain only JAR files.", - "is_union": false, - "module": "pants.jvm.classpath", - "name": "Classpath", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.classpath.classpath"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.package.war.package_war", - "pants.jvm.run.create_run_request", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "terraform_module": { + "documentation": null, + "is_target": true, + "name": "terraform_module", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.jvm.classpath.LooseClassfiles": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.scala", - "pants.core", - "pants.jvm.compile" - ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.scala" - ], - "documentation": "The contents of a classpath entry as loose classfiles.\n\nNote that `ClasspathEntry` and `Classpath` both guarantee that they contain JAR files, and so\ncreating loose classfiles from them involves extracting their entry.", - "is_union": false, - "module": "pants.jvm.classpath", - "name": "LooseClassfiles", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.classpath.loose_classfiles"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request" - ] + "thrift_source": { + "documentation": null, + "is_target": true, + "name": "thrift_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.jvm.compile.ClasspathDependenciesRequest": { - "consumed_by_rules": ["pants.jvm.compile.classpath_dependency_requests"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "ClasspathDependenciesRequest(request: 'ClasspathEntryRequest', ignore_generated: 'bool' = False)", - "is_union": false, - "module": "pants.jvm.compile", - "name": "ClasspathDependenciesRequest", - "provider": "pants.jvm.compile", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.resolve.artifact.scala_artifact_classpath", - "pants.jvm.package.deploy_jar.deploy_jar_classpath", - "pants.jvm.resources.assemble_resources_jar" - ] + "thrift_sources": { + "documentation": null, + "is_target": true, + "name": "thrift_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, - "pants.jvm.compile.ClasspathEntry": { - "consumed_by_rules": ["pants.jvm.classpath.loose_classfiles"], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.kotlin", - "pants.backend.scala.compile.scalac", - "pants.core", - "pants.engine.fs", - "pants.jvm.resolve.coursier_fetch" - ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.scala" - ], - "documentation": "A JVM classpath entry represented as a series of JAR files, and their dependencies.\n\nThis is a series of JAR files in order to account for \"exported\" dependencies, when a node\nand some of its dependencies are indistinguishable (such as for aliases, or potentially\nexplicitly declared or inferred `exported=` lists in the future).\n\nThis class additionally keeps filenames in order to preserve classpath ordering for the\n`classpath_arg` method: although Digests encode filenames, they are stored sorted.\n\nIf `[jvm].reproducible_jars`, then all JARs in a classpath entry must have had timestamps\nstripped -- either natively, or via the `pants.jvm.strip_jar` rules.\n\nTODO: Move to `classpath.py`.\nTODO: Generalize via https://github.com/pantsbuild/pants/issues/13112.\n\nNote: Non-jar artifacts (e.g., executables with \"exe\" packaging) may end up on the classpath if\nthey are dependencies.\nTODO: Does there need to be a filtering mechanism to exclude non-jar artifacts in the default case?", - "is_union": false, - "module": "pants.jvm.compile", - "name": "ClasspathEntry", - "provider": "pants.backend.experimental.java, pants.backend.experimental.scala, pants.jvm.compile", - "returned_by_rules": [ - "pants.backend.scala.compile.scalac.fetch_scala_library", - "pants.jvm.compile.required_classfiles", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord" + "vcs_version": { + "documentation": null, + "is_target": true, + "name": "vcs_version", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + } + }, + "name_to_goal_info": { + "check": { + "consumed_scopes": [ + "", + "check", + "environments-preview", + "filter" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.jvm.classpath.classpath", - "pants.jvm.jdk_rules.fetch_nailgun", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile", - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier" - ] + "description": "Run type checking or the lightest variant of compilation available for a language.", + "is_implemented": true, + "name": "check", + "provider": "pants.core" }, - "pants.jvm.compile.ClasspathEntryRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "count-loc": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "python-bootstrap", + "scc", + "system-binaries" ], - "documentation": "A request for a ClasspathEntry for the given CoarsenedTarget and resolve.\n\nTODO: Move to `classpath.py`.", - "is_union": true, - "module": "pants.jvm.compile", - "name": "ClasspathEntryRequest", - "provider": "pants.jvm.compile", - "returned_by_rules": [], - "union_members": [ - "CompileJavaSourceRequest", - "CompileKotlinSourceRequest", - "CompileScalaSourceRequest", - "CoursierFetchRequest", - "DeployJarClasspathEntryRequest", - "JvmResourcesRequest", - "ScalaArtifactClasspathEntryRequest" + "description": "Count lines of code.", + "is_implemented": true, + "name": "count-loc", + "provider": "pants.backend.project_info" + }, + "dependees": { + "consumed_scopes": [ + "", + "dependents", + "environments-preview", + "filter" ], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.goals.check.javac_check", - "pants.backend.kotlin.goals.check.kotlinc_check", - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.backend.scala.goals.check.scalac_check", - "pants.jvm.bsp.compile.notify_for_classpath_entry", - "pants.jvm.classpath.classpath", - "pants.jvm.compile.compile_classpath_entries" - ] + "description": "List all targets that depend on any of the input files/targets.", + "is_implemented": true, + "name": "dependents", + "provider": "pants.backend.project_info" }, - "pants.jvm.compile.ClasspathEntryRequestFactory": { - "consumed_by_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.java.goals.check.javac_check", - "pants.backend.kotlin.goals.check.kotlinc_check", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.backend.scala.goals.check.scalac_check", - "pants.jvm.classpath.classpath", - "pants.jvm.compile.classpath_dependency_requests" + "dependencies": { + "consumed_scopes": [ + "", + "dependencies", + "environments-preview", + "filter" ], - "dependencies": ["pants.engine.unions"], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "description": "List the dependencies of the input files/targets.", + "is_implemented": true, + "name": "dependencies", + "provider": "pants.backend.project_info" + }, + "dependents": { + "consumed_scopes": [ + "", + "dependents", + "environments-preview", + "filter" ], - "documentation": "ClasspathEntryRequestFactory(impls: 'tuple[type[ClasspathEntryRequest], ...]', generator_sources: 'FrozenDict[type[ClasspathEntryRequest], frozenset[type[SourcesField]]]')", - "is_union": false, - "module": "pants.jvm.compile", - "name": "ClasspathEntryRequestFactory", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.compile.calculate_jvm_request_types"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "description": "List all targets that depend on any of the input files/targets.", + "is_implemented": true, + "name": "dependents", + "provider": "pants.backend.project_info" }, - "pants.jvm.compile.ClasspathEntryRequests": { - "consumed_by_rules": ["pants.jvm.compile.compile_classpath_entries"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.compile", - "name": "ClasspathEntryRequests", - "provider": "pants.backend.experimental.java, pants.jvm.compile", - "returned_by_rules": ["pants.jvm.compile.classpath_dependency_requests"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.jvm.resources.assemble_resources_jar" - ] + "experimental-bsp": { + "consumed_scopes": [], + "description": "Setup repository for Build Server Protocol (https://build-server-protocol.github.io/).", + "is_implemented": true, + "name": "experimental-bsp", + "provider": "pants.core" }, - "pants.jvm.compile.FallibleClasspathEntries": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala", - "pants.jvm.compile" - ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "experimental-deploy": { + "consumed_scopes": [ + "", + "environments-preview", + "experimental-deploy", + "filter" ], - "documentation": null, - "is_union": false, - "module": "pants.jvm.compile", - "name": "FallibleClasspathEntries", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.compile.compile_classpath_entries"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.resolve.artifact.scala_artifact_classpath", - "pants.jvm.package.deploy_jar.deploy_jar_classpath", - "pants.jvm.resources.assemble_resources_jar" - ] + "description": "Perform a deployment process.", + "is_implemented": true, + "name": "experimental-deploy", + "provider": "pants.core" }, - "pants.jvm.compile.FallibleClasspathEntry": { - "consumed_by_rules": ["pants.jvm.compile.required_classfiles"], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.python.lint.ruff", - "pants.core", - "pants.engine.process", - "pants.jvm.bsp.compile", - "pants.jvm.compile", - "pants.jvm.resolve.coursier_fetch" - ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" - ], - "documentation": "FallibleClasspathEntry(description: 'str', result: 'CompileResult', output: 'ClasspathEntry | None', exit_code: 'int', stdout: 'str | None' = None, stderr: 'str | None' = None)", - "is_union": false, - "module": "pants.jvm.compile", - "name": "FallibleClasspathEntry", - "provider": "pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.scala", - "returned_by_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.resolve.artifact.scala_artifact_classpath", - "pants.jvm.bsp.compile.notify_for_classpath_entry", - "pants.jvm.package.deploy_jar.deploy_jar_classpath", - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", - "pants.jvm.resources.assemble_resources_jar" + "experimental-explorer": { + "consumed_scopes": [], + "description": "Run the Pants Explorer Web UI server.", + "is_implemented": true, + "name": "experimental-explorer", + "provider": "pants.goal" + }, + "export": { + "consumed_scopes": [ + "", + "environments-preview", + "export", + "filter" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.java.goals.check.javac_check", - "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", - "pants.backend.kotlin.goals.check.kotlinc_check", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.compile.scalac_plugins.fetch_plugins", - "pants.backend.scala.goals.check.scalac_check", - "pants.jvm.bsp.compile.notify_for_classpath_entry", - "pants.jvm.compile.compile_classpath_entries" - ] + "description": "Export Pants data for use in other tools, such as IDEs.", + "is_implemented": true, + "name": "export", + "provider": "pants.core" }, - "pants.jvm.dependency_inference.artifact_mapper.AllJvmArtifactTargets": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve", - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve", - "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", - "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve", - "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve", - "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", - "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts" + "export-codegen": { + "consumed_scopes": [ + "", + "environments-preview", + "filter" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": [ - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "description": "Write generated files to `dist/codegen` for use outside of Pants.", + "is_implemented": true, + "name": "export-codegen", + "provider": "pants.core" + }, + "filedeps": { + "consumed_scopes": [ + "", + "environments-preview", + "filedeps", + "filter" ], - "documentation": null, - "is_union": false, - "module": "pants.jvm.dependency_inference.artifact_mapper", - "name": "AllJvmArtifactTargets", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_artifact_targets" + "description": "List all source and BUILD files a target depends on.", + "is_implemented": true, + "name": "filedeps", + "provider": "pants.backend.project_info" + }, + "fix": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "fix" ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "description": "Autofix source code.", + "is_implemented": true, + "name": "fix", + "provider": "pants.core" }, - "pants.jvm.dependency_inference.artifact_mapper.AllJvmTypeProvidingTargets": { - "consumed_by_rules": [ - "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping", - "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" + "fmt": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "fmt" ], - "dependencies": ["pants.backend.experimental.go"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.dependency_inference.artifact_mapper", - "name": "AllJvmTypeProvidingTargets", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_provides_fields" + "description": "Autoformat source code.", + "is_implemented": true, + "name": "fmt", + "provider": "pants.core" + }, + "generate-lockfiles": { + "consumed_scopes": [ + "", + "environments-preview", + "generate-lockfiles" ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "description": "Generate lockfiles for third-party dependencies.", + "is_implemented": true, + "name": "generate-lockfiles", + "provider": "pants.core" }, - "pants.jvm.dependency_inference.artifact_mapper.AvailableThirdPartyArtifacts": { - "consumed_by_rules": [ - "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping" + "generate-snapshots": { + "consumed_scopes": [ + "", + "environments-preview", + "filter" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "Maps coordinates and resolve names to target `Address`es and declared packages.", - "is_union": false, - "module": "pants.jvm.dependency_inference.artifact_mapper", - "name": "AvailableThirdPartyArtifacts", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts" + "description": "Generate test snapshots.", + "is_implemented": true, + "name": "generate-snapshots", + "provider": "pants.core" + }, + "go-dump-import-path-mapping": { + "consumed_scopes": [ + "", + "environments-preview", + "filter" ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "description": "Dump import paths mapped to package addresses.", + "is_implemented": true, + "name": "go-dump-import-path-mapping", + "provider": "pants.backend.experimental.go.debug_goals" }, - "pants.jvm.dependency_inference.artifact_mapper.ThirdPartySymbolMapping": { - "consumed_by_rules": [ - "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" + "go-export-cgo-codegen": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "go-test", + "golang", + "system-binaries" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "The third party symbols provided by all `jvm_artifact` targets.", - "is_union": false, - "module": "pants.jvm.dependency_inference.artifact_mapper", - "name": "ThirdPartySymbolMapping", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping" + "description": "Export files generated by Cgo.", + "is_implemented": true, + "name": "go-export-cgo-codegen", + "provider": "pants.backend.experimental.go.debug_goals" + }, + "go-generate": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "go-generate", + "go-test", + "golang", + "system-binaries" ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "description": "Run each command in a package described by a `//go:generate` directive. This is equivalent to running `go generate` on a Go package.\n\nNote: Just like with `go generate`, the `go-generate` goal is never run as part of the build and must be run manually to invoke the commands described by the `//go:generate` directives.\n\nSee https://go.dev/blog/generate for details.", + "is_implemented": true, + "name": "go-generate", + "provider": "pants.backend.experimental.go" }, - "pants.jvm.dependency_inference.symbol_mapper.FirstPartyMappingRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "go-show-package-analysis": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "go-test", + "golang", + "system-binaries" ], - "documentation": "An entry point for a specific implementation of mapping JVM package names to owning targets.\n\nAll implementations will be merged together.\n\nThe addresses should all be file addresses, rather than BUILD addresses.", - "is_union": true, - "module": "pants.jvm.dependency_inference.symbol_mapper", - "name": "FirstPartyMappingRequest", - "provider": "pants.jvm.dependency_inference.symbol_mapper", - "returned_by_rules": [], - "union_members": [ - "FirstPartyJavaTargetsMappingRequest", - "FirstPartyKotlinTargetsMappingRequest", - "FirstPartyScalaTargetsMappingRequest" + "description": "Show the package analysis for Go package targets.", + "is_implemented": true, + "name": "go-show-package-analysis", + "provider": "pants.backend.experimental.go.debug_goals" + }, + "help": { + "consumed_scopes": [], + "description": "Display usage message.", + "is_implemented": true, + "name": "help", + "provider": "pants.goal" + }, + "help-advanced": { + "consumed_scopes": [], + "description": "Help for advanced options.", + "is_implemented": true, + "name": "help-advanced", + "provider": "pants.goal" + }, + "help-all": { + "consumed_scopes": [], + "description": "Print a JSON object containing all help info.", + "is_implemented": true, + "name": "help-all", + "provider": "pants.goal" + }, + "java-dump-source-analysis": { + "consumed_scopes": [ + "", + "coursier", + "environments-preview", + "filter", + "jvm", + "python-bootstrap", + "system-binaries" ], - "union_type": null, - "used_in_rules": [ - "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" - ] + "description": "Dump source analysis for java_source[s] targets.", + "is_implemented": true, + "name": "java-dump-source-analysis", + "provider": "pants.backend.experimental.java.debug_goals" }, - "pants.jvm.dependency_inference.symbol_mapper.SymbolMap": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "The first party symbols provided by a single inference implementation.", - "is_union": false, - "module": "pants.jvm.dependency_inference.symbol_mapper", - "name": "SymbolMap", - "provider": "pants.backend.experimental.java, pants.backend.experimental.kotlin, pants.backend.experimental.scala", - "returned_by_rules": [ - "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", - "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", - "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols" + "jvm-symbol-map": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "java-infer", + "jvm" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" - ] + "description": "Dump the JVM dependency inference symbol mapping.", + "is_implemented": true, + "name": "jvm-symbol-map", + "provider": "pants.backend.experimental.java.debug_goals" }, - "pants.jvm.dependency_inference.symbol_mapper.SymbolMapping": { - "consumed_by_rules": [ - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis" + "kotlin-dump-source-analysis": { + "consumed_scopes": [ + "", + "coursier", + "environments-preview", + "filter", + "jvm", + "python-bootstrap", + "system-binaries" ], - "dependencies": [ - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala", - "pants.engine.unions" + "description": "Dump source analysis for kotlin_source targets.", + "is_implemented": true, + "name": "kotlin-dump-source-analysis", + "provider": "pants.backend.experimental.kotlin.debug_goals" + }, + "lint": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "lint" ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "description": "Run linters/formatters/fixers in check mode.", + "is_implemented": true, + "name": "lint", + "provider": "pants.core" + }, + "list": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "list" ], - "documentation": "The merged first and third party symbols provided by all inference implementations.", - "is_union": false, - "module": "pants.jvm.dependency_inference.symbol_mapper", - "name": "SymbolMapping", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings" + "description": "Lists all targets matching the file or target arguments.", + "is_implemented": true, + "name": "list", + "provider": "pants.backend.project_info" + }, + "package": { + "consumed_scopes": [ + "", + "environments-preview", + "filter" ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "description": "Create a distributable package.", + "is_implemented": true, + "name": "package", + "provider": "pants.core" }, - "pants.jvm.goals.lockfile.GenerateJvmLockfile": { - "consumed_by_rules": [ - "pants.jvm.goals.lockfile.generate_jvm_lockfile", - "pants.jvm.goals.lockfile.wrap_jvm_lockfile_request" + "paths": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "paths" ], - "dependencies": [ - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.core", - "pants.engine.unions", - "pants.jvm.goals.lockfile", - "pants.jvm.resolve.common" + "description": "List the paths between two addresses. Either address may represent a group of targets, e.g. `--from=src/app/main.py --to=src/library::`.", + "is_implemented": true, + "name": "paths", + "provider": "pants.backend.project_info" + }, + "peek": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "peek" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "GenerateJvmLockfile(resolve_name: 'str', lockfile_dest: 'str', diff: 'bool', artifacts: 'ArtifactRequirements')", - "is_union": false, - "module": "pants.jvm.goals.lockfile", - "name": "GenerateJvmLockfile", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve", - "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool" + "description": "Display BUILD target info", + "is_implemented": true, + "name": "peek", + "provider": "pants.backend.project_info" + }, + "publish": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "publish" ], - "union_members": [], - "union_type": "GenerateLockfile", - "used_in_rules": ["pants.jvm.goals.lockfile.setup_user_lockfile_requests"] + "description": "Publish deliverables (assets, distributions, images, etc).", + "is_implemented": true, + "name": "publish", + "provider": "pants.core" }, - "pants.jvm.goals.lockfile.KnownJVMUserResolveNamesRequest": { - "consumed_by_rules": [ - "pants.jvm.goals.lockfile.determine_jvm_user_resolves" + "py-constraints": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "py-constraints", + "python" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.goals.lockfile", - "name": "KnownJVMUserResolveNamesRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "KnownUserResolveNamesRequest", - "used_in_rules": [] + "description": "Determine what Python interpreter constraints are used by files/targets.", + "is_implemented": true, + "name": "py-constraints", + "provider": "pants.backend.python.mixed_interpreter_constraints" }, - "pants.jvm.goals.lockfile.RequestedJVMUserResolveNames": { - "consumed_by_rules": [ - "pants.jvm.goals.lockfile.setup_user_lockfile_requests" + "python-dump-source-analysis": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "python", + "python-dump-source-analysis", + "python-infer", + "source" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.goals.lockfile", - "name": "RequestedJVMUserResolveNames", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "RequestedUserResolveNames", - "used_in_rules": [] + "description": "Dump source analysis for python_source targets.", + "is_implemented": true, + "name": "python-dump-source-analysis", + "provider": "pants.backend.experimental.python" }, - "pants.jvm.goals.lockfile.ValidateJvmArtifactsForResolveRequest": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.experimental.scala"], - "documentation": "Hook for backends to validate the artifact requirements requested for a resolve.\n\nThe main user is the Scala backend which will ensure scala-library is present in the resolve.", - "is_union": true, - "module": "pants.jvm.goals.lockfile", - "name": "ValidateJvmArtifactsForResolveRequest", - "provider": "pants.jvm.goals.lockfile", - "returned_by_rules": [], - "union_members": ["ValidateResolveHasScalaRuntimeRequest"], - "union_type": null, - "used_in_rules": [ - "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve" - ] + "repl": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "repl" + ], + "description": "Open a REPL with the specified code loadable.", + "is_implemented": true, + "name": "repl", + "provider": "pants.core" }, - "pants.jvm.goals.lockfile.ValidateJvmArtifactsForResolveResult": { - "consumed_by_rules": [], - "dependencies": ["pants.backend.experimental.java"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "Sentinel type that represents that a backend is satisfied with the artifacts for a JVM\nresolve.", - "is_union": false, - "module": "pants.jvm.goals.lockfile", - "name": "ValidateJvmArtifactsForResolveResult", - "provider": "pants.backend.experimental.scala", - "returned_by_rules": [ - "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve" + "roots": { + "consumed_scopes": [ + "roots", + "source" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve" - ] + "description": "List the repo's registered source roots.", + "is_implemented": true, + "name": "roots", + "provider": "pants.backend.project_info" }, - "pants.jvm.goals.lockfile._ValidateJvmArtifactsRequest": { - "consumed_by_rules": [ - "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve" + "run": { + "consumed_scopes": [ + "", + "debug-adapter", + "environments-preview", + "filter", + "run" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "_ValidateJvmArtifactsRequest(artifacts: 'ArtifactRequirements', resolve_name: 'str')", - "is_union": false, - "module": "pants.jvm.goals.lockfile", - "name": "_ValidateJvmArtifactsRequest", - "provider": "pants.jvm.goals.lockfile", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.jvm.goals.lockfile.setup_user_lockfile_requests"] + "description": "Runs a binary target.\n\nThis goal propagates the return code of the underlying executable.\n\nIf your application can safely be restarted while it is running, you can pass `restartable=True` on your binary target (for supported types), and the `run` goal will automatically restart them as all relevant files change. This can be particularly useful for server applications.", + "is_implemented": true, + "name": "run", + "provider": "pants.core" }, - "pants.jvm.jar_tool.jar_tool.JarToolCompiledClassfiles": { - "consumed_by_rules": ["pants.jvm.jar_tool.jar_tool.run_jar_tool"], - "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.core", - "pants.engine.fs" + "scala-dump-source-analysis": { + "consumed_scopes": [ + "", + "coursier", + "environments-preview", + "filter", + "jvm", + "python-bootstrap", + "scala", + "scalac", + "system-binaries" + ], + "description": "Dump source analysis for scala_source targets.", + "is_implemented": true, + "name": "scala-dump-source-analysis", + "provider": "pants.backend.experimental.scala.debug_goals" + }, + "tailor": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "tailor" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JarToolCompiledClassfiles(digest: 'Digest')", - "is_union": false, - "module": "pants.jvm.jar_tool.jar_tool", - "name": "JarToolCompiledClassfiles", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.jar_tool.jar_tool.build_jar_tool"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "description": "Auto-generate BUILD file targets for new source files.\n\nEach specific `tailor` implementation may be disabled through language-specific options, e.g. `[python].tailor_pex_binary_targets` and `[shell-setup].tailor`.", + "is_implemented": true, + "name": "tailor", + "provider": "pants.core" }, - "pants.jvm.jar_tool.jar_tool.JarToolGenerateLockfileSentinel": { - "consumed_by_rules": [ - "pants.jvm.jar_tool.jar_tool.generate_jartool_lockfile_request" + "test": { + "consumed_scopes": [ + "", + "debug-adapter", + "environments-preview", + "filter", + "system-binaries", + "test" + ], + "description": "Run tests.", + "is_implemented": true, + "name": "test", + "provider": "pants.core" + }, + "update-build-files": { + "consumed_scopes": [ + "", + "environments-preview", + "filter", + "update-build-files" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], + "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/v2.19/docs/upgrade-tips for upgrade tips.\n\nThis goal is run without arguments. It will run over all BUILD files in your project.", + "is_implemented": true, + "name": "update-build-files", + "provider": "pants.core" + }, + "version": { + "consumed_scopes": [], + "description": "Display Pants version.", + "is_implemented": true, + "name": "version", + "provider": "pants.goal" + } + }, + "name_to_rule_info": { + "construct_env_aware_scope_apache_thrift": { + "description": null, "documentation": null, - "is_union": false, - "module": "pants.jvm.jar_tool.jar_tool", - "name": "JarToolGenerateLockfileSentinel", - "provider": "pants.backend.experimental.java, pants.jvm.jar_tool.jar_tool", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateToolLockfileSentinel", - "used_in_rules": [ - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.jar_tool.jar_tool.run_jar_tool" - ] + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "ApacheThriftSubsystem", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_apache_thrift", + "output_type": "EnvironmentAware", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "pants.jvm.jar_tool.jar_tool.JarToolRequest": { - "consumed_by_rules": ["pants.jvm.jar_tool.jar_tool.run_jar_tool"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JarToolRequest(*, jar_name: 'str', digest: 'Digest', main_class: 'str | None' = None, classpath_entries: 'Iterable[str] | None' = None, manifest: 'str | None' = None, jars: 'Iterable[str] | None' = None, file_mappings: 'Mapping[str, str] | None' = None, default_action: 'JarDuplicateAction | None' = None, policies: 'Iterable[tuple[str, str | JarDuplicateAction]] | None' = None, skip: 'Iterable[str] | None' = None, compress: 'bool' = False, update: 'bool' = False) -> 'None'", - "is_union": false, - "module": "pants.jvm.jar_tool.jar_tool", - "name": "JarToolRequest", - "provider": "pants.jvm.jar_tool.jar_tool", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.jvm.package.deploy_jar.package_deploy_jar"] + "construct_env_aware_scope_docker": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "DockerOptions", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_docker", + "output_type": "EnvironmentAware", + "provider": "pants.backend.docker" }, - "pants.jvm.jdk_rules.InternalJdk": { - "consumed_by_rules": [ - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "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.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", - "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", - "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.lint.scalafmt.rules.scalafmt_fmt", - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.jar_tool.jar_tool.run_jar_tool", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar" + "construct_env_aware_scope_go_generate": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt" + "input_types": [ + "GoGenerateGoalSubsystem", + "EnvironmentTarget" ], - "documentation": "The JDK configured for internal Pants usage, rather than for matching source compatibility.\n\nThe InternalJdk should only be used in situations where no classfiles are required for a user's\nfirstparty or thirdparty code (such as for codegen, or analysis of source files).", - "is_union": false, - "module": "pants.jvm.jdk_rules", - "name": "InternalJdk", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.jdk_rules.internal_jdk"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "name": "construct_env_aware_scope_go_generate", + "output_type": "EnvironmentAware", + "provider": "pants.backend.experimental.go" }, - "pants.jvm.jdk_rules.JdkEnvironment": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.python.lint.ruff", - "pants.core", - "pants.engine.process", - "pants.jvm.jdk_rules" + "construct_env_aware_scope_golang": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "input_types": [ + "GolangSubsystem", + "EnvironmentTarget" ], - "documentation": "JdkEnvironment(_digest: 'Digest', nailgun_jar: 'str', coursier: 'Coursier', jre_major_version: 'int', global_jvm_options: 'tuple[str, ...]', java_home_command: 'str')", - "is_union": false, - "module": "pants.jvm.jdk_rules", - "name": "JdkEnvironment", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.jdk_rules.prepare_jdk_environment"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.jvm.jdk_rules.internal_jdk", - "pants.jvm.run.create_run_request", - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "name": "construct_env_aware_scope_golang", + "output_type": "EnvironmentAware", + "provider": "pants.backend.experimental.go" }, - "pants.jvm.jdk_rules.JdkRequest": { - "consumed_by_rules": ["pants.jvm.jdk_rules.prepare_jdk_environment"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "Request for a JDK with a specific major version, or a default (`--jvm-jdk` or System).", - "is_union": false, - "module": "pants.jvm.jdk_rules", - "name": "JdkRequest", - "provider": "pants.jvm.jdk_rules", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.jvm.jdk_rules.internal_jdk", - "pants.jvm.run.create_run_request", - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "construct_env_aware_scope_jvm": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "JvmSubsystem", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_jvm", + "output_type": "EnvironmentAware", + "provider": "pants.backend.experimental.java" }, - "pants.jvm.jdk_rules.JvmProcess": { - "consumed_by_rules": ["pants.jvm.jdk_rules.jvm_process"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JvmProcess(jdk: 'JdkEnvironment', argv: 'Iterable[str]', classpath_entries: 'Iterable[str]', input_digest: 'Digest', description: 'str', level: 'LogLevel' = , extra_jvm_options: 'Iterable[str] | None' = None, extra_nailgun_keys: 'Iterable[str] | None' = None, output_files: 'Iterable[str] | None' = None, output_directories: 'Iterable[str] | None' = None, extra_immutable_input_digests: 'Mapping[str, Digest] | None' = None, extra_env: 'Mapping[str, str] | None' = None, timeout_seconds: 'int | float | None' = None, cache_scope: 'ProcessCacheScope | None' = None, use_nailgun: 'bool' = True, remote_cache_speculation_delay: 'int | None' = None)", - "is_union": false, - "module": "pants.jvm.jdk_rules", - "name": "JvmProcess", - "provider": "pants.jvm.jdk_rules", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "pants.backend.java.compile.javac.compile_java_source", - "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.scala.compile.scalac.compile_scala_source", - "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.lint.scalafmt.rules.scalafmt_fmt", - "pants.backend.scala.test.scalatest.run_scalatest_test", - "pants.backend.scala.test.scalatest.setup_scalatest_debug_request", - "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "pants.jvm.jar_tool.jar_tool.run_jar_tool", - "pants.jvm.run.create_run_request", - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar", - "pants.jvm.test.junit.run_junit_test", - "pants.jvm.test.junit.setup_junit_debug_request" - ] + "construct_env_aware_scope_nodejs": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "NodeJS", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_nodejs", + "output_type": "EnvironmentAware", + "provider": "pants.backend.experimental.javascript" }, - "pants.jvm.jdk_rules.Nailgun": { - "consumed_by_rules": ["pants.jvm.jdk_rules.prepare_jdk_environment"], - "dependencies": ["pants.backend.experimental.scala", "pants.jvm.compile"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "Nailgun(classpath_entry: 'ClasspathEntry')", - "is_union": false, - "module": "pants.jvm.jdk_rules", - "name": "Nailgun", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.jdk_rules.fetch_nailgun"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "construct_env_aware_scope_pex": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "PexSubsystem", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_pex", + "output_type": "EnvironmentAware", + "provider": "pants.core" }, - "pants.jvm.package.deploy_jar.DeployJarClasspathEntryRequest": { - "consumed_by_rules": [ - "pants.jvm.package.deploy_jar.deploy_jar_classpath" + "construct_env_aware_scope_pyenv_python_provider": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "PyenvPythonProviderSubsystem", + "EnvironmentTarget" ], - "dependencies": ["pants.jvm.compile"], - "dependents": ["pants.backend.experimental.java"], + "name": "construct_env_aware_scope_pyenv_python_provider", + "output_type": "EnvironmentAware", + "provider": "pants.backend.python.providers.experimental.pyenv" + }, + "construct_env_aware_scope_python_bootstrap": { + "description": null, "documentation": null, - "is_union": false, - "module": "pants.jvm.package.deploy_jar", - "name": "DeployJarClasspathEntryRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "ClasspathEntryRequest", - "used_in_rules": [] + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "PythonBootstrapSubsystem", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_python_bootstrap", + "output_type": "EnvironmentAware", + "provider": "pants.core" }, - "pants.jvm.package.deploy_jar.DeployJarFieldSet": { - "consumed_by_rules": [ - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DeployJarFieldSet", - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request" + "construct_env_aware_scope_python_native_code": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "DeployJarFieldSet(address: 'Address', main_class: pants.jvm.target_types.JvmMainClassNameField, output_path: pants.core.goals.package.OutputPathField, dependencies: pants.jvm.target_types.JvmDependenciesField, jdk_version: pants.jvm.target_types.JvmJdkField, duplicate_policy: pants.jvm.target_types.DeployJarDuplicatePolicyField, shading_rules: pants.jvm.target_types.DeployJarShadingRulesField, exclude_files: pants.jvm.target_types.DeployJarExcludeFilesField)", - "is_union": false, - "module": "pants.jvm.package.deploy_jar", - "name": "DeployJarFieldSet", - "provider": "pants.backend.experimental.java, pants.jvm.package.deploy_jar", - "returned_by_rules": [], - "union_members": [], - "union_type": "PackageFieldSet", - "used_in_rules": [ - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request" - ] + "input_types": [ + "PythonNativeCodeSubsystem", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_python_native_code", + "output_type": "EnvironmentAware", + "provider": "pants.core" }, - "pants.jvm.package.war.PackageWarFileFieldSet": { - "consumed_by_rules": ["pants.jvm.package.war.package_war"], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "PackageWarFileFieldSet(address: 'Address', output_path: 'OutputPathField', dependencies: 'JvmWarDependenciesField', descriptor: 'JvmWarDescriptorAddressField', content: 'JvmWarContentField', shading_rules: 'JvmWarShadingRulesField')", - "is_union": false, - "module": "pants.jvm.package.war", - "name": "PackageWarFileFieldSet", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "PackageFieldSet", - "used_in_rules": [] + "construct_env_aware_scope_shell_setup": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "ShellSetup", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_shell_setup", + "output_type": "EnvironmentAware", + "provider": "pants.backend.shell" }, - "pants.jvm.package.war.RenderWarContentRequest": { - "consumed_by_rules": ["pants.jvm.package.war.render_war_content"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "RenderWarContentRequest(content: 'JvmWarContentField')", - "is_union": false, - "module": "pants.jvm.package.war", - "name": "RenderWarContentRequest", - "provider": "pants.jvm.package.war", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.jvm.package.war.package_war"] + "construct_env_aware_scope_subprocess_environment": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "SubprocessEnvironment", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_subprocess_environment", + "output_type": "EnvironmentAware", + "provider": "pants.core" }, - "pants.jvm.package.war.RenderWarDeploymentDescriptorRequest": { - "consumed_by_rules": [ - "pants.jvm.package.war.render_war_deployment_descriptor" + "construct_env_aware_scope_system_binaries": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "RenderWarDeploymentDescriptorRequest(descriptor: 'JvmWarDescriptorAddressField', owning_address: 'Address')", - "is_union": false, - "module": "pants.jvm.package.war", - "name": "RenderWarDeploymentDescriptorRequest", - "provider": "pants.jvm.package.war", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.jvm.package.war.package_war"] + "input_types": [ + "SystemBinariesSubsystem", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_system_binaries", + "output_type": "EnvironmentAware", + "provider": "pants.core" }, - "pants.jvm.package.war.RenderedWarContent": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.core", - "pants.engine.addresses", - "pants.jvm.package.war" + "construct_env_aware_scope_test": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "RenderedWarContent(digest: 'Digest')", - "is_union": false, - "module": "pants.jvm.package.war", - "name": "RenderedWarContent", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.package.war.render_war_content"], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.jvm.package.war.package_war"] + "input_types": [ + "TestSubsystem", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_test", + "output_type": "EnvironmentAware", + "provider": "pants.core" }, - "pants.jvm.package.war.RenderedWarDeploymentDescriptor": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.core", - "pants.engine.fs", - "pants.jvm.package.war" + "construct_scope_": { + "description": null, + "documentation": "Options to control the overall behavior of Pants.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "RenderedWarDeploymentDescriptor(digest: 'Digest')", - "is_union": false, - "module": "pants.jvm.package.war", - "name": "RenderedWarDeploymentDescriptor", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.package.war.render_war_deployment_descriptor" + "input_types": [], + "name": "construct_scope_", + "output_type": "GlobalOptions", + "provider": "pants.core" + }, + "construct_scope_add_trailing_comma": { + "description": null, + "documentation": "The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.jvm.package.war.package_war"] + "input_types": [], + "name": "construct_scope_add_trailing_comma", + "output_type": "AddTrailingComma", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma" }, - "pants.jvm.resolve.common.ArtifactRequirements": { - "consumed_by_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", - "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info" + "construct_scope_anonymous_telemetry": { + "description": null, + "documentation": "Options related to sending anonymous stats to the Pants project, to aid development.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.core" + "input_types": [], + "name": "construct_scope_anonymous_telemetry", + "output_type": "AnonymousTelemetry", + "provider": "pants.core" + }, + "construct_scope_apache_thrift": { + "description": null, + "documentation": "Apache Thrift IDL compiler (https://thrift.apache.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": [ - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java" + "input_types": [], + "name": "construct_scope_apache_thrift", + "output_type": "ApacheThriftSubsystem", + "provider": "pants.backend.codegen.thrift.apache.python" + }, + "construct_scope_autoflake": { + "description": null, + "documentation": "The Autoflake Python code formatter (https://github.com/myint/autoflake).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": "An ordered list of Coordinates used as requirements.", - "is_union": false, - "module": "pants.jvm.resolve.common", - "name": "ArtifactRequirements", - "provider": "pants.backend.experimental.java, pants.jvm.resolve.common", - "returned_by_rules": [ - "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile" + "input_types": [], + "name": "construct_scope_autoflake", + "output_type": "Autoflake", + "provider": "pants.backend.python.lint.autoflake" + }, + "construct_scope_avro": { + "description": null, + "documentation": "General Avro codegen settings.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", - "pants.jvm.goals.lockfile.generate_jvm_lockfile", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", - "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool" - ] + "input_types": [], + "name": "construct_scope_avro", + "output_type": "AvroSubsystem", + "provider": "pants.backend.experimental.codegen.avro.java" }, - "pants.jvm.resolve.common.GatherJvmCoordinatesRequest": { - "consumed_by_rules": [ - "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile" + "construct_scope_bandit": { + "description": null, + "documentation": "A tool for finding security issues in Python code (https://bandit.readthedocs.io).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "A request to turn strings of coordinates (`group:artifact:version`) and/or addresses to\n`jvm_artifact` targets into `ArtifactRequirements`.", - "is_union": false, - "module": "pants.jvm.resolve.common", - "name": "GatherJvmCoordinatesRequest", - "provider": "pants.jvm.resolve.common", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", - "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool" - ] + "input_types": [], + "name": "construct_scope_bandit", + "output_type": "Bandit", + "provider": "pants.backend.python.lint.bandit" }, - "pants.jvm.resolve.coursier_fetch.CoursierFetchRequest": { - "consumed_by_rules": [ - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier" + "construct_scope_black": { + "description": null, + "documentation": "The Black Python code formatter (https://black.readthedocs.io/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.jvm.compile"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.resolve.coursier_fetch", - "name": "CoursierFetchRequest", - "provider": "pants.backend.experimental.java, pants.jvm.resolve.coursier_fetch", - "returned_by_rules": [], - "union_members": [], - "union_type": "ClasspathEntryRequest", - "used_in_rules": [ - "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", - "pants.backend.scala.compile.scalac_plugins.fetch_plugins" - ] + "input_types": [], + "name": "construct_scope_black", + "output_type": "Black", + "provider": "pants.core" }, - "pants.jvm.resolve.coursier_fetch.CoursierLockfileEntry": { - "consumed_by_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord" + "construct_scope_buf": { + "description": null, + "documentation": "A linter and formatter for Protocol Buffers (https://github.com/bufbuild/buf).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "A single artifact entry from a Coursier-resolved lockfile.\n\nThese fields are nearly identical to the JSON objects from the\n\"dependencies\" entries in Coursier's --json-output-file format.\nBut unlike Coursier's JSON report, a CoursierLockfileEntry\nincludes the content-address of the artifact fetched by Coursier\nand ingested by Pants.\n\nFor example, a Coursier JSON report dependency entry might look like this:\n\n```\n{\n \"coord\": \"com.chuusai:shapeless_2.13:2.3.3\",\n \"file\": \"/home/USER/.cache/coursier/v1/https/repo1.maven.org/maven2/com/chuusai/shapeless_2.13/2.3.3/shapeless_2.13-2.3.3.jar\",\n \"directDependencies\": [\n \"org.scala-lang:scala-library:2.13.0\"\n ],\n \"dependencies\": [\n \"org.scala-lang:scala-library:2.13.0\"\n ]\n}\n```\n\nThe equivalent CoursierLockfileEntry would look like this:\n\n```\nCoursierLockfileEntry(\n coord=\"com.chuusai:shapeless_2.13:2.3.3\", # identical\n file_name=\"shapeless_2.13-2.3.3.jar\" # PurePath(entry[\"file\"].name)\n direct_dependencies=(Coordinate.from_coord_str(\"org.scala-lang:scala-library:2.13.0\"),),\n dependencies=(Coordinate.from_coord_str(\"org.scala-lang:scala-library:2.13.0\"),),\n file_digest=FileDigest(fingerprint=, ...),\n)\n```\n\nThe fields `remote_url` and `pants_address` are set by Pants if the `coord` field matches a\n`jvm_artifact` that had either the `url` or `jar` fields set.", - "is_union": false, - "module": "pants.jvm.resolve.coursier_fetch", - "name": "CoursierLockfileEntry", - "provider": "pants.jvm.resolve.coursier_fetch", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.jdk_rules.fetch_nailgun", - "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile", - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier" - ] + "input_types": [], + "name": "construct_scope_buf", + "output_type": "BufSubsystem", + "provider": "pants.backend.codegen.protobuf.lint.buf" }, - "pants.jvm.resolve.coursier_fetch.CoursierResolveInfo": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.core", - "pants.jvm.resolve.common" + "construct_scope_build_deprecations_fixer": { + "description": null, + "documentation": "A tool/plugin for fixing BUILD file deprecations (where possible).\n\nThis includes deprecations for:\n\n - Renamed targets\n - Renamed fields", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "CoursierResolveInfo(coord_arg_strings: 'FrozenSet[str]', extra_args: 'tuple[str, ...]', digest: 'Digest')", - "is_union": false, - "module": "pants.jvm.resolve.coursier_fetch", - "name": "CoursierResolveInfo", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info" + "input_types": [], + "name": "construct_scope_build_deprecations_fixer", + "output_type": "BUILDDeprecationsFixer", + "provider": "pants.backend.build_files.fix.deprecations" + }, + "construct_scope_buildifier": { + "description": null, + "documentation": "Buildifier is a tool for formatting BUILD files with a standard convention.\n\nPants supports running Buildifier on your Pants BUILD files for several reasons:\n - You might like the style that buildifier uses.\n - You might be incrementally adopting Pants from Bazel, and are already using buildifier.\n\nPlease note that there are differences from Bazel's BUILD files (which are Starlark) and Pants' BUILD files (which are Python), so buildifier may issue a syntax error. In practice, these errors should be rare. See https://bazel.build/rules/language#differences_with_python.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile" - ] + "input_types": [], + "name": "construct_scope_buildifier", + "output_type": "Buildifier", + "provider": "pants.backend.build_files.fmt.buildifier" }, - "pants.jvm.resolve.coursier_fetch.CoursierResolvedLockfile": { - "consumed_by_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile" + "construct_scope_cc": { + "description": null, + "documentation": "Options for a system-discovered `cc` toolchain.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.core", - "pants.engine.fs", - "pants.jvm.resolve.common", - "pants.jvm.resolve.key" + "input_types": [], + "name": "construct_scope_cc", + "output_type": "CCSubsystem", + "provider": "pants.backend.experimental.cc" + }, + "construct_scope_cc_external": { + "description": null, + "documentation": "Options for downloaded `cc` toolchain.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.scala" + "input_types": [], + "name": "construct_scope_cc_external", + "output_type": "ExternalCCSubsystem", + "provider": "pants.backend.experimental.cc" + }, + "construct_scope_cc_infer": { + "description": null, + "documentation": "Options controlling which dependencies will be inferred for CC targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": "An in-memory representation of Pants' Coursier lockfile format.\n\nAll coordinates in the resolved lockfile will be compatible, so we do not need to do version\ntesting when looking up coordinates.", - "is_union": false, - "module": "pants.jvm.resolve.coursier_fetch", - "name": "CoursierResolvedLockfile", - "provider": "pants.backend.experimental.java, pants.jvm.resolve.coursier_fetch", - "returned_by_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", - "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve" + "input_types": [], + "name": "construct_scope_cc_infer", + "output_type": "CCInferSubsystem", + "provider": "pants.backend.experimental.cc" + }, + "construct_scope_check": { + "description": null, + "documentation": "Run type checking or the lightest variant of compilation available for a language.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.jvm.goals.lockfile.generate_jvm_lockfile", - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" - ] + "input_types": [], + "name": "construct_scope_check", + "output_type": "CheckSubsystem", + "provider": "pants.core" }, - "pants.jvm.resolve.coursier_fetch.ResolvedClasspathEntries": { - "consumed_by_rules": [], - "dependencies": [ - "pants.backend.experimental.scala", - "pants.jvm.compile", - "pants.jvm.resolve.coursier_fetch" + "construct_scope_clang_format": { + "description": null, + "documentation": "The clang-format utility for formatting C/C++ (and others) code (https://clang.llvm.org/docs/ClangFormat.html). The clang-format binaries are retrieved from PyPi (https://pypi.org/project/clang-format/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "A collection of resolved classpath entries.", - "is_union": false, - "module": "pants.jvm.resolve.coursier_fetch", - "name": "ResolvedClasspathEntries", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile" + "input_types": [], + "name": "construct_scope_clang_format", + "output_type": "ClangFormat", + "provider": "pants.backend.experimental.cc.lint.clangformat" + }, + "construct_scope_count_loc": { + "description": null, + "documentation": "Count lines of code.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" - ] + "input_types": [], + "name": "construct_scope_count_loc", + "output_type": "CountLinesOfCodeSubsystem", + "provider": "pants.backend.project_info" }, - "pants.jvm.resolve.coursier_fetch.ToolClasspath": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.jvm.resolve.common", - "pants.jvm.resolve.coursier_fetch" + "construct_scope_coursier": { + "description": null, + "documentation": "A dependency resolver for the Maven ecosystem. (https://get-coursier.io/)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": [ - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt" + "input_types": [], + "name": "construct_scope_coursier", + "output_type": "CoursierSubsystem", + "provider": "pants.backend.experimental.java" + }, + "construct_scope_coverage_py": { + "description": null, + "documentation": "Configuration for Python test coverage measurement.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": "A fully fetched and merged classpath for running a JVM tool.", - "is_union": false, - "module": "pants.jvm.resolve.coursier_fetch", - "name": "ToolClasspath", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [ - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" + "input_types": [], + "name": "construct_scope_coverage_py", + "output_type": "CoverageSubsystem", + "provider": "pants.backend.python" + }, + "construct_scope_cue": { + "description": null, + "documentation": "CUE is an open-source data validation language and inference engine with its roots in logic programming. Although the language is not a general-purpose programming language, it has many applications, such as data validation, data templating, configuration, querying, code generation and even scripting. The inference engine can be used to validate data in code or to include it as part of a code generation pipeline.\n\nHomepage: https://cuelang.org/", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "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.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.compile.scalac.fetch_scala_library", - "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.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", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "input_types": [], + "name": "construct_scope_cue", + "output_type": "Cue", + "provider": "pants.backend.experimental.cue" }, - "pants.jvm.resolve.coursier_fetch.ToolClasspathRequest": { - "consumed_by_rules": [ - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" + "construct_scope_debug_adapter": { + "description": null, + "documentation": "Options used to configure and launch a Debug Adapter server.\n\nSee https://microsoft.github.io/debug-adapter-protocol/ for more information.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "A request to set up the classpath for a JVM tool by fetching artifacts and merging the\nclasspath.\n\n:param prefix: if set, should be a relative directory that will\n be prepended to every classpath element. This is useful for\n keeping all classpath elements isolated under a single directory\n in a process invocation, where other inputs on the process's\n root directory might interfere with un-prefixed classpath\n entries (or vice versa).", - "is_union": false, - "module": "pants.jvm.resolve.coursier_fetch", - "name": "ToolClasspathRequest", - "provider": "pants.jvm.resolve.coursier_fetch", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "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.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.compile.scalac.fetch_scala_library", - "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.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", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "input_types": [], + "name": "construct_scope_debug_adapter", + "output_type": "DebugAdapterSubsystem", + "provider": "pants.core" }, - "pants.jvm.resolve.coursier_setup.Coursier": { - "consumed_by_rules": [ - "pants.jvm.jdk_rules.prepare_jdk_environment", - "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper" + "construct_scope_debugpy": { + "description": null, + "documentation": "An implementation of the Debug Adapter Protocol for Python (https://github.com/microsoft/debugpy).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.core", - "pants.engine.platform" + "input_types": [], + "name": "construct_scope_debugpy", + "output_type": "DebugPy", + "provider": "pants.backend.python" + }, + "construct_scope_dependencies": { + "description": null, + "documentation": "List the dependencies of the input files/targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "The Coursier tool and various utilities, prepared for use via `immutable_input_digests`.", - "is_union": false, - "module": "pants.jvm.resolve.coursier_setup", - "name": "Coursier", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.resolve.coursier_setup.setup_coursier"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_dependencies", + "output_type": "DependenciesSubsystem", + "provider": "pants.backend.project_info" }, - "pants.jvm.resolve.coursier_setup.CoursierFetchProcess": { - "consumed_by_rules": [ - "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper" + "construct_scope_dependents": { + "description": null, + "documentation": "List all targets that depend on any of the input files/targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "CoursierFetchProcess(args: 'Tuple[str, ...]', input_digest: 'Digest', output_directories: 'Tuple[str, ...]', output_files: 'Tuple[str, ...]', description: 'str')", - "is_union": false, - "module": "pants.jvm.resolve.coursier_setup", - "name": "CoursierFetchProcess", - "provider": "pants.jvm.resolve.coursier_setup", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile" - ] + "input_types": [], + "name": "construct_scope_dependents", + "output_type": "DependentsSubsystem", + "provider": "pants.backend.project_info" }, - "pants.jvm.resolve.coursier_setup.CoursierSubsystem": { - "consumed_by_rules": ["pants.jvm.resolve.coursier_setup.setup_coursier"], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.resolve.coursier_setup", - "name": "CoursierSubsystem", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["construct_scope_coursier"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "construct_scope_docformatter": { + "description": null, + "documentation": "The Python docformatter tool (https://github.com/myint/docformatter).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_docformatter", + "output_type": "Docformatter", + "provider": "pants.backend.python.lint.docformatter" }, - "pants.jvm.resolve.jvm_tool.GenerateJvmLockfileFromTool": { - "consumed_by_rules": [ - "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool" + "construct_scope_docker": { + "description": null, + "documentation": "Options for interacting with Docker.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [ - "pants.backend.codegen.protobuf.java.rules", - "pants.backend.codegen.protobuf.scala.rules", - "pants.backend.java.dependency_inference.java_parser", - "pants.backend.java.lint.google_java_format.rules", - "pants.backend.kotlin.dependency_inference.kotlin_parser", - "pants.backend.kotlin.lint.ktlint.rules", - "pants.backend.scala.dependency_inference.scala_parser", - "pants.backend.scala.lint.scalafmt.rules", - "pants.backend.scala.test.scalatest", - "pants.jvm.jar_tool.jar_tool", - "pants.jvm.shading.jarjar", - "pants.jvm.strip_jar.strip_jar", - "pants.jvm.test.junit" + "input_types": [], + "name": "construct_scope_docker", + "output_type": "DockerOptions", + "provider": "pants.backend.docker" + }, + "construct_scope_dockerfile_parser": { + "description": null, + "documentation": "Used to parse Dockerfile build specs to infer their dependencies.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": [ - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt" + "input_types": [], + "name": "construct_scope_dockerfile_parser", + "output_type": "DockerfileParser", + "provider": "pants.backend.docker" + }, + "construct_scope_download_terraform": { + "description": null, + "documentation": "Terraform (https://terraform.io)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": "Create a `GenerateJvmLockfile` request for a JVM tool.\n\nWe allow tools to either use coordinates or addresses to `jvm_artifact` targets for the artifact\ninputs. This is a convenience to parse those artifact inputs to create a standardized\n`GenerateJvmLockfile`.", - "is_union": false, - "module": "pants.jvm.resolve.jvm_tool", - "name": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.codegen.protobuf.java, pants.backend.experimental.codegen.protobuf.scala, pants.backend.experimental.java, pants.backend.experimental.java.lint.google_java_format, pants.backend.experimental.kotlin, pants.backend.experimental.kotlin.lint.ktlint, pants.backend.experimental.scala, pants.backend.experimental.scala.lint.scalafmt", - "returned_by_rules": [ - "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request", - "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request", - "pants.backend.java.dependency_inference.java_parser.generate_java_parser_lockfile_request", - "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request", - "pants.backend.kotlin.dependency_inference.kotlin_parser.generate_kotlin_parser_lockfile_request", - "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request", - "pants.backend.scala.dependency_inference.scala_parser.generate_scala_parser_lockfile_request", - "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request", - "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request", - "pants.jvm.jar_tool.jar_tool.generate_jartool_lockfile_request", - "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request", - "pants.jvm.strip_jar.strip_jar.generate_strip_jar_lockfile_request", - "pants.jvm.test.junit.generate_junit_lockfile_request" + "input_types": [], + "name": "construct_scope_download_terraform", + "output_type": "TerraformTool", + "provider": "pants.backend.experimental.terraform" + }, + "construct_scope_environments_preview": { + "description": null, + "documentation": "A highly experimental subsystem to allow setting environment variables and executable search paths for different environments, e.g. macOS vs. Linux.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "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.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.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", - "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", - "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", - "pants.jvm.shading.rules.shade_jar", - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar", - "pants.jvm.test.junit.setup_junit_for_target" - ] + "input_types": [], + "name": "construct_scope_environments_preview", + "output_type": "EnvironmentsSubsystem", + "provider": "pants.backend.experimental.javascript" }, - "pants.jvm.resolve.key.CoursierResolveKey": { - "consumed_by_rules": [ - "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve" + "construct_scope_experimental_bsp": { + "description": null, + "documentation": "Setup repository for Build Server Protocol (https://build-server-protocol.github.io/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [ - "builtins", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.core", - "pants.engine.target" + "input_types": [], + "name": "construct_scope_experimental_bsp", + "output_type": "BSPGoal", + "provider": "pants.core" + }, + "construct_scope_experimental_deploy": { + "description": null, + "documentation": "Perform a deployment process.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": [ - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "input_types": [], + "name": "construct_scope_experimental_deploy", + "output_type": "DeploySubsystem", + "provider": "pants.core" + }, + "construct_scope_export": { + "description": null, + "documentation": "Export Pants data for use in other tools, such as IDEs.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": "CoursierResolveKey(name: 'str', path: 'str', digest: 'Digest')", - "is_union": false, - "module": "pants.jvm.resolve.key", - "name": "CoursierResolveKey", - "provider": "pants.backend.experimental.java, pants.jvm.resolve.key", - "returned_by_rules": [ - "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets" + "input_types": [], + "name": "construct_scope_export", + "output_type": "ExportSubsystem", + "provider": "pants.core" + }, + "construct_scope_export_codegen": { + "description": null, + "documentation": "Write generated files to `dist/codegen` for use outside of Pants.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.bsp.rules.bsp_java_compile_request", - "pants.backend.java.goals.check.javac_check", - "pants.backend.kotlin.goals.check.kotlinc_check", - "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "pants.backend.scala.goals.check.scalac_check", - "pants.jvm.classpath.classpath", - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool" - ] + "input_types": [], + "name": "construct_scope_export_codegen", + "output_type": "ExportCodegenSubsystem", + "provider": "pants.core" }, - "pants.jvm.resources.JvmResourcesRequest": { - "consumed_by_rules": ["pants.jvm.resources.assemble_resources_jar"], - "dependencies": ["pants.jvm.compile"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.resources", - "name": "JvmResourcesRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "ClasspathEntryRequest", - "used_in_rules": [] + "construct_scope_filedeps": { + "description": null, + "documentation": "List all source and BUILD files a target depends on.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_filedeps", + "output_type": "FiledepsSubsystem", + "provider": "pants.backend.project_info" }, - "pants.jvm.shading.jarjar.JarJar": { - "consumed_by_rules": [ - "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request", - "pants.jvm.shading.rules.shade_jar" + "construct_scope_filter": { + "description": null, + "documentation": "Filter the input targets based on various criteria.\n\nMost of the filtering options below are comma-separated lists of filtering criteria, with an implied logical OR between them, so that a target passes the filter if it matches any of the criteria in the list. A '-' prefix inverts the sense of the entire comma-separated list, so that a target passes the filter only if it matches none of the criteria in the list.\n\nEach of the filtering options may be specified multiple times, with an implied logical AND between them.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.shading.jarjar", - "name": "JarJar", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["construct_scope_jarjar"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_filter", + "output_type": "FilterSubsystem", + "provider": "pants.backend.project_info" }, - "pants.jvm.shading.jarjar.JarJarGeneratorLockfileSentinel": { - "consumed_by_rules": [ - "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request" + "construct_scope_fix": { + "description": null, + "documentation": "Autofix source code.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.shading.jarjar", - "name": "JarJarGeneratorLockfileSentinel", - "provider": "pants.backend.experimental.java, pants.jvm.shading.jarjar", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateToolLockfileSentinel", - "used_in_rules": ["pants.jvm.shading.rules.shade_jar"] + "input_types": [], + "name": "construct_scope_fix", + "output_type": "FixSubsystem", + "provider": "pants.core" }, - "pants.jvm.shading.rules.ShadeJarRequest": { - "consumed_by_rules": ["pants.jvm.shading.rules.shade_jar"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "ShadeJarRequest(*, path: 'str | PurePath', digest: 'Digest', rules: 'Iterable[JvmShadingRule] | None' = None, skip_manifest: 'bool | None' = None, misplaced_class_strategy: 'MisplacedClassStrategy | None' = None) -> 'None'", - "is_union": false, - "module": "pants.jvm.shading.rules", - "name": "ShadeJarRequest", - "provider": "pants.jvm.shading.rules", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.package.war.package_war" - ] + "construct_scope_flake8": { + "description": null, + "documentation": "The Flake8 Python linter (https://flake8.pycqa.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_flake8", + "output_type": "Flake8", + "provider": "pants.backend.python.lint.flake8" }, - "pants.jvm.shading.rules.ShadedJar": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.core", - "pants.jvm.shading.rules" + "construct_scope_fmt": { + "description": null, + "documentation": "Autoformat source code.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "ShadedJar(path: 'str', digest: 'Digest')", - "is_union": false, - "module": "pants.jvm.shading.rules", - "name": "ShadedJar", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.shading.rules.shade_jar"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.package.war.package_war" - ] + "input_types": [], + "name": "construct_scope_fmt", + "output_type": "FmtSubsystem", + "provider": "pants.core" }, - "pants.jvm.strip_jar.strip_jar.StripJarCompiledClassfiles": { - "consumed_by_rules": ["pants.jvm.strip_jar.strip_jar.strip_jar"], - "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.core" + "construct_scope_generate_lockfiles": { + "description": null, + "documentation": "Generate lockfiles for third-party dependencies.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "StripJarCompiledClassfiles(digest: Digest)", - "is_union": false, - "module": "pants.jvm.strip_jar.strip_jar", - "name": "StripJarCompiledClassfiles", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.strip_jar.strip_jar.build_processors"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_generate_lockfiles", + "output_type": "GenerateLockfilesSubsystem", + "provider": "pants.core" }, - "pants.jvm.strip_jar.strip_jar.StripJarRequest": { - "consumed_by_rules": ["pants.jvm.strip_jar.strip_jar.strip_jar"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "StripJarRequest(digest: Digest, filenames: Tuple[str, ...])", - "is_union": false, - "module": "pants.jvm.strip_jar.strip_jar", - "name": "StripJarRequest", - "provider": "pants.jvm.strip_jar.strip_jar", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.jvm.package.deploy_jar.package_deploy_jar" - ] + "construct_scope_generate_snapshots": { + "description": null, + "documentation": "Generate test snapshots.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_generate_snapshots", + "output_type": "GenerateSnapshotsSubsystem", + "provider": "pants.core" }, - "pants.jvm.strip_jar.strip_jar.StripJarToolLockfileSentinel": { - "consumed_by_rules": [ - "pants.jvm.strip_jar.strip_jar.generate_strip_jar_lockfile_request" + "construct_scope_go_dump_import_path_mapping": { + "description": null, + "documentation": "Dump import paths mapped to package addresses.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.strip_jar.strip_jar", - "name": "StripJarToolLockfileSentinel", - "provider": "pants.backend.experimental.java, pants.jvm.strip_jar.strip_jar", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateToolLockfileSentinel", - "used_in_rules": [ - "pants.jvm.strip_jar.strip_jar.build_processors", - "pants.jvm.strip_jar.strip_jar.strip_jar" - ] + "input_types": [], + "name": "construct_scope_go_dump_import_path_mapping", + "output_type": "DumpGoImportPathsForModuleSubsystem", + "provider": "pants.backend.experimental.go.debug_goals" }, - "pants.jvm.subsystems.JvmSubsystem": { - "consumed_by_rules": [ - "construct_env_aware_scope_jvm", - "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency", - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve", - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve", - "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency", - "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", - "pants.backend.java.compile.javac.compile_java_source", - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", - "pants.backend.kotlin.compile.kotlinc_plugins.add_resolve_name_to_plugin_request", - "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", - "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.dependency_inference.rules.resolve_kotlin_runtime_for_resolve", - "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", - "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency", - "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve", - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "pants.backend.scala.compile.scalac.compile_scala_source", - "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request", - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", - "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency", - "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", - "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve", - "pants.backend.scala.target_types.generate_jvm_artifact_targets", - "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts", - "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings", - "pants.jvm.goals.lockfile.determine_jvm_user_resolves", - "pants.jvm.goals.lockfile.setup_user_lockfile_requests", - "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve", - "pants.jvm.jdk_rules.internal_jdk", - "pants.jvm.jdk_rules.jvm_process", - "pants.jvm.jdk_rules.prepare_jdk_environment", - "pants.jvm.package.deploy_jar.package_deploy_jar", - "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets", - "pants.jvm.resources.assemble_resources_jar", - "pants.jvm.target_types.jvm_resolve_field_default_factory", - "pants.jvm.test.junit.setup_junit_for_target" + "construct_scope_go_export_cgo_codegen": { + "description": null, + "documentation": "Export files generated by Cgo.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.option.scope"], - "dependents": [ - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.java", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.scala" + "input_types": [], + "name": "construct_scope_go_export_cgo_codegen", + "output_type": "GoExportCgoCodegenSubsystem", + "provider": "pants.backend.experimental.go.debug_goals" + }, + "construct_scope_go_generate": { + "description": null, + "documentation": "Run each command in a package described by a `//go:generate` directive. This is equivalent to running `go generate` on a Go package.\n\nNote: Just like with `go generate`, the `go-generate` goal is never run as part of the build and must be run manually to invoke the commands described by the `//go:generate` directives.\n\nSee https://go.dev/blog/generate for details.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": null, - "is_union": false, - "module": "pants.jvm.subsystems", - "name": "JvmSubsystem", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["construct_scope_jvm"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_go_generate", + "output_type": "GoGenerateGoalSubsystem", + "provider": "pants.backend.experimental.go" }, - "pants.jvm.target_types.GenericJvmRunRequest": { - "consumed_by_rules": ["pants.jvm.run.create_run_request"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "Allows the use of a generic rule to return a `RunRequest` based on the field set.", - "is_union": false, - "module": "pants.jvm.target_types", - "name": "GenericJvmRunRequest", - "provider": "pants.jvm.target_types", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet" - ] + "construct_scope_go_show_package_analysis": { + "description": null, + "documentation": "Show the package analysis for Go package targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_go_show_package_analysis", + "output_type": "ShowGoPackageAnalysisSubsystem", + "provider": "pants.backend.experimental.go.debug_goals" }, - "pants.jvm.target_types.JvmArtifactFieldSet": { - "consumed_by_rules": [ - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JvmArtifactFieldSet", - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet" + "construct_scope_go_test": { + "description": null, + "documentation": "Options for Go tests.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": "JvmArtifactFieldSet(address: 'Address', jdk_version: 'JvmJdkField', main_class: 'JvmMainClassNameField', group: 'JvmArtifactGroupField', artifact: 'JvmArtifactArtifactField', version: 'JvmArtifactVersionField', packages: 'JvmArtifactPackagesField', url: 'JvmArtifactUrlField')", - "is_union": false, - "module": "pants.jvm.target_types", - "name": "JvmArtifactFieldSet", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "RunFieldSet", - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_go_test", + "output_type": "GoTestSubsystem", + "provider": "pants.backend.experimental.go" }, - "pants.jvm.target_types.JvmResolveFieldDefaultFactoryRequest": { - "consumed_by_rules": [ - "pants.jvm.target_types.jvm_resolve_field_default_factory" + "construct_scope_go_vet": { + "description": null, + "documentation": "`go vet`-specific options.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.engine.target"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.target_types", - "name": "JvmResolveFieldDefaultFactoryRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "FieldDefaultFactoryRequest", - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_go_vet", + "output_type": "GoVetSubsystem", + "provider": "pants.backend.experimental.go.lint.vet" }, - "pants.jvm.target_types.PrefixedJvmJdkField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.jvm.target_types", - "name": "PrefixedJvmJdkField", - "provider": "pants.backend.experimental.codegen.protobuf.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "construct_scope_gofmt": { + "description": null, + "documentation": "Gofmt-specific options.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_gofmt", + "output_type": "GofmtSubsystem", + "provider": "pants.backend.experimental.go" }, - "pants.jvm.target_types.PrefixedJvmResolveField": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.target"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.jvm.target_types", - "name": "PrefixedJvmResolveField", - "provider": "pants.backend.experimental.codegen.protobuf.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "PluginField", - "used_in_rules": [] + "construct_scope_golang": { + "description": null, + "documentation": "Options for Golang support.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_golang", + "output_type": "GolangSubsystem", + "provider": "pants.backend.experimental.go" }, - "pants.jvm.test.junit.JunitTestFieldSet": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": "JunitTestFieldSet(address: 'Address', sources: 'JunitTestSourceField', timeout: 'JunitTestTimeoutField', jdk_version: 'JvmJdkField', dependencies: 'JvmDependenciesField', extra_env_vars: 'TestExtraEnvVarsField')", - "is_union": false, - "module": "pants.jvm.test.junit", - "name": "JunitTestFieldSet", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "TestFieldSet", - "used_in_rules": [] + "construct_scope_golangci_lint": { + "description": null, + "documentation": "A fast Go linters runner", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_golangci_lint", + "output_type": "GolangciLint", + "provider": "pants.backend.experimental.go.lint.golangci_lint" }, - "pants.jvm.test.junit.JunitTestRequest": { - "consumed_by_rules": [], - "dependencies": ["pants.core"], - "dependents": [], - "documentation": null, - "is_union": false, - "module": "pants.jvm.test.junit", - "name": "JunitTestRequest", - "provider": "pants.backend.experimental.java", - "returned_by_rules": [], - "union_members": [], - "union_type": "TestRequest", - "used_in_rules": [] + "construct_scope_google_java_format": { + "description": null, + "documentation": "Google Java Format (https://github.com/google/google-java-format)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_google_java_format", + "output_type": "GoogleJavaFormatSubsystem", + "provider": "pants.backend.experimental.java.lint.google_java_format" }, - "pants.jvm.test.junit.JunitToolLockfileSentinel": { - "consumed_by_rules": [ - "pants.jvm.test.junit.generate_junit_lockfile_request" + "construct_scope_grpc_python_plugin": { + "description": null, + "documentation": "The gRPC Protobuf plugin for Python.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.java"], - "documentation": null, - "is_union": false, - "module": "pants.jvm.test.junit", - "name": "JunitToolLockfileSentinel", - "provider": "pants.backend.experimental.java, pants.jvm.test.junit", - "returned_by_rules": [], - "union_members": [], - "union_type": "GenerateToolLockfileSentinel", - "used_in_rules": ["pants.jvm.test.junit.setup_junit_for_target"] + "input_types": [], + "name": "construct_scope_grpc_python_plugin", + "output_type": "GrpcPythonPlugin", + "provider": "pants.backend.codegen.protobuf.python" }, - "pants.jvm.test.junit.TestSetup": { - "consumed_by_rules": [], - "dependencies": [ - "builtins", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.core", - "pants.engine.env_vars", - "pants.jvm.test.junit" + "construct_scope_hadolint": { + "description": null, + "documentation": "A linter for Dockerfiles.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependents": ["pants.backend.experimental.java"], - "documentation": "TestSetup(process: 'JvmProcess', reports_dir_prefix: 'str')", - "is_union": false, - "module": "pants.jvm.test.junit", - "name": "TestSetup", - "provider": "pants.backend.experimental.java", - "returned_by_rules": ["pants.jvm.test.junit.setup_junit_for_target"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.test.junit.run_junit_test", - "pants.jvm.test.junit.setup_junit_debug_request" - ] + "input_types": [], + "name": "construct_scope_hadolint", + "output_type": "Hadolint", + "provider": "pants.backend.docker.lint.hadolint" }, - "pants.jvm.test.junit.TestSetupRequest": { - "consumed_by_rules": ["pants.jvm.test.junit.setup_junit_for_target"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "TestSetupRequest(field_set: 'JunitTestFieldSet', is_debug: 'bool')", - "is_union": false, - "module": "pants.jvm.test.junit", - "name": "TestSetupRequest", - "provider": "pants.jvm.test.junit", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.test.junit.run_junit_test", - "pants.jvm.test.junit.setup_junit_debug_request" - ] + "construct_scope_helm": { + "description": null, + "documentation": "The Helm command line (https://helm.sh)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_helm", + "output_type": "HelmSubsystem", + "provider": "pants.backend.experimental.helm" }, - "pants.jvm.util_rules.ExtractFileDigest": { - "consumed_by_rules": ["pants.jvm.util_rules.digest_to_file_digest"], - "dependencies": [], - "dependents": ["pants.backend.experimental.java"], - "documentation": "ExtractFileDigest(digest: 'Digest', file_path: 'str')", - "is_union": false, - "module": "pants.jvm.util_rules", - "name": "ExtractFileDigest", - "provider": "pants.jvm.util_rules", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile" - ] + "construct_scope_helm_k8s_parser": { + "description": null, + "documentation": "Analyses K8S manifests rendered by Helm.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_helm_k8s_parser", + "output_type": "HelmKubeParserSubsystem", + "provider": "pants.backend.experimental.helm" }, - "pants.option.global_options.GlobalOptions": { - "consumed_by_rules": [ - "pants.backend.docker.goals.package_image.build_docker_image", - "pants.backend.python.goals.publish.twine_upload", - "pants.backend.python.goals.pytest_runner.run_python_tests", - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "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.core.goals.generate_lockfiles.generate_lockfiles_goal", - "pants.core.goals.run.run", - "pants.core.util_rules.distdir.get_distdir", - "pants.engine.internals.graph.extract_subproject_roots", - "pants.engine.internals.graph.extract_unmatched_build_file_globs", - "pants.jvm.jdk_rules.jvm_process" + "construct_scope_helm_post_renderer": { + "description": null, + "documentation": "Used perform modifications to the final output produced by Helm charts when they've been fully rendered.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.option.scope"], - "dependents": [ - "pants.backend.docker", - "pants.backend.experimental.go", - "pants.backend.experimental.java", - "pants.backend.experimental.python", - "pants.backend.experimental.tools.semgrep", - "pants.backend.python", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell", - "pants.core" + "input_types": [], + "name": "construct_scope_helm_post_renderer", + "output_type": "HelmPostRendererSubsystem", + "provider": "pants.backend.experimental.helm" + }, + "construct_scope_helm_unittest": { + "description": null, + "documentation": "BDD styled unit test framework for Kubernetes Helm charts as a Helm plugin. (https://github.com/helm-unittest)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": null, - "is_union": false, - "module": "pants.option.global_options", - "name": "GlobalOptions", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_helm_unittest", + "output_type": "HelmUnitTestSubsystem", + "provider": "pants.backend.experimental.helm" }, - "pants.option.global_options.UnmatchedBuildFileGlobs": { - "consumed_by_rules": [ - "pants.engine.internals.graph.hydrate_sources", - "pants.engine.internals.graph.resolve_generator_target_requests", - "pants.engine.internals.graph.resolve_source_paths" + "construct_scope_ipython": { + "description": null, + "documentation": "The IPython enhanced REPL (https://ipython.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.core"], - "dependents": ["pants.backend.experimental.go"], - "documentation": "What to do when globs do not match in BUILD files.", - "is_union": false, - "module": "pants.option.global_options", - "name": "UnmatchedBuildFileGlobs", - "provider": "pants.backend.experimental.go", - "returned_by_rules": [ - "pants.engine.internals.graph.extract_unmatched_build_file_globs" + "input_types": [], + "name": "construct_scope_ipython", + "output_type": "IPython", + "provider": "pants.backend.python" + }, + "construct_scope_isort": { + "description": null, + "documentation": "The Python import sorter tool (https://pycqa.github.io/isort/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_isort", + "output_type": "Isort", + "provider": "pants.backend.python.lint.isort" }, - "pants.option.scope.Scope": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": [], - "documentation": "An options scope.", - "is_union": false, - "module": "pants.option.scope", - "name": "Scope", - "provider": "pants.option.scope", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "construct_scope_", - "construct_scope_add_trailing_comma", - "construct_scope_anonymous_telemetry", - "construct_scope_apache_thrift", - "construct_scope_autoflake", - "construct_scope_bandit", - "construct_scope_black", - "construct_scope_buf", - "construct_scope_build_deprecations_fixer", - "construct_scope_buildifier", - "construct_scope_check", - "construct_scope_count_loc", - "construct_scope_coursier", - "construct_scope_coverage_py", - "construct_scope_debug_adapter", - "construct_scope_debugpy", - "construct_scope_dependencies", - "construct_scope_dependents", - "construct_scope_docformatter", - "construct_scope_docker", - "construct_scope_dockerfile_parser", - "construct_scope_download_terraform", - "construct_scope_experimental_bsp", - "construct_scope_experimental_deploy", - "construct_scope_export", - "construct_scope_export_codegen", - "construct_scope_filedeps", - "construct_scope_filter", - "construct_scope_fix", - "construct_scope_flake8", - "construct_scope_fmt", - "construct_scope_generate_lockfiles", - "construct_scope_generate_snapshots", - "construct_scope_go_generate", - "construct_scope_go_test", - "construct_scope_gofmt", - "construct_scope_golang", - "construct_scope_google_java_format", - "construct_scope_grpc_python_plugin", - "construct_scope_hadolint", - "construct_scope_helm", - "construct_scope_helm_k8s_parser", - "construct_scope_helm_post_renderer", - "construct_scope_helm_unittest", - "construct_scope_ipython", - "construct_scope_isort", - "construct_scope_jarjar", - "construct_scope_java_infer", - "construct_scope_javac", - "construct_scope_junit", - "construct_scope_jvm", - "construct_scope_kotlin", - "construct_scope_kotlin_infer", - "construct_scope_kotlinc", - "construct_scope_ktlint", - "construct_scope_lint", - "construct_scope_list", - "construct_scope_mypy", - "construct_scope_mypy_protobuf", - "construct_scope_nodejs", - "construct_scope_nodejs_infer", - "construct_scope_openapi", - "construct_scope_openapi_format", - "construct_scope_package", - "construct_scope_paths", - "construct_scope_peek", - "construct_scope_pex", - "construct_scope_pex_binary_defaults", - "construct_scope_pex_cli", - "construct_scope_preamble", - "construct_scope_protobuf_java_grpc", - "construct_scope_protoc", - "construct_scope_publish", - "construct_scope_py_constraints", - "construct_scope_pydocstyle", - "construct_scope_pylint", - "construct_scope_pyoxidizer", - "construct_scope_pytest", - "construct_scope_python", - "construct_scope_python_bootstrap", - "construct_scope_python_dump_source_analysis", - "construct_scope_python_infer", - "construct_scope_python_native_code", - "construct_scope_python_protobuf", - "construct_scope_python_repos", - "construct_scope_python_thrift", - "construct_scope_pytype", - "construct_scope_pyupgrade", - "construct_scope_regex_lint", - "construct_scope_repl", - "construct_scope_roots", - "construct_scope_ruff", - "construct_scope_run", - "construct_scope_scala", - "construct_scope_scala_infer", - "construct_scope_scalac", - "construct_scope_scalafmt", - "construct_scope_scalapb", - "construct_scope_scalatest", - "construct_scope_scc", - "construct_scope_semgrep", - "construct_scope_setup_py_generation", - "construct_scope_setuptools", - "construct_scope_setuptools_scm", - "construct_scope_shell_setup", - "construct_scope_shell_test", - "construct_scope_shellcheck", - "construct_scope_shfmt", - "construct_scope_shunit2", - "construct_scope_source", - "construct_scope_spectral", - "construct_scope_stats", - "construct_scope_subprocess_environment", - "construct_scope_system_binaries", - "construct_scope_tailor", - "construct_scope_terraform_fmt", - "construct_scope_terraform_hcl2_parser", - "construct_scope_terraform_validate", - "construct_scope_test", - "construct_scope_thrift", - "construct_scope_twine", - "construct_scope_update_build_files", - "construct_scope_workunit_logger", - "construct_scope_yamllint", - "construct_scope_yapf" - ] + "construct_scope_jarjar": { + "description": null, + "documentation": "The Jar Jar Abrams tool (https://github.com/eed3si9n/jarjar-abrams)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_jarjar", + "output_type": "JarJar", + "provider": "pants.backend.experimental.java" }, - "pants.option.subsystem.PluginOption": { - "consumed_by_rules": [], - "dependencies": [], - "dependents": ["pants.backend.python"], - "documentation": null, - "is_union": true, - "module": "pants.option.subsystem", - "name": "PluginOption", - "provider": "pants.option.subsystem", - "returned_by_rules": [], - "union_members": ["ExportPluginOptions"], - "union_type": null, - "used_in_rules": [] + "construct_scope_java_avro": { + "description": null, + "documentation": "Avro IDL compiler (https://avro.apache.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_java_avro", + "output_type": "AvroSubsystem", + "provider": "pants.backend.experimental.codegen.avro.java" }, - "pants.source.source_root.AllSourceRoots": { - "consumed_by_rules": [ - "pants.backend.project_info.list_roots.list_roots", - "pants.backend.python.goals.coverage_py.merge_coverage_data" + "construct_scope_java_dump_source_analysis": { + "description": null, + "documentation": "Dump source analysis for java_source[s] targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.engine.fs"], - "dependents": ["pants.backend.project_info", "pants.backend.python"], - "documentation": null, - "is_union": false, - "module": "pants.source.source_root", - "name": "AllSourceRoots", - "provider": "pants.core", - "returned_by_rules": ["pants.source.source_root.all_roots"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_java_dump_source_analysis", + "output_type": "DumpJavaSourceAnalysisSubsystem", + "provider": "pants.backend.experimental.java.debug_goals" }, - "pants.source.source_root.OptionalSourceRoot": { - "consumed_by_rules": [], - "dependencies": ["pants.engine.fs", "pants.source.source_root"], - "dependents": ["pants.core"], - "documentation": "OptionalSourceRoot(source_root: 'SourceRoot | None')", - "is_union": false, - "module": "pants.source.source_root", - "name": "OptionalSourceRoot", - "provider": "pants.core", - "returned_by_rules": [ - "pants.source.source_root.get_optional_source_root" + "construct_scope_java_infer": { + "description": null, + "documentation": "Options controlling which dependencies will be inferred for Java targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.source.source_root.all_roots", - "pants.source.source_root.get_optional_source_root", - "pants.source.source_root.get_optional_source_roots", - "pants.source.source_root.get_source_root" - ] + "input_types": [], + "name": "construct_scope_java_infer", + "output_type": "JavaInferSubsystem", + "provider": "pants.backend.experimental.java" }, - "pants.source.source_root.OptionalSourceRootsResult": { - "consumed_by_rules": [], - "dependencies": ["pants.source.source_root"], - "dependents": ["pants.core"], - "documentation": "OptionalSourceRootsResult(path_to_optional_root: 'FrozenDict[PurePath, OptionalSourceRoot]')", - "is_union": false, - "module": "pants.source.source_root", - "name": "OptionalSourceRootsResult", - "provider": "pants.core", - "returned_by_rules": [ - "pants.source.source_root.get_optional_source_roots" + "construct_scope_java_thrift": { + "description": null, + "documentation": "Options specific to generating Java from Thrift using the Apache Thrift generator", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "union_members": [], - "union_type": null, - "used_in_rules": ["pants.source.source_root.get_source_roots"] + "input_types": [], + "name": "construct_scope_java_thrift", + "output_type": "ApacheThriftJavaSubsystem", + "provider": "pants.backend.experimental.codegen.thrift.apache.java" }, - "pants.source.source_root.SourceRoot": { - "consumed_by_rules": [], - "dependencies": ["pants.source.source_root"], - "dependents": [ - "pants.backend.awslambda.python", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.python", - "pants.core" + "construct_scope_javac": { + "description": null, + "documentation": "The javac Java source compiler.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": "SourceRoot(path: 'str')", - "is_union": false, - "module": "pants.source.source_root", - "name": "SourceRoot", - "provider": "pants.core", - "returned_by_rules": ["pants.source.source_root.get_source_root"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.resolve_pex_entry_point", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", - "pants.backend.python.util_rules.faas.resolve_python_faas_handler", - "pants.backend.python.util_rules.python_sources.prepare_python_sources", - "pants.core.util_rules.stripped_source_files.strip_file_name", - "pants.core.util_rules.stripped_source_files.strip_sources_paths" - ] + "input_types": [], + "name": "construct_scope_javac", + "output_type": "JavacSubsystem", + "provider": "pants.backend.experimental.java" }, - "pants.source.source_root.SourceRootConfig": { - "consumed_by_rules": [ - "pants.source.source_root.all_roots", - "pants.source.source_root.get_optional_source_root" + "construct_scope_junit": { + "description": null, + "documentation": "The JUnit test framework (https://junit.org)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": ["pants.option.scope"], - "dependents": ["pants.core"], - "documentation": null, - "is_union": false, - "module": "pants.source.source_root", - "name": "SourceRootConfig", - "provider": "pants.core", - "returned_by_rules": ["construct_scope_source"], - "union_members": [], - "union_type": null, - "used_in_rules": [] + "input_types": [], + "name": "construct_scope_junit", + "output_type": "JUnit", + "provider": "pants.backend.experimental.java" }, - "pants.source.source_root.SourceRootRequest": { - "consumed_by_rules": [ - "pants.source.source_root.get_optional_source_root", - "pants.source.source_root.get_source_root" + "construct_scope_jvm": { + "description": null, + "documentation": "Options for general JVM functionality.\n\nJDK strings will be passed directly to Coursier's `--jvm` parameter. Run `cs java --available` to see a list of available JVM versions on your platform.\n\nIf the string `'system'` is passed, Coursier's `--system-jvm` option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Find the source root for the given path.\n\nIf you have multiple paths, particularly if many of them share parent directories, you'll get\nbetter performance with a `SourceRootsRequest` (see above) instead.", - "is_union": false, - "module": "pants.source.source_root", - "name": "SourceRootRequest", - "provider": "pants.source.source_root", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "pants.backend.python.target_types_rules.resolve_pex_entry_point", - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", - "pants.backend.python.util_rules.faas.resolve_python_faas_handler", - "pants.backend.python.util_rules.python_sources.prepare_python_sources", - "pants.core.util_rules.stripped_source_files.strip_file_name", - "pants.core.util_rules.stripped_source_files.strip_sources_paths", - "pants.source.source_root.all_roots", - "pants.source.source_root.get_optional_source_root", - "pants.source.source_root.get_optional_source_roots", - "pants.source.source_root.get_source_root" - ] + "input_types": [], + "name": "construct_scope_jvm", + "output_type": "JvmSubsystem", + "provider": "pants.backend.experimental.java" }, - "pants.source.source_root.SourceRootsRequest": { - "consumed_by_rules": [ - "pants.source.source_root.get_optional_source_roots", - "pants.source.source_root.get_source_roots" + "construct_scope_jvm_symbol_map": { + "description": null, + "documentation": "Dump the JVM dependency inference symbol mapping.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "Find the source roots for the given files and/or dirs.", - "is_union": false, - "module": "pants.source.source_root", - "name": "SourceRootsRequest", - "provider": "pants.source.source_root", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "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.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" - ] + "input_types": [], + "name": "construct_scope_jvm_symbol_map", + "output_type": "JvmSymbolMapSubsystem", + "provider": "pants.backend.experimental.java.debug_goals" }, - "pants.source.source_root.SourceRootsResult": { - "consumed_by_rules": [], - "dependencies": ["pants.source.source_root"], - "dependents": [ - "pants.backend.codegen.thrift.apache.python", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.python", - "pants.core" + "construct_scope_kotlin": { + "description": null, + "documentation": "The Kotlin programming language (https://kotlinlang.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" ], - "documentation": "SourceRootsResult(path_to_root: 'FrozenDict[PurePath, SourceRoot]')", - "is_union": false, - "module": "pants.source.source_root", - "name": "SourceRootsResult", - "provider": "pants.core", - "returned_by_rules": ["pants.source.source_root.get_source_roots"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "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.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", - "pants.core.util_rules.stripped_source_files.strip_source_roots" - ] + "input_types": [], + "name": "construct_scope_kotlin", + "output_type": "KotlinSubsystem", + "provider": "pants.backend.experimental.kotlin" + }, + "construct_scope_kotlin_dump_source_analysis": { + "description": null, + "documentation": "Dump source analysis for kotlin_source targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_kotlin_dump_source_analysis", + "output_type": "DumpKotlinSourceAnalysisSubsystem", + "provider": "pants.backend.experimental.kotlin.debug_goals" }, - "pants.vcs.git.GitWorktreeRequest": { - "consumed_by_rules": ["pants.vcs.git.get_git_worktree"], - "dependencies": [], - "dependents": ["pants.core"], - "documentation": "GitWorktreeRequest(gitdir: 'PathLike[str] | None' = None, subdir: 'PathLike[str] | None' = None)", - "is_union": false, - "module": "pants.vcs.git", - "name": "GitWorktreeRequest", - "provider": "pants.vcs.git", - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm" - ] + "construct_scope_kotlin_infer": { + "description": null, + "documentation": "Options controlling which dependencies will be inferred for Kotlin targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_kotlin_infer", + "output_type": "KotlinInferSubsystem", + "provider": "pants.backend.experimental.kotlin" }, - "pants.vcs.git.MaybeGitWorktree": { - "consumed_by_rules": [], - "dependencies": ["pants.vcs.git"], - "dependents": ["pants.backend.experimental.python"], - "documentation": "MaybeGitWorktree(git_worktree: 'GitWorktree | None' = None)", - "is_union": false, - "module": "pants.vcs.git", - "name": "MaybeGitWorktree", - "provider": "pants.core", - "returned_by_rules": ["pants.vcs.git.get_git_worktree"], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm" - ] - } - }, - "name_to_backend_help_info": { - "pants.backend.awslambda.python": { - "description": "Create AWS Lambdas from Python code.\n\nSee https://www.pantsbuild.org/docs/awslambda-python.", - "enabled": true, - "name": "pants.backend.awslambda.python", - "provider": "pants" + "construct_scope_kotlinc": { + "description": null, + "documentation": "The Kotlin programming language (https://kotlinlang.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_kotlinc", + "output_type": "KotlincSubsystem", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.build_files.fix.deprecations": { - "description": "", - "enabled": true, - "name": "pants.backend.build_files.fix.deprecations", - "provider": "pants" + "construct_scope_ktlint": { + "description": null, + "documentation": "Ktlint, the anti-bikeshedding Kotlin linter with built-in formatter (https://ktlint.github.io/)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_ktlint", + "output_type": "KtlintSubsystem", + "provider": "pants.backend.experimental.kotlin.lint.ktlint" }, - "pants.backend.build_files.fmt.black": { - "description": "", - "enabled": true, - "name": "pants.backend.build_files.fmt.black", - "provider": "pants" + "construct_scope_kubeconform": { + "description": null, + "documentation": "Kubeconform tool (https://github.com/yannh/kubeconform)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_kubeconform", + "output_type": "KubeconformSubsystem", + "provider": "pants.backend.experimental.helm.check.kubeconform" }, - "pants.backend.build_files.fmt.buildifier": { - "description": "", - "enabled": true, - "name": "pants.backend.build_files.fmt.buildifier", - "provider": "pants" + "construct_scope_lint": { + "description": null, + "documentation": "Run linters/formatters/fixers in check mode.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_lint", + "output_type": "LintSubsystem", + "provider": "pants.core" }, - "pants.backend.build_files.fmt.yapf": { - "description": "", - "enabled": true, - "name": "pants.backend.build_files.fmt.yapf", - "provider": "pants" + "construct_scope_list": { + "description": null, + "documentation": "Lists all targets matching the file or target arguments.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_list", + "output_type": "ListSubsystem", + "provider": "pants.backend.project_info" }, - "pants.backend.codegen.protobuf.lint.buf": { - "description": "", - "enabled": true, - "name": "pants.backend.codegen.protobuf.lint.buf", - "provider": "pants" + "construct_scope_mypy": { + "description": null, + "documentation": "The MyPy Python type checker (http://mypy-lang.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_mypy", + "output_type": "MyPy", + "provider": "pants.backend.python.typecheck.mypy" }, - "pants.backend.codegen.protobuf.python": { - "description": "Generate Python sources from Protocol Buffers (Protobufs).\n\nSee https://www.pantsbuild.org/docs/protobuf.", - "enabled": true, - "name": "pants.backend.codegen.protobuf.python", - "provider": "pants" + "construct_scope_mypy_protobuf": { + "description": null, + "documentation": "Configuration of the mypy-protobuf type stub generation plugin.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_mypy_protobuf", + "output_type": "PythonProtobufMypyPlugin", + "provider": "pants.backend.codegen.protobuf.python" }, - "pants.backend.codegen.thrift.apache.python": { - "description": "", - "enabled": true, - "name": "pants.backend.codegen.thrift.apache.python", - "provider": "pants" + "construct_scope_nodejs": { + "description": null, + "documentation": "The Node.js Javascript runtime (including Corepack).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_nodejs", + "output_type": "NodeJS", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.docker": { - "description": "", - "enabled": true, - "name": "pants.backend.docker", - "provider": "pants" + "construct_scope_nodejs_infer": { + "description": null, + "documentation": "Options controlling which dependencies will be inferred for javascript targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_nodejs_infer", + "output_type": "NodeJSInfer", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.docker.lint.hadolint": { - "description": "", - "enabled": true, - "name": "pants.backend.docker.lint.hadolint", - "provider": "pants" + "construct_scope_nodejs_test": { + "description": null, + "documentation": "Options for package.json script configured tests.\n\nYour preferred test runner is configured via the `package.json#scripts.test` field.\n\nThe only expectation from pants is that the `test` script can accept a variadic number of path arguments, relative to the package.json, and that any configuration files are `file` dependencies to the `package_json`.\n\nSimple example:\n\nConsider a directory-layout:\n\n\u251c\u2500\u2500 BUILD\n\u251c\u2500\u2500 src/\n\u2502 \u251c\u2500\u2500 BUILD\n\u2502 \u251c\u2500\u2500 test/\n\u2502 \u2502 \u251c\u2500\u2500 BUILD\n\u2502 \u2502 \u2514\u2500\u2500 index.test.js\n\u2502 \u2514\u2500\u2500 index.js\n\u2514\u2500\u2500 package.json\n\nwhere package.json contains\n\n# package.json\n{\n ...\n \"scripts\": {\n \"test\": \"mocha\"\n },\n \"devDependencies: {\n ...\n }\n}\n\n\nExecuting `pants test src/test/index.test.js` will cause the equivalent of `mocha src/test/index.test.js` to run.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_nodejs_test", + "output_type": "NodeJSTest", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.experimental.adhoc": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.adhoc", - "provider": "pants" + "construct_scope_openapi": { + "description": null, + "documentation": "The OpenAPI Specification (https://swagger.io/specification/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_openapi", + "output_type": "OpenApiSubsystem", + "provider": "pants.backend.experimental.openapi" }, - "pants.backend.experimental.cc": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.cc", - "provider": "pants" + "construct_scope_openapi_format": { + "description": null, + "documentation": "Format an OpenAPI document by ordering, formatting and filtering fields (https://github.com/thim81/openapi-format).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_openapi_format", + "output_type": "OpenApiFormatSubsystem", + "provider": "pants.backend.experimental.openapi.lint.openapi_format" }, - "pants.backend.experimental.cc.lint.clangformat": { - "description": "A formatter for C/C++ (and several other languages).\n\nSee https://clang.llvm.org/docs/ClangFormat.html for details.", - "enabled": false, - "name": "pants.backend.experimental.cc.lint.clangformat", - "provider": "pants" + "construct_scope_openapi_generator": { + "description": null, + "documentation": "The OpenAPI Code generator (https://openapi-generator.tech)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_openapi_generator", + "output_type": "OpenAPIGenerator", + "provider": "pants.backend.experimental.openapi.codegen.java" }, - "pants.backend.experimental.codegen.avro.java": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.codegen.avro.java", - "provider": "pants" + "construct_scope_package": { + "description": null, + "documentation": "Create a distributable package.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_package", + "output_type": "PackageSubsystem", + "provider": "pants.core" }, - "pants.backend.experimental.codegen.protobuf.go": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.codegen.protobuf.go", - "provider": "pants" + "construct_scope_paths": { + "description": null, + "documentation": "List the paths between two addresses. Either address may represent a group of targets, e.g. `--from=src/app/main.py --to=src/library::`.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_paths", + "output_type": "PathsSubsystem", + "provider": "pants.backend.project_info" }, - "pants.backend.experimental.codegen.protobuf.java": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.codegen.protobuf.java", - "provider": "pants" + "construct_scope_peek": { + "description": null, + "documentation": "Display BUILD target info", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_peek", + "output_type": "PeekSubsystem", + "provider": "pants.backend.project_info" }, - "pants.backend.experimental.codegen.protobuf.scala": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.codegen.protobuf.scala", - "provider": "pants" + "construct_scope_pex": { + "description": null, + "documentation": "How Pants uses Pex to run Python subprocesses.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pex", + "output_type": "PexSubsystem", + "provider": "pants.core" }, - "pants.backend.experimental.codegen.thrift.apache.java": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.codegen.thrift.apache.java", - "provider": "pants" + "construct_scope_pex_binary_defaults": { + "description": null, + "documentation": "Default settings for creating PEX executables.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pex_binary_defaults", + "output_type": "PexBinaryDefaults", + "provider": "pants.backend.python" }, - "pants.backend.experimental.codegen.thrift.scrooge.java": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.codegen.thrift.scrooge.java", - "provider": "pants" + "construct_scope_pex_cli": { + "description": null, + "documentation": "The PEX (Python EXecutable) tool (https://github.com/pantsbuild/pex).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pex_cli", + "output_type": "PexCli", + "provider": "pants.core" }, - "pants.backend.experimental.codegen.thrift.scrooge.scala": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.codegen.thrift.scrooge.scala", - "provider": "pants" + "construct_scope_preamble": { + "description": null, + "documentation": "Formats files with a preamble, with the preamble looked up based on path.\n\nThis is useful for things such as copyright headers or shebang lines.\n\nPants substitutes the following identifiers (following Python's `string.Template` substitutions): - $year: The current year (only used when actually writing the year to the file).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_preamble", + "output_type": "PreambleSubsystem", + "provider": "pants.backend.tools.preamble" }, - "pants.backend.experimental.cue": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.cue", - "provider": "pants" + "construct_scope_prettier": { + "description": null, + "documentation": "The Prettier utility for formatting JS/TS (and others) code (https://prettier.io/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_prettier", + "output_type": "Prettier", + "provider": "pants.backend.experimental.javascript.lint.prettier" }, - "pants.backend.experimental.debian": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.debian", - "provider": "pants" + "construct_scope_protobuf_java_grpc": { + "description": null, + "documentation": "gRPC support for Java Protobuf (https://github.com/grpc/grpc-java)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_protobuf_java_grpc", + "output_type": "JavaProtobufGrpcSubsystem", + "provider": "pants.backend.experimental.codegen.protobuf.java" }, - "pants.backend.experimental.go": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.go", - "provider": "pants" + "construct_scope_protoc": { + "description": null, + "documentation": "The protocol buffer compiler (https://developers.google.com/protocol-buffers).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_protoc", + "output_type": "Protoc", + "provider": "pants.backend.codegen.protobuf.python" }, - "pants.backend.experimental.go.debug_goals": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.go.debug_goals", - "provider": "pants" + "construct_scope_publish": { + "description": null, + "documentation": "Publish deliverables (assets, distributions, images, etc).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_publish", + "output_type": "PublishSubsystem", + "provider": "pants.core" }, - "pants.backend.experimental.go.lint.golangci_lint": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.go.lint.golangci_lint", - "provider": "pants" + "construct_scope_py_constraints": { + "description": null, + "documentation": "Determine what Python interpreter constraints are used by files/targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_py_constraints", + "output_type": "PyConstraintsSubsystem", + "provider": "pants.backend.python.mixed_interpreter_constraints" }, - "pants.backend.experimental.go.lint.vet": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.go.lint.vet", - "provider": "pants" + "construct_scope_pydocstyle": { + "description": null, + "documentation": "A tool for checking compliance with Python docstring conventions (http://www.pydocstyle.org/en/stable/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pydocstyle", + "output_type": "Pydocstyle", + "provider": "pants.backend.python.lint.pydocstyle" }, - "pants.backend.experimental.helm": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.helm", - "provider": "pants" + "construct_scope_pyenv_python_provider": { + "description": null, + "documentation": "A subsystem for Pants-provided Python leveraging pyenv (https://github.com/pyenv/pyenv).\n\nEnabling this subsystem will switch Pants from trying to find an appropriate Python on your system to using pyenv to install the correct Python(s).\n\nThe Pythons provided by Pyenv will be used to run any \"user\" code (your Python code as well as any Python-based tools you use, like black or pylint). The Pythons are also read-only to ensure they remain hermetic across runs of different tools and code.\n\nThe Pythons themselves are stored in your `named_caches_dir`: https://www.pantsbuild.org/docs/reference-global#named_caches_dir under `pyenv/versions/`. Wiping the relevant version directory (with `sudo rm -rf`) will force a re-install of Python. This may be necessary after changing something about the underlying system which changes the compiled Python, such as installing an optional-at-build-time dependency like `liblzma-dev` (which is used for the optional module `lzma`).\n\nBy default, the subsystem does not pass any optimization flags to the Python compilation process. Doing so would increase the time it takes to install a single Python by about an order of magnitude (E.g. ~2.5 minutes to ~26 minutes).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pyenv_python_provider", + "output_type": "PyenvPythonProviderSubsystem", + "provider": "pants.backend.python.providers.experimental.pyenv" }, - "pants.backend.experimental.helm.check.kubeconform": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.helm.check.kubeconform", - "provider": "pants" + "construct_scope_pylint": { + "description": null, + "documentation": "The Pylint linter for Python code (https://www.pylint.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pylint", + "output_type": "Pylint", + "provider": "pants.backend.python.lint.pylint" }, - "pants.backend.experimental.java": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.java", - "provider": "pants" + "construct_scope_pyoxidizer": { + "description": null, + "documentation": "The PyOxidizer utility for packaging Python code in a Rust binary (https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer.html).\n\nUsed with the `pyoxidizer_binary` target.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pyoxidizer", + "output_type": "PyOxidizer", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer" }, - "pants.backend.experimental.java.debug_goals": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.java.debug_goals", - "provider": "pants" + "construct_scope_pyright": { + "description": null, + "documentation": "The Pyright utility for typechecking Python code (https://github.com/microsoft/pyright).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pyright", + "output_type": "Pyright", + "provider": "pants.backend.experimental.python.typecheck.pyright" }, - "pants.backend.experimental.java.lint.google_java_format": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.java.lint.google_java_format", - "provider": "pants" + "construct_scope_pytest": { + "description": null, + "documentation": "The pytest Python test framework (https://docs.pytest.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pytest", + "output_type": "PyTest", + "provider": "pants.backend.python" }, - "pants.backend.experimental.javascript": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.javascript", - "provider": "pants" + "construct_scope_python": { + "description": null, + "documentation": "Options for Pants's Python backend.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_python", + "output_type": "PythonSetup", + "provider": "pants.core" }, - "pants.backend.experimental.javascript.lint.prettier": { - "description": "A formatter for JS/TS (and several other languages).\n\nSee https://prettier.io/ for details.", - "enabled": false, - "name": "pants.backend.experimental.javascript.lint.prettier", - "provider": "pants" + "construct_scope_python_bootstrap": { + "description": null, + "documentation": "Options used to locate Python interpreters.\n\nThis subsystem controls where and how Pants will locate Python, but beyond that it does not control which Python interpreter versions are actually used for your code: see the `python` subsystem for that.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_python_bootstrap", + "output_type": "PythonBootstrapSubsystem", + "provider": "pants.core" }, - "pants.backend.experimental.kotlin": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.kotlin", - "provider": "pants" + "construct_scope_python_dump_source_analysis": { + "description": null, + "documentation": "Dump source analysis for python_source targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_python_dump_source_analysis", + "output_type": "DumpPythonSourceAnalysisSubsystem", + "provider": "pants.backend.experimental.python" }, - "pants.backend.experimental.kotlin.debug_goals": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.kotlin.debug_goals", - "provider": "pants" + "construct_scope_python_infer": { + "description": null, + "documentation": "Options controlling which dependencies will be inferred for Python targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_python_infer", + "output_type": "PythonInferSubsystem", + "provider": "pants.backend.python" }, - "pants.backend.experimental.kotlin.lint.ktlint": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.kotlin.lint.ktlint", - "provider": "pants" + "construct_scope_python_native_code": { + "description": null, + "documentation": "Options for building native code using Python, e.g. when resolving distributions.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_python_native_code", + "output_type": "PythonNativeCodeSubsystem", + "provider": "pants.core" }, - "pants.backend.experimental.openapi": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.openapi", - "provider": "pants" + "construct_scope_python_protobuf": { + "description": null, + "documentation": "Options related to the Protobuf Python backend.\n\nSee https://www.pantsbuild.org/v2.19/docs/protobuf-python.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_python_protobuf", + "output_type": "PythonProtobufSubsystem", + "provider": "pants.backend.codegen.protobuf.python" + }, + "construct_scope_python_repos": { + "description": null, + "documentation": "External Python code repositories, such as PyPI.\n\nThese options may be used to point to custom package indexes when resolving requirements.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_python_repos", + "output_type": "PythonRepos", + "provider": "pants.core" }, - "pants.backend.experimental.openapi.codegen.java": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.openapi.codegen.java", - "provider": "pants" + "construct_scope_python_thrift": { + "description": null, + "documentation": "Options specific to generating Python from Thrift using Apache Thrift", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_python_thrift", + "output_type": "ThriftPythonSubsystem", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "pants.backend.experimental.openapi.lint.openapi_format": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.openapi.lint.openapi_format", - "provider": "pants" + "construct_scope_pytype": { + "description": null, + "documentation": "The Pytype utility for typechecking Python code (https://github.com/google/pytype).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pytype", + "output_type": "Pytype", + "provider": "pants.backend.experimental.python.typecheck.pytype" }, - "pants.backend.experimental.openapi.lint.spectral": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.openapi.lint.spectral", - "provider": "pants" + "construct_scope_pyupgrade": { + "description": null, + "documentation": "Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_pyupgrade", + "output_type": "PyUpgrade", + "provider": "pants.backend.python.lint.pyupgrade" }, - "pants.backend.experimental.python": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.python", - "provider": "pants" + "construct_scope_regex_lint": { + "description": null, + "documentation": "Lint your code using regex patterns, e.g. to check for copyright headers.\n\nTo activate this with the `lint` goal, you must set `[regex-lint].config`.\n\nUnlike other linters, this can run on files not owned by targets, such as BUILD files.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_regex_lint", + "output_type": "RegexLintSubsystem", + "provider": "pants.backend.project_info" }, - "pants.backend.experimental.python.framework.django": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.python.framework.django", - "provider": "pants" + "construct_scope_repl": { + "description": null, + "documentation": "Open a REPL with the specified code loadable.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_repl", + "output_type": "ReplSubsystem", + "provider": "pants.core" }, - "pants.backend.experimental.python.framework.stevedore": { - "description": "A python \"framework\" for apps to dynamically load plugins.\n\nSee https://github.com/openstack/stevedore for details.", - "enabled": true, - "name": "pants.backend.experimental.python.framework.stevedore", - "provider": "pants" + "construct_scope_roots": { + "description": null, + "documentation": "List the repo's registered source roots.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_roots", + "output_type": "RootsSubsystem", + "provider": "pants.backend.project_info" }, - "pants.backend.experimental.python.lint.add_trailing_comma": { - "description": "Autoformatter to automatically add trailing commas to calls and literals.\n\nSee https://github.com/asottile/add-trailing-comma for details.", - "enabled": true, - "name": "pants.backend.experimental.python.lint.add_trailing_comma", - "provider": "pants" + "construct_scope_ruff": { + "description": null, + "documentation": "The Ruff Python formatter (https://github.com/charliermarsh/ruff).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_ruff", + "output_type": "Ruff", + "provider": "pants.backend.experimental.python.lint.ruff" }, - "pants.backend.experimental.python.lint.autoflake": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.python.lint.autoflake", - "provider": "pants" + "construct_scope_run": { + "description": null, + "documentation": "Runs a binary target.\n\nThis goal propagates the return code of the underlying executable.\n\nIf your application can safely be restarted while it is running, you can pass `restartable=True` on your binary target (for supported types), and the `run` goal will automatically restart them as all relevant files change. This can be particularly useful for server applications.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_run", + "output_type": "RunSubsystem", + "provider": "pants.core" }, - "pants.backend.experimental.python.lint.pyupgrade": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.python.lint.pyupgrade", - "provider": "pants" + "construct_scope_rust": { + "description": null, + "documentation": "Options for Rust support.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_rust", + "output_type": "RustSubsystem", + "provider": "pants.backend.experimental.rust" }, - "pants.backend.experimental.python.lint.ruff": { - "description": "Linter & formatter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and https://github.com/charliermarsh/ruff", - "enabled": true, - "name": "pants.backend.experimental.python.lint.ruff", - "provider": "pants" + "construct_scope_rustfmt": { + "description": null, + "documentation": "Rustfmt-specific options.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_rustfmt", + "output_type": "RustfmtSubsystem", + "provider": "pants.backend.experimental.rust" }, - "pants.backend.experimental.python.packaging.pyoxidizer": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.python.packaging.pyoxidizer", - "provider": "pants" + "construct_scope_scala": { + "description": null, + "documentation": "Scala programming language", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scala", + "output_type": "ScalaSubsystem", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.experimental.python.typecheck.pyright": { - "description": "Static type checker for Python, running on NodeJS.\n\nSee https://github.com/Microsoft/pyright for details.", - "enabled": false, - "name": "pants.backend.experimental.python.typecheck.pyright", - "provider": "pants" + "construct_scope_scala_dump_source_analysis": { + "description": null, + "documentation": "Dump source analysis for scala_source targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scala_dump_source_analysis", + "output_type": "DumpScalaSourceAnalysisSubsystem", + "provider": "pants.backend.experimental.scala.debug_goals" }, - "pants.backend.experimental.python.typecheck.pytype": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.python.typecheck.pytype", - "provider": "pants" + "construct_scope_scala_infer": { + "description": null, + "documentation": "Options controlling which dependencies will be inferred for Scala targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scala_infer", + "output_type": "ScalaInferSubsystem", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.experimental.rust": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.rust", - "provider": "pants" + "construct_scope_scalac": { + "description": null, + "documentation": "The Scala compiler.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scalac", + "output_type": "Scalac", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.experimental.scala": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.scala", - "provider": "pants" + "construct_scope_scalafmt": { + "description": null, + "documentation": "scalafmt (https://scalameta.org/scalafmt/)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scalafmt", + "output_type": "ScalafmtSubsystem", + "provider": "pants.backend.experimental.scala.lint.scalafmt" }, - "pants.backend.experimental.scala.debug_goals": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.scala.debug_goals", - "provider": "pants" + "construct_scope_scalapb": { + "description": null, + "documentation": "The ScalaPB protocol buffer compiler (https://scalapb.github.io/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scalapb", + "output_type": "ScalaPBSubsystem", + "provider": "pants.backend.experimental.codegen.protobuf.scala" }, - "pants.backend.experimental.scala.lint.scalafmt": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.scala.lint.scalafmt", - "provider": "pants" + "construct_scope_scalatest": { + "description": null, + "documentation": "The Scalatest test framework (https://www.scalatest.org/)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scalatest", + "output_type": "Scalatest", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.experimental.swift": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.swift", - "provider": "pants" + "construct_scope_scc": { + "description": null, + "documentation": "The Succinct Code Counter, aka `scc` (https://github.com/boyter/scc).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scc", + "output_type": "SuccinctCodeCounter", + "provider": "pants.backend.project_info" }, - "pants.backend.experimental.terraform": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.terraform", - "provider": "pants" + "construct_scope_scrooge": { + "description": null, + "documentation": "The Scrooge Thrift IDL compiler (https://twitter.github.io/scrooge/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_scrooge", + "output_type": "ScroogeSubsystem", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java" }, - "pants.backend.experimental.terraform.lint.tfsec": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.terraform.lint.tfsec", - "provider": "pants" + "construct_scope_semgrep": { + "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.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_semgrep", + "output_type": "SemgrepSubsystem", + "provider": "pants.backend.experimental.tools.semgrep" }, - "pants.backend.experimental.tools.semgrep": { - "description": "Lightweight static analysis for many languages. Find bug variants with patterns that look like\nsource code.\n\nSee https://semgrep.dev/ for details.", - "enabled": true, - "name": "pants.backend.experimental.tools.semgrep", - "provider": "pants" + "construct_scope_setup_py_generation": { + "description": null, + "documentation": "Options to control how setup.py is generated from a `python_distribution` target.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_setup_py_generation", + "output_type": "SetupPyGeneration", + "provider": "pants.backend.python" }, - "pants.backend.experimental.tools.workunit_logger": { - "description": "", - "enabled": true, - "name": "pants.backend.experimental.tools.workunit_logger", - "provider": "pants" + "construct_scope_setuptools": { + "description": null, + "documentation": "Python setuptools, used to package `python_distribution` targets.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_setuptools", + "output_type": "Setuptools", + "provider": "pants.backend.python" }, - "pants.backend.experimental.tools.yamllint": { - "description": "A configurable linter for YAML files.\n\nSee https://yamllint.readthedocs.io/ for details.", - "enabled": true, - "name": "pants.backend.experimental.tools.yamllint", - "provider": "pants" + "construct_scope_setuptools_scm": { + "description": null, + "documentation": "A tool for generating versions from VCS metadata (https://github.com/pypa/setuptools_scm).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_setuptools_scm", + "output_type": "SetuptoolsSCM", + "provider": "pants.backend.experimental.python" }, - "pants.backend.experimental.visibility": { - "description": "", - "enabled": false, - "name": "pants.backend.experimental.visibility", - "provider": "pants" + "construct_scope_shell_setup": { + "description": null, + "documentation": "Options for Pants's Shell support.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_shell_setup", + "output_type": "ShellSetup", + "provider": "pants.backend.shell" }, - "pants.backend.google_cloud_function.python": { - "description": "Create Google Cloud Functions from Python code.\n\nSee https://www.pantsbuild.org/docs/google-cloud-function-python.", - "enabled": true, - "name": "pants.backend.google_cloud_function.python", - "provider": "pants" + "construct_scope_shell_test": { + "description": null, + "documentation": "Options for Pants' Shell test support.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_shell_test", + "output_type": "ShellTestSubsystem", + "provider": "pants.backend.shell" }, - "pants.backend.plugin_development": { - "description": "", - "enabled": true, - "name": "pants.backend.plugin_development", - "provider": "pants" + "construct_scope_shellcheck": { + "description": null, + "documentation": "A linter for shell scripts.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_shellcheck", + "output_type": "Shellcheck", + "provider": "pants.backend.shell" }, - "pants.backend.project_info": { - "description": "Information on your project, such as listing the targets in your project.", - "enabled": true, - "name": "pants.backend.project_info", - "provider": "pants" + "construct_scope_shfmt": { + "description": null, + "documentation": "An autoformatter for shell scripts (https://github.com/mvdan/sh).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_shfmt", + "output_type": "Shfmt", + "provider": "pants.backend.shell.lint.shfmt" }, - "pants.backend.python": { - "description": "Support for Python.\n\nSee https://www.pantsbuild.org/docs/python-backend.", - "enabled": true, - "name": "pants.backend.python", - "provider": "pants" + "construct_scope_shunit2": { + "description": null, + "documentation": "shUnit2 is a xUnit framework for Bourne based shell scripts (https://github.com/kward/shunit2)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_shunit2", + "output_type": "Shunit2", + "provider": "pants.backend.shell" }, - "pants.backend.python.lint.autoflake": { - "description": "Autoformatter for removing unused Python imports.\n\nSee https://github.com/myint/autoflake for details.", - "enabled": true, - "name": "pants.backend.python.lint.autoflake", - "provider": "pants" + "construct_scope_source": { + "description": null, + "documentation": "Configuration for roots of source trees.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_source", + "output_type": "SourceRootConfig", + "provider": "pants.core" }, - "pants.backend.python.lint.bandit": { - "description": "Security linter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://bandit.readthedocs.io/en/latest/.", - "enabled": true, - "name": "pants.backend.python.lint.bandit", - "provider": "pants" + "construct_scope_spectral": { + "description": null, + "documentation": "A flexible JSON/YAML linter for creating automated style guides (https://github.com/stoplightio/spectral).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_spectral", + "output_type": "SpectralSubsystem", + "provider": "pants.backend.experimental.openapi.lint.spectral" }, - "pants.backend.python.lint.black": { - "description": "Autoformatter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://black.readthedocs.io/en/stable/.", - "enabled": true, - "name": "pants.backend.python.lint.black", - "provider": "pants" + "construct_scope_stats": { + "description": null, + "documentation": "An aggregator for Pants stats, such as cache metrics.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_stats", + "output_type": "StatsAggregatorSubsystem", + "provider": "pants.core" }, - "pants.backend.python.lint.docformatter": { - "description": "Python autoformatter for PEP257 docstring conventions.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://github.com/myint/docformatter.", - "enabled": true, - "name": "pants.backend.python.lint.docformatter", - "provider": "pants" + "construct_scope_subprocess_environment": { + "description": null, + "documentation": "Environment settings for forked subprocesses.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_subprocess_environment", + "output_type": "SubprocessEnvironment", + "provider": "pants.core" }, - "pants.backend.python.lint.flake8": { - "description": "Linter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://flake8.pycqa.org/en/latest/.", - "enabled": true, - "name": "pants.backend.python.lint.flake8", - "provider": "pants" + "construct_scope_system_binaries": { + "description": null, + "documentation": "System binaries related settings.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_system_binaries", + "output_type": "SystemBinariesSubsystem", + "provider": "pants.core" }, - "pants.backend.python.lint.isort": { - "description": "Autoformatter for Python import statements.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://pycqa.github.io/isort/.", - "enabled": true, - "name": "pants.backend.python.lint.isort", - "provider": "pants" + "construct_scope_tailor": { + "description": null, + "documentation": "Auto-generate BUILD file targets for new source files.\n\nEach specific `tailor` implementation may be disabled through language-specific options, e.g. `[python].tailor_pex_binary_targets` and `[shell-setup].tailor`.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_tailor", + "output_type": "TailorSubsystem", + "provider": "pants.core" }, - "pants.backend.python.lint.pydocstyle": { - "description": "Static analysis tool for checking compliance with Python docstring conventions.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttp://www.pydocstyle.org/en/stable/.", - "enabled": true, - "name": "pants.backend.python.lint.pydocstyle", - "provider": "pants" + "construct_scope_taplo": { + "description": null, + "documentation": "An autoformatter for TOML files (https://taplo.tamasfe.dev/)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_taplo", + "output_type": "Taplo", + "provider": "pants.backend.tools.taplo" }, - "pants.backend.python.lint.pylint": { - "description": "Linter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and https://www.pylint.org.", - "enabled": true, - "name": "pants.backend.python.lint.pylint", - "provider": "pants" + "construct_scope_terraform_fmt": { + "description": null, + "documentation": "Terraform fmt options.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_terraform_fmt", + "output_type": "TfFmtSubsystem", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.lint.pyupgrade": { - "description": "https://github.com/asottile/pyupgrade.\n\nA tool to automatically upgrade syntax for newer versions of the language.", - "enabled": true, - "name": "pants.backend.python.lint.pyupgrade", - "provider": "pants" + "construct_scope_terraform_hcl2_parser": { + "description": null, + "documentation": "Used to parse Terraform modules to infer their dependencies.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_terraform_hcl2_parser", + "output_type": "TerraformHcl2Parser", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.lint.yapf": { - "description": "Autoformatter for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://github.com/google/yapf .", - "enabled": true, - "name": "pants.backend.python.lint.yapf", - "provider": "pants" + "construct_scope_terraform_tfsec": { + "description": null, + "documentation": "tfsec by Aqua Security", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_terraform_tfsec", + "output_type": "TFSec", + "provider": "pants.backend.experimental.terraform.lint.tfsec" }, - "pants.backend.python.mixed_interpreter_constraints": { - "description": "", - "enabled": true, - "name": "pants.backend.python.mixed_interpreter_constraints", - "provider": "pants" + "construct_scope_terraform_validate": { + "description": null, + "documentation": "Terraform validate options.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_terraform_validate", + "output_type": "TerraformValidateSubsystem", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.providers.experimental.pyenv": { - "description": "", - "enabled": false, - "name": "pants.backend.python.providers.experimental.pyenv", - "provider": "pants" + "construct_scope_test": { + "description": null, + "documentation": "Run tests.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_test", + "output_type": "TestSubsystem", + "provider": "pants.core" }, - "pants.backend.python.providers.experimental.pyenv.custom_install": { - "description": "", - "enabled": false, - "name": "pants.backend.python.providers.experimental.pyenv.custom_install", - "provider": "pants" + "construct_scope_thrift": { + "description": null, + "documentation": "General Thrift IDL settings (https://thrift.apache.org/).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_thrift", + "output_type": "ThriftSubsystem", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "pants.backend.python.typecheck.mypy": { - "description": "Type checker for Python.\n\nSee https://www.pantsbuild.org/docs/python-linters-and-formatters and\nhttps://mypy.readthedocs.io/en/stable/.", - "enabled": true, - "name": "pants.backend.python.typecheck.mypy", - "provider": "pants" + "construct_scope_twine": { + "description": null, + "documentation": "The utility for publishing Python distributions to PyPI and other Python repositories.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_twine", + "output_type": "TwineSubsystem", + "provider": "pants.backend.experimental.python" }, - "pants.backend.shell": { - "description": "", - "enabled": true, - "name": "pants.backend.shell", - "provider": "pants" + "construct_scope_update_build_files": { + "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/v2.19/docs/upgrade-tips for upgrade tips.\n\nThis goal is run without arguments. It will run over all BUILD files in your project.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_update_build_files", + "output_type": "UpdateBuildFilesSubsystem", + "provider": "pants.core" }, - "pants.backend.shell.lint.shellcheck": { - "description": "", - "enabled": true, - "name": "pants.backend.shell.lint.shellcheck", - "provider": "pants" + "construct_scope_visibility": { + "description": null, + "documentation": "Options for the visibility rules implementation of the dependency rules API.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_visibility", + "output_type": "VisibilitySubsystem", + "provider": "pants.backend.experimental.visibility" }, - "pants.backend.shell.lint.shfmt": { - "description": "", - "enabled": true, - "name": "pants.backend.shell.lint.shfmt", - "provider": "pants" + "construct_scope_workunit_logger": { + "description": null, + "documentation": "Workunit Logger subsystem. Useful for debugging pants itself.", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_workunit_logger", + "output_type": "WorkunitLogger", + "provider": "pants.backend.experimental.tools.workunit_logger" }, - "pants.backend.tools.preamble": { - "description": "", - "enabled": true, - "name": "pants.backend.tools.preamble", - "provider": "pants" + "construct_scope_yamllint": { + "description": null, + "documentation": "A linter for YAML files (https://yamllint.readthedocs.io)", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_yamllint", + "output_type": "Yamllint", + "provider": "pants.backend.experimental.tools.yamllint" }, - "pants.backend.tools.taplo": { - "description": "", - "enabled": false, - "name": "pants.backend.tools.taplo", - "provider": "pants" + "construct_scope_yapf": { + "description": null, + "documentation": "A formatter for Python files (https://github.com/google/yapf).", + "input_gets": [ + "Get(ScopedOptions, Scope, ..)" + ], + "input_types": [], + "name": "construct_scope_yapf", + "output_type": "Yapf", + "provider": "pants.core" }, - "pants.backend.url_handlers.s3": { - "description": "", - "enabled": false, - "name": "pants.backend.url_handlers.s3", - "provider": "pants" + "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request": { + "description": "Running run_in_sandbox target", + "documentation": null, + "input_gets": [ + "Get(EnvironmentName, EnvironmentNameRequest, ..)", + "Get(Address, AddressInput, ..)", + "Get(Targets, Addresses, ..)", + "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", + "Get(RunInSandboxRequest, {EnvironmentName: .., RunFieldSet: ..})", + "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)", + "Get(ExtraSandboxContents, MergeExtraSandboxContents, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(AdhocProcessResult, {EnvironmentName: .., AdhocProcessRequest: ..})", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateFilesFromAdhocToolRequest" + ], + "name": "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.adhoc" }, - "pants.core": { - "description": "Core rules for Pants to operate correctly.\n\nThese are always activated and cannot be disabled.", - "enabled": true, - "name": "pants.core", - "provider": "pants" - } - }, - "name_to_build_file_info": { - "PANTS_VERSION": { + "pants.backend.adhoc.run_system_binary.create_system_binary_run_request": { + "description": null, "documentation": null, - "is_target": false, - "name": "PANTS_VERSION", - "signature": null + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)", + "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "SystemBinaryFieldSet", + "EnvironmentAware" + ], + "name": "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", + "output_type": "RunRequest", + "provider": "pants.backend.experimental.adhoc" }, - "__defaults__": { - "documentation": "Provide default field values.\n\nLearn more https://www.pantsbuild.org/v2.19/docs/targets#field-default-values", - "is_target": false, - "name": "__defaults__", - "signature": "(*args: 'SetDefaultsT', ignore_unknown_fields: 'bool' = False, ignore_unknown_targets: 'bool' = False, **kwargs) -> 'None'" + "pants.backend.awslambda.python.rules.package_python_aws_lambda_function": { + "description": "Create Python AWS Lambda Function", + "documentation": null, + "input_gets": [ + "Get(BuiltPackage, BuildPythonFaaSRequest, ..)" + ], + "input_types": [ + "PythonAwsLambdaFieldSet" + ], + "name": "pants.backend.awslambda.python.rules.package_python_aws_lambda_function", + "output_type": "BuiltPackage", + "provider": "pants.backend.awslambda.python" }, - "__dependencies_rules__": { - "documentation": "Declare dependencies rules.", - "is_target": false, - "name": "__dependencies_rules__", - "signature": "(*args, **kwargs) -> 'None'" + "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer": { + "description": "Create Python AWS Lambda Layer", + "documentation": null, + "input_gets": [ + "Get(BuiltPackage, BuildPythonFaaSRequest, ..)" + ], + "input_types": [ + "PythonAwsLambdaLayerFieldSet" + ], + "name": "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer", + "output_type": "BuiltPackage", + "provider": "pants.backend.awslambda.python" }, - "__dependents_rules__": { - "documentation": "Declare dependents rules.", - "is_target": false, - "name": "__dependents_rules__", - "signature": "(*args, **kwargs) -> 'None'" + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.determine_renamed_field_types": { + "description": null, + "documentation": null, + "input_gets": [], + "input_types": [ + "RegisteredTargetTypes", + "UnionMembership" + ], + "name": "pants.backend.build_files.fix.deprecations.renamed_fields_rules.determine_renamed_field_types", + "output_type": "RenamedFieldTypes", + "provider": "pants.core" }, - "_generator_sources_helper": { + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix": { + "description": "Fix deprecated field names", "documentation": null, - "is_target": true, - "name": "_generator_sources_helper", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DigestContents, Digest, ..)", + "Get(FixedBUILDFile, RenameFieldsInFileRequest, ..)", + "Get(Snapshot, CreateDigest, ..)" + ], + "input_types": [ + "Batch" + ], + "name": "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", + "output_type": "FixResult", + "provider": "pants.core" }, - "_lockfile": { + "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single": { + "description": null, "documentation": null, - "is_target": true, - "name": "_lockfile", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "RenameFieldsInFileRequest", + "RenamedFieldTypes" + ], + "name": "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single", + "output_type": "FixedBUILDFile", + "provider": "pants.core" }, - "_lockfiles": { + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.determine_renamed_target_types": { + "description": null, "documentation": null, - "is_target": true, - "name": "_lockfiles", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "RegisteredTargetTypes" + ], + "name": "pants.backend.build_files.fix.deprecations.renamed_targets_rules.determine_renamed_target_types", + "output_type": "RenamedTargetTypes", + "provider": "pants.core" }, - "adhoc_tool": { + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix": { + "description": "Fix deprecated target type names", "documentation": null, - "is_target": true, - "name": "adhoc_tool", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DigestContents, Digest, ..)", + "Get(FixedBUILDFile, RenameTargetsInFileRequest, ..)", + "Get(Snapshot, CreateDigest, ..)" + ], + "input_types": [ + "Batch" + ], + "name": "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", + "output_type": "FixResult", + "provider": "pants.core" }, - "archive": { + "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single": { + "description": null, "documentation": null, - "is_target": true, - "name": "archive", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "RenameTargetsInFileRequest", + "RenamedTargetTypes" + ], + "name": "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single", + "output_type": "FixedBUILDFile", + "provider": "pants.core" }, - "build_file_dir": { - "documentation": "Returns the path to the directory of the current BUILD file.\n\nThe returned value is an instance of `PurePath` to make path name manipulations easy.\n\nSee: https://docs.python.org/3/library/pathlib.html#pathlib.PurePath", - "is_target": false, - "name": "build_file_dir", - "signature": "() -> 'PurePath'" + "pants.backend.build_files.fmt.black.register.black_fmt": { + "description": "Format with Black", + "documentation": null, + "input_gets": [ + "Get(Lockfile, Resolve, ..)", + "Get(LoadedLockfile, LoadedLockfileRequest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "Black" + ], + "name": "pants.backend.build_files.fmt.black.register.black_fmt", + "output_type": "FixResult", + "provider": "pants.backend.build_files.fmt.black" }, - "deploy_jar": { + "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt": { + "description": "Format with Buildifier", "documentation": null, - "is_target": true, - "name": "deploy_jar", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "Buildifier", + "Platform" + ], + "name": "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "output_type": "FixResult", + "provider": "pants.backend.build_files.fmt.buildifier" }, - "docker_environment": { + "pants.backend.build_files.fmt.yapf.register.yapf_fmt": { + "description": "Format with Yapf", "documentation": null, - "is_target": true, - "name": "docker_environment", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Lockfile, Resolve, ..)", + "Get(LoadedLockfile, LoadedLockfileRequest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "Yapf" + ], + "name": "pants.backend.build_files.fmt.yapf.register.yapf_fmt", + "output_type": "FixResult", + "provider": "pants.backend.build_files.fmt.yapf" }, - "docker_image": { + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BlackRequest": { + "description": null, "documentation": null, - "is_target": true, - "name": "docker_image", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "Black", + "BuildFileOptions" + ], + "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BlackRequest", + "output_type": "Partitions", + "provider": "pants.backend.build_files.fmt.black" }, - "duplicate_rule": { - "documentation": "DeployJarDuplicateRule(pattern: 'str', action: 'str')", - "is_target": false, - "name": "duplicate_rule", - "signature": "(pattern: 'str', action: 'str') -> None" + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BuildifierRequest": { + "description": null, + "documentation": null, + "input_gets": [], + "input_types": [ + "PartitionRequest", + "Buildifier", + "BuildFileOptions" + ], + "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BuildifierRequest", + "output_type": "Partitions", + "provider": "pants.backend.build_files.fmt.buildifier" }, - "env": { - "documentation": "Reference environment variable.", - "is_target": false, - "name": "env", - "signature": "(name: 'str', *args, **kwargs) -> 'Any'" + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameFieldsInFilesRequest": { + "description": null, + "documentation": null, + "input_gets": [], + "input_types": [ + "PartitionRequest", + "BUILDDeprecationsFixer", + "BuildFileOptions" + ], + "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameFieldsInFilesRequest", + "output_type": "Partitions", + "provider": "pants.backend.build_files.fix.deprecations" }, - "experimental_test_shell_command": { + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameTargetsInFilesRequest": { + "description": null, "documentation": null, - "is_target": true, - "name": "experimental_test_shell_command", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "BUILDDeprecationsFixer", + "BuildFileOptions" + ], + "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameTargetsInFilesRequest", + "output_type": "Partitions", + "provider": "pants.backend.build_files.fix.deprecations" }, - "experimental_wrap_as_go_package_sources": { + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_YapfRequest": { + "description": null, "documentation": null, - "is_target": true, - "name": "experimental_wrap_as_go_package_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "Yapf", + "BuildFileOptions" + ], + "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_YapfRequest", + "output_type": "Partitions", + "provider": "pants.backend.build_files.fmt.yapf" }, - "experimental_wrap_as_java_sources": { + "pants.backend.cc.dependency_inference.rules.find_all_cc_targets": { + "description": "Find all CC targets in project", "documentation": null, - "is_target": true, - "name": "experimental_wrap_as_java_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.cc.dependency_inference.rules.find_all_cc_targets", + "output_type": "AllCCTargets", + "provider": "pants.backend.experimental.cc" }, - "experimental_wrap_as_kotlin_sources": { + "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies": { + "description": null, "documentation": null, - "is_target": true, - "name": "experimental_wrap_as_kotlin_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(DigestContents, Digest, ..)" + ], + "input_types": [ + "InferCCDependenciesRequest", + "CCFilesMapping", + "CCInferSubsystem" + ], + "name": "pants.backend.cc.dependency_inference.rules.infer_cc_source_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.cc" }, - "experimental_wrap_as_python_sources": { + "pants.backend.cc.dependency_inference.rules.map_cc_files": { + "description": "Creating map of CC file names to CC targets", "documentation": null, - "is_target": true, - "name": "experimental_wrap_as_python_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(StrippedFileName, StrippedFileNameRequest, ..)" + ], + "input_types": [ + "AllCCTargets" + ], + "name": "pants.backend.cc.dependency_inference.rules.map_cc_files", + "output_type": "CCFilesMapping", + "provider": "pants.backend.experimental.cc" }, - "experimental_wrap_as_resources": { + "pants.backend.cc.goals.tailor.find_putative_targets": { + "description": "Determine candidate CC targets to create", "documentation": null, - "is_target": true, - "name": "experimental_wrap_as_resources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativeCCTargetsRequest", + "AllOwnedSources" + ], + "name": "pants.backend.cc.goals.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.cc" }, - "experimental_wrap_as_scala_sources": { + "pants.backend.cc.lint.clangformat.rules.clangformat_fmt": { + "description": null, "documentation": null, - "is_target": true, - "name": "experimental_wrap_as_scala_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Pex, PexRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, PexProcess, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "ClangFormat" + ], + "name": "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.cc.lint.clangformat" }, - "file": { + "pants.backend.codegen.avro.java.rules.compile_avro_source": { + "description": null, "documentation": null, - "is_target": true, - "name": "file", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, AvroToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)" + ], + "input_types": [ + "CompileAvroSourceRequest", + "InternalJdk", + "AvroSubsystem" + ], + "name": "pants.backend.codegen.avro.java.rules.compile_avro_source", + "output_type": "CompiledAvroSource", + "provider": "pants.backend.experimental.codegen.avro.java" }, - "files": { + "pants.backend.codegen.avro.java.rules.generate_avro_tools_lockfile_request": { + "description": null, "documentation": null, - "is_target": true, - "name": "files", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "AvroToolLockfileSentinel", + "AvroSubsystem" + ], + "name": "pants.backend.codegen.avro.java.rules.generate_avro_tools_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.codegen.avro.java" }, - "go_binary": { + "pants.backend.codegen.avro.java.rules.generate_java_from_avro": { + "description": "Generate Java from Avro", "documentation": null, - "is_target": true, - "name": "go_binary", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(CompiledAvroSource, CompileAvroSourceRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateJavaFromAvroRequest" + ], + "name": "pants.backend.codegen.avro.java.rules.generate_java_from_avro", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.codegen.avro.java" + }, + "pants.backend.codegen.avro.java.rules.infer_apache_avro_java_dependencies": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(ApacheAvroRuntimeForResolve, ApacheAvroRuntimeForResolveRequest, ..)" + ], + "input_types": [ + "InferAvroRuntimeDependencyRequest", + "JvmSubsystem" + ], + "name": "pants.backend.codegen.avro.java.rules.infer_apache_avro_java_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.codegen.avro.java" }, - "go_mod": { + "pants.backend.codegen.avro.java.rules.resolve_apache_avro_runtime_for_resolve": { + "description": null, "documentation": null, - "is_target": true, - "name": "go_mod", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "ApacheAvroRuntimeForResolveRequest", + "AllJvmArtifactTargets", + "JvmSubsystem" + ], + "name": "pants.backend.codegen.avro.java.rules.resolve_apache_avro_runtime_for_resolve", + "output_type": "ApacheAvroRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.avro.java" }, - "go_package": { + "pants.backend.codegen.avro.tailor.find_putative_targets": { + "description": "Determine candidate Protobuf targets to create", "documentation": null, - "is_target": true, - "name": "go_package", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativeAvroTargetsRequest", + "AllOwnedSources", + "AvroSubsystem" + ], + "name": "pants.backend.codegen.avro.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.codegen.avro.java" }, - "go_third_party_package": { + "pants.backend.codegen.avro.target_types.find_all_avro_targets": { + "description": "Find all Avro targets in project", "documentation": null, - "is_target": true, - "name": "go_third_party_package", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.codegen.avro.target_types.find_all_avro_targets", + "output_type": "AllAvroTargets", + "provider": "pants.backend.experimental.codegen.avro.java" }, - "helm_artifact": { + "pants.backend.codegen.export_codegen_goal.export_codegen": { + "description": "`export-codegen` goal", "documentation": null, - "is_target": true, - "name": "helm_artifact", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "FilteredTargets", + "UnionMembership", + "Workspace", + "DistDir", + "RegisteredTargetTypes" + ], + "name": "pants.backend.codegen.export_codegen_goal.export_codegen", + "output_type": "ExportCodegen", + "provider": "pants.core" }, - "helm_chart": { + "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf": { + "description": "Generate Go source files from Protobuf", "documentation": null, - "is_target": true, - "name": "helm_chart", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateGoFromProtobufRequest", + "Protoc", + "_SetupGoProtocPlugin", + "Platform" + ], + "name": "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.codegen.protobuf.go" }, - "helm_deployment": { + "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets": { + "description": "Map import paths for all Go Protobuf targets.", "documentation": null, - "is_target": true, - "name": "helm_deployment", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(DigestContents, Digest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)" + ], + "input_types": [ + "ProtobufGoModuleImportPathsMappingsHook", + "AllProtobufTargets" + ], + "name": "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", + "output_type": "GoModuleImportPathsMappings", + "provider": "pants.backend.experimental.codegen.protobuf.go" }, - "helm_unittest_test": { + "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf": { + "description": null, "documentation": null, - "is_target": true, - "name": "helm_unittest_test", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(DigestContents, Digest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", + "Get(FallibleBuildGoPackageRequest, _SetupGoProtobufPackageBuildRequest, ..)" + ], + "input_types": [ + "GoCodegenBuildProtobufRequest" + ], + "name": "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", + "output_type": "FallibleBuildGoPackageRequest", + "provider": "pants.backend.experimental.codegen.protobuf.go" }, - "helm_unittest_tests": { + "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request": { + "description": null, "documentation": null, - "is_target": true, - "name": "helm_unittest_tests", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" - }, - "http_source": { - "documentation": "http_source(url: 'str', *, len: 'int', sha256: 'str', filename: 'str' = '')", - "is_target": false, - "name": "http_source", - "signature": "(url: 'str', *, len: 'int', sha256: 'str', filename: 'str' = '')" + "input_gets": [ + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(SourceRootsResult, SourceRootsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(SourcesPaths, SourcesPathsRequest, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)", + "Get(BuildGoPackageRequest, BuildGoPackageTargetRequest, ..)" + ], + "input_types": [ + "_SetupGoProtobufPackageBuildRequest", + "Protoc", + "_SetupGoProtocPlugin", + "PackageAnalyzerSetup", + "Platform" + ], + "name": "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", + "output_type": "FallibleBuildGoPackageRequest", + "provider": "pants.backend.experimental.codegen.protobuf.go" }, - "java_source": { + "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin": { + "description": null, "documentation": null, - "is_target": true, - "name": "java_source", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(ProcessResult, GoSdkProcess, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, RemovePrefix, ..)" + ], + "input_types": [], + "name": "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", + "output_type": "_SetupGoProtocPlugin", + "provider": "pants.backend.experimental.codegen.protobuf.go" }, - "java_sources": { + "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency": { + "description": null, "documentation": null, - "is_target": true, - "name": "java_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ProtobufJavaRuntimeForResolve, ProtobufJavaRuntimeForResolveRequest, ..)", + "Get(ProtobufJavaGrpcRuntimeForResolve, ProtobufJavaGrpcRuntimeForResolveRequest, ..)" + ], + "input_types": [ + "InferProtobufJavaRuntimeDependencyRequest", + "JvmSubsystem" + ], + "name": "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.codegen.protobuf.java" }, - "junit_test": { + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve": { + "description": null, "documentation": null, - "is_target": true, - "name": "junit_test", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "AllJvmArtifactTargets", + "JvmSubsystem", + "ProtobufJavaGrpcRuntimeForResolveRequest" + ], + "name": "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve", + "output_type": "ProtobufJavaGrpcRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.protobuf.java" }, - "junit_tests": { + "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve": { + "description": null, "documentation": null, - "is_target": true, - "name": "junit_tests", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "AllJvmArtifactTargets", + "JvmSubsystem", + "ProtobufJavaRuntimeForResolveRequest" + ], + "name": "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve", + "output_type": "ProtobufJavaRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.protobuf.java" }, - "jvm_artifact": { + "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request": { + "description": null, "documentation": null, - "is_target": true, - "name": "jvm_artifact", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" - }, - "jvm_exclude": { - "documentation": "JvmArtifactExclusion(group: 'str', artifact: 'str | None' = None)", - "is_target": false, - "name": "jvm_exclude", - "signature": "(group: 'str', artifact: 'str | None' = None) -> None" + "input_gets": [], + "input_types": [ + "GrpcJavaToolLockfileSentinel", + "JavaProtobufGrpcSubsystem" + ], + "name": "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.codegen.protobuf.java" }, - "jvm_war": { + "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf": { + "description": "Generate Java from Protobuf", "documentation": null, - "is_target": true, - "name": "jvm_war", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateJavaFromProtobufRequest", + "Protoc", + "ProtobufJavaGrpcPlugin", + "Platform" + ], + "name": "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.codegen.protobuf.java" }, - "kotlin_junit_test": { + "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin": { + "description": null, "documentation": null, - "is_target": true, - "name": "kotlin_junit_test", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, GrpcJavaToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "Platform" + ], + "name": "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", + "output_type": "ProtobufJavaGrpcPlugin", + "provider": "pants.backend.experimental.codegen.protobuf.java" }, - "kotlin_junit_tests": { + "pants.backend.codegen.protobuf.lint.buf.format_rules.partition_buf": { + "description": null, "documentation": null, - "is_target": true, - "name": "kotlin_junit_tests", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "BufSubsystem" + ], + "name": "pants.backend.codegen.protobuf.lint.buf.format_rules.partition_buf", + "output_type": "Partitions", + "provider": "pants.backend.codegen.protobuf.lint.buf" }, - "kotlin_source": { + "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format": { + "description": "Format with buf format", "documentation": null, - "is_target": true, - "name": "kotlin_source", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(BinaryShims, BinaryShimsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "BufSubsystem", + "DiffBinary", + "Platform" + ], + "name": "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", + "output_type": "FixResult", + "provider": "pants.backend.codegen.protobuf.lint.buf" }, - "kotlin_sources": { + "pants.backend.codegen.protobuf.lint.buf.lint_rules.partition_buf": { + "description": null, "documentation": null, - "is_target": true, - "name": "kotlin_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "BufSubsystem" + ], + "name": "pants.backend.codegen.protobuf.lint.buf.lint_rules.partition_buf", + "output_type": "Partitions", + "provider": "pants.backend.codegen.protobuf.lint.buf" }, - "kotlinc_plugin": { + "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf": { + "description": "Lint with buf lint", "documentation": null, - "is_target": true, - "name": "kotlinc_plugin", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "Batch", + "BufSubsystem", + "Platform" + ], + "name": "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", + "output_type": "LintResult", + "provider": "pants.backend.codegen.protobuf.lint.buf" }, - "local_environment": { + "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies": { + "description": "Inferring Protobuf dependencies by analyzing imports", "documentation": null, - "is_target": true, - "name": "local_environment", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(DigestContents, Digest, ..)" + ], + "input_types": [ + "InferProtobufDependencies", + "ProtobufMapping", + "Protoc" + ], + "name": "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.codegen.protobuf.python" }, - "openapi_document": { + "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files": { + "description": "Creating map of Protobuf file names to Protobuf targets", "documentation": null, - "is_target": true, - "name": "openapi_document", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(StrippedFileName, StrippedFileNameRequest, ..)" + ], + "input_types": [ + "AllProtobufTargets" + ], + "name": "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files", + "output_type": "ProtobufMapping", + "provider": "pants.backend.codegen.protobuf.python" }, - "openapi_documents": { + "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules": { + "description": "Creating map of Protobuf targets to generated Python modules", "documentation": null, - "is_target": true, - "name": "openapi_documents", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(StrippedFileName, StrippedFileNameRequest, ..)" + ], + "input_types": [ + "AllProtobufTargets", + "PythonSetup", + "PythonProtobufMappingMarker" + ], + "name": "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", + "output_type": "FirstPartyPythonMappingImpl", + "provider": "pants.backend.codegen.protobuf.python" }, - "openapi_source": { + "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies": { + "description": null, "documentation": null, - "is_target": true, - "name": "openapi_source", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" + ], + "input_types": [ + "InferPythonProtobufDependencies", + "PythonProtobufSubsystem", + "PythonSetup", + "PythonInferSubsystem" + ], + "name": "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.codegen.protobuf.python" }, - "openapi_sources": { + "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf": { + "description": "Generate Python from Protobuf", "documentation": null, - "is_target": true, - "name": "openapi_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(VenvPex, VenvPexRequest, ..)", + "Get(PexResolveInfo, VenvPex, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GeneratePythonFromProtobufRequest", + "Protoc", + "GrpcPythonPlugin", + "PythonProtobufSubsystem", + "PythonProtobufMypyPlugin", + "PexEnvironment", + "Platform" + ], + "name": "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", + "output_type": "GeneratedSources", + "provider": "pants.backend.codegen.protobuf.python" }, - "pants_requirements": { + "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency": { + "description": null, "documentation": null, - "is_target": true, - "name": "pants_requirements", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ScalaPBRuntimeForResolve, ScalaPBRuntimeForResolveRequest, ..)" + ], + "input_types": [ + "InferScalaPBRuntimeDependencyRequest", + "JvmSubsystem" + ], + "name": "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.codegen.protobuf.scala" }, - "parametrize": { - "documentation": "A builtin function/dataclass that can be used to parametrize Targets.\n\nParametrization is applied between TargetAdaptor construction and Target instantiation, which\nmeans that individual Field instances need not be aware of it.", - "is_target": false, - "name": "parametrize", - "signature": "(*args: 'str', **kwargs: 'Any') -> 'None'" + "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve": { + "description": null, + "documentation": null, + "input_gets": [], + "input_types": [ + "ScalaPBRuntimeForResolveRequest", + "AllJvmArtifactTargets", + "JvmSubsystem", + "ScalaSubsystem", + "ScalaPBSubsystem" + ], + "name": "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", + "output_type": "ScalaPBRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.protobuf.scala" }, - "per_platform": { - "documentation": "An object containing differing homogeneous platform-dependent values.\n\nThe values should be evaluated for the execution environment, and not the host environment\n(I.e. it should be evaluated in a `rule` which requests `Platform`).\n\nExpected usage is roughly:\n\n```python\nclass MyFieldType(...):\n value = str | per_platform[str]\n\n @classmethod\n def compute_value( # type: ignore[override]\n cls,\n raw_value: Optional[Union[str, per_platform[str]]],\n address: Address,\n ) -> Optional[Union[str, per_platform[str]]]:\n if isinstance(raw_value, per_platform):\n # NOTE: Ensure the values are homogenous\n raw_value.check_types(str)\n\n return raw_value\n\n...\n\n@rule\nasync def my_rule(..., platform: Platform) -> ...:\n field_value = target[MyFieldType].value\n\n if isinstance(field_value, per_platform):\n field_value = field_value.get_value_for_platform(platform)\n\n ...\n```\n\nNOTE: Support for this object should be heavily weighed, as it would be innaproriate to use in\ncertain contexts (such as the `source` field in a `foo_source` target, where the intent is to\nsupport differing source files based on platform. The result would be that dependency inference\n(and therefore the dependencies field) wouldn't be knowable on the host, which is not something\nthe engine can support yet).", - "is_target": false, - "name": "per_platform", - "signature": "(linux_arm64: '_T | None' = None, linux_x86_64: '_T | None' = None, macos_arm64: '_T | None' = None, macos_x86_64: '_T | None' = None) -> None" + "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf": { + "description": "Generate Scala from Protobuf", + "documentation": null, + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, ScalapbcToolLockfileSentinel, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(MaterializedJvmPlugins, MaterializeJvmPluginsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateScalaFromProtobufRequest", + "Protoc", + "ScalaPBSubsystem", + "ScalaPBShimCompiledClassfiles", + "InternalJdk", + "Platform" + ], + "name": "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.codegen.protobuf.scala" }, - "pex_binaries": { + "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request": { + "description": null, "documentation": null, - "is_target": true, - "name": "pex_binaries", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "ScalapbcToolLockfileSentinel", + "ScalaPBSubsystem" + ], + "name": "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.codegen.protobuf.scala" }, - "pex_binary": { + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin": { + "description": null, "documentation": null, - "is_target": true, - "name": "pex_binary", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ArtifactRequirements, GatherJvmCoordinatesRequest, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)" + ], + "input_types": [ + "MaterializeJvmPluginRequest" + ], + "name": "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", + "output_type": "MaterializedJvmPlugin", + "provider": "pants.backend.experimental.codegen.protobuf.scala" }, - "pipenv_requirements": { + "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins": { + "description": null, "documentation": null, - "is_target": true, - "name": "pipenv_requirements", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(MaterializedJvmPlugin, MaterializeJvmPluginRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "MaterializeJvmPluginsRequest" + ], + "name": "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins", + "output_type": "MaterializedJvmPlugins", + "provider": "pants.backend.experimental.codegen.protobuf.scala" }, - "poetry_requirements": { + "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles": { + "description": null, "documentation": null, - "is_target": true, - "name": "poetry_requirements", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, ScalapbcToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)" + ], + "input_types": [ + "ScalaPBSubsystem", + "InternalJdk" + ], + "name": "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", + "output_type": "ScalaPBShimCompiledClassfiles", + "provider": "pants.backend.experimental.codegen.protobuf.scala" }, - "protobuf_source": { + "pants.backend.codegen.protobuf.tailor.find_putative_targets": { + "description": "Determine candidate Protobuf targets to create", "documentation": null, - "is_target": true, - "name": "protobuf_source", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativeProtobufTargetsRequest", + "AllOwnedSources", + "Protoc" + ], + "name": "pants.backend.codegen.protobuf.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.codegen.protobuf.python" }, - "protobuf_sources": { + "pants.backend.codegen.protobuf.target_types.find_all_protobuf_targets": { + "description": "Find all Protobuf targets in project", "documentation": null, - "is_target": true, - "name": "protobuf_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.codegen.protobuf.target_types.find_all_protobuf_targets", + "output_type": "AllProtobufTargets", + "provider": "pants.backend.codegen.protobuf.python" }, - "pyoxidizer_binary": { + "pants.backend.codegen.protobuf.target_types.generator_settings": { + "description": null, "documentation": null, - "is_target": true, - "name": "pyoxidizer_binary", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" - }, - "python_artifact": { - "documentation": "Represents a Python setup.py-based project.", - "is_target": false, - "name": "python_artifact", - "signature": "(**kwargs) -> None" + "input_gets": [], + "input_types": [ + "GeneratorSettingsRequest", + "Protoc" + ], + "name": "pants.backend.codegen.protobuf.target_types.generator_settings", + "output_type": "TargetFilesGeneratorSettings", + "provider": "pants.backend.codegen.protobuf.python" }, - "python_aws_lambda_function": { + "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift": { + "description": "Generate Java from Thrift", "documentation": null, - "is_target": true, - "name": "python_aws_lambda_function", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(GeneratedThriftSources, GenerateThriftSourcesRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateJavaFromThriftRequest", + "ApacheThriftJavaSubsystem" + ], + "name": "pants.backend.codegen.thrift.apache.java.rules.generate_java_from_thrift", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.codegen.thrift.apache.java" }, - "python_aws_lambda_layer": { + "pants.backend.codegen.thrift.apache.java.rules.infer_apache_thrift_java_dependencies": { + "description": null, "documentation": null, - "is_target": true, - "name": "python_aws_lambda_layer", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ApacheThriftJavaRuntimeForResolve, ApacheThriftJavaRuntimeForResolveRequest, ..)" + ], + "input_types": [ + "InferApacheThriftJavaDependencies", + "JvmSubsystem" + ], + "name": "pants.backend.codegen.thrift.apache.java.rules.infer_apache_thrift_java_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.codegen.thrift.apache.java" }, - "python_awslambda": { + "pants.backend.codegen.thrift.apache.java.rules.resolve_apache_thrift_java_runtime_for_resolve": { + "description": null, "documentation": null, - "is_target": true, - "name": "python_awslambda", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "ApacheThriftJavaRuntimeForResolveRequest", + "AllJvmArtifactTargets", + "JvmSubsystem" + ], + "name": "pants.backend.codegen.thrift.apache.java.rules.resolve_apache_thrift_java_runtime_for_resolve", + "output_type": "ApacheThriftJavaRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.thrift.apache.java" }, - "python_distribution": { + "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules": { + "description": "Creating map of Thrift targets to generated Python modules", "documentation": null, - "is_target": true, - "name": "python_distribution", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ParsedThrift, ParsedThriftRequest, ..)" + ], + "input_types": [ + "AllThriftTargets", + "PythonSetup", + "PythonThriftMappingMarker" + ], + "name": "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", + "output_type": "FirstPartyPythonMappingImpl", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "python_google_cloud_function": { + "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement": { + "description": null, "documentation": null, - "is_target": true, - "name": "python_google_cloud_function", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" + ], + "input_types": [ + "InferApacheThriftPythonDependencies", + "ThriftPythonSubsystem", + "PythonSetup", + "PythonInferSubsystem" + ], + "name": "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "output_type": "InferredDependencies", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "python_requirement": { + "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift": { + "description": "Generate Python from Thrift", "documentation": null, - "is_target": true, - "name": "python_requirement", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(GeneratedThriftSources, GenerateThriftSourcesRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GeneratePythonFromThriftRequest", + "ThriftPythonSubsystem" + ], + "name": "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", + "output_type": "GeneratedSources", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "python_requirements": { + "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources": { + "description": null, "documentation": null, - "is_target": true, - "name": "python_requirements", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(SourceRootsResult, SourceRootsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Snapshot, RemovePrefix, ..)" + ], + "input_types": [ + "GenerateThriftSourcesRequest", + "ApacheThriftSetup" + ], + "name": "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", + "output_type": "GeneratedThriftSources", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "python_source": { + "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool": { + "description": null, "documentation": null, - "is_target": true, - "name": "python_source", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(BinaryPaths, BinaryPathRequest, ..)", + "Get(ProcessResult, Process, ..)" + ], + "input_types": [ + "ApacheThriftSubsystem", + "EnvironmentAware", + "EnvironmentTarget" + ], + "name": "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", + "output_type": "ApacheThriftSetup", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "python_sources": { + "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies": { + "description": "Inferring Thrift dependencies by analyzing imports", "documentation": null, - "is_target": true, - "name": "python_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(ParsedThrift, ParsedThriftRequest, ..)" + ], + "input_types": [ + "InferThriftDependencies", + "ThriftMapping", + "ThriftSubsystem" + ], + "name": "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "python_test": { + "pants.backend.codegen.thrift.dependency_inference.map_thrift_files": { + "description": "Creating map of Thrift file names to Thrift targets", "documentation": null, - "is_target": true, - "name": "python_test", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(StrippedFileName, StrippedFileNameRequest, ..)" + ], + "input_types": [ + "AllThriftTargets" + ], + "name": "pants.backend.codegen.thrift.dependency_inference.map_thrift_files", + "output_type": "ThriftMapping", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "python_test_utils": { + "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge": { + "description": "Generate Java from Thrift with Scrooge", "documentation": null, - "is_target": true, - "name": "python_test_utils", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(GeneratedScroogeThriftSources, GenerateScroogeThriftSourcesRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateJavaFromThriftRequest" + ], + "name": "pants.backend.codegen.thrift.scrooge.java.rules.generate_java_from_thrift_with_scrooge", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java" }, - "python_tests": { + "pants.backend.codegen.thrift.scrooge.java.rules.inject_scrooge_thrift_java_dependencies": { + "description": null, "documentation": null, - "is_target": true, - "name": "python_tests", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ScroogeThriftJavaRuntimeForResolve, ScroogeThriftJavaRuntimeForResolveRequest, ..)" + ], + "input_types": [ + "InferScroogeThriftJavaDependencies", + "JvmSubsystem" + ], + "name": "pants.backend.codegen.thrift.scrooge.java.rules.inject_scrooge_thrift_java_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java" }, - "relocated_files": { + "pants.backend.codegen.thrift.scrooge.java.rules.resolve_scrooge_thrift_java_runtime_for_resolve": { + "description": null, "documentation": null, - "is_target": true, - "name": "relocated_files", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "ScroogeThriftJavaRuntimeForResolveRequest", + "AllJvmArtifactTargets", + "JvmSubsystem", + "ScalaSubsystem" + ], + "name": "pants.backend.codegen.thrift.scrooge.java.rules.resolve_scrooge_thrift_java_runtime_for_resolve", + "output_type": "ScroogeThriftJavaRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java" }, - "remote_environment": { + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_lockfile_request": { + "description": null, "documentation": null, - "is_target": true, - "name": "remote_environment", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "ScroogeToolLockfileSentinel", + "ScroogeSubsystem" + ], + "name": "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java" }, - "resource": { + "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources": { + "description": null, "documentation": null, - "is_target": true, - "name": "resource", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, ScroogeToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(SourceRootsResult, SourceRootsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Snapshot, RemovePrefix, ..)" + ], + "input_types": [ + "GenerateScroogeThriftSourcesRequest", + "InternalJdk", + "ScroogeSubsystem" + ], + "name": "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", + "output_type": "GeneratedScroogeThriftSources", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java" }, - "resources": { + "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge": { + "description": "Generate Scala from Thrift with Scrooge", "documentation": null, - "is_target": true, - "name": "resources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(GeneratedScroogeThriftSources, GenerateScroogeThriftSourcesRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateScalaFromThriftRequest" + ], + "name": "pants.backend.codegen.thrift.scrooge.scala.rules.generate_scala_from_thrift_with_scrooge", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.scala" }, - "run_shell_command": { + "pants.backend.codegen.thrift.scrooge.scala.rules.inject_scrooge_thrift_scala_dependencies": { + "description": null, "documentation": null, - "is_target": true, - "name": "run_shell_command", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(ScroogeThriftScalaRuntimeForResolve, ScroogeThriftScalaRuntimeForResolveRequest, ..)" + ], + "input_types": [ + "InferScroogeThriftScalaDependencies", + "JvmSubsystem" + ], + "name": "pants.backend.codegen.thrift.scrooge.scala.rules.inject_scrooge_thrift_scala_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.scala" }, - "scala_artifact": { + "pants.backend.codegen.thrift.scrooge.scala.rules.resolve_scrooge_thrift_scala_runtime_for_resolve": { + "description": null, "documentation": null, - "is_target": true, - "name": "scala_artifact", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" - }, - "scala_exclude": { - "documentation": "ScalaArtifactExclusion(group: 'str', artifact: 'str | None' = None, crossversion: 'str' = 'partial')", - "is_target": false, - "name": "scala_exclude", - "signature": "(group: 'str', artifact: 'str | None' = None, crossversion: 'str' = 'partial') -> None" + "input_gets": [], + "input_types": [ + "ScroogeThriftScalaRuntimeForResolveRequest", + "AllJvmArtifactTargets", + "JvmSubsystem", + "ScalaSubsystem" + ], + "name": "pants.backend.codegen.thrift.scrooge.scala.rules.resolve_scrooge_thrift_scala_runtime_for_resolve", + "output_type": "ScroogeThriftScalaRuntimeForResolve", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.scala" }, - "scala_junit_test": { + "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets": { + "description": "Determine candidate Thrift targets to create", "documentation": null, - "is_target": true, - "name": "scala_junit_test", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativeThriftTargetsRequest", + "AllOwnedSources", + "ThriftSubsystem" + ], + "name": "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "scala_junit_tests": { + "pants.backend.codegen.thrift.target_types.find_all_thrift_targets": { + "description": "Find all Thrift targets in project", "documentation": null, - "is_target": true, - "name": "scala_junit_tests", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.codegen.thrift.target_types.find_all_thrift_targets", + "output_type": "AllThriftTargets", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "scala_source": { + "pants.backend.codegen.thrift.target_types.generator_settings": { + "description": null, "documentation": null, - "is_target": true, - "name": "scala_source", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "GeneratorSettingsRequest", + "ThriftSubsystem" + ], + "name": "pants.backend.codegen.thrift.target_types.generator_settings", + "output_type": "TargetFilesGeneratorSettings", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "scala_sources": { + "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file": { + "description": null, "documentation": null, - "is_target": true, - "name": "scala_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(DigestContents, Digest, ..)" + ], + "input_types": [ + "ParsedThriftRequest" + ], + "name": "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file", + "output_type": "ParsedThrift", + "provider": "pants.backend.codegen.thrift.apache.python" }, - "scalac_plugin": { + "pants.backend.cue.goals.fix.run_cue_fmt": { + "description": "Format with cue", "documentation": null, - "is_target": true, - "name": "scalac_plugin", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "Cue", + "Platform" + ], + "name": "pants.backend.cue.goals.fix.run_cue_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.cue" }, - "scalatest_test": { + "pants.backend.cue.goals.lint.run_cue_vet": { + "description": "Lint with cue", "documentation": null, - "is_target": true, - "name": "scalatest_test", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "Batch", + "Cue", + "Platform" + ], + "name": "pants.backend.cue.goals.lint.run_cue_vet", + "output_type": "LintResult", + "provider": "pants.backend.experimental.cue" }, - "scalatest_tests": { + "pants.backend.debian.rules.package_debian_package": { + "description": null, "documentation": null, - "is_target": true, - "name": "scalatest_tests", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" - }, - "setup_py": { - "documentation": "Represents a Python setup.py-based project.", - "is_target": false, - "name": "setup_py", - "signature": "(**kwargs) -> None" + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(ProcessResult, Process, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "DebianPackageFieldSet", + "TarBinary" + ], + "name": "pants.backend.debian.rules.package_debian_package", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.debian" }, - "shading_keep": { - "documentation": "JvmShadingKeepRule(pattern: 'str')", - "is_target": false, - "name": "shading_keep", - "signature": "(pattern: 'str') -> None" + "pants.backend.docker.goals.package_image.build_docker_image": { + "description": null, + "documentation": "Build a Docker image using `docker build`.", + "input_gets": [ + "Get(DockerBuildContext, DockerBuildContextRequest, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(DockerImageTags, DockerImageTagsRequest, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "DockerPackageFieldSet", + "DockerOptions", + "GlobalOptions", + "DockerBinary", + "KeepSandboxes", + "UnionMembership" + ], + "name": "pants.backend.docker.goals.package_image.build_docker_image", + "output_type": "BuiltPackage", + "provider": "pants.backend.docker" }, - "shading_relocate": { - "documentation": "JvmShadingRelocateRule(package: 'str', into: 'str | None' = None)", - "is_target": false, - "name": "shading_relocate", - "signature": "(package: 'str', into: 'str | None' = None) -> None" + "pants.backend.docker.goals.publish.push_docker_images": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "PublishDockerImageRequest", + "DockerBinary", + "DockerOptions", + "EnvironmentAware" + ], + "name": "pants.backend.docker.goals.publish.push_docker_images", + "output_type": "PublishProcesses", + "provider": "pants.backend.docker" }, - "shading_rename": { - "documentation": "JvmShadingRenameRule(pattern: 'str', replacement: 'str')", - "is_target": false, - "name": "shading_rename", - "signature": "(pattern: 'str', replacement: 'str') -> None" + "pants.backend.docker.goals.run_image.docker_image_run_request": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(BuiltPackage, PackageFieldSet, ..)" + ], + "input_types": [ + "DockerRunFieldSet", + "DockerBinary", + "DockerOptions", + "EnvironmentAware" + ], + "name": "pants.backend.docker.goals.run_image.docker_image_run_request", + "output_type": "RunRequest", + "provider": "pants.backend.docker" }, - "shading_zap": { - "documentation": "JvmShadingZapRule(pattern: 'str')", - "is_target": false, - "name": "shading_zap", - "signature": "(pattern: 'str') -> None" + "pants.backend.docker.goals.tailor.find_putative_targets": { + "description": "Determine candidate Docker targets to create", + "documentation": null, + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativeDockerTargetsRequest", + "AllOwnedSources", + "DockerOptions" + ], + "name": "pants.backend.docker.goals.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.docker" }, - "shell_command": { + "pants.backend.docker.lint.hadolint.rules.run_hadolint": { + "description": "Lint with Hadolint", "documentation": null, - "is_target": true, - "name": "shell_command", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(DockerfileInfo, DockerfileInfoRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "Batch", + "Hadolint", + "Platform" + ], + "name": "pants.backend.docker.lint.hadolint.rules.run_hadolint", + "output_type": "LintResult", + "provider": "pants.backend.docker.lint.hadolint" }, - "shell_source": { + "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile": { + "description": null, "documentation": null, - "is_target": true, - "name": "shell_source", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(ProcessResult, DockerfileParseRequest, ..)" + ], + "input_types": [ + "DockerfileInfoRequest" + ], + "name": "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", + "output_type": "DockerfileInfo", + "provider": "pants.backend.docker" }, - "shell_sources": { + "pants.backend.docker.subsystems.dockerfile_parser.setup_parser": { + "description": null, "documentation": null, - "is_target": true, - "name": "shell_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(VenvPex, PexRequest, ..)" + ], + "input_types": [ + "DockerfileParser" + ], + "name": "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", + "output_type": "ParserSetup", + "provider": "pants.backend.docker" }, - "shunit2_test": { + "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile": { + "description": null, "documentation": null, - "is_target": true, - "name": "shunit2_test", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Process, VenvPexProcess, ..)" + ], + "input_types": [ + "DockerfileParseRequest", + "ParserSetup" + ], + "name": "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile", + "output_type": "Process", + "provider": "pants.backend.docker" }, - "shunit2_tests": { + "pants.backend.docker.target_types.all_docker_targets": { + "description": null, "documentation": null, - "is_target": true, - "name": "shunit2_tests", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.docker.target_types.all_docker_targets", + "output_type": "AllDockerImageTargets", + "provider": "pants.backend.docker" }, - "stevedore_namespace": { - "documentation": "str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to sys.getdefaultencoding().\nerrors defaults to 'strict'.", - "is_target": false, - "name": "stevedore_namespace", - "signature": null + "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies": { + "description": null, + "documentation": "Inspects the Dockerfile for references to known packagable targets.", + "input_gets": [ + "Get(DockerfileInfo, DockerfileInfoRequest, ..)", + "Get(Targets, Addresses, ..)", + "Get(DockerBuildArgs, DockerBuildArgsRequest, ..)", + "Get(Addresses, UnparsedAddressInputs, ..)" + ], + "input_types": [ + "InferDockerDependencies", + "AllPackageableTargets" + ], + "name": "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.docker" }, - "system_binary": { + "pants.backend.docker.util_rules.docker_binary.get_docker": { + "description": "Finding the `docker` binary and related tooling", "documentation": null, - "is_target": true, - "name": "system_binary", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)", + "Get(BinaryShims, BinaryShimsRequest, ..)" + ], + "input_types": [ + "DockerOptions", + "EnvironmentAware" + ], + "name": "pants.backend.docker.util_rules.docker_binary.get_docker", + "output_type": "DockerBinary", + "provider": "pants.backend.docker" }, - "target": { + "pants.backend.docker.util_rules.docker_build_args.docker_build_args": { + "description": null, "documentation": null, - "is_target": true, - "name": "target", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "DockerBuildArgsRequest", + "DockerOptions" + ], + "name": "pants.backend.docker.util_rules.docker_build_args.docker_build_args", + "output_type": "DockerBuildArgs", + "provider": "pants.backend.docker" }, - "terraform_deployment": { + "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context": { + "description": null, "documentation": null, - "is_target": true, - "name": "terraform_deployment", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", + "Get(DockerfileInfo, DockerfileInfoRequest, ..)", + "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", + "Get(Snapshot, MergeDigests, ..)", + "Get(DockerBuildArgs, DockerBuildArgsRequest, ..)", + "Get(DockerBuildEnvironment, DockerBuildEnvironmentRequest, ..)", + "Get(Addresses, UnparsedAddressInputs, ..)" + ], + "input_types": [ + "DockerBuildContextRequest" + ], + "name": "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", + "output_type": "DockerBuildContext", + "provider": "pants.backend.docker" }, - "terraform_module": { + "pants.backend.docker.util_rules.docker_build_context.hydrate_input_sources": { + "description": null, "documentation": null, - "is_target": true, - "name": "terraform_module", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [], + "input_types": [ + "GenerateDockerContextFiles" + ], + "name": "pants.backend.docker.util_rules.docker_build_context.hydrate_input_sources", + "output_type": "GeneratedSources", + "provider": "pants.backend.docker" }, - "thrift_source": { + "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars": { + "description": null, "documentation": null, - "is_target": true, - "name": "thrift_source", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(DockerBuildArgs, DockerBuildArgsRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "DockerBuildEnvironmentRequest", + "DockerOptions", + "EnvironmentAware" + ], + "name": "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars", + "output_type": "DockerBuildEnvironment", + "provider": "pants.backend.docker" }, - "thrift_sources": { + "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile": { + "description": null, "documentation": null, - "is_target": true, - "name": "thrift_sources", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + "input_gets": [ + "Get(Snapshot, CreateDigest, ..)" + ], + "input_types": [ + "GenerateDockerfileRequest" + ], + "name": "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile", + "output_type": "GeneratedSources", + "provider": "pants.backend.docker" }, - "vcs_version": { + "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib": { + "description": null, "documentation": null, - "is_target": true, - "name": "vcs_version", - "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" - } - }, - "name_to_goal_info": { - "check": { - "consumed_scopes": ["", "check", "environments-preview", "filter"], - "description": "Run type checking or the lightest variant of compilation available for a language.", - "is_implemented": true, - "name": "check", - "provider": "pants.core" - }, - "count-loc": { - "consumed_scopes": [ - "", - "environments-preview", - "filter", - "python-bootstrap", - "scc", - "system-binaries" + "input_gets": [ + "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)", + "Get(BuildGoPackageRequest, NaiveBuildGoPackageRequestForStdlibPackageRequest, ..)" ], - "description": "Count lines of code.", - "is_implemented": true, - "name": "count-loc", - "provider": "pants.backend.project_info" - }, - "dependees": { - "consumed_scopes": ["", "dependents", "environments-preview", "filter"], - "description": "List all targets that depend on any of the input files/targets.", - "is_implemented": true, - "name": "dependents", - "provider": "pants.backend.project_info" - }, - "dependencies": { - "consumed_scopes": ["", "dependencies", "environments-preview", "filter"], - "description": "List the dependencies of the input files/targets.", - "is_implemented": true, - "name": "dependencies", - "provider": "pants.backend.project_info" - }, - "dependents": { - "consumed_scopes": ["", "dependents", "environments-preview", "filter"], - "description": "List all targets that depend on any of the input files/targets.", - "is_implemented": true, - "name": "dependents", - "provider": "pants.backend.project_info" - }, - "experimental-bsp": { - "consumed_scopes": [], - "description": "Setup repository for Build Server Protocol (https://build-server-protocol.github.io/).", - "is_implemented": true, - "name": "experimental-bsp", - "provider": "pants.core" - }, - "experimental-deploy": { - "consumed_scopes": [ - "", - "environments-preview", - "experimental-deploy", - "filter" + "input_types": [ + "NaiveBuildGoPackageRequestForStdlibPackageRequest", + "GoRoot" ], - "description": "Perform a deployment process.", - "is_implemented": true, - "name": "experimental-deploy", - "provider": "pants.core" - }, - "experimental-explorer": { - "consumed_scopes": [], - "description": "Run the Pants Explorer Web UI server.", - "is_implemented": true, - "name": "experimental-explorer", - "provider": "pants.goal" - }, - "export": { - "consumed_scopes": ["", "environments-preview", "export", "filter"], - "description": "Export Pants data for use in other tools, such as IDEs.", - "is_implemented": true, - "name": "export", - "provider": "pants.core" - }, - "export-codegen": { - "consumed_scopes": ["", "environments-preview", "filter"], - "description": "Write generated files to `dist/codegen` for use outside of Pants.", - "is_implemented": true, - "name": "export-codegen", - "provider": "pants.core" - }, - "filedeps": { - "consumed_scopes": ["", "environments-preview", "filedeps", "filter"], - "description": "List all source and BUILD files a target depends on.", - "is_implemented": true, - "name": "filedeps", - "provider": "pants.backend.project_info" - }, - "fix": { - "consumed_scopes": ["", "environments-preview", "filter", "fix"], - "description": "Autofix source code.", - "is_implemented": true, - "name": "fix", - "provider": "pants.core" - }, - "fmt": { - "consumed_scopes": ["", "environments-preview", "filter", "fmt"], - "description": "Autoformat source code.", - "is_implemented": true, - "name": "fmt", - "provider": "pants.core" - }, - "generate-lockfiles": { - "consumed_scopes": ["", "environments-preview", "generate-lockfiles"], - "description": "Generate lockfiles for third-party dependencies.", - "is_implemented": true, - "name": "generate-lockfiles", - "provider": "pants.core" - }, - "generate-snapshots": { - "consumed_scopes": ["", "environments-preview", "filter"], - "description": "Generate test snapshots.", - "is_implemented": true, - "name": "generate-snapshots", - "provider": "pants.core" + "name": "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", + "output_type": "BuildGoPackageRequest", + "provider": "pants.backend.experimental.go" }, - "go-generate": { - "consumed_scopes": [ - "", - "environments-preview", - "filter", - "go-generate", - "go-test", - "golang", - "system-binaries" + "pants.backend.go.go_sources.load_go_binary.setup_go_binary": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(BuildGoPackageRequest, NaiveBuildGoPackageRequestForStdlibPackageRequest, ..)", + "Get(BuiltGoPackage, BuildGoPackageRequest, ..)", + "Get(LinkedGoBinary, LinkGoBinaryRequest, ..)" ], - "description": "Run each command in a package described by a `//go:generate` directive. This is equivalent to running `go generate` on a Go package.\n\nNote: Just like with `go generate`, the `go-generate` goal is never run as part of the build and must be run manually to invoke the commands described by the `//go:generate` directives.\n\nSee https://go.dev/blog/generate for details.", - "is_implemented": true, - "name": "go-generate", + "input_types": [ + "LoadedGoBinaryRequest", + "GoRoot" + ], + "name": "pants.backend.go.go_sources.load_go_binary.setup_go_binary", + "output_type": "LoadedGoBinary", "provider": "pants.backend.experimental.go" }, - "help": { - "consumed_scopes": [], - "description": "Display usage message.", - "is_implemented": true, - "name": "help", - "provider": "pants.goal" - }, - "help-advanced": { - "consumed_scopes": [], - "description": "Help for advanced options.", - "is_implemented": true, - "name": "help-advanced", - "provider": "pants.goal" - }, - "help-all": { - "consumed_scopes": [], - "description": "Print a JSON object containing all help info.", - "is_implemented": true, - "name": "help-all", - "provider": "pants.goal" - }, - "lint": { - "consumed_scopes": ["", "environments-preview", "filter", "lint"], - "description": "Run linters/formatters/fixers in check mode.", - "is_implemented": true, - "name": "lint", - "provider": "pants.core" - }, - "list": { - "consumed_scopes": ["", "environments-preview", "filter", "list"], - "description": "Lists all targets matching the file or target arguments.", - "is_implemented": true, - "name": "list", - "provider": "pants.backend.project_info" - }, - "package": { - "consumed_scopes": ["", "environments-preview", "filter"], - "description": "Create a distributable package.", - "is_implemented": true, - "name": "package", - "provider": "pants.core" - }, - "paths": { - "consumed_scopes": ["", "environments-preview", "filter", "paths"], - "description": "List the paths between two addresses. Either address may represent a group of targets, e.g. `--from=src/app/main.py --to=src/library::`.", - "is_implemented": true, - "name": "paths", - "provider": "pants.backend.project_info" - }, - "peek": { - "consumed_scopes": ["", "environments-preview", "filter", "peek"], - "description": "Display BUILD target info", - "is_implemented": true, - "name": "peek", - "provider": "pants.backend.project_info" - }, - "publish": { - "consumed_scopes": ["", "environments-preview", "filter", "publish"], - "description": "Publish deliverables (assets, distributions, images, etc).", - "is_implemented": true, - "name": "publish", - "provider": "pants.core" - }, - "py-constraints": { - "consumed_scopes": [ - "", - "environments-preview", - "filter", - "py-constraints", - "python" + "pants.backend.go.goals.check.check_go": { + "description": "Check Go compilation", + "documentation": null, + "input_gets": [ + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(FallibleBuildGoPackageRequest, BuildGoPackageTargetRequest, ..)", + "Get(FallibleBuiltGoPackage, BuildGoPackageRequest, ..)" ], - "description": "Determine what Python interpreter constraints are used by files/targets.", - "is_implemented": true, - "name": "py-constraints", - "provider": "pants.backend.python.mixed_interpreter_constraints" - }, - "python-dump-source-analysis": { - "consumed_scopes": [ - "", - "environments-preview", - "filter", - "python", - "python-dump-source-analysis", - "python-infer", - "source" + "input_types": [ + "GoCheckRequest" ], - "description": "Dump source analysis for python_source targets.", - "is_implemented": true, - "name": "python-dump-source-analysis", - "provider": "pants.backend.experimental.python" - }, - "repl": { - "consumed_scopes": ["", "environments-preview", "filter", "repl"], - "description": "Open a REPL with the specified code loadable.", - "is_implemented": true, - "name": "repl", - "provider": "pants.core" + "name": "pants.backend.go.goals.check.check_go", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.go" }, - "roots": { - "consumed_scopes": ["roots", "source"], - "description": "List the repo's registered source roots.", - "is_implemented": true, - "name": "roots", - "provider": "pants.backend.project_info" + "pants.backend.go.goals.debug_goals.dump_go_import_paths_for_module": { + "description": "`go-dump-import-path-mapping` goal", + "documentation": null, + "input_gets": [ + "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)" + ], + "input_types": [ + "UnexpandedTargets", + "Console" + ], + "name": "pants.backend.go.goals.debug_goals.dump_go_import_paths_for_module", + "output_type": "DumpGoImportPathsForModule", + "provider": "pants.backend.experimental.go.debug_goals" }, - "run": { - "consumed_scopes": [ - "", - "debug-adapter", - "environments-preview", - "filter", - "run" + "pants.backend.go.goals.debug_goals.export_cgo_package": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(FallibleBuildGoPackageRequest, BuildGoPackageTargetRequest, ..)", + "Get(CGoCompileResult, CGoCompileRequest, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "description": "Runs a binary target.\n\nThis goal propagates the return code of the underlying executable.\n\nIf your application can safely be restarted while it is running, you can pass `restartable=True` on your binary target (for supported types), and the `run` goal will automatically restart them as all relevant files change. This can be particularly useful for server applications.", - "is_implemented": true, - "name": "run", - "provider": "pants.core" + "input_types": [ + "ExportCgoPackageRequest" + ], + "name": "pants.backend.go.goals.debug_goals.export_cgo_package", + "output_type": "ExportCgoPackageResult", + "provider": "pants.backend.experimental.go.debug_goals" }, - "tailor": { - "consumed_scopes": ["", "environments-preview", "filter", "tailor"], - "description": "Auto-generate BUILD file targets for new source files.\n\nEach specific `tailor` implementation may be disabled through language-specific options, e.g. `[python].tailor_pex_binary_targets` and `[shell-setup].tailor`.", - "is_implemented": true, - "name": "tailor", - "provider": "pants.core" + "pants.backend.go.goals.debug_goals.go_export_cgo_codegen": { + "description": "`go-export-cgo-codegen` goal", + "documentation": null, + "input_gets": [ + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(ExportCgoPackageResult, ExportCgoPackageRequest, ..)" + ], + "input_types": [ + "Targets", + "DistDir", + "Workspace" + ], + "name": "pants.backend.go.goals.debug_goals.go_export_cgo_codegen", + "output_type": "GoExportCgoCodegen", + "provider": "pants.backend.experimental.go.debug_goals" }, - "test": { - "consumed_scopes": [ - "", - "debug-adapter", - "environments-preview", - "filter", - "system-binaries", - "test" + "pants.backend.go.goals.debug_goals.go_show_package_analysis": { + "description": "`go-show-package-analysis` goal", + "documentation": null, + "input_gets": [ + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", + "Get(GoModInfo, GoModInfoRequest, ..)", + "Get(ThirdPartyPkgAnalysis, ThirdPartyPkgAnalysisRequest, ..)" ], - "description": "Run tests.", - "is_implemented": true, - "name": "test", - "provider": "pants.core" + "input_types": [ + "Targets", + "Console" + ], + "name": "pants.backend.go.goals.debug_goals.go_show_package_analysis", + "output_type": "ShowGoPackageAnalysis", + "provider": "pants.backend.experimental.go.debug_goals" }, - "update-build-files": { - "consumed_scopes": [ - "", - "environments-preview", - "filter", - "update-build-files" + "pants.backend.go.goals.generate.go_generate": { + "description": "`go-generate` goal", + "documentation": null, + "input_gets": [ + "Get(RunPackageGeneratorsResult, RunPackageGeneratorsRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "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/v2.19/docs/upgrade-tips for upgrade tips.\n\nThis goal is run without arguments. It will run over all BUILD files in your project.", - "is_implemented": true, - "name": "update-build-files", - "provider": "pants.core" + "input_types": [ + "Targets", + "Workspace" + ], + "name": "pants.backend.go.goals.generate.go_generate", + "output_type": "GoGenerateGoal", + "provider": "pants.backend.experimental.go" }, - "version": { - "consumed_scopes": [], - "description": "Display Pants version.", - "is_implemented": true, - "name": "version", - "provider": "pants.goal" - } - }, - "name_to_rule_info": { - "construct_env_aware_scope_apache_thrift": { + "pants.backend.go.goals.generate.merge_digests_with_overwrite": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["ApacheThriftSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_apache_thrift", - "output_type": "EnvironmentAware", - "provider": "pants.backend.codegen.thrift.apache.python" + "input_gets": [ + "Get(Snapshot, Digest, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "OverwriteMergeDigests" + ], + "name": "pants.backend.go.goals.generate.merge_digests_with_overwrite", + "output_type": "Digest", + "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_docker": { + "pants.backend.go.goals.generate.run_go_package_generators": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["DockerOptions", "EnvironmentTarget"], - "name": "construct_env_aware_scope_docker", - "output_type": "EnvironmentAware", - "provider": "pants.backend.docker" + "input_gets": [ + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(FallibleFirstPartyPkgDigest, FirstPartyPkgDigestRequest, ..)", + "Get(DigestContents, Digest, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(Digest, OverwriteMergeDigests, ..)" + ], + "input_types": [ + "RunPackageGeneratorsRequest", + "GoRoot", + "EnvironmentAware" + ], + "name": "pants.backend.go.goals.generate.run_go_package_generators", + "output_type": "RunPackageGeneratorsResult", + "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_go_generate": { - "description": null, + "pants.backend.go.goals.package_binary.package_go_binary": { + "description": "Package Go binary", "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["GoGenerateGoalSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_go_generate", - "output_type": "EnvironmentAware", + "input_gets": [ + "Get(GoBinaryMainPackage, GoBinaryMainPackageRequest, ..)", + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(GoModInfo, GoModInfoRequest, ..)", + "Get(ThirdPartyPkgAnalysis, ThirdPartyPkgAnalysisRequest, ..)", + "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", + "Get(BuiltGoPackage, BuildGoPackageTargetRequest, ..)", + "Get(LinkedGoBinary, LinkGoBinaryRequest, ..)", + "Get(Digest, AddPrefix, ..)" + ], + "input_types": [ + "GoBinaryFieldSet" + ], + "name": "pants.backend.go.goals.package_binary.package_go_binary", + "output_type": "BuiltPackage", "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_golang": { + "pants.backend.go.goals.run_binary.create_go_binary_run_request": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["GolangSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_golang", - "output_type": "EnvironmentAware", + "input_gets": [ + "Get(BuiltPackage, PackageFieldSet, ..)" + ], + "input_types": [ + "GoBinaryFieldSet" + ], + "name": "pants.backend.go.goals.run_binary.create_go_binary_run_request", + "output_type": "RunRequest", "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_jvm": { + "pants.backend.go.goals.tailor.find_putative_go_package_target": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["JvmSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_jvm", - "output_type": "EnvironmentAware", - "provider": "pants.backend.experimental.java" + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "FindPutativeGoPackageTargetRequest", + "AllOwnedSources" + ], + "name": "pants.backend.go.goals.tailor.find_putative_go_package_target", + "output_type": "FindPutativeGoPackageTargetResult", + "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_nodejs": { - "description": null, + "pants.backend.go.goals.tailor.find_putative_go_targets": { + "description": "Determine candidate Go targets to create", "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["NodeJS", "EnvironmentTarget"], - "name": "construct_env_aware_scope_nodejs", - "output_type": "EnvironmentAware", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_gets": [ + "Get(Paths, PathGlobs, ..)", + "Get(FindPutativeGoPackageTargetResult, FindPutativeGoPackageTargetRequest, ..)", + "Get(DigestContents, PathGlobs, ..)", + "Get(UnexpandedTargets, RawSpecs, ..)", + "Get(GoBinaryMainPackage, GoBinaryMainPackageRequest, ..)" + ], + "input_types": [ + "PutativeGoTargetsRequest", + "AllOwnedSources", + "GolangSubsystem" + ], + "name": "pants.backend.go.goals.tailor.find_putative_go_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_pex": { - "description": null, + "pants.backend.go.goals.test.prepare_go_test_binary": { + "description": "Prepare Go test binary", "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["PexSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_pex", - "output_type": "EnvironmentAware", - "provider": "pants.core" + "input_gets": [ + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", + "Get(FallibleFirstPartyPkgDigest, FirstPartyPkgDigestRequest, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(GeneratedTestMain, GenerateTestMainRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)", + "Get(FallibleBuildGoPackageRequest, BuildGoPackageRequestForStdlibRequest, ..)", + "Get(FallibleBuildGoPackageRequest, BuildGoPackageTargetRequest, ..)", + "Get(BuiltGoPackage, BuildGoPackageRequest, ..)", + "Get(GenerateCoverageSetupCodeResult, GenerateCoverageSetupCodeRequest, ..)", + "Get(FallibleBuiltGoPackage, BuildGoPackageRequest, ..)", + "Get(LinkedGoBinary, LinkGoBinaryRequest, ..)" + ], + "input_types": [ + "PrepareGoTestBinaryRequest", + "PackageAnalyzerSetup" + ], + "name": "pants.backend.go.goals.test.prepare_go_test_binary", + "output_type": "FalliblePrepareGoTestBinaryResult", + "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_python_bootstrap": { - "description": null, + "pants.backend.go.goals.test.run_go_tests": { + "description": "Test with Go", "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["PythonBootstrapSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_python_bootstrap", - "output_type": "EnvironmentAware", - "provider": "pants.core" + "input_gets": [ + "Get(FalliblePrepareGoTestBinaryResult, PrepareGoTestBinaryRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "TestSubsystem", + "GoTestSubsystem", + "TestExtraEnv", + "GoRoot" + ], + "name": "pants.backend.go.goals.test.run_go_tests", + "output_type": "TestResult", + "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_python_native_code": { - "description": null, + "pants.backend.go.lint.gofmt.rules.gofmt_fmt": { + "description": "Format with gofmt", "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["PythonNativeCodeSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_python_native_code", - "output_type": "EnvironmentAware", - "provider": "pants.core" + "input_gets": [ + "Get(ProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "GofmtSubsystem", + "GoRoot" + ], + "name": "pants.backend.go.lint.gofmt.rules.gofmt_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_shell_setup": { - "description": null, + "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint": { + "description": "Lint with golangci-lint", "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["ShellSetup", "EnvironmentTarget"], - "name": "construct_env_aware_scope_shell_setup", - "output_type": "EnvironmentAware", - "provider": "pants.backend.shell" + "input_gets": [ + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModInfo, GoModInfoRequest, ..)", + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "Batch", + "GolangciLint", + "GoRoot", + "BashBinary", + "Platform", + "GolangSubsystem", + "EnvironmentAware" + ], + "name": "pants.backend.go.lint.golangci_lint.rules.run_golangci_lint", + "output_type": "LintResult", + "provider": "pants.backend.experimental.go.lint.golangci_lint" }, - "construct_env_aware_scope_subprocess_environment": { + "pants.backend.go.lint.vet.rules.run_go_vet": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["SubprocessEnvironment", "EnvironmentTarget"], - "name": "construct_env_aware_scope_subprocess_environment", - "output_type": "EnvironmentAware", - "provider": "pants.core" + "input_gets": [ + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModInfo, GoModInfoRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "Batch" + ], + "name": "pants.backend.go.lint.vet.rules.run_go_vet", + "output_type": "LintResult", + "provider": "pants.backend.experimental.go.lint.vet" }, - "construct_env_aware_scope_system_binaries": { - "description": null, + "pants.backend.go.target_type_rules.generate_targets_from_go_mod": { + "description": "Generate `go_third_party_package` targets from `go_mod` target", "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["SystemBinariesSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_system_binaries", - "output_type": "EnvironmentAware", - "provider": "pants.core" + "input_gets": [ + "Get(GoModInfo, GoModInfoRequest, ..)", + "Get(Snapshot, Digest, ..)", + "Get(AllThirdPartyPackages, AllThirdPartyPackagesRequest, ..)" + ], + "input_types": [ + "GenerateTargetsFromGoModRequest", + "UnionMembership" + ], + "name": "pants.backend.go.target_type_rules.generate_targets_from_go_mod", + "output_type": "GeneratedTargets", + "provider": "pants.backend.experimental.go" }, - "construct_env_aware_scope_test": { - "description": null, + "pants.backend.go.target_type_rules.go_map_import_paths_by_module": { + "description": "Analyze and map Go import paths for all modules.", "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["TestSubsystem", "EnvironmentTarget"], - "name": "construct_env_aware_scope_test", - "output_type": "EnvironmentAware", - "provider": "pants.core" + "input_gets": [ + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(FirstPartyPkgImportPath, FirstPartyPkgImportPathRequest, ..)" + ], + "input_types": [ + "FirstPartyGoModuleImportPathsMappingsHook", + "AllTargets" + ], + "name": "pants.backend.go.target_type_rules.go_map_import_paths_by_module", + "output_type": "GoModuleImportPathsMappings", + "provider": "pants.backend.experimental.go" }, - "construct_scope_": { - "description": null, - "documentation": "Options to control the overall behavior of Pants.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_", - "output_type": "GlobalOptions", - "provider": "pants.core" + "pants.backend.go.target_type_rules.go_merge_import_paths_analysis": { + "description": "Analyze Go import paths for all modules.", + "documentation": null, + "input_gets": [ + "Get(GoModuleImportPathsMappings, GoModuleImportPathsMappingsHook, ..)" + ], + "input_types": [ + "UnionMembership" + ], + "name": "pants.backend.go.target_type_rules.go_merge_import_paths_analysis", + "output_type": "AllGoModuleImportPathsMappings", + "provider": "pants.backend.experimental.go" }, - "construct_scope_add_trailing_comma": { - "description": null, - "documentation": "The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_add_trailing_comma", - "output_type": "AddTrailingComma", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma" + "pants.backend.go.target_type_rules.infer_go_dependencies": { + "description": "Infer dependencies for first-party Go packages", + "documentation": null, + "input_gets": [ + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", + "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)" + ], + "input_types": [ + "InferGoPackageDependenciesRequest" + ], + "name": "pants.backend.go.target_type_rules.infer_go_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.go" }, - "construct_scope_anonymous_telemetry": { + "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies": { + "description": "Infer dependencies for third-party Go packages", + "documentation": null, + "input_gets": [ + "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", + "Get(GoModInfo, GoModInfoRequest, ..)", + "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", + "Get(ThirdPartyPkgAnalysis, ThirdPartyPkgAnalysisRequest, ..)", + "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)" + ], + "input_types": [ + "InferGoThirdPartyPackageDependenciesRequest" + ], + "name": "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.go" + }, + "pants.backend.go.target_type_rules.map_import_paths_to_packages": { + "description": "Map Go targets owned by module to import paths", + "documentation": null, + "input_gets": [], + "input_types": [ + "GoImportPathMappingRequest", + "AllGoModuleImportPathsMappings" + ], + "name": "pants.backend.go.target_type_rules.map_import_paths_to_packages", + "output_type": "GoModuleImportPathsMapping", + "provider": "pants.backend.experimental.go" + }, + "pants.backend.go.util_rules.assembly.assemble_go_assembly_files": { "description": null, - "documentation": "Options related to sending anonymous stats to the Pants project, to aid development.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_anonymous_telemetry", - "output_type": "AnonymousTelemetry", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", + "Get(FallibleProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "AssembleGoAssemblyFilesRequest", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", + "output_type": "FallibleAssembleGoAssemblyFilesResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_apache_thrift": { + "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile": { "description": null, - "documentation": "Apache Thrift IDL compiler (https://thrift.apache.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_apache_thrift", - "output_type": "ApacheThriftSubsystem", - "provider": "pants.backend.codegen.thrift.apache.python" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "GenerateAssemblySymabisRequest", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", + "output_type": "FallibleGenerateAssemblySymabisResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_autoflake": { + "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary": { + "description": "Determine first-party package used by `go_binary` target", + "documentation": null, + "input_gets": [ + "Get(Address, AddressInput, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(Targets, RawSpecs, ..)" + ], + "input_types": [ + "GoBinaryMainPackageRequest" + ], + "name": "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", + "output_type": "GoBinaryMainPackage", + "provider": "pants.backend.experimental.go" + }, + "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency": { "description": null, - "documentation": "The Autoflake Python code formatter (https://github.com/myint/autoflake).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_autoflake", - "output_type": "Autoflake", - "provider": "pants.backend.python.lint.autoflake" + "documentation": null, + "input_gets": [ + "Get(GoBinaryMainPackage, GoBinaryMainPackageRequest, ..)" + ], + "input_types": [ + "InferGoBinaryMainDependencyRequest" + ], + "name": "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.go" }, - "construct_scope_bandit": { + "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target": { "description": null, - "documentation": "A tool for finding security issues in Python code (https://bandit.readthedocs.io).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_bandit", - "output_type": "Bandit", - "provider": "pants.backend.python.lint.bandit" + "documentation": null, + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)" + ], + "input_types": [ + "GoBuildOptionsFromTargetRequest", + "GoRoot", + "GolangSubsystem", + "GoTestSubsystem" + ], + "name": "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", + "output_type": "GoBuildOptions", + "provider": "pants.backend.experimental.go" + }, + "pants.backend.go.util_rules.build_pkg.build_go_package": { + "description": "Compile with Go", + "documentation": null, + "input_gets": [ + "Get(FallibleBuiltGoPackage, BuildGoPackageRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ImportConfig, ImportConfigRequest, ..)", + "Get(RenderedEmbedConfig, RenderEmbedConfigRequest, ..)", + "Get(GoCompileActionIdResult, GoCompileActionIdRequest, ..)", + "Get(ApplyCodeCoverageResult, ApplyCodeCoverageRequest, ..)", + "Get(CheckForGolangAssemblyResult, CheckForGolangAssemblyRequest, ..)", + "Get(CGoCompileResult, CGoCompileRequest, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(FallibleGenerateAssemblySymabisResult, GenerateAssemblySymabisRequest, ..)", + "Get(FallibleProcessResult, GoSdkProcess, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(FallibleAssembleGoAssemblyFilesResult, AssembleGoAssemblyFilesRequest, ..)", + "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", + "Get(ProcessResult, GoSdkProcess, ..)", + "Get(Digest, AddPrefix, ..)" + ], + "input_types": [ + "BuildGoPackageRequest", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.build_pkg.build_go_package", + "output_type": "FallibleBuiltGoPackage", + "provider": "pants.backend.experimental.go" }, - "construct_scope_black": { + "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly": { "description": null, - "documentation": "The Black Python code formatter (https://black.readthedocs.io/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_black", - "output_type": "Black", - "provider": "pants.core" + "documentation": "Return true if any of the given `s_files` look like it could be a Golang-format assembly\nlanguage file.\n\nThis is used by the cgo rules as a heuristic to determine if the user is passing Golang assembly\nformat instead of gcc assembly format.", + "input_gets": [ + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)" + ], + "input_types": [ + "CheckForGolangAssemblyRequest", + "SetupAsmCheckBinary" + ], + "name": "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", + "output_type": "CheckForGolangAssemblyResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_buf": { + "pants.backend.go.util_rules.build_pkg.compute_compile_action_id": { "description": null, - "documentation": "A linter and formatter for Protocol Buffers (https://github.com/bufbuild/buf).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_buf", - "output_type": "BufSubsystem", - "provider": "pants.backend.codegen.protobuf.lint.buf" + "documentation": null, + "input_gets": [ + "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)" + ], + "input_types": [ + "GoCompileActionIdRequest", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.build_pkg.compute_compile_action_id", + "output_type": "GoCompileActionIdResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_build_deprecations_fixer": { + "pants.backend.go.util_rules.build_pkg.render_embed_config": { "description": null, - "documentation": "A tool/plugin for fixing BUILD file deprecations (where possible).\n\nThis includes deprecations for:\n\n - Renamed targets\n - Renamed fields", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_build_deprecations_fixer", - "output_type": "BUILDDeprecationsFixer", - "provider": "pants.backend.build_files.fix.deprecations" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "RenderEmbedConfigRequest" + ], + "name": "pants.backend.go.util_rules.build_pkg.render_embed_config", + "output_type": "RenderedEmbedConfig", + "provider": "pants.backend.experimental.go" }, - "construct_scope_buildifier": { + "pants.backend.go.util_rules.build_pkg.required_built_go_package": { "description": null, - "documentation": "Buildifier is a tool for formatting BUILD files with a standard convention.\n\nPants supports running Buildifier on your Pants BUILD files for several reasons:\n - You might like the style that buildifier uses.\n - You might be incrementally adopting Pants from Bazel, and are already using buildifier.\n\nPlease note that there are differences from Bazel's BUILD files (which are Starlark) and Pants' BUILD files (which are Python), so buildifier may issue a syntax error. In practice, these errors should be rare. See https://bazel.build/rules/language#differences_with_python.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_buildifier", - "output_type": "Buildifier", - "provider": "pants.backend.build_files.fmt.buildifier" + "documentation": null, + "input_gets": [], + "input_types": [ + "FallibleBuiltGoPackage" + ], + "name": "pants.backend.go.util_rules.build_pkg.required_built_go_package", + "output_type": "BuiltGoPackage", + "provider": "pants.backend.experimental.go" }, - "construct_scope_check": { + "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary": { "description": null, - "documentation": "Run type checking or the lightest variant of compilation available for a language.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(ProcessResult, GoSdkProcess, ..)" + ], "input_types": [], - "name": "construct_scope_check", - "output_type": "CheckSubsystem", - "provider": "pants.core" + "name": "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", + "output_type": "SetupAsmCheckBinary", + "provider": "pants.backend.experimental.go" }, - "construct_scope_count_loc": { + "pants.backend.go.util_rules.build_pkg_target.required_build_go_package_request": { "description": null, - "documentation": "Count lines of code.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_count_loc", - "output_type": "CountLinesOfCodeSubsystem", - "provider": "pants.backend.project_info" + "documentation": null, + "input_gets": [], + "input_types": [ + "FallibleBuildGoPackageRequest" + ], + "name": "pants.backend.go.util_rules.build_pkg_target.required_build_go_package_request", + "output_type": "BuildGoPackageRequest", + "provider": "pants.backend.experimental.go" }, - "construct_scope_coursier": { + "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config": { "description": null, - "documentation": "A dependency resolver for the Maven ecosystem. (https://get-coursier.io/)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_coursier", - "output_type": "CoursierSubsystem", - "provider": "pants.backend.experimental.java" + "documentation": null, + "input_gets": [ + "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "_ResolveStdlibEmbedConfigRequest" + ], + "name": "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", + "output_type": "_ResolveStdlibEmbedConfigResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_coverage_py": { - "description": null, - "documentation": "Configuration for Python test coverage measurement.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_coverage_py", - "output_type": "CoverageSubsystem", - "provider": "pants.backend.python" + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request": { + "description": "Set up Go compilation request", + "documentation": null, + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(FallibleBuildGoPackageRequest, GoCodegenBuildRequest, ..)", + "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", + "Get(FallibleFirstPartyPkgDigest, FirstPartyPkgDigestRequest, ..)", + "Get(GoModInfo, GoModInfoRequest, ..)", + "Get(ThirdPartyPkgAnalysis, ThirdPartyPkgAnalysisRequest, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(FirstPartyPkgImportPath, FirstPartyPkgImportPathRequest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", + "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)", + "Get(FallibleBuildGoPackageRequest, BuildGoPackageRequestForStdlibRequest, ..)", + "Get(FallibleBuildGoPackageRequest, BuildGoPackageTargetRequest, ..)" + ], + "input_types": [ + "BuildGoPackageTargetRequest", + "UnionMembership", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", + "output_type": "FallibleBuildGoPackageRequest", + "provider": "pants.backend.experimental.go" }, - "construct_scope_debug_adapter": { + "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib": { "description": null, - "documentation": "Options used to configure and launch a Debug Adapter server.\n\nSee https://microsoft.github.io/debug-adapter-protocol/ for more information.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_debug_adapter", - "output_type": "DebugAdapterSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)", + "Get(FallibleBuildGoPackageRequest, BuildGoPackageRequestForStdlibRequest, ..)", + "Get(_ResolveStdlibEmbedConfigResult, _ResolveStdlibEmbedConfigRequest, ..)" + ], + "input_types": [ + "BuildGoPackageRequestForStdlibRequest", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib", + "output_type": "FallibleBuildGoPackageRequest", + "provider": "pants.backend.experimental.go" }, - "construct_scope_debugpy": { + "pants.backend.go.util_rules.cgo.cgo_compile_request": { "description": null, - "documentation": "An implementation of the Debug Adapter Protocol for Python (https://github.com/microsoft/debugpy).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_debugpy", - "output_type": "DebugPy", - "provider": "pants.backend.python" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(CGoPkgConfigFlagsResult, CGoPkgConfigFlagsRequest, ..)", + "Get(ProcessResult, GoSdkProcess, ..)", + "Get(BinaryPath, CGoBinaryPathRequest, ..)", + "Get(BashBinary)", + "Get(CGoCompilerWrapperScript)", + "Get(SetupCompilerCmdResult, SetupCompilerCmdRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(ProcessResult, Process, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(DigestContents, DigestSubset, ..)" + ], + "input_types": [ + "CGoCompileRequest", + "GoRoot", + "EnvironmentAware" + ], + "name": "pants.backend.go.util_rules.cgo.cgo_compile_request", + "output_type": "CGoCompileResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_dependencies": { + "pants.backend.go.util_rules.cgo.check_compiler_supports_flag": { "description": null, - "documentation": "List the dependencies of the input files/targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_dependencies", - "output_type": "DependenciesSubsystem", - "provider": "pants.backend.project_info" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "CheckCompilerSupportsFlagRequest", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", + "output_type": "CheckCompilerSupportsOptionResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_dependents": { + "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script": { "description": null, - "documentation": "List all targets that depend on any of the input files/targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)" + ], "input_types": [], - "name": "construct_scope_dependents", - "output_type": "DependentsSubsystem", - "provider": "pants.backend.project_info" + "name": "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script", + "output_type": "CGoCompilerWrapperScript", + "provider": "pants.backend.experimental.go" }, - "construct_scope_docformatter": { + "pants.backend.go.util_rules.cgo.setup_compiler_cmd": { "description": null, - "documentation": "The Python docformatter tool (https://github.com/myint/docformatter).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_docformatter", - "output_type": "Docformatter", - "provider": "pants.backend.python.lint.docformatter" + "documentation": null, + "input_gets": [ + "Get(CheckCompilerSupportsOptionResult, CheckCompilerSupportsFlagRequest, ..)" + ], + "input_types": [ + "SetupCompilerCmdRequest", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.cgo.setup_compiler_cmd", + "output_type": "SetupCompilerCmdResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_docker": { + "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path": { "description": null, - "documentation": "Options for interacting with Docker.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_docker", - "output_type": "DockerOptions", - "provider": "pants.backend.docker" + "documentation": null, + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "CGoBinaryPathRequest", + "EnvironmentAware" + ], + "name": "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", + "output_type": "BinaryPath", + "provider": "pants.backend.experimental.go" }, - "construct_scope_dockerfile_parser": { + "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args": { "description": null, - "documentation": "Used to parse Dockerfile build specs to infer their dependencies.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_dockerfile_parser", - "output_type": "DockerfileParser", - "provider": "pants.backend.docker" + "documentation": null, + "input_gets": [ + "Get(BinaryPath, CGoBinaryPathRequest, ..)", + "Get(ProcessResult, Process, ..)" + ], + "input_types": [ + "CGoPkgConfigFlagsRequest" + ], + "name": "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", + "output_type": "CGoPkgConfigFlagsResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_download_terraform": { + "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code": { "description": null, - "documentation": "Terraform (https://terraform.io)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_download_terraform", - "output_type": "TerraformTool", - "provider": "pants.backend.experimental.terraform" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "GenerateCoverageSetupCodeRequest" + ], + "name": "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code", + "output_type": "GenerateCoverageSetupCodeResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_experimental_bsp": { + "pants.backend.go.util_rules.coverage.go_apply_code_coverage": { "description": null, - "documentation": "Setup repository for Build Server Protocol (https://build-server-protocol.github.io/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_experimental_bsp", - "output_type": "BSPGoal", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(Digest, DigestSubset, ..)", + "Get(ApplyCodeCoverageToFileResult, ApplyCodeCoverageToFileRequest, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "ApplyCodeCoverageRequest" + ], + "name": "pants.backend.go.util_rules.coverage.go_apply_code_coverage", + "output_type": "ApplyCodeCoverageResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_experimental_deploy": { + "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file": { "description": null, - "documentation": "Perform a deployment process.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_experimental_deploy", - "output_type": "DeploySubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", + "Get(ProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "ApplyCodeCoverageToFileRequest" + ], + "name": "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", + "output_type": "ApplyCodeCoverageToFileResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_export": { + "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html": { "description": null, - "documentation": "Export Pants data for use in other tools, such as IDEs.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_export", - "output_type": "ExportSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(DigestContents, Digest, ..)" + ], + "input_types": [ + "RenderGoCoverageProfileToHtmlRequest" + ], + "name": "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html", + "output_type": "RenderGoCoverageProfileToHtmlResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_export_codegen": { - "description": null, - "documentation": "Write generated files to `dist/codegen` for use outside of Pants.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_export_codegen", - "output_type": "ExportCodegenSubsystem", - "provider": "pants.core" + "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports": { + "description": "Merge Go coverage data", + "documentation": null, + "input_gets": [ + "Get(RenderGoCoverageReportResult, RenderGoCoverageReportRequest, ..)" + ], + "input_types": [ + "GoCoverageDataCollection" + ], + "name": "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports", + "output_type": "CoverageReports", + "provider": "pants.backend.experimental.go" }, - "construct_scope_filedeps": { + "pants.backend.go.util_rules.coverage_output.go_render_coverage_report": { "description": null, - "documentation": "List all source and BUILD files a target depends on.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_filedeps", - "output_type": "FiledepsSubsystem", - "provider": "pants.backend.project_info" + "documentation": null, + "input_gets": [ + "Get(Snapshot, Digest, ..)", + "Get(DigestContents, Digest, ..)", + "Get(RenderGoCoverageProfileToHtmlResult, RenderGoCoverageProfileToHtmlRequest, ..)", + "Get(Snapshot, CreateDigest, ..)" + ], + "input_types": [ + "RenderGoCoverageReportRequest", + "DistDir", + "GoTestSubsystem" + ], + "name": "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", + "output_type": "RenderGoCoverageReportResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_filter": { + "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package": { "description": null, - "documentation": "Filter the input targets based on various criteria.\n\nMost of the filtering options below are comma-separated lists of filtering criteria, with an implied logical OR between them, so that a target passes the filter if it matches any of the criteria in the list. A '-' prefix inverts the sense of the entire comma-separated list, so that a target passes the filter only if it matches none of the criteria in the list.\n\nEach of the filtering options may be specified multiple times, with an implied logical AND between them.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_filter", - "output_type": "FilterSubsystem", - "provider": "pants.backend.project_info" + "documentation": null, + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(FirstPartyPkgImportPath, FirstPartyPkgImportPathRequest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModInfo, GoModInfoRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "FirstPartyPkgAnalysisRequest", + "PackageAnalyzerSetup" + ], + "name": "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", + "output_type": "FallibleFirstPartyPkgAnalysis", + "provider": "pants.backend.experimental.go" }, - "construct_scope_fix": { + "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path": { "description": null, - "documentation": "Autofix source code.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_fix", - "output_type": "FixSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(GoModInfo, GoModInfoRequest, ..)" + ], + "input_types": [ + "FirstPartyPkgImportPathRequest" + ], + "name": "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path", + "output_type": "FirstPartyPkgImportPath", + "provider": "pants.backend.experimental.go" }, - "construct_scope_flake8": { + "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest": { "description": null, - "documentation": "The Flake8 Python linter (https://flake8.pycqa.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_flake8", - "output_type": "Flake8", - "provider": "pants.backend.python.lint.flake8" + "documentation": null, + "input_gets": [ + "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "FirstPartyPkgDigestRequest" + ], + "name": "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", + "output_type": "FallibleFirstPartyPkgDigest", + "provider": "pants.backend.experimental.go" }, - "construct_scope_fmt": { + "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap": { "description": null, - "documentation": "Autoformat source code.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_fmt", - "output_type": "FmtSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(ValidatedSearchPaths, ValidateSearchPathsRequest, ..)", + "Get(AsdfToolPathsResult, AsdfToolPathsRequest, ..)", + "Get(PathEnvironmentVariable)" + ], + "input_types": [ + "GolangSubsystem", + "EnvironmentAware" + ], + "name": "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", + "output_type": "GoBootstrap", + "provider": "pants.backend.experimental.go" }, - "construct_scope_generate_lockfiles": { + "pants.backend.go.util_rules.go_mod.determine_go_mod_info": { "description": null, - "documentation": "Generate lockfiles for third-party dependencies.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_generate_lockfiles", - "output_type": "GenerateLockfilesSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(ProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "GoModInfoRequest" + ], + "name": "pants.backend.go.util_rules.go_mod.determine_go_mod_info", + "output_type": "GoModInfo", + "provider": "pants.backend.experimental.go" }, - "construct_scope_generate_snapshots": { - "description": null, - "documentation": "Generate test snapshots.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_generate_snapshots", - "output_type": "GenerateSnapshotsSubsystem", - "provider": "pants.core" + "pants.backend.go.util_rules.go_mod.find_all_go_mod_targets": { + "description": "Find all `go_mod` targets in project", + "documentation": null, + "input_gets": [], + "input_types": [ + "AllUnexpandedTargets" + ], + "name": "pants.backend.go.util_rules.go_mod.find_all_go_mod_targets", + "output_type": "AllGoModTargets", + "provider": "pants.backend.experimental.go" }, - "construct_scope_go_generate": { + "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod": { "description": null, - "documentation": "Run each command in a package described by a `//go:generate` directive. This is equivalent to running `go generate` on a Go package.\n\nNote: Just like with `go generate`, the `go-generate` goal is never run as part of the build and must be run manually to invoke the commands described by the `//go:generate` directives.\n\nSee https://go.dev/blog/generate for details.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_go_generate", - "output_type": "GoGenerateGoalSubsystem", + "documentation": null, + "input_gets": [ + "Get(UnexpandedTargets, RawSpecs, ..)" + ], + "input_types": [ + "NearestAncestorGoModRequest" + ], + "name": "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod", + "output_type": "NearestAncestorGoModResult", "provider": "pants.backend.experimental.go" }, - "construct_scope_go_test": { + "pants.backend.go.util_rules.go_mod.find_owning_go_mod": { "description": null, - "documentation": "Options for Go tests.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_go_test", - "output_type": "GoTestSubsystem", + "documentation": null, + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(NearestAncestorGoModResult, NearestAncestorGoModRequest, ..)", + "Get(GoBinaryMainPackage, GoBinaryMainPackageRequest, ..)", + "Get(OwningGoMod, OwningGoModRequest, ..)", + "Get(Address, AddressInput, ..)" + ], + "input_types": [ + "OwningGoModRequest", + "AllGoModTargets" + ], + "name": "pants.backend.go.util_rules.go_mod.find_owning_go_mod", + "output_type": "OwningGoMod", "provider": "pants.backend.experimental.go" }, - "construct_scope_gofmt": { - "description": null, - "documentation": "Gofmt-specific options.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_gofmt", - "output_type": "GofmtSubsystem", + "pants.backend.go.util_rules.goroot.setup_goroot": { + "description": "Find Go binary", + "documentation": null, + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)", + "Get(ProcessResult, Process, ..)" + ], + "input_types": [ + "GolangSubsystem", + "GoBootstrap", + "EnvironmentTarget" + ], + "name": "pants.backend.go.util_rules.goroot.setup_goroot", + "output_type": "GoRoot", "provider": "pants.backend.experimental.go" }, - "construct_scope_golang": { + "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies": { "description": null, - "documentation": "Options for Golang support.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_golang", - "output_type": "GolangSubsystem", + "documentation": null, + "input_gets": [ + "Get(BuiltGoPackage, BuildGoPackageRequestForStdlibRequest, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "SdkImplicitLinkerDependenciesHook" + ], + "name": "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies", + "output_type": "ImplicitLinkerDependencies", "provider": "pants.backend.experimental.go" }, - "construct_scope_google_java_format": { - "description": null, - "documentation": "Google Java Format (https://github.com/google/google-java-format)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_google_java_format", - "output_type": "GoogleJavaFormatSubsystem", - "provider": "pants.backend.experimental.java.lint.google_java_format" + "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages": { + "description": "Analyze Go standard library packages.", + "documentation": null, + "input_gets": [ + "Get(ProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "GoStdLibPackagesRequest" + ], + "name": "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages", + "output_type": "GoStdLibPackages", + "provider": "pants.backend.experimental.go" }, - "construct_scope_grpc_python_plugin": { + "pants.backend.go.util_rules.import_config.generate_import_config": { "description": null, - "documentation": "The gRPC Protobuf plugin for Python.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_grpc_python_plugin", - "output_type": "GrpcPythonPlugin", - "provider": "pants.backend.codegen.protobuf.python" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "ImportConfigRequest" + ], + "name": "pants.backend.go.util_rules.import_config.generate_import_config", + "output_type": "ImportConfig", + "provider": "pants.backend.experimental.go" }, - "construct_scope_hadolint": { + "pants.backend.go.util_rules.link.link_go_binary": { "description": null, - "documentation": "A linter for Dockerfiles.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_hadolint", - "output_type": "Hadolint", - "provider": "pants.backend.docker.lint.hadolint" + "documentation": null, + "input_gets": [ + "Get(ImplicitLinkerDependencies, ImplicitLinkerDependenciesHook, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", + "Get(ImportConfig, ImportConfigRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "LinkGoBinaryRequest", + "LinkerSetup", + "UnionMembership" + ], + "name": "pants.backend.go.util_rules.link.link_go_binary", + "output_type": "LinkedGoBinary", + "provider": "pants.backend.experimental.go" }, - "construct_scope_helm": { + "pants.backend.go.util_rules.link.setup_go_linker": { "description": null, - "documentation": "The Helm command line (https://helm.sh)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_helm", - "output_type": "HelmSubsystem", - "provider": "pants.backend.experimental.helm" + "documentation": null, + "input_gets": [ + "Get(BinaryPath, CGoBinaryPathRequest, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "BashBinary", + "EnvironmentAware" + ], + "name": "pants.backend.go.util_rules.link.setup_go_linker", + "output_type": "LinkerSetup", + "provider": "pants.backend.experimental.go" }, - "construct_scope_helm_k8s_parser": { + "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer": { "description": null, - "documentation": "Analyses K8S manifests rendered by Helm.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_helm_k8s_parser", - "output_type": "HelmKubeParserSubsystem", - "provider": "pants.backend.experimental.helm" + "documentation": null, + "input_gets": [ + "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)" + ], + "input_types": [ + "GoRoot" + ], + "name": "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer", + "output_type": "PackageAnalyzerSetup", + "provider": "pants.backend.experimental.go" }, - "construct_scope_helm_post_renderer": { + "pants.backend.go.util_rules.sdk.compute_go_tool_id": { "description": null, - "documentation": "Used perform modifications to the final output produced by Helm charts when they've been fully rendered.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_helm_post_renderer", - "output_type": "HelmPostRendererSubsystem", - "provider": "pants.backend.experimental.helm" + "documentation": null, + "input_gets": [ + "Get(ProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "GoSdkToolIDRequest" + ], + "name": "pants.backend.go.util_rules.sdk.compute_go_tool_id", + "output_type": "GoSdkToolIDResult", + "provider": "pants.backend.experimental.go" }, - "construct_scope_helm_unittest": { + "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup": { "description": null, - "documentation": "BDD styled unit test framework for Kubernetes Helm charts as a Helm plugin. (https://github.com/helm-unittest)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_helm_unittest", - "output_type": "HelmUnitTestSubsystem", - "provider": "pants.backend.experimental.helm" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "GoRoot" + ], + "name": "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup", + "output_type": "GoSdkRunSetup", + "provider": "pants.backend.experimental.go" }, - "construct_scope_ipython": { + "pants.backend.go.util_rules.sdk.setup_go_sdk_process": { "description": null, - "documentation": "The IPython enhanced REPL (https://ipython.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_ipython", - "output_type": "IPython", - "provider": "pants.backend.python" + "documentation": null, + "input_gets": [ + "Get(Digest, MergeDigests, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "GoSdkProcess", + "GoSdkRunSetup", + "BashBinary", + "EnvironmentAware", + "GoRoot" + ], + "name": "pants.backend.go.util_rules.sdk.setup_go_sdk_process", + "output_type": "Process", + "provider": "pants.backend.experimental.go" }, - "construct_scope_isort": { + "pants.backend.go.util_rules.tests_analysis.generate_testmain": { "description": null, - "documentation": "The Python import sorter tool (https://pycqa.github.io/isort/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_isort", - "output_type": "Isort", - "provider": "pants.backend.python.lint.isort" + "documentation": null, + "input_gets": [ + "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "GenerateTestMainRequest" + ], + "name": "pants.backend.go.util_rules.tests_analysis.generate_testmain", + "output_type": "GeneratedTestMain", + "provider": "pants.backend.experimental.go" }, - "construct_scope_jarjar": { + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module": { "description": null, - "documentation": "The Jar Jar Abrams tool (https://github.com/eed3si9n/jarjar-abrams)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_jarjar", - "output_type": "JarJar", - "provider": "pants.backend.experimental.java" + "documentation": null, + "input_gets": [ + "Get(ProcessResult, GoSdkProcess, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Snapshot, DigestSubset, ..)", + "Get(ProcessResult, Process, ..)", + "Get(FallibleThirdPartyPkgAnalysis, AnalyzeThirdPartyPackageRequest, ..)" + ], + "input_types": [ + "AnalyzeThirdPartyModuleRequest", + "PackageAnalyzerSetup" + ], + "name": "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", + "output_type": "AnalyzedThirdPartyModule", + "provider": "pants.backend.experimental.go" }, - "construct_scope_java_infer": { + "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package": { "description": null, - "documentation": "Options controlling which dependencies will be inferred for Java targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_java_infer", - "output_type": "JavaInferSubsystem", - "provider": "pants.backend.experimental.java" + "documentation": null, + "input_gets": [ + "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "AnalyzeThirdPartyPackageRequest" + ], + "name": "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", + "output_type": "FallibleThirdPartyPkgAnalysis", + "provider": "pants.backend.experimental.go" }, - "construct_scope_javac": { + "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies": { "description": null, - "documentation": "The javac Java source compiler.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_javac", - "output_type": "JavacSubsystem", - "provider": "pants.backend.experimental.java" + "documentation": null, + "input_gets": [ + "Get(ProcessResult, GoSdkProcess, ..)" + ], + "input_types": [ + "ModuleDescriptorsRequest" + ], + "name": "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies", + "output_type": "ModuleDescriptors", + "provider": "pants.backend.experimental.go" }, - "construct_scope_junit": { - "description": null, - "documentation": "The JUnit test framework (https://junit.org)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_junit", - "output_type": "JUnit", - "provider": "pants.backend.experimental.java" + "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages": { + "description": "Download and analyze all third-party Go packages", + "documentation": null, + "input_gets": [ + "Get(ModuleDescriptors, ModuleDescriptorsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(AnalyzedThirdPartyModule, AnalyzeThirdPartyModuleRequest, ..)" + ], + "input_types": [ + "AllThirdPartyPackagesRequest" + ], + "name": "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages", + "output_type": "AllThirdPartyPackages", + "provider": "pants.backend.experimental.go" }, - "construct_scope_jvm": { + "pants.backend.go.util_rules.third_party_pkg.extract_package_info": { "description": null, - "documentation": "Options for general JVM functionality.\n\nJDK strings will be passed directly to Coursier's `--jvm` parameter. Run `cs java --available` to see a list of available JVM versions on your platform.\n\nIf the string `'system'` is passed, Coursier's `--system-jvm` option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_jvm", - "output_type": "JvmSubsystem", - "provider": "pants.backend.experimental.java" + "documentation": null, + "input_gets": [ + "Get(AllThirdPartyPackages, AllThirdPartyPackagesRequest, ..)" + ], + "input_types": [ + "ThirdPartyPkgAnalysisRequest" + ], + "name": "pants.backend.go.util_rules.third_party_pkg.extract_package_info", + "output_type": "ThirdPartyPkgAnalysis", + "provider": "pants.backend.experimental.go" }, - "construct_scope_kotlin": { - "description": null, - "documentation": "The Kotlin programming language (https://kotlinlang.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_kotlin", - "output_type": "KotlinSubsystem", - "provider": "pants.backend.experimental.kotlin" + "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function": { + "description": "Create Python Google Cloud Function", + "documentation": null, + "input_gets": [ + "Get(BuiltPackage, BuildPythonFaaSRequest, ..)" + ], + "input_types": [ + "PythonGoogleCloudFunctionFieldSet" + ], + "name": "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function", + "output_type": "BuiltPackage", + "provider": "pants.backend.google_cloud_function.python" }, - "construct_scope_kotlin_infer": { + "pants.backend.helm.check.kubeconform.chart.run_check_chart": { "description": null, - "documentation": "Options controlling which dependencies will be inferred for Kotlin targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_kotlin_infer", - "output_type": "KotlinInferSubsystem", - "provider": "pants.backend.experimental.kotlin" + "documentation": null, + "input_gets": [ + "Get(CheckResult, KubeconformChartFieldSet, ..)" + ], + "input_types": [ + "KubeconformCheckChartRequest", + "KubeconformSubsystem" + ], + "name": "pants.backend.helm.check.kubeconform.chart.run_check_chart", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.helm.check.kubeconform" }, - "construct_scope_kotlinc": { + "pants.backend.helm.check.kubeconform.chart.run_kubeconform_on_chart": { "description": null, - "documentation": "The Kotlin programming language (https://kotlinlang.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_kotlinc", - "output_type": "KotlincSubsystem", - "provider": "pants.backend.experimental.kotlin" + "documentation": null, + "input_gets": [ + "Get(RenderedHelmFiles, RenderHelmChartRequest, ..)", + "Get(CheckResult, RunKubeconformRequest, ..)" + ], + "input_types": [ + "KubeconformChartFieldSet" + ], + "name": "pants.backend.helm.check.kubeconform.chart.run_kubeconform_on_chart", + "output_type": "CheckResult", + "provider": "pants.backend.experimental.helm.check.kubeconform" }, - "construct_scope_ktlint": { + "pants.backend.helm.check.kubeconform.common.run_kubeconform": { "description": null, - "documentation": "Ktlint, the anti-bikeshedding Kotlin linter with built-in formatter (https://ktlint.github.io/)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_ktlint", - "output_type": "KtlintSubsystem", - "provider": "pants.backend.experimental.kotlin.lint.ktlint" + "documentation": null, + "input_gets": [ + "Get(FallibleProcessResult, Process, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "RunKubeconformRequest", + "KubeconformSetup", + "KubeconformSubsystem" + ], + "name": "pants.backend.helm.check.kubeconform.common.run_kubeconform", + "output_type": "CheckResult", + "provider": "pants.backend.experimental.helm.check.kubeconform" }, - "construct_scope_lint": { + "pants.backend.helm.check.kubeconform.common.setup_kube_conform": { "description": null, - "documentation": "Run linters/formatters/fixers in check mode.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_lint", - "output_type": "LintSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "HelmSubsystem", + "KubeconformSubsystem", + "Platform" + ], + "name": "pants.backend.helm.check.kubeconform.common.setup_kube_conform", + "output_type": "KubeconformSetup", + "provider": "pants.backend.experimental.helm.check.kubeconform" }, - "construct_scope_list": { + "pants.backend.helm.check.kubeconform.deployment.run_check_deployment": { "description": null, - "documentation": "Lists all targets matching the file or target arguments.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_list", - "output_type": "ListSubsystem", - "provider": "pants.backend.project_info" + "documentation": null, + "input_gets": [ + "Get(CheckResult, KubeconformDeploymentFieldSet, ..)" + ], + "input_types": [ + "KubeconformCheckDeploymentRequest", + "KubeconformSubsystem" + ], + "name": "pants.backend.helm.check.kubeconform.deployment.run_check_deployment", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.helm.check.kubeconform" }, - "construct_scope_mypy": { + "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment": { "description": null, - "documentation": "The MyPy Python type checker (http://mypy-lang.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_mypy", - "output_type": "MyPy", - "provider": "pants.backend.python.typecheck.mypy" + "documentation": null, + "input_gets": [ + "Get(HelmPostRenderer, HelmDeploymentPostRendererRequest, ..)", + "Get(RenderedHelmFiles, HelmDeploymentRequest, ..)", + "Get(CheckResult, RunKubeconformRequest, ..)" + ], + "input_types": [ + "KubeconformDeploymentFieldSet" + ], + "name": "pants.backend.helm.check.kubeconform.deployment.run_kubeconform_on_deployment", + "output_type": "CheckResult", + "provider": "pants.backend.experimental.helm.check.kubeconform" }, - "construct_scope_mypy_protobuf": { + "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping": { "description": null, - "documentation": "Configuration of the mypy-protobuf type stub generation plugin.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_mypy_protobuf", - "output_type": "PythonProtobufMypyPlugin", - "provider": "pants.backend.codegen.protobuf.python" + "documentation": null, + "input_gets": [ + "Get(HelmChartMetadata, HelmChartMetaSourceField, ..)" + ], + "input_types": [ + "AllHelmChartTargets" + ], + "name": "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping", + "output_type": "FirstPartyHelmChartMapping", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_nodejs": { - "description": null, - "documentation": "The Node.js Javascript runtime (including Corepack).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_nodejs", - "output_type": "NodeJS", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata": { + "description": "Inferring Helm chart dependencies", + "documentation": null, + "input_gets": [ + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(HelmChartMetadata, HelmChartMetaSourceField, ..)" + ], + "input_types": [ + "InferHelmChartDependenciesRequest", + "FirstPartyHelmChartMapping", + "ThirdPartyHelmArtifactMapping", + "HelmSubsystem" + ], + "name": "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_nodejs_infer": { - "description": null, - "documentation": "Options controlling which dependencies will be inferred for javascript targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_nodejs_infer", - "output_type": "NodeJSInfer", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "pants.backend.helm.dependency_inference.deployment.analyse_deployment": { + "description": "Analyse Helm deployment", + "documentation": null, + "input_gets": [ + "Get(RenderedHelmFiles, HelmDeploymentRequest, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(ParsedKubeManifest, ParseKubeManifestRequest, ..)" + ], + "input_types": [ + "AnalyseHelmDeploymentRequest" + ], + "name": "pants.backend.helm.dependency_inference.deployment.analyse_deployment", + "output_type": "HelmDeploymentReport", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_openapi": { + "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping": { "description": null, - "documentation": "The OpenAPI Specification (https://swagger.io/specification/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_openapi", - "output_type": "OpenApiSubsystem", - "provider": "pants.backend.experimental.openapi" + "documentation": null, + "input_gets": [ + "Get(HelmDeploymentReport, AnalyseHelmDeploymentRequest, ..)", + "Get(MaybeAddress, AddressInput, ..)" + ], + "input_types": [ + "FirstPartyHelmDeploymentMappingRequest", + "AllDockerImageTargets" + ], + "name": "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping", + "output_type": "FirstPartyHelmDeploymentMapping", + "provider": "pants.backend.experimental.helm" + }, + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies": { + "description": "Find the dependencies needed by a Helm deployment", + "documentation": null, + "input_gets": [ + "Get(Address, AddressInput, ..)", + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(FirstPartyHelmDeploymentMapping, FirstPartyHelmDeploymentMappingRequest, ..)" + ], + "input_types": [ + "InferHelmDeploymentDependenciesRequest" + ], + "name": "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_openapi_format": { + "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests": { "description": null, - "documentation": "Format an OpenAPI document by ordering, formatting and filtering fields (https://github.com/thim81/openapi-format).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_openapi_format", - "output_type": "OpenApiFormatSubsystem", - "provider": "pants.backend.experimental.openapi.lint.openapi_format" + "documentation": null, + "input_gets": [ + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)" + ], + "input_types": [ + "InferHelmUnitTestChartDependencyRequest", + "AllHelmChartTargets", + "AllAssetTargetsByPath" + ], + "name": "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_package": { - "description": null, - "documentation": "Create a distributable package.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_package", - "output_type": "PackageSubsystem", - "provider": "pants.core" + "pants.backend.helm.goals.deploy.run_helm_deploy": { + "description": "Run Helm deploy process", + "documentation": null, + "input_gets": [ + "Get(Targets, DependenciesRequest, ..)", + "Get(HelmPostRenderer, HelmDeploymentPostRendererRequest, ..)", + "Get(InteractiveProcess, HelmDeploymentRequest, ..)" + ], + "input_types": [ + "DeployHelmDeploymentFieldSet", + "HelmSubsystem" + ], + "name": "pants.backend.helm.goals.deploy.run_helm_deploy", + "output_type": "DeployProcess", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_paths": { + "pants.backend.helm.goals.lint.partition_helm_lint": { "description": null, - "documentation": "List the paths between two addresses. Either address may represent a group of targets, e.g. `--from=src/app/main.py --to=src/library::`.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_paths", - "output_type": "PathsSubsystem", - "provider": "pants.backend.project_info" + "documentation": null, + "input_gets": [ + "Get(HelmChart, HelmChartRequest, ..)" + ], + "input_types": [ + "PartitionRequest" + ], + "name": "pants.backend.helm.goals.lint.partition_helm_lint", + "output_type": "Partitions", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_peek": { - "description": null, - "documentation": "Display BUILD target info", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_peek", - "output_type": "PeekSubsystem", - "provider": "pants.backend.project_info" + "pants.backend.helm.goals.lint.run_helm_lint": { + "description": "Lint Helm charts", + "documentation": null, + "input_gets": [ + "Get(FallibleProcessResult, HelmProcess, ..)" + ], + "input_types": [ + "Batch", + "HelmSubsystem" + ], + "name": "pants.backend.helm.goals.lint.run_helm_lint", + "output_type": "LintResult", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pex": { - "description": null, - "documentation": "How Pants uses Pex to run Python subprocesses.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pex", - "output_type": "PexSubsystem", - "provider": "pants.core" + "pants.backend.helm.goals.package.run_helm_package": { + "description": "Package Helm chart", + "documentation": null, + "input_gets": [ + "Get(HelmChart, HelmChartRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(ProcessResult, HelmProcess, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Snapshot, AddPrefix, ..)" + ], + "input_types": [ + "HelmPackageFieldSet" + ], + "name": "pants.backend.helm.goals.package.run_helm_package", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pex_binary_defaults": { - "description": null, - "documentation": "Default settings for creating PEX executables.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pex_binary_defaults", - "output_type": "PexBinaryDefaults", - "provider": "pants.backend.python" + "pants.backend.helm.goals.publish.publish_helm_chart": { + "description": "Push Helm chart to OCI registries", + "documentation": null, + "input_gets": [ + "Get(Process, HelmProcess, ..)" + ], + "input_types": [ + "PublishHelmChartRequest", + "HelmSubsystem" + ], + "name": "pants.backend.helm.goals.publish.publish_helm_chart", + "output_type": "PublishProcesses", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pex_cli": { - "description": null, - "documentation": "The PEX (Python EXecutable) tool (https://github.com/pantsbuild/pex).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pex_cli", - "output_type": "PexCli", - "provider": "pants.core" + "pants.backend.helm.goals.tailor.find_putative_helm_targets": { + "description": "Determine candidate Helm chart targets to create", + "documentation": null, + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativeHelmTargetsRequest", + "AllOwnedSources", + "HelmSubsystem" + ], + "name": "pants.backend.helm.goals.tailor.find_putative_helm_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_preamble": { + "pants.backend.helm.resolve.artifacts.resolved_helm_artifact": { "description": null, - "documentation": "Formats files with a preamble, with the preamble looked up based on path.\n\nThis is useful for things such as copyright headers or shebang lines.\n\nPants substitutes the following identifiers (following Python's `string.Template` substitutions): - $year: The current year (only used when actually writing the year to the file).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_preamble", - "output_type": "PreambleSubsystem", - "provider": "pants.backend.tools.preamble" + "documentation": null, + "input_gets": [], + "input_types": [ + "HelmArtifact", + "HelmSubsystem" + ], + "name": "pants.backend.helm.resolve.artifacts.resolved_helm_artifact", + "output_type": "ResolvedHelmArtifact", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_protobuf_java_grpc": { + "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping": { "description": null, - "documentation": "gRPC support for Java Protobuf (https://github.com/grpc/grpc-java)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_protobuf_java_grpc", - "output_type": "JavaProtobufGrpcSubsystem", - "provider": "pants.backend.experimental.codegen.protobuf.java" + "documentation": null, + "input_gets": [ + "Get(ResolvedHelmArtifact, HelmArtifact, ..)" + ], + "input_types": [ + "AllHelmArtifactTargets" + ], + "name": "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping", + "output_type": "ThirdPartyHelmArtifactMapping", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_protoc": { - "description": null, - "documentation": "The protocol buffer compiler (https://developers.google.com/protocol-buffers).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_protoc", - "output_type": "Protoc", - "provider": "pants.backend.codegen.protobuf.python" + "pants.backend.helm.resolve.fetch.fetch_helm_artifact": { + "description": "Fetch Helm artifact", + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(ResolvedHelmArtifact, HelmArtifact, ..)", + "Get(ProcessResult, HelmProcess, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, RemovePrefix, ..)" + ], + "input_types": [ + "FetchHelmArtifactRequest" + ], + "name": "pants.backend.helm.resolve.fetch.fetch_helm_artifact", + "output_type": "FetchedHelmArtifact", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_publish": { + "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool": { "description": null, - "documentation": "Publish deliverables (assets, distributions, images, etc).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_publish", - "output_type": "PublishSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(VenvPex, PexRequest, ..)" + ], + "input_types": [ + "HelmKubeParserSubsystem" + ], + "name": "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", + "output_type": "_HelmKubeParserTool", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_py_constraints": { - "description": null, - "documentation": "Determine what Python interpreter constraints are used by files/targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_py_constraints", - "output_type": "PyConstraintsSubsystem", - "provider": "pants.backend.python.mixed_interpreter_constraints" + "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest": { + "description": "Parse Kubernetes resource manifest", + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)" + ], + "input_types": [ + "ParseKubeManifestRequest", + "_HelmKubeParserTool" + ], + "name": "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", + "output_type": "ParsedKubeManifest", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pydocstyle": { - "description": null, - "documentation": "A tool for checking compliance with Python docstring conventions (http://www.pydocstyle.org/en/stable/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pydocstyle", - "output_type": "Pydocstyle", - "provider": "pants.backend.python.lint.pydocstyle" + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher": { + "description": "Configure Helm post-renderer", + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(Process, VenvPexProcess, ..)", + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", + "Get(RunRequest, RunFieldSet, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "SetupHelmPostRenderer", + "_HelmPostRendererTool", + "CatBinary" + ], + "name": "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", + "output_type": "HelmPostRenderer", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pylint": { - "description": null, - "documentation": "The Pylint linter for Python code (https://www.pylint.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pylint", - "output_type": "Pylint", - "provider": "pants.backend.python.lint.pylint" + "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool": { + "description": "Setup Helm post renderer binaries", + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)", + "Get(VenvPex, PexRequest, ..)" + ], + "input_types": [ + "HelmPostRendererSubsystem" + ], + "name": "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", + "output_type": "_HelmPostRendererTool", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pyoxidizer": { + "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request": { "description": null, - "documentation": "The PyOxidizer utility for packaging Python code in a Rust binary (https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer.html).\n\nUsed with the `pyoxidizer_binary` target.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pyoxidizer", - "output_type": "PyOxidizer", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer" + "documentation": null, + "input_gets": [], + "input_types": [ + "HelmUnitTestPluginBinding", + "HelmUnitTestSubsystem", + "Platform" + ], + "name": "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request", + "output_type": "ExternalHelmPluginRequest", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pytest": { + "pants.backend.helm.target_types.all_helm_artifact_targets": { "description": null, - "documentation": "The pytest Python test framework (https://docs.pytest.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pytest", - "output_type": "PyTest", - "provider": "pants.backend.python" + "documentation": null, + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.helm.target_types.all_helm_artifact_targets", + "output_type": "AllHelmArtifactTargets", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_python": { + "pants.backend.helm.target_types.all_helm_chart_targets": { "description": null, - "documentation": "Options for Pants's Python backend.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_python", - "output_type": "PythonSetup", - "provider": "pants.core" + "documentation": null, + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.helm.target_types.all_helm_chart_targets", + "output_type": "AllHelmChartTargets", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_python_bootstrap": { + "pants.backend.helm.target_types.all_helm_deployment_targets": { "description": null, - "documentation": "Options used to locate Python interpreters.\n\nThis subsystem controls where and how Pants will locate Python, but beyond that it does not control which Python interpreter versions are actually used for your code: see the `python` subsystem for that.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_python_bootstrap", - "output_type": "PythonBootstrapSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.helm.target_types.all_helm_deployment_targets", + "output_type": "AllHelmDeploymentTargets", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_python_dump_source_analysis": { + "pants.backend.helm.target_types.all_helm_unittest_test_targets": { "description": null, - "documentation": "Dump source analysis for python_source targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_python_dump_source_analysis", - "output_type": "DumpPythonSourceAnalysisSubsystem", - "provider": "pants.backend.experimental.python" + "documentation": null, + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.helm.target_types.all_helm_unittest_test_targets", + "output_type": "AllHelmUnitTestTestTargets", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_python_infer": { + "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots": { "description": null, - "documentation": "Options controlling which dependencies will be inferred for Python targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_python_infer", - "output_type": "PythonInferSubsystem", - "provider": "pants.backend.python" + "documentation": null, + "input_gets": [ + "Get(HelmUnitTestSetup, HelmUnitTestSetupRequest, ..)", + "Get(ProcessResult, HelmProcess, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Snapshot, AddPrefix, ..)" + ], + "input_types": [ + "HelmUnitTestFieldSet" + ], + "name": "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", + "output_type": "GenerateSnapshotsResult", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_python_native_code": { - "description": null, - "documentation": "Options for building native code using Python, e.g. when resolving distributions.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_python_native_code", - "output_type": "PythonNativeCodeSubsystem", - "provider": "pants.core" + "pants.backend.helm.test.unittest.run_helm_unittest": { + "description": "Run Helm Unittest", + "documentation": null, + "input_gets": [ + "Get(HelmUnitTestSetup, HelmUnitTestSetupRequest, ..)", + "Get(FallibleProcessResult, HelmProcess, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, RemovePrefix, ..)" + ], + "input_types": [ + "Batch", + "TestSubsystem", + "HelmUnitTestSubsystem" + ], + "name": "pants.backend.helm.test.unittest.run_helm_unittest", + "output_type": "TestResult", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_python_protobuf": { + "pants.backend.helm.test.unittest.setup_helm_unittest": { "description": null, - "documentation": "Options related to the Protobuf Python backend.\n\nSee https://www.pantsbuild.org/v2.19/docs/protobuf-python.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_python_protobuf", - "output_type": "PythonProtobufSubsystem", - "provider": "pants.backend.codegen.protobuf.python" + "documentation": null, + "input_gets": [ + "Get(Targets, DependenciesRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(HelmChart, HelmChartRequest, ..)", + "Get(HelmChartRoot, HelmChartRootRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, AddPrefix, ..)" + ], + "input_types": [ + "HelmUnitTestSetupRequest", + "HelmUnitTestSubsystem" + ], + "name": "pants.backend.helm.test.unittest.setup_helm_unittest", + "output_type": "HelmUnitTestSetup", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_python_repos": { - "description": null, - "documentation": "External Python code repositories, such as PyPI.\n\nThese options may be used to point to custom package indexes when resolving requirements.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_python_repos", - "output_type": "PythonRepos", - "provider": "pants.core" + "pants.backend.helm.util_rules.chart.create_chart_from_artifact": { + "description": "Compile third parth Helm chart", + "documentation": null, + "input_gets": [ + "Get(HelmChartMetadata, ParseHelmChartMetadataDigest, ..)" + ], + "input_types": [ + "FetchedHelmArtifact" + ], + "name": "pants.backend.helm.util_rules.chart.create_chart_from_artifact", + "output_type": "HelmChart", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_python_thrift": { - "description": null, - "documentation": "Options specific to generating Python from Thrift using Apache Thrift", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_python_thrift", - "output_type": "ThriftPythonSubsystem", - "provider": "pants.backend.codegen.thrift.apache.python" + "pants.backend.helm.util_rules.chart.find_chart_for_deployment": { + "description": "Find Helm deployment's chart", + "documentation": null, + "input_gets": [ + "Get(Address, AddressInput, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(HelmChart, HelmChartRequest, ..)", + "Get(HelmChart, FetchHelmArtifactRequest, ..)" + ], + "input_types": [ + "FindHelmDeploymentChart" + ], + "name": "pants.backend.helm.util_rules.chart.find_chart_for_deployment", + "output_type": "HelmChart", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pytype": { + "pants.backend.helm.util_rules.chart.get_helm_chart": { + "description": "Compile Helm chart", + "documentation": null, + "input_gets": [ + "Get(Targets, DependenciesRequest, ..)", + "Get(HelmChartSourceFiles, HelmChartSourceFilesRequest, ..)", + "Get(HelmChartMetadata, HelmChartMetaSourceField, ..)", + "Get(HelmChart, HelmChartRequest, ..)", + "Get(HelmChart, FetchHelmArtifactRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, HelmChartMetadata, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, MergeDigests, ..)" + ], + "input_types": [ + "HelmChartRequest", + "HelmSubsystem" + ], + "name": "pants.backend.helm.util_rules.chart.get_helm_chart", + "output_type": "HelmChart", + "provider": "pants.backend.experimental.helm" + }, + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest": { "description": null, - "documentation": "The Pytype utility for typechecking Python code (https://github.com/google/pytype).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pytype", - "output_type": "Pytype", - "provider": "pants.backend.experimental.python.typecheck.pytype" + "documentation": null, + "input_gets": [ + "Get(Digest, DigestSubset, ..)", + "Get(DigestContents, Digest, ..)" + ], + "input_types": [ + "ParseHelmChartMetadataDigest" + ], + "name": "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest", + "output_type": "HelmChartMetadata", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_pyupgrade": { + "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field": { "description": null, - "documentation": "Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_pyupgrade", - "output_type": "PyUpgrade", - "provider": "pants.backend.python.lint.pyupgrade" + "documentation": null, + "input_gets": [ + "Get(HelmChartRoot, HelmChartRootRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(HelmChartMetadata, ParseHelmChartMetadataDigest, ..)" + ], + "input_types": [ + "HelmChartMetaSourceField" + ], + "name": "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", + "output_type": "HelmChartMetadata", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_regex_lint": { + "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata": { "description": null, - "documentation": "Lint your code using regex patterns, e.g. to check for copyright headers.\n\nTo activate this with the `lint` goal, you must set `[regex-lint].config`.\n\nUnlike other linters, this can run on files not owned by targets, such as BUILD files.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_regex_lint", - "output_type": "RegexLintSubsystem", - "provider": "pants.backend.project_info" + "documentation": null, + "input_gets": [ + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "HelmChartMetadata" + ], + "name": "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata", + "output_type": "Digest", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_repl": { - "description": null, - "documentation": "Open a REPL with the specified code loadable.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_repl", - "output_type": "ReplSubsystem", - "provider": "pants.core" + "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment": { + "description": "Prepare Helm deployment post-renderer", + "documentation": null, + "input_gets": [ + "Get(FirstPartyHelmDeploymentMapping, FirstPartyHelmDeploymentMappingRequest, ..)", + "Get(DockerBuildContext, DockerBuildContextRequest, ..)", + "Get(Targets, Addresses, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(DockerImageTags, DockerImageTagsRequest, ..)" + ], + "input_types": [ + "HelmDeploymentPostRendererRequest", + "UnionMembership", + "DockerOptions" + ], + "name": "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", + "output_type": "SetupHelmPostRenderer", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_roots": { + "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process": { "description": null, - "documentation": "List the repo's registered source roots.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_roots", - "output_type": "RootsSubsystem", - "provider": "pants.backend.project_info" + "documentation": null, + "input_gets": [ + "Get(Process, HelmProcess, ..)" + ], + "input_types": [ + "_HelmDeploymentProcessWrapper" + ], + "name": "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", + "output_type": "InteractiveProcess", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_ruff": { + "pants.backend.helm.util_rules.renderer.render_helm_chart": { "description": null, - "documentation": "The Ruff Python formatter (https://github.com/charliermarsh/ruff).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_ruff", - "output_type": "Ruff", - "provider": "pants.backend.experimental.python.lint.ruff" + "documentation": null, + "input_gets": [ + "Get(HelmChart, HelmChartRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(ProcessResult, HelmProcess, ..)", + "Get(Snapshot, RemovePrefix, ..)" + ], + "input_types": [ + "RenderHelmChartRequest" + ], + "name": "pants.backend.helm.util_rules.renderer.render_helm_chart", + "output_type": "RenderedHelmFiles", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_run": { - "description": null, - "documentation": "Runs a binary target.\n\nThis goal propagates the return code of the underlying executable.\n\nIf your application can safely be restarted while it is running, you can pass `restartable=True` on your binary target (for supported types), and the `run` goal will automatically restart them as all relevant files change. This can be particularly useful for server applications.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_run", - "output_type": "RunSubsystem", - "provider": "pants.core" + "pants.backend.helm.util_rules.renderer.run_renderer": { + "description": "Render Helm deployment", + "documentation": null, + "input_gets": [ + "Get(ProcessResult, HelmProcess, ..)", + "Get(Snapshot, CreateDigest, ..)", + "Get(Snapshot, RemovePrefix, ..)" + ], + "input_types": [ + "_HelmDeploymentProcessWrapper" + ], + "name": "pants.backend.helm.util_rules.renderer.run_renderer", + "output_type": "RenderedHelmFiles", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_scala": { - "description": null, - "documentation": "Scala programming language", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_scala", - "output_type": "ScalaSubsystem", - "provider": "pants.backend.experimental.scala" + "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process": { + "description": "Prepare Helm deployment renderer", + "documentation": null, + "input_gets": [ + "Get(HelmChart, FindHelmDeploymentChart, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Snapshot, DigestSubset, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "HelmDeploymentRequest" + ], + "name": "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", + "output_type": "_HelmDeploymentProcessWrapper", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_scala_infer": { - "description": null, - "documentation": "Options controlling which dependencies will be inferred for Scala targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_scala_infer", - "output_type": "ScalaInferSubsystem", - "provider": "pants.backend.experimental.scala" + "pants.backend.helm.util_rules.sources.find_chart_source_root": { + "description": "Detect Helm chart source root", + "documentation": null, + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)" + ], + "input_types": [ + "HelmChartRootRequest" + ], + "name": "pants.backend.helm.util_rules.sources.find_chart_source_root", + "output_type": "HelmChartRoot", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_scalac": { + "pants.backend.helm.util_rules.sources.get_helm_source_files": { "description": null, - "documentation": "The Scala compiler.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_scalac", - "output_type": "Scalac", - "provider": "pants.backend.experimental.scala" + "documentation": null, + "input_gets": [ + "Get(HelmChartRoot, HelmChartRootRequest, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Snapshot, DigestSubset, ..)", + "Get(Snapshot, RemovePrefix, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, MergeDigests, ..)" + ], + "input_types": [ + "HelmChartSourceFilesRequest" + ], + "name": "pants.backend.helm.util_rules.sources.get_helm_source_files", + "output_type": "HelmChartSourceFiles", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_scalafmt": { + "pants.backend.helm.util_rules.tool.all_helm_plugins": { "description": null, - "documentation": "scalafmt (https://scalameta.org/scalafmt/)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_scalafmt", - "output_type": "ScalafmtSubsystem", - "provider": "pants.backend.experimental.scala.lint.scalafmt" + "documentation": null, + "input_gets": [ + "Get(HelmPlugin, ExternalHelmPluginBinding, ..)" + ], + "input_types": [ + "UnionMembership" + ], + "name": "pants.backend.helm.util_rules.tool.all_helm_plugins", + "output_type": "HelmPlugins", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_scalapb": { - "description": null, - "documentation": "The ScalaPB protocol buffer compiler (https://scalapb.github.io/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_scalapb", - "output_type": "ScalaPBSubsystem", - "provider": "pants.backend.experimental.codegen.protobuf.scala" + "pants.backend.helm.util_rules.tool.download_external_helm_plugin": { + "description": "Download external Helm plugin", + "documentation": null, + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "ExternalHelmPluginRequest" + ], + "name": "pants.backend.helm.util_rules.tool.download_external_helm_plugin", + "output_type": "HelmPlugin", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_scalatest": { + "pants.backend.helm.util_rules.tool.helm_process": { "description": null, - "documentation": "The Scalatest test framework (https://www.scalatest.org/)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_scalatest", - "output_type": "Scalatest", - "provider": "pants.backend.experimental.scala" + "documentation": null, + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "HelmProcess", + "HelmBinary", + "HelmSubsystem" + ], + "name": "pants.backend.helm.util_rules.tool.helm_process", + "output_type": "Process", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_scc": { - "description": null, - "documentation": "The Succinct Code Counter, aka `scc` (https://github.com/boyter/scc).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_scc", - "output_type": "SuccinctCodeCounter", - "provider": "pants.backend.project_info" + "pants.backend.helm.util_rules.tool.setup_helm": { + "description": "Download and configure Helm", + "documentation": null, + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "HelmSubsystem", + "HelmPlugins", + "Platform" + ], + "name": "pants.backend.helm.util_rules.tool.setup_helm", + "output_type": "HelmBinary", + "provider": "pants.backend.experimental.helm" }, - "construct_scope_semgrep": { + "pants.backend.java.bsp.rules.bsp_java_compile_request": { "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.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_semgrep", - "output_type": "SemgrepSubsystem", - "provider": "pants.backend.experimental.tools.semgrep" + "documentation": null, + "input_gets": [ + "Get(CoarsenedTargets, Addresses, ..)", + "Get(CoursierResolveKey, CoarsenedTargets, ..)", + "Get(FallibleClasspathEntry, BSPClasspathEntryRequest, ..)", + "Get(LooseClassfiles, ClasspathEntry, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, AddPrefix, ..)" + ], + "input_types": [ + "JavaBSPCompileRequest", + "ClasspathEntryRequestFactory" + ], + "name": "pants.backend.java.bsp.rules.bsp_java_compile_request", + "output_type": "BSPCompileResult", + "provider": "pants.backend.experimental.java" }, - "construct_scope_setup_py_generation": { + "pants.backend.java.bsp.rules.bsp_java_resources_request": { "description": null, - "documentation": "Options to control how setup.py is generated from a `python_distribution` target.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_setup_py_generation", - "output_type": "SetupPyGeneration", - "provider": "pants.backend.python" + "documentation": null, + "input_gets": [ + "Get(CoarsenedTargets, Addresses, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(Digest, AddPrefix, ..)" + ], + "input_types": [ + "JavaBSPResourcesRequest", + "BuildRoot" + ], + "name": "pants.backend.java.bsp.rules.bsp_java_resources_request", + "output_type": "BSPResourcesResult", + "provider": "pants.backend.experimental.java" }, - "construct_scope_setuptools": { + "pants.backend.java.bsp.rules.bsp_javac_options_request": { "description": null, - "documentation": "Python setuptools, used to package `python_distribution` targets.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_setuptools", - "output_type": "Setuptools", - "provider": "pants.backend.python" + "documentation": null, + "input_gets": [ + "Get(HandleJavacOptionsResult, HandleJavacOptionsRequest, ..)" + ], + "input_types": [ + "JavacOptionsParams" + ], + "name": "pants.backend.java.bsp.rules.bsp_javac_options_request", + "output_type": "JavacOptionsResult", + "provider": "pants.backend.experimental.java" }, - "construct_scope_setuptools_scm": { + "pants.backend.java.bsp.rules.bsp_resolve_java_metadata": { "description": null, - "documentation": "A tool for generating versions from VCS metadata (https://github.com/pypa/setuptools_scm).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_setuptools_scm", - "output_type": "SetuptoolsSCM", - "provider": "pants.backend.experimental.python" + "documentation": null, + "input_gets": [], + "input_types": [ + "JavaBSPBuildTargetsMetadataRequest" + ], + "name": "pants.backend.java.bsp.rules.bsp_resolve_java_metadata", + "output_type": "BSPBuildTargetsMetadataResult", + "provider": "pants.backend.experimental.java" }, - "construct_scope_shell_setup": { + "pants.backend.java.bsp.rules.handle_bsp_java_options_request": { "description": null, - "documentation": "Options for Pants's Shell support.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_shell_setup", - "output_type": "ShellSetup", - "provider": "pants.backend.shell" + "documentation": null, + "input_gets": [], + "input_types": [ + "HandleJavacOptionsRequest", + "BuildRoot" + ], + "name": "pants.backend.java.bsp.rules.handle_bsp_java_options_request", + "output_type": "HandleJavacOptionsResult", + "provider": "pants.backend.experimental.java" }, - "construct_scope_shell_test": { - "description": null, - "documentation": "Options for Pants' Shell test support.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_shell_test", - "output_type": "ShellTestSubsystem", - "provider": "pants.backend.shell" + "pants.backend.java.compile.javac.compile_java_source": { + "description": "Compile with javac", + "documentation": null, + "input_gets": [ + "Get(FallibleClasspathEntries, ClasspathEntryRequests, ..)", + "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)", + "Get(JavaInferredDependencies, JavaInferredDependenciesAndExportsRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(FallibleProcessResult, JvmProcess, ..)", + "Get(Snapshot, Digest, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Digest, StripJarRequest, ..)" + ], + "input_types": [ + "BashBinary", + "JavacSubsystem", + "ZipBinary", + "JvmSubsystem", + "CompileJavaSourceRequest" + ], + "name": "pants.backend.java.compile.javac.compile_java_source", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.java" }, - "construct_scope_shellcheck": { + "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies": { "description": null, - "documentation": "A linter for shell scripts.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_shellcheck", - "output_type": "Shellcheck", - "provider": "pants.backend.shell" + "documentation": null, + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, JavaParserToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(FallibleProcessResult, JvmProcess, ..)" + ], + "input_types": [ + "JavaParserCompiledClassfiles", + "InternalJdk", + "JavaSourceDependencyAnalysisRequest" + ], + "name": "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", + "output_type": "FallibleJavaSourceDependencyAnalysisResult", + "provider": "pants.backend.experimental.java" }, - "construct_scope_shfmt": { + "pants.backend.java.dependency_inference.java_parser.build_processors": { "description": null, - "documentation": "An autoformatter for shell scripts (https://github.com/mvdan/sh).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_shfmt", - "output_type": "Shfmt", - "provider": "pants.backend.shell.lint.shfmt" + "documentation": null, + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, JavaParserToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)" + ], + "input_types": [ + "InternalJdk" + ], + "name": "pants.backend.java.dependency_inference.java_parser.build_processors", + "output_type": "JavaParserCompiledClassfiles", + "provider": "pants.backend.experimental.java" }, - "construct_scope_shunit2": { + "pants.backend.java.dependency_inference.java_parser.generate_java_parser_lockfile_request": { "description": null, - "documentation": "shUnit2 is a xUnit framework for Bourne based shell scripts (https://github.com/kward/shunit2)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_shunit2", - "output_type": "Shunit2", - "provider": "pants.backend.shell" + "documentation": null, + "input_gets": [], + "input_types": [ + "JavaParserToolLockfileSentinel" + ], + "name": "pants.backend.java.dependency_inference.java_parser.generate_java_parser_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.java" }, - "construct_scope_source": { + "pants.backend.java.dependency_inference.java_parser.make_analysis_request_from_source_files": { "description": null, - "documentation": "Configuration for roots of source trees.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_source", - "output_type": "SourceRootConfig", - "provider": "pants.core" + "documentation": null, + "input_gets": [], + "input_types": [ + "SourceFiles" + ], + "name": "pants.backend.java.dependency_inference.java_parser.make_analysis_request_from_source_files", + "output_type": "JavaSourceDependencyAnalysisRequest", + "provider": "pants.backend.experimental.java" }, - "construct_scope_spectral": { + "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis": { "description": null, - "documentation": "A flexible JSON/YAML linter for creating automated style guides (https://github.com/stoplightio/spectral).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_spectral", - "output_type": "SpectralSubsystem", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "documentation": null, + "input_gets": [ + "Get(DigestContents, Digest, ..)" + ], + "input_types": [ + "FallibleJavaSourceDependencyAnalysisResult", + "KeepSandboxes" + ], + "name": "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis", + "output_type": "JavaSourceDependencyAnalysis", + "provider": "pants.backend.experimental.java" }, - "construct_scope_stats": { - "description": null, - "documentation": "An aggregator for Pants stats, such as cache metrics.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_stats", - "output_type": "StatsAggregatorSubsystem", - "provider": "pants.core" + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis": { + "description": "Inferring Java dependencies and exports by source analysis", + "documentation": null, + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(JavaSourceDependencyAnalysis, JavaSourceDependencyAnalysisRequest, ..)" + ], + "input_types": [ + "JavaInferredDependenciesAndExportsRequest", + "JavaInferSubsystem", + "JvmSubsystem", + "SymbolMapping" + ], + "name": "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", + "output_type": "JavaInferredDependencies", + "provider": "pants.backend.experimental.java" }, - "construct_scope_subprocess_environment": { - "description": null, - "documentation": "Environment settings for forked subprocesses.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_subprocess_environment", - "output_type": "SubprocessEnvironment", - "provider": "pants.core" + "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis": { + "description": "Inferring Java dependencies by source analysis", + "documentation": null, + "input_gets": [ + "Get(JavaInferredDependencies, JavaInferredDependenciesAndExportsRequest, ..)" + ], + "input_types": [ + "InferJavaSourceDependencies" + ], + "name": "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.java" }, - "construct_scope_system_binaries": { - "description": null, - "documentation": "System binaries related settings.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_system_binaries", - "output_type": "SystemBinariesSubsystem", - "provider": "pants.core" + "pants.backend.java.dependency_inference.symbol_mapper.find_all_java_targets": { + "description": "Find all Java targets in project", + "documentation": null, + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.java.dependency_inference.symbol_mapper.find_all_java_targets", + "output_type": "AllJavaTargets", + "provider": "pants.backend.experimental.java" + }, + "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols": { + "description": "Map all first party Java targets to their packages", + "documentation": null, + "input_gets": [ + "Get(JavaSourceDependencyAnalysis, SourceFilesRequest, ..)" + ], + "input_types": [ + "FirstPartyJavaTargetsMappingRequest", + "AllJavaTargets", + "JvmSubsystem" + ], + "name": "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", + "output_type": "SymbolMap", + "provider": "pants.backend.experimental.java" }, - "construct_scope_tailor": { - "description": null, - "documentation": "Auto-generate BUILD file targets for new source files.\n\nEach specific `tailor` implementation may be disabled through language-specific options, e.g. `[python].tailor_pex_binary_targets` and `[shell-setup].tailor`.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_tailor", - "output_type": "TailorSubsystem", - "provider": "pants.core" + "pants.backend.java.goals.check.javac_check": { + "description": "Check javac compilation", + "documentation": null, + "input_gets": [ + "Get(CoarsenedTargets, Addresses, ..)", + "Get(CoursierResolveKey, CoarsenedTargets, ..)", + "Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)" + ], + "input_types": [ + "JavacCheckRequest", + "ClasspathEntryRequestFactory" + ], + "name": "pants.backend.java.goals.check.javac_check", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.java" }, - "construct_scope_terraform_fmt": { - "description": null, - "documentation": "Terraform fmt options.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_terraform_fmt", - "output_type": "TfFmtSubsystem", - "provider": "pants.backend.experimental.terraform" + "pants.backend.java.goals.debug_goals.dump_java_source_analysis": { + "description": "`java-dump-source-analysis` goal", + "documentation": null, + "input_gets": [ + "Get(JavaSourceDependencyAnalysis, SourceFilesRequest, ..)" + ], + "input_types": [ + "Targets", + "Console" + ], + "name": "pants.backend.java.goals.debug_goals.dump_java_source_analysis", + "output_type": "DumpJavaSourceAnalysis", + "provider": "pants.backend.experimental.java.debug_goals" }, - "construct_scope_terraform_hcl2_parser": { - "description": null, - "documentation": "Used to parse Terraform modules to infer their dependencies.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_terraform_hcl2_parser", - "output_type": "TerraformHcl2Parser", - "provider": "pants.backend.experimental.terraform" + "pants.backend.java.goals.tailor.find_putative_targets": { + "description": "Determine candidate Java targets to create", + "documentation": null, + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativeJavaTargetsRequest", + "AllOwnedSources", + "JavacSubsystem" + ], + "name": "pants.backend.java.goals.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.java" }, - "construct_scope_terraform_validate": { + "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request": { "description": null, - "documentation": "Terraform validate options.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_terraform_validate", - "output_type": "TerraformValidateSubsystem", - "provider": "pants.backend.experimental.terraform" + "documentation": null, + "input_gets": [], + "input_types": [ + "GoogleJavaFormatToolLockfileSentinel", + "GoogleJavaFormatSubsystem" + ], + "name": "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.java.lint.google_java_format" }, - "construct_scope_test": { - "description": null, - "documentation": "Run tests.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_test", - "output_type": "TestSubsystem", - "provider": "pants.core" + "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt": { + "description": "Format with Google Java Format", + "documentation": null, + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, GoogleJavaFormatToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "GoogleJavaFormatSubsystem", + "InternalJdk" + ], + "name": "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.java.lint.google_java_format" }, - "construct_scope_thrift": { + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies": { "description": null, - "documentation": "General Thrift IDL settings (https://thrift.apache.org/).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_thrift", - "output_type": "ThriftSubsystem", - "provider": "pants.backend.codegen.thrift.apache.python" + "documentation": null, + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(OwningNodePackage, OwningNodePackageRequest, ..)", + "Get(InferenceMetadata, PackageJsonSourceField, ..)", + "Get(NativeParsedJavascriptDependencies, NativeDependenciesRequest, ..)", + "Get(Owners, OwnersRequest, ..)", + "Get(Targets, Addresses, ..)", + "Get(NodePackageCandidateMap, RequestNodePackagesCandidateMap, ..)" + ], + "input_types": [ + "InferJSDependenciesRequest", + "NodeJSInfer" + ], + "name": "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.javascript" }, - "construct_scope_twine": { + "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies": { "description": null, - "documentation": "The utility for publishing Python distributions to PyPI and other Python repositories.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_twine", - "output_type": "TwineSubsystem", - "provider": "pants.backend.experimental.python" + "documentation": null, + "input_gets": [ + "Get(PackageJsonEntryPoints, PackageJsonSourceField, ..)", + "Get(Owners, OwnersRequest, ..)", + "Get(Targets, Addresses, ..)" + ], + "input_types": [ + "InferNodePackageDependenciesRequest", + "NodeJSInfer" + ], + "name": "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.javascript" }, - "construct_scope_update_build_files": { + "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages": { "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/v2.19/docs/upgrade-tips for upgrade tips.\n\nThis goal is run without arguments. It will run over all BUILD files in your project.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_update_build_files", - "output_type": "UpdateBuildFilesSubsystem", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(OwningNodePackage, OwningNodePackageRequest, ..)" + ], + "input_types": [ + "RequestNodePackagesCandidateMap", + "FirstPartyNodePackageTargets" + ], + "name": "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages", + "output_type": "NodePackageCandidateMap", + "provider": "pants.backend.experimental.javascript" }, - "construct_scope_workunit_logger": { + "pants.backend.javascript.dependency_inference.rules.prepare_inference_metadata": { "description": null, - "documentation": "Workunit Logger subsystem. Useful for debugging pants itself.", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_workunit_logger", - "output_type": "WorkunitLogger", - "provider": "pants.backend.experimental.tools.workunit_logger" + "documentation": null, + "input_gets": [], + "input_types": [ + "PackageJsonImports" + ], + "name": "pants.backend.javascript.dependency_inference.rules.prepare_inference_metadata", + "output_type": "InferenceMetadata", + "provider": "pants.backend.experimental.javascript" }, - "construct_scope_yamllint": { + "pants.backend.javascript.goals.lockfile.determine_package_json_user_resolves": { "description": null, - "documentation": "A linter for YAML files (https://yamllint.readthedocs.io)", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_yamllint", - "output_type": "Yamllint", - "provider": "pants.backend.experimental.tools.yamllint" + "documentation": null, + "input_gets": [], + "input_types": [ + "KnownPackageJsonUserResolveNamesRequest", + "AllNodeJSProjects", + "UserChosenNodeJSResolveAliases" + ], + "name": "pants.backend.javascript.goals.lockfile.determine_package_json_user_resolves", + "output_type": "KnownUserResolveNames", + "provider": "pants.backend.experimental.javascript" }, - "construct_scope_yapf": { + "pants.backend.javascript.goals.lockfile.generate_lockfile_from_package_jsons": { "description": null, - "documentation": "A formatter for Python files (https://github.com/google/yapf).", - "input_gets": ["Get(ScopedOptions, Scope, ..)"], - "input_types": [], - "name": "construct_scope_yapf", - "output_type": "Yapf", - "provider": "pants.core" - }, - "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request": { - "description": "Running run_in_sandbox target", "documentation": null, "input_gets": [ - "Get(EnvironmentName, EnvironmentNameRequest, ..)", - "Get(Address, AddressInput, ..)", - "Get(Targets, Addresses, ..)", - "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", - "Get(RunInSandboxRequest, {EnvironmentName: .., RunFieldSet: ..})", - "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)", - "Get(ExtraSandboxContents, MergeExtraSandboxContents, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(AdhocProcessResult, {EnvironmentName: .., AdhocProcessRequest: ..})", - "Get(Snapshot, Digest, ..)" + "Get(ProcessResult, NodeJsProjectEnvironmentProcess, ..)", + "Get(Digest, AddPrefix, ..)" ], - "input_types": ["GenerateFilesFromAdhocToolRequest"], - "name": "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", - "output_type": "GeneratedSources", - "provider": "pants.backend.experimental.adhoc" + "input_types": [ + "GeneratePackageLockJsonFile" + ], + "name": "pants.backend.javascript.goals.lockfile.generate_lockfile_from_package_jsons", + "output_type": "GenerateLockfileResult", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.adhoc.run_system_binary.create_system_binary_run_request": { + "pants.backend.javascript.goals.lockfile.setup_user_lockfile_requests": { "description": null, "documentation": null, + "input_gets": [], + "input_types": [ + "NodeJSProjectResolves", + "RequestedPackageJsonUserResolveNames" + ], + "name": "pants.backend.javascript.goals.lockfile.setup_user_lockfile_requests", + "output_type": "UserGenerateLockfiles", + "provider": "pants.backend.experimental.javascript" + }, + "pants.backend.javascript.goals.tailor.find_putative_js_targets": { + "description": "Determine candidate JS targets to create", + "documentation": null, "input_gets": [ - "Get(BinaryPaths, BinaryPathRequest, ..)", - "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(Paths, PathGlobs, ..)" ], - "input_types": ["SystemBinaryFieldSet", "EnvironmentAware"], - "name": "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.adhoc" + "input_types": [ + "PutativeJSTargetsRequest", + "AllOwnedSources" + ], + "name": "pants.backend.javascript.goals.tailor.find_putative_js_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.awslambda.python.rules.package_python_aws_lambda_function": { - "description": "Create Python AWS Lambda Function", + "pants.backend.javascript.goals.tailor.find_putative_package_json_targets": { + "description": "Determine candidate package.json targets to create", "documentation": null, - "input_gets": ["Get(BuiltPackage, BuildPythonFaaSRequest, ..)"], - "input_types": ["PythonAwsLambdaFieldSet"], - "name": "pants.backend.awslambda.python.rules.package_python_aws_lambda_function", - "output_type": "BuiltPackage", - "provider": "pants.backend.awslambda.python" + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativePackageJsonTargetsRequest", + "AllOwnedSources" + ], + "name": "pants.backend.javascript.goals.tailor.find_putative_package_json_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer": { - "description": "Create Python AWS Lambda Layer", + "pants.backend.javascript.goals.test.collect_coverage_reports": { + "description": "Collecting coverage reports.", "documentation": null, - "input_gets": ["Get(BuiltPackage, BuildPythonFaaSRequest, ..)"], - "input_types": ["PythonAwsLambdaLayerFieldSet"], - "name": "pants.backend.awslambda.python.rules.package_python_aws_lambda_layer", - "output_type": "BuiltPackage", - "provider": "pants.backend.awslambda.python" + "input_gets": [ + "Get(Snapshot, DigestSubset, ..)" + ], + "input_types": [ + "JSCoverageDataCollection", + "DistDir", + "NodeJSTest" + ], + "name": "pants.backend.javascript.goals.test.collect_coverage_reports", + "output_type": "CoverageReports", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.determine_renamed_field_types": { - "description": null, + "pants.backend.javascript.goals.test.partition_nodejs_tests": { + "description": "Partition NodeJS tests", "documentation": null, - "input_gets": [], - "input_types": ["RegisteredTargetTypes", "UnionMembership"], - "name": "pants.backend.build_files.fix.deprecations.renamed_fields_rules.determine_renamed_field_types", - "output_type": "RenamedFieldTypes", - "provider": "pants.core" + "input_gets": [ + "Get(OwningNodePackage, OwningNodePackageRequest, ..)" + ], + "input_types": [ + "PartitionRequest" + ], + "name": "pants.backend.javascript.goals.test.partition_nodejs_tests", + "output_type": "Partitions", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix": { - "description": "Fix deprecated field names", + "pants.backend.javascript.goals.test.run_javascript_tests": { + "description": "Run javascript tests", "documentation": null, "input_gets": [ - "Get(DigestContents, Digest, ..)", - "Get(FixedBUILDFile, RenameFieldsInFileRequest, ..)", - "Get(Snapshot, CreateDigest, ..)" + "Get(InstalledNodePackage, InstalledNodePackageRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Process, NodeJsProjectEnvironmentProcess, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(Snapshot, DigestSubset, ..)" ], - "input_types": ["Batch"], - "name": "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", - "output_type": "FixResult", - "provider": "pants.core" + "input_types": [ + "Batch", + "TestSubsystem", + "TestExtraEnv" + ], + "name": "pants.backend.javascript.goals.test.run_javascript_tests", + "output_type": "TestResult", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single": { + "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["RenameFieldsInFileRequest", "RenamedFieldTypes"], - "name": "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix_single", - "output_type": "FixedBUILDFile", - "provider": "pants.core" + "input_gets": [ + "Get(InstalledNodePackage, InstalledNodePackageRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "InstalledNodePackageRequest" + ], + "name": "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package", + "output_type": "InstalledNodePackageWithSource", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.determine_renamed_target_types": { + "pants.backend.javascript.install_node_package.install_node_packages_for_address": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["RegisteredTargetTypes"], - "name": "pants.backend.build_files.fix.deprecations.renamed_targets_rules.determine_renamed_target_types", - "output_type": "RenamedTargetTypes", - "provider": "pants.core" + "input_gets": [ + "Get(NodeJsProjectEnvironment, NodeJSProjectEnvironmentRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(InstalledNodePackageWithSource, InstalledNodePackageRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, NodeJsProjectEnvironmentProcess, ..)", + "Get(Digest, AddPrefix, ..)" + ], + "input_types": [ + "InstalledNodePackageRequest", + "UnionMembership" + ], + "name": "pants.backend.javascript.install_node_package.install_node_packages_for_address", + "output_type": "InstalledNodePackage", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix": { - "description": "Fix deprecated target type names", + "pants.backend.javascript.lint.prettier.rules.prettier_fmt": { + "description": null, "documentation": null, "input_gets": [ - "Get(DigestContents, Digest, ..)", - "Get(FixedBUILDFile, RenameTargetsInFileRequest, ..)", - "Get(Snapshot, CreateDigest, ..)" + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, NodeJSToolRequest, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["Batch"], - "name": "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", + "input_types": [ + "Batch", + "Prettier" + ], + "name": "pants.backend.javascript.lint.prettier.rules.prettier_fmt", "output_type": "FixResult", - "provider": "pants.core" + "provider": "pants.backend.experimental.javascript.lint.prettier" }, - "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single": { + "pants.backend.javascript.nodejs_project.find_node_js_projects": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["RenameTargetsInFileRequest", "RenamedTargetTypes"], - "name": "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix_single", - "output_type": "FixedBUILDFile", - "provider": "pants.core" + "input_gets": [ + "Get(StrippedFileName, StrippedFileNameRequest, ..)" + ], + "input_types": [ + "AllPackageJson", + "PnpmWorkspaces", + "NodeJS", + "UserChosenNodeJSResolveAliases" + ], + "name": "pants.backend.javascript.nodejs_project.find_node_js_projects", + "output_type": "AllNodeJSProjects", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.fmt.black.register.black_fmt": { - "description": "Format with Black", + "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment": { + "description": "Assembling nodejs project environment", "documentation": null, "input_gets": [ - "Get(Lockfile, Resolve, ..)", - "Get(LoadedLockfile, LoadedLockfileRequest, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(ChosenNodeResolve, RequestNodeResolve, ..)", + "Get(OwningNodePackage, OwningNodePackageRequest, ..)" ], - "input_types": ["Batch", "Black"], - "name": "pants.backend.build_files.fmt.black.register.black_fmt", - "output_type": "FixResult", - "provider": "pants.backend.build_files.fmt.black" + "input_types": [ + "NodeJSProjectEnvironmentRequest" + ], + "name": "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment", + "output_type": "NodeJsProjectEnvironment", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt": { - "description": "Format with Buildifier", + "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process": { + "description": null, "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, PathGlobs, ..)", "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Snapshot, Digest, ..)" + "Get(Process, NodeJSToolProcess, ..)" ], - "input_types": ["Batch", "Buildifier", "Platform"], - "name": "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", - "output_type": "FixResult", - "provider": "pants.backend.build_files.fmt.buildifier" + "input_types": [ + "NodeJsProjectEnvironmentProcess" + ], + "name": "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", + "output_type": "Process", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.fmt.yapf.register.yapf_fmt": { - "description": "Format with Yapf", + "pants.backend.javascript.package.rules.generate_package_artifact_from_node_build_script": { + "description": null, "documentation": null, "input_gets": [ - "Get(Lockfile, Resolve, ..)", - "Get(LoadedLockfile, LoadedLockfileRequest, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(NodeBuildScriptResult, NodeBuildScriptRequest, ..)", + "Get(Digest, AddPrefix, ..)" ], - "input_types": ["Batch", "Yapf"], - "name": "pants.backend.build_files.fmt.yapf.register.yapf_fmt", - "output_type": "FixResult", - "provider": "pants.backend.build_files.fmt.yapf" + "input_types": [ + "NodeBuildScriptPackageFieldSet" + ], + "name": "pants.backend.javascript.package.rules.generate_package_artifact_from_node_build_script", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BlackRequest": { + "pants.backend.javascript.package.rules.generate_resources_from_node_build_script": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "Black", "BuildFileOptions"], - "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BlackRequest", - "output_type": "Partitions", - "provider": "pants.backend.build_files.fmt.black" + "input_gets": [ + "Get(NodeBuildScriptResult, NodeBuildScriptRequest, ..)", + "Get(Snapshot, AddPrefix, ..)" + ], + "input_types": [ + "GenerateResourcesFromNodeBuildScriptRequest" + ], + "name": "pants.backend.javascript.package.rules.generate_resources_from_node_build_script", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BuildifierRequest": { + "pants.backend.javascript.package.rules.pack_node_package_into_tgz_for_publication": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "Buildifier", "BuildFileOptions"], - "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BuildifierRequest", - "output_type": "Partitions", - "provider": "pants.backend.build_files.fmt.buildifier" + "input_gets": [ + "Get(InstalledNodePackageWithSource, InstalledNodePackageRequest, ..)", + "Get(ProcessResult, NodeJsProjectEnvironmentProcess, ..)", + "Get(Digest, AddPrefix, ..)" + ], + "input_types": [ + "NodePackageTarFieldSet" + ], + "name": "pants.backend.javascript.package.rules.pack_node_package_into_tgz_for_publication", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameFieldsInFilesRequest": { + "pants.backend.javascript.package.rules.run_node_build_script": { "description": null, "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(InstalledNodePackageWithSource, InstalledNodePackageRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(ProcessResult, NodeJsProjectEnvironmentProcess, ..)" + ], "input_types": [ - "PartitionRequest", - "BUILDDeprecationsFixer", - "BuildFileOptions" + "NodeBuildScriptRequest" ], - "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameFieldsInFilesRequest", - "output_type": "Partitions", - "provider": "pants.backend.build_files.fix.deprecations" + "name": "pants.backend.javascript.package.rules.run_node_build_script", + "output_type": "NodeBuildScriptResult", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameTargetsInFilesRequest": { + "pants.backend.javascript.package_json.all_first_party_node_package_targets": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "PartitionRequest", - "BUILDDeprecationsFixer", - "BuildFileOptions" + "AllTargets" ], - "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_RenameTargetsInFilesRequest", - "output_type": "Partitions", - "provider": "pants.backend.build_files.fix.deprecations" + "name": "pants.backend.javascript.package_json.all_first_party_node_package_targets", + "output_type": "FirstPartyNodePackageTargets", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_YapfRequest": { + "pants.backend.javascript.package_json.all_package_json": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(ResolvedTargetGeneratorRequests, ResolveAllTargetGeneratorRequests, ..)", + "Get(PackageJsonForGlobs, PathGlobs, ..)" + ], + "input_types": [], + "name": "pants.backend.javascript.package_json.all_package_json", + "output_type": "AllPackageJson", + "provider": "pants.backend.experimental.javascript" + }, + "pants.backend.javascript.package_json.all_package_json_names": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PartitionRequest", "Yapf", "BuildFileOptions"], - "name": "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_YapfRequest", - "output_type": "Partitions", - "provider": "pants.backend.build_files.fmt.yapf" + "input_types": [ + "AllPackageJson" + ], + "name": "pants.backend.javascript.package_json.all_package_json_names", + "output_type": "AllPackageJsonNames", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.export_codegen_goal.export_codegen": { - "description": "`export-codegen` goal", + "pants.backend.javascript.package_json.find_owning_package": { + "description": null, "documentation": null, "input_gets": [ - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Targets, RawSpecs, ..)", + "Get(Targets, DependenciesRequest, ..)" ], "input_types": [ - "FilteredTargets", + "OwningNodePackageRequest" + ], + "name": "pants.backend.javascript.package_json.find_owning_package", + "output_type": "OwningNodePackage", + "provider": "pants.backend.experimental.javascript" + }, + "pants.backend.javascript.package_json.generate_node_package_targets": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(PackageJson, PackageJsonSourceField, ..)" + ], + "input_types": [ + "GenerateNodePackageTargets", "UnionMembership", - "Workspace", - "DistDir", - "RegisteredTargetTypes" + "AllPackageJsonNames" + ], + "name": "pants.backend.javascript.package_json.generate_node_package_targets", + "output_type": "GeneratedTargets", + "provider": "pants.backend.experimental.javascript" + }, + "pants.backend.javascript.package_json.package_json_for_source": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(PackageJsonForGlobs, PathGlobs, ..)" ], - "name": "pants.backend.codegen.export_codegen_goal.export_codegen", - "output_type": "ExportCodegen", - "provider": "pants.core" + "input_types": [ + "PackageJsonSourceField" + ], + "name": "pants.backend.javascript.package_json.package_json_for_source", + "output_type": "PackageJson", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf": { - "description": "Generate Go source files from Protobuf", + "pants.backend.javascript.package_json.parse_package_json": { + "description": null, "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(Snapshot, AddPrefix, ..)", - "Get(Snapshot, Digest, ..)" + "Get(Snapshot, PathGlobs, ..)" ], "input_types": [ - "GenerateGoFromProtobufRequest", - "Protoc", - "_SetupGoProtocPlugin", - "Platform" + "FileContent" ], - "name": "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", - "output_type": "GeneratedSources", - "provider": "pants.backend.experimental.codegen.protobuf.go" + "name": "pants.backend.javascript.package_json.parse_package_json", + "output_type": "PackageJson", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets": { - "description": "Map import paths for all Go Protobuf targets.", + "pants.backend.javascript.package_json.pnpm_workspace_files": { + "description": null, "documentation": null, "input_gets": [ - "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Snapshot, PathGlobs, ..)", "Get(DigestContents, Digest, ..)", - "Get(OwningGoMod, OwningGoModRequest, ..)" + "Get(Digest, CreateDigest, ..)" ], "input_types": [ - "ProtobufGoModuleImportPathsMappingsHook", - "AllProtobufTargets" + "AllPackageJson" ], - "name": "pants.backend.codegen.protobuf.go.rules.map_import_paths_of_all_go_protobuf_targets", - "output_type": "GoModuleImportPathsMappings", - "provider": "pants.backend.experimental.codegen.protobuf.go" + "name": "pants.backend.javascript.package_json.pnpm_workspace_files", + "output_type": "PnpmWorkspaces", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf": { + "pants.backend.javascript.package_json.read_package_jsons": { "description": null, "documentation": null, "input_gets": [ - "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Snapshot, PathGlobs, ..)", "Get(DigestContents, Digest, ..)", - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", - "Get(FallibleBuildGoPackageRequest, _SetupGoProtobufPackageBuildRequest, ..)" + "Get(PackageJson, FileContent, ..)" ], - "input_types": ["GoCodegenBuildProtobufRequest"], - "name": "pants.backend.codegen.protobuf.go.rules.setup_build_go_package_request_for_protobuf", - "output_type": "FallibleBuildGoPackageRequest", - "provider": "pants.backend.experimental.codegen.protobuf.go" + "input_types": [ + "PathGlobs" + ], + "name": "pants.backend.javascript.package_json.read_package_jsons", + "output_type": "PackageJsonForGlobs", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request": { + "pants.backend.javascript.package_json.script_entrypoints_for_source": { "description": null, "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(SourceRootsResult, SourceRootsRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(SourcesPaths, SourcesPathsRequest, ..)", - "Get(FallibleProcessResult, Process, ..)", - "Get(Snapshot, Digest, ..)", - "Get(BuildGoPackageRequest, BuildGoPackageTargetRequest, ..)" + "Get(PackageJson, PackageJsonSourceField, ..)" ], "input_types": [ - "_SetupGoProtobufPackageBuildRequest", - "Protoc", - "_SetupGoProtocPlugin", - "PackageAnalyzerSetup", - "Platform" + "PackageJsonSourceField" ], - "name": "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", - "output_type": "FallibleBuildGoPackageRequest", - "provider": "pants.backend.experimental.codegen.protobuf.go" + "name": "pants.backend.javascript.package_json.script_entrypoints_for_source", + "output_type": "PackageJsonEntryPoints", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin": { + "pants.backend.javascript.package_json.subpath_imports_for_source": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(ProcessResult, GoSdkProcess, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(PackageJson, PackageJsonSourceField, ..)" ], - "input_types": [], - "name": "pants.backend.codegen.protobuf.go.rules.setup_go_protoc_plugin", - "output_type": "_SetupGoProtocPlugin", - "provider": "pants.backend.experimental.codegen.protobuf.go" + "input_types": [ + "PackageJsonSourceField" + ], + "name": "pants.backend.javascript.package_json.subpath_imports_for_source", + "output_type": "PackageJsonImports", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency": { + "pants.backend.javascript.resolve.resolve_for_package": { "description": null, "documentation": null, "input_gets": [ - "Get(ProtobufJavaRuntimeForResolve, ProtobufJavaRuntimeForResolveRequest, ..)", - "Get(ProtobufJavaGrpcRuntimeForResolve, ProtobufJavaGrpcRuntimeForResolveRequest, ..)" + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(OwningNodePackage, OwningNodePackageRequest, ..)" ], "input_types": [ - "InferProtobufJavaRuntimeDependencyRequest", - "JvmSubsystem" + "RequestNodeResolve", + "AllNodeJSProjects" ], - "name": "pants.backend.codegen.protobuf.java.dependency_inference.infer_protobuf_java_runtime_dependency", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.codegen.protobuf.java" + "name": "pants.backend.javascript.resolve.resolve_for_package", + "output_type": "ChosenNodeResolve", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve": { + "pants.backend.javascript.resolve.resolve_to_first_party_node_package": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "AllJvmArtifactTargets", - "JvmSubsystem", - "ProtobufJavaGrpcRuntimeForResolveRequest" + "NodeJSProjectResolves", + "FirstPartyNodePackageTargets" ], - "name": "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_grpc_runtime_for_resolve", - "output_type": "ProtobufJavaGrpcRuntimeForResolve", - "provider": "pants.backend.experimental.codegen.protobuf.java" + "name": "pants.backend.javascript.resolve.resolve_to_first_party_node_package", + "output_type": "FirstPartyNodePackageResolves", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve": { + "pants.backend.javascript.resolve.resolve_to_projects": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "AllJvmArtifactTargets", - "JvmSubsystem", - "ProtobufJavaRuntimeForResolveRequest" + "AllNodeJSProjects", + "UserChosenNodeJSResolveAliases" ], - "name": "pants.backend.codegen.protobuf.java.dependency_inference.resolve_protobuf_java_runtime_for_resolve", - "output_type": "ProtobufJavaRuntimeForResolve", - "provider": "pants.backend.experimental.codegen.protobuf.java" + "name": "pants.backend.javascript.resolve.resolve_to_projects", + "output_type": "NodeJSProjectResolves", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request": { + "pants.backend.javascript.run.rules.run_node_build_script": { "description": null, "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(InstalledNodePackageWithSource, InstalledNodePackageRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(Process, NodeJsProjectEnvironmentProcess, ..)" + ], "input_types": [ - "GrpcJavaToolLockfileSentinel", - "JavaProtobufGrpcSubsystem" + "RunNodeBuildScriptFieldSet" ], - "name": "pants.backend.codegen.protobuf.java.rules.generate_grpc_java_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.codegen.protobuf.java" + "name": "pants.backend.javascript.run.rules.run_node_build_script", + "output_type": "RunRequest", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf": { - "description": "Generate Java from Protobuf", + "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries": { + "description": "Finding Node.js distribution binaries.", "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(Snapshot, AddPrefix, ..)", - "Get(Snapshot, Digest, ..)" + "Get(DownloadedExternalTool, ExternalToolRequest, ..)" ], "input_types": [ - "GenerateJavaFromProtobufRequest", - "Protoc", - "ProtobufJavaGrpcPlugin", - "Platform" + "NodeJS", + "Platform", + "_BinaryPathsPerVersion" ], - "name": "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", - "output_type": "GeneratedSources", - "provider": "pants.backend.experimental.codegen.protobuf.java" + "name": "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", + "output_type": "NodeJSBinaries", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin": { - "description": null, + "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version": { + "description": "Testing for Node.js binaries.", "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, GrpcJavaToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(DigestEntries, Digest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], - "input_types": ["Platform"], - "name": "pants.backend.codegen.protobuf.java.rules.resolve_protobuf_java_grpc_plugin", - "output_type": "ProtobufJavaGrpcPlugin", - "provider": "pants.backend.experimental.codegen.protobuf.java" + "input_types": [ + "NodeJSBootstrap" + ], + "name": "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version", + "output_type": "_BinaryPathsPerVersion", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.lint.buf.format_rules.partition_buf": { + "pants.backend.javascript.subsystems.nodejs.node_process_environment": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "BufSubsystem"], - "name": "pants.backend.codegen.protobuf.lint.buf.format_rules.partition_buf", - "output_type": "Partitions", - "provider": "pants.backend.codegen.protobuf.lint.buf" - }, - "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format": { - "description": "Format with buf format", - "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", "Get(BinaryShims, BinaryShimsRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(Digest, CreateDigest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Snapshot, Digest, ..)" + "Get(ProcessResult, Process, ..)" ], - "input_types": ["Batch", "BufSubsystem", "DiffBinary", "Platform"], - "name": "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", - "output_type": "FixResult", - "provider": "pants.backend.codegen.protobuf.lint.buf" + "input_types": [ + "NodeJSBinaries", + "EnvironmentAware" + ], + "name": "pants.backend.javascript.subsystems.nodejs.node_process_environment", + "output_type": "NodeJSProcessEnvironment", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.lint.buf.lint_rules.partition_buf": { + "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "BufSubsystem"], - "name": "pants.backend.codegen.protobuf.lint.buf.lint_rules.partition_buf", - "output_type": "Partitions", - "provider": "pants.backend.codegen.protobuf.lint.buf" - }, - "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf": { - "description": "Lint with buf lint", - "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(ValidatedSearchPaths, ValidateSearchPathsRequest, ..)", + "Get(AsdfToolPathsResult, AsdfToolPathsRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(VersionManagerSearchPaths, VersionManagerSearchPathsRequest, ..)", + "Get(PathEnvironmentVariable)" ], - "input_types": ["Batch", "BufSubsystem", "Platform"], - "name": "pants.backend.codegen.protobuf.lint.buf.lint_rules.run_buf", - "output_type": "LintResult", - "provider": "pants.backend.codegen.protobuf.lint.buf" + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", + "output_type": "NodeJSBootstrap", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies": { - "description": "Inferring Protobuf dependencies by analyzing imports", + "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool": { + "description": "Preparing Corepack managed tool.", "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(DigestContents, Digest, ..)" + "Get(ProcessResult, Process, ..)" ], - "input_types": ["InferProtobufDependencies", "ProtobufMapping", "Protoc"], - "name": "pants.backend.codegen.protobuf.protobuf_dependency_inference.infer_protobuf_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.codegen.protobuf.python" - }, - "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files": { - "description": "Creating map of Protobuf file names to Protobuf targets", - "documentation": null, - "input_gets": ["Get(StrippedFileName, StrippedFileNameRequest, ..)"], - "input_types": ["AllProtobufTargets"], - "name": "pants.backend.codegen.protobuf.protobuf_dependency_inference.map_protobuf_files", - "output_type": "ProtobufMapping", - "provider": "pants.backend.codegen.protobuf.python" - }, - "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules": { - "description": "Creating map of Protobuf targets to generated Python modules", - "documentation": null, - "input_gets": ["Get(StrippedFileName, StrippedFileNameRequest, ..)"], "input_types": [ - "AllProtobufTargets", - "PythonSetup", - "PythonProtobufMappingMarker" + "CorepackToolRequest", + "NodeJSProcessEnvironment", + "NodeJS" ], - "name": "pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.map_protobuf_to_python_modules", - "output_type": "FirstPartyPythonMappingImpl", - "provider": "pants.backend.codegen.protobuf.python" + "name": "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", + "output_type": "CorepackToolDigest", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies": { + "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process": { "description": null, "documentation": null, "input_gets": [ - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" + "Get(CorepackToolDigest, CorepackToolRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "InferPythonProtobufDependencies", - "PythonProtobufSubsystem", - "PythonSetup", - "PythonInferSubsystem" + "NodeJSToolProcess", + "NodeJSProcessEnvironment" ], - "name": "pants.backend.codegen.protobuf.python.python_protobuf_subsystem.infer_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.codegen.protobuf.python" + "name": "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process", + "output_type": "Process", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf": { - "description": "Generate Python from Protobuf", + "pants.backend.javascript.subsystems.nodejs.user_chosen_resolve_aliases": { + "description": null, "documentation": null, - "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(VenvPex, VenvPexRequest, ..)", - "Get(PexResolveInfo, VenvPex, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(Snapshot, AddPrefix, ..)", - "Get(Snapshot, Digest, ..)" - ], + "input_gets": [], "input_types": [ - "GeneratePythonFromProtobufRequest", - "Protoc", - "GrpcPythonPlugin", - "PythonProtobufSubsystem", - "PythonProtobufMypyPlugin", - "PexEnvironment", - "Platform" + "NodeJS" ], - "name": "pants.backend.codegen.protobuf.python.rules.generate_python_from_protobuf", - "output_type": "GeneratedSources", - "provider": "pants.backend.codegen.protobuf.python" + "name": "pants.backend.javascript.subsystems.nodejs.user_chosen_resolve_aliases", + "output_type": "UserChosenNodeJSResolveAliases", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency": { + "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process": { "description": null, "documentation": null, "input_gets": [ - "Get(ScalaPBRuntimeForResolve, ScalaPBRuntimeForResolveRequest, ..)" + "Get(NodeJS)", + "Get(Process, NodeJSToolProcess, ..)", + "Get(NodeJSProjectResolves)", + "Get(FirstPartyNodePackageResolves)", + "Get(InstalledNodePackage, InstalledNodePackageRequest, ..)", + "Get(Process, NodeJsProjectEnvironmentProcess, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["InferScalaPBRuntimeDependencyRequest", "JvmSubsystem"], - "name": "pants.backend.codegen.protobuf.scala.dependency_inference.infer_scalapb_runtime_dependency", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.codegen.protobuf.scala" - }, - "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve": { - "description": null, - "documentation": null, - "input_gets": [], "input_types": [ - "ScalaPBRuntimeForResolveRequest", - "AllJvmArtifactTargets", - "JvmSubsystem", - "ScalaSubsystem", - "ScalaPBSubsystem" + "NodeJSToolRequest" ], - "name": "pants.backend.codegen.protobuf.scala.dependency_inference.resolve_scalapb_runtime_for_resolve", - "output_type": "ScalaPBRuntimeForResolve", - "provider": "pants.backend.experimental.codegen.protobuf.scala" + "name": "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", + "output_type": "Process", + "provider": "pants.backend.experimental.openapi.lint.spectral" }, - "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf": { - "description": "Generate Scala from Protobuf", + "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source": { + "description": "Compile with kotlinc", "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, ScalapbcToolLockfileSentinel, ..)", - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(MaterializedJvmPlugins, MaterializeJvmPluginsRequest, ..)", + "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(KotlincPluginTargetsForTarget, KotlincPluginsForTargetRequest, ..)", + "Get(KotlincPlugins, KotlincPluginsRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(Snapshot, AddPrefix, ..)", - "Get(Snapshot, Digest, ..)" + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(FallibleProcessResult, JvmProcess, ..)" ], "input_types": [ - "GenerateScalaFromProtobufRequest", - "Protoc", - "ScalaPBSubsystem", - "ScalaPBShimCompiledClassfiles", - "InternalJdk", - "Platform" + "KotlinSubsystem", + "KotlincSubsystem", + "CompileKotlinSourceRequest" ], - "name": "pants.backend.codegen.protobuf.scala.rules.generate_scala_from_protobuf", - "output_type": "GeneratedSources", - "provider": "pants.backend.experimental.codegen.protobuf.scala" + "name": "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request": { + "pants.backend.kotlin.compile.kotlinc_plugins.add_resolve_name_to_plugin_request": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["ScalapbcToolLockfileSentinel", "ScalaPBSubsystem"], - "name": "pants.backend.codegen.protobuf.scala.rules.generate_scalapbc_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.codegen.protobuf.scala" + "input_types": [ + "KotlincPluginsForTargetWithoutResolveRequest", + "JvmSubsystem" + ], + "name": "pants.backend.kotlin.compile.kotlinc_plugins.add_resolve_name_to_plugin_request", + "output_type": "KotlincPluginsForTargetRequest", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin": { + "pants.backend.kotlin.compile.kotlinc_plugins.all_kotlinc_plugin_targets": { "description": null, "documentation": null, - "input_gets": [ - "Get(ArtifactRequirements, GatherJvmCoordinatesRequest, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)" + "input_gets": [], + "input_types": [ + "AllTargets" ], - "input_types": ["MaterializeJvmPluginRequest"], - "name": "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugin", - "output_type": "MaterializedJvmPlugin", - "provider": "pants.backend.experimental.codegen.protobuf.scala" + "name": "pants.backend.kotlin.compile.kotlinc_plugins.all_kotlinc_plugin_targets", + "output_type": "AllKotlincPluginTargets", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins": { + "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins": { "description": null, "documentation": null, "input_gets": [ - "Get(MaterializedJvmPlugin, MaterializeJvmPluginRequest, ..)", - "Get(Digest, AddPrefix, ..)", + "Get(CoarsenedTargets, Addresses, ..)", + "Get(FallibleClasspathEntry, CoursierFetchRequest, ..)", "Get(Digest, MergeDigests, ..)" ], - "input_types": ["MaterializeJvmPluginsRequest"], - "name": "pants.backend.codegen.protobuf.scala.rules.materialize_jvm_plugins", - "output_type": "MaterializedJvmPlugins", - "provider": "pants.backend.experimental.codegen.protobuf.scala" + "input_types": [ + "KotlincPluginsRequest" + ], + "name": "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", + "output_type": "KotlincPlugins", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles": { + "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target": { "description": null, "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, ScalapbcToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(Address, AddressInput, ..)", + "Get(Targets, Addresses, ..)" ], - "input_types": ["ScalaPBSubsystem", "InternalJdk"], - "name": "pants.backend.codegen.protobuf.scala.rules.setup_scalapb_shim_classfiles", - "output_type": "ScalaPBShimCompiledClassfiles", - "provider": "pants.backend.experimental.codegen.protobuf.scala" + "input_types": [ + "KotlincPluginsForTargetRequest", + "AllKotlincPluginTargets", + "JvmSubsystem", + "KotlincSubsystem" + ], + "name": "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", + "output_type": "KotlincPluginTargetsForTarget", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.protobuf.tailor.find_putative_targets": { - "description": "Determine candidate Protobuf targets to create", + "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies": { + "description": null, "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], + "input_gets": [ + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(GenerateJvmLockfileFromTool, KotlinParserToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(FallibleProcessResult, JvmProcess, ..)" + ], "input_types": [ - "PutativeProtobufTargetsRequest", - "AllOwnedSources", - "Protoc" + "KotlinParserCompiledClassfiles", + "SourceFiles" ], - "name": "pants.backend.codegen.protobuf.tailor.find_putative_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.codegen.protobuf.python" + "name": "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", + "output_type": "FallibleKotlinSourceDependencyAnalysisResult", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.protobuf.target_types.find_all_protobuf_targets": { - "description": "Find all Protobuf targets in project", + "pants.backend.kotlin.dependency_inference.kotlin_parser.generate_kotlin_parser_lockfile_request": { + "description": null, "documentation": null, "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.codegen.protobuf.target_types.find_all_protobuf_targets", - "output_type": "AllProtobufTargets", - "provider": "pants.backend.codegen.protobuf.python" + "input_types": [ + "KotlinParserToolLockfileSentinel" + ], + "name": "pants.backend.kotlin.dependency_inference.kotlin_parser.generate_kotlin_parser_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.protobuf.target_types.generator_settings": { + "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["GeneratorSettingsRequest", "Protoc"], - "name": "pants.backend.codegen.protobuf.target_types.generator_settings", - "output_type": "TargetFilesGeneratorSettings", - "provider": "pants.backend.codegen.protobuf.python" + "input_gets": [ + "Get(DigestContents, Digest, ..)" + ], + "input_types": [ + "FallibleKotlinSourceDependencyAnalysisResult", + "KeepSandboxes" + ], + "name": "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis", + "output_type": "KotlinSourceDependencyAnalysis", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules": { - "description": "Creating map of Thrift targets to generated Python modules", + "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles": { + "description": null, "documentation": null, - "input_gets": ["Get(ParsedThrift, ParsedThriftRequest, ..)"], - "input_types": [ - "AllThriftTargets", - "PythonSetup", - "PythonThriftMappingMarker" + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, KotlinParserToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "name": "pants.backend.codegen.thrift.apache.python.python_thrift_module_mapper.map_thrift_to_python_modules", - "output_type": "FirstPartyPythonMappingImpl", - "provider": "pants.backend.codegen.thrift.apache.python" + "input_types": [ + "InternalJdk" + ], + "name": "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", + "output_type": "KotlinParserCompiledClassfiles", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement": { - "description": null, + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis": { + "description": "Inferring Kotlin dependencies by analyzing sources", "documentation": null, "input_gets": [ - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(KotlinSourceDependencyAnalysis, SourceFilesRequest, ..)" ], "input_types": [ - "InferApacheThriftPythonDependencies", - "ThriftPythonSubsystem", - "PythonSetup", - "PythonInferSubsystem" + "InferKotlinSourceDependencies", + "KotlinInferSubsystem", + "JvmSubsystem", + "SymbolMapping" ], - "name": "pants.backend.codegen.thrift.apache.python.rules.find_apache_thrift_python_requirement", + "name": "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", "output_type": "InferredDependencies", - "provider": "pants.backend.codegen.thrift.apache.python" + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift": { - "description": "Generate Python from Thrift", + "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency": { + "description": "Infer dependency on Kotlin runtime artifacts for Kotlin targets.", "documentation": null, "input_gets": [ - "Get(GeneratedThriftSources, GenerateThriftSourcesRequest, ..)", - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(Snapshot, AddPrefix, ..)", - "Get(Snapshot, Digest, ..)" + "Get(KotlinRuntimeForResolve, KotlinRuntimeForResolveRequest, ..)" ], "input_types": [ - "GeneratePythonFromThriftRequest", - "ThriftPythonSubsystem" + "InferKotlinRuntimeDependencyRequest", + "JvmSubsystem" ], - "name": "pants.backend.codegen.thrift.apache.python.rules.generate_python_from_thrift", - "output_type": "GeneratedSources", - "provider": "pants.backend.codegen.thrift.apache.python" + "name": "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources": { + "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve": { "description": null, "documentation": null, - "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(SourceRootsResult, SourceRootsRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Snapshot, RemovePrefix, ..)" + "input_gets": [], + "input_types": [ + "KotlinRuntimeForResolveRequest", + "AllJvmArtifactTargets", + "JvmSubsystem", + "KotlinSubsystem" ], - "input_types": ["GenerateThriftSourcesRequest", "ApacheThriftSetup"], - "name": "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources", - "output_type": "GeneratedThriftSources", - "provider": "pants.backend.codegen.thrift.apache.python" + "name": "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve", + "output_type": "KotlinRuntimeForResolve", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool": { - "description": null, + "pants.backend.kotlin.dependency_inference.symbol_mapper.find_all_kotlin_targets": { + "description": "Find all Kotlin targets in project", + "documentation": null, + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.kotlin.dependency_inference.symbol_mapper.find_all_kotlin_targets", + "output_type": "AllKotlinTargets", + "provider": "pants.backend.experimental.kotlin" + }, + "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols": { + "description": "Map all first party Kotlin targets to their symbols", "documentation": null, "input_gets": [ - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(BinaryPaths, BinaryPathRequest, ..)", - "Get(ProcessResult, Process, ..)" + "Get(KotlinSourceDependencyAnalysis, SourceFilesRequest, ..)" ], "input_types": [ - "ApacheThriftSubsystem", - "EnvironmentAware", - "EnvironmentTarget" + "FirstPartyKotlinTargetsMappingRequest", + "AllKotlinTargets", + "JvmSubsystem" ], - "name": "pants.backend.codegen.thrift.apache.rules.setup_thrift_tool", - "output_type": "ApacheThriftSetup", - "provider": "pants.backend.codegen.thrift.apache.python" + "name": "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", + "output_type": "SymbolMap", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies": { - "description": "Inferring Thrift dependencies by analyzing imports", + "pants.backend.kotlin.goals.check.kotlinc_check": { + "description": "Check compilation for Kotlin", "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(ParsedThrift, ParsedThriftRequest, ..)" + "Get(CoarsenedTargets, Addresses, ..)", + "Get(CoursierResolveKey, CoarsenedTargets, ..)", + "Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)" ], "input_types": [ - "InferThriftDependencies", - "ThriftMapping", - "ThriftSubsystem" + "KotlincCheckRequest", + "ClasspathEntryRequestFactory" ], - "name": "pants.backend.codegen.thrift.dependency_inference.infer_thrift_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.codegen.thrift.apache.python" + "name": "pants.backend.kotlin.goals.check.kotlinc_check", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.thrift.dependency_inference.map_thrift_files": { - "description": "Creating map of Thrift file names to Thrift targets", + "pants.backend.kotlin.goals.debug_goals.dump_kotlin_source_analysis": { + "description": "`kotlin-dump-source-analysis` goal", "documentation": null, - "input_gets": ["Get(StrippedFileName, StrippedFileNameRequest, ..)"], - "input_types": ["AllThriftTargets"], - "name": "pants.backend.codegen.thrift.dependency_inference.map_thrift_files", - "output_type": "ThriftMapping", - "provider": "pants.backend.codegen.thrift.apache.python" + "input_gets": [ + "Get(KotlinSourceDependencyAnalysis, SourceFilesRequest, ..)" + ], + "input_types": [ + "Targets", + "Console" + ], + "name": "pants.backend.kotlin.goals.debug_goals.dump_kotlin_source_analysis", + "output_type": "DumpKotlinSourceAnalysis", + "provider": "pants.backend.experimental.kotlin.debug_goals" }, - "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets": { - "description": "Determine candidate Thrift targets to create", + "pants.backend.kotlin.goals.tailor.find_putative_targets": { + "description": "Determine candidate Kotlin targets to create", "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], "input_types": [ - "PutativeThriftTargetsRequest", + "PutativeKotlinTargetsRequest", "AllOwnedSources", - "ThriftSubsystem" + "KotlinSubsystem" ], - "name": "pants.backend.codegen.thrift.tailor.find_putative_thrift_targets", + "name": "pants.backend.kotlin.goals.tailor.find_putative_targets", "output_type": "PutativeTargets", - "provider": "pants.backend.codegen.thrift.apache.python" - }, - "pants.backend.codegen.thrift.target_types.find_all_thrift_targets": { - "description": "Find all Thrift targets in project", - "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.codegen.thrift.target_types.find_all_thrift_targets", - "output_type": "AllThriftTargets", - "provider": "pants.backend.codegen.thrift.apache.python" + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.codegen.thrift.target_types.generator_settings": { + "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["GeneratorSettingsRequest", "ThriftSubsystem"], - "name": "pants.backend.codegen.thrift.target_types.generator_settings", - "output_type": "TargetFilesGeneratorSettings", - "provider": "pants.backend.codegen.thrift.apache.python" + "input_types": [ + "KtlintToolLockfileSentinel", + "KtlintSubsystem" + ], + "name": "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.kotlin.lint.ktlint" }, - "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file": { - "description": null, + "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt": { + "description": "Format with Ktlint", "documentation": null, "input_gets": [ - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(DigestContents, Digest, ..)" + "Get(GenerateJvmLockfileFromTool, KtlintToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["ParsedThriftRequest"], - "name": "pants.backend.codegen.thrift.thrift_parser.parse_thrift_file", - "output_type": "ParsedThrift", - "provider": "pants.backend.codegen.thrift.apache.python" + "input_types": [ + "Batch", + "KtlintSubsystem", + "InternalJdk" + ], + "name": "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.kotlin.lint.ktlint" }, - "pants.backend.docker.goals.package_image.build_docker_image": { - "description": null, - "documentation": "Build a Docker image using `docker build`.", + "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency": { + "description": "Infer dependency on Kotlin Junit support artifact.", + "documentation": null, "input_gets": [ - "Get(DockerBuildContext, DockerBuildContextRequest, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(DockerImageTags, DockerImageTagsRequest, ..)", - "Get(FallibleProcessResult, Process, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(KotlinJunitLibrariesForResolve, KotlinJunitLibrariesForResolveRequest, ..)" ], "input_types": [ - "DockerPackageFieldSet", - "DockerOptions", - "GlobalOptions", - "DockerBinary", - "KeepSandboxes", - "UnionMembership" + "InferKotlinJunitTestDependencyRequest", + "JvmSubsystem" ], - "name": "pants.backend.docker.goals.package_image.build_docker_image", - "output_type": "BuiltPackage", - "provider": "pants.backend.docker" + "name": "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.docker.goals.publish.push_docker_images": { + "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], + "input_gets": [], "input_types": [ - "PublishDockerImageRequest", - "DockerBinary", - "DockerOptions", - "EnvironmentAware" + "KotlinJunitLibrariesForResolveRequest", + "AllJvmArtifactTargets", + "JvmSubsystem", + "KotlinSubsystem" ], - "name": "pants.backend.docker.goals.publish.push_docker_images", - "output_type": "PublishProcesses", - "provider": "pants.backend.docker" + "name": "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve", + "output_type": "KotlinJunitLibrariesForResolve", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.docker.goals.run_image.docker_image_run_request": { + "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java": { "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(BuiltPackage, PackageFieldSet, ..)" + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, OpenAPIGeneratorProcess, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(PomReport, AnalysePomRequest, ..)" ], "input_types": [ - "DockerRunFieldSet", - "DockerBinary", - "DockerOptions", - "EnvironmentAware" + "CompileOpenApiIntoJavaRequest" ], - "name": "pants.backend.docker.goals.run_image.docker_image_run_request", - "output_type": "RunRequest", - "provider": "pants.backend.docker" + "name": "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java", + "output_type": "CompiledJavaFromOpenApi", + "provider": "pants.backend.experimental.openapi.codegen.java" }, - "pants.backend.docker.goals.tailor.find_putative_targets": { - "description": "Determine candidate Docker targets to create", + "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi": { + "description": null, "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(CompiledJavaFromOpenApi, CompileOpenApiIntoJavaRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(Snapshot, Digest, ..)" + ], "input_types": [ - "PutativeDockerTargetsRequest", - "AllOwnedSources", - "DockerOptions" + "GenerateJavaFromOpenAPIRequest" ], - "name": "pants.backend.docker.goals.tailor.find_putative_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.docker" + "name": "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.openapi.codegen.java" }, - "pants.backend.docker.lint.hadolint.rules.run_hadolint": { - "description": "Lint with Hadolint", + "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies": { + "description": null, "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(DockerfileInfo, DockerfileInfoRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(Digest, CreateDigest, ..)", + "Get(CompiledJavaFromOpenApi, CompileOpenApiIntoJavaRequest, ..)" ], - "input_types": ["Batch", "Hadolint", "Platform"], - "name": "pants.backend.docker.lint.hadolint.rules.run_hadolint", - "output_type": "LintResult", - "provider": "pants.backend.docker.lint.hadolint" + "input_types": [ + "InferOpenApiJavaRuntimeDependencyRequest", + "JvmSubsystem", + "AllJvmArtifactTargets", + "OpenAPIGenerator" + ], + "name": "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.openapi.codegen.java" }, - "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile": { + "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies": { "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(ProcessResult, DockerfileParseRequest, ..)" + "Get(Targets, RawSpecs, ..)" ], - "input_types": ["DockerfileInfoRequest"], - "name": "pants.backend.docker.subsystems.dockerfile_parser.parse_dockerfile", - "output_type": "DockerfileInfo", - "provider": "pants.backend.docker" + "input_types": [ + "InferOpenApiDocumentDependenciesRequest" + ], + "name": "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.openapi" }, - "pants.backend.docker.subsystems.dockerfile_parser.setup_parser": { + "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(VenvPex, PexRequest, ..)" + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(OpenApiDependencies, ParseOpenApiSources, ..)", + "Get(Targets, RawSpecs, ..)" ], - "input_types": ["DockerfileParser"], - "name": "pants.backend.docker.subsystems.dockerfile_parser.setup_parser", - "output_type": "ParserSetup", - "provider": "pants.backend.docker" - }, - "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile": { - "description": null, - "documentation": null, - "input_gets": ["Get(Process, VenvPexProcess, ..)"], - "input_types": ["DockerfileParseRequest", "ParserSetup"], - "name": "pants.backend.docker.subsystems.dockerfile_parser.setup_process_for_parse_dockerfile", - "output_type": "Process", - "provider": "pants.backend.docker" + "input_types": [ + "InferOpenApiSourceDependenciesRequest" + ], + "name": "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.openapi" }, - "pants.backend.docker.target_types.all_docker_targets": { + "pants.backend.openapi.dependency_inference.parse_openapi_sources": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.docker.target_types.all_docker_targets", - "output_type": "AllDockerImageTargets", - "provider": "pants.backend.docker" - }, - "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies": { - "description": null, - "documentation": "Inspects the Dockerfile for references to known packagable targets.", "input_gets": [ - "Get(DockerfileInfo, DockerfileInfoRequest, ..)", - "Get(Targets, Addresses, ..)", - "Get(DockerBuildArgs, DockerBuildArgsRequest, ..)", - "Get(Addresses, UnparsedAddressInputs, ..)" + "Get(DigestContents, Digest, ..)" ], - "input_types": ["InferDockerDependencies", "AllPackageableTargets"], - "name": "pants.backend.docker.util_rules.dependencies.infer_docker_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.docker" + "input_types": [ + "ParseOpenApiSources" + ], + "name": "pants.backend.openapi.dependency_inference.parse_openapi_sources", + "output_type": "OpenApiDependencies", + "provider": "pants.backend.experimental.openapi" }, - "pants.backend.docker.util_rules.docker_binary.get_docker": { - "description": "Finding the `docker` binary and related tooling", + "pants.backend.openapi.goals.tailor.find_putative_targets": { + "description": "Determine candidate OpenAPI targets to create", "documentation": null, "input_gets": [ - "Get(BinaryPaths, BinaryPathRequest, ..)", - "Get(BinaryShims, BinaryShimsRequest, ..)" + "Get(Paths, PathGlobs, ..)", + "Get(Digest, PathGlobs, ..)", + "Get(OpenApiDependencies, ParseOpenApiSources, ..)" ], - "input_types": ["DockerOptions", "EnvironmentAware"], - "name": "pants.backend.docker.util_rules.docker_binary.get_docker", - "output_type": "DockerBinary", - "provider": "pants.backend.docker" + "input_types": [ + "PutativeOpenApiTargetsRequest", + "AllOwnedSources", + "OpenApiSubsystem" + ], + "name": "pants.backend.openapi.goals.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.openapi" }, - "pants.backend.docker.util_rules.docker_build_args.docker_build_args": { - "description": null, + "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format": { + "description": "Format with openapi-format", "documentation": null, - "input_gets": [], - "input_types": ["DockerBuildArgsRequest", "DockerOptions"], - "name": "pants.backend.docker.util_rules.docker_build_args.docker_build_args", - "output_type": "DockerBuildArgs", - "provider": "pants.backend.docker" + "input_gets": [ + "Get(ProcessResult, NodeJSToolRequest, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "OpenApiFormatSubsystem" + ], + "name": "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", + "output_type": "FixResult", + "provider": "pants.backend.experimental.openapi.lint.openapi_format" }, - "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context": { - "description": null, + "pants.backend.openapi.lint.spectral.rules.run_spectral": { + "description": "Lint with Spectral", "documentation": null, "input_gets": [ "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(Targets, DependenciesRequest, ..)", "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", - "Get(DockerfileInfo, DockerfileInfoRequest, ..)", - "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", - "Get(Snapshot, MergeDigests, ..)", - "Get(DockerBuildArgs, DockerBuildArgsRequest, ..)", - "Get(DockerBuildEnvironment, DockerBuildEnvironmentRequest, ..)", - "Get(Addresses, UnparsedAddressInputs, ..)" + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, NodeJSToolRequest, ..)" ], - "input_types": ["DockerBuildContextRequest"], - "name": "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", - "output_type": "DockerBuildContext", - "provider": "pants.backend.docker" + "input_types": [ + "Batch", + "SpectralSubsystem" + ], + "name": "pants.backend.openapi.lint.spectral.rules.run_spectral", + "output_type": "LintResult", + "provider": "pants.backend.experimental.openapi.lint.spectral" }, - "pants.backend.docker.util_rules.docker_build_context.hydrate_input_sources": { + "pants.backend.openapi.subsystems.openapi_generator.generate_openapi_generator_lockfile_request": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["GenerateDockerContextFiles"], - "name": "pants.backend.docker.util_rules.docker_build_context.hydrate_input_sources", - "output_type": "GeneratedSources", - "provider": "pants.backend.docker" + "input_types": [ + "OpenAPIGeneratorLockfileSentinel", + "OpenAPIGenerator" + ], + "name": "pants.backend.openapi.subsystems.openapi_generator.generate_openapi_generator_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.openapi.codegen.java" }, - "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars": { + "pants.backend.openapi.util_rules.generator_process.openapi_generator_process": { "description": null, "documentation": null, "input_gets": [ - "Get(DockerBuildArgs, DockerBuildArgsRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + "Get(GenerateJvmLockfileFromTool, OpenAPIGeneratorLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Process, JvmProcess, ..)" ], "input_types": [ - "DockerBuildEnvironmentRequest", - "DockerOptions", - "EnvironmentAware" + "OpenAPIGeneratorProcess", + "InternalJdk", + "OpenAPIGenerator" ], - "name": "pants.backend.docker.util_rules.docker_build_env.docker_build_environment_vars", - "output_type": "DockerBuildEnvironment", - "provider": "pants.backend.docker" - }, - "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile": { - "description": null, - "documentation": null, - "input_gets": ["Get(Snapshot, CreateDigest, ..)"], - "input_types": ["GenerateDockerfileRequest"], - "name": "pants.backend.docker.util_rules.dockerfile.hydrate_dockerfile", - "output_type": "GeneratedSources", - "provider": "pants.backend.docker" + "name": "pants.backend.openapi.util_rules.generator_process.openapi_generator_process", + "output_type": "Process", + "provider": "pants.backend.experimental.openapi.codegen.java" }, - "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib": { - "description": null, + "pants.backend.openapi.util_rules.pom_parser.analyse_pom": { + "description": "Analysing Maven POM file", "documentation": null, "input_gets": [ - "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)", - "Get(BuildGoPackageRequest, NaiveBuildGoPackageRequestForStdlibPackageRequest, ..)" + "Get(DigestContents, Digest, ..)" ], "input_types": [ - "NaiveBuildGoPackageRequestForStdlibPackageRequest", - "GoRoot" + "AnalysePomRequest" ], - "name": "pants.backend.go.go_sources.load_go_binary.naive_build_go_package_request_for_stdlib", - "output_type": "BuildGoPackageRequest", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.openapi.util_rules.pom_parser.analyse_pom", + "output_type": "PomReport", + "provider": "pants.backend.experimental.openapi.codegen.java" }, - "pants.backend.go.go_sources.load_go_binary.setup_go_binary": { + "pants.backend.plugin_development.pants_requirements.generate_from_pants_requirements": { "description": null, "documentation": null, - "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(BuildGoPackageRequest, NaiveBuildGoPackageRequestForStdlibPackageRequest, ..)", - "Get(BuiltGoPackage, BuildGoPackageRequest, ..)", - "Get(LinkedGoBinary, LinkGoBinaryRequest, ..)" + "input_gets": [], + "input_types": [ + "GenerateFromPantsRequirementsRequest", + "UnionMembership" ], - "input_types": ["LoadedGoBinaryRequest", "GoRoot"], - "name": "pants.backend.go.go_sources.load_go_binary.setup_go_binary", - "output_type": "LoadedGoBinary", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.plugin_development.pants_requirements.generate_from_pants_requirements", + "output_type": "GeneratedTargets", + "provider": "pants.backend.plugin_development" }, - "pants.backend.go.goals.check.check_go": { - "description": "Check Go compilation", + "pants.backend.project_info.count_loc.count_loc": { + "description": "`count-loc` goal", "documentation": null, "input_gets": [ - "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", - "Get(FallibleBuildGoPackageRequest, BuildGoPackageTargetRequest, ..)", - "Get(FallibleBuiltGoPackage, BuildGoPackageRequest, ..)" + "Get(Digest, PathGlobs, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)" ], - "input_types": ["GoCheckRequest"], - "name": "pants.backend.go.goals.check.check_go", - "output_type": "CheckResults", - "provider": "pants.backend.experimental.go" + "input_types": [ + "Console", + "SuccinctCodeCounter", + "SpecsPaths", + "Platform" + ], + "name": "pants.backend.project_info.count_loc.count_loc", + "output_type": "CountLinesOfCode", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.generate.go_generate": { - "description": "`go-generate` goal", + "pants.backend.project_info.dependencies.dependencies": { + "description": "`dependencies` goal", "documentation": null, "input_gets": [ - "Get(RunPackageGeneratorsResult, RunPackageGeneratorsRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(UnexpandedTargets, Addresses, ..)", + "Get(Targets, DependenciesRequest, ..)" ], - "input_types": ["Targets", "Workspace"], - "name": "pants.backend.go.goals.generate.go_generate", - "output_type": "GoGenerateGoal", - "provider": "pants.backend.experimental.go" + "input_types": [ + "Console", + "Addresses", + "DependenciesSubsystem" + ], + "name": "pants.backend.project_info.dependencies.dependencies", + "output_type": "Dependencies", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.generate.merge_digests_with_overwrite": { - "description": null, + "pants.backend.project_info.dependents.dependents_goal": { + "description": "`dependents` goal", "documentation": null, "input_gets": [ - "Get(Snapshot, Digest, ..)", - "Get(DigestEntries, Digest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(Dependents, DependentsRequest, ..)" ], - "input_types": ["OverwriteMergeDigests"], - "name": "pants.backend.go.goals.generate.merge_digests_with_overwrite", - "output_type": "Digest", - "provider": "pants.backend.experimental.go" + "input_types": [ + "Addresses", + "DependentsSubsystem", + "Console" + ], + "name": "pants.backend.project_info.dependents.dependents_goal", + "output_type": "DependentsGoal", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.generate.run_go_package_generators": { + "pants.backend.project_info.dependents.find_dependents": { "description": null, "documentation": null, + "input_gets": [], + "input_types": [ + "DependentsRequest", + "AddressToDependents" + ], + "name": "pants.backend.project_info.dependents.find_dependents", + "output_type": "Dependents", + "provider": "pants.backend.project_info" + }, + "pants.backend.project_info.dependents.map_addresses_to_dependents": { + "description": "Map all targets to their dependents", + "documentation": null, "input_gets": [ - "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", - "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(FallibleFirstPartyPkgDigest, FirstPartyPkgDigestRequest, ..)", - "Get(DigestContents, Digest, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(Digest, OverwriteMergeDigests, ..)" + "Get(Addresses, DependenciesRequest, ..)" ], "input_types": [ - "RunPackageGeneratorsRequest", - "GoRoot", - "EnvironmentAware" + "AllUnexpandedTargets" ], - "name": "pants.backend.go.goals.generate.run_go_package_generators", - "output_type": "RunPackageGeneratorsResult", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.project_info.dependents.map_addresses_to_dependents", + "output_type": "AddressToDependents", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.package_binary.package_go_binary": { - "description": "Package Go binary", + "pants.backend.project_info.filedeps.file_deps": { + "description": "`filedeps` goal", "documentation": null, "input_gets": [ - "Get(GoBinaryMainPackage, GoBinaryMainPackageRequest, ..)", - "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", - "Get(GoModInfo, GoModInfoRequest, ..)", - "Get(ThirdPartyPkgAnalysis, ThirdPartyPkgAnalysisRequest, ..)", - "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", - "Get(BuiltGoPackage, BuildGoPackageTargetRequest, ..)", - "Get(LinkedGoBinary, LinkGoBinaryRequest, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(UnexpandedTargets, Addresses, ..)", + "Get(BuildFileAddress, BuildFileAddressRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)" ], - "input_types": ["GoBinaryFieldSet"], - "name": "pants.backend.go.goals.package_binary.package_go_binary", - "output_type": "BuiltPackage", - "provider": "pants.backend.experimental.go" + "input_types": [ + "Console", + "FiledepsSubsystem", + "BuildRoot", + "Addresses" + ], + "name": "pants.backend.project_info.filedeps.file_deps", + "output_type": "Filedeps", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.run_binary.create_go_binary_run_request": { - "description": null, + "pants.backend.project_info.filter_targets.filter_targets": { + "description": "`filter` goal", "documentation": null, - "input_gets": ["Get(BuiltPackage, PackageFieldSet, ..)"], - "input_types": ["GoBinaryFieldSet"], - "name": "pants.backend.go.goals.run_binary.create_go_binary_run_request", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.go" + "input_gets": [], + "input_types": [ + "Addresses", + "FilterSubsystem", + "Console" + ], + "name": "pants.backend.project_info.filter_targets.filter_targets", + "output_type": "FilterGoal", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.tailor.find_putative_go_package_target": { - "description": null, + "pants.backend.project_info.list_roots.list_roots": { + "description": "`roots` goal", "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], - "input_types": ["FindPutativeGoPackageTargetRequest", "AllOwnedSources"], - "name": "pants.backend.go.goals.tailor.find_putative_go_package_target", - "output_type": "FindPutativeGoPackageTargetResult", - "provider": "pants.backend.experimental.go" + "input_gets": [], + "input_types": [ + "Console", + "RootsSubsystem", + "AllSourceRoots" + ], + "name": "pants.backend.project_info.list_roots.list_roots", + "output_type": "Roots", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.tailor.find_putative_go_targets": { - "description": "Determine candidate Go targets to create", + "pants.backend.project_info.list_targets.list_targets": { + "description": "`list` goal", "documentation": null, "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(FindPutativeGoPackageTargetResult, FindPutativeGoPackageTargetRequest, ..)", - "Get(DigestContents, PathGlobs, ..)", - "Get(UnexpandedTargets, RawSpecs, ..)", - "Get(GoBinaryMainPackage, GoBinaryMainPackageRequest, ..)" + "Get(UnexpandedTargets, Addresses, ..)" ], "input_types": [ - "PutativeGoTargetsRequest", - "AllOwnedSources", - "GolangSubsystem" + "Addresses", + "ListSubsystem", + "Console" ], - "name": "pants.backend.go.goals.tailor.find_putative_go_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.project_info.list_targets.list_targets", + "output_type": "List", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.test.prepare_go_test_binary": { - "description": "Prepare Go test binary", + "pants.backend.project_info.paths.get_paths_between_root_and_destination": { + "description": "Get paths between root and destination.", "documentation": null, "input_gets": [ - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", - "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", - "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", - "Get(FallibleFirstPartyPkgDigest, FirstPartyPkgDigestRequest, ..)", - "Get(Targets, DependenciesRequest, ..)", - "Get(GeneratedTestMain, GenerateTestMainRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)", - "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)", - "Get(FallibleBuildGoPackageRequest, BuildGoPackageRequestForStdlibRequest, ..)", - "Get(FallibleBuildGoPackageRequest, BuildGoPackageTargetRequest, ..)", - "Get(BuiltGoPackage, BuildGoPackageRequest, ..)", - "Get(GenerateCoverageSetupCodeResult, GenerateCoverageSetupCodeRequest, ..)", - "Get(FallibleBuiltGoPackage, BuildGoPackageRequest, ..)", - "Get(LinkedGoBinary, LinkGoBinaryRequest, ..)" + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Targets, DependenciesRequest, ..)" ], - "input_types": ["PrepareGoTestBinaryRequest", "PackageAnalyzerSetup"], - "name": "pants.backend.go.goals.test.prepare_go_test_binary", - "output_type": "FalliblePrepareGoTestBinaryResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "RootDestinationPair" + ], + "name": "pants.backend.project_info.paths.get_paths_between_root_and_destination", + "output_type": "SpecsPaths", + "provider": "pants.backend.project_info" }, - "pants.backend.go.goals.test.run_go_tests": { - "description": "Test with Go", + "pants.backend.project_info.paths.get_paths_between_root_and_destinations": { + "description": null, "documentation": null, "input_gets": [ - "Get(FalliblePrepareGoTestBinaryResult, PrepareGoTestBinaryRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(Targets, DependenciesRequest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)", - "Get(Snapshot, Digest, ..)" + "Get(SpecsPaths, RootDestinationPair, ..)" ], "input_types": [ - "Batch", - "TestSubsystem", - "GoTestSubsystem", - "TestExtraEnv", - "GoRoot" + "RootDestinationsPair" ], - "name": "pants.backend.go.goals.test.run_go_tests", - "output_type": "TestResult", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.project_info.paths.get_paths_between_root_and_destinations", + "output_type": "SpecsPathsCollection", + "provider": "pants.backend.project_info" }, - "pants.backend.go.lint.gofmt.rules.gofmt_fmt": { - "description": "Format with gofmt", + "pants.backend.project_info.paths.paths": { + "description": "`paths` goal", "documentation": null, "input_gets": [ - "Get(ProcessResult, Process, ..)", - "Get(Snapshot, Digest, ..)" + "Get(Targets, Specs, ..)", + "Get(SpecsPathsCollection, RootDestinationsPair, ..)" ], - "input_types": ["Batch", "GofmtSubsystem", "GoRoot"], - "name": "pants.backend.go.lint.gofmt.rules.gofmt_fmt", - "output_type": "FixResult", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.target_type_rules.generate_targets_from_go_mod": { - "description": "Generate `go_third_party_package` targets from `go_mod` target", - "documentation": null, - "input_gets": [ - "Get(GoModInfo, GoModInfoRequest, ..)", - "Get(Snapshot, Digest, ..)", - "Get(AllThirdPartyPackages, AllThirdPartyPackagesRequest, ..)" + "input_types": [ + "Console", + "PathsSubsystem" ], - "input_types": ["GenerateTargetsFromGoModRequest", "UnionMembership"], - "name": "pants.backend.go.target_type_rules.generate_targets_from_go_mod", - "output_type": "GeneratedTargets", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.project_info.paths.paths", + "output_type": "PathsGoal", + "provider": "pants.backend.project_info" }, - "pants.backend.go.target_type_rules.go_map_import_paths_by_module": { - "description": "Analyze and map Go import paths for all modules.", + "pants.backend.project_info.peek.get_target_data": { + "description": null, "documentation": null, "input_gets": [ - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(FirstPartyPkgImportPath, FirstPartyPkgImportPathRequest, ..)" + "Get(Targets, DependenciesRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(OptionalAddressFamily, AddressFamilyDir, ..)", + "Get(DependenciesRuleApplication, DependenciesRuleApplicationRequest, ..)" ], "input_types": [ - "FirstPartyGoModuleImportPathsMappingsHook", - "AllTargets" + "UnexpandedTargets", + "PeekSubsystem" ], - "name": "pants.backend.go.target_type_rules.go_map_import_paths_by_module", - "output_type": "GoModuleImportPathsMappings", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.project_info.peek.get_target_data", + "output_type": "TargetDatas", + "provider": "pants.backend.project_info" }, - "pants.backend.go.target_type_rules.go_merge_import_paths_analysis": { - "description": "Analyze Go import paths for all modules.", + "pants.backend.project_info.peek.peek": { + "description": "`peek` goal", "documentation": null, "input_gets": [ - "Get(GoModuleImportPathsMappings, GoModuleImportPathsMappingsHook, ..)" + "Get(TargetDatas, UnexpandedTargets, ..)" ], - "input_types": ["UnionMembership"], - "name": "pants.backend.go.target_type_rules.go_merge_import_paths_analysis", - "output_type": "AllGoModuleImportPathsMappings", - "provider": "pants.backend.experimental.go" + "input_types": [ + "Console", + "PeekSubsystem", + "UnexpandedTargets" + ], + "name": "pants.backend.project_info.peek.peek", + "output_type": "Peek", + "provider": "pants.backend.project_info" }, - "pants.backend.go.target_type_rules.infer_go_dependencies": { - "description": "Infer dependencies for first-party Go packages", + "pants.backend.project_info.regex_lint.lint_with_regex_patterns": { + "description": "Lint with regex patterns", "documentation": null, "input_gets": [ - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", - "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", - "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", - "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)" + "Get(DigestContents, PathGlobs, ..)" ], - "input_types": ["InferGoPackageDependenciesRequest"], - "name": "pants.backend.go.target_type_rules.infer_go_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.go" + "input_types": [ + "Batch", + "RegexLintSubsystem" + ], + "name": "pants.backend.project_info.regex_lint.lint_with_regex_patterns", + "output_type": "LintResult", + "provider": "pants.backend.project_info" }, - "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies": { - "description": "Infer dependencies for third-party Go packages", + "pants.backend.project_info.regex_lint.partition_inputs": { + "description": null, "documentation": null, - "input_gets": [ - "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", - "Get(GoModInfo, GoModInfoRequest, ..)", - "Get(GoBuildOptions, GoBuildOptionsFromTargetRequest, ..)", - "Get(ThirdPartyPkgAnalysis, ThirdPartyPkgAnalysisRequest, ..)", - "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "RegexLintSubsystem" ], - "input_types": ["InferGoThirdPartyPackageDependenciesRequest"], - "name": "pants.backend.go.target_type_rules.infer_go_third_party_package_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.project_info.regex_lint.partition_inputs", + "output_type": "Partitions", + "provider": "pants.backend.project_info" }, - "pants.backend.go.target_type_rules.map_import_paths_to_packages": { - "description": "Map Go targets owned by module to import paths", + "pants.backend.python.dependency_inference.module_mapper.find_all_python_projects": { + "description": "Find all Python targets in project", "documentation": null, "input_gets": [], "input_types": [ - "GoImportPathMappingRequest", - "AllGoModuleImportPathsMappings" + "AllTargets" ], - "name": "pants.backend.go.target_type_rules.map_import_paths_to_packages", - "output_type": "GoModuleImportPathsMapping", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.dependency_inference.module_mapper.find_all_python_projects", + "output_type": "AllPythonTargets", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.assembly.assemble_go_assembly_files": { - "description": null, + "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules": { + "description": "Creating map of first party Python targets to Python modules", "documentation": null, "input_gets": [ - "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", - "Get(FallibleProcessResult, GoSdkProcess, ..)" + "Get(StrippedFileName, StrippedFileNameRequest, ..)" ], - "input_types": ["AssembleGoAssemblyFilesRequest", "GoRoot"], - "name": "pants.backend.go.util_rules.assembly.assemble_go_assembly_files", - "output_type": "FallibleAssembleGoAssemblyFilesResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "FirstPartyPythonTargetsMappingMarker", + "AllPythonTargets", + "PythonSetup" + ], + "name": "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", + "output_type": "FirstPartyPythonMappingImpl", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile": { + "pants.backend.python.dependency_inference.module_mapper.map_module_to_address": { "description": null, "documentation": null, - "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, GoSdkProcess, ..)" + "input_gets": [], + "input_types": [ + "PythonModuleOwnersRequest", + "FirstPartyPythonModuleMapping", + "ThirdPartyPythonModuleMapping" ], - "input_types": ["GenerateAssemblySymabisRequest", "GoRoot"], - "name": "pants.backend.go.util_rules.assembly.generate_go_assembly_symabisfile", - "output_type": "FallibleGenerateAssemblySymabisResult", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.dependency_inference.module_mapper.map_module_to_address", + "output_type": "PythonModuleOwners", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary": { - "description": "Determine first-party package used by `go_binary` target", + "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses": { + "description": "Creating map of third party targets to Python modules", "documentation": null, - "input_gets": [ - "Get(Address, AddressInput, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(Targets, RawSpecs, ..)" + "input_gets": [], + "input_types": [ + "AllPythonTargets", + "PythonSetup" ], - "input_types": ["GoBinaryMainPackageRequest"], - "name": "pants.backend.go.util_rules.binary.determine_main_pkg_for_go_binary", - "output_type": "GoBinaryMainPackage", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses", + "output_type": "ThirdPartyPythonModuleMapping", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency": { + "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings": { "description": null, "documentation": null, "input_gets": [ - "Get(GoBinaryMainPackage, GoBinaryMainPackageRequest, ..)" + "Get(FirstPartyPythonMappingImpl, FirstPartyPythonMappingImplMarker, ..)" ], - "input_types": ["InferGoBinaryMainDependencyRequest"], - "name": "pants.backend.go.util_rules.binary.infer_go_binary_main_dependency", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.go" + "input_types": [ + "UnionMembership" + ], + "name": "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings", + "output_type": "FirstPartyPythonModuleMapping", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target": { + "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies": { "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(OwningGoMod, OwningGoModRequest, ..)" + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(NativeParsedPythonDependencies, NativeDependenciesRequest, ..)" ], "input_types": [ - "GoBuildOptionsFromTargetRequest", - "GoRoot", - "GolangSubsystem", - "GoTestSubsystem" + "ParsePythonDependenciesRequest", + "PythonInferSubsystem" ], - "name": "pants.backend.go.util_rules.build_opts.go_extract_build_options_from_target", - "output_type": "GoBuildOptions", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies", + "output_type": "ParsedPythonDependencies", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.build_pkg.build_go_package": { - "description": "Compile with Go", + "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import": { + "description": null, "documentation": null, "input_gets": [ - "Get(FallibleBuiltGoPackage, BuildGoPackageRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ImportConfig, ImportConfigRequest, ..)", - "Get(RenderedEmbedConfig, RenderEmbedConfigRequest, ..)", - "Get(GoCompileActionIdResult, GoCompileActionIdRequest, ..)", - "Get(ApplyCodeCoverageResult, ApplyCodeCoverageRequest, ..)", - "Get(CheckForGolangAssemblyResult, CheckForGolangAssemblyRequest, ..)", - "Get(CGoCompileResult, CGoCompileRequest, ..)", - "Get(DigestEntries, Digest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(FallibleGenerateAssemblySymabisResult, GenerateAssemblySymabisRequest, ..)", - "Get(FallibleProcessResult, GoSdkProcess, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(FallibleAssembleGoAssemblyFilesResult, AssembleGoAssemblyFilesRequest, ..)", - "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", - "Get(ProcessResult, GoSdkProcess, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)", + "Get(Targets, Addresses, ..)" ], - "input_types": ["BuildGoPackageRequest", "GoRoot"], - "name": "pants.backend.go.util_rules.build_pkg.build_go_package", - "output_type": "FallibleBuiltGoPackage", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly": { - "description": null, - "documentation": "Return true if any of the given `s_files` look like it could be a Golang-format assembly\nlanguage file.\n\nThis is used by the cgo rules as a heuristic to determine if the user is passing Golang assembly\nformat instead of gcc assembly format.", - "input_gets": [ - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)" + "input_types": [ + "UnownedImportPossibleOwnerRequest", + "PythonSetup" ], - "input_types": ["CheckForGolangAssemblyRequest", "SetupAsmCheckBinary"], - "name": "pants.backend.go.util_rules.build_pkg.check_for_golang_assembly", - "output_type": "CheckForGolangAssemblyResult", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.build_pkg.compute_compile_action_id": { - "description": null, - "documentation": null, - "input_gets": ["Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)"], - "input_types": ["GoCompileActionIdRequest", "GoRoot"], - "name": "pants.backend.go.util_rules.build_pkg.compute_compile_action_id", - "output_type": "GoCompileActionIdResult", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.build_pkg.render_embed_config": { - "description": null, - "documentation": null, - "input_gets": ["Get(Digest, CreateDigest, ..)"], - "input_types": ["RenderEmbedConfigRequest"], - "name": "pants.backend.go.util_rules.build_pkg.render_embed_config", - "output_type": "RenderedEmbedConfig", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.build_pkg.required_built_go_package": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["FallibleBuiltGoPackage"], - "name": "pants.backend.go.util_rules.build_pkg.required_built_go_package", - "output_type": "BuiltGoPackage", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", + "output_type": "UnownedImportPossibleOwners", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary": { - "description": null, + "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies": { + "description": "Inferring dependencies on `conftest.py` files", "documentation": null, "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(ProcessResult, GoSdkProcess, ..)" + "Get(AncestorFiles, AncestorFilesRequest, ..)", + "Get(Owners, OwnersRequest, ..)", + "Get(Targets, Addresses, ..)" ], - "input_types": [], - "name": "pants.backend.go.util_rules.build_pkg.setup_golang_asm_check_binary", - "output_type": "SetupAsmCheckBinary", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.build_pkg_target.required_build_go_package_request": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["FallibleBuildGoPackageRequest"], - "name": "pants.backend.go.util_rules.build_pkg_target.required_build_go_package_request", - "output_type": "BuildGoPackageRequest", - "provider": "pants.backend.experimental.go" + "input_types": [ + "InferConftestDependencies", + "PythonInferSubsystem", + "PythonSetup" + ], + "name": "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config": { - "description": null, + "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source": { + "description": "Inferring Python dependencies by analyzing source", "documentation": null, "input_gets": [ - "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(ParsedPythonDependencies, ParsePythonDependenciesRequest, ..)", + "Get(ResolvedParsedPythonDependencies, ResolvedParsedPythonDependenciesRequest, ..)", + "Get(UnownedImportPossibleOwners, UnownedImportPossibleOwnerRequest, ..)" ], - "input_types": ["_ResolveStdlibEmbedConfigRequest"], - "name": "pants.backend.go.util_rules.build_pkg_target.resolve_go_stdlib_embed_config", - "output_type": "_ResolveStdlibEmbedConfigResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "InferPythonImportDependencies", + "PythonInferSubsystem", + "PythonSetup" + ], + "name": "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", + "output_type": "InferredDependencies", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request": { - "description": "Set up Go compilation request", + "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies": { + "description": "Inferring dependencies on `__init__.py` files", "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(FallibleBuildGoPackageRequest, GoCodegenBuildRequest, ..)", - "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", - "Get(FallibleFirstPartyPkgDigest, FirstPartyPkgDigestRequest, ..)", - "Get(GoModInfo, GoModInfoRequest, ..)", - "Get(ThirdPartyPkgAnalysis, ThirdPartyPkgAnalysisRequest, ..)", - "Get(Targets, DependenciesRequest, ..)", - "Get(FirstPartyPkgImportPath, FirstPartyPkgImportPathRequest, ..)", - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(GoModuleImportPathsMapping, GoImportPathMappingRequest, ..)", - "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)", - "Get(FallibleBuildGoPackageRequest, BuildGoPackageRequestForStdlibRequest, ..)", - "Get(FallibleBuildGoPackageRequest, BuildGoPackageTargetRequest, ..)" + "Get(AncestorFiles, AncestorFilesRequest, ..)", + "Get(Owners, OwnersRequest, ..)", + "Get(Targets, Addresses, ..)" ], "input_types": [ - "BuildGoPackageTargetRequest", - "UnionMembership", - "GoRoot" + "InferInitDependencies", + "PythonInferSubsystem", + "PythonSetup" ], - "name": "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request", - "output_type": "FallibleBuildGoPackageRequest", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.python" + }, + "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies": { + "description": null, + "documentation": "Find the owning targets for the parsed dependencies.", + "input_gets": [ + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)", + "Get(AllAssetTargetsByPath)" + ], + "input_types": [ + "ResolvedParsedPythonDependenciesRequest", + "PythonInferSubsystem" + ], + "name": "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", + "output_type": "ResolvedParsedPythonDependencies", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib": { + "pants.backend.python.framework.django.dependency_inference.django_parser_script": { "description": null, "documentation": null, "input_gets": [ - "Get(GoStdLibPackages, GoStdLibPackagesRequest, ..)", - "Get(FallibleBuildGoPackageRequest, BuildGoPackageRequestForStdlibRequest, ..)", - "Get(_ResolveStdlibEmbedConfigResult, _ResolveStdlibEmbedConfigRequest, ..)" + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(ResolvedParsedPythonDependencies, ResolvedParsedPythonDependenciesRequest, ..)" ], - "input_types": ["BuildGoPackageRequestForStdlibRequest", "GoRoot"], - "name": "pants.backend.go.util_rules.build_pkg_target.setup_build_go_package_target_request_for_stdlib", - "output_type": "FallibleBuildGoPackageRequest", - "provider": "pants.backend.experimental.go" + "input_types": [ + "InferDjangoDependencies", + "PythonSetup", + "DjangoApps" + ], + "name": "pants.backend.python.framework.django.dependency_inference.django_parser_script", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.python.framework.django" }, - "pants.backend.go.util_rules.cgo.cgo_compile_request": { + "pants.backend.python.framework.django.detect_apps.detect_django_apps": { "description": null, "documentation": null, "input_gets": [ + "Get(Targets, RawSpecs, ..)", "Get(Digest, CreateDigest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(CGoPkgConfigFlagsResult, CGoPkgConfigFlagsRequest, ..)", - "Get(ProcessResult, GoSdkProcess, ..)", - "Get(BinaryPath, CGoBinaryPathRequest, ..)", - "Get(BashBinary)", - "Get(CGoCompilerWrapperScript)", - "Get(SetupCompilerCmdResult, SetupCompilerCmdRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(ProcessResult, Process, ..)", - "Get(FallibleProcessResult, Process, ..)", - "Get(DigestContents, DigestSubset, ..)" + "Get(Digest, AddPrefix, ..)", + "Get(PythonExecutable, InterpreterConstraints, ..)", + "Get(ProcessResult, Process, ..)" ], - "input_types": ["CGoCompileRequest", "GoRoot", "EnvironmentAware"], - "name": "pants.backend.go.util_rules.cgo.cgo_compile_request", - "output_type": "CGoCompileResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "PythonSetup" + ], + "name": "pants.backend.python.framework.django.detect_apps.detect_django_apps", + "output_type": "DjangoApps", + "provider": "pants.backend.experimental.python.framework.django" }, - "pants.backend.go.util_rules.cgo.check_compiler_supports_flag": { - "description": null, + "pants.backend.python.framework.stevedore.python_target_dependencies.find_all_python_distributions_with_any_stevedore_entry_points": { + "description": "Find all `python_distribution` targets with `stevedore_namespace` entry_points", "documentation": null, - "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(FallibleProcessResult, Process, ..)" + "input_gets": [], + "input_types": [ + "AllTargets" ], - "input_types": ["CheckCompilerSupportsFlagRequest", "GoRoot"], - "name": "pants.backend.go.util_rules.cgo.check_compiler_supports_flag", - "output_type": "CheckCompilerSupportsOptionResult", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.framework.stevedore.python_target_dependencies.find_all_python_distributions_with_any_stevedore_entry_points", + "output_type": "AllStevedoreExtensionTargets", + "provider": "pants.backend.experimental.python.framework.stevedore" }, - "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script": { - "description": null, + "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces": { + "description": "Find `python_distribution` targets with entry_points in selected `stevedore_namespace`s", "documentation": null, - "input_gets": ["Get(Digest, CreateDigest, ..)"], - "input_types": [], - "name": "pants.backend.go.util_rules.cgo.make_cgo_compile_wrapper_script", - "output_type": "CGoCompilerWrapperScript", - "provider": "pants.backend.experimental.go" + "input_gets": [], + "input_types": [ + "StevedoreNamespacesProviderTargetsRequest", + "StevedoreExtensions" + ], + "name": "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces", + "output_type": "StevedoreExtensionTargets", + "provider": "pants.backend.experimental.python.framework.stevedore" }, - "pants.backend.go.util_rules.cgo.setup_compiler_cmd": { - "description": null, + "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies": { + "description": "Infer dependencies based on `stevedore_namespaces` field.", "documentation": null, "input_gets": [ - "Get(CheckCompilerSupportsOptionResult, CheckCompilerSupportsFlagRequest, ..)" + "Get(StevedoreExtensionTargets, StevedoreNamespacesProviderTargetsRequest, ..)", + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(ResolvedPythonDistributionEntryPoints, ResolvePythonDistributionEntryPointsRequest, ..)", + "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" ], - "input_types": ["SetupCompilerCmdRequest", "GoRoot"], - "name": "pants.backend.go.util_rules.cgo.setup_compiler_cmd", - "output_type": "SetupCompilerCmdResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "InferStevedoreNamespacesDependencies" + ], + "name": "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.python.framework.stevedore" }, - "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path": { - "description": null, + "pants.backend.python.framework.stevedore.python_target_dependencies.map_stevedore_extensions": { + "description": "Create map of `stevedore_namespace` to `python_distribution` targets", "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["CGoBinaryPathRequest", "EnvironmentAware"], - "name": "pants.backend.go.util_rules.cgo_binaries.find_cgo_binary_path", - "output_type": "BinaryPath", - "provider": "pants.backend.experimental.go" + "input_gets": [], + "input_types": [ + "AllStevedoreExtensionTargets" + ], + "name": "pants.backend.python.framework.stevedore.python_target_dependencies.map_stevedore_extensions", + "output_type": "StevedoreExtensions", + "provider": "pants.backend.experimental.python.framework.stevedore" }, - "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args": { - "description": null, + "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension": { + "description": "Generate entry_points.txt to imitate `python_distribution` installation.", "documentation": null, "input_gets": [ - "Get(BinaryPath, CGoBinaryPathRequest, ..)", - "Get(ProcessResult, Process, ..)" + "Get(StevedoreExtensionTargets, StevedoreNamespacesProviderTargetsRequest, ..)", + "Get(ResolvedPythonDistributionEntryPoints, ResolvePythonDistributionEntryPointsRequest, ..)", + "Get(Paths, PathGlobs, ..)", + "Get(Digest, CreateDigest, ..)" ], - "input_types": ["CGoPkgConfigFlagsRequest"], - "name": "pants.backend.go.util_rules.cgo_pkgconfig.resolve_cgo_pkg_config_args", - "output_type": "CGoPkgConfigFlagsResult", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code": { - "description": null, - "documentation": null, - "input_gets": ["Get(Digest, CreateDigest, ..)"], - "input_types": ["GenerateCoverageSetupCodeRequest"], - "name": "pants.backend.go.util_rules.coverage.generate_go_coverage_setup_code", - "output_type": "GenerateCoverageSetupCodeResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "GenerateEntryPointsTxtFromStevedoreExtensionRequest" + ], + "name": "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", + "output_type": "PytestPluginSetup", + "provider": "pants.backend.experimental.python.framework.stevedore" }, - "pants.backend.go.util_rules.coverage.go_apply_code_coverage": { + "pants.backend.python.goals.coverage_py.create_or_update_coverage_config": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, DigestSubset, ..)", - "Get(ApplyCodeCoverageToFileResult, ApplyCodeCoverageToFileRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Digest, CreateDigest, ..)" ], - "input_types": ["ApplyCodeCoverageRequest"], - "name": "pants.backend.go.util_rules.coverage.go_apply_code_coverage", - "output_type": "ApplyCodeCoverageResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "CoverageSubsystem" + ], + "name": "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", + "output_type": "CoverageConfig", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file": { - "description": null, - "documentation": null, + "pants.backend.python.goals.coverage_py.generate_coverage_reports": { + "description": "Generate Pytest coverage reports", + "documentation": "Takes all Python test results and generates a single coverage report.", "input_gets": [ - "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", - "Get(ProcessResult, GoSdkProcess, ..)" + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Snapshot, Digest, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)" ], - "input_types": ["ApplyCodeCoverageToFileRequest"], - "name": "pants.backend.go.util_rules.coverage.go_apply_code_coverage_to_file", - "output_type": "ApplyCodeCoverageToFileResult", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html": { - "description": null, - "documentation": null, - "input_gets": ["Get(DigestContents, Digest, ..)"], - "input_types": ["RenderGoCoverageProfileToHtmlRequest"], - "name": "pants.backend.go.util_rules.coverage_html.render_go_coverage_profile_to_html", - "output_type": "RenderGoCoverageProfileToHtmlResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "MergedCoverageData", + "CoverageSetup", + "CoverageConfig", + "CoverageSubsystem", + "KeepSandboxes", + "DistDir" + ], + "name": "pants.backend.python.goals.coverage_py.generate_coverage_reports", + "output_type": "CoverageReports", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports": { - "description": "Merge Go coverage data", + "pants.backend.python.goals.coverage_py.merge_coverage_data": { + "description": "Merge Pytest coverage data", "documentation": null, "input_gets": [ - "Get(RenderGoCoverageReportResult, RenderGoCoverageReportRequest, ..)" + "Get(Digest, AddPrefix, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Digest, PathGlobs, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)" ], - "input_types": ["GoCoverageDataCollection"], - "name": "pants.backend.go.util_rules.coverage_output.go_gather_coverage_reports", - "output_type": "CoverageReports", - "provider": "pants.backend.experimental.go" + "input_types": [ + "PytestCoverageDataCollection", + "CoverageSetup", + "CoverageConfig", + "CoverageSubsystem", + "AllSourceRoots" + ], + "name": "pants.backend.python.goals.coverage_py.merge_coverage_data", + "output_type": "MergedCoverageData", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.coverage_output.go_render_coverage_report": { + "pants.backend.python.goals.coverage_py.setup_coverage": { "description": null, "documentation": null, "input_gets": [ - "Get(Snapshot, Digest, ..)", - "Get(DigestContents, Digest, ..)", - "Get(RenderGoCoverageProfileToHtmlResult, RenderGoCoverageProfileToHtmlRequest, ..)", - "Get(Snapshot, CreateDigest, ..)" + "Get(VenvPex, PexRequest, ..)" ], "input_types": [ - "RenderGoCoverageReportRequest", - "DistDir", - "GoTestSubsystem" + "CoverageSubsystem" ], - "name": "pants.backend.go.util_rules.coverage_output.go_render_coverage_report", - "output_type": "RenderGoCoverageReportResult", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.goals.coverage_py.setup_coverage", + "output_type": "CoverageSetup", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package": { - "description": null, + "pants.backend.python.goals.debug_goals.dump_python_source_analysis": { + "description": "`python-dump-source-analysis` goal", "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(FirstPartyPkgImportPath, FirstPartyPkgImportPathRequest, ..)", - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(GoModInfo, GoModInfoRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(PythonSourceAnalysis, PythonImportDependenciesInferenceFieldSet, ..)" ], - "input_types": ["FirstPartyPkgAnalysisRequest", "PackageAnalyzerSetup"], - "name": "pants.backend.go.util_rules.first_party_pkg.analyze_first_party_package", - "output_type": "FallibleFirstPartyPkgAnalysis", - "provider": "pants.backend.experimental.go" + "input_types": [ + "DumpPythonSourceAnalysisSubsystem", + "Targets", + "Console" + ], + "name": "pants.backend.python.goals.debug_goals.dump_python_source_analysis", + "output_type": "DumpPythonSourceAnalysis", + "provider": "pants.backend.experimental.python" }, - "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path": { + "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single": { "description": null, - "documentation": null, + "documentation": "Infer the dependencies for a single python fieldset, keeping all the intermediate results.", "input_gets": [ - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(GoModInfo, GoModInfoRequest, ..)" + "Get(ParsedPythonDependencies, ParsePythonDependenciesRequest, ..)", + "Get(ResolvedParsedPythonDependencies, ResolvedParsedPythonDependenciesRequest, ..)", + "Get(UnownedImportPossibleOwners, UnownedImportPossibleOwnerRequest, ..)" ], - "input_types": ["FirstPartyPkgImportPathRequest"], - "name": "pants.backend.go.util_rules.first_party_pkg.compute_first_party_package_import_path", - "output_type": "FirstPartyPkgImportPath", - "provider": "pants.backend.experimental.go" + "input_types": [ + "PythonImportDependenciesInferenceFieldSet", + "PythonSetup" + ], + "name": "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single", + "output_type": "PythonSourceAnalysis", + "provider": "pants.backend.experimental.python" }, - "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest": { + "pants.backend.python.goals.export.do_export": { "description": null, "documentation": null, "input_gets": [ - "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(FallibleFirstPartyPkgAnalysis, FirstPartyPkgAnalysisRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Targets, DependenciesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(ProcessResult, PexProcess, ..)", + "Get(Pex, PexRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(Digest, CreateDigest, ..)", "Get(Digest, AddPrefix, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(Snapshot, Digest, ..)" ], - "input_types": ["FirstPartyPkgDigestRequest"], - "name": "pants.backend.go.util_rules.first_party_pkg.setup_first_party_pkg_digest", - "output_type": "FallibleFirstPartyPkgDigest", - "provider": "pants.backend.experimental.go" + "input_types": [ + "VenvExportRequest", + "PexPEX", + "PexEnvironment", + "ExportSubsystem" + ], + "name": "pants.backend.python.goals.export.do_export", + "output_type": "ExportResult", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap": { + "pants.backend.python.goals.export.export_virtualenv_for_resolve": { "description": null, "documentation": null, "input_gets": [ - "Get(ValidatedSearchPaths, ValidateSearchPathsRequest, ..)", - "Get(AsdfToolPathsResult, AsdfToolPathsRequest, ..)", - "Get(PathEnvironmentVariable)" + "Get(EditableLocalDists, EditableLocalDistsRequest, ..)", + "Get(ExportResult, VenvExportRequest, ..)" ], - "input_types": ["GolangSubsystem", "EnvironmentAware"], - "name": "pants.backend.go.util_rules.go_bootstrap.resolve_go_bootstrap", - "output_type": "GoBootstrap", - "provider": "pants.backend.experimental.go" + "input_types": [ + "_ExportVenvForResolveRequest", + "PythonSetup", + "ExportSubsystem" + ], + "name": "pants.backend.python.goals.export.export_virtualenv_for_resolve", + "output_type": "MaybeExportResult", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.go_mod.determine_go_mod_info": { + "pants.backend.python.goals.export.export_virtualenvs": { "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(ProcessResult, GoSdkProcess, ..)" + "Get(MaybeExportResult, _ExportVenvForResolveRequest, ..)" ], - "input_types": ["GoModInfoRequest"], - "name": "pants.backend.go.util_rules.go_mod.determine_go_mod_info", - "output_type": "GoModInfo", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.go_mod.find_all_go_mod_targets": { - "description": "Find all `go_mod` targets in project", - "documentation": null, - "input_gets": [], - "input_types": ["AllUnexpandedTargets"], - "name": "pants.backend.go.util_rules.go_mod.find_all_go_mod_targets", - "output_type": "AllGoModTargets", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod": { - "description": null, - "documentation": null, - "input_gets": ["Get(UnexpandedTargets, RawSpecs, ..)"], - "input_types": ["NearestAncestorGoModRequest"], - "name": "pants.backend.go.util_rules.go_mod.find_nearest_ancestor_go_mod", - "output_type": "NearestAncestorGoModResult", - "provider": "pants.backend.experimental.go" + "input_types": [ + "ExportVenvsRequest", + "ExportSubsystem" + ], + "name": "pants.backend.python.goals.export.export_virtualenvs", + "output_type": "ExportResults", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.go_mod.find_owning_go_mod": { + "pants.backend.python.goals.lockfile.determine_python_user_resolves": { "description": null, "documentation": null, - "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(NearestAncestorGoModResult, NearestAncestorGoModRequest, ..)", - "Get(GoBinaryMainPackage, GoBinaryMainPackageRequest, ..)", - "Get(OwningGoMod, OwningGoModRequest, ..)", - "Get(Address, AddressInput, ..)" + "input_gets": [], + "input_types": [ + "KnownPythonUserResolveNamesRequest", + "PythonSetup" ], - "input_types": ["OwningGoModRequest", "AllGoModTargets"], - "name": "pants.backend.go.util_rules.go_mod.find_owning_go_mod", - "output_type": "OwningGoMod", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.goals.lockfile.determine_python_user_resolves", + "output_type": "KnownUserResolveNames", + "provider": "pants.core" }, - "pants.backend.go.util_rules.goroot.setup_goroot": { - "description": "Find Go binary", + "pants.backend.python.goals.lockfile.generate_lockfile": { + "description": "Generate Python lockfile", "documentation": null, "input_gets": [ - "Get(BinaryPaths, BinaryPathRequest, ..)", - "Get(ProcessResult, Process, ..)" + "Get(ResolvePexConfig, ResolvePexConfigRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, PexCliProcess, ..)", + "Get(DigestContents, Digest, ..)", + "Get(LoadedLockfile, LoadedLockfileRequest, ..)" ], - "input_types": ["GolangSubsystem", "GoBootstrap", "EnvironmentTarget"], - "name": "pants.backend.go.util_rules.goroot.setup_goroot", - "output_type": "GoRoot", - "provider": "pants.backend.experimental.go" + "input_types": [ + "GeneratePythonLockfile", + "GenerateLockfilesSubsystem", + "PythonSetup" + ], + "name": "pants.backend.python.goals.lockfile.generate_lockfile", + "output_type": "GenerateLockfileResult", + "provider": "pants.core" }, - "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies": { + "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets": { "description": null, "documentation": null, - "input_gets": [ - "Get(BuiltGoPackage, BuildGoPackageRequestForStdlibRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "input_gets": [], + "input_types": [ + "PythonSyntheticLockfileTargetsRequest", + "PythonSetup" ], - "input_types": ["SdkImplicitLinkerDependenciesHook"], - "name": "pants.backend.go.util_rules.implicit_linker_deps.provide_sdk_implicit_linker_dependencies", - "output_type": "ImplicitLinkerDependencies", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets", + "output_type": "SyntheticAddressMaps", + "provider": "pants.core" }, - "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages": { - "description": "Analyze Go standard library packages.", + "pants.backend.python.goals.lockfile.setup_user_lockfile_requests": { + "description": null, "documentation": null, - "input_gets": ["Get(ProcessResult, GoSdkProcess, ..)"], - "input_types": ["GoStdLibPackagesRequest"], - "name": "pants.backend.go.util_rules.import_analysis.analyze_go_stdlib_packages", - "output_type": "GoStdLibPackages", - "provider": "pants.backend.experimental.go" + "input_gets": [], + "input_types": [ + "RequestedPythonUserResolveNames", + "AllTargets", + "PythonSetup" + ], + "name": "pants.backend.python.goals.lockfile.setup_user_lockfile_requests", + "output_type": "UserGenerateLockfiles", + "provider": "pants.core" }, - "pants.backend.go.util_rules.import_config.generate_import_config": { + "pants.backend.python.goals.lockfile.wrap_python_lockfile_request": { "description": null, "documentation": null, - "input_gets": ["Get(Digest, CreateDigest, ..)"], - "input_types": ["ImportConfigRequest"], - "name": "pants.backend.go.util_rules.import_config.generate_import_config", - "output_type": "ImportConfig", - "provider": "pants.backend.experimental.go" + "input_gets": [], + "input_types": [ + "GeneratePythonLockfile" + ], + "name": "pants.backend.python.goals.lockfile.wrap_python_lockfile_request", + "output_type": "WrappedGenerateLockfile", + "provider": "pants.core" }, - "pants.backend.go.util_rules.link.link_go_binary": { + "pants.backend.python.goals.package_dists.package_python_dist": { "description": null, "documentation": null, "input_gets": [ - "Get(ImplicitLinkerDependencies, ImplicitLinkerDependenciesHook, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(GoSdkToolIDResult, GoSdkToolIDRequest, ..)", - "Get(ImportConfig, ImportConfigRequest, ..)", - "Get(Digest, AddPrefix, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(DistBuildChroot, DistBuildChrootRequest, ..)", + "Get(SourceRootsResult, SourceRootsRequest, ..)", + "Get(DistBuildEnvironment, DistBuildEnvironmentRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, GoSdkProcess, ..)" + "Get(Digest, AddPrefix, ..)", + "Get(BuildSystem, BuildSystemRequest, ..)", + "Get(DistBuildResult, DistBuildRequest, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["LinkGoBinaryRequest", "LinkerSetup", "UnionMembership"], - "name": "pants.backend.go.util_rules.link.link_go_binary", - "output_type": "LinkedGoBinary", - "provider": "pants.backend.experimental.go" + "input_types": [ + "PythonDistributionFieldSet", + "PythonSetup", + "UnionMembership" + ], + "name": "pants.backend.python.goals.package_dists.package_python_dist", + "output_type": "BuiltPackage", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.link.setup_go_linker": { + "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request": { "description": null, "documentation": null, "input_gets": [ - "Get(BinaryPath, CGoBinaryPathRequest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(Pex, PexFromTargetsRequest, ..)" ], - "input_types": ["BashBinary", "EnvironmentAware"], - "name": "pants.backend.go.util_rules.link.setup_go_linker", - "output_type": "LinkerSetup", - "provider": "pants.backend.experimental.go" + "input_types": [ + "PexFromTargetsRequestForBuiltPackage" + ], + "name": "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request", + "output_type": "BuiltPackage", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer": { + "pants.backend.python.goals.package_pex_binary.package_pex_binary": { "description": null, "documentation": null, - "input_gets": ["Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)"], - "input_types": ["GoRoot"], - "name": "pants.backend.go.util_rules.pkg_analyzer.setup_go_package_analyzer", - "output_type": "PackageAnalyzerSetup", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", + "Get(CompletePlatforms, PexCompletePlatformsField, ..)" + ], + "input_types": [ + "PexBinaryFieldSet", + "PexBinaryDefaults" + ], + "name": "pants.backend.python.goals.package_pex_binary.package_pex_binary", + "output_type": "PexFromTargetsRequestForBuiltPackage", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.sdk.compute_go_tool_id": { + "pants.backend.python.goals.publish.twine_upload": { "description": null, "documentation": null, - "input_gets": ["Get(ProcessResult, GoSdkProcess, ..)"], - "input_types": ["GoSdkToolIDRequest"], - "name": "pants.backend.go.util_rules.sdk.compute_go_tool_id", - "output_type": "GoSdkToolIDResult", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(VenvPex, PexRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Snapshot, CreateDigest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(Process, VenvPexProcess, ..)" + ], + "input_types": [ + "PublishPythonPackageRequest", + "TwineSubsystem", + "GlobalOptions" + ], + "name": "pants.backend.python.goals.publish.twine_upload", + "output_type": "PublishProcesses", + "provider": "pants.backend.experimental.python" }, - "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup": { - "description": null, + "pants.backend.python.goals.pytest_runner.debug_python_test": { + "description": "Set up Pytest to run interactively", "documentation": null, - "input_gets": ["Get(Digest, CreateDigest, ..)"], - "input_types": ["GoRoot"], - "name": "pants.backend.go.util_rules.sdk.go_sdk_invoke_setup", - "output_type": "GoSdkRunSetup", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(TestSetup, TestSetupRequest, ..)" + ], + "input_types": [ + "Batch" + ], + "name": "pants.backend.python.goals.pytest_runner.debug_python_test", + "output_type": "TestDebugRequest", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.sdk.setup_go_sdk_process": { - "description": null, + "pants.backend.python.goals.pytest_runner.debugpy_python_test": { + "description": "Set up debugpy to run an interactive Pytest session", "documentation": null, "input_gets": [ - "Get(Digest, MergeDigests, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + "Get(Pex, PexRequest, ..)", + "Get(TestSetup, TestSetupRequest, ..)" ], "input_types": [ - "GoSdkProcess", - "GoSdkRunSetup", - "BashBinary", - "EnvironmentAware", - "GoRoot" + "Batch", + "DebugPy", + "DebugAdapterSubsystem", + "PythonSetup" ], - "name": "pants.backend.go.util_rules.sdk.setup_go_sdk_process", - "output_type": "Process", - "provider": "pants.backend.experimental.go" + "name": "pants.backend.python.goals.pytest_runner.debugpy_python_test", + "output_type": "TestDebugAdapterRequest", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.tests_analysis.generate_testmain": { + "pants.backend.python.goals.pytest_runner.partition_python_tests": { + "description": "Partition Pytest", + "documentation": null, + "input_gets": [], + "input_types": [ + "PartitionRequest", + "PythonSetup" + ], + "name": "pants.backend.python.goals.pytest_runner.partition_python_tests", + "output_type": "Partitions", + "provider": "pants.backend.python" + }, + "pants.backend.python.goals.pytest_runner.run_all_setup_plugins": { "description": null, "documentation": null, "input_gets": [ - "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(PytestPluginSetup, PytestPluginSetupRequest, ..)" ], - "input_types": ["GenerateTestMainRequest"], - "name": "pants.backend.go.util_rules.tests_analysis.generate_testmain", - "output_type": "GeneratedTestMain", - "provider": "pants.backend.experimental.go" + "input_types": [ + "AllPytestPluginSetupsRequest", + "UnionMembership" + ], + "name": "pants.backend.python.goals.pytest_runner.run_all_setup_plugins", + "output_type": "AllPytestPluginSetups", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module": { - "description": null, + "pants.backend.python.goals.pytest_runner.run_python_tests": { + "description": "Run Pytest", "documentation": null, "input_gets": [ - "Get(ProcessResult, GoSdkProcess, ..)", - "Get(DigestContents, Digest, ..)", + "Get(TestSetup, TestSetupRequest, ..)", + "Get(ProcessResultWithRetries, ProcessWithRetries, ..)", "Get(Snapshot, DigestSubset, ..)", - "Get(ProcessResult, Process, ..)", - "Get(FallibleThirdPartyPkgAnalysis, AnalyzeThirdPartyPackageRequest, ..)" + "Get(Snapshot, RemovePrefix, ..)" ], - "input_types": ["AnalyzeThirdPartyModuleRequest", "PackageAnalyzerSetup"], - "name": "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_module", - "output_type": "AnalyzedThirdPartyModule", - "provider": "pants.backend.experimental.go" + "input_types": [ + "Batch", + "TestSubsystem", + "GlobalOptions" + ], + "name": "pants.backend.python.goals.pytest_runner.run_python_tests", + "output_type": "TestResult", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package": { + "pants.backend.python.goals.pytest_runner.setup_pytest_for_target": { "description": null, "documentation": null, "input_gets": [ - "Get(LoadedGoBinary, LoadedGoBinaryRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(AllPytestPluginSetups, AllPytestPluginSetupsRequest, ..)", + "Get(Pex, RequirementsPexRequest, ..)", + "Get(Pex, PexRequest, ..)", "Get(Digest, CreateDigest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(LocalDistsPex, LocalDistsPexRequest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, DigestSubset, ..)", "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(PexRequirementsInfo, PexRequirements, ..)", + "Get(Lockfile, Resolve, ..)", + "Get(LoadedLockfile, LoadedLockfileRequest, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Process, VenvPexProcess, ..)" ], - "input_types": ["AnalyzeThirdPartyPackageRequest"], - "name": "pants.backend.go.util_rules.third_party_pkg.analyze_go_third_party_package", - "output_type": "FallibleThirdPartyPkgAnalysis", - "provider": "pants.backend.experimental.go" + "input_types": [ + "TestSetupRequest", + "PyTest", + "TestSubsystem", + "CoverageConfig", + "CoverageSubsystem", + "TestExtraEnv" + ], + "name": "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", + "output_type": "TestSetup", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies": { + "pants.backend.python.goals.pytest_runner.setup_runtime_packages": { "description": null, "documentation": null, - "input_gets": ["Get(ProcessResult, GoSdkProcess, ..)"], - "input_types": ["ModuleDescriptorsRequest"], - "name": "pants.backend.go.util_rules.third_party_pkg.analyze_module_dependencies", - "output_type": "ModuleDescriptors", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages": { - "description": "Download and analyze all third-party Go packages", - "documentation": null, "input_gets": [ - "Get(ModuleDescriptors, ModuleDescriptorsRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(AnalyzedThirdPartyModule, AnalyzeThirdPartyModuleRequest, ..)" + "Get(BuiltPackageDependencies, BuildPackageDependenciesRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["AllThirdPartyPackagesRequest"], - "name": "pants.backend.go.util_rules.third_party_pkg.download_and_analyze_third_party_packages", - "output_type": "AllThirdPartyPackages", - "provider": "pants.backend.experimental.go" + "input_types": [ + "RuntimePackagesPluginRequest" + ], + "name": "pants.backend.python.goals.pytest_runner.setup_runtime_packages", + "output_type": "PytestPluginSetup", + "provider": "pants.backend.python" }, - "pants.backend.go.util_rules.third_party_pkg.extract_package_info": { + "pants.backend.python.goals.repl.create_ipython_repl_request": { "description": null, "documentation": null, "input_gets": [ - "Get(AllThirdPartyPackages, AllThirdPartyPackagesRequest, ..)" + "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Pex, RequirementsPexRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(Pex, PexRequest, ..)", + "Get(LocalDistsPex, LocalDistsPexRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["ThirdPartyPkgAnalysisRequest"], - "name": "pants.backend.go.util_rules.third_party_pkg.extract_package_info", - "output_type": "ThirdPartyPkgAnalysis", - "provider": "pants.backend.experimental.go" - }, - "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function": { - "description": "Create Python Google Cloud Function", - "documentation": null, - "input_gets": ["Get(BuiltPackage, BuildPythonFaaSRequest, ..)"], - "input_types": ["PythonGoogleCloudFunctionFieldSet"], - "name": "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function", - "output_type": "BuiltPackage", - "provider": "pants.backend.google_cloud_function.python" + "input_types": [ + "IPythonRepl", + "IPython", + "PexEnvironment", + "PythonSetup" + ], + "name": "pants.backend.python.goals.repl.create_ipython_repl_request", + "output_type": "ReplRequest", + "provider": "pants.backend.python" }, - "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping": { + "pants.backend.python.goals.repl.create_python_repl_request": { "description": null, "documentation": null, - "input_gets": ["Get(HelmChartMetadata, HelmChartMetaSourceField, ..)"], - "input_types": ["AllHelmChartTargets"], - "name": "pants.backend.helm.dependency_inference.chart.first_party_helm_chart_mapping", - "output_type": "FirstPartyHelmChartMapping", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata": { - "description": "Inferring Helm chart dependencies", - "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(HelmChartMetadata, HelmChartMetaSourceField, ..)" + "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Pex, RequirementsPexRequest, ..)", + "Get(LocalDistsPex, LocalDistsPexRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "InferHelmChartDependenciesRequest", - "FirstPartyHelmChartMapping", - "ThirdPartyHelmArtifactMapping", - "HelmSubsystem" + "PythonRepl", + "PexEnvironment", + "PythonSetup" ], - "name": "pants.backend.helm.dependency_inference.chart.infer_chart_dependencies_via_metadata", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.goals.repl.create_python_repl_request", + "output_type": "ReplRequest", + "provider": "pants.backend.python" }, - "pants.backend.helm.dependency_inference.deployment.analyse_deployment": { - "description": "Analyse Helm deployment", + "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request": { + "description": null, "documentation": null, "input_gets": [ - "Get(RenderedHelmFiles, HelmDeploymentRequest, ..)", - "Get(DigestEntries, Digest, ..)", - "Get(ParsedKubeManifest, ParseKubeManifestRequest, ..)" + "Get(PexFromTargetsRequestForBuiltPackage, PexBinaryFieldSet, ..)", + "Get(BuiltPackage, PexFromTargetsRequestForBuiltPackage, ..)", + "Get(PythonExecutable, InterpreterConstraintsRequest, ..)" ], - "input_types": ["AnalyseHelmDeploymentRequest"], - "name": "pants.backend.helm.dependency_inference.deployment.analyse_deployment", - "output_type": "HelmDeploymentReport", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "PexBinaryFieldSet" + ], + "name": "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", + "output_type": "RunRequest", + "provider": "pants.backend.python" }, - "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping": { + "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request": { "description": null, "documentation": null, "input_gets": [ - "Get(HelmDeploymentReport, AnalyseHelmDeploymentRequest, ..)", - "Get(MaybeAddress, AddressInput, ..)" + "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", + "Get(PexRequest, PexFromTargetsRequest, ..)", + "Get(VenvPex, VenvPexRequest, ..)" ], "input_types": [ - "FirstPartyHelmDeploymentMappingRequest", - "AllDockerImageTargets" + "PythonRequirementFieldSet", + "PexEnvironment", + "PythonSetup", + "ThirdPartyPythonModuleMapping" ], - "name": "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping", - "output_type": "FirstPartyHelmDeploymentMapping", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request", + "output_type": "RunRequest", + "provider": "pants.backend.python" }, - "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies": { - "description": "Find the dependencies needed by a Helm deployment", + "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request": { + "description": null, "documentation": null, "input_gets": [ - "Get(Address, AddressInput, ..)", - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(FirstPartyHelmDeploymentMapping, FirstPartyHelmDeploymentMappingRequest, ..)" + "Get(Pex, PexRequest, ..)", + "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(PexRequest, PexFromTargetsRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(VenvPex, VenvPexRequest, ..)", + "Get(PythonExecutable, InterpreterConstraints, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, CreateDigest, ..)" ], - "input_types": ["InferHelmDeploymentDependenciesRequest"], - "name": "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "PythonSourceFieldSet", + "DebugPy", + "DebugAdapterSubsystem", + "PexEnvironment", + "PythonSetup" + ], + "name": "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.python" }, - "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests": { + "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request": { "description": null, "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)" + "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(PexRequest, PexFromTargetsRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(VenvPex, VenvPexRequest, ..)", + "Get(PythonExecutable, InterpreterConstraints, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "InferHelmUnitTestChartDependencyRequest", - "AllHelmChartTargets", - "AllAssetTargetsByPath" + "PythonSourceFieldSet", + "PexEnvironment", + "PythonSetup" ], - "name": "pants.backend.helm.dependency_inference.unittest.infer_chart_dependency_into_unittests", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.python" }, - "pants.backend.helm.goals.deploy.run_helm_deploy": { - "description": "Run Helm deploy process", + "pants.backend.python.goals.run_python_source.create_python_source_run_request": { + "description": null, "documentation": null, "input_gets": [ - "Get(Targets, DependenciesRequest, ..)", - "Get(HelmPostRenderer, HelmDeploymentPostRendererRequest, ..)", - "Get(InteractiveProcess, HelmDeploymentRequest, ..)" + "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(PexRequest, PexFromTargetsRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(VenvPex, VenvPexRequest, ..)", + "Get(PythonExecutable, InterpreterConstraints, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["DeployHelmDeploymentFieldSet", "HelmSubsystem"], - "name": "pants.backend.helm.goals.deploy.run_helm_deploy", - "output_type": "DeployProcess", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.goals.lint.partition_helm_lint": { - "description": null, - "documentation": null, - "input_gets": ["Get(HelmChart, HelmChartRequest, ..)"], - "input_types": ["PartitionRequest"], - "name": "pants.backend.helm.goals.lint.partition_helm_lint", - "output_type": "Partitions", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.goals.lint.run_helm_lint": { - "description": "Lint Helm charts", - "documentation": null, - "input_gets": ["Get(FallibleProcessResult, HelmProcess, ..)"], - "input_types": ["Batch", "HelmSubsystem"], - "name": "pants.backend.helm.goals.lint.run_helm_lint", - "output_type": "LintResult", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "PythonSourceFieldSet", + "PexEnvironment", + "PythonSetup" + ], + "name": "pants.backend.python.goals.run_python_source.create_python_source_run_request", + "output_type": "RunRequest", + "provider": "pants.backend.python" }, - "pants.backend.helm.goals.package.run_helm_package": { - "description": "Package Helm chart", + "pants.backend.python.goals.tailor.find_putative_targets": { + "description": "Determine candidate Python targets to create", "documentation": null, "input_gets": [ - "Get(HelmChart, HelmChartRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(ProcessResult, HelmProcess, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Snapshot, AddPrefix, ..)" + "Get(Paths, PathGlobs, ..)", + "Get(DigestContents, PathGlobs, ..)", + "Get(SourceRootsResult, SourceRootsRequest, ..)", + "Get(UnexpandedTargets, RawSpecs, ..)", + "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)" ], - "input_types": ["HelmPackageFieldSet"], - "name": "pants.backend.helm.goals.package.run_helm_package", - "output_type": "BuiltPackage", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.goals.publish.publish_helm_chart": { - "description": "Push Helm chart to OCI registries", - "documentation": null, - "input_gets": ["Get(Process, HelmProcess, ..)"], - "input_types": ["PublishHelmChartRequest", "HelmSubsystem"], - "name": "pants.backend.helm.goals.publish.publish_helm_chart", - "output_type": "PublishProcesses", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.goals.tailor.find_putative_helm_targets": { - "description": "Determine candidate Helm chart targets to create", - "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], "input_types": [ - "PutativeHelmTargetsRequest", + "PutativePythonTargetsRequest", "AllOwnedSources", - "HelmSubsystem" + "PythonSetup" ], - "name": "pants.backend.helm.goals.tailor.find_putative_helm_targets", + "name": "pants.backend.python.goals.tailor.find_putative_targets", "output_type": "PutativeTargets", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.resolve.artifacts.resolved_helm_artifact": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["HelmArtifact", "HelmSubsystem"], - "name": "pants.backend.helm.resolve.artifacts.resolved_helm_artifact", - "output_type": "ResolvedHelmArtifact", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping": { - "description": null, - "documentation": null, - "input_gets": ["Get(ResolvedHelmArtifact, HelmArtifact, ..)"], - "input_types": ["AllHelmArtifactTargets"], - "name": "pants.backend.helm.resolve.artifacts.third_party_helm_artifact_mapping", - "output_type": "ThirdPartyHelmArtifactMapping", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.resolve.fetch.fetch_helm_artifact": { - "description": "Fetch Helm artifact", - "documentation": null, - "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(ResolvedHelmArtifact, HelmArtifact, ..)", - "Get(ProcessResult, HelmProcess, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, RemovePrefix, ..)" - ], - "input_types": ["FetchHelmArtifactRequest"], - "name": "pants.backend.helm.resolve.fetch.fetch_helm_artifact", - "output_type": "FetchedHelmArtifact", - "provider": "pants.backend.experimental.helm" + "provider": "pants.backend.python" }, - "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool": { - "description": null, + "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt": { + "description": "Format with add-trailing-comma", "documentation": null, "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(VenvPex, PexRequest, ..)" + "Get(VenvPex, PexRequest, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["HelmKubeParserSubsystem"], - "name": "pants.backend.helm.subsystems.k8s_parser.build_k8s_parser_tool", - "output_type": "_HelmKubeParserTool", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest": { - "description": "Parse Kubernetes resource manifest", - "documentation": null, - "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)" + "input_types": [ + "Batch", + "AddTrailingComma" ], - "input_types": ["ParseKubeManifestRequest", "_HelmKubeParserTool"], - "name": "pants.backend.helm.subsystems.k8s_parser.parse_kube_manifest", - "output_type": "ParsedKubeManifest", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma" }, - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher": { - "description": "Configure Helm post-renderer", + "pants.backend.python.lint.autoflake.rules.autoflake_fix": { + "description": "Fix with Autoflake", "documentation": null, "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(Process, VenvPexProcess, ..)", - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", - "Get(RunRequest, RunFieldSet, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(VenvPex, PexRequest, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)" ], "input_types": [ - "SetupHelmPostRenderer", - "_HelmPostRendererTool", - "CatBinary" + "Batch", + "Autoflake" ], - "name": "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", - "output_type": "HelmPostRenderer", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.lint.autoflake.rules.autoflake_fix", + "output_type": "FixResult", + "provider": "pants.backend.python.lint.autoflake" }, - "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool": { - "description": "Setup Helm post renderer binaries", + "pants.backend.python.lint.bandit.rules.bandit_lint": { + "description": "Lint with Bandit", "documentation": null, "input_gets": [ + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", "Get(Digest, CreateDigest, ..)", - "Get(VenvPex, PexRequest, ..)" + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "input_types": ["HelmPostRendererSubsystem"], - "name": "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_tool", - "output_type": "_HelmPostRendererTool", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch", + "Bandit" + ], + "name": "pants.backend.python.lint.bandit.rules.bandit_lint", + "output_type": "LintResult", + "provider": "pants.backend.python.lint.bandit" }, - "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request": { + "pants.backend.python.lint.bandit.rules.partition_bandit": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "HelmUnitTestPluginBinding", - "HelmUnitTestSubsystem", - "Platform" + "PartitionRequest", + "Bandit", + "PythonSetup" ], - "name": "pants.backend.helm.subsystems.unittest.download_unittest_plugin_request", - "output_type": "ExternalHelmPluginRequest", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.lint.bandit.rules.partition_bandit", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.bandit" }, - "pants.backend.helm.target_types.all_helm_artifact_targets": { - "description": null, + "pants.backend.python.lint.black.rules.black_fmt": { + "description": "Format with Black", "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.helm.target_types.all_helm_artifact_targets", - "output_type": "AllHelmArtifactTargets", - "provider": "pants.backend.experimental.helm" + "input_gets": [ + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "Black" + ], + "name": "pants.backend.python.lint.black.rules.black_fmt", + "output_type": "FixResult", + "provider": "pants.backend.python.lint.black" }, - "pants.backend.helm.target_types.all_helm_chart_targets": { + "pants.backend.python.lint.black.rules.partition_black": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.helm.target_types.all_helm_chart_targets", - "output_type": "AllHelmChartTargets", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "PartitionRequest", + "Black", + "PythonSetup" + ], + "name": "pants.backend.python.lint.black.rules.partition_black", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.black" }, - "pants.backend.helm.target_types.all_helm_deployment_targets": { - "description": null, + "pants.backend.python.lint.docformatter.rules.docformatter_fmt": { + "description": "Format with docformatter", "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.helm.target_types.all_helm_deployment_targets", - "output_type": "AllHelmDeploymentTargets", - "provider": "pants.backend.experimental.helm" + "input_gets": [ + "Get(VenvPex, PexRequest, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "Docformatter", + "KeepSandboxes" + ], + "name": "pants.backend.python.lint.docformatter.rules.docformatter_fmt", + "output_type": "FixResult", + "provider": "pants.backend.python.lint.docformatter" }, - "pants.backend.helm.target_types.all_helm_unittest_test_targets": { + "pants.backend.python.lint.flake8.rules.partition_flake8": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.helm.target_types.all_helm_unittest_test_targets", - "output_type": "AllHelmUnitTestTestTargets", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(HelmUnitTestSetup, HelmUnitTestSetupRequest, ..)", - "Get(ProcessResult, HelmProcess, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Snapshot, AddPrefix, ..)" + "input_types": [ + "PartitionRequest", + "Flake8", + "PythonSetup", + "Flake8FirstPartyPlugins" ], - "input_types": ["HelmUnitTestFieldSet"], - "name": "pants.backend.helm.test.unittest.generate_helm_unittest_snapshots", - "output_type": "GenerateSnapshotsResult", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.lint.flake8.rules.partition_flake8", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.flake8" }, - "pants.backend.helm.test.unittest.run_helm_unittest": { - "description": "Run Helm Unittest", + "pants.backend.python.lint.flake8.rules.run_flake8": { + "description": "Lint with Flake8", "documentation": null, "input_gets": [ - "Get(HelmUnitTestSetup, HelmUnitTestSetupRequest, ..)", - "Get(FallibleProcessResult, HelmProcess, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, RemovePrefix, ..)" + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, PathGlobs, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "input_types": ["Batch", "TestSubsystem", "HelmUnitTestSubsystem"], - "name": "pants.backend.helm.test.unittest.run_helm_unittest", - "output_type": "TestResult", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch", + "Flake8", + "Flake8FirstPartyPlugins" + ], + "name": "pants.backend.python.lint.flake8.rules.run_flake8", + "output_type": "LintResult", + "provider": "pants.backend.python.lint.flake8" }, - "pants.backend.helm.test.unittest.setup_helm_unittest": { + "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, DependenciesRequest, ..)", + "Get(Addresses, UnparsedAddressInputs, ..)", "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(HelmChart, HelmChartRequest, ..)", - "Get(HelmChartRoot, HelmChartRootRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Digest, MergeDigests, ..)", + "Get(StrippedPythonSourceFiles, PythonSourceFilesRequest, ..)", "Get(Digest, AddPrefix, ..)" ], - "input_types": ["HelmUnitTestSetupRequest", "HelmUnitTestSubsystem"], - "name": "pants.backend.helm.test.unittest.setup_helm_unittest", - "output_type": "HelmUnitTestSetup", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.util_rules.chart.create_chart_from_artifact": { - "description": "Compile third parth Helm chart", - "documentation": null, - "input_gets": [ - "Get(HelmChartMetadata, ParseHelmChartMetadataDigest, ..)" + "input_types": [ + "Flake8" ], - "input_types": ["FetchedHelmArtifact"], - "name": "pants.backend.helm.util_rules.chart.create_chart_from_artifact", - "output_type": "HelmChart", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", + "output_type": "Flake8FirstPartyPlugins", + "provider": "pants.backend.python.lint.flake8" }, - "pants.backend.helm.util_rules.chart.find_chart_for_deployment": { - "description": "Find Helm deployment's chart", + "pants.backend.python.lint.isort.rules.isort_fmt": { + "description": "Format with isort", "documentation": null, "input_gets": [ - "Get(Address, AddressInput, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(HelmChart, HelmChartRequest, ..)", - "Get(HelmChart, FetchHelmArtifactRequest, ..)" + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(PexResolveInfo, VenvPex, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["FindHelmDeploymentChart"], - "name": "pants.backend.helm.util_rules.chart.find_chart_for_deployment", - "output_type": "HelmChart", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch", + "Isort", + "KeepSandboxes" + ], + "name": "pants.backend.python.lint.isort.rules.isort_fmt", + "output_type": "FixResult", + "provider": "pants.backend.python.lint.isort" }, - "pants.backend.helm.util_rules.chart.get_helm_chart": { - "description": "Compile Helm chart", + "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint": { + "description": "Lint with Pydocstyle", "documentation": null, "input_gets": [ - "Get(Targets, DependenciesRequest, ..)", - "Get(HelmChartSourceFiles, HelmChartSourceFilesRequest, ..)", - "Get(HelmChartMetadata, HelmChartMetaSourceField, ..)", - "Get(HelmChart, HelmChartRequest, ..)", - "Get(HelmChart, FetchHelmArtifactRequest, ..)", - "Get(Digest, AddPrefix, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(Digest, HelmChartMetadata, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, MergeDigests, ..)" + "Get(FallibleProcessResult, VenvPexProcess, ..)" ], - "input_types": ["HelmChartRequest", "HelmSubsystem"], - "name": "pants.backend.helm.util_rules.chart.get_helm_chart", - "output_type": "HelmChart", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch", + "Pydocstyle" + ], + "name": "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", + "output_type": "LintResult", + "provider": "pants.backend.python.lint.pydocstyle" }, - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest": { - "description": null, + "pants.backend.python.lint.pylint.rules.partition_pylint": { + "description": "Determine if necessary to partition Pylint input", "documentation": null, "input_gets": [ - "Get(Digest, DigestSubset, ..)", - "Get(DigestContents, Digest, ..)" + "Get(CoarsenedTargets, CoarsenedTargetsRequest, ..)" ], - "input_types": ["ParseHelmChartMetadataDigest"], - "name": "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_digest", - "output_type": "HelmChartMetadata", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "PartitionRequest", + "Pylint", + "PythonSetup", + "PylintFirstPartyPlugins" + ], + "name": "pants.backend.python.lint.pylint.rules.partition_pylint", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.pylint" }, - "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field": { - "description": null, + "pants.backend.python.lint.pylint.rules.run_pylint": { + "description": "Lint using Pylint", "documentation": null, "input_gets": [ - "Get(HelmChartRoot, HelmChartRootRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(HelmChartMetadata, ParseHelmChartMetadataDigest, ..)" + "Get(Pex, RequirementsPexRequest, ..)", + "Get(Pex, PexRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(PexResolveInfo, Pex, ..)", + "Get(VenvPex, VenvPexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "input_types": ["HelmChartMetaSourceField"], - "name": "pants.backend.helm.util_rules.chart_metadata.parse_chart_metadata_from_field", - "output_type": "HelmChartMetadata", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch", + "Pylint", + "PylintFirstPartyPlugins", + "PexEnvironment" + ], + "name": "pants.backend.python.lint.pylint.rules.run_pylint", + "output_type": "LintResult", + "provider": "pants.backend.python.lint.pylint" }, - "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata": { + "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins": { "description": null, "documentation": null, - "input_gets": ["Get(Digest, CreateDigest, ..)"], - "input_types": ["HelmChartMetadata"], - "name": "pants.backend.helm.util_rules.chart_metadata.render_chart_metadata", - "output_type": "Digest", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment": { - "description": "Prepare Helm deployment post-renderer", - "documentation": null, "input_gets": [ - "Get(FirstPartyHelmDeploymentMapping, FirstPartyHelmDeploymentMappingRequest, ..)", - "Get(DockerBuildContext, DockerBuildContextRequest, ..)", - "Get(Targets, Addresses, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(DockerImageTags, DockerImageTagsRequest, ..)" + "Get(Addresses, UnparsedAddressInputs, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(StrippedPythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(Digest, AddPrefix, ..)" ], "input_types": [ - "HelmDeploymentPostRendererRequest", - "UnionMembership", - "DockerOptions" + "Pylint" ], - "name": "pants.backend.helm.util_rules.post_renderer.prepare_post_renderer_for_helm_deployment", - "output_type": "SetupHelmPostRenderer", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process": { - "description": null, - "documentation": null, - "input_gets": ["Get(Process, HelmProcess, ..)"], - "input_types": ["_HelmDeploymentProcessWrapper"], - "name": "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", - "output_type": "InteractiveProcess", - "provider": "pants.backend.experimental.helm" + "name": "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", + "output_type": "PylintFirstPartyPlugins", + "provider": "pants.backend.python.lint.pylint" }, - "pants.backend.helm.util_rules.renderer.render_helm_chart": { - "description": null, + "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix": { + "description": "Fix with pyupgrade", "documentation": null, "input_gets": [ - "Get(HelmChart, HelmChartRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(ProcessResult, HelmProcess, ..)", - "Get(Snapshot, RemovePrefix, ..)" + "Get(VenvPex, PexRequest, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["RenderHelmChartRequest"], - "name": "pants.backend.helm.util_rules.renderer.render_helm_chart", - "output_type": "RenderedHelmFiles", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch", + "PyUpgrade" + ], + "name": "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", + "output_type": "FixResult", + "provider": "pants.backend.python.lint.pyupgrade" }, - "pants.backend.helm.util_rules.renderer.run_renderer": { - "description": "Render Helm deployment", + "pants.backend.python.lint.ruff.rules.ruff_fix": { + "description": "Fix with ruff", "documentation": null, "input_gets": [ - "Get(ProcessResult, HelmProcess, ..)", - "Get(Snapshot, CreateDigest, ..)", - "Get(Snapshot, RemovePrefix, ..)" + "Get(FallibleProcessResult, _RunRuffRequest, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["_HelmDeploymentProcessWrapper"], - "name": "pants.backend.helm.util_rules.renderer.run_renderer", - "output_type": "RenderedHelmFiles", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch", + "Ruff" + ], + "name": "pants.backend.python.lint.ruff.rules.ruff_fix", + "output_type": "FixResult", + "provider": "pants.backend.experimental.python.lint.ruff" }, - "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process": { - "description": "Prepare Helm deployment renderer", + "pants.backend.python.lint.ruff.rules.ruff_lint": { + "description": "Lint with ruff", "documentation": null, "input_gets": [ - "Get(HelmChart, FindHelmDeploymentChart, ..)", "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Snapshot, DigestSubset, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(FallibleProcessResult, _RunRuffRequest, ..)" ], - "input_types": ["HelmDeploymentRequest"], - "name": "pants.backend.helm.util_rules.renderer.setup_render_helm_deployment_process", - "output_type": "_HelmDeploymentProcessWrapper", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.util_rules.sources.find_chart_source_root": { - "description": "Detect Helm chart source root", - "documentation": null, - "input_gets": ["Get(HydratedSources, HydrateSourcesRequest, ..)"], - "input_types": ["HelmChartRootRequest"], - "name": "pants.backend.helm.util_rules.sources.find_chart_source_root", - "output_type": "HelmChartRoot", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch" + ], + "name": "pants.backend.python.lint.ruff.rules.ruff_lint", + "output_type": "LintResult", + "provider": "pants.backend.experimental.python.lint.ruff" }, - "pants.backend.helm.util_rules.sources.get_helm_source_files": { + "pants.backend.python.lint.ruff.rules.run_ruff": { "description": null, "documentation": null, "input_gets": [ - "Get(HelmChartRoot, HelmChartRootRequest, ..)", - "Get(Targets, DependenciesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Snapshot, DigestSubset, ..)", - "Get(Snapshot, RemovePrefix, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, MergeDigests, ..)" + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)" ], - "input_types": ["HelmChartSourceFilesRequest"], - "name": "pants.backend.helm.util_rules.sources.get_helm_source_files", - "output_type": "HelmChartSourceFiles", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.util_rules.tool.all_helm_plugins": { - "description": null, - "documentation": null, - "input_gets": ["Get(HelmPlugin, ExternalHelmPluginBinding, ..)"], - "input_types": ["UnionMembership"], - "name": "pants.backend.helm.util_rules.tool.all_helm_plugins", - "output_type": "HelmPlugins", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "_RunRuffRequest", + "Ruff" + ], + "name": "pants.backend.python.lint.ruff.rules.run_ruff", + "output_type": "FallibleProcessResult", + "provider": "pants.backend.experimental.python.lint.ruff" }, - "pants.backend.helm.util_rules.tool.download_external_helm_plugin": { - "description": "Download external Helm plugin", + "pants.backend.python.lint.yapf.rules.yapf_fmt": { + "description": "Format with yapf", "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(DigestContents, Digest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", "Get(Snapshot, Digest, ..)" ], - "input_types": ["ExternalHelmPluginRequest"], - "name": "pants.backend.helm.util_rules.tool.download_external_helm_plugin", - "output_type": "HelmPlugin", - "provider": "pants.backend.experimental.helm" - }, - "pants.backend.helm.util_rules.tool.helm_process": { - "description": null, - "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["HelmProcess", "HelmBinary", "HelmSubsystem"], - "name": "pants.backend.helm.util_rules.tool.helm_process", - "output_type": "Process", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Batch", + "Yapf" + ], + "name": "pants.backend.python.lint.yapf.rules.yapf_fmt", + "output_type": "FixResult", + "provider": "pants.backend.python.lint.yapf" }, - "pants.backend.helm.util_rules.tool.setup_helm": { - "description": "Download and configure Helm", + "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements": { + "description": "Generate `python_requirement` targets from Pipfile.lock", "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + "Get(TargetAdaptor, TargetAdaptorRequest, ..)", + "Get(DigestContents, PathGlobs, ..)" ], - "input_types": ["HelmSubsystem", "HelmPlugins", "Platform"], - "name": "pants.backend.helm.util_rules.tool.setup_helm", - "output_type": "HelmBinary", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "GenerateFromPipenvRequirementsRequest", + "UnionMembership", + "PythonSetup" + ], + "name": "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements", + "output_type": "GeneratedTargets", + "provider": "pants.backend.python" }, - "pants.backend.java.bsp.rules.bsp_java_compile_request": { - "description": null, + "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement": { + "description": "Generate `python_requirement` targets from Poetry pyproject.toml", "documentation": null, "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(CoursierResolveKey, CoarsenedTargets, ..)", - "Get(FallibleClasspathEntry, BSPClasspathEntryRequest, ..)", - "Get(LooseClassfiles, ClasspathEntry, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(TargetAdaptor, TargetAdaptorRequest, ..)", + "Get(DigestContents, PathGlobs, ..)" ], - "input_types": ["JavaBSPCompileRequest", "ClasspathEntryRequestFactory"], - "name": "pants.backend.java.bsp.rules.bsp_java_compile_request", - "output_type": "BSPCompileResult", - "provider": "pants.backend.experimental.java" + "input_types": [ + "GenerateFromPoetryRequirementsRequest", + "BuildRoot", + "UnionMembership", + "PythonSetup" + ], + "name": "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement", + "output_type": "GeneratedTargets", + "provider": "pants.backend.python" }, - "pants.backend.java.bsp.rules.bsp_java_resources_request": { - "description": null, + "pants.backend.python.macros.python_requirements.generate_from_python_requirement": { + "description": "Generate `python_requirement` targets from requirements.txt or PEP 621 compliant pyproject.toml", "documentation": null, "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(TargetAdaptor, TargetAdaptorRequest, ..)", + "Get(DigestContents, PathGlobs, ..)" ], - "input_types": ["JavaBSPResourcesRequest", "BuildRoot"], - "name": "pants.backend.java.bsp.rules.bsp_java_resources_request", - "output_type": "BSPResourcesResult", - "provider": "pants.backend.experimental.java" + "input_types": [ + "GenerateFromPythonRequirementsRequest", + "UnionMembership", + "PythonSetup" + ], + "name": "pants.backend.python.macros.python_requirements.generate_from_python_requirement", + "output_type": "GeneratedTargets", + "provider": "pants.backend.python" }, - "pants.backend.java.bsp.rules.bsp_javac_options_request": { - "description": null, + "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints": { + "description": "`py-constraints` goal", "documentation": null, "input_gets": [ - "Get(HandleJavacOptionsResult, HandleJavacOptionsRequest, ..)" + "Get(AllTargets)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Dependents, DependentsRequest, ..)" ], - "input_types": ["JavacOptionsParams"], - "name": "pants.backend.java.bsp.rules.bsp_javac_options_request", - "output_type": "JavacOptionsResult", - "provider": "pants.backend.experimental.java" + "input_types": [ + "Addresses", + "Console", + "PyConstraintsSubsystem", + "PythonSetup", + "RegisteredTargetTypes", + "UnionMembership" + ], + "name": "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", + "output_type": "PyConstraintsGoal", + "provider": "pants.backend.python.mixed_interpreter_constraints" }, - "pants.backend.java.bsp.rules.bsp_resolve_java_metadata": { + "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["JavaBSPBuildTargetsMetadataRequest"], - "name": "pants.backend.java.bsp.rules.bsp_resolve_java_metadata", - "output_type": "BSPBuildTargetsMetadataResult", - "provider": "pants.backend.experimental.java" + "input_gets": [ + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [], + "name": "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script", + "output_type": "PyoxidizerRunnerScript", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer" }, - "pants.backend.java.bsp.rules.handle_bsp_java_options_request": { + "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["HandleJavacOptionsRequest", "BuildRoot"], - "name": "pants.backend.java.bsp.rules.handle_bsp_java_options_request", - "output_type": "HandleJavacOptionsResult", - "provider": "pants.backend.experimental.java" - }, - "pants.backend.java.compile.javac.compile_java_source": { - "description": "Compile with javac", - "documentation": null, "input_gets": [ - "Get(FallibleClasspathEntries, ClasspathEntryRequests, ..)", - "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)", - "Get(JavaInferredDependencies, JavaInferredDependenciesAndExportsRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", + "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Pex, PexRequest, ..)", "Get(Digest, CreateDigest, ..)", - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(FallibleProcessResult, JvmProcess, ..)", - "Get(Snapshot, Digest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Process, PexProcess, ..)", "Get(ProcessResult, Process, ..)", - "Get(Digest, StripJarRequest, ..)" + "Get(Digest, RemovePrefix, ..)", + "Get(Snapshot, AddPrefix, ..)" ], "input_types": [ + "PyOxidizer", + "PyOxidizerFieldSet", + "PyoxidizerRunnerScript", "BashBinary", - "JavacSubsystem", - "ZipBinary", - "JvmSubsystem", - "CompileJavaSourceRequest" + "Platform" ], - "name": "pants.backend.java.compile.javac.compile_java_source", - "output_type": "FallibleClasspathEntry", - "provider": "pants.backend.experimental.java" + "name": "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer" }, - "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies": { + "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary": { "description": null, "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, JavaParserToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(FallibleProcessResult, JvmProcess, ..)" + "Get(BuiltPackage, PackageFieldSet, ..)" ], "input_types": [ - "JavaParserCompiledClassfiles", - "InternalJdk", - "JavaSourceDependencyAnalysisRequest" - ], - "name": "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", - "output_type": "FallibleJavaSourceDependencyAnalysisResult", - "provider": "pants.backend.experimental.java" - }, - "pants.backend.java.dependency_inference.java_parser.build_processors": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(GenerateJvmLockfileFromTool, JavaParserToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "PyOxidizerFieldSet" ], - "input_types": ["InternalJdk"], - "name": "pants.backend.java.dependency_inference.java_parser.build_processors", - "output_type": "JavaParserCompiledClassfiles", - "provider": "pants.backend.experimental.java" - }, - "pants.backend.java.dependency_inference.java_parser.generate_java_parser_lockfile_request": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["JavaParserToolLockfileSentinel"], - "name": "pants.backend.java.dependency_inference.java_parser.generate_java_parser_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.java" + "name": "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", + "output_type": "RunRequest", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer" }, - "pants.backend.java.dependency_inference.java_parser.make_analysis_request_from_source_files": { + "pants.backend.python.providers.pyenv.custom_install.rules.make_synthetic_targets": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["SourceFiles"], - "name": "pants.backend.java.dependency_inference.java_parser.make_analysis_request_from_source_files", - "output_type": "JavaSourceDependencyAnalysisRequest", - "provider": "pants.backend.experimental.java" + "input_types": [ + "SyntheticPyenvTargetsRequest" + ], + "name": "pants.backend.python.providers.pyenv.custom_install.rules.make_synthetic_targets", + "output_type": "SyntheticAddressMaps", + "provider": "pants.backend.python.providers.experimental.pyenv.custom_install" }, - "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis": { + "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install": { "description": null, "documentation": null, - "input_gets": ["Get(DigestContents, Digest, ..)"], + "input_gets": [ + "Get(RunRequest, PyenvInstallInfoRequest, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)" + ], "input_types": [ - "FallibleJavaSourceDependencyAnalysisResult", - "KeepSandboxes" + "RunPyenvInstallFieldSet", + "Platform", + "PyenvPythonProviderSubsystem" ], - "name": "pants.backend.java.dependency_inference.java_parser.resolve_fallible_result_to_analysis", - "output_type": "JavaSourceDependencyAnalysis", - "provider": "pants.backend.experimental.java" + "name": "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", + "output_type": "RunRequest", + "provider": "pants.backend.python.providers.experimental.pyenv.custom_install" }, - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis": { - "description": "Inferring Java dependencies and exports by source analysis", + "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info": { + "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(JavaSourceDependencyAnalysis, JavaSourceDependencyAnalysisRequest, ..)" + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "JavaInferredDependenciesAndExportsRequest", - "JavaInferSubsystem", - "JvmSubsystem", - "SymbolMapping" + "PyenvInstallInfoRequest", + "PyenvPythonProviderSubsystem", + "EnvironmentAware", + "Platform", + "PythonBuildStandaloneBinary" ], - "name": "pants.backend.java.dependency_inference.rules.infer_java_dependencies_and_exports_via_source_analysis", - "output_type": "JavaInferredDependencies", - "provider": "pants.backend.experimental.java" + "name": "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", + "output_type": "RunRequest", + "provider": "pants.backend.python.providers.experimental.pyenv" }, - "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis": { - "description": "Inferring Java dependencies by source analysis", + "pants.backend.python.providers.pyenv.rules.get_python": { + "description": null, "documentation": null, "input_gets": [ - "Get(JavaInferredDependencies, JavaInferredDependenciesAndExportsRequest, ..)" + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(RunRequest, PyenvInstallInfoRequest, ..)", + "Get(ProcessResult, Process, ..)" ], - "input_types": ["InferJavaSourceDependencies"], - "name": "pants.backend.java.dependency_inference.rules.infer_java_dependencies_via_source_analysis", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.java" + "input_types": [ + "PyenvPythonProvider", + "PythonSetup", + "Platform", + "PyenvPythonProviderSubsystem" + ], + "name": "pants.backend.python.providers.pyenv.rules.get_python", + "output_type": "PythonExecutable", + "provider": "pants.backend.python.providers.experimental.pyenv" }, - "pants.backend.java.dependency_inference.symbol_mapper.find_all_java_targets": { - "description": "Find all Java targets in project", + "pants.backend.python.target_types_rules.generate_targets_from_pex_binaries": { + "description": null, "documentation": null, "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.java.dependency_inference.symbol_mapper.find_all_java_targets", - "output_type": "AllJavaTargets", - "provider": "pants.backend.experimental.java" + "input_types": [ + "GenerateTargetsFromPexBinaries", + "UnionMembership" + ], + "name": "pants.backend.python.target_types_rules.generate_targets_from_pex_binaries", + "output_type": "GeneratedTargets", + "provider": "pants.backend.python" }, - "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols": { - "description": "Map all first party Java targets to their packages", + "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency": { + "description": "Inferring dependency from the pex_binary `entry_point` field", "documentation": null, "input_gets": [ - "Get(JavaSourceDependencyAnalysis, SourceFilesRequest, ..)" + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" ], "input_types": [ - "FirstPartyJavaTargetsMappingRequest", - "AllJavaTargets", - "JvmSubsystem" + "InferPexBinaryEntryPointDependency", + "PythonInferSubsystem", + "PythonSetup" ], - "name": "pants.backend.java.dependency_inference.symbol_mapper.map_first_party_java_targets_to_symbols", - "output_type": "SymbolMap", - "provider": "pants.backend.experimental.java" + "name": "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", + "output_type": "InferredDependencies", + "provider": "pants.backend.python" }, - "pants.backend.java.goals.check.javac_check": { - "description": "Check javac compilation", - "documentation": null, + "pants.backend.python.target_types_rules.infer_python_distribution_dependencies": { + "description": null, + "documentation": "Infer dependencies that we can infer from entry points in the distribution.", "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(CoursierResolveKey, CoarsenedTargets, ..)", - "Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)" + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(ResolvedPythonDistributionEntryPoints, ResolvePythonDistributionEntryPointsRequest, ..)", + "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" ], - "input_types": ["JavacCheckRequest", "ClasspathEntryRequestFactory"], - "name": "pants.backend.java.goals.check.javac_check", - "output_type": "CheckResults", - "provider": "pants.backend.experimental.java" + "input_types": [ + "InferPythonDistributionDependencies", + "PythonInferSubsystem" + ], + "name": "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.python" }, - "pants.backend.java.goals.tailor.find_putative_targets": { - "description": "Determine candidate Java targets to create", + "pants.backend.python.target_types_rules.python_files_generator_settings": { + "description": null, "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], + "input_gets": [], "input_types": [ - "PutativeJavaTargetsRequest", - "AllOwnedSources", - "JavacSubsystem" + "PythonFilesGeneratorSettingsRequest", + "PythonInferSubsystem" ], - "name": "pants.backend.java.goals.tailor.find_putative_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.experimental.java" + "name": "pants.backend.python.target_types_rules.python_files_generator_settings", + "output_type": "TargetFilesGeneratorSettings", + "provider": "pants.backend.python" }, - "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request": { + "pants.backend.python.target_types_rules.python_resolve_field_default_factory": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "GoogleJavaFormatToolLockfileSentinel", - "GoogleJavaFormatSubsystem" + "PythonResolveFieldDefaultFactoryRequest", + "PythonSetup" ], - "name": "pants.backend.java.lint.google_java_format.rules.generate_google_java_format_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.java.lint.google_java_format" + "name": "pants.backend.python.target_types_rules.python_resolve_field_default_factory", + "output_type": "FieldDefaultFactoryResult", + "provider": "pants.backend.python" }, - "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt": { - "description": "Format with Google Java Format", + "pants.backend.python.target_types_rules.resolve_pex_entry_point": { + "description": "Determining the entry point for a `pex_binary` target", "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, GoogleJavaFormatToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(Paths, PathGlobs, ..)", + "Get(SourceRoot, SourceRootRequest, ..)" ], - "input_types": ["Batch", "GoogleJavaFormatSubsystem", "InternalJdk"], - "name": "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", - "output_type": "FixResult", - "provider": "pants.backend.experimental.java.lint.google_java_format" + "input_types": [ + "ResolvePexEntryPointRequest" + ], + "name": "pants.backend.python.target_types_rules.resolve_pex_entry_point", + "output_type": "ResolvedPexEntryPoint", + "provider": "pants.backend.python" }, - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies": { - "description": null, + "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points": { + "description": "Determining the entry points for a `python_distribution` target", "documentation": null, "input_gets": [ - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(OwningNodePackage, OwningNodePackageRequest, ..)", - "Get(InferenceMetadata, PackageJsonSourceField, ..)", - "Get(NativeParsedJavascriptDependencies, NativeDependenciesRequest, ..)", - "Get(Owners, OwnersRequest, ..)", + "Get(Addresses, UnparsedAddressInputs, ..)", "Get(Targets, Addresses, ..)", - "Get(NodePackageCandidateMap, RequestNodePackagesCandidateMap, ..)" + "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)" ], - "input_types": ["InferJSDependenciesRequest", "NodeJSInfer"], - "name": "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "ResolvePythonDistributionEntryPointsRequest" + ], + "name": "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points", + "output_type": "ResolvedPythonDistributionEntryPoints", + "provider": "pants.backend.python" }, - "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies": { + "pants.backend.python.target_types_rules.validate_python_dependencies": { "description": null, "documentation": null, "input_gets": [ - "Get(PackageJsonEntryPoints, PackageJsonSourceField, ..)", - "Get(Owners, OwnersRequest, ..)", - "Get(Targets, Addresses, ..)" + "Get(WrappedTarget, WrappedTargetRequest, ..)" ], - "input_types": ["InferNodePackageDependenciesRequest", "NodeJSInfer"], - "name": "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages": { - "description": null, - "documentation": null, - "input_gets": ["Get(OwningNodePackage, OwningNodePackageRequest, ..)"], "input_types": [ - "RequestNodePackagesCandidateMap", - "FirstPartyNodePackageTargets" + "PythonValidateDependenciesRequest", + "PythonSetup" ], - "name": "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages", - "output_type": "NodePackageCandidateMap", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.dependency_inference.rules.prepare_inference_metadata": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["PackageJsonImports"], - "name": "pants.backend.javascript.dependency_inference.rules.prepare_inference_metadata", - "output_type": "InferenceMetadata", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "name": "pants.backend.python.target_types_rules.validate_python_dependencies", + "output_type": "ValidatedDependencies", + "provider": "pants.backend.python" }, - "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package": { - "description": null, + "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment": { + "description": "Get mypyc build environment", "documentation": null, "input_gets": [ - "Get(InstalledNodePackage, InstalledNodePackageRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Pex, PexRequest, ..)", + "Get(Pex, RequirementsPexRequest, ..)" ], - "input_types": ["InstalledNodePackageRequest"], - "name": "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package", - "output_type": "InstalledNodePackageWithSource", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "MyPycDistBuildEnvironmentRequest", + "MyPyFirstPartyPlugins", + "MyPyConfigFile", + "MyPy" + ], + "name": "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", + "output_type": "DistBuildEnvironment", + "provider": "pants.backend.python.typecheck.mypy" }, - "pants.backend.javascript.install_node_package.install_node_packages_for_address": { - "description": null, + "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions": { + "description": "Determine if necessary to partition MyPy input", "documentation": null, "input_gets": [ - "Get(NodeJsProjectEnvironment, NodeJSProjectEnvironmentRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(InstalledNodePackageWithSource, InstalledNodePackageRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, NodeJsProjectEnvironmentProcess, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(CoarsenedTargets, CoarsenedTargetsRequest, ..)" ], - "input_types": ["InstalledNodePackageRequest", "UnionMembership"], - "name": "pants.backend.javascript.install_node_package.install_node_packages_for_address", - "output_type": "InstalledNodePackage", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.nodejs_project.find_node_js_projects": { - "description": null, - "documentation": null, - "input_gets": ["Get(StrippedFileName, StrippedFileNameRequest, ..)"], "input_types": [ - "AllPackageJson", - "PnpmWorkspaces", - "NodeJS", - "UserChosenNodeJSResolveAliases" + "MyPyRequest", + "MyPy", + "PythonSetup" ], - "name": "pants.backend.javascript.nodejs_project.find_node_js_projects", - "output_type": "AllNodeJSProjects", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "name": "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", + "output_type": "MyPyPartitions", + "provider": "pants.backend.python.typecheck.mypy" }, - "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment": { - "description": "Assembling nodejs project environment", + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck": { + "description": "Typecheck using MyPy", "documentation": null, "input_gets": [ - "Get(ChosenNodeResolve, RequestNodeResolve, ..)", - "Get(OwningNodePackage, OwningNodePackageRequest, ..)" + "Get(MyPyPartitions, MyPyRequest, ..)", + "Get(CheckResult, MyPyPartition, ..)" ], - "input_types": ["NodeJSProjectEnvironmentRequest"], - "name": "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment", - "output_type": "NodeJsProjectEnvironment", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "MyPyRequest", + "MyPy" + ], + "name": "pants.backend.python.typecheck.mypy.rules.mypy_typecheck", + "output_type": "CheckResults", + "provider": "pants.backend.python.typecheck.mypy" }, - "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process": { + "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, PathGlobs, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Pex, RequirementsPexRequest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(PexResolveInfo, VenvPex, ..)", "Get(Digest, MergeDigests, ..)", - "Get(Process, NodeJSToolProcess, ..)" + "Get(Process, VenvPexProcess, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "input_types": ["NodeJsProjectEnvironmentProcess"], - "name": "pants.backend.javascript.nodejs_project_environment.setup_nodejs_project_environment_process", - "output_type": "Process", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.package_json.all_first_party_node_package_targets": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.javascript.package_json.all_first_party_node_package_targets", - "output_type": "FirstPartyNodePackageTargets", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "MyPyPartition", + "MyPyConfigFile", + "MyPyFirstPartyPlugins", + "BuildRoot", + "MyPy", + "PythonSetup", + "MkdirBinary", + "MktempBinary", + "CpBinary", + "MvBinary", + "LnBinary", + "GlobalOptions" + ], + "name": "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", + "output_type": "CheckResult", + "provider": "pants.backend.python.typecheck.mypy" }, - "pants.backend.javascript.package_json.all_package_json": { + "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins": { "description": null, "documentation": null, "input_gets": [ - "Get(ResolvedTargetGeneratorRequests, ResolveAllTargetGeneratorRequests, ..)", - "Get(PackageJsonForGlobs, PathGlobs, ..)" + "Get(Addresses, UnparsedAddressInputs, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)" ], - "input_types": [], - "name": "pants.backend.javascript.package_json.all_package_json", - "output_type": "AllPackageJson", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.package_json.all_package_json_names": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["AllPackageJson"], - "name": "pants.backend.javascript.package_json.all_package_json_names", - "output_type": "AllPackageJsonNames", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "MyPy" + ], + "name": "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", + "output_type": "MyPyFirstPartyPlugins", + "provider": "pants.backend.python.typecheck.mypy" }, - "pants.backend.javascript.package_json.find_owning_package": { + "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, RawSpecs, ..)", - "Get(Targets, DependenciesRequest, ..)" + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(DigestContents, Digest, ..)" ], - "input_types": ["OwningNodePackageRequest"], - "name": "pants.backend.javascript.package_json.find_owning_package", - "output_type": "OwningNodePackage", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.package_json.generate_node_package_targets": { - "description": null, - "documentation": null, - "input_gets": ["Get(PackageJson, PackageJsonSourceField, ..)"], "input_types": [ - "GenerateNodePackageTargets", - "UnionMembership", - "AllPackageJsonNames" + "MyPy" ], - "name": "pants.backend.javascript.package_json.generate_node_package_targets", - "output_type": "GeneratedTargets", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.package_json.package_json_for_source": { - "description": null, - "documentation": null, - "input_gets": ["Get(PackageJsonForGlobs, PathGlobs, ..)"], - "input_types": ["PackageJsonSourceField"], - "name": "pants.backend.javascript.package_json.package_json_for_source", - "output_type": "PackageJson", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "name": "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", + "output_type": "MyPyConfigFile", + "provider": "pants.backend.python.typecheck.mypy" }, - "pants.backend.javascript.package_json.parse_package_json": { - "description": null, + "pants.backend.python.typecheck.pyright.rules.pyright_determine_partitions": { + "description": "Determine if it is necessary to partition Pyright's input (interpreter_constraints and resolves)", "documentation": null, - "input_gets": ["Get(Snapshot, PathGlobs, ..)"], - "input_types": ["FileContent"], - "name": "pants.backend.javascript.package_json.parse_package_json", - "output_type": "PackageJson", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_gets": [ + "Get(CoarsenedTargets, CoarsenedTargetsRequest, ..)" + ], + "input_types": [ + "PyrightRequest", + "Pyright", + "PythonSetup" + ], + "name": "pants.backend.python.typecheck.pyright.rules.pyright_determine_partitions", + "output_type": "PyrightPartitions", + "provider": "pants.backend.experimental.python.typecheck.pyright" }, - "pants.backend.javascript.package_json.pnpm_workspace_files": { - "description": null, + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck": { + "description": "Typecheck using Pyright", "documentation": null, "input_gets": [ - "Get(Snapshot, PathGlobs, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(PyrightPartitions, PyrightRequest, ..)", + "Get(CheckResult, PyrightPartition, ..)" ], - "input_types": ["AllPackageJson"], - "name": "pants.backend.javascript.package_json.pnpm_workspace_files", - "output_type": "PnpmWorkspaces", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "PyrightRequest", + "Pyright" + ], + "name": "pants.backend.python.typecheck.pyright.rules.pyright_typecheck", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.python.typecheck.pyright" }, - "pants.backend.javascript.package_json.read_package_jsons": { - "description": null, + "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition": { + "description": "Pyright typecheck each partition based on its interpreter_constraints", "documentation": null, "input_gets": [ - "Get(Snapshot, PathGlobs, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(Pex, RequirementsPexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(VenvPex, VenvPexRequest, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Digest, CreateDigest, ..)", "Get(DigestContents, Digest, ..)", - "Get(PackageJson, FileContent, ..)" + "Get(Digest, MergeDigests, ..)", + "Get(Process, NodeJSToolRequest, ..)", + "Get(FallibleProcessResult, Process, ..)" ], - "input_types": ["PathGlobs"], - "name": "pants.backend.javascript.package_json.read_package_jsons", - "output_type": "PackageJsonForGlobs", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.package_json.script_entrypoints_for_source": { - "description": null, - "documentation": null, - "input_gets": ["Get(PackageJson, PackageJsonSourceField, ..)"], - "input_types": ["PackageJsonSourceField"], - "name": "pants.backend.javascript.package_json.script_entrypoints_for_source", - "output_type": "PackageJsonEntryPoints", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.package_json.subpath_imports_for_source": { - "description": null, - "documentation": null, - "input_gets": ["Get(PackageJson, PackageJsonSourceField, ..)"], - "input_types": ["PackageJsonSourceField"], - "name": "pants.backend.javascript.package_json.subpath_imports_for_source", - "output_type": "PackageJsonImports", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "PyrightPartition", + "Pyright", + "PexEnvironment" + ], + "name": "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", + "output_type": "CheckResult", + "provider": "pants.backend.experimental.python.typecheck.pyright" }, - "pants.backend.javascript.resolve.resolve_for_package": { - "description": null, + "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions": { + "description": "Determine if it is necessary to partition Pytype's input (interpreter_constraints and resolves)", "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(OwningNodePackage, OwningNodePackageRequest, ..)" + "Get(CoarsenedTargets, CoarsenedTargetsRequest, ..)" ], - "input_types": ["RequestNodeResolve", "AllNodeJSProjects"], - "name": "pants.backend.javascript.resolve.resolve_for_package", - "output_type": "ChosenNodeResolve", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.resolve.resolve_to_first_party_node_package": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["NodeJSProjectResolves", "FirstPartyNodePackageTargets"], - "name": "pants.backend.javascript.resolve.resolve_to_first_party_node_package", - "output_type": "FirstPartyNodePackageResolves", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.resolve.resolve_to_projects": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["AllNodeJSProjects", "UserChosenNodeJSResolveAliases"], - "name": "pants.backend.javascript.resolve.resolve_to_projects", - "output_type": "NodeJSProjectResolves", - "provider": "pants.backend.experimental.openapi.lint.spectral" - }, - "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries": { - "description": "Finding Node.js distribution binaries.", - "documentation": null, - "input_gets": ["Get(DownloadedExternalTool, ExternalToolRequest, ..)"], - "input_types": ["NodeJS", "Platform", "_BinaryPathsPerVersion"], - "name": "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", - "output_type": "NodeJSBinaries", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "PytypeRequest", + "Pytype", + "PythonSetup" + ], + "name": "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", + "output_type": "PytypePartitions", + "provider": "pants.backend.experimental.python.typecheck.pytype" }, - "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version": { - "description": "Testing for Node.js binaries.", + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck": { + "description": "Typecheck using Pytype", "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["NodeJSBootstrap"], - "name": "pants.backend.javascript.subsystems.nodejs.get_valid_nodejs_paths_by_version", - "output_type": "_BinaryPathsPerVersion", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_gets": [ + "Get(PytypePartitions, PytypeRequest, ..)", + "Get(CheckResult, PytypePartition, ..)" + ], + "input_types": [ + "PytypeRequest", + "Pytype" + ], + "name": "pants.backend.python.typecheck.pytype.rules.pytype_typecheck", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.python.typecheck.pytype" }, - "pants.backend.javascript.subsystems.nodejs.node_process_environment": { - "description": null, + "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition": { + "description": "Pytype typecheck each partition based on its interpreter_constraints", "documentation": null, "input_gets": [ - "Get(BinaryShims, BinaryShimsRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(Digest, CreateDigest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Pex, RequirementsPexRequest, ..)", + "Get(Pex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)" + "Get(VenvPex, VenvPexRequest, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)" ], - "input_types": ["NodeJSBinaries", "EnvironmentAware"], - "name": "pants.backend.javascript.subsystems.nodejs.node_process_environment", - "output_type": "NodeJSProcessEnvironment", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "PytypePartition", + "Pytype", + "PexEnvironment" + ], + "name": "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", + "output_type": "CheckResult", + "provider": "pants.backend.experimental.python.typecheck.pytype" }, - "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap": { + "pants.backend.python.util_rules.ancestor_files.find_ancestor_files": { "description": null, "documentation": null, "input_gets": [ - "Get(ValidatedSearchPaths, ValidateSearchPathsRequest, ..)", - "Get(AsdfToolPathsResult, AsdfToolPathsRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(VersionManagerSearchPaths, VersionManagerSearchPathsRequest, ..)", - "Get(PathEnvironmentVariable)" + "Get(DigestContents, PathGlobs, ..)", + "Get(Snapshot, PathGlobs, ..)" ], - "input_types": ["EnvironmentAware"], - "name": "pants.backend.javascript.subsystems.nodejs.nodejs_bootstrap", - "output_type": "NodeJSBootstrap", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "AncestorFilesRequest" + ], + "name": "pants.backend.python.util_rules.ancestor_files.find_ancestor_files", + "output_type": "AncestorFiles", + "provider": "pants.backend.python" }, - "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool": { - "description": "Preparing Corepack managed tool.", + "pants.backend.python.util_rules.dists.find_build_system": { + "description": null, "documentation": null, - "input_gets": ["Get(ProcessResult, Process, ..)"], + "input_gets": [ + "Get(DigestContents, DigestSubset, ..)" + ], "input_types": [ - "CorepackToolRequest", - "NodeJSProcessEnvironment", - "NodeJS" + "BuildSystemRequest", + "Setuptools" ], - "name": "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", - "output_type": "CorepackToolDigest", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "name": "pants.backend.python.util_rules.dists.find_build_system", + "output_type": "BuildSystem", + "provider": "pants.backend.python" }, - "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process": { + "pants.backend.python.util_rules.dists.run_pep517_build": { "description": null, "documentation": null, "input_gets": [ - "Get(CorepackToolDigest, CorepackToolRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(VenvPex, PexRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["NodeJSToolProcess", "NodeJSProcessEnvironment"], - "name": "pants.backend.javascript.subsystems.nodejs.setup_node_tool_process", - "output_type": "Process", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "DistBuildRequest", + "PythonSetup" + ], + "name": "pants.backend.python.util_rules.dists.run_pep517_build", + "output_type": "DistBuildResult", + "provider": "pants.backend.python" }, - "pants.backend.javascript.subsystems.nodejs.user_chosen_resolve_aliases": { + "pants.backend.python.util_rules.faas.build_python_faas": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["NodeJS"], - "name": "pants.backend.javascript.subsystems.nodejs.user_chosen_resolve_aliases", - "output_type": "UserChosenNodeJSResolveAliases", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_gets": [ + "Get(RuntimePlatforms, RuntimePlatformsRequest, ..)", + "Get(ResolvedPythonFaaSHandler, ResolvePythonFaaSHandlerRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Pex, PexFromTargetsRequest, ..)", + "Get(PexVenv, PexVenvRequest, ..)" + ], + "input_types": [ + "BuildPythonFaaSRequest" + ], + "name": "pants.backend.python.util_rules.faas.build_python_faas", + "output_type": "BuiltPackage", + "provider": "pants.backend.awslambda.python" }, - "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process": { + "pants.backend.python.util_rules.faas.digest_complete_platforms": { "description": null, "documentation": null, "input_gets": [ - "Get(NodeJS)", - "Get(Process, NodeJSToolProcess, ..)", - "Get(NodeJSProjectResolves)", - "Get(FirstPartyNodePackageResolves)", - "Get(InstalledNodePackage, InstalledNodePackageRequest, ..)", - "Get(Process, NodeJsProjectEnvironmentProcess, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(CompletePlatforms, UnparsedAddressInputs, ..)" ], - "input_types": ["NodeJSToolRequest"], - "name": "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", - "output_type": "Process", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "PythonFaaSCompletePlatforms" + ], + "name": "pants.backend.python.util_rules.faas.digest_complete_platforms", + "output_type": "CompletePlatforms", + "provider": "pants.backend.awslambda.python" }, - "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source": { - "description": "Compile with kotlinc", + "pants.backend.python.util_rules.faas.infer_faas_handler_dependency": { + "description": "Inferring dependency from the python FaaS `handler` field", "documentation": null, "input_gets": [ - "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(KotlincPluginTargetsForTarget, KotlincPluginsForTargetRequest, ..)", - "Get(KotlincPlugins, KotlincPluginsRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(FallibleProcessResult, JvmProcess, ..)" + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(ResolvedPythonFaaSHandler, ResolvePythonFaaSHandlerRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)", + "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" ], "input_types": [ - "KotlinSubsystem", - "KotlincSubsystem", - "CompileKotlinSourceRequest" + "InferPythonFaaSHandlerDependency", + "PythonInferSubsystem", + "PythonSetup" ], - "name": "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", - "output_type": "FallibleClasspathEntry", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", + "output_type": "InferredDependencies", + "provider": "pants.backend.awslambda.python" }, - "pants.backend.kotlin.compile.kotlinc_plugins.add_resolve_name_to_plugin_request": { + "pants.backend.python.util_rules.faas.infer_runtime_platforms": { "description": null, "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(CompletePlatforms, PythonFaaSCompletePlatforms, ..)", + "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)", + "Get(Snapshot, CreateDigest, ..)" + ], "input_types": [ - "KotlincPluginsForTargetWithoutResolveRequest", - "JvmSubsystem" + "RuntimePlatformsRequest" ], - "name": "pants.backend.kotlin.compile.kotlinc_plugins.add_resolve_name_to_plugin_request", - "output_type": "KotlincPluginsForTargetRequest", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.faas.infer_runtime_platforms", + "output_type": "RuntimePlatforms", + "provider": "pants.backend.awslambda.python" }, - "pants.backend.kotlin.compile.kotlinc_plugins.all_kotlinc_plugin_targets": { - "description": null, + "pants.backend.python.util_rules.faas.resolve_python_faas_handler": { + "description": "Determining the handler for a python FaaS target", "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.kotlin.compile.kotlinc_plugins.all_kotlinc_plugin_targets", - "output_type": "AllKotlincPluginTargets", - "provider": "pants.backend.experimental.kotlin" + "input_gets": [ + "Get(Paths, PathGlobs, ..)", + "Get(SourceRoot, SourceRootRequest, ..)" + ], + "input_types": [ + "ResolvePythonFaaSHandlerRequest" + ], + "name": "pants.backend.python.util_rules.faas.resolve_python_faas_handler", + "output_type": "ResolvedPythonFaaSHandler", + "provider": "pants.backend.awslambda.python" }, - "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins": { - "description": null, + "pants.backend.python.util_rules.local_dists.build_local_dists": { + "description": "Building local distributions", "documentation": null, "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(FallibleClasspathEntry, CoursierFetchRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(LocalDistWheels, PythonDistributionFieldSet, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Pex, PexRequest, ..)", + "Get(Snapshot, DigestSubset, ..)" ], - "input_types": ["KotlincPluginsRequest"], - "name": "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", - "output_type": "KotlincPlugins", - "provider": "pants.backend.experimental.kotlin" + "input_types": [ + "LocalDistsPexRequest" + ], + "name": "pants.backend.python.util_rules.local_dists.build_local_dists", + "output_type": "LocalDistsPex", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target": { + "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels": { "description": null, "documentation": null, "input_gets": [ - "Get(Address, AddressInput, ..)", - "Get(Targets, Addresses, ..)" + "Get(BuiltPackage, PackageFieldSet, ..)", + "Get(Snapshot, DigestSubset, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(ProcessResult, Process, ..)" ], "input_types": [ - "KotlincPluginsForTargetRequest", - "AllKotlincPluginTargets", - "JvmSubsystem", - "KotlincSubsystem" + "PythonDistributionFieldSet", + "BashBinary", + "UnzipBinary" ], - "name": "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", - "output_type": "KotlincPluginTargetsForTarget", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", + "output_type": "LocalDistWheels", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies": { - "description": null, + "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists": { + "description": "Building editable local distributions (PEP 660)", "documentation": null, "input_gets": [ - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(GenerateJvmLockfileFromTool, KotlinParserToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(FallibleProcessResult, JvmProcess, ..)" + "Get(LocalDistPEP660Wheels, PythonDistributionFieldSet, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["KotlinParserCompiledClassfiles", "SourceFiles"], - "name": "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", - "output_type": "FallibleKotlinSourceDependencyAnalysisResult", - "provider": "pants.backend.experimental.kotlin" + "input_types": [ + "EditableLocalDistsRequest", + "ResolveSortedPythonDistributionTargets", + "PythonSetup" + ], + "name": "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists", + "output_type": "EditableLocalDists", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.dependency_inference.kotlin_parser.generate_kotlin_parser_lockfile_request": { - "description": null, + "pants.backend.python.util_rules.local_dists_pep660.find_all_python_distributions": { + "description": "Find all Python Distribution targets in project", "documentation": null, "input_gets": [], - "input_types": ["KotlinParserToolLockfileSentinel"], - "name": "pants.backend.kotlin.dependency_inference.kotlin_parser.generate_kotlin_parser_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.kotlin" + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.python.util_rules.local_dists_pep660.find_all_python_distributions", + "output_type": "AllPythonDistributionTargets", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis": { + "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels": { "description": null, "documentation": null, - "input_gets": ["Get(DigestContents, Digest, ..)"], + "input_gets": [ + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(DistBuildChroot, DistBuildChrootRequest, ..)", + "Get(SourceRootsResult, SourceRootsRequest, ..)", + "Get(DistBuildEnvironment, DistBuildEnvironmentRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(BuildSystem, BuildSystemRequest, ..)", + "Get(PEP660BuildResult, DistBuildRequest, ..)", + "Get(Snapshot, DigestSubset, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(ProcessResult, Process, ..)" + ], "input_types": [ - "FallibleKotlinSourceDependencyAnalysisResult", - "KeepSandboxes" + "PythonDistributionFieldSet", + "BashBinary", + "UnzipBinary", + "PythonSetup", + "UnionMembership" ], - "name": "pants.backend.kotlin.dependency_inference.kotlin_parser.resolve_fallible_result_to_analysis", - "output_type": "KotlinSourceDependencyAnalysis", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", + "output_type": "LocalDistPEP660Wheels", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles": { + "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build": { "description": null, - "documentation": null, + "documentation": "Run our PEP 517 / PEP 660 wrapper script to generate an editable wheel.\n\nThe PEP 517 / PEP 660 wraper script is responsible for building the editable wheel.\nThe backend wrapper script, along with the commands that install the editable wheel,\nneed to conform to the following specs so that Pants is a PEP 660 compliant frontend,\na PEP 660 compliant backend, and that it builds a compliant wheel and install.\n\nNOTE: PEP 660 does not address the `.data` directory, so the wrapper ignores it.\n\nRelevant Specs:\n https://peps.python.org/pep-0517/\n https://peps.python.org/pep-0660/\n https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/\n https://packaging.python.org/en/latest/specifications/recording-installed-packages/\n https://packaging.python.org/en/latest/specifications/direct-url-data-structure/\n https://packaging.python.org/en/latest/specifications/binary-distribution-format/", "input_gets": [ - "Get(GenerateJvmLockfileFromTool, KotlinParserToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", "Get(Digest, CreateDigest, ..)", + "Get(VenvPex, PexRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["InternalJdk"], - "name": "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", - "output_type": "KotlinParserCompiledClassfiles", - "provider": "pants.backend.experimental.kotlin" + "input_types": [ + "DistBuildRequest", + "PythonSetup", + "BuildRoot" + ], + "name": "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", + "output_type": "PEP660BuildResult", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis": { - "description": "Inferring Kotlin dependencies by analyzing sources", + "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve": { + "description": "Associate resolves with all Python Distribution targets in project", "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(KotlinSourceDependencyAnalysis, SourceFilesRequest, ..)" + "Get(OwnedDependencies, DependencyOwner, ..)" ], "input_types": [ - "InferKotlinSourceDependencies", - "KotlinInferSubsystem", - "JvmSubsystem", - "SymbolMapping" + "AllPythonDistributionTargets", + "PythonSetup" ], - "name": "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve", + "output_type": "ResolveSortedPythonDistributionTargets", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency": { - "description": "Infer dependency on Kotlin runtime artifacts for Kotlin targets.", + "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs": { + "description": null, "documentation": null, "input_gets": [ - "Get(KotlinRuntimeForResolve, KotlinRuntimeForResolveRequest, ..)" + "Get(SetupKwargs, SetupKwargsRequest, ..)" ], - "input_types": ["InferKotlinRuntimeDependencyRequest", "JvmSubsystem"], - "name": "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.kotlin" - }, - "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve": { - "description": null, - "documentation": null, - "input_gets": [], "input_types": [ - "KotlinRuntimeForResolveRequest", - "AllJvmArtifactTargets", - "JvmSubsystem", - "KotlinSubsystem" + "ExportedTarget", + "UnionMembership" ], - "name": "pants.backend.kotlin.dependency_inference.rules.resolve_kotlin_runtime_for_resolve", - "output_type": "KotlinRuntimeForResolve", - "provider": "pants.backend.experimental.kotlin" - }, - "pants.backend.kotlin.dependency_inference.symbol_mapper.find_all_kotlin_targets": { - "description": "Find all Kotlin targets in project", - "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.kotlin.dependency_inference.symbol_mapper.find_all_kotlin_targets", - "output_type": "AllKotlinTargets", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs", + "output_type": "SetupKwargs", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols": { - "description": "Map all first party Kotlin targets to their symbols", + "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs": { + "description": null, "documentation": null, "input_gets": [ - "Get(KotlinSourceDependencyAnalysis, SourceFilesRequest, ..)" + "Get(ExportedTargetRequirements, DependencyOwner, ..)", + "Get(SetupKwargs, ExportedTarget, ..)", + "Get(DigestContents, PathGlobs, ..)", + "Get(ResolvedPythonDistributionEntryPoints, ResolvePythonDistributionEntryPointsRequest, ..)" ], "input_types": [ - "FirstPartyKotlinTargetsMappingRequest", - "AllKotlinTargets", - "JvmSubsystem" + "GenerateSetupPyRequest" ], - "name": "pants.backend.kotlin.dependency_inference.symbol_mapper.map_first_party_kotlin_targets_to_symbols", - "output_type": "SymbolMap", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", + "output_type": "FinalizedSetupKwargs", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.goals.check.kotlinc_check": { - "description": "Check compilation for Kotlin", + "pants.backend.python.util_rules.package_dists.generate_chroot": { + "description": null, "documentation": null, "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(CoursierResolveKey, CoarsenedTargets, ..)", - "Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)" + "Get(DistBuildSources, DistBuildChrootRequest, ..)", + "Get(GeneratedSetupPy, GenerateSetupPyRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)" ], - "input_types": ["KotlincCheckRequest", "ClasspathEntryRequestFactory"], - "name": "pants.backend.kotlin.goals.check.kotlinc_check", - "output_type": "CheckResults", - "provider": "pants.backend.experimental.kotlin" - }, - "pants.backend.kotlin.goals.tailor.find_putative_targets": { - "description": "Determine candidate Kotlin targets to create", - "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], "input_types": [ - "PutativeKotlinTargetsRequest", - "AllOwnedSources", - "KotlinSubsystem" + "DistBuildChrootRequest", + "SetupPyGeneration" ], - "name": "pants.backend.kotlin.goals.tailor.find_putative_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.package_dists.generate_chroot", + "output_type": "DistBuildChroot", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request": { + "pants.backend.python.util_rules.package_dists.generate_setup_py": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["KtlintToolLockfileSentinel", "KtlintSubsystem"], - "name": "pants.backend.kotlin.lint.ktlint.rules.generate_ktlint_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.kotlin.lint.ktlint" + "input_gets": [ + "Get(FinalizedSetupKwargs, GenerateSetupPyRequest, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "GenerateSetupPyRequest" + ], + "name": "pants.backend.python.util_rules.package_dists.generate_setup_py", + "output_type": "GeneratedSetupPy", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt": { - "description": "Format with Ktlint", - "documentation": null, + "pants.backend.python.util_rules.package_dists.get_exporting_owner": { + "description": "Get exporting owner for target", + "documentation": "Find the exported target that owns the given target (and therefore exports it).\n\nThe owner of T (i.e., the exported target in whose artifact T's code is published) is:\n\n 1. An exported target that depends on T (or is T itself).\n 2. Is T's closest filesystem ancestor among those satisfying 1.\n\nIf there are multiple such exported targets at the same degree of ancestry, the ownership\nis ambiguous and an error is raised. If there is no exported target that depends on T\nand is its ancestor, then there is no owner and an error is raised.", "input_gets": [ - "Get(GenerateJvmLockfileFromTool, KtlintToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(Targets, RawSpecs, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)" ], - "input_types": ["Batch", "KtlintSubsystem", "InternalJdk"], - "name": "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", - "output_type": "FixResult", - "provider": "pants.backend.experimental.kotlin.lint.ktlint" + "input_types": [ + "OwnedDependency" + ], + "name": "pants.backend.python.util_rules.package_dists.get_exporting_owner", + "output_type": "ExportedTarget", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency": { - "description": "Infer dependency on Kotlin Junit support artifact.", - "documentation": null, + "pants.backend.python.util_rules.package_dists.get_owned_dependencies": { + "description": "Find all code to be published in the distribution", + "documentation": "Find the dependencies of dependency_owner that are owned by it.\n\nIncludes dependency_owner itself.", "input_gets": [ - "Get(KotlinJunitLibrariesForResolve, KotlinJunitLibrariesForResolveRequest, ..)" + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(ExportedTarget, OwnedDependency, ..)" ], - "input_types": ["InferKotlinJunitTestDependencyRequest", "JvmSubsystem"], - "name": "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.kotlin" + "input_types": [ + "DependencyOwner", + "UnionMembership" + ], + "name": "pants.backend.python.util_rules.package_dists.get_owned_dependencies", + "output_type": "OwnedDependencies", + "provider": "pants.backend.python" }, - "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve": { - "description": null, + "pants.backend.python.util_rules.package_dists.get_requirements": { + "description": "Compute distribution's 3rd party requirements", "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(ExportedTarget, OwnedDependency, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(SetupKwargs, OwnedDependency, ..)" + ], "input_types": [ - "KotlinJunitLibrariesForResolveRequest", - "AllJvmArtifactTargets", - "JvmSubsystem", - "KotlinSubsystem" + "DependencyOwner", + "UnionMembership", + "SetupPyGeneration" ], - "name": "pants.backend.kotlin.test.junit.resolve_kotlin_junit_libraries_for_resolve", - "output_type": "KotlinJunitLibrariesForResolve", - "provider": "pants.backend.experimental.kotlin" + "name": "pants.backend.python.util_rules.package_dists.get_requirements", + "output_type": "ExportedTargetRequirements", + "provider": "pants.backend.python" }, - "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies": { + "pants.backend.python.util_rules.package_dists.get_sources": { "description": null, "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Targets, RawSpecs, ..)" + "Get(OwnedDependencies, DependencyOwner, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(StrippedPythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(DigestContents, DigestSubset, ..)" ], - "input_types": ["InferOpenApiDocumentDependenciesRequest"], - "name": "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.openapi" + "input_types": [ + "DistBuildChrootRequest", + "UnionMembership" + ], + "name": "pants.backend.python.util_rules.package_dists.get_sources", + "output_type": "DistBuildSources", + "provider": "pants.backend.python" }, - "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies": { + "pants.backend.python.util_rules.pex.build_pex": { "description": null, - "documentation": null, + "documentation": "Returns a PEX with the given settings.", "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(OpenApiDependencies, ParseOpenApiSources, ..)", - "Get(Targets, RawSpecs, ..)" + "Get(PythonExecutable, InterpreterConstraints, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(ResolvePexConfig, ResolvePexConfigRequest, ..)", + "Get(Lockfile, Resolve, ..)", + "Get(LoadedLockfile, LoadedLockfileRequest, ..)", + "Get(PexRequirementsInfo, PexRequirements, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, PexCliProcess, ..)" ], - "input_types": ["InferOpenApiSourceDependenciesRequest"], - "name": "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.openapi" + "input_types": [ + "PexRequest", + "PythonSetup", + "PexSubsystem" + ], + "name": "pants.backend.python.util_rules.pex.build_pex", + "output_type": "BuildPexResult", + "provider": "pants.core" }, - "pants.backend.openapi.dependency_inference.parse_openapi_sources": { + "pants.backend.python.util_rules.pex.create_optional_pex": { "description": null, "documentation": null, - "input_gets": ["Get(DigestContents, Digest, ..)"], - "input_types": ["ParseOpenApiSources"], - "name": "pants.backend.openapi.dependency_inference.parse_openapi_sources", - "output_type": "OpenApiDependencies", - "provider": "pants.backend.experimental.openapi" - }, - "pants.backend.openapi.goals.tailor.find_putative_targets": { - "description": "Determine candidate OpenAPI targets to create", - "documentation": null, "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(Digest, PathGlobs, ..)", - "Get(OpenApiDependencies, ParseOpenApiSources, ..)" + "Get(Pex, PexRequest, ..)" ], "input_types": [ - "PutativeOpenApiTargetsRequest", - "AllOwnedSources", - "OpenApiSubsystem" + "OptionalPexRequest" ], - "name": "pants.backend.openapi.goals.tailor.find_putative_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.experimental.openapi" + "name": "pants.backend.python.util_rules.pex.create_optional_pex", + "output_type": "OptionalPex", + "provider": "pants.core" }, - "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format": { - "description": "Format with openapi-format", + "pants.backend.python.util_rules.pex.create_pex": { + "description": null, "documentation": null, "input_gets": [ - "Get(ProcessResult, NodeJSToolRequest, ..)", - "Get(Snapshot, Digest, ..)" + "Get(BuildPexResult, PexRequest, ..)" ], - "input_types": ["Batch", "OpenApiFormatSubsystem"], - "name": "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", - "output_type": "FixResult", - "provider": "pants.backend.experimental.openapi.lint.openapi_format" + "input_types": [ + "PexRequest" + ], + "name": "pants.backend.python.util_rules.pex.create_pex", + "output_type": "Pex", + "provider": "pants.core" }, - "pants.backend.openapi.lint.spectral.rules.run_spectral": { - "description": "Lint with Spectral", + "pants.backend.python.util_rules.pex.create_venv_pex": { + "description": null, "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(BuildPexResult, PexRequest, ..)", "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, NodeJSToolRequest, ..)" + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["Batch", "SpectralSubsystem"], - "name": "pants.backend.openapi.lint.spectral.rules.run_spectral", - "output_type": "LintResult", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_types": [ + "VenvPexRequest", + "BashBinary", + "PexEnvironment" + ], + "name": "pants.backend.python.util_rules.pex.create_venv_pex", + "output_type": "VenvPex", + "provider": "pants.core" }, - "pants.backend.plugin_development.pants_requirements.generate_from_pants_requirements": { + "pants.backend.python.util_rules.pex.determine_pex_resolve_info": { "description": null, "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(ProcessResult, PexProcess, ..)" + ], "input_types": [ - "GenerateFromPantsRequirementsRequest", - "UnionMembership" + "PexPEX", + "Pex" ], - "name": "pants.backend.plugin_development.pants_requirements.generate_from_pants_requirements", - "output_type": "GeneratedTargets", - "provider": "pants.backend.plugin_development" + "name": "pants.backend.python.util_rules.pex.determine_pex_resolve_info", + "output_type": "PexResolveInfo", + "provider": "pants.core" }, - "pants.backend.project_info.count_loc.count_loc": { - "description": "`count-loc` goal", + "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info": { + "description": null, "documentation": null, "input_gets": [ - "Get(Digest, PathGlobs, ..)", - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)" + "Get(ProcessResult, VenvPexProcess, ..)" ], "input_types": [ - "Console", - "SuccinctCodeCounter", - "SpecsPaths", - "Platform" + "VenvPex" ], - "name": "pants.backend.project_info.count_loc.count_loc", - "output_type": "CountLinesOfCode", - "provider": "pants.backend.project_info" + "name": "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info", + "output_type": "PexResolveInfo", + "provider": "pants.core" }, - "pants.backend.project_info.dependencies.dependencies": { - "description": "`dependencies` goal", + "pants.backend.python.util_rules.pex.digest_complete_platform_addresses": { + "description": null, "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(UnexpandedTargets, Addresses, ..)", - "Get(Targets, DependenciesRequest, ..)" + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Snapshot, MergeDigests, ..)" ], - "input_types": ["Console", "Addresses", "DependenciesSubsystem"], - "name": "pants.backend.project_info.dependencies.dependencies", - "output_type": "Dependencies", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.dependents.dependents_goal": { - "description": "`dependents` goal", - "documentation": null, - "input_gets": ["Get(Dependents, DependentsRequest, ..)"], - "input_types": ["Addresses", "DependentsSubsystem", "Console"], - "name": "pants.backend.project_info.dependents.dependents_goal", - "output_type": "DependentsGoal", - "provider": "pants.backend.project_info" + "input_types": [ + "UnparsedAddressInputs" + ], + "name": "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", + "output_type": "CompletePlatforms", + "provider": "pants.core" }, - "pants.backend.project_info.dependents.find_dependents": { + "pants.backend.python.util_rules.pex.digest_complete_platforms": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["DependentsRequest", "AddressToDependents"], - "name": "pants.backend.project_info.dependents.find_dependents", - "output_type": "Dependents", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.dependents.map_addresses_to_dependents": { - "description": "Map all targets to their dependents", - "documentation": null, - "input_gets": ["Get(Addresses, DependenciesRequest, ..)"], - "input_types": ["AllUnexpandedTargets"], - "name": "pants.backend.project_info.dependents.map_addresses_to_dependents", - "output_type": "AddressToDependents", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.filedeps.file_deps": { - "description": "`filedeps` goal", - "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(UnexpandedTargets, Addresses, ..)", - "Get(BuildFileAddress, BuildFileAddressRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)" + "Get(CompletePlatforms, UnparsedAddressInputs, ..)" ], - "input_types": ["Console", "FiledepsSubsystem", "BuildRoot", "Addresses"], - "name": "pants.backend.project_info.filedeps.file_deps", - "output_type": "Filedeps", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.filter_targets.filter_targets": { - "description": "`filter` goal", - "documentation": null, - "input_gets": [], - "input_types": ["Addresses", "FilterSubsystem", "Console"], - "name": "pants.backend.project_info.filter_targets.filter_targets", - "output_type": "FilterGoal", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.list_roots.list_roots": { - "description": "`roots` goal", - "documentation": null, - "input_gets": [], - "input_types": ["Console", "RootsSubsystem", "AllSourceRoots"], - "name": "pants.backend.project_info.list_roots.list_roots", - "output_type": "Roots", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.list_targets.list_targets": { - "description": "`list` goal", - "documentation": null, - "input_gets": ["Get(UnexpandedTargets, Addresses, ..)"], - "input_types": ["Addresses", "ListSubsystem", "Console"], - "name": "pants.backend.project_info.list_targets.list_targets", - "output_type": "List", - "provider": "pants.backend.project_info" + "input_types": [ + "PexCompletePlatformsField" + ], + "name": "pants.backend.python.util_rules.pex.digest_complete_platforms", + "output_type": "CompletePlatforms", + "provider": "pants.core" }, - "pants.backend.project_info.paths.get_paths_between_root_and_destination": { - "description": "Get paths between root and destination.", + "pants.backend.python.util_rules.pex.find_interpreter": { + "description": "Find Python interpreter for constraints", "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(Targets, DependenciesRequest, ..)" + "Get(PythonExecutable, PythonProvider, ..)", + "Get(ProcessResult, PexCliProcess, ..)" ], - "input_types": ["RootDestinationPair"], - "name": "pants.backend.project_info.paths.get_paths_between_root_and_destination", - "output_type": "SpecsPaths", - "provider": "pants.backend.project_info" + "input_types": [ + "InterpreterConstraints", + "PexSubsystem", + "EnvironmentTarget", + "UnionMembership" + ], + "name": "pants.backend.python.util_rules.pex.find_interpreter", + "output_type": "PythonExecutable", + "provider": "pants.core" }, - "pants.backend.project_info.paths.get_paths_between_root_and_destinations": { + "pants.backend.python.util_rules.pex.get_req_strings": { "description": null, "documentation": null, - "input_gets": ["Get(SpecsPaths, RootDestinationPair, ..)"], - "input_types": ["RootDestinationsPair"], - "name": "pants.backend.project_info.paths.get_paths_between_root_and_destinations", - "output_type": "SpecsPathsCollection", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.paths.paths": { - "description": "`paths` goal", - "documentation": null, "input_gets": [ - "Get(Targets, Specs, ..)", - "Get(SpecsPathsCollection, RootDestinationsPair, ..)" + "Get(Addresses, UnparsedAddressInputs, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)" ], - "input_types": ["Console", "PathsSubsystem"], - "name": "pants.backend.project_info.paths.paths", - "output_type": "PathsGoal", - "provider": "pants.backend.project_info" + "input_types": [ + "PexRequirements" + ], + "name": "pants.backend.python.util_rules.pex.get_req_strings", + "output_type": "PexRequirementsInfo", + "provider": "pants.core" }, - "pants.backend.project_info.peek.get_target_data": { + "pants.backend.python.util_rules.pex.setup_pex_process": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, DependenciesRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(OptionalAddressFamily, AddressFamilyDir, ..)", - "Get(DependenciesRuleApplication, DependenciesRuleApplicationRequest, ..)" + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["UnexpandedTargets", "PeekSubsystem"], - "name": "pants.backend.project_info.peek.get_target_data", - "output_type": "TargetDatas", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.peek.peek": { - "description": "`peek` goal", - "documentation": null, - "input_gets": ["Get(TargetDatas, UnexpandedTargets, ..)"], - "input_types": ["Console", "PeekSubsystem", "UnexpandedTargets"], - "name": "pants.backend.project_info.peek.peek", - "output_type": "Peek", - "provider": "pants.backend.project_info" - }, - "pants.backend.project_info.regex_lint.lint_with_regex_patterns": { - "description": "Lint with regex patterns", - "documentation": null, - "input_gets": ["Get(DigestContents, PathGlobs, ..)"], - "input_types": ["Batch", "RegexLintSubsystem"], - "name": "pants.backend.project_info.regex_lint.lint_with_regex_patterns", - "output_type": "LintResult", - "provider": "pants.backend.project_info" + "input_types": [ + "PexProcess", + "PexEnvironment" + ], + "name": "pants.backend.python.util_rules.pex.setup_pex_process", + "output_type": "Process", + "provider": "pants.core" }, - "pants.backend.project_info.regex_lint.partition_inputs": { + "pants.backend.python.util_rules.pex.setup_venv_pex_process": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "RegexLintSubsystem"], - "name": "pants.backend.project_info.regex_lint.partition_inputs", - "output_type": "Partitions", - "provider": "pants.backend.project_info" - }, - "pants.backend.python.dependency_inference.module_mapper.find_all_python_projects": { - "description": "Find all Python targets in project", - "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.python.dependency_inference.module_mapper.find_all_python_projects", - "output_type": "AllPythonTargets", - "provider": "pants.backend.python" - }, - "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules": { - "description": "Creating map of first party Python targets to Python modules", - "documentation": null, - "input_gets": ["Get(StrippedFileName, StrippedFileNameRequest, ..)"], + "input_gets": [ + "Get(Digest, MergeDigests, ..)" + ], "input_types": [ - "FirstPartyPythonTargetsMappingMarker", - "AllPythonTargets", - "PythonSetup" + "VenvPexProcess", + "PexEnvironment" ], - "name": "pants.backend.python.dependency_inference.module_mapper.map_first_party_python_targets_to_modules", - "output_type": "FirstPartyPythonMappingImpl", - "provider": "pants.backend.python" + "name": "pants.backend.python.util_rules.pex.setup_venv_pex_process", + "output_type": "Process", + "provider": "pants.core" }, - "pants.backend.python.dependency_inference.module_mapper.map_module_to_address": { + "pants.backend.python.util_rules.pex.wrap_venv_prex_request": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "PythonModuleOwnersRequest", - "FirstPartyPythonModuleMapping", - "ThirdPartyPythonModuleMapping" + "PexRequest", + "PexEnvironment" ], - "name": "pants.backend.python.dependency_inference.module_mapper.map_module_to_address", - "output_type": "PythonModuleOwners", - "provider": "pants.backend.python" - }, - "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses": { - "description": "Creating map of third party targets to Python modules", - "documentation": null, - "input_gets": [], - "input_types": ["AllPythonTargets", "PythonSetup"], - "name": "pants.backend.python.dependency_inference.module_mapper.map_third_party_modules_to_addresses", - "output_type": "ThirdPartyPythonModuleMapping", - "provider": "pants.backend.python" + "name": "pants.backend.python.util_rules.pex.wrap_venv_prex_request", + "output_type": "VenvPexRequest", + "provider": "pants.core" }, - "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings": { + "pants.backend.python.util_rules.pex_cli.download_pex_pex": { "description": null, "documentation": null, "input_gets": [ - "Get(FirstPartyPythonMappingImpl, FirstPartyPythonMappingImplMarker, ..)" + "Get(DownloadedExternalTool, ExternalToolRequest, ..)" ], - "input_types": ["UnionMembership"], - "name": "pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings", - "output_type": "FirstPartyPythonModuleMapping", - "provider": "pants.backend.python" + "input_types": [ + "PexCli", + "Platform" + ], + "name": "pants.backend.python.util_rules.pex_cli.download_pex_pex", + "output_type": "PexPEX", + "provider": "pants.core" }, - "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies": { + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process": { "description": null, "documentation": null, "input_gets": [ - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(NativeParsedPythonDependencies, NativeDependenciesRequest, ..)" + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["ParsePythonDependenciesRequest", "PythonInferSubsystem"], - "name": "pants.backend.python.dependency_inference.parse_python_dependencies.parse_python_dependencies", - "output_type": "ParsedPythonDependencies", - "provider": "pants.backend.python" + "input_types": [ + "PexCliProcess", + "PexPEX", + "PexEnvironment", + "PythonBuildStandaloneBinary", + "EnvironmentAware", + "GlobalOptions", + "PexSubsystem", + "PythonSetup" + ], + "name": "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", + "output_type": "Process", + "provider": "pants.core" }, - "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import": { - "description": null, + "pants.backend.python.util_rules.pex_environment.find_pex_python": { + "description": "Prepare environment for running PEXes", "documentation": null, - "input_gets": [ - "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)", - "Get(Targets, Addresses, ..)" + "input_gets": [], + "input_types": [ + "PythonBootstrap", + "PythonBuildStandaloneBinary", + "PexSubsystem", + "EnvironmentAware", + "SubprocessEnvironmentVars", + "NamedCachesDirOption" ], - "input_types": ["UnownedImportPossibleOwnerRequest", "PythonSetup"], - "name": "pants.backend.python.dependency_inference.rules.find_other_owners_for_unowned_import", - "output_type": "UnownedImportPossibleOwners", - "provider": "pants.backend.python" + "name": "pants.backend.python.util_rules.pex_environment.find_pex_python", + "output_type": "PexEnvironment", + "provider": "pants.core" }, - "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies": { - "description": "Inferring dependencies on `conftest.py` files", + "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex": { + "description": null, "documentation": null, "input_gets": [ - "Get(AncestorFiles, AncestorFilesRequest, ..)", - "Get(Owners, OwnersRequest, ..)", - "Get(Targets, Addresses, ..)" + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)" ], "input_types": [ - "InferConftestDependencies", - "PythonInferSubsystem", - "PythonSetup" + "_ConstraintsRepositoryPexRequest", + "PythonSetup", + "GlobalRequirementConstraints" ], - "name": "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", - "output_type": "InferredDependencies", + "name": "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", + "output_type": "OptionalPexRequest", "provider": "pants.backend.python" }, - "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source": { - "description": "Inferring Python dependencies by analyzing source", + "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve": { + "description": null, "documentation": null, "input_gets": [ - "Get(ParsedPythonDependencies, ParsePythonDependenciesRequest, ..)", - "Get(ResolvedParsedPythonDependencies, ResolvedParsedPythonDependenciesRequest, ..)", - "Get(UnownedImportPossibleOwners, UnownedImportPossibleOwnerRequest, ..)" + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)" ], "input_types": [ - "InferPythonImportDependencies", - "PythonInferSubsystem", + "ChosenPythonResolveRequest", "PythonSetup" ], - "name": "pants.backend.python.dependency_inference.rules.infer_python_dependencies_via_source", - "output_type": "InferredDependencies", + "name": "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve", + "output_type": "ChosenPythonResolve", "provider": "pants.backend.python" }, - "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies": { - "description": "Inferring dependencies on `__init__.py` files", + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets": { + "description": null, "documentation": null, "input_gets": [ - "Get(AncestorFiles, AncestorFilesRequest, ..)", - "Get(Owners, OwnersRequest, ..)", - "Get(Targets, Addresses, ..)" + "Get(PexRequirements, _PexRequirementsRequest, ..)", + "Get(ChosenPythonResolve, ChosenPythonResolveRequest, ..)", + "Get(LoadedLockfile, LoadedLockfileRequest, ..)", + "Get(OptionalPexRequest, _RepositoryPexRequest, ..)", + "Get(OptionalPex, OptionalPexRequest, ..)", + "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(Targets, Addresses, ..)", + "Get(LocalDistsPex, LocalDistsPexRequest, ..)", + "Get(StrippedPythonSourceFiles, PythonSourceFiles, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "InferInitDependencies", - "PythonInferSubsystem", - "PythonSetup" + "PexFromTargetsRequest", + "PythonSetup", + "UnionMembership" ], - "name": "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", - "output_type": "InferredDependencies", + "name": "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "output_type": "PexRequest", "provider": "pants.backend.python" }, - "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies": { + "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints": { "description": null, - "documentation": "Find the owning targets for the parsed dependencies.", + "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)", - "Get(AllAssetTargetsByPath)" + "Get(DigestContents, PathGlobs, ..)" ], "input_types": [ - "ResolvedParsedPythonDependenciesRequest", - "PythonInferSubsystem" + "PythonSetup" ], - "name": "pants.backend.python.dependency_inference.rules.resolve_parsed_dependencies", - "output_type": "ResolvedParsedPythonDependencies", + "name": "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints", + "output_type": "GlobalRequirementConstraints", "provider": "pants.backend.python" }, - "pants.backend.python.framework.stevedore.python_target_dependencies.find_all_python_distributions_with_any_stevedore_entry_points": { - "description": "Find all `python_distribution` targets with `stevedore_namespace` entry_points", - "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.python.framework.stevedore.python_target_dependencies.find_all_python_distributions_with_any_stevedore_entry_points", - "output_type": "AllStevedoreExtensionTargets", - "provider": "pants.backend.experimental.python.framework.stevedore" - }, - "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces": { - "description": "Find `python_distribution` targets with entry_points in selected `stevedore_namespace`s", + "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure": { + "description": null, "documentation": null, "input_gets": [], "input_types": [ - "StevedoreNamespacesProviderTargetsRequest", - "StevedoreExtensions" - ], - "name": "pants.backend.python.framework.stevedore.python_target_dependencies.find_python_distributions_with_entry_points_in_stevedore_namespaces", - "output_type": "StevedoreExtensionTargets", - "provider": "pants.backend.experimental.python.framework.stevedore" - }, - "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies": { - "description": "Infer dependencies based on `stevedore_namespaces` field.", - "documentation": null, - "input_gets": [ - "Get(StevedoreExtensionTargets, StevedoreNamespacesProviderTargetsRequest, ..)", - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(ResolvedPythonDistributionEntryPoints, ResolvePythonDistributionEntryPointsRequest, ..)", - "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" - ], - "input_types": ["InferStevedoreNamespacesDependencies"], - "name": "pants.backend.python.framework.stevedore.python_target_dependencies.infer_stevedore_namespaces_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.python.framework.stevedore" - }, - "pants.backend.python.framework.stevedore.python_target_dependencies.map_stevedore_extensions": { - "description": "Create map of `stevedore_namespace` to `python_distribution` targets", - "documentation": null, - "input_gets": [], - "input_types": ["AllStevedoreExtensionTargets"], - "name": "pants.backend.python.framework.stevedore.python_target_dependencies.map_stevedore_extensions", - "output_type": "StevedoreExtensions", - "provider": "pants.backend.experimental.python.framework.stevedore" - }, - "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension": { - "description": "Generate entry_points.txt to imitate `python_distribution` installation.", - "documentation": null, - "input_gets": [ - "Get(StevedoreExtensionTargets, StevedoreNamespacesProviderTargetsRequest, ..)", - "Get(ResolvedPythonDistributionEntryPoints, ResolvePythonDistributionEntryPointsRequest, ..)", - "Get(Paths, PathGlobs, ..)", - "Get(Digest, CreateDigest, ..)" + "_PexRequirementsRequest", + "GlobalRequirementConstraints" ], - "input_types": ["GenerateEntryPointsTxtFromStevedoreExtensionRequest"], - "name": "pants.backend.python.framework.stevedore.rules.generate_entry_points_txt_from_stevedore_extension", - "output_type": "PytestPluginSetup", - "provider": "pants.backend.experimental.python.framework.stevedore" + "name": "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure", + "output_type": "PexRequirements", + "provider": "pants.backend.python" }, - "pants.backend.python.goals.coverage_py.create_or_update_coverage_config": { + "pants.backend.python.util_rules.pex_from_targets.generalize_requirements_pex_request": { "description": null, "documentation": null, - "input_gets": [ - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Digest, CreateDigest, ..)" - ], - "input_types": ["CoverageSubsystem"], - "name": "pants.backend.python.goals.coverage_py.create_or_update_coverage_config", - "output_type": "CoverageConfig", - "provider": "pants.backend.python" - }, - "pants.backend.python.goals.coverage_py.generate_coverage_reports": { - "description": "Generate Pytest coverage reports", - "documentation": "Takes all Python test results and generates a single coverage report.", - "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Snapshot, Digest, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)" - ], + "input_gets": [], "input_types": [ - "MergedCoverageData", - "CoverageSetup", - "CoverageConfig", - "CoverageSubsystem", - "KeepSandboxes", - "DistDir" + "RequirementsPexRequest" ], - "name": "pants.backend.python.goals.coverage_py.generate_coverage_reports", - "output_type": "CoverageReports", + "name": "pants.backend.python.util_rules.pex_from_targets.generalize_requirements_pex_request", + "output_type": "PexFromTargetsRequest", "provider": "pants.backend.python" }, - "pants.backend.python.goals.coverage_py.merge_coverage_data": { - "description": "Merge Pytest coverage data", + "pants.backend.python.util_rules.pex_from_targets.get_repository_pex": { + "description": null, "documentation": null, "input_gets": [ - "Get(Digest, AddPrefix, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Digest, PathGlobs, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)" + "Get(OptionalPexRequest, _ConstraintsRepositoryPexRequest, ..)", + "Get(ChosenPythonResolve, ChosenPythonResolveRequest, ..)", + "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)" ], "input_types": [ - "PytestCoverageDataCollection", - "CoverageSetup", - "CoverageConfig", - "CoverageSubsystem", - "AllSourceRoots" + "_RepositoryPexRequest", + "PythonSetup" ], - "name": "pants.backend.python.goals.coverage_py.merge_coverage_data", - "output_type": "MergedCoverageData", + "name": "pants.backend.python.util_rules.pex_from_targets.get_repository_pex", + "output_type": "OptionalPexRequest", "provider": "pants.backend.python" }, - "pants.backend.python.goals.coverage_py.setup_coverage": { + "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets": { "description": null, "documentation": null, - "input_gets": ["Get(VenvPex, PexRequest, ..)"], - "input_types": ["CoverageSubsystem"], - "name": "pants.backend.python.goals.coverage_py.setup_coverage", - "output_type": "CoverageSetup", + "input_gets": [ + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)" + ], + "input_types": [ + "InterpreterConstraintsRequest", + "PythonSetup" + ], + "name": "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets", + "output_type": "InterpreterConstraints", "provider": "pants.backend.python" }, - "pants.backend.python.goals.debug_goals.dump_python_source_analysis": { - "description": "`python-dump-source-analysis` goal", + "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config": { + "description": null, "documentation": null, "input_gets": [ - "Get(PythonSourceAnalysis, PythonImportDependenciesInferenceFieldSet, ..)" + "Get(Digest, PathGlobs, ..)", + "Get(DigestContents, PathGlobs, ..)" ], "input_types": [ - "DumpPythonSourceAnalysisSubsystem", - "Targets", - "Console" + "ResolvePexConfigRequest", + "PythonSetup", + "PythonRepos", + "UnionMembership" ], - "name": "pants.backend.python.goals.debug_goals.dump_python_source_analysis", - "output_type": "DumpPythonSourceAnalysis", - "provider": "pants.backend.experimental.python" + "name": "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config", + "output_type": "ResolvePexConfig", + "provider": "pants.core" }, - "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single": { + "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve": { "description": null, - "documentation": "Infer the dependencies for a single python fieldset, keeping all the intermediate results.", + "documentation": null, + "input_gets": [], + "input_types": [ + "Resolve", + "PythonSetup" + ], + "name": "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve", + "output_type": "Lockfile", + "provider": "pants.core" + }, + "pants.backend.python.util_rules.pex_requirements.load_lockfile": { + "description": null, + "documentation": null, "input_gets": [ - "Get(ParsedPythonDependencies, ParsePythonDependenciesRequest, ..)", - "Get(ResolvedParsedPythonDependencies, ResolvedParsedPythonDependenciesRequest, ..)", - "Get(UnownedImportPossibleOwners, UnownedImportPossibleOwnerRequest, ..)" + "Get(Digest, PathGlobs, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Digest, CreateDigest, ..)" ], "input_types": [ - "PythonImportDependenciesInferenceFieldSet", + "LoadedLockfileRequest", "PythonSetup" ], - "name": "pants.backend.python.goals.debug_goals.dump_python_source_analysis_single", - "output_type": "PythonSourceAnalysis", - "provider": "pants.backend.experimental.python" + "name": "pants.backend.python.util_rules.pex_requirements.load_lockfile", + "output_type": "LoadedLockfile", + "provider": "pants.core" }, - "pants.backend.python.goals.export.do_export": { + "pants.backend.python.util_rules.pex_venv.pex_venv": { "description": null, "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(ProcessResult, PexProcess, ..)", - "Get(Pex, PexRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(Snapshot, Digest, ..)" + "Get(ProcessResult, PexCliProcess, ..)" ], "input_types": [ - "VenvExportRequest", - "PexPEX", - "PexEnvironment", - "ExportSubsystem" + "PexVenvRequest" ], - "name": "pants.backend.python.goals.export.do_export", - "output_type": "ExportResult", - "provider": "pants.backend.python" + "name": "pants.backend.python.util_rules.pex_venv.pex_venv", + "output_type": "PexVenv", + "provider": "pants.backend.awslambda.python" }, - "pants.backend.python.goals.export.export_virtualenv_for_resolve": { + "pants.backend.python.util_rules.python_sources.prepare_python_sources": { "description": null, "documentation": null, "input_gets": [ - "Get(EditableLocalDists, EditableLocalDistsRequest, ..)", - "Get(ExportResult, VenvExportRequest, ..)" + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(AncestorFiles, AncestorFilesRequest, ..)", + "Get(Snapshot, MergeDigests, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(SourceRoot, SourceRootRequest, ..)" ], "input_types": [ - "_ExportVenvForResolveRequest", - "PythonSetup", - "ExportSubsystem" + "PythonSourceFilesRequest", + "UnionMembership" ], - "name": "pants.backend.python.goals.export.export_virtualenv_for_resolve", - "output_type": "MaybeExportResult", + "name": "pants.backend.python.util_rules.python_sources.prepare_python_sources", + "output_type": "PythonSourceFiles", "provider": "pants.backend.python" }, - "pants.backend.python.goals.export.export_virtualenvs": { + "pants.backend.python.util_rules.python_sources.strip_python_sources": { "description": null, "documentation": null, "input_gets": [ - "Get(MaybeExportResult, _ExportVenvForResolveRequest, ..)" + "Get(StrippedSourceFiles, SourceFiles, ..)" ], - "input_types": ["ExportVenvsRequest", "ExportSubsystem"], - "name": "pants.backend.python.goals.export.export_virtualenvs", - "output_type": "ExportResults", + "input_types": [ + "PythonSourceFiles" + ], + "name": "pants.backend.python.util_rules.python_sources.strip_python_sources", + "output_type": "StrippedPythonSourceFiles", "provider": "pants.backend.python" }, - "pants.backend.python.goals.lockfile.determine_python_user_resolves": { - "description": null, + "pants.backend.python.util_rules.vcs_versioning.find_all_vcs_version_targets": { + "description": "Find all vcs_version targets in project", "documentation": null, "input_gets": [], - "input_types": ["KnownPythonUserResolveNamesRequest", "PythonSetup"], - "name": "pants.backend.python.goals.lockfile.determine_python_user_resolves", - "output_type": "KnownUserResolveNames", - "provider": "pants.core" + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.python.util_rules.vcs_versioning.find_all_vcs_version_targets", + "output_type": "AllVCSVersionTargets", + "provider": "pants.backend.experimental.python" }, - "pants.backend.python.goals.lockfile.generate_lockfile": { - "description": "Generate Python lockfile", + "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm": { + "description": null, "documentation": null, "input_gets": [ - "Get(ResolvePexConfig, ResolvePexConfigRequest, ..)", + "Get(MaybeGitWorktree, GitWorktreeRequest, ..)", "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, PexCliProcess, ..)", - "Get(DigestContents, Digest, ..)", - "Get(LoadedLockfile, LoadedLockfileRequest, ..)" + "Get(VenvPex, PexRequest, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, CreateDigest, ..)" ], "input_types": [ - "GeneratePythonLockfile", - "GenerateLockfilesSubsystem", - "PythonSetup" + "GeneratePythonFromSetuptoolsSCMRequest", + "SetuptoolsSCM" ], - "name": "pants.backend.python.goals.lockfile.generate_lockfile", - "output_type": "GenerateLockfileResult", - "provider": "pants.core" + "name": "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.python" }, - "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets": { + "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PythonSyntheticLockfileTargetsRequest", "PythonSetup"], - "name": "pants.backend.python.goals.lockfile.python_lockfile_synthetic_targets", - "output_type": "SyntheticAddressMaps", - "provider": "pants.core" + "input_gets": [ + "Get(StrippedFileName, StrippedFileNameRequest, ..)" + ], + "input_types": [ + "AllVCSVersionTargets", + "PythonSetup", + "PythonVCSVersionMappingMarker" + ], + "name": "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules", + "output_type": "FirstPartyPythonMappingImpl", + "provider": "pants.backend.experimental.python" }, - "pants.backend.python.goals.lockfile.setup_user_lockfile_requests": { - "description": null, + "pants.backend.rust.goals.tailor.find_putative_rust_targets": { + "description": "Determine candidate Rust targets to create", "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], "input_types": [ - "RequestedPythonUserResolveNames", - "AllTargets", - "PythonSetup" + "PutativeRustTargetsRequest" ], - "name": "pants.backend.python.goals.lockfile.setup_user_lockfile_requests", - "output_type": "UserGenerateLockfiles", - "provider": "pants.core" + "name": "pants.backend.rust.goals.tailor.find_putative_rust_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.rust" }, - "pants.backend.python.goals.lockfile.wrap_python_lockfile_request": { - "description": null, + "pants.backend.rust.lint.rustfmt.rules.rustfmt_fmt": { + "description": "Format with rustfmt", "documentation": null, - "input_gets": [], - "input_types": ["GeneratePythonLockfile"], - "name": "pants.backend.python.goals.lockfile.wrap_python_lockfile_request", - "output_type": "WrappedGenerateLockfile", - "provider": "pants.core" + "input_gets": [ + "Get(ProcessResult, RustToolchainProcess, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch" + ], + "name": "pants.backend.rust.lint.rustfmt.rules.rustfmt_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.rust" }, - "pants.backend.python.goals.package_dists.package_python_dist": { + "pants.backend.rust.util_rules.toolchains.find_rustup": { "description": null, "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(DistBuildChroot, DistBuildChrootRequest, ..)", - "Get(SourceRootsResult, SourceRootsRequest, ..)", - "Get(DistBuildEnvironment, DistBuildEnvironmentRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(BuildSystem, BuildSystemRequest, ..)", - "Get(DistBuildResult, DistBuildRequest, ..)", - "Get(Snapshot, Digest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], "input_types": [ - "PythonDistributionFieldSet", - "PythonSetup", - "UnionMembership" + "RustSubsystem" ], - "name": "pants.backend.python.goals.package_dists.package_python_dist", - "output_type": "BuiltPackage", - "provider": "pants.backend.python" + "name": "pants.backend.rust.util_rules.toolchains.find_rustup", + "output_type": "RustupBinary", + "provider": "pants.backend.experimental.rust" }, - "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request": { + "pants.backend.rust.util_rules.toolchains.rust_binary_path": { "description": null, "documentation": null, - "input_gets": ["Get(Pex, PexFromTargetsRequest, ..)"], - "input_types": ["PexFromTargetsRequestForBuiltPackage"], - "name": "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request", - "output_type": "BuiltPackage", - "provider": "pants.backend.python" + "input_gets": [ + "Get(ProcessResult, Process, ..)", + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "RustBinaryPathRequest", + "RustupBinary", + "RustSubsystem" + ], + "name": "pants.backend.rust.util_rules.toolchains.rust_binary_path", + "output_type": "BinaryPath", + "provider": "pants.backend.experimental.rust" }, - "pants.backend.python.goals.package_pex_binary.package_pex_binary": { + "pants.backend.rust.util_rules.toolchains.rust_toolchain_process": { "description": null, "documentation": null, "input_gets": [ - "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", - "Get(CompletePlatforms, PexCompletePlatformsField, ..)" + "Get(BinaryPath, RustBinaryPathRequest, ..)" ], - "input_types": ["PexBinaryFieldSet", "PexBinaryDefaults"], - "name": "pants.backend.python.goals.package_pex_binary.package_pex_binary", - "output_type": "PexFromTargetsRequestForBuiltPackage", - "provider": "pants.backend.python" + "input_types": [ + "RustToolchainProcess" + ], + "name": "pants.backend.rust.util_rules.toolchains.rust_toolchain_process", + "output_type": "Process", + "provider": "pants.backend.experimental.rust" }, - "pants.backend.python.goals.publish.twine_upload": { + "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata": { "description": null, "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Snapshot, CreateDigest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(Process, VenvPexProcess, ..)" + "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Snapshot, AddPrefix, ..)", + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(ProcessResult, Process, ..)" ], "input_types": [ - "PublishPythonPackageRequest", - "TwineSubsystem", - "GlobalOptions" + "ScalaBSPBuildTargetsMetadataRequest", + "BashBinary", + "JvmSubsystem", + "ScalaSubsystem", + "BuildRoot", + "ReadlinkBinary" ], - "name": "pants.backend.python.goals.publish.twine_upload", - "output_type": "PublishProcesses", - "provider": "pants.backend.experimental.python" - }, - "pants.backend.python.goals.pytest_runner.debug_python_test": { - "description": "Set up Pytest to run interactively", - "documentation": null, - "input_gets": ["Get(TestSetup, TestSetupRequest, ..)"], - "input_types": ["Batch"], - "name": "pants.backend.python.goals.pytest_runner.debug_python_test", - "output_type": "TestDebugRequest", - "provider": "pants.backend.python" + "name": "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", + "output_type": "BSPBuildTargetsMetadataResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.pytest_runner.debugpy_python_test": { - "description": "Set up debugpy to run an interactive Pytest session", + "pants.backend.scala.bsp.rules.bsp_scala_compile_request": { + "description": null, "documentation": null, "input_gets": [ - "Get(Pex, PexRequest, ..)", - "Get(TestSetup, TestSetupRequest, ..)" + "Get(CoarsenedTargets, Addresses, ..)", + "Get(CoursierResolveKey, CoarsenedTargets, ..)", + "Get(FallibleClasspathEntry, BSPClasspathEntryRequest, ..)", + "Get(LooseClassfiles, ClasspathEntry, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, AddPrefix, ..)" ], "input_types": [ - "Batch", - "DebugPy", - "DebugAdapterSubsystem", - "PythonSetup" + "ScalaBSPCompileRequest", + "ClasspathEntryRequestFactory" ], - "name": "pants.backend.python.goals.pytest_runner.debugpy_python_test", - "output_type": "TestDebugAdapterRequest", - "provider": "pants.backend.python" + "name": "pants.backend.scala.bsp.rules.bsp_scala_compile_request", + "output_type": "BSPCompileResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.pytest_runner.partition_python_tests": { - "description": "Partition Pytest", + "pants.backend.scala.bsp.rules.bsp_scala_main_classes_request": { + "description": null, "documentation": null, "input_gets": [], - "input_types": ["PartitionRequest", "PythonSetup"], - "name": "pants.backend.python.goals.pytest_runner.partition_python_tests", - "output_type": "Partitions", - "provider": "pants.backend.python" + "input_types": [ + "ScalaMainClassesParams" + ], + "name": "pants.backend.scala.bsp.rules.bsp_scala_main_classes_request", + "output_type": "ScalaMainClassesResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.pytest_runner.run_all_setup_plugins": { + "pants.backend.scala.bsp.rules.bsp_scala_resources_request": { "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(PytestPluginSetup, PytestPluginSetupRequest, ..)" + "Get(CoarsenedTargets, Addresses, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(Digest, AddPrefix, ..)" ], - "input_types": ["AllPytestPluginSetupsRequest", "UnionMembership"], - "name": "pants.backend.python.goals.pytest_runner.run_all_setup_plugins", - "output_type": "AllPytestPluginSetups", - "provider": "pants.backend.python" - }, - "pants.backend.python.goals.pytest_runner.run_python_tests": { - "description": "Run Pytest", - "documentation": null, - "input_gets": [ - "Get(TestSetup, TestSetupRequest, ..)", - "Get(ProcessResultWithRetries, ProcessWithRetries, ..)", - "Get(Snapshot, DigestSubset, ..)", - "Get(Snapshot, RemovePrefix, ..)" + "input_types": [ + "ScalaBSPResourcesRequest", + "BuildRoot" ], - "input_types": ["Batch", "TestSubsystem", "GlobalOptions"], - "name": "pants.backend.python.goals.pytest_runner.run_python_tests", - "output_type": "TestResult", - "provider": "pants.backend.python" + "name": "pants.backend.scala.bsp.rules.bsp_scala_resources_request", + "output_type": "BSPResourcesResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.pytest_runner.setup_pytest_for_target": { + "pants.backend.scala.bsp.rules.bsp_scala_test_classes_request": { "description": null, "documentation": null, - "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(AllPytestPluginSetups, AllPytestPluginSetupsRequest, ..)", - "Get(Pex, RequirementsPexRequest, ..)", - "Get(Pex, PexRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(LocalDistsPex, LocalDistsPexRequest, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(PexRequirementsInfo, PexRequirements, ..)", - "Get(Lockfile, Resolve, ..)", - "Get(LoadedLockfile, LoadedLockfileRequest, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Process, VenvPexProcess, ..)" - ], + "input_gets": [], "input_types": [ - "TestSetupRequest", - "PyTest", - "TestSubsystem", - "CoverageConfig", - "CoverageSubsystem", - "TestExtraEnv" + "ScalaTestClassesParams" ], - "name": "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", - "output_type": "TestSetup", - "provider": "pants.backend.python" + "name": "pants.backend.scala.bsp.rules.bsp_scala_test_classes_request", + "output_type": "ScalaTestClassesResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.pytest_runner.setup_runtime_packages": { + "pants.backend.scala.bsp.rules.bsp_scalac_options_request": { "description": null, "documentation": null, "input_gets": [ - "Get(BuiltPackageDependencies, BuildPackageDependenciesRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(HandleScalacOptionsResult, HandleScalacOptionsRequest, ..)" ], - "input_types": ["RuntimePackagesPluginRequest"], - "name": "pants.backend.python.goals.pytest_runner.setup_runtime_packages", - "output_type": "PytestPluginSetup", - "provider": "pants.backend.python" + "input_types": [ + "ScalacOptionsParams" + ], + "name": "pants.backend.scala.bsp.rules.bsp_scalac_options_request", + "output_type": "ScalacOptionsResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.repl.create_ipython_repl_request": { + "pants.backend.scala.bsp.rules.collect_thirdparty_modules": { "description": null, "documentation": null, "input_gets": [ - "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(Pex, RequirementsPexRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(Pex, PexRequest, ..)", - "Get(LocalDistsPex, LocalDistsPexRequest, ..)", + "Get(CoarsenedTargets, Addresses, ..)", + "Get(CoursierResolveKey, CoarsenedTargets, ..)", + "Get(CoursierResolvedLockfile, CoursierResolveKey, ..)", + "Get(ClasspathEntry, ClasspathEntryRequest, ..)", "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "IPythonRepl", - "IPython", - "PexEnvironment", - "PythonSetup" + "ThirdpartyModulesRequest", + "ClasspathEntryRequestFactory" ], - "name": "pants.backend.python.goals.repl.create_ipython_repl_request", - "output_type": "ReplRequest", - "provider": "pants.backend.python" + "name": "pants.backend.scala.bsp.rules.collect_thirdparty_modules", + "output_type": "ThirdpartyModules", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.repl.create_python_repl_request": { + "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request": { "description": null, "documentation": null, "input_gets": [ - "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(Pex, RequirementsPexRequest, ..)", - "Get(LocalDistsPex, LocalDistsPexRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Targets, BuildTargetIdentifier, ..)", + "Get(ThirdpartyModules, ThirdpartyModulesRequest, ..)", + "Get(Digest, AddPrefix, ..)" ], - "input_types": ["PythonRepl", "PexEnvironment", "PythonSetup"], - "name": "pants.backend.python.goals.repl.create_python_repl_request", - "output_type": "ReplRequest", - "provider": "pants.backend.python" + "input_types": [ + "HandleScalacOptionsRequest", + "BuildRoot", + "Workspace" + ], + "name": "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", + "output_type": "HandleScalacOptionsResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request": { + "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules": { "description": null, "documentation": null, "input_gets": [ - "Get(PexFromTargetsRequestForBuiltPackage, PexBinaryFieldSet, ..)", - "Get(BuiltPackage, PexFromTargetsRequestForBuiltPackage, ..)", - "Get(PythonExecutable, InterpreterConstraintsRequest, ..)" + "Get(ThirdpartyModules, ThirdpartyModulesRequest, ..)", + "Get(Digest, AddPrefix, ..)" ], - "input_types": ["PexBinaryFieldSet"], - "name": "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", - "output_type": "RunRequest", - "provider": "pants.backend.python" + "input_types": [ + "ScalaBSPDependencyModulesRequest", + "BuildRoot" + ], + "name": "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules", + "output_type": "BSPDependencyModulesResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request": { - "description": null, + "pants.backend.scala.compile.scalac.compile_scala_source": { + "description": "Compile with scalac", "documentation": null, "input_gets": [ - "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", - "Get(PexRequest, PexFromTargetsRequest, ..)", - "Get(VenvPex, VenvPexRequest, ..)" + "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)", + "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(ScalaPluginTargetsForTarget, ScalaPluginsForTargetRequest, ..)", + "Get(ScalaPlugins, ScalaPluginsRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(FallibleProcessResult, JvmProcess, ..)", + "Get(Digest, StripJarRequest, ..)" ], "input_types": [ - "PythonRequirementFieldSet", - "PexEnvironment", - "PythonSetup", - "ThirdPartyPythonModuleMapping" + "ScalaSubsystem", + "JvmSubsystem", + "Scalac", + "CompileScalaSourceRequest" ], - "name": "pants.backend.python.goals.run_python_requirement.create_python_requirement_run_request", - "output_type": "RunRequest", - "provider": "pants.backend.python" + "name": "pants.backend.scala.compile.scalac.compile_scala_source", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request": { + "pants.backend.scala.compile.scalac.fetch_scala_library": { "description": null, "documentation": null, "input_gets": [ - "Get(Pex, PexRequest, ..)", - "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(PexRequest, PexFromTargetsRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(VenvPex, VenvPexRequest, ..)", - "Get(PythonExecutable, InterpreterConstraints, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)" ], "input_types": [ - "PythonSourceFieldSet", - "DebugPy", - "DebugAdapterSubsystem", - "PexEnvironment", - "PythonSetup" + "ScalaLibraryRequest" ], - "name": "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.python" + "name": "pants.backend.scala.compile.scalac.fetch_scala_library", + "output_type": "ClasspathEntry", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request": { + "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request": { "description": null, "documentation": null, - "input_gets": [ - "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(PexRequest, PexFromTargetsRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(VenvPex, VenvPexRequest, ..)", - "Get(PythonExecutable, InterpreterConstraints, ..)", - "Get(Digest, MergeDigests, ..)" + "input_gets": [], + "input_types": [ + "ScalaPluginsForTargetWithoutResolveRequest", + "JvmSubsystem" ], - "input_types": ["PythonSourceFieldSet", "PexEnvironment", "PythonSetup"], - "name": "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.python" + "name": "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request", + "output_type": "ScalaPluginsForTargetRequest", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.run_python_source.create_python_source_run_request": { + "pants.backend.scala.compile.scalac_plugins.all_scala_plugin_targets": { "description": null, "documentation": null, - "input_gets": [ - "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(PexRequest, PexFromTargetsRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(VenvPex, VenvPexRequest, ..)", - "Get(PythonExecutable, InterpreterConstraints, ..)", - "Get(Digest, MergeDigests, ..)" + "input_gets": [], + "input_types": [ + "AllTargets" ], - "input_types": ["PythonSourceFieldSet", "PexEnvironment", "PythonSetup"], - "name": "pants.backend.python.goals.run_python_source.create_python_source_run_request", - "output_type": "RunRequest", - "provider": "pants.backend.python" + "name": "pants.backend.scala.compile.scalac_plugins.all_scala_plugin_targets", + "output_type": "AllScalaPluginTargets", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.goals.tailor.find_putative_targets": { - "description": "Determine candidate Python targets to create", + "pants.backend.scala.compile.scalac_plugins.fetch_plugins": { + "description": null, "documentation": null, "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(DigestContents, PathGlobs, ..)", - "Get(SourceRootsResult, SourceRootsRequest, ..)", - "Get(UnexpandedTargets, RawSpecs, ..)", - "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)" + "Get(CoarsenedTargets, Addresses, ..)", + "Get(FallibleClasspathEntry, CoursierFetchRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "PutativePythonTargetsRequest", - "AllOwnedSources", - "PythonSetup" + "ScalaPluginsRequest" ], - "name": "pants.backend.python.goals.tailor.find_putative_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.python" + "name": "pants.backend.scala.compile.scalac_plugins.fetch_plugins", + "output_type": "ScalaPlugins", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt": { - "description": "Format with add-trailing-comma", + "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target": { + "description": null, "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(Address, AddressInput, ..)", + "Get(_TargetParametrizations, {_TargetParametrizationsRequest: .., EnvironmentName: ..})" ], - "input_types": ["Batch", "AddTrailingComma"], - "name": "pants.backend.python.lint.add_trailing_comma.rules.add_trailing_comma_fmt", - "output_type": "FixResult", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma" + "input_types": [ + "ScalaPluginsForTargetRequest", + "AllScalaPluginTargets", + "JvmSubsystem", + "Scalac", + "TargetTypesToGenerateTargetsRequests", + "ChosenLocalEnvironmentName", + "FieldDefaults" + ], + "name": "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", + "output_type": "ScalaPluginTargetsForTarget", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.autoflake.rules.autoflake_fix": { - "description": "Fix with Autoflake", + "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis": { + "description": "Inferring Scala dependencies by analyzing sources", "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(ScalaSourceDependencyAnalysis, SourceFilesRequest, ..)" ], - "input_types": ["Batch", "Autoflake"], - "name": "pants.backend.python.lint.autoflake.rules.autoflake_fix", - "output_type": "FixResult", - "provider": "pants.backend.python.lint.autoflake" + "input_types": [ + "InferScalaSourceDependencies", + "ScalaInferSubsystem", + "JvmSubsystem", + "SymbolMapping" + ], + "name": "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.bandit.rules.bandit_lint": { - "description": "Lint with Bandit", + "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency": { + "description": "Infer dependency on scala-library artifact for Scala target.", "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(ScalaRuntimeForResolve, ScalaRuntimeForResolveRequest, ..)" ], - "input_types": ["Batch", "Bandit"], - "name": "pants.backend.python.lint.bandit.rules.bandit_lint", - "output_type": "LintResult", - "provider": "pants.backend.python.lint.bandit" - }, - "pants.backend.python.lint.bandit.rules.partition_bandit": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "Bandit", "PythonSetup"], - "name": "pants.backend.python.lint.bandit.rules.partition_bandit", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.bandit" + "input_types": [ + "InferScalaLibraryDependencyRequest", + "JvmSubsystem" + ], + "name": "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.black.rules.black_fmt": { - "description": "Format with Black", - "documentation": null, + "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies": { + "description": "Infer dependency on scala plugin artifacts for Scala target.", + "documentation": "Adds dependencies on plugins for scala source files, so that they get included in the\ntarget's resolve.", "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(ScalaPluginTargetsForTarget, ScalaPluginsForTargetWithoutResolveRequest, ..)" ], - "input_types": ["Batch", "Black"], - "name": "pants.backend.python.lint.black.rules.black_fmt", - "output_type": "FixResult", - "provider": "pants.backend.python.lint.black" + "input_types": [ + "InferScalaPluginDependenciesRequest" + ], + "name": "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.black.rules.partition_black": { + "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "Black", "PythonSetup"], - "name": "pants.backend.python.lint.black.rules.partition_black", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.black" - }, - "pants.backend.python.lint.docformatter.rules.docformatter_fmt": { - "description": "Format with docformatter", - "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)" ], - "input_types": ["Batch", "Docformatter", "KeepSandboxes"], - "name": "pants.backend.python.lint.docformatter.rules.docformatter_fmt", - "output_type": "FixResult", - "provider": "pants.backend.python.lint.docformatter" - }, - "pants.backend.python.lint.flake8.rules.partition_flake8": { - "description": null, - "documentation": null, - "input_gets": [], "input_types": [ - "PartitionRequest", - "Flake8", - "PythonSetup", - "Flake8FirstPartyPlugins" + "ScalaRuntimeForResolveRequest", + "AllJvmArtifactTargets", + "JvmSubsystem", + "ScalaSubsystem" ], - "name": "pants.backend.python.lint.flake8.rules.partition_flake8", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.flake8" + "name": "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", + "output_type": "ScalaRuntimeForResolve", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.flake8.rules.run_flake8": { - "description": "Lint with Flake8", + "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies": { + "description": null, "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, PathGlobs, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(GenerateJvmLockfileFromTool, ScalaParserToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(FallibleProcessResult, JvmProcess, ..)" ], - "input_types": ["Batch", "Flake8", "Flake8FirstPartyPlugins"], - "name": "pants.backend.python.lint.flake8.rules.run_flake8", - "output_type": "LintResult", - "provider": "pants.backend.python.lint.flake8" + "input_types": [ + "InternalJdk", + "ScalaParserCompiledClassfiles", + "AnalyzeScalaSourceRequest" + ], + "name": "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", + "output_type": "FallibleScalaSourceDependencyAnalysisResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins": { + "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request": { "description": null, "documentation": null, "input_gets": [ - "Get(Addresses, UnparsedAddressInputs, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(StrippedPythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)" ], - "input_types": ["Flake8"], - "name": "pants.backend.python.lint.flake8.subsystem.flake8_first_party_plugins", - "output_type": "Flake8FirstPartyPlugins", - "provider": "pants.backend.python.lint.flake8" + "input_types": [ + "ScalaSubsystem", + "JvmSubsystem", + "Scalac", + "SourceFilesRequest" + ], + "name": "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", + "output_type": "AnalyzeScalaSourceRequest", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.isort.rules.isort_fmt": { - "description": "Format with isort", + "pants.backend.scala.dependency_inference.scala_parser.generate_scala_parser_lockfile_request": { + "description": null, "documentation": null, - "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(PexResolveInfo, VenvPex, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "input_gets": [], + "input_types": [ + "ScalaParserToolLockfileSentinel" ], - "input_types": ["Batch", "Isort", "KeepSandboxes"], - "name": "pants.backend.python.lint.isort.rules.isort_fmt", - "output_type": "FixResult", - "provider": "pants.backend.python.lint.isort" + "name": "pants.backend.scala.dependency_inference.scala_parser.generate_scala_parser_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint": { - "description": "Lint with Pydocstyle", + "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis": { + "description": null, "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)" + "Get(ProcessResult, {FallibleProcessResult: .., ProductDescription: ..})", + "Get(DigestContents, Digest, ..)" ], - "input_types": ["Batch", "Pydocstyle"], - "name": "pants.backend.python.lint.pydocstyle.rules.pydocstyle_lint", - "output_type": "LintResult", - "provider": "pants.backend.python.lint.pydocstyle" - }, - "pants.backend.python.lint.pylint.rules.partition_pylint": { - "description": "Determine if necessary to partition Pylint input", - "documentation": null, - "input_gets": ["Get(CoarsenedTargets, CoarsenedTargetsRequest, ..)"], "input_types": [ - "PartitionRequest", - "Pylint", - "PythonSetup", - "PylintFirstPartyPlugins" + "FallibleScalaSourceDependencyAnalysisResult" ], - "name": "pants.backend.python.lint.pylint.rules.partition_pylint", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.pylint" + "name": "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", + "output_type": "ScalaSourceDependencyAnalysis", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.pylint.rules.run_pylint": { - "description": "Lint using Pylint", + "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles": { + "description": null, "documentation": null, "input_gets": [ - "Get(Pex, RequirementsPexRequest, ..)", - "Get(Pex, PexRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", + "Get(GenerateJvmLockfileFromTool, ScalaParserToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", "Get(Digest, CreateDigest, ..)", - "Get(PexResolveInfo, Pex, ..)", - "Get(VenvPex, VenvPexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)", + "Get(ProcessResult, JvmProcess, ..)", "Get(Digest, RemovePrefix, ..)" ], "input_types": [ - "Batch", - "Pylint", - "PylintFirstPartyPlugins", - "PexEnvironment" + "InternalJdk" ], - "name": "pants.backend.python.lint.pylint.rules.run_pylint", - "output_type": "LintResult", - "provider": "pants.backend.python.lint.pylint" + "name": "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", + "output_type": "ScalaParserCompiledClassfiles", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins": { - "description": null, + "pants.backend.scala.dependency_inference.symbol_mapper.find_all_scala_targets": { + "description": "Find all Scala targets in project", "documentation": null, - "input_gets": [ - "Get(Addresses, UnparsedAddressInputs, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(StrippedPythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(Digest, AddPrefix, ..)" + "input_gets": [], + "input_types": [ + "AllTargets" ], - "input_types": ["Pylint"], - "name": "pants.backend.python.lint.pylint.subsystem.pylint_first_party_plugins", - "output_type": "PylintFirstPartyPlugins", - "provider": "pants.backend.python.lint.pylint" + "name": "pants.backend.scala.dependency_inference.symbol_mapper.find_all_scala_targets", + "output_type": "AllScalaTargets", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix": { - "description": "Fix with pyupgrade", + "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols": { + "description": "Map all first party Scala targets to their symbols", "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(ScalaSourceDependencyAnalysis, SourceFilesRequest, ..)" ], - "input_types": ["Batch", "PyUpgrade"], - "name": "pants.backend.python.lint.pyupgrade.rules.pyupgrade_fix", - "output_type": "FixResult", - "provider": "pants.backend.python.lint.pyupgrade" + "input_types": [ + "FirstPartyScalaTargetsMappingRequest", + "AllScalaTargets", + "JvmSubsystem" + ], + "name": "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", + "output_type": "SymbolMap", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.ruff.rules.ruff_fix": { - "description": "Fix with ruff", + "pants.backend.scala.goals.check.scalac_check": { + "description": "Check compilation for Scala", "documentation": null, "input_gets": [ - "Get(FallibleProcessResult, _RunRuffRequest, ..)", - "Get(Snapshot, Digest, ..)" + "Get(CoarsenedTargets, Addresses, ..)", + "Get(CoursierResolveKey, CoarsenedTargets, ..)", + "Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)" ], - "input_types": ["Batch", "Ruff"], - "name": "pants.backend.python.lint.ruff.rules.ruff_fix", - "output_type": "FixResult", - "provider": "pants.backend.experimental.python.lint.ruff" + "input_types": [ + "ScalacCheckRequest", + "ClasspathEntryRequestFactory" + ], + "name": "pants.backend.scala.goals.check.scalac_check", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.ruff.rules.ruff_lint": { - "description": "Lint with ruff", + "pants.backend.scala.goals.debug_goals.dump_scala_source_analysis": { + "description": "`scala-dump-source-analysis` goal", "documentation": null, "input_gets": [ - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(FallibleProcessResult, _RunRuffRequest, ..)" + "Get(ScalaSourceDependencyAnalysis, SourceFilesRequest, ..)" ], - "input_types": ["Batch"], - "name": "pants.backend.python.lint.ruff.rules.ruff_lint", - "output_type": "LintResult", - "provider": "pants.backend.experimental.python.lint.ruff" + "input_types": [ + "Targets", + "Console" + ], + "name": "pants.backend.scala.goals.debug_goals.dump_scala_source_analysis", + "output_type": "DumpScalaSourceAnalysis", + "provider": "pants.backend.experimental.scala.debug_goals" }, - "pants.backend.python.lint.ruff.rules.run_ruff": { + "pants.backend.scala.goals.repl.create_scala_repl_request": { "description": null, "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)" + "Get(Classpath, Addresses, ..)", + "Get(CoarsenedTargets, Addresses, ..)", + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["_RunRuffRequest", "Ruff"], - "name": "pants.backend.python.lint.ruff.rules.run_ruff", - "output_type": "FallibleProcessResult", - "provider": "pants.backend.experimental.python.lint.ruff" + "input_types": [ + "ScalaRepl", + "BashBinary", + "ScalaSubsystem" + ], + "name": "pants.backend.scala.goals.repl.create_scala_repl_request", + "output_type": "ReplRequest", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.lint.yapf.rules.yapf_fmt": { - "description": "Format with yapf", + "pants.backend.scala.goals.tailor.find_putative_targets": { + "description": "Determine candidate Scala targets to create", "documentation": null, "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)" + "Get(Paths, PathGlobs, ..)" ], - "input_types": ["Batch", "Yapf"], - "name": "pants.backend.python.lint.yapf.rules.yapf_fmt", - "output_type": "FixResult", - "provider": "pants.backend.python.lint.yapf" + "input_types": [ + "PutativeScalaTargetsRequest", + "AllOwnedSources", + "ScalaSubsystem" + ], + "name": "pants.backend.scala.goals.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements": { - "description": "Generate `python_requirement` targets from Pipfile.lock", - "documentation": null, + "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files": { + "description": null, + "documentation": "Gather scalafmt config files and identify which config files to use for each source\ndirectory.", "input_gets": [ - "Get(TargetAdaptor, TargetAdaptorRequest, ..)", - "Get(DigestContents, PathGlobs, ..)" + "Get(Snapshot, PathGlobs, ..)" ], "input_types": [ - "GenerateFromPipenvRequirementsRequest", - "UnionMembership", - "PythonSetup" + "GatherScalafmtConfigFilesRequest" ], - "name": "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements", - "output_type": "GeneratedTargets", - "provider": "pants.backend.python" + "name": "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files", + "output_type": "ScalafmtConfigFiles", + "provider": "pants.backend.experimental.scala.lint.scalafmt" }, - "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement": { - "description": "Generate `python_requirement` targets from Poetry pyproject.toml", + "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request": { + "description": null, "documentation": null, - "input_gets": [ - "Get(TargetAdaptor, TargetAdaptorRequest, ..)", - "Get(DigestContents, PathGlobs, ..)" - ], + "input_gets": [], "input_types": [ - "GenerateFromPoetryRequirementsRequest", - "BuildRoot", - "UnionMembership", - "PythonSetup" + "ScalafmtToolLockfileSentinel", + "ScalafmtSubsystem" ], - "name": "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement", - "output_type": "GeneratedTargets", - "provider": "pants.backend.python" + "name": "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.scala.lint.scalafmt" }, - "pants.backend.python.macros.python_requirements.generate_from_python_requirement": { - "description": "Generate `python_requirement` targets from requirements.txt or PEP 621 compliant pyproject.toml", + "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt": { + "description": null, "documentation": null, "input_gets": [ - "Get(TargetAdaptor, TargetAdaptorRequest, ..)", - "Get(DigestContents, PathGlobs, ..)" + "Get(GenerateJvmLockfileFromTool, ScalafmtToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(ScalafmtConfigFiles, GatherScalafmtConfigFilesRequest, ..)", + "Get(Snapshot, DigestSubset, ..)" ], "input_types": [ - "GenerateFromPythonRequirementsRequest", - "UnionMembership", - "PythonSetup" + "PartitionRequest", + "ScalafmtSubsystem" ], - "name": "pants.backend.python.macros.python_requirements.generate_from_python_requirement", - "output_type": "GeneratedTargets", - "provider": "pants.backend.python" + "name": "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt", + "output_type": "Partitions", + "provider": "pants.backend.experimental.scala.lint.scalafmt" }, - "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints": { - "description": "`py-constraints` goal", + "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt": { + "description": "Format with scalafmt", "documentation": null, "input_gets": [ - "Get(AllTargets)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(Dependents, DependentsRequest, ..)" + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Snapshot, Digest, ..)" ], "input_types": [ - "Addresses", - "Console", - "PyConstraintsSubsystem", - "PythonSetup", - "RegisteredTargetTypes", - "UnionMembership" + "Batch", + "InternalJdk", + "ScalafmtSubsystem" ], - "name": "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", - "output_type": "PyConstraintsGoal", - "provider": "pants.backend.python.mixed_interpreter_constraints" + "name": "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.scala.lint.scalafmt" }, - "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script": { + "pants.backend.scala.resolve.artifact.scala_artifact_classpath": { "description": null, "documentation": null, - "input_gets": ["Get(Digest, CreateDigest, ..)"], - "input_types": [], - "name": "pants.backend.python.packaging.pyoxidizer.rules.create_pyoxidizer_runner_script", - "output_type": "PyoxidizerRunnerScript", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer" + "input_gets": [ + "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)" + ], + "input_types": [ + "ScalaArtifactClasspathEntryRequest" + ], + "name": "pants.backend.scala.resolve.artifact.scala_artifact_classpath", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary": { + "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, DependenciesRequest, ..)", - "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", - "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Pex, PexRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Process, PexProcess, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Snapshot, AddPrefix, ..)" + "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)" + ], + "input_types": [ + "ValidateResolveHasScalaRuntimeRequest", + "ScalaSubsystem", + "AllScalaTargets", + "JvmSubsystem" ], + "name": "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve", + "output_type": "ValidateJvmArtifactsForResolveResult", + "provider": "pants.backend.experimental.scala" + }, + "pants.backend.scala.target_types.generate_jvm_artifact_targets": { + "description": null, + "documentation": null, + "input_gets": [], "input_types": [ - "PyOxidizer", - "PyOxidizerFieldSet", - "PyoxidizerRunnerScript", - "BashBinary", - "Platform" + "GenerateJvmArtifactForScalaTargets", + "JvmSubsystem", + "ScalaSubsystem", + "UnionMembership" ], - "name": "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", - "output_type": "BuiltPackage", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer" + "name": "pants.backend.scala.target_types.generate_jvm_artifact_targets", + "output_type": "GeneratedTargets", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary": { + "pants.backend.scala.target_types.scala_settings_request": { "description": null, "documentation": null, - "input_gets": ["Get(BuiltPackage, PackageFieldSet, ..)"], - "input_types": ["PyOxidizerFieldSet"], - "name": "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer" + "input_gets": [], + "input_types": [ + "ScalaInferSubsystem", + "ScalaSettingsRequest" + ], + "name": "pants.backend.scala.target_types.scala_settings_request", + "output_type": "TargetFilesGeneratorSettings", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.target_types_rules.generate_targets_from_pex_binaries": { + "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["GenerateTargetsFromPexBinaries", "UnionMembership"], - "name": "pants.backend.python.target_types_rules.generate_targets_from_pex_binaries", - "output_type": "GeneratedTargets", - "provider": "pants.backend.python" + "input_types": [ + "ScalatestToolLockfileSentinel", + "Scalatest" + ], + "name": "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency": { - "description": "Inferring dependency from the pex_binary `entry_point` field", + "pants.backend.scala.test.scalatest.run_scalatest_test": { + "description": "Run Scalatest", "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)", - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" + "Get(TestSetup, TestSetupRequest, ..)", + "Get(FallibleProcessResult, JvmProcess, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, RemovePrefix, ..)" ], "input_types": [ - "InferPexBinaryEntryPointDependency", - "PythonInferSubsystem", - "PythonSetup" + "TestSubsystem", + "Batch" ], - "name": "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", - "output_type": "InferredDependencies", - "provider": "pants.backend.python" + "name": "pants.backend.scala.test.scalatest.run_scalatest_test", + "output_type": "TestResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.target_types_rules.infer_python_distribution_dependencies": { + "pants.backend.scala.test.scalatest.setup_scalatest_debug_request": { "description": null, - "documentation": "Infer dependencies that we can infer from entry points in the distribution.", + "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(ResolvedPythonDistributionEntryPoints, ResolvePythonDistributionEntryPointsRequest, ..)", - "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" + "Get(TestSetup, TestSetupRequest, ..)", + "Get(Process, JvmProcess, ..)" ], "input_types": [ - "InferPythonDistributionDependencies", - "PythonInferSubsystem" + "Batch" ], - "name": "pants.backend.python.target_types_rules.infer_python_distribution_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.python" + "name": "pants.backend.scala.test.scalatest.setup_scalatest_debug_request", + "output_type": "TestDebugRequest", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.target_types_rules.python_files_generator_settings": { + "pants.backend.scala.test.scalatest.setup_scalatest_for_target": { "description": null, "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(GenerateJvmLockfileFromTool, ScalatestToolLockfileSentinel, ..)", + "Get(Classpath, Addresses, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], "input_types": [ - "PythonFilesGeneratorSettingsRequest", - "PythonInferSubsystem" + "TestSetupRequest", + "JvmSubsystem", + "Scalatest", + "TestSubsystem", + "TestExtraEnv" ], - "name": "pants.backend.python.target_types_rules.python_files_generator_settings", - "output_type": "TargetFilesGeneratorSettings", - "provider": "pants.backend.python" + "name": "pants.backend.scala.test.scalatest.setup_scalatest_for_target", + "output_type": "TestSetup", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.target_types_rules.python_resolve_field_default_factory": { + "pants.backend.scala.util_rules.versions.resolve_scala_artifacts_for_version": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PythonResolveFieldDefaultFactoryRequest", "PythonSetup"], - "name": "pants.backend.python.target_types_rules.python_resolve_field_default_factory", - "output_type": "FieldDefaultFactoryResult", - "provider": "pants.backend.python" + "input_types": [ + "ScalaArtifactsForVersionRequest" + ], + "name": "pants.backend.scala.util_rules.versions.resolve_scala_artifacts_for_version", + "output_type": "ScalaArtifactsForVersionResult", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.python.target_types_rules.resolve_pex_entry_point": { - "description": "Determining the entry point for a `pex_binary` target", + "pants.backend.shell.dependency_inference.find_all_shell_targets": { + "description": "Find all Shell targets in project", "documentation": null, - "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(SourceRoot, SourceRootRequest, ..)" + "input_gets": [], + "input_types": [ + "AllTargets" ], - "input_types": ["ResolvePexEntryPointRequest"], - "name": "pants.backend.python.target_types_rules.resolve_pex_entry_point", - "output_type": "ResolvedPexEntryPoint", - "provider": "pants.backend.python" + "name": "pants.backend.shell.dependency_inference.find_all_shell_targets", + "output_type": "AllShellTargets", + "provider": "pants.backend.shell" }, - "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points": { - "description": "Determining the entry points for a `python_distribution` target", + "pants.backend.shell.dependency_inference.infer_shell_dependencies": { + "description": "Inferring Shell dependencies by analyzing imports", "documentation": null, "input_gets": [ - "Get(Addresses, UnparsedAddressInputs, ..)", - "Get(Targets, Addresses, ..)", - "Get(ResolvedPexEntryPoint, ResolvePexEntryPointRequest, ..)" + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(ParsedShellImports, ParseShellImportsRequest, ..)" ], - "input_types": ["ResolvePythonDistributionEntryPointsRequest"], - "name": "pants.backend.python.target_types_rules.resolve_python_distribution_entry_points", - "output_type": "ResolvedPythonDistributionEntryPoints", - "provider": "pants.backend.python" + "input_types": [ + "InferShellDependencies", + "ShellMapping", + "ShellSetup" + ], + "name": "pants.backend.shell.dependency_inference.infer_shell_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.shell" }, - "pants.backend.python.target_types_rules.validate_python_dependencies": { - "description": null, + "pants.backend.shell.dependency_inference.map_shell_files": { + "description": "Creating map of Shell file names to Shell targets", "documentation": null, - "input_gets": ["Get(WrappedTarget, WrappedTargetRequest, ..)"], - "input_types": ["PythonValidateDependenciesRequest", "PythonSetup"], - "name": "pants.backend.python.target_types_rules.validate_python_dependencies", - "output_type": "ValidatedDependencies", - "provider": "pants.backend.python" + "input_gets": [], + "input_types": [ + "AllShellTargets" + ], + "name": "pants.backend.shell.dependency_inference.map_shell_files", + "output_type": "ShellMapping", + "provider": "pants.backend.shell" }, - "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment": { - "description": "Get mypyc build environment", + "pants.backend.shell.dependency_inference.parse_shell_imports": { + "description": null, "documentation": null, "input_gets": [ - "Get(Pex, PexRequest, ..)", - "Get(Pex, RequirementsPexRequest, ..)" + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)" ], "input_types": [ - "MyPycDistBuildEnvironmentRequest", - "MyPyFirstPartyPlugins", - "MyPyConfigFile", - "MyPy" + "ParseShellImportsRequest", + "Shellcheck", + "Platform" ], - "name": "pants.backend.python.typecheck.mypy.mypyc.get_mypyc_build_environment", - "output_type": "DistBuildEnvironment", - "provider": "pants.backend.python.typecheck.mypy" + "name": "pants.backend.shell.dependency_inference.parse_shell_imports", + "output_type": "ParsedShellImports", + "provider": "pants.backend.shell" }, - "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions": { - "description": "Determine if necessary to partition MyPy input", + "pants.backend.shell.goals.tailor.find_putative_targets": { + "description": "Determine candidate shell targets to create", "documentation": null, - "input_gets": ["Get(CoarsenedTargets, CoarsenedTargetsRequest, ..)"], - "input_types": ["MyPyRequest", "MyPy", "PythonSetup"], - "name": "pants.backend.python.typecheck.mypy.rules.mypy_determine_partitions", - "output_type": "MyPyPartitions", - "provider": "pants.backend.python.typecheck.mypy" + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "PutativeShellTargetsRequest", + "AllOwnedSources", + "ShellSetup" + ], + "name": "pants.backend.shell.goals.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.shell" }, - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck": { - "description": "Typecheck using MyPy", + "pants.backend.shell.goals.test.test_shell_command": { + "description": "Test with shell command", "documentation": null, "input_gets": [ - "Get(MyPyPartitions, MyPyRequest, ..)", - "Get(CheckResult, MyPyPartition, ..)" + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(Process, ShellCommandProcessFromTargetRequest, ..)", + "Get(FallibleProcessResult, Process, ..)" ], - "input_types": ["MyPyRequest", "MyPy"], - "name": "pants.backend.python.typecheck.mypy.rules.mypy_typecheck", - "output_type": "CheckResults", - "provider": "pants.backend.python.typecheck.mypy" + "input_types": [ + "Batch", + "TestSubsystem", + "TestExtraEnv" + ], + "name": "pants.backend.shell.goals.test.test_shell_command", + "output_type": "TestResult", + "provider": "pants.backend.shell" }, - "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition": { - "description": null, + "pants.backend.shell.lint.shellcheck.rules.run_shellcheck": { + "description": "Lint with Shellcheck", "documentation": null, "input_gets": [ + "Get(Targets, DependenciesRequest, ..)", "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Pex, RequirementsPexRequest, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(PexResolveInfo, VenvPex, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(Process, VenvPexProcess, ..)", - "Get(FallibleProcessResult, Process, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(FallibleProcessResult, Process, ..)" ], "input_types": [ - "MyPyPartition", - "MyPyConfigFile", - "MyPyFirstPartyPlugins", - "BuildRoot", - "MyPy", - "PythonSetup", - "MkdirBinary", - "MktempBinary", - "CpBinary", - "MvBinary", - "LnBinary", - "GlobalOptions" + "Batch", + "Shellcheck", + "Platform" ], - "name": "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition", - "output_type": "CheckResult", - "provider": "pants.backend.python.typecheck.mypy" + "name": "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", + "output_type": "LintResult", + "provider": "pants.backend.shell.lint.shellcheck" }, - "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins": { - "description": null, + "pants.backend.shell.lint.shfmt.rules.shfmt_fmt": { + "description": "Format with shfmt", "documentation": null, "input_gets": [ - "Get(Addresses, UnparsedAddressInputs, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)" + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["MyPy"], - "name": "pants.backend.python.typecheck.mypy.subsystem.mypy_first_party_plugins", - "output_type": "MyPyFirstPartyPlugins", - "provider": "pants.backend.python.typecheck.mypy" + "input_types": [ + "Batch", + "Shfmt", + "Platform" + ], + "name": "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", + "output_type": "FixResult", + "provider": "pants.backend.shell.lint.shfmt" }, - "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config": { - "description": null, + "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell": { + "description": "Determine shunit2 shell", "documentation": null, "input_gets": [ - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(DigestContents, Digest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], - "input_types": ["MyPy"], - "name": "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", - "output_type": "MyPyConfigFile", - "provider": "pants.backend.python.typecheck.mypy" - }, - "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions": { - "description": "Determine if it is necessary to partition Pytype's input (interpreter_constraints and resolves)", - "documentation": null, - "input_gets": ["Get(CoarsenedTargets, CoarsenedTargetsRequest, ..)"], - "input_types": ["PytypeRequest", "Pytype", "PythonSetup"], - "name": "pants.backend.python.typecheck.pytype.rules.pytype_determine_partitions", - "output_type": "PytypePartitions", - "provider": "pants.backend.experimental.python.typecheck.pytype" + "input_types": [ + "Shunit2RunnerRequest", + "EnvironmentAware" + ], + "name": "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell", + "output_type": "Shunit2Runner", + "provider": "pants.backend.shell" }, - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck": { - "description": "Typecheck using Pytype", + "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2": { + "description": "Run tests with Shunit2", "documentation": null, "input_gets": [ - "Get(PytypePartitions, PytypeRequest, ..)", - "Get(CheckResult, PytypePartition, ..)" + "Get(TestSetup, TestSetupRequest, ..)", + "Get(FallibleProcessResult, Process, ..)" ], - "input_types": ["PytypeRequest", "Pytype"], - "name": "pants.backend.python.typecheck.pytype.rules.pytype_typecheck", - "output_type": "CheckResults", - "provider": "pants.backend.experimental.python.typecheck.pytype" + "input_types": [ + "Batch", + "TestSubsystem", + "GlobalOptions" + ], + "name": "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", + "output_type": "TestResult", + "provider": "pants.backend.shell" }, - "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition": { - "description": "Pytype typecheck each partition based on its interpreter_constraints", + "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test": { + "description": "Setup Shunit2 to run interactively", "documentation": null, "input_gets": [ - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Pex, RequirementsPexRequest, ..)", - "Get(Pex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(VenvPex, VenvPexRequest, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)" + "Get(TestSetup, TestSetupRequest, ..)" ], - "input_types": ["PytypePartition", "Pytype", "PexEnvironment"], - "name": "pants.backend.python.typecheck.pytype.rules.pytype_typecheck_partition", - "output_type": "CheckResult", - "provider": "pants.backend.experimental.python.typecheck.pytype" + "input_types": [ + "Batch" + ], + "name": "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test", + "output_type": "TestDebugRequest", + "provider": "pants.backend.shell" }, - "pants.backend.python.util_rules.ancestor_files.find_ancestor_files": { - "description": null, + "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target": { + "description": "Setup shunit2", "documentation": null, "input_gets": [ - "Get(DigestContents, PathGlobs, ..)", - "Get(Snapshot, PathGlobs, ..)" + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(BuiltPackageDependencies, BuildPackageDependenciesRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Shunit2Runner, Shunit2RunnerRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["AncestorFilesRequest"], - "name": "pants.backend.python.util_rules.ancestor_files.find_ancestor_files", - "output_type": "AncestorFiles", - "provider": "pants.backend.python" - }, - "pants.backend.python.util_rules.dists.find_build_system": { - "description": null, - "documentation": null, - "input_gets": ["Get(DigestContents, DigestSubset, ..)"], - "input_types": ["BuildSystemRequest", "Setuptools"], - "name": "pants.backend.python.util_rules.dists.find_build_system", - "output_type": "BuildSystem", - "provider": "pants.backend.python" + "input_types": [ + "TestSetupRequest", + "EnvironmentAware", + "TestSubsystem", + "TestExtraEnv", + "Shunit2", + "Platform" + ], + "name": "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", + "output_type": "TestSetup", + "provider": "pants.backend.shell" }, - "pants.backend.python.util_rules.dists.run_pep517_build": { + "pants.backend.shell.target_types.generator_settings": { "description": null, "documentation": null, - "input_gets": [ - "Get(VenvPex, PexRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Snapshot, Digest, ..)" + "input_gets": [], + "input_types": [ + "ShellGeneratorSettingsRequest", + "ShellSetup" ], - "input_types": ["DistBuildRequest", "PythonSetup"], - "name": "pants.backend.python.util_rules.dists.run_pep517_build", - "output_type": "DistBuildResult", - "provider": "pants.backend.python" + "name": "pants.backend.shell.target_types.generator_settings", + "output_type": "TargetFilesGeneratorSettings", + "provider": "pants.backend.shell" }, - "pants.backend.python.util_rules.faas.build_python_faas": { + "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target": { "description": null, "documentation": null, "input_gets": [ - "Get(RuntimePlatforms, RuntimePlatformsRequest, ..)", - "Get(ResolvedPythonFaaSHandler, ResolvePythonFaaSHandlerRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Pex, PexFromTargetsRequest, ..)", - "Get(PexVenv, PexVenvRequest, ..)" + "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)", + "Get(BinaryShims, BinaryShimsRequest, ..)", + "Get(ExtraSandboxContents, MergeExtraSandboxContents, ..)", + "Get(Process, AdhocProcessRequest, ..)" ], - "input_types": ["BuildPythonFaaSRequest"], - "name": "pants.backend.python.util_rules.faas.build_python_faas", - "output_type": "BuiltPackage", - "provider": "pants.backend.awslambda.python" + "input_types": [ + "ShellCommandProcessFromTargetRequest", + "EnvironmentAware", + "BashBinary" + ], + "name": "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", + "output_type": "Process", + "provider": "pants.backend.shell" }, - "pants.backend.python.util_rules.faas.digest_complete_platforms": { + "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target": { "description": null, "documentation": null, - "input_gets": ["Get(CompletePlatforms, UnparsedAddressInputs, ..)"], - "input_types": ["PythonFaaSCompletePlatforms"], - "name": "pants.backend.python.util_rules.faas.digest_complete_platforms", - "output_type": "CompletePlatforms", - "provider": "pants.backend.awslambda.python" - }, - "pants.backend.python.util_rules.faas.infer_faas_handler_dependency": { - "description": "Inferring dependency from the python FaaS `handler` field", - "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(ResolvedPythonFaaSHandler, ResolvePythonFaaSHandlerRequest, ..)", - "Get(SourceRoot, SourceRootRequest, ..)", - "Get(PythonModuleOwners, PythonModuleOwnersRequest, ..)" + "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)", + "Get(BinaryShims, BinaryShimsRequest, ..)", + "Get(ExtraSandboxContents, MergeExtraSandboxContents, ..)", + "Get(AdhocProcessResult, AdhocProcessRequest, ..)" ], "input_types": [ - "InferPythonFaaSHandlerDependency", - "PythonInferSubsystem", - "PythonSetup" + "ShellCommandProcessFromTargetRequest", + "EnvironmentAware", + "BashBinary" ], - "name": "pants.backend.python.util_rules.faas.infer_faas_handler_dependency", - "output_type": "InferredDependencies", - "provider": "pants.backend.awslambda.python" + "name": "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target", + "output_type": "AdhocProcessResult", + "provider": "pants.backend.shell" }, - "pants.backend.python.util_rules.faas.infer_runtime_platforms": { + "pants.backend.shell.util_rules.shell_command.run_shell_command_request": { "description": null, "documentation": null, "input_gets": [ - "Get(CompletePlatforms, PythonFaaSCompletePlatforms, ..)", - "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)", - "Get(Snapshot, CreateDigest, ..)" + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)" ], - "input_types": ["RuntimePlatformsRequest"], - "name": "pants.backend.python.util_rules.faas.infer_runtime_platforms", - "output_type": "RuntimePlatforms", - "provider": "pants.backend.awslambda.python" + "input_types": [ + "BashBinary", + "RunShellCommand" + ], + "name": "pants.backend.shell.util_rules.shell_command.run_shell_command_request", + "output_type": "RunRequest", + "provider": "pants.backend.shell" }, - "pants.backend.python.util_rules.faas.resolve_python_faas_handler": { - "description": "Determining the handler for a python FaaS target", + "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox": { + "description": "Running shell command", "documentation": null, "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(SourceRoot, SourceRootRequest, ..)" + "Get(EnvironmentName, EnvironmentNameRequest, ..)", + "Get(AdhocProcessResult, {EnvironmentName: .., ShellCommandProcessFromTargetRequest: ..})", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["ResolvePythonFaaSHandlerRequest"], - "name": "pants.backend.python.util_rules.faas.resolve_python_faas_handler", - "output_type": "ResolvedPythonFaaSHandler", - "provider": "pants.backend.awslambda.python" + "input_types": [ + "GenerateFilesFromShellCommandRequest" + ], + "name": "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", + "output_type": "GeneratedSources", + "provider": "pants.backend.shell" }, - "pants.backend.python.util_rules.local_dists.build_local_dists": { - "description": "Building local distributions", + "pants.backend.swift.goals.tailor.find_putative_targets": { + "description": "Determine candidate Swift targets to create", "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(LocalDistWheels, PythonDistributionFieldSet, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Pex, PexRequest, ..)", - "Get(Snapshot, DigestSubset, ..)" + "Get(Paths, PathGlobs, ..)" ], - "input_types": ["LocalDistsPexRequest"], - "name": "pants.backend.python.util_rules.local_dists.build_local_dists", - "output_type": "LocalDistsPex", - "provider": "pants.backend.python" + "input_types": [ + "PutativeSwiftTargetsRequest", + "AllOwnedSources" + ], + "name": "pants.backend.swift.goals.tailor.find_putative_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.swift" }, - "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels": { + "pants.backend.terraform.dependencies.get_terraform_providers": { "description": null, "documentation": null, "input_gets": [ - "Get(BuiltPackage, PackageFieldSet, ..)", - "Get(Snapshot, DigestSubset, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(ProcessResult, Process, ..)" + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, TerraformProcess, ..)" ], "input_types": [ - "PythonDistributionFieldSet", - "BashBinary", - "UnzipBinary" + "TerraformDependenciesRequest" ], - "name": "pants.backend.python.util_rules.local_dists.isolate_local_dist_wheels", - "output_type": "LocalDistWheels", - "provider": "pants.backend.python" + "name": "pants.backend.terraform.dependencies.get_terraform_providers", + "output_type": "TerraformDependenciesResponse", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists": { - "description": "Building editable local distributions (PEP 660)", + "pants.backend.terraform.dependencies.init_terraform": { + "description": null, "documentation": null, "input_gets": [ - "Get(LocalDistPEP660Wheels, PythonDistributionFieldSet, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Address, AddressInput, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(TerraformDependenciesResponse, TerraformDependenciesRequest, ..)", "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "EditableLocalDistsRequest", - "ResolveSortedPythonDistributionTargets", - "PythonSetup" + "TerraformInitRequest" ], - "name": "pants.backend.python.util_rules.local_dists_pep660.build_editable_local_dists", - "output_type": "EditableLocalDists", - "provider": "pants.backend.python" + "name": "pants.backend.terraform.dependencies.init_terraform", + "output_type": "TerraformInitResponse", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.local_dists_pep660.find_all_python_distributions": { - "description": "Find all Python Distribution targets in project", + "pants.backend.terraform.dependency_inference.infer_terraform_deployment_dependencies": { + "description": null, "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.python.util_rules.local_dists_pep660.find_all_python_distributions", - "output_type": "AllPythonDistributionTargets", - "provider": "pants.backend.python" + "input_gets": [ + "Get(Address, AddressInput, ..)" + ], + "input_types": [ + "InferTerraformDeploymentDependenciesRequest" + ], + "name": "pants.backend.terraform.dependency_inference.infer_terraform_deployment_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels": { + "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies": { "description": null, "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(DistBuildChroot, DistBuildChrootRequest, ..)", - "Get(SourceRootsResult, SourceRootsRequest, ..)", - "Get(DistBuildEnvironment, DistBuildEnvironmentRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(BuildSystem, BuildSystemRequest, ..)", - "Get(PEP660BuildResult, DistBuildRequest, ..)", - "Get(Snapshot, DigestSubset, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(ProcessResult, Process, ..)" + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(ProcessResult, ParseTerraformModuleSources, ..)", + "Get(Targets, RawSpecs, ..)" ], "input_types": [ - "PythonDistributionFieldSet", - "BashBinary", - "UnzipBinary", - "PythonSetup", - "UnionMembership" + "InferTerraformModuleDependenciesRequest" ], - "name": "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "output_type": "LocalDistPEP660Wheels", - "provider": "pants.backend.python" + "name": "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build": { + "pants.backend.terraform.dependency_inference.setup_parser": { "description": null, - "documentation": "Run our PEP 517 / PEP 660 wrapper script to generate an editable wheel.\n\nThe PEP 517 / PEP 660 wraper script is responsible for building the editable wheel.\nThe backend wrapper script, along with the commands that install the editable wheel,\nneed to conform to the following specs so that Pants is a PEP 660 compliant frontend,\na PEP 660 compliant backend, and that it builds a compliant wheel and install.\n\nNOTE: PEP 660 does not address the `.data` directory, so the wrapper ignores it.\n\nRelevant Specs:\n https://peps.python.org/pep-0517/\n https://peps.python.org/pep-0660/\n https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/\n https://packaging.python.org/en/latest/specifications/recording-installed-packages/\n https://packaging.python.org/en/latest/specifications/direct-url-data-structure/\n https://packaging.python.org/en/latest/specifications/binary-distribution-format/", + "documentation": null, "input_gets": [ "Get(Digest, CreateDigest, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Snapshot, Digest, ..)" + "Get(VenvPex, PexRequest, ..)" ], - "input_types": ["DistBuildRequest", "PythonSetup", "BuildRoot"], - "name": "pants.backend.python.util_rules.local_dists_pep660.run_pep660_build", - "output_type": "PEP660BuildResult", - "provider": "pants.backend.python" - }, - "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve": { - "description": "Associate resolves with all Python Distribution targets in project", - "documentation": null, - "input_gets": ["Get(OwnedDependencies, DependencyOwner, ..)"], - "input_types": ["AllPythonDistributionTargets", "PythonSetup"], - "name": "pants.backend.python.util_rules.local_dists_pep660.sort_all_python_distributions_by_resolve", - "output_type": "ResolveSortedPythonDistributionTargets", - "provider": "pants.backend.python" + "input_types": [ + "TerraformHcl2Parser" + ], + "name": "pants.backend.terraform.dependency_inference.setup_parser", + "output_type": "ParserSetup", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs": { + "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources": { "description": null, "documentation": null, - "input_gets": ["Get(SetupKwargs, SetupKwargsRequest, ..)"], - "input_types": ["ExportedTarget", "UnionMembership"], - "name": "pants.backend.python.util_rules.package_dists.determine_explicitly_provided_setup_kwargs", - "output_type": "SetupKwargs", - "provider": "pants.backend.python" + "input_gets": [ + "Get(Process, VenvPexProcess, ..)" + ], + "input_types": [ + "ParseTerraformModuleSources", + "ParserSetup" + ], + "name": "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources", + "output_type": "Process", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs": { + "pants.backend.terraform.goals.check.terraform_check": { "description": null, "documentation": null, "input_gets": [ - "Get(ExportedTargetRequirements, DependencyOwner, ..)", - "Get(SetupKwargs, ExportedTarget, ..)", - "Get(DigestContents, PathGlobs, ..)", - "Get(ResolvedPythonDistributionEntryPoints, ResolvePythonDistributionEntryPointsRequest, ..)" + "Get(TerraformInitResponse, TerraformInitRequest, ..)", + "Get(FallibleProcessResult, TerraformProcess, ..)" ], - "input_types": ["GenerateSetupPyRequest"], - "name": "pants.backend.python.util_rules.package_dists.determine_finalized_setup_kwargs", - "output_type": "FinalizedSetupKwargs", - "provider": "pants.backend.python" + "input_types": [ + "TerraformCheckRequest", + "TerraformValidateSubsystem" + ], + "name": "pants.backend.terraform.goals.check.terraform_check", + "output_type": "CheckResults", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.package_dists.generate_chroot": { + "pants.backend.terraform.goals.deploy.prepare_terraform_deployment": { "description": null, "documentation": null, "input_gets": [ - "Get(DistBuildSources, DistBuildChrootRequest, ..)", - "Get(GeneratedSetupPy, GenerateSetupPyRequest, ..)", + "Get(TerraformInitResponse, TerraformInitRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)" + "Get(Process, TerraformProcess, ..)" ], - "input_types": ["DistBuildChrootRequest", "SetupPyGeneration"], - "name": "pants.backend.python.util_rules.package_dists.generate_chroot", - "output_type": "DistBuildChroot", - "provider": "pants.backend.python" + "input_types": [ + "TerraformDeploymentRequest", + "TerraformTool" + ], + "name": "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", + "output_type": "InteractiveProcess", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.package_dists.generate_setup_py": { - "description": null, + "pants.backend.terraform.goals.deploy.run_terraform_deploy": { + "description": "Run Terraform deploy process", "documentation": null, "input_gets": [ - "Get(FinalizedSetupKwargs, GenerateSetupPyRequest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(InteractiveProcess, TerraformDeploymentRequest, ..)" ], - "input_types": ["GenerateSetupPyRequest"], - "name": "pants.backend.python.util_rules.package_dists.generate_setup_py", - "output_type": "GeneratedSetupPy", - "provider": "pants.backend.python" - }, - "pants.backend.python.util_rules.package_dists.get_exporting_owner": { - "description": "Get exporting owner for target", - "documentation": "Find the exported target that owns the given target (and therefore exports it).\n\nThe owner of T (i.e., the exported target in whose artifact T's code is published) is:\n\n 1. An exported target that depends on T (or is T itself).\n 2. Is T's closest filesystem ancestor among those satisfying 1.\n\nIf there are multiple such exported targets at the same degree of ancestry, the ownership\nis ambiguous and an error is raised. If there is no exported target that depends on T\nand is its ancestor, then there is no owner and an error is raised.", - "input_gets": [ - "Get(Targets, RawSpecs, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)" + "input_types": [ + "DeployTerraformFieldSet" ], - "input_types": ["OwnedDependency"], - "name": "pants.backend.python.util_rules.package_dists.get_exporting_owner", - "output_type": "ExportedTarget", - "provider": "pants.backend.python" + "name": "pants.backend.terraform.goals.deploy.run_terraform_deploy", + "output_type": "DeployProcess", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.package_dists.get_owned_dependencies": { - "description": "Find all code to be published in the distribution", - "documentation": "Find the dependencies of dependency_owner that are owned by it.\n\nIncludes dependency_owner itself.", + "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets": { + "description": "Determine candidate Terraform targets to create", + "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(ExportedTarget, OwnedDependency, ..)" + "Get(Paths, PathGlobs, ..)" ], - "input_types": ["DependencyOwner", "UnionMembership"], - "name": "pants.backend.python.util_rules.package_dists.get_owned_dependencies", - "output_type": "OwnedDependencies", - "provider": "pants.backend.python" + "input_types": [ + "PutativeTerraformTargetsRequest", + "TerraformTool", + "AllOwnedSources" + ], + "name": "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.package_dists.get_requirements": { - "description": "Compute distribution's 3rd party requirements", + "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt": { + "description": null, "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(ExportedTarget, OwnedDependency, ..)", - "Get(Targets, DependenciesRequest, ..)", - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(SetupKwargs, OwnedDependency, ..)" + "Get(SourceFiles, SourceFilesRequest, ..)" ], "input_types": [ - "DependencyOwner", - "UnionMembership", - "SetupPyGeneration" + "PartitionRequest", + "TfFmtSubsystem" ], - "name": "pants.backend.python.util_rules.package_dists.get_requirements", - "output_type": "ExportedTargetRequirements", - "provider": "pants.backend.python" + "name": "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", + "output_type": "Partitions", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.package_dists.get_sources": { - "description": null, + "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt": { + "description": "Format with `terraform fmt`", "documentation": null, "input_gets": [ - "Get(OwnedDependencies, DependencyOwner, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(StrippedPythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(DigestContents, DigestSubset, ..)" + "Get(ProcessResult, TerraformProcess, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["DistBuildChrootRequest", "UnionMembership"], - "name": "pants.backend.python.util_rules.package_dists.get_sources", - "output_type": "DistBuildSources", - "provider": "pants.backend.python" + "input_types": [ + "Batch", + "TfFmtSubsystem" + ], + "name": "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt", + "output_type": "FixResult", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.pex.build_pex": { + "pants.backend.terraform.lint.tfsec.rules.run_tfsec": { "description": null, - "documentation": "Returns a PEX with the given settings.", + "documentation": null, "input_gets": [ - "Get(PythonExecutable, InterpreterConstraints, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(ResolvePexConfig, ResolvePexConfigRequest, ..)", - "Get(Lockfile, Resolve, ..)", - "Get(LoadedLockfile, LoadedLockfileRequest, ..)", - "Get(PexRequirementsInfo, PexRequirements, ..)", - "Get(Digest, CreateDigest, ..)", + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, PexCliProcess, ..)" + "Get(FallibleProcessResult, Process, ..)" ], - "input_types": ["PexRequest", "PythonSetup", "PexSubsystem"], - "name": "pants.backend.python.util_rules.pex.build_pex", - "output_type": "BuildPexResult", - "provider": "pants.core" + "input_types": [ + "Batch", + "TFSec", + "Platform" + ], + "name": "pants.backend.terraform.lint.tfsec.rules.run_tfsec", + "output_type": "LintResult", + "provider": "pants.backend.experimental.terraform.lint.tfsec" }, - "pants.backend.python.util_rules.pex.create_optional_pex": { + "pants.backend.terraform.target_types.all_terraform_deployment_targets": { "description": null, "documentation": null, - "input_gets": ["Get(Pex, PexRequest, ..)"], - "input_types": ["OptionalPexRequest"], - "name": "pants.backend.python.util_rules.pex.create_optional_pex", - "output_type": "OptionalPex", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.backend.terraform.target_types.all_terraform_deployment_targets", + "output_type": "AllTerraformDeploymentTargets", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.pex.create_pex": { + "pants.backend.terraform.tool.setup_terraform_process": { "description": null, "documentation": null, - "input_gets": ["Get(BuildPexResult, PexRequest, ..)"], - "input_types": ["PexRequest"], - "name": "pants.backend.python.util_rules.pex.create_pex", - "output_type": "Pex", - "provider": "pants.core" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "TerraformProcess", + "TerraformTool", + "Platform" + ], + "name": "pants.backend.terraform.tool.setup_terraform_process", + "output_type": "Process", + "provider": "pants.backend.experimental.terraform" }, - "pants.backend.python.util_rules.pex.create_venv_pex": { + "pants.backend.tools.preamble.rules.partition_inputs": { "description": null, "documentation": null, - "input_gets": [ - "Get(BuildPexResult, PexRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "PreambleSubsystem" ], - "input_types": ["VenvPexRequest", "BashBinary", "PexEnvironment"], - "name": "pants.backend.python.util_rules.pex.create_venv_pex", - "output_type": "VenvPex", - "provider": "pants.core" + "name": "pants.backend.tools.preamble.rules.partition_inputs", + "output_type": "Partitions", + "provider": "pants.backend.tools.preamble" }, - "pants.backend.python.util_rules.pex.determine_pex_resolve_info": { - "description": null, + "pants.backend.tools.preamble.rules.preamble_fmt": { + "description": "Add preambles", "documentation": null, - "input_gets": ["Get(ProcessResult, PexProcess, ..)"], - "input_types": ["PexPEX", "Pex"], - "name": "pants.backend.python.util_rules.pex.determine_pex_resolve_info", - "output_type": "PexResolveInfo", - "provider": "pants.core" + "input_gets": [ + "Get(DigestContents, Digest, ..)", + "Get(Snapshot, CreateDigest, ..)" + ], + "input_types": [ + "Batch", + "PreambleSubsystem" + ], + "name": "pants.backend.tools.preamble.rules.preamble_fmt", + "output_type": "FixResult", + "provider": "pants.backend.tools.preamble" }, - "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info": { + "pants.backend.tools.semgrep.rules.all_semgrep_ignore_files": { "description": null, "documentation": null, - "input_gets": ["Get(ProcessResult, VenvPexProcess, ..)"], - "input_types": ["VenvPex"], - "name": "pants.backend.python.util_rules.pex.determine_venv_pex_resolve_info", - "output_type": "PexResolveInfo", - "provider": "pants.core" + "input_gets": [ + "Get(Snapshot, PathGlobs, ..)" + ], + "input_types": [], + "name": "pants.backend.tools.semgrep.rules.all_semgrep_ignore_files", + "output_type": "SemgrepIgnoreFiles", + "provider": "pants.backend.experimental.tools.semgrep" }, - "pants.backend.python.util_rules.pex.digest_complete_platform_addresses": { + "pants.backend.tools.semgrep.rules.find_all_semgrep_configs": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Snapshot, MergeDigests, ..)" + "Get(Paths, PathGlobs, ..)" ], - "input_types": ["UnparsedAddressInputs"], - "name": "pants.backend.python.util_rules.pex.digest_complete_platform_addresses", - "output_type": "CompletePlatforms", - "provider": "pants.core" + "input_types": [], + "name": "pants.backend.tools.semgrep.rules.find_all_semgrep_configs", + "output_type": "AllSemgrepConfigs", + "provider": "pants.backend.experimental.tools.semgrep" }, - "pants.backend.python.util_rules.pex.digest_complete_platforms": { + "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs": { "description": null, "documentation": null, - "input_gets": ["Get(CompletePlatforms, UnparsedAddressInputs, ..)"], - "input_types": ["PexCompletePlatformsField"], - "name": "pants.backend.python.util_rules.pex.digest_complete_platforms", - "output_type": "CompletePlatforms", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "RelevantSemgrepConfigsRequest", + "AllSemgrepConfigs" + ], + "name": "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs", + "output_type": "RelevantSemgrepConfigs", + "provider": "pants.backend.experimental.tools.semgrep" }, - "pants.backend.python.util_rules.pex.find_interpreter": { - "description": "Find Python interpreter for constraints", + "pants.backend.tools.semgrep.rules.lint": { + "description": "Lint with Semgrep", "documentation": null, "input_gets": [ - "Get(PythonExecutable, PythonProvider, ..)", - "Get(ProcessResult, PexCliProcess, ..)" + "Get(Snapshot, PathGlobs, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, VenvPexProcess, ..)" ], "input_types": [ - "InterpreterConstraints", - "PexSubsystem", - "EnvironmentTarget", - "UnionMembership" + "Batch", + "SemgrepSubsystem", + "GlobalOptions" ], - "name": "pants.backend.python.util_rules.pex.find_interpreter", - "output_type": "PythonExecutable", - "provider": "pants.core" + "name": "pants.backend.tools.semgrep.rules.lint", + "output_type": "LintResult", + "provider": "pants.backend.experimental.tools.semgrep" }, - "pants.backend.python.util_rules.pex.get_req_strings": { + "pants.backend.tools.semgrep.rules.partition": { "description": null, "documentation": null, "input_gets": [ - "Get(Addresses, UnparsedAddressInputs, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)" + "Get(RelevantSemgrepConfigs, RelevantSemgrepConfigsRequest, ..)" ], - "input_types": ["PexRequirements"], - "name": "pants.backend.python.util_rules.pex.get_req_strings", - "output_type": "PexRequirementsInfo", - "provider": "pants.core" + "input_types": [ + "PartitionRequest", + "SemgrepSubsystem", + "SemgrepIgnoreFiles" + ], + "name": "pants.backend.tools.semgrep.rules.partition", + "output_type": "Partitions", + "provider": "pants.backend.experimental.tools.semgrep" }, - "pants.backend.python.util_rules.pex.setup_pex_process": { + "pants.backend.tools.taplo.rules.partition_inputs": { "description": null, "documentation": null, - "input_gets": ["Get(Digest, MergeDigests, ..)"], - "input_types": ["PexProcess", "PexEnvironment"], - "name": "pants.backend.python.util_rules.pex.setup_pex_process", - "output_type": "Process", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "Taplo" + ], + "name": "pants.backend.tools.taplo.rules.partition_inputs", + "output_type": "Partitions", + "provider": "pants.backend.tools.taplo" }, - "pants.backend.python.util_rules.pex.setup_venv_pex_process": { - "description": null, + "pants.backend.tools.taplo.rules.taplo_fmt": { + "description": "Format with taplo", "documentation": null, - "input_gets": ["Get(Digest, MergeDigests, ..)"], - "input_types": ["VenvPexProcess", "PexEnvironment"], - "name": "pants.backend.python.util_rules.pex.setup_venv_pex_process", - "output_type": "Process", - "provider": "pants.core" + "input_gets": [ + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "Batch", + "Taplo", + "Platform" + ], + "name": "pants.backend.tools.taplo.rules.taplo_fmt", + "output_type": "FixResult", + "provider": "pants.backend.tools.taplo" }, - "pants.backend.python.util_rules.pex.wrap_venv_prex_request": { + "pants.backend.tools.workunit_logger.rules.construct_callback": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PexRequest", "PexEnvironment"], - "name": "pants.backend.python.util_rules.pex.wrap_venv_prex_request", - "output_type": "VenvPexRequest", - "provider": "pants.core" + "input_types": [ + "WorkunitLoggerCallbackFactoryRequest", + "WorkunitLogger" + ], + "name": "pants.backend.tools.workunit_logger.rules.construct_callback", + "output_type": "WorkunitsCallbackFactory", + "provider": "pants.backend.experimental.tools.workunit_logger" }, - "pants.backend.python.util_rules.pex_cli.download_pex_pex": { + "pants.backend.tools.yamllint.rules.gather_config_files": { "description": null, - "documentation": null, - "input_gets": ["Get(DownloadedExternalTool, ExternalToolRequest, ..)"], - "input_types": ["PexCli", "Platform"], - "name": "pants.backend.python.util_rules.pex_cli.download_pex_pex", - "output_type": "PexPEX", - "provider": "pants.core" + "documentation": "Gather yamllint configuration files.", + "input_gets": [ + "Get(Snapshot, PathGlobs, ..)" + ], + "input_types": [ + "YamllintConfigFilesRequest", + "Yamllint" + ], + "name": "pants.backend.tools.yamllint.rules.gather_config_files", + "output_type": "YamllintConfigFiles", + "provider": "pants.backend.experimental.tools.yamllint" }, - "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process": { + "pants.backend.tools.yamllint.rules.partition_inputs": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(YamllintConfigFiles, YamllintConfigFilesRequest, ..)", + "Get(Snapshot, DigestSubset, ..)" ], "input_types": [ - "PexCliProcess", - "PexPEX", - "PexEnvironment", - "PythonBuildStandaloneBinary", - "EnvironmentAware", - "GlobalOptions", - "PexSubsystem", - "PythonSetup" + "PartitionRequest", + "Yamllint" ], - "name": "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", - "output_type": "Process", - "provider": "pants.core" + "name": "pants.backend.tools.yamllint.rules.partition_inputs", + "output_type": "Partitions", + "provider": "pants.backend.experimental.tools.yamllint" }, - "pants.backend.python.util_rules.pex_environment.find_pex_python": { - "description": "Prepare environment for running PEXes", + "pants.backend.tools.yamllint.rules.run_yamllint": { + "description": "Lint using yamllint", "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(Pex, PexRequest, ..)", + "Get(Snapshot, PathGlobs, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, PexProcess, ..)" + ], "input_types": [ - "PythonBootstrap", - "PythonBuildStandaloneBinary", - "PexSubsystem", - "EnvironmentAware", - "SubprocessEnvironmentVars", - "NamedCachesDirOption" + "Batch", + "Yamllint" ], - "name": "pants.backend.python.util_rules.pex_environment.find_pex_python", - "output_type": "PexEnvironment", - "provider": "pants.core" + "name": "pants.backend.tools.yamllint.rules.run_yamllint", + "output_type": "LintResult", + "provider": "pants.backend.experimental.tools.yamllint" }, - "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex": { + "pants.backend.url_handlers.s3.register.access_aws_credentials": { + "description": null, + "documentation": null, + "input_gets": [], + "input_types": [], + "name": "pants.backend.url_handlers.s3.register.access_aws_credentials", + "output_type": "AWSCredentials", + "provider": "pants.backend.url_handlers.s3" + }, + "pants.backend.url_handlers.s3.register.download_file_from_path_s3_authority": { "description": null, "documentation": null, "input_gets": [ - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)" + "Get(Digest, S3DownloadFile, ..)" ], "input_types": [ - "_ConstraintsRepositoryPexRequest", - "PythonSetup", - "GlobalRequirementConstraints" + "DownloadS3AuthorityPathStyleURL", + "AWSCredentials" ], - "name": "pants.backend.python.util_rules.pex_from_targets._setup_constraints_repository_pex", - "output_type": "OptionalPexRequest", - "provider": "pants.backend.python" + "name": "pants.backend.url_handlers.s3.register.download_file_from_path_s3_authority", + "output_type": "Digest", + "provider": "pants.backend.url_handlers.s3" }, - "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve": { + "pants.backend.url_handlers.s3.register.download_file_from_s3_scheme": { "description": null, "documentation": null, - "input_gets": ["Get(TransitiveTargets, TransitiveTargetsRequest, ..)"], - "input_types": ["ChosenPythonResolveRequest", "PythonSetup"], - "name": "pants.backend.python.util_rules.pex_from_targets.choose_python_resolve", - "output_type": "ChosenPythonResolve", - "provider": "pants.backend.python" + "input_gets": [ + "Get(Digest, S3DownloadFile, ..)" + ], + "input_types": [ + "DownloadS3SchemeURL" + ], + "name": "pants.backend.url_handlers.s3.register.download_file_from_s3_scheme", + "output_type": "Digest", + "provider": "pants.backend.url_handlers.s3" }, - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets": { + "pants.backend.url_handlers.s3.register.download_file_from_virtual_hosted_s3_authority": { "description": null, "documentation": null, "input_gets": [ - "Get(PexRequirements, _PexRequirementsRequest, ..)", - "Get(ChosenPythonResolve, ChosenPythonResolveRequest, ..)", - "Get(LoadedLockfile, LoadedLockfileRequest, ..)", - "Get(OptionalPexRequest, _RepositoryPexRequest, ..)", - "Get(OptionalPex, OptionalPexRequest, ..)", - "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(PythonSourceFiles, PythonSourceFilesRequest, ..)", - "Get(Targets, Addresses, ..)", - "Get(LocalDistsPex, LocalDistsPexRequest, ..)", - "Get(StrippedPythonSourceFiles, PythonSourceFiles, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Digest, S3DownloadFile, ..)" + ], + "input_types": [ + "DownloadS3AuthorityVirtualHostedStyleURL", + "AWSCredentials" + ], + "name": "pants.backend.url_handlers.s3.register.download_file_from_virtual_hosted_s3_authority", + "output_type": "Digest", + "provider": "pants.backend.url_handlers.s3" + }, + "pants.backend.url_handlers.s3.register.download_from_s3": { + "description": null, + "documentation": null, + "input_gets": [ + "Get(Digest, NativeDownloadFile, ..)" ], "input_types": [ - "PexFromTargetsRequest", - "PythonSetup", - "UnionMembership" + "S3DownloadFile", + "AWSCredentials" ], - "name": "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", - "output_type": "PexRequest", - "provider": "pants.backend.python" + "name": "pants.backend.url_handlers.s3.register.download_from_s3", + "output_type": "Digest", + "provider": "pants.backend.url_handlers.s3" }, - "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints": { - "description": null, + "pants.backend.visibility.lint.check_visibility_rule_violations": { + "description": "Check for visibility rule violations", "documentation": null, - "input_gets": ["Get(DigestContents, PathGlobs, ..)"], - "input_types": ["PythonSetup"], - "name": "pants.backend.python.util_rules.pex_from_targets.determine_global_requirement_constraints", - "output_type": "GlobalRequirementConstraints", - "provider": "pants.backend.python" + "input_gets": [ + "Get(Addresses, DependenciesRequest, ..)", + "Get(DependenciesRuleApplication, DependenciesRuleApplicationRequest, ..)" + ], + "input_types": [ + "Batch", + "Platform", + "RunId" + ], + "name": "pants.backend.visibility.lint.check_visibility_rule_violations", + "output_type": "LintResult", + "provider": "pants.backend.experimental.visibility" }, - "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure": { + "pants.backend.visibility.rules.build_file_visibility_implementation": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "_PexRequirementsRequest", - "GlobalRequirementConstraints" + "BuildFileVisibilityImplementationRequest" ], - "name": "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure", - "output_type": "PexRequirements", - "provider": "pants.backend.python" + "name": "pants.backend.visibility.rules.build_file_visibility_implementation", + "output_type": "BuildFileDependencyRulesImplementation", + "provider": "pants.backend.experimental.visibility" }, - "pants.backend.python.util_rules.pex_from_targets.generalize_requirements_pex_request": { + "pants.backend.visibility.rules.visibility_validate_dependencies": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["RequirementsPexRequest"], - "name": "pants.backend.python.util_rules.pex_from_targets.generalize_requirements_pex_request", - "output_type": "PexFromTargetsRequest", - "provider": "pants.backend.python" + "input_gets": [ + "Get(DependenciesRuleApplication, DependenciesRuleApplicationRequest, ..)" + ], + "input_types": [ + "VisibilityValidateDependenciesRequest", + "VisibilitySubsystem", + "CurrentExecutingGoals" + ], + "name": "pants.backend.visibility.rules.visibility_validate_dependencies", + "output_type": "ValidatedDependencies", + "provider": "pants.backend.experimental.visibility" }, - "pants.backend.python.util_rules.pex_from_targets.get_repository_pex": { + "pants.bsp.rules.bsp_context": { "description": null, "documentation": null, - "input_gets": [ - "Get(OptionalPexRequest, _ConstraintsRepositoryPexRequest, ..)", - "Get(ChosenPythonResolve, ChosenPythonResolveRequest, ..)", - "Get(InterpreterConstraints, InterpreterConstraintsRequest, ..)" + "input_gets": [], + "input_types": [ + "SessionValues" ], - "input_types": ["_RepositoryPexRequest", "PythonSetup"], - "name": "pants.backend.python.util_rules.pex_from_targets.get_repository_pex", - "output_type": "OptionalPexRequest", - "provider": "pants.backend.python" + "name": "pants.bsp.rules.bsp_context", + "output_type": "BSPContext", + "provider": "pants.core" }, - "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets": { + "pants.bsp.util_rules.compile.bsp_compile_request": { "description": null, "documentation": null, - "input_gets": ["Get(TransitiveTargets, TransitiveTargetsRequest, ..)"], - "input_types": ["InterpreterConstraintsRequest", "PythonSetup"], - "name": "pants.backend.python.util_rules.pex_from_targets.interpreter_constraints_for_targets", - "output_type": "InterpreterConstraints", - "provider": "pants.backend.python" + "input_gets": [ + "Get(BSPBuildTargetInternal, BuildTargetIdentifier, ..)", + "Get(BSPCompileResult, CompileOneBSPTargetRequest, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "CompileParams", + "Workspace" + ], + "name": "pants.bsp.util_rules.compile.bsp_compile_request", + "output_type": "CompileResult", + "provider": "pants.core" }, - "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config": { + "pants.bsp.util_rules.compile.compile_bsp_target": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, PathGlobs, ..)", - "Get(DigestContents, PathGlobs, ..)" + "Get(Targets, BSPBuildTargetInternal, ..)", + "Get(BSPCompileResult, BSPCompileRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "ResolvePexConfigRequest", - "PythonSetup", - "PythonRepos", + "CompileOneBSPTargetRequest", + "BSPContext", "UnionMembership" ], - "name": "pants.backend.python.util_rules.pex_requirements.determine_resolve_pex_config", - "output_type": "ResolvePexConfig", + "name": "pants.bsp.util_rules.compile.compile_bsp_target", + "output_type": "BSPCompileResult", "provider": "pants.core" }, - "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve": { + "pants.bsp.util_rules.lifecycle.bsp_build_initialize": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["Resolve", "PythonSetup"], - "name": "pants.backend.python.util_rules.pex_requirements.get_lockfile_for_resolve", - "output_type": "Lockfile", + "input_types": [ + "InitializeBuildParams", + "UnionMembership" + ], + "name": "pants.bsp.util_rules.lifecycle.bsp_build_initialize", + "output_type": "InitializeBuildResult", "provider": "pants.core" }, - "pants.backend.python.util_rules.pex_requirements.load_lockfile": { + "pants.bsp.util_rules.resources.bsp_resources_request": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, PathGlobs, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(BSPBuildTargetInternal, BuildTargetIdentifier, ..)", + "Get(BSPResourcesResult, ResourcesForOneBSPTargetRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["LoadedLockfileRequest", "PythonSetup"], - "name": "pants.backend.python.util_rules.pex_requirements.load_lockfile", - "output_type": "LoadedLockfile", + "input_types": [ + "ResourcesParams", + "Workspace" + ], + "name": "pants.bsp.util_rules.resources.bsp_resources_request", + "output_type": "ResourcesResult", "provider": "pants.core" }, - "pants.backend.python.util_rules.pex_venv.pex_venv": { + "pants.bsp.util_rules.resources.resources_bsp_target": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, PexCliProcess, ..)" + "Get(Targets, BSPBuildTargetInternal, ..)", + "Get(BSPResourcesResult, BSPResourcesRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["PexVenvRequest"], - "name": "pants.backend.python.util_rules.pex_venv.pex_venv", - "output_type": "PexVenv", - "provider": "pants.backend.awslambda.python" + "input_types": [ + "ResourcesForOneBSPTargetRequest", + "UnionMembership" + ], + "name": "pants.bsp.util_rules.resources.resources_bsp_target", + "output_type": "BSPResourcesResult", + "provider": "pants.core" }, - "pants.backend.python.util_rules.python_sources.prepare_python_sources": { + "pants.bsp.util_rules.targets.bsp_build_target_sources": { "description": null, "documentation": null, "input_gets": [ - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(AncestorFiles, AncestorFilesRequest, ..)", - "Get(Snapshot, MergeDigests, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(SourceRoot, SourceRootRequest, ..)" + "Get(MaterializeBuildTargetSourcesResult, MaterializeBuildTargetSourcesRequest, ..)" ], - "input_types": ["PythonSourceFilesRequest", "UnionMembership"], - "name": "pants.backend.python.util_rules.python_sources.prepare_python_sources", - "output_type": "PythonSourceFiles", - "provider": "pants.backend.python" + "input_types": [ + "SourcesParams" + ], + "name": "pants.bsp.util_rules.targets.bsp_build_target_sources", + "output_type": "SourcesResult", + "provider": "pants.core" }, - "pants.backend.python.util_rules.python_sources.strip_python_sources": { + "pants.bsp.util_rules.targets.bsp_dependency_modules": { "description": null, "documentation": null, - "input_gets": ["Get(StrippedSourceFiles, SourceFiles, ..)"], - "input_types": ["PythonSourceFiles"], - "name": "pants.backend.python.util_rules.python_sources.strip_python_sources", - "output_type": "StrippedPythonSourceFiles", - "provider": "pants.backend.python" + "input_gets": [ + "Get(ResolveOneDependencyModuleResult, ResolveOneDependencyModuleRequest, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "DependencyModulesParams", + "Workspace" + ], + "name": "pants.bsp.util_rules.targets.bsp_dependency_modules", + "output_type": "DependencyModulesResult", + "provider": "pants.core" }, - "pants.backend.python.util_rules.vcs_versioning.find_all_vcs_version_targets": { - "description": "Find all vcs_version targets in project", + "pants.bsp.util_rules.targets.bsp_dependency_sources": { + "description": null, "documentation": null, "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.python.util_rules.vcs_versioning.find_all_vcs_version_targets", - "output_type": "AllVCSVersionTargets", - "provider": "pants.backend.experimental.python" + "input_types": [ + "DependencySourcesParams" + ], + "name": "pants.bsp.util_rules.targets.bsp_dependency_sources", + "output_type": "DependencySourcesResult", + "provider": "pants.core" }, - "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm": { + "pants.bsp.util_rules.targets.bsp_workspace_build_targets": { "description": null, "documentation": null, "input_gets": [ - "Get(MaybeGitWorktree, GitWorktreeRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, CreateDigest, ..)" + "Get(GenerateOneBSPBuildTargetResult, GenerateOneBSPBuildTargetRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "GeneratePythonFromSetuptoolsSCMRequest", - "SetuptoolsSCM" + "WorkspaceBuildTargetsParams", + "BSPBuildTargets", + "Workspace" ], - "name": "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm", - "output_type": "GeneratedSources", - "provider": "pants.backend.experimental.python" + "name": "pants.bsp.util_rules.targets.bsp_workspace_build_targets", + "output_type": "WorkspaceBuildTargetsResult", + "provider": "pants.core" }, - "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules": { + "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request": { "description": null, "documentation": null, - "input_gets": ["Get(StrippedFileName, StrippedFileNameRequest, ..)"], + "input_gets": [ + "Get(Targets, BSPBuildTargetInternal, ..)", + "Get(BSPBuildTargetsMetadataResult, BSPBuildTargetsMetadataRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(BSPBuildTargetSourcesInfo, BSPBuildTargetInternal, ..)" + ], "input_types": [ - "AllVCSVersionTargets", - "PythonSetup", - "PythonVCSVersionMappingMarker" + "GenerateOneBSPBuildTargetRequest", + "UnionMembership", + "BuildRoot" ], - "name": "pants.backend.python.util_rules.vcs_versioning.map_to_python_modules", - "output_type": "FirstPartyPythonMappingImpl", - "provider": "pants.backend.experimental.python" + "name": "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", + "output_type": "GenerateOneBSPBuildTargetResult", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata": { + "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources": { "description": null, "documentation": null, "input_gets": [ - "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Snapshot, AddPrefix, ..)", - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(ProcessResult, Process, ..)" + "Get(BSPBuildTargetInternal, BuildTargetIdentifier, ..)", + "Get(BSPBuildTargetSourcesInfo, BSPBuildTargetInternal, ..)" ], "input_types": [ - "ScalaBSPBuildTargetsMetadataRequest", - "BashBinary", - "JvmSubsystem", - "ScalaSubsystem", - "BuildRoot", - "ReadlinkBinary" + "MaterializeBuildTargetSourcesRequest", + "BuildRoot" ], - "name": "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", - "output_type": "BSPBuildTargetsMetadataResult", - "provider": "pants.backend.experimental.scala" + "name": "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources", + "output_type": "MaterializeBuildTargetSourcesResult", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.bsp_scala_compile_request": { + "pants.bsp.util_rules.targets.materialize_bsp_build_targets": { "description": null, "documentation": null, "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(CoursierResolveKey, CoarsenedTargets, ..)", - "Get(FallibleClasspathEntry, BSPClasspathEntryRequest, ..)", - "Get(LooseClassfiles, ClasspathEntry, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(DigestContents, PathGlobs, ..)", + "Get(BSPBuildTargetInternal, _ParseOneBSPMappingRequest, ..)" ], - "input_types": ["ScalaBSPCompileRequest", "ClasspathEntryRequestFactory"], - "name": "pants.backend.scala.bsp.rules.bsp_scala_compile_request", - "output_type": "BSPCompileResult", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "BSPGoal" + ], + "name": "pants.bsp.util_rules.targets.materialize_bsp_build_targets", + "output_type": "BSPBuildTargets", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.bsp_scala_main_classes_request": { + "pants.bsp.util_rules.targets.parse_one_bsp_mapping": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["ScalaMainClassesParams"], - "name": "pants.backend.scala.bsp.rules.bsp_scala_main_classes_request", - "output_type": "ScalaMainClassesResult", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "_ParseOneBSPMappingRequest" + ], + "name": "pants.bsp.util_rules.targets.parse_one_bsp_mapping", + "output_type": "BSPBuildTargetInternal", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.bsp_scala_resources_request": { + "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses": { "description": null, "documentation": null, "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(Targets, RawSpecsWithoutFileOwners, ..)" ], - "input_types": ["ScalaBSPResourcesRequest", "BuildRoot"], - "name": "pants.backend.scala.bsp.rules.bsp_scala_resources_request", - "output_type": "BSPResourcesResult", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "BSPBuildTargetInternal", + "UnionMembership", + "FieldDefaults" + ], + "name": "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", + "output_type": "Targets", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.bsp_scala_test_classes_request": { + "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["ScalaTestClassesParams"], - "name": "pants.backend.scala.bsp.rules.bsp_scala_test_classes_request", - "output_type": "ScalaTestClassesResult", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "BuildTargetIdentifier", + "BSPBuildTargets" + ], + "name": "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier", + "output_type": "BSPBuildTargetInternal", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.bsp_scalac_options_request": { + "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots": { "description": null, "documentation": null, "input_gets": [ - "Get(HandleScalacOptionsResult, HandleScalacOptionsRequest, ..)" + "Get(Targets, BSPBuildTargetInternal, ..)", + "Get(SourcesPaths, SourcesPathsRequest, ..)", + "Get(SourceRootsResult, SourceRootsRequest, ..)" ], - "input_types": ["ScalacOptionsParams"], - "name": "pants.backend.scala.bsp.rules.bsp_scalac_options_request", - "output_type": "ScalacOptionsResult", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "BSPBuildTargetInternal" + ], + "name": "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", + "output_type": "BSPBuildTargetSourcesInfo", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.collect_thirdparty_modules": { + "pants.bsp.util_rules.targets.resolve_one_dependency_module": { "description": null, "documentation": null, "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(CoursierResolveKey, CoarsenedTargets, ..)", - "Get(CoursierResolvedLockfile, CoursierResolveKey, ..)", - "Get(ClasspathEntry, ClasspathEntryRequest, ..)", + "Get(Targets, BuildTargetIdentifier, ..)", + "Get(BSPDependencyModulesResult, BSPDependencyModulesRequest, ..)", "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "ThirdpartyModulesRequest", - "ClasspathEntryRequestFactory" + "ResolveOneDependencyModuleRequest", + "UnionMembership" ], - "name": "pants.backend.scala.bsp.rules.collect_thirdparty_modules", - "output_type": "ThirdpartyModules", - "provider": "pants.backend.experimental.scala" + "name": "pants.bsp.util_rules.targets.resolve_one_dependency_module", + "output_type": "ResolveOneDependencyModuleResult", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request": { - "description": null, + "pants.core.goals.check.check": { + "description": "`check` goal", "documentation": null, "input_gets": [ - "Get(Targets, BuildTargetIdentifier, ..)", - "Get(ThirdpartyModules, ThirdpartyModulesRequest, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(EnvironmentName, EnvironmentNameRequest, ..)", + "Get(CheckResults, {CheckRequest: .., EnvironmentName: ..})" ], - "input_types": ["HandleScalacOptionsRequest", "BuildRoot", "Workspace"], - "name": "pants.backend.scala.bsp.rules.handle_bsp_scalac_options_request", - "output_type": "HandleScalacOptionsResult", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "Console", + "Workspace", + "FilteredTargets", + "DistDir", + "UnionMembership", + "CheckSubsystem" + ], + "name": "pants.core.goals.check.check", + "output_type": "Check", + "provider": "pants.core" }, - "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules": { + "pants.core.goals.deploy.publish_process_for_target": { "description": null, "documentation": null, "input_gets": [ - "Get(ThirdpartyModules, ThirdpartyModulesRequest, ..)", - "Get(Digest, AddPrefix, ..)" + "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", + "Get(PublishProcesses, PublishProcessesRequest, ..)" ], - "input_types": ["ScalaBSPDependencyModulesRequest", "BuildRoot"], - "name": "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules", - "output_type": "BSPDependencyModulesResult", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "_PublishProcessesForTargetRequest" + ], + "name": "pants.core.goals.deploy.publish_process_for_target", + "output_type": "PublishProcesses", + "provider": "pants.core" }, - "pants.backend.scala.compile.scalac.compile_scala_source": { - "description": "Compile with scalac", + "pants.core.goals.deploy.run_deploy": { + "description": "`experimental-deploy` goal", "documentation": null, "input_gets": [ - "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)", - "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(ScalaPluginTargetsForTarget, ScalaPluginsForTargetRequest, ..)", - "Get(ScalaPlugins, ScalaPluginsRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(FallibleProcessResult, JvmProcess, ..)", - "Get(Digest, StripJarRequest, ..)" + "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", + "Get(DeployProcess, DeployFieldSet, ..)", + "Get(PublishProcesses, _PublishProcessesForTargetRequest, ..)", + "Effect(InteractiveProcessResult, InteractiveProcess, ..)" ], "input_types": [ - "ScalaSubsystem", - "JvmSubsystem", - "Scalac", - "CompileScalaSourceRequest" + "Console", + "DeploySubsystem" ], - "name": "pants.backend.scala.compile.scalac.compile_scala_source", - "output_type": "FallibleClasspathEntry", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.deploy.run_deploy", + "output_type": "Deploy", + "provider": "pants.core" }, - "pants.backend.scala.compile.scalac.fetch_scala_library": { - "description": null, + "pants.core.goals.export.export": { + "description": "`export` goal", "documentation": null, "input_gets": [ - "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)" + "Get(ExportResults, ExportRequest, ..)", + "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Effect(InteractiveProcessResult, InteractiveProcess, ..)", + "Get(KnownUserResolveNames, KnownUserResolveNamesRequest, ..)" ], - "input_types": ["ScalaLibraryRequest"], - "name": "pants.backend.scala.compile.scalac.fetch_scala_library", - "output_type": "ClasspathEntry", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request": { - "description": null, - "documentation": null, - "input_gets": [], "input_types": [ - "ScalaPluginsForTargetWithoutResolveRequest", - "JvmSubsystem" + "Console", + "FilteredTargets", + "Workspace", + "UnionMembership", + "BuildRoot", + "DistDir", + "ExportSubsystem" ], - "name": "pants.backend.scala.compile.scalac_plugins.add_resolve_name_to_plugin_request", - "output_type": "ScalaPluginsForTargetRequest", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.export.export", + "output_type": "Export", + "provider": "pants.core" }, - "pants.backend.scala.compile.scalac_plugins.all_scala_plugin_targets": { + "pants.core.goals.fix.convert_fix_result_to_lint_result": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.scala.compile.scalac_plugins.all_scala_plugin_targets", - "output_type": "AllScalaPluginTargets", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.compile.scalac_plugins.fetch_plugins": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(FallibleClasspathEntry, CoursierFetchRequest, ..)", - "Get(Digest, MergeDigests, ..)" - ], - "input_types": ["ScalaPluginsRequest"], - "name": "pants.backend.scala.compile.scalac_plugins.fetch_plugins", - "output_type": "ScalaPlugins", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(Address, AddressInput, ..)", - "Get(_TargetParametrizations, {_TargetParametrizationsRequest: .., EnvironmentName: ..})" - ], "input_types": [ - "ScalaPluginsForTargetRequest", - "AllScalaPluginTargets", - "JvmSubsystem", - "Scalac", - "TargetTypesToGenerateTargetsRequests", - "ChosenLocalEnvironmentName", - "FieldDefaults" + "FixResult" ], - "name": "pants.backend.scala.compile.scalac_plugins.resolve_scala_plugins_for_target", - "output_type": "ScalaPluginTargetsForTarget", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.fix.convert_fix_result_to_lint_result", + "output_type": "LintResult", + "provider": "pants.core" }, - "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis": { - "description": "Inferring Scala dependencies by analyzing sources", + "pants.core.goals.fix.fix": { + "description": "`fix` goal", "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(ScalaSourceDependencyAnalysis, SourceFilesRequest, ..)" + "Get(FilteredTargets, Specs, ..)", + "Get(SpecsPaths, Specs, ..)", + "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", + "Get(_FixBatchResult, _FixBatchRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Partitions, PartitionRequest, ..)", + "Get(Partitions, PartitionRequest, ..)" ], "input_types": [ - "InferScalaSourceDependencies", - "ScalaInferSubsystem", - "JvmSubsystem", - "SymbolMapping" + "Console", + "Specs", + "FixSubsystem", + "Workspace", + "UnionMembership" ], - "name": "pants.backend.scala.dependency_inference.rules.infer_scala_dependencies_via_source_analysis", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.fix.fix", + "output_type": "Fix", + "provider": "pants.core" }, - "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency": { - "description": "Infer dependency on scala-library artifact for Scala target.", + "pants.core.goals.fix.fix_batch": { + "description": null, "documentation": null, "input_gets": [ - "Get(ScalaRuntimeForResolve, ScalaRuntimeForResolveRequest, ..)" + "Get(Snapshot, PathGlobs, ..)", + "Get(FixResult, Batch, ..)" ], - "input_types": ["InferScalaLibraryDependencyRequest", "JvmSubsystem"], - "name": "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies": { - "description": "Infer dependency on scala plugin artifacts for Scala target.", - "documentation": "Adds dependencies on plugins for scala source files, so that they get included in the\ntarget's resolve.", - "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(ScalaPluginTargetsForTarget, ScalaPluginsForTargetWithoutResolveRequest, ..)" + "input_types": [ + "_FixBatchRequest" ], - "input_types": ["InferScalaPluginDependenciesRequest"], - "name": "pants.backend.scala.dependency_inference.rules.infer_scala_plugin_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.fix.fix_batch", + "output_type": "_FixBatchResult", + "provider": "pants.core" }, - "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve": { - "description": null, + "pants.core.goals.fmt.fmt": { + "description": "`fmt` goal", "documentation": null, "input_gets": [ - "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)" + "Get(FilteredTargets, Specs, ..)", + "Get(SpecsPaths, Specs, ..)", + "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", + "Get(_FixBatchResult, _FixBatchRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Partitions, PartitionRequest, ..)", + "Get(Partitions, PartitionRequest, ..)" ], "input_types": [ - "ScalaRuntimeForResolveRequest", - "AllJvmArtifactTargets", - "JvmSubsystem", - "ScalaSubsystem" + "Console", + "Specs", + "FmtSubsystem", + "Workspace", + "UnionMembership" ], - "name": "pants.backend.scala.dependency_inference.rules.resolve_scala_library_for_resolve", - "output_type": "ScalaRuntimeForResolve", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.fmt.fmt", + "output_type": "Fmt", + "provider": "pants.core" }, - "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies": { - "description": null, + "pants.core.goals.generate_lockfiles.generate_lockfiles_goal": { + "description": "`generate-lockfiles` goal", "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, ScalaParserToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(FallibleProcessResult, JvmProcess, ..)" + "Get(KnownUserResolveNames, KnownUserResolveNamesRequest, ..)", + "Get(UserGenerateLockfiles, {RequestedUserResolveNames: .., EnvironmentName: ..})", + "Get(WrappedGenerateLockfile, {GenerateToolLockfileSentinel: .., EnvironmentName: ..})", + "Get(GenerateLockfileResult, {GenerateLockfile: .., EnvironmentName: ..})", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "InternalJdk", - "ScalaParserCompiledClassfiles", - "AnalyzeScalaSourceRequest" + "Workspace", + "UnionMembership", + "GenerateLockfilesSubsystem", + "ChosenLocalEnvironmentName", + "Console", + "GlobalOptions" ], - "name": "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", - "output_type": "FallibleScalaSourceDependencyAnalysisResult", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", + "output_type": "GenerateLockfilesGoal", + "provider": "pants.core" }, - "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request": { + "pants.core.goals.generate_snapshots.environment_await_generate_snapshots": { "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)" + "Get(EnvironmentName, EnvironmentNameRequest, ..)", + "Get(GenerateSnapshotsResult, {GenerateSnapshotsFieldSet: .., EnvironmentName: ..})" ], "input_types": [ - "ScalaSubsystem", - "JvmSubsystem", - "Scalac", - "SourceFilesRequest" + "EnvironmentAwareGenerateSnapshotsRequest" ], - "name": "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "output_type": "AnalyzeScalaSourceRequest", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.dependency_inference.scala_parser.generate_scala_parser_lockfile_request": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["ScalaParserToolLockfileSentinel"], - "name": "pants.backend.scala.dependency_inference.scala_parser.generate_scala_parser_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.generate_snapshots.environment_await_generate_snapshots", + "output_type": "GenerateSnapshotsResult", + "provider": "pants.core" }, - "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis": { - "description": null, + "pants.core.goals.generate_snapshots.generate_snapshots": { + "description": "`generate-snapshots` goal", "documentation": null, "input_gets": [ - "Get(ProcessResult, {FallibleProcessResult: .., ProductDescription: ..})", - "Get(DigestContents, Digest, ..)" + "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", + "Get(GenerateSnapshotsResult, EnvironmentAwareGenerateSnapshotsRequest, ..)", + "Get(Snapshot, MergeDigests, ..)" ], - "input_types": ["FallibleScalaSourceDependencyAnalysisResult"], - "name": "pants.backend.scala.dependency_inference.scala_parser.resolve_fallible_result_to_analysis", - "output_type": "ScalaSourceDependencyAnalysis", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "Workspace" + ], + "name": "pants.core.goals.generate_snapshots.generate_snapshots", + "output_type": "GenerateSnapshots", + "provider": "pants.core" }, - "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles": { - "description": null, + "pants.core.goals.lint.lint": { + "description": "`lint` goal", "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, ScalaParserToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(FilteredTargets, Specs, ..)", + "Get(SpecsPaths, Specs, ..)", + "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", + "Get(Partitions, PartitionRequest, ..)", + "Get(Partitions, PartitionRequest, ..)", + "Get(Snapshot, PathGlobs, ..)", + "Get(LintResult, Batch, ..)" ], - "input_types": ["InternalJdk"], - "name": "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", - "output_type": "ScalaParserCompiledClassfiles", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.dependency_inference.symbol_mapper.find_all_scala_targets": { - "description": "Find all Scala targets in project", - "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.scala.dependency_inference.symbol_mapper.find_all_scala_targets", - "output_type": "AllScalaTargets", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "Console", + "Workspace", + "Specs", + "LintSubsystem", + "UnionMembership", + "DistDir" + ], + "name": "pants.core.goals.lint.lint", + "output_type": "Lint", + "provider": "pants.core" }, - "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols": { - "description": "Map all first party Scala targets to their symbols", + "pants.core.goals.package.environment_aware_package": { + "description": null, "documentation": null, "input_gets": [ - "Get(ScalaSourceDependencyAnalysis, SourceFilesRequest, ..)" + "Get(EnvironmentName, EnvironmentNameRequest, ..)", + "Get(BuiltPackage, {PackageFieldSet: .., EnvironmentName: ..})" ], "input_types": [ - "FirstPartyScalaTargetsMappingRequest", - "AllScalaTargets", - "JvmSubsystem" + "EnvironmentAwarePackageRequest" ], - "name": "pants.backend.scala.dependency_inference.symbol_mapper.map_first_party_scala_targets_to_symbols", - "output_type": "SymbolMap", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.package.environment_aware_package", + "output_type": "BuiltPackage", + "provider": "pants.core" }, - "pants.backend.scala.goals.check.scalac_check": { - "description": "Check compilation for Scala", + "pants.core.goals.package.find_all_packageable_targets": { + "description": "Find all packageable targets in project", "documentation": null, "input_gets": [ - "Get(CoarsenedTargets, Addresses, ..)", - "Get(CoursierResolveKey, CoarsenedTargets, ..)", - "Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)" + "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)" ], - "input_types": ["ScalacCheckRequest", "ClasspathEntryRequestFactory"], - "name": "pants.backend.scala.goals.check.scalac_check", - "output_type": "CheckResults", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "AllTargets" + ], + "name": "pants.core.goals.package.find_all_packageable_targets", + "output_type": "AllPackageableTargets", + "provider": "pants.core" }, - "pants.backend.scala.goals.repl.create_scala_repl_request": { - "description": null, + "pants.core.goals.package.package_asset": { + "description": "`package` goal", "documentation": null, "input_gets": [ - "Get(Classpath, Addresses, ..)", - "Get(CoarsenedTargets, Addresses, ..)", - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, AddPrefix, ..)", + "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", + "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", "Get(Digest, MergeDigests, ..)" ], - "input_types": ["ScalaRepl", "BashBinary", "ScalaSubsystem"], - "name": "pants.backend.scala.goals.repl.create_scala_repl_request", - "output_type": "ReplRequest", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.goals.tailor.find_putative_targets": { - "description": "Determine candidate Scala targets to create", - "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], "input_types": [ - "PutativeScalaTargetsRequest", - "AllOwnedSources", - "ScalaSubsystem" + "Workspace", + "DistDir" ], - "name": "pants.backend.scala.goals.tailor.find_putative_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files": { - "description": null, - "documentation": "Gather scalafmt config files and identify which config files to use for each source\ndirectory.", - "input_gets": ["Get(Snapshot, PathGlobs, ..)"], - "input_types": ["GatherScalafmtConfigFilesRequest"], - "name": "pants.backend.scala.lint.scalafmt.rules.gather_scalafmt_config_files", - "output_type": "ScalafmtConfigFiles", - "provider": "pants.backend.experimental.scala.lint.scalafmt" - }, - "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["ScalafmtToolLockfileSentinel", "ScalafmtSubsystem"], - "name": "pants.backend.scala.lint.scalafmt.rules.generate_scalafmt_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.scala.lint.scalafmt" + "name": "pants.core.goals.package.package_asset", + "output_type": "Package", + "provider": "pants.core" }, - "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt": { + "pants.core.goals.publish.package_for_publish": { "description": null, "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, ScalafmtToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(ScalafmtConfigFiles, GatherScalafmtConfigFilesRequest, ..)", - "Get(Snapshot, DigestSubset, ..)" + "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", + "Get(PublishProcesses, {PublishRequest: .., EnvironmentName: ..})" ], - "input_types": ["PartitionRequest", "ScalafmtSubsystem"], - "name": "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt", - "output_type": "Partitions", - "provider": "pants.backend.experimental.scala.lint.scalafmt" - }, - "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt": { - "description": "Format with scalafmt", - "documentation": null, - "input_gets": [ - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Snapshot, Digest, ..)" + "input_types": [ + "PublishProcessesRequest", + "ChosenLocalEnvironmentName" ], - "input_types": ["Batch", "InternalJdk", "ScalafmtSubsystem"], - "name": "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", - "output_type": "FixResult", - "provider": "pants.backend.experimental.scala.lint.scalafmt" + "name": "pants.core.goals.publish.package_for_publish", + "output_type": "PublishProcesses", + "provider": "pants.core" }, - "pants.backend.scala.resolve.artifact.scala_artifact_classpath": { - "description": null, + "pants.core.goals.publish.run_publish": { + "description": "`publish` goal", "documentation": null, "input_gets": [ - "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)" + "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", + "Get(PublishProcesses, PublishProcessesRequest, ..)", + "Effect(InteractiveProcessResult, {InteractiveProcess: .., EnvironmentName: ..})" ], - "input_types": ["ScalaArtifactClasspathEntryRequest"], - "name": "pants.backend.scala.resolve.artifact.scala_artifact_classpath", - "output_type": "FallibleClasspathEntry", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "Console", + "PublishSubsystem", + "ChosenLocalEnvironmentName" + ], + "name": "pants.core.goals.publish.run_publish", + "output_type": "Publish", + "provider": "pants.core" }, - "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve": { - "description": null, + "pants.core.goals.repl.run_repl": { + "description": "`repl` goal", "documentation": null, "input_gets": [ - "Get(ScalaArtifactsForVersionResult, ScalaArtifactsForVersionRequest, ..)" + "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", + "Get(ReplRequest, ReplImplementation, ..)", + "Effect(InteractiveProcessResult, InteractiveProcess, ..)" ], "input_types": [ - "ValidateResolveHasScalaRuntimeRequest", - "ScalaSubsystem", - "AllScalaTargets", - "JvmSubsystem" + "Console", + "ReplSubsystem", + "FilteredTargets", + "UnionMembership", + "CompleteEnvironmentVars" ], - "name": "pants.backend.scala.resolve.lockfile.validate_scala_runtime_is_present_in_resolve", - "output_type": "ValidateJvmArtifactsForResolveResult", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.repl.run_repl", + "output_type": "Repl", + "provider": "pants.core" }, - "pants.backend.scala.target_types.generate_jvm_artifact_targets": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunPyenvInstallFieldSet": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "GenerateJvmArtifactForScalaTargets", - "JvmSubsystem", - "ScalaSubsystem", - "UnionMembership" + "RunPyenvInstallFieldSet" ], - "name": "pants.backend.scala.target_types.generate_jvm_artifact_targets", - "output_type": "GeneratedTargets", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunPyenvInstallFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.python.providers.experimental.pyenv.custom_install" }, - "pants.backend.scala.target_types.scala_settings_request": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunShellCommand": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["ScalaInferSubsystem", "ScalaSettingsRequest"], - "name": "pants.backend.scala.target_types.scala_settings_request", - "output_type": "TargetFilesGeneratorSettings", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "RunShellCommand" + ], + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunShellCommand", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.shell" }, - "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["ScalatestToolLockfileSentinel", "Scalatest"], - "name": "pants.backend.scala.test.scalatest.generate_scalatest_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.scala.test.scalatest.run_scalatest_test": { - "description": "Run Scalatest", - "documentation": null, "input_gets": [ - "Get(TestSetup, TestSetupRequest, ..)", - "Get(FallibleProcessResult, JvmProcess, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, RemovePrefix, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], - "input_types": ["TestSubsystem", "Batch"], - "name": "pants.backend.scala.test.scalatest.run_scalatest_test", - "output_type": "TestResult", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "DeployJarFieldSet" + ], + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.java" }, - "pants.backend.scala.test.scalatest.setup_scalatest_debug_request": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet": { "description": null, "documentation": null, "input_gets": [ - "Get(TestSetup, TestSetupRequest, ..)", - "Get(Process, JvmProcess, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], - "input_types": ["Batch"], - "name": "pants.backend.scala.test.scalatest.setup_scalatest_debug_request", - "output_type": "TestDebugRequest", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "DockerRunFieldSet" + ], + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.docker" }, - "pants.backend.scala.test.scalatest.setup_scalatest_for_target": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet": { "description": null, "documentation": null, "input_gets": [ - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(GenerateJvmLockfileFromTool, ScalatestToolLockfileSentinel, ..)", - "Get(Classpath, Addresses, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], "input_types": [ - "TestSetupRequest", - "JvmSubsystem", - "Scalatest", - "TestSubsystem", - "TestExtraEnv" + "GoBinaryFieldSet" ], - "name": "pants.backend.scala.test.scalatest.setup_scalatest_for_target", - "output_type": "TestSetup", - "provider": "pants.backend.experimental.scala" + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.go" }, - "pants.backend.scala.util_rules.versions.resolve_scala_artifacts_for_version": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["ScalaArtifactsForVersionRequest"], - "name": "pants.backend.scala.util_rules.versions.resolve_scala_artifacts_for_version", - "output_type": "ScalaArtifactsForVersionResult", - "provider": "pants.backend.experimental.scala" - }, - "pants.backend.shell.dependency_inference.find_all_shell_targets": { - "description": "Find all Shell targets in project", - "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.shell.dependency_inference.find_all_shell_targets", - "output_type": "AllShellTargets", - "provider": "pants.backend.shell" - }, - "pants.backend.shell.dependency_inference.infer_shell_dependencies": { - "description": "Inferring Shell dependencies by analyzing imports", - "documentation": null, "input_gets": [ - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(ParsedShellImports, ParseShellImportsRequest, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], - "input_types": ["InferShellDependencies", "ShellMapping", "ShellSetup"], - "name": "pants.backend.shell.dependency_inference.infer_shell_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.shell" - }, - "pants.backend.shell.dependency_inference.map_shell_files": { - "description": "Creating map of Shell file names to Shell targets", - "documentation": null, - "input_gets": [], - "input_types": ["AllShellTargets"], - "name": "pants.backend.shell.dependency_inference.map_shell_files", - "output_type": "ShellMapping", - "provider": "pants.backend.shell" + "input_types": [ + "JavaFieldSet" + ], + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.java" }, - "pants.backend.shell.dependency_inference.parse_shell_imports": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet": { "description": null, "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], - "input_types": ["ParseShellImportsRequest", "Shellcheck", "Platform"], - "name": "pants.backend.shell.dependency_inference.parse_shell_imports", - "output_type": "ParsedShellImports", - "provider": "pants.backend.shell" - }, - "pants.backend.shell.goals.tailor.find_putative_targets": { - "description": "Determine candidate shell targets to create", - "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], "input_types": [ - "PutativeShellTargetsRequest", - "AllOwnedSources", - "ShellSetup" + "JvmArtifactFieldSet" ], - "name": "pants.backend.shell.goals.tailor.find_putative_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.shell" + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.java" }, - "pants.backend.shell.goals.test.test_shell_command": { - "description": "Test with shell command", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet": { + "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(Process, ShellCommandProcessFromTargetRequest, ..)", - "Get(FallibleProcessResult, Process, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], - "input_types": ["Batch", "TestSubsystem", "TestExtraEnv"], - "name": "pants.backend.shell.goals.test.test_shell_command", - "output_type": "TestResult", - "provider": "pants.backend.shell" - }, - "pants.backend.shell.lint.shellcheck.rules.run_shellcheck": { - "description": "Lint with Shellcheck", - "documentation": null, - "input_gets": [ - "Get(Targets, DependenciesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)" + "input_types": [ + "KotlinFieldSet" ], - "input_types": ["Batch", "Shellcheck", "Platform"], - "name": "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", - "output_type": "LintResult", - "provider": "pants.backend.shell.lint.shellcheck" + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.shell.lint.shfmt.rules.shfmt_fmt": { - "description": "Format with shfmt", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet": { + "description": null, "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Snapshot, Digest, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], - "input_types": ["Batch", "Shfmt", "Platform"], - "name": "pants.backend.shell.lint.shfmt.rules.shfmt_fmt", - "output_type": "FixResult", - "provider": "pants.backend.shell.lint.shfmt" - }, - "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell": { - "description": "Determine shunit2 shell", - "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["Shunit2RunnerRequest", "EnvironmentAware"], - "name": "pants.backend.shell.shunit2_test_runner.determine_shunit2_shell", - "output_type": "Shunit2Runner", - "provider": "pants.backend.shell" - }, - "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2": { - "description": "Run tests with Shunit2", - "documentation": null, - "input_gets": [ - "Get(TestSetup, TestSetupRequest, ..)", - "Get(FallibleProcessResult, Process, ..)" + "input_types": [ + "PexBinaryFieldSet" ], - "input_types": ["Batch", "TestSubsystem", "GlobalOptions"], - "name": "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", - "output_type": "TestResult", - "provider": "pants.backend.shell" - }, - "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test": { - "description": "Setup Shunit2 to run interactively", - "documentation": null, - "input_gets": ["Get(TestSetup, TestSetupRequest, ..)"], - "input_types": ["Batch"], - "name": "pants.backend.shell.shunit2_test_runner.setup_shunit2_debug_test", - "output_type": "TestDebugRequest", - "provider": "pants.backend.shell" + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.python" }, - "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target": { - "description": "Setup shunit2", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet": { + "description": null, "documentation": null, "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(BuiltPackageDependencies, BuildPackageDependenciesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Shunit2Runner, Shunit2RunnerRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], "input_types": [ - "TestSetupRequest", - "EnvironmentAware", - "TestSubsystem", - "TestExtraEnv", - "Shunit2", - "Platform" + "PyOxidizerFieldSet" ], - "name": "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", - "output_type": "TestSetup", - "provider": "pants.backend.shell" - }, - "pants.backend.shell.target_types.generator_settings": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["ShellGeneratorSettingsRequest", "ShellSetup"], - "name": "pants.backend.shell.target_types.generator_settings", - "output_type": "TargetFilesGeneratorSettings", - "provider": "pants.backend.shell" + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer" }, - "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet": { "description": null, "documentation": null, "input_gets": [ - "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)", - "Get(BinaryShims, BinaryShimsRequest, ..)", - "Get(ExtraSandboxContents, MergeExtraSandboxContents, ..)", - "Get(Process, AdhocProcessRequest, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], "input_types": [ - "ShellCommandProcessFromTargetRequest", - "EnvironmentAware", - "BashBinary" + "PythonRequirementFieldSet" ], - "name": "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", - "output_type": "Process", - "provider": "pants.backend.shell" + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.python" }, - "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_RunNodeBuildScriptFieldSet": { "description": null, "documentation": null, "input_gets": [ - "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)", - "Get(BinaryShims, BinaryShimsRequest, ..)", - "Get(ExtraSandboxContents, MergeExtraSandboxContents, ..)", - "Get(AdhocProcessResult, AdhocProcessRequest, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], "input_types": [ - "ShellCommandProcessFromTargetRequest", - "EnvironmentAware", - "BashBinary" + "RunNodeBuildScriptFieldSet" ], - "name": "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target", - "output_type": "AdhocProcessResult", - "provider": "pants.backend.shell" + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_RunNodeBuildScriptFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.shell.util_rules.shell_command.run_shell_command_request": { + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet": { "description": null, "documentation": null, "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(ResolvedExecutionDependencies, ResolveExecutionDependenciesRequest, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], - "input_types": ["BashBinary", "RunShellCommand"], - "name": "pants.backend.shell.util_rules.shell_command.run_shell_command_request", - "output_type": "RunRequest", - "provider": "pants.backend.shell" + "input_types": [ + "ScalaFieldSet" + ], + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox": { - "description": "Running shell command", + "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet": { + "description": null, "documentation": null, "input_gets": [ - "Get(EnvironmentName, EnvironmentNameRequest, ..)", - "Get(AdhocProcessResult, {EnvironmentName: .., ShellCommandProcessFromTargetRequest: ..})", - "Get(Snapshot, Digest, ..)" + "Get(RunRequest, RunFieldSet, ..)" ], - "input_types": ["GenerateFilesFromShellCommandRequest"], - "name": "pants.backend.shell.util_rules.shell_command.shell_command_in_sandbox", - "output_type": "GeneratedSources", - "provider": "pants.backend.shell" + "input_types": [ + "SystemBinaryFieldSet" + ], + "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet", + "output_type": "RunInSandboxRequest", + "provider": "pants.backend.experimental.adhoc" }, - "pants.backend.terraform.dependencies.get_terraform_providers": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DeployJarFieldSet": { "description": null, "documentation": null, - "input_gets": [ - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, TerraformProcess, ..)" + "input_gets": [], + "input_types": [ + "DeployJarFieldSet" ], - "input_types": ["TerraformDependenciesRequest"], - "name": "pants.backend.terraform.dependencies.get_terraform_providers", - "output_type": "TerraformDependenciesResponse", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DeployJarFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.java" }, - "pants.backend.terraform.dependencies.init_terraform": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DockerRunFieldSet": { "description": null, "documentation": null, - "input_gets": [ - "Get(Address, AddressInput, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(Targets, DependenciesRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(TerraformDependenciesResponse, TerraformDependenciesRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "input_gets": [], + "input_types": [ + "DockerRunFieldSet" ], - "input_types": ["TerraformInitRequest"], - "name": "pants.backend.terraform.dependencies.init_terraform", - "output_type": "TerraformInitResponse", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DockerRunFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.docker" }, - "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_GoBinaryFieldSet": { "description": null, "documentation": null, - "input_gets": [ - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(ProcessResult, ParseTerraformModuleSources, ..)", - "Get(Targets, RawSpecs, ..)" + "input_gets": [], + "input_types": [ + "GoBinaryFieldSet" ], - "input_types": ["InferTerraformModuleDependenciesRequest"], - "name": "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", - "output_type": "InferredDependencies", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_GoBinaryFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.go" }, - "pants.backend.terraform.dependency_inference.setup_parser": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JavaFieldSet": { "description": null, "documentation": null, - "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(VenvPex, PexRequest, ..)" + "input_gets": [], + "input_types": [ + "JavaFieldSet" ], - "input_types": ["TerraformHcl2Parser"], - "name": "pants.backend.terraform.dependency_inference.setup_parser", - "output_type": "ParserSetup", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JavaFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.java" }, - "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JvmArtifactFieldSet": { "description": null, "documentation": null, - "input_gets": ["Get(Process, VenvPexProcess, ..)"], - "input_types": ["ParseTerraformModuleSources", "ParserSetup"], - "name": "pants.backend.terraform.dependency_inference.setup_process_for_parse_terraform_module_sources", - "output_type": "Process", - "provider": "pants.backend.experimental.terraform" + "input_gets": [], + "input_types": [ + "JvmArtifactFieldSet" + ], + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JvmArtifactFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.java" }, - "pants.backend.terraform.goals.check.terraform_check": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_KotlinFieldSet": { "description": null, "documentation": null, - "input_gets": [ - "Get(TerraformInitResponse, TerraformInitRequest, ..)", - "Get(FallibleProcessResult, TerraformProcess, ..)" + "input_gets": [], + "input_types": [ + "KotlinFieldSet" ], - "input_types": ["TerraformCheckRequest", "TerraformValidateSubsystem"], - "name": "pants.backend.terraform.goals.check.terraform_check", - "output_type": "CheckResults", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_KotlinFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.kotlin" }, - "pants.backend.terraform.goals.deploy.prepare_terraform_deployment": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PexBinaryFieldSet": { "description": null, "documentation": null, - "input_gets": [ - "Get(TerraformInitResponse, TerraformInitRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Process, TerraformProcess, ..)" + "input_gets": [], + "input_types": [ + "PexBinaryFieldSet" ], - "input_types": ["TerraformDeploymentRequest", "TerraformTool"], - "name": "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", - "output_type": "InteractiveProcess", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PexBinaryFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.python" }, - "pants.backend.terraform.goals.deploy.run_terraform_deploy": { - "description": "Run Terraform deploy process", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PyOxidizerFieldSet": { + "description": null, "documentation": null, - "input_gets": ["Get(InteractiveProcess, TerraformDeploymentRequest, ..)"], - "input_types": ["DeployTerraformFieldSet"], - "name": "pants.backend.terraform.goals.deploy.run_terraform_deploy", - "output_type": "DeployProcess", - "provider": "pants.backend.experimental.terraform" + "input_gets": [], + "input_types": [ + "PyOxidizerFieldSet" + ], + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PyOxidizerFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.python.packaging.pyoxidizer" }, - "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets": { - "description": "Determine candidate Terraform targets to create", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PythonRequirementFieldSet": { + "description": null, "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], + "input_gets": [], "input_types": [ - "PutativeTerraformTargetsRequest", - "TerraformTool", - "AllOwnedSources" + "PythonRequirementFieldSet" ], - "name": "pants.backend.terraform.goals.tailor.find_putative_terrform_module_targets", - "output_type": "PutativeTargets", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PythonRequirementFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.python" }, - "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunNodeBuildScriptFieldSet": { "description": null, "documentation": null, - "input_gets": ["Get(SourceFiles, SourceFilesRequest, ..)"], - "input_types": ["PartitionRequest", "TfFmtSubsystem"], - "name": "pants.backend.terraform.lint.tffmt.tffmt.partition_tffmt", - "output_type": "Partitions", - "provider": "pants.backend.experimental.terraform" + "input_gets": [], + "input_types": [ + "RunNodeBuildScriptFieldSet" + ], + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunNodeBuildScriptFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.javascript" }, - "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt": { - "description": "Format with `terraform fmt`", + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunPyenvInstallFieldSet": { + "description": null, "documentation": null, - "input_gets": [ - "Get(ProcessResult, TerraformProcess, ..)", - "Get(Snapshot, Digest, ..)" + "input_gets": [], + "input_types": [ + "RunPyenvInstallFieldSet" ], - "input_types": ["Batch", "TfFmtSubsystem"], - "name": "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt", - "output_type": "FixResult", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunPyenvInstallFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.python.providers.experimental.pyenv.custom_install" }, - "pants.backend.terraform.target_types.all_terraform_deployment_targets": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunShellCommand": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.backend.terraform.target_types.all_terraform_deployment_targets", - "output_type": "AllTerraformDeploymentTargets", - "provider": "pants.backend.experimental.terraform" + "input_types": [ + "RunShellCommand" + ], + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunShellCommand", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.shell" }, - "pants.backend.terraform.tool.setup_terraform_process": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_ScalaFieldSet": { "description": null, "documentation": null, - "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + "input_gets": [], + "input_types": [ + "ScalaFieldSet" ], - "input_types": ["TerraformProcess", "TerraformTool", "Platform"], - "name": "pants.backend.terraform.tool.setup_terraform_process", - "output_type": "Process", - "provider": "pants.backend.experimental.terraform" + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_ScalaFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.tools.preamble.rules.partition_inputs": { + "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_SystemBinaryFieldSet": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PartitionRequest", "PreambleSubsystem"], - "name": "pants.backend.tools.preamble.rules.partition_inputs", - "output_type": "Partitions", - "provider": "pants.backend.tools.preamble" + "input_types": [ + "SystemBinaryFieldSet" + ], + "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_SystemBinaryFieldSet", + "output_type": "RunDebugAdapterRequest", + "provider": "pants.backend.experimental.adhoc" }, - "pants.backend.tools.preamble.rules.preamble_fmt": { - "description": "Add preambles", + "pants.core.goals.run.run": { + "description": "`run` goal", "documentation": null, "input_gets": [ - "Get(DigestContents, Digest, ..)", - "Get(Snapshot, CreateDigest, ..)" + "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", + "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", + "Get(RunRequest, RunFieldSet, ..)", + "Get(RunDebugAdapterRequest, RunFieldSet, ..)", + "Effect(InteractiveProcessResult, InteractiveProcess, ..)" ], - "input_types": ["Batch", "PreambleSubsystem"], - "name": "pants.backend.tools.preamble.rules.preamble_fmt", - "output_type": "FixResult", - "provider": "pants.backend.tools.preamble" + "input_types": [ + "RunSubsystem", + "DebugAdapterSubsystem", + "GlobalOptions", + "Workspace", + "CompleteEnvironmentVars" + ], + "name": "pants.core.goals.run.run", + "output_type": "Run", + "provider": "pants.core" }, - "pants.backend.tools.semgrep.rules.all_semgrep_ignore_files": { - "description": null, + "pants.core.goals.tailor.determine_all_owned_sources": { + "description": "Determine all files already owned by targets", "documentation": null, - "input_gets": ["Get(Snapshot, PathGlobs, ..)"], - "input_types": [], - "name": "pants.backend.tools.semgrep.rules.all_semgrep_ignore_files", - "output_type": "SemgrepIgnoreFiles", - "provider": "pants.backend.experimental.tools.semgrep" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "AllUnexpandedTargets" + ], + "name": "pants.core.goals.tailor.determine_all_owned_sources", + "output_type": "AllOwnedSources", + "provider": "pants.core" }, - "pants.backend.tools.semgrep.rules.find_all_semgrep_configs": { + "pants.core.goals.tailor.edit_build_files": { + "description": "Edit BUILD files with new targets", + "documentation": null, + "input_gets": [ + "Get(Paths, PathGlobs, ..)", + "Get(DigestContents, PathGlobs, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "EditBuildFilesRequest", + "TailorSubsystem" + ], + "name": "pants.core.goals.tailor.edit_build_files", + "output_type": "EditedBuildFiles", + "provider": "pants.core" + }, + "pants.core.goals.tailor.rename_conflicting_targets": { + "description": null, + "documentation": "Ensure that no target addresses collide.", + "input_gets": [], + "input_types": [ + "PutativeTargets", + "AllUnexpandedTargets" + ], + "name": "pants.core.goals.tailor.rename_conflicting_targets", + "output_type": "UniquelyNamedPutativeTargets", + "provider": "pants.core" + }, + "pants.core.goals.tailor.restrict_conflicting_sources": { "description": null, "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], - "input_types": [], - "name": "pants.backend.tools.semgrep.rules.find_all_semgrep_configs", - "output_type": "AllSemgrepConfigs", - "provider": "pants.backend.experimental.tools.semgrep" + "input_gets": [ + "Get(Paths, PathGlobs, ..)", + "Get(UnexpandedTargets, RawSpecs, ..)", + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PutativeTarget" + ], + "name": "pants.core.goals.tailor.restrict_conflicting_sources", + "output_type": "DisjointSourcePutativeTarget", + "provider": "pants.core" }, - "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs": { + "pants.core.goals.tailor.tailor": { + "description": "`tailor` goal", + "documentation": null, + "input_gets": [ + "Get(SpecsPaths, Specs, ..)", + "Get(PutativeTargets, PutativeTargetsRequest, ..)", + "Get(UniquelyNamedPutativeTargets, PutativeTargets, ..)", + "Get(DisjointSourcePutativeTarget, PutativeTarget, ..)", + "Get(EditedBuildFiles, EditBuildFilesRequest, ..)" + ], + "input_types": [ + "TailorSubsystem", + "Console", + "Workspace", + "UnionMembership", + "Specs", + "BuildFileOptions" + ], + "name": "pants.core.goals.tailor.tailor", + "output_type": "TailorGoal", + "provider": "pants.core" + }, + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_GoTestRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["RelevantSemgrepConfigsRequest", "AllSemgrepConfigs"], - "name": "pants.backend.tools.semgrep.rules.infer_relevant_semgrep_configs", - "output_type": "RelevantSemgrepConfigs", - "provider": "pants.backend.experimental.tools.semgrep" + "input_types": [ + "Batch" + ], + "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_GoTestRequest", + "output_type": "TestDebugAdapterRequest", + "provider": "pants.backend.experimental.go" }, - "pants.backend.tools.semgrep.rules.lint": { - "description": "Lint with Semgrep", + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_HelmUnitTestRequest": { + "description": null, "documentation": null, - "input_gets": [ - "Get(Snapshot, PathGlobs, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, VenvPexProcess, ..)" + "input_gets": [], + "input_types": [ + "Batch" ], - "input_types": ["Batch", "SemgrepSubsystem", "GlobalOptions"], - "name": "pants.backend.tools.semgrep.rules.lint", - "output_type": "LintResult", - "provider": "pants.backend.experimental.tools.semgrep" + "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_HelmUnitTestRequest", + "output_type": "TestDebugAdapterRequest", + "provider": "pants.backend.experimental.helm" }, - "pants.backend.tools.semgrep.rules.partition": { + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JSTestRequest": { "description": null, "documentation": null, - "input_gets": [ - "Get(RelevantSemgrepConfigs, RelevantSemgrepConfigsRequest, ..)" + "input_gets": [], + "input_types": [ + "Batch" ], + "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JSTestRequest", + "output_type": "TestDebugAdapterRequest", + "provider": "pants.backend.experimental.javascript" + }, + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JunitTestRequest": { + "description": null, + "documentation": null, + "input_gets": [], "input_types": [ - "PartitionRequest", - "SemgrepSubsystem", - "SemgrepIgnoreFiles" + "Batch" ], - "name": "pants.backend.tools.semgrep.rules.partition", - "output_type": "Partitions", - "provider": "pants.backend.experimental.tools.semgrep" + "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JunitTestRequest", + "output_type": "TestDebugAdapterRequest", + "provider": "pants.backend.experimental.java" }, - "pants.backend.tools.workunit_logger.rules.construct_callback": { + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ScalatestTestRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["WorkunitLoggerCallbackFactoryRequest", "WorkunitLogger"], - "name": "pants.backend.tools.workunit_logger.rules.construct_callback", - "output_type": "WorkunitsCallbackFactory", - "provider": "pants.backend.experimental.tools.workunit_logger" + "input_types": [ + "Batch" + ], + "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ScalatestTestRequest", + "output_type": "TestDebugAdapterRequest", + "provider": "pants.backend.experimental.scala" }, - "pants.backend.tools.yamllint.rules.gather_config_files": { + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ShellTestRequest": { "description": null, - "documentation": "Gather yamllint configuration files.", - "input_gets": ["Get(Snapshot, PathGlobs, ..)"], - "input_types": ["YamllintConfigFilesRequest", "Yamllint"], - "name": "pants.backend.tools.yamllint.rules.gather_config_files", - "output_type": "YamllintConfigFiles", - "provider": "pants.backend.experimental.tools.yamllint" + "documentation": null, + "input_gets": [], + "input_types": [ + "Batch" + ], + "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ShellTestRequest", + "output_type": "TestDebugAdapterRequest", + "provider": "pants.backend.shell" }, - "pants.backend.tools.yamllint.rules.partition_inputs": { + "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_Shunit2TestRequest": { "description": null, "documentation": null, - "input_gets": [ - "Get(YamllintConfigFiles, YamllintConfigFilesRequest, ..)", - "Get(Snapshot, DigestSubset, ..)" + "input_gets": [], + "input_types": [ + "Batch" ], - "input_types": ["PartitionRequest", "Yamllint"], - "name": "pants.backend.tools.yamllint.rules.partition_inputs", - "output_type": "Partitions", - "provider": "pants.backend.experimental.tools.yamllint" + "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_Shunit2TestRequest", + "output_type": "TestDebugAdapterRequest", + "provider": "pants.backend.shell" }, - "pants.backend.tools.yamllint.rules.run_yamllint": { - "description": "Lint using yamllint", + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_GoTestRequest": { + "description": null, "documentation": null, - "input_gets": [ - "Get(Pex, PexRequest, ..)", - "Get(Snapshot, PathGlobs, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, PexProcess, ..)" + "input_gets": [], + "input_types": [ + "Batch" ], - "input_types": ["Batch", "Yamllint"], - "name": "pants.backend.tools.yamllint.rules.run_yamllint", - "output_type": "LintResult", - "provider": "pants.backend.experimental.tools.yamllint" + "name": "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_GoTestRequest", + "output_type": "TestDebugRequest", + "provider": "pants.backend.experimental.go" }, - "pants.bsp.rules.bsp_context": { + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_HelmUnitTestRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["SessionValues"], - "name": "pants.bsp.rules.bsp_context", - "output_type": "BSPContext", - "provider": "pants.core" + "input_types": [ + "Batch" + ], + "name": "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_HelmUnitTestRequest", + "output_type": "TestDebugRequest", + "provider": "pants.backend.experimental.helm" }, - "pants.bsp.util_rules.compile.bsp_compile_request": { + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_JSTestRequest": { "description": null, "documentation": null, - "input_gets": [ - "Get(BSPBuildTargetInternal, BuildTargetIdentifier, ..)", - "Get(BSPCompileResult, CompileOneBSPTargetRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "input_gets": [], + "input_types": [ + "Batch" ], - "input_types": ["CompileParams", "Workspace"], - "name": "pants.bsp.util_rules.compile.bsp_compile_request", - "output_type": "CompileResult", - "provider": "pants.core" + "name": "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_JSTestRequest", + "output_type": "TestDebugRequest", + "provider": "pants.backend.experimental.javascript" }, - "pants.bsp.util_rules.compile.compile_bsp_target": { + "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_ShellTestRequest": { "description": null, "documentation": null, + "input_gets": [], + "input_types": [ + "Batch" + ], + "name": "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_ShellTestRequest", + "output_type": "TestDebugRequest", + "provider": "pants.backend.shell" + }, + "pants.core.goals.test.build_runtime_package_dependencies": { + "description": "Build runtime package dependencies for tests", + "documentation": null, "input_gets": [ - "Get(Targets, BSPBuildTargetInternal, ..)", - "Get(BSPCompileResult, BSPCompileRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", + "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)" ], "input_types": [ - "CompileOneBSPTargetRequest", - "BSPContext", - "UnionMembership" + "BuildPackageDependenciesRequest" ], - "name": "pants.bsp.util_rules.compile.compile_bsp_target", - "output_type": "BSPCompileResult", + "name": "pants.core.goals.test.build_runtime_package_dependencies", + "output_type": "BuiltPackageDependencies", "provider": "pants.core" }, - "pants.bsp.util_rules.lifecycle.bsp_build_initialize": { + "pants.core.goals.test.get_filtered_environment": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["InitializeBuildParams", "UnionMembership"], - "name": "pants.bsp.util_rules.lifecycle.bsp_build_initialize", - "output_type": "InitializeBuildResult", + "input_gets": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.goals.test.get_filtered_environment", + "output_type": "TestExtraEnv", "provider": "pants.core" }, - "pants.bsp.util_rules.resources.bsp_resources_request": { - "description": null, + "pants.core.goals.test.run_tests": { + "description": "`test` goal", "documentation": null, "input_gets": [ - "Get(BSPBuildTargetInternal, BuildTargetIdentifier, ..)", - "Get(BSPResourcesResult, ResourcesForOneBSPTargetRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", + "Get(Partitions, {PartitionRequest: .., EnvironmentName: ..})", + "Get(EnvironmentName, SingleEnvironmentNameRequest, ..)", + "Get(TestDebugRequest, {Batch: .., EnvironmentName: ..})", + "Get(TestDebugAdapterRequest, {Batch: .., EnvironmentName: ..})", + "Effect(InteractiveProcessResult, {InteractiveProcess: .., EnvironmentName: ..})", + "Get(TestResult, {Batch: .., EnvironmentName: ..})", + "Get(Digest, MergeDigests, ..)", + "Get(CoverageReports, {CoverageDataCollection: .., EnvironmentName: ..})", + "Get(OpenFiles, OpenFilesRequest, ..)" ], - "input_types": ["ResourcesParams", "Workspace"], - "name": "pants.bsp.util_rules.resources.bsp_resources_request", - "output_type": "ResourcesResult", + "input_types": [ + "Console", + "TestSubsystem", + "DebugAdapterSubsystem", + "Workspace", + "UnionMembership", + "DistDir", + "RunId", + "ChosenLocalEnvironmentName" + ], + "name": "pants.core.goals.test.run_tests", + "output_type": "Test", "provider": "pants.core" }, - "pants.bsp.util_rules.resources.resources_bsp_target": { + "pants.core.goals.update_build_files.format_build_file_with_black": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, BSPBuildTargetInternal, ..)", - "Get(BSPResourcesResult, BSPResourcesRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Snapshot, CreateDigest, ..)", + "Get(Lockfile, Resolve, ..)", + "Get(LoadedLockfile, LoadedLockfileRequest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)", + "Get(DigestContents, Digest, ..)" ], - "input_types": ["ResourcesForOneBSPTargetRequest", "UnionMembership"], - "name": "pants.bsp.util_rules.resources.resources_bsp_target", - "output_type": "BSPResourcesResult", + "input_types": [ + "FormatWithBlackRequest", + "Black" + ], + "name": "pants.core.goals.update_build_files.format_build_file_with_black", + "output_type": "RewrittenBuildFile", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.bsp_build_target_sources": { + "pants.core.goals.update_build_files.format_build_file_with_yapf": { "description": null, "documentation": null, "input_gets": [ - "Get(MaterializeBuildTargetSourcesResult, MaterializeBuildTargetSourcesRequest, ..)" + "Get(Snapshot, CreateDigest, ..)", + "Get(Lockfile, Resolve, ..)", + "Get(LoadedLockfile, LoadedLockfileRequest, ..)", + "Get(VenvPex, PexRequest, ..)", + "Get(ConfigFiles, ConfigFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, VenvPexProcess, ..)", + "Get(Snapshot, Digest, ..)", + "Get(DigestContents, Digest, ..)" ], - "input_types": ["SourcesParams"], - "name": "pants.bsp.util_rules.targets.bsp_build_target_sources", - "output_type": "SourcesResult", + "input_types": [ + "FormatWithYapfRequest", + "Yapf" + ], + "name": "pants.core.goals.update_build_files.format_build_file_with_yapf", + "output_type": "RewrittenBuildFile", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.bsp_dependency_modules": { - "description": null, + "pants.core.goals.update_build_files.maybe_rename_deprecated_fields": { + "description": "Check for deprecated field type names", "documentation": null, "input_gets": [ - "Get(ResolveOneDependencyModuleResult, ResolveOneDependencyModuleRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(FixedBUILDFile, RenameFieldsInFileRequest, ..)" ], - "input_types": ["DependencyModulesParams", "Workspace"], - "name": "pants.bsp.util_rules.targets.bsp_dependency_modules", - "output_type": "DependencyModulesResult", - "provider": "pants.core" - }, - "pants.bsp.util_rules.targets.bsp_dependency_sources": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["DependencySourcesParams"], - "name": "pants.bsp.util_rules.targets.bsp_dependency_sources", - "output_type": "DependencySourcesResult", + "input_types": [ + "RenameDeprecatedFieldsRequest" + ], + "name": "pants.core.goals.update_build_files.maybe_rename_deprecated_fields", + "output_type": "RewrittenBuildFile", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.bsp_workspace_build_targets": { - "description": null, + "pants.core.goals.update_build_files.maybe_rename_deprecated_targets": { + "description": "Check for deprecated target type names", "documentation": null, "input_gets": [ - "Get(GenerateOneBSPBuildTargetResult, GenerateOneBSPBuildTargetRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(FixedBUILDFile, RenameTargetsInFileRequest, ..)" ], "input_types": [ - "WorkspaceBuildTargetsParams", - "BSPBuildTargets", - "Workspace" + "RenameDeprecatedTargetsRequest" ], - "name": "pants.bsp.util_rules.targets.bsp_workspace_build_targets", - "output_type": "WorkspaceBuildTargetsResult", + "name": "pants.core.goals.update_build_files.maybe_rename_deprecated_targets", + "output_type": "RewrittenBuildFile", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request": { - "description": null, + "pants.core.goals.update_build_files.update_build_files": { + "description": "Update all BUILD files", "documentation": null, "input_gets": [ - "Get(Targets, BSPBuildTargetInternal, ..)", - "Get(BSPBuildTargetsMetadataResult, BSPBuildTargetsMetadataRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(BSPBuildTargetSourcesInfo, BSPBuildTargetInternal, ..)" + "Get(Paths, PathGlobs, ..)", + "Get(SpecsPaths, Specs, ..)", + "Get(DigestContents, PathGlobs, ..)", + "Get(RewrittenBuildFile, RewrittenBuildFileRequest, ..)", + "Get(Digest, CreateDigest, ..)" ], "input_types": [ - "GenerateOneBSPBuildTargetRequest", + "UpdateBuildFilesSubsystem", + "BuildFileOptions", + "Console", + "Workspace", "UnionMembership", - "BuildRoot" + "Specs" ], - "name": "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", - "output_type": "GenerateOneBSPBuildTargetResult", + "name": "pants.core.goals.update_build_files.update_build_files", + "output_type": "UpdateBuildFilesGoal", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources": { + "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths": { "description": null, "documentation": null, "input_gets": [ - "Get(BSPBuildTargetInternal, BuildTargetIdentifier, ..)", - "Get(BSPBuildTargetSourcesInfo, BSPBuildTargetInternal, ..)" + "Get(AsdfToolPathsResult, AsdfToolPathsRequest, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(VersionManagerSearchPaths, VersionManagerSearchPathsRequest, ..)" ], - "input_types": ["MaterializeBuildTargetSourcesRequest", "BuildRoot"], - "name": "pants.bsp.util_rules.targets.materialize_bsp_build_target_sources", - "output_type": "MaterializeBuildTargetSourcesResult", + "input_types": [ + "_ExpandInterpreterSearchPathsRequest", + "PathEnvironmentVariable" + ], + "name": "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths", + "output_type": "_SearchPaths", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.materialize_bsp_build_targets": { + "pants.core.subsystems.python_bootstrap.python_bootstrap": { "description": null, "documentation": null, "input_gets": [ - "Get(DigestContents, PathGlobs, ..)", - "Get(BSPBuildTargetInternal, _ParseOneBSPMappingRequest, ..)" + "Get(ValidatedSearchPaths, ValidateSearchPathsRequest, ..)", + "Get(_SearchPaths, _ExpandInterpreterSearchPathsRequest, ..)" ], - "input_types": ["BSPGoal"], - "name": "pants.bsp.util_rules.targets.materialize_bsp_build_targets", - "output_type": "BSPBuildTargets", - "provider": "pants.core" - }, - "pants.bsp.util_rules.targets.parse_one_bsp_mapping": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["_ParseOneBSPMappingRequest"], - "name": "pants.bsp.util_rules.targets.parse_one_bsp_mapping", - "output_type": "BSPBuildTargetInternal", - "provider": "pants.core" - }, - "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses": { - "description": null, - "documentation": null, - "input_gets": ["Get(Targets, RawSpecsWithoutFileOwners, ..)"], "input_types": [ - "BSPBuildTargetInternal", - "UnionMembership", - "FieldDefaults" + "EnvironmentAware" ], - "name": "pants.bsp.util_rules.targets.resolve_bsp_build_target_addresses", - "output_type": "Targets", + "name": "pants.core.subsystems.python_bootstrap.python_bootstrap", + "output_type": "PythonBootstrap", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier": { - "description": null, + "pants.core.target_types.find_all_assets": { + "description": "Find all assets in project", "documentation": null, "input_gets": [], - "input_types": ["BuildTargetIdentifier", "BSPBuildTargets"], - "name": "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier", - "output_type": "BSPBuildTargetInternal", + "input_types": [ + "AllTargets" + ], + "name": "pants.core.target_types.find_all_assets", + "output_type": "AllAssetTargets", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots": { + "pants.core.target_types.hydrate_file_source": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, BSPBuildTargetInternal, ..)", - "Get(SourcesPaths, SourcesPathsRequest, ..)", - "Get(SourceRootsResult, SourceRootsRequest, ..)" + "Get(Digest, DownloadFile, ..)", + "Get(Snapshot, CreateDigest, ..)" ], - "input_types": ["BSPBuildTargetInternal"], - "name": "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", - "output_type": "BSPBuildTargetSourcesInfo", + "input_types": [ + "GenerateFileSourceRequest", + "Platform" + ], + "name": "pants.core.target_types.hydrate_file_source", + "output_type": "GeneratedSources", "provider": "pants.core" }, - "pants.bsp.util_rules.targets.resolve_one_dependency_module": { + "pants.core.target_types.hydrate_resource_source": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, BuildTargetIdentifier, ..)", - "Get(BSPDependencyModulesResult, BSPDependencyModulesRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Digest, DownloadFile, ..)", + "Get(Snapshot, CreateDigest, ..)" ], - "input_types": ["ResolveOneDependencyModuleRequest", "UnionMembership"], - "name": "pants.bsp.util_rules.targets.resolve_one_dependency_module", - "output_type": "ResolveOneDependencyModuleResult", + "input_types": [ + "GenerateResourceSourceRequest", + "Platform" + ], + "name": "pants.core.target_types.hydrate_resource_source", + "output_type": "GeneratedSources", "provider": "pants.core" }, - "pants.core.goals.check.check": { - "description": "`check` goal", + "pants.core.target_types.map_assets_by_path": { + "description": "Mapping assets by path", "documentation": null, - "input_gets": [ - "Get(EnvironmentName, EnvironmentNameRequest, ..)", - "Get(CheckResults, {CheckRequest: .., EnvironmentName: ..})" - ], + "input_gets": [], "input_types": [ - "Console", - "Workspace", - "FilteredTargets", - "DistDir", - "UnionMembership", - "CheckSubsystem" + "AllAssetTargets" ], - "name": "pants.core.goals.check.check", - "output_type": "Check", + "name": "pants.core.target_types.map_assets_by_path", + "output_type": "AllAssetTargetsByPath", "provider": "pants.core" }, - "pants.core.goals.deploy.publish_process_for_target": { + "pants.core.target_types.package_archive_target": { "description": null, "documentation": null, "input_gets": [ + "Get(Targets, UnparsedAddressInputs, ..)", "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", - "Get(PublishProcesses, PublishProcessesRequest, ..)" + "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Snapshot, MergeDigests, ..)", + "Get(Digest, CreateArchive, ..)" ], - "input_types": ["_PublishProcessesForTargetRequest"], - "name": "pants.core.goals.deploy.publish_process_for_target", - "output_type": "PublishProcesses", + "input_types": [ + "ArchiveFieldSet" + ], + "name": "pants.core.target_types.package_archive_target", + "output_type": "BuiltPackage", "provider": "pants.core" }, - "pants.core.goals.deploy.run_deploy": { - "description": "`experimental-deploy` goal", + "pants.core.target_types.relocate_files": { + "description": "Relocating loose files for `relocated_files` targets", "documentation": null, "input_gets": [ - "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", - "Get(DeployProcess, DeployFieldSet, ..)", - "Get(PublishProcesses, _PublishProcessesForTargetRequest, ..)", - "Effect(InteractiveProcessResult, InteractiveProcess, ..)" + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Snapshot, MergeDigests, ..)", + "Get(Snapshot, RemovePrefix, ..)", + "Get(Snapshot, AddPrefix, ..)" ], - "input_types": ["Console", "DeploySubsystem"], - "name": "pants.core.goals.deploy.run_deploy", - "output_type": "Deploy", + "input_types": [ + "RelocateFilesViaCodegenRequest" + ], + "name": "pants.core.target_types.relocate_files", + "output_type": "GeneratedSources", "provider": "pants.core" }, - "pants.core.goals.export.export": { - "description": "`export` goal", + "pants.core.util_rules.adhoc_binaries.download_python_binary": { + "description": "Downloading Python for scripts", "documentation": null, "input_gets": [ - "Get(ExportResults, ExportRequest, ..)", - "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Effect(InteractiveProcessResult, InteractiveProcess, ..)", - "Get(KnownUserResolveNames, KnownUserResolveNamesRequest, ..)" + "Get(Digest, DownloadFile, ..)", + "Get(ProcessResult, Process, ..)" ], "input_types": [ - "Console", - "FilteredTargets", - "Workspace", - "UnionMembership", - "BuildRoot", - "DistDir", - "ExportSubsystem" + "_DownloadPythonBuildStandaloneBinaryRequest", + "Platform", + "TarBinary", + "BashBinary", + "PythonBootstrapSubsystem", + "EnvironmentAware" ], - "name": "pants.core.goals.export.export", - "output_type": "Export", + "name": "pants.core.util_rules.adhoc_binaries.download_python_binary", + "output_type": "_PythonBuildStandaloneBinary", "provider": "pants.core" }, - "pants.core.goals.fix.convert_fix_result_to_lint_result": { + "pants.core.util_rules.adhoc_binaries.find_gunzip": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["FixResult"], - "name": "pants.core.goals.fix.convert_fix_result_to_lint_result", - "output_type": "LintResult", - "provider": "pants.core" - }, - "pants.core.goals.fix.fix": { - "description": "`fix` goal", - "documentation": null, - "input_gets": [ - "Get(FilteredTargets, Specs, ..)", - "Get(SpecsPaths, Specs, ..)", - "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", - "Get(_FixBatchResult, _FixBatchRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Partitions, PartitionRequest, ..)", - "Get(Partitions, PartitionRequest, ..)" - ], "input_types": [ - "Console", - "Specs", - "FixSubsystem", - "Workspace", - "UnionMembership" + "PythonBuildStandaloneBinary" ], - "name": "pants.core.goals.fix.fix", - "output_type": "Fix", + "name": "pants.core.util_rules.adhoc_binaries.find_gunzip", + "output_type": "GunzipBinary", "provider": "pants.core" }, - "pants.core.goals.fix.fix_batch": { + "pants.core.util_rules.adhoc_binaries.find_gunzip_wrapper": { "description": null, "documentation": null, - "input_gets": [ - "Get(Snapshot, PathGlobs, ..)", - "Get(FixResult, Batch, ..)" + "input_gets": [], + "input_types": [ + "GunzipBinaryRequest", + "GunzipBinary" ], - "input_types": ["_FixBatchRequest"], - "name": "pants.core.goals.fix.fix_batch", - "output_type": "_FixBatchResult", + "name": "pants.core.util_rules.adhoc_binaries.find_gunzip_wrapper", + "output_type": "GunzipBinary", "provider": "pants.core" }, - "pants.core.goals.fmt.fmt": { - "description": "`fmt` goal", + "pants.core.util_rules.adhoc_binaries.get_python_for_scripts": { + "description": null, "documentation": null, "input_gets": [ - "Get(FilteredTargets, Specs, ..)", - "Get(SpecsPaths, Specs, ..)", - "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", - "Get(_FixBatchResult, _FixBatchRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Partitions, PartitionRequest, ..)", - "Get(Partitions, PartitionRequest, ..)" + "Get(_PythonBuildStandaloneBinary, _DownloadPythonBuildStandaloneBinaryRequest, ..)" ], "input_types": [ - "Console", - "Specs", - "FmtSubsystem", - "Workspace", - "UnionMembership" + "EnvironmentTarget" ], - "name": "pants.core.goals.fmt.fmt", - "output_type": "Fmt", + "name": "pants.core.util_rules.adhoc_binaries.get_python_for_scripts", + "output_type": "PythonBuildStandaloneBinary", "provider": "pants.core" }, - "pants.core.goals.generate_lockfiles.generate_lockfiles_goal": { - "description": "`generate-lockfiles` goal", + "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess": { + "description": null, "documentation": null, "input_gets": [ - "Get(KnownUserResolveNames, KnownUserResolveNamesRequest, ..)", - "Get(UserGenerateLockfiles, {RequestedUserResolveNames: .., EnvironmentName: ..})", - "Get(WrappedGenerateLockfile, {GenerateToolLockfileSentinel: .., EnvironmentName: ..})", - "Get(GenerateLockfileResult, {GenerateLockfile: .., EnvironmentName: ..})", "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "Workspace", - "UnionMembership", - "GenerateLockfilesSubsystem", - "ChosenLocalEnvironmentName", - "Console", - "GlobalOptions" + "AddExtraSandboxContentsToProcess" ], - "name": "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", - "output_type": "GenerateLockfilesGoal", - "provider": "pants.core" + "name": "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess", + "output_type": "Process", + "provider": "pants.backend.shell" }, - "pants.core.goals.generate_snapshots.environment_await_generate_snapshots": { + "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents": { "description": null, "documentation": null, "input_gets": [ - "Get(EnvironmentName, EnvironmentNameRequest, ..)", - "Get(GenerateSnapshotsResult, {GenerateSnapshotsFieldSet: .., EnvironmentName: ..})" + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["EnvironmentAwareGenerateSnapshotsRequest"], - "name": "pants.core.goals.generate_snapshots.environment_await_generate_snapshots", - "output_type": "GenerateSnapshotsResult", - "provider": "pants.core" + "input_types": [ + "MergeExtraSandboxContents" + ], + "name": "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents", + "output_type": "ExtraSandboxContents", + "provider": "pants.backend.shell" }, - "pants.core.goals.generate_snapshots.generate_snapshots": { - "description": "`generate-snapshots` goal", + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process": { + "description": null, "documentation": null, "input_gets": [ - "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", - "Get(GenerateSnapshotsResult, EnvironmentAwareGenerateSnapshotsRequest, ..)", - "Get(Snapshot, MergeDigests, ..)" + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(Snapshot, Digest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["Workspace"], - "name": "pants.core.goals.generate_snapshots.generate_snapshots", - "output_type": "GenerateSnapshots", - "provider": "pants.core" + "input_types": [ + "AdhocProcessRequest", + "BashBinary" + ], + "name": "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "output_type": "Process", + "provider": "pants.backend.shell" }, - "pants.core.goals.lint.lint": { - "description": "`lint` goal", + "pants.core.util_rules.adhoc_process_support.resolve_execution_environment": { + "description": null, "documentation": null, "input_gets": [ - "Get(FilteredTargets, Specs, ..)", - "Get(SpecsPaths, Specs, ..)", - "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", - "Get(Partitions, PartitionRequest, ..)", - "Get(Partitions, PartitionRequest, ..)", - "Get(Snapshot, PathGlobs, ..)", - "Get(LintResult, Batch, ..)" + "Get(Addresses, UnparsedAddressInputs, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", + "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", + "Get(Targets, Addresses, ..)", + "Get(RunInSandboxRequest, RunFieldSet, ..)", + "Get(ExtraSandboxContents, MergeExtraSandboxContents, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "Console", - "Workspace", - "Specs", - "LintSubsystem", - "UnionMembership", - "DistDir" + "ResolveExecutionDependenciesRequest", + "BashBinary" ], - "name": "pants.core.goals.lint.lint", - "output_type": "Lint", - "provider": "pants.core" + "name": "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", + "output_type": "ResolvedExecutionDependencies", + "provider": "pants.backend.shell" }, - "pants.core.goals.package.environment_aware_package": { + "pants.core.util_rules.adhoc_process_support.run_adhoc_process": { "description": null, "documentation": null, "input_gets": [ - "Get(EnvironmentName, EnvironmentNameRequest, ..)", - "Get(BuiltPackage, {PackageFieldSet: .., EnvironmentName: ..})" + "Get(Process, AdhocProcessRequest, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(ProcessResult, {FallibleProcessResult: .., ProductDescription: ..})", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "input_types": ["EnvironmentAwarePackageRequest"], - "name": "pants.core.goals.package.environment_aware_package", - "output_type": "BuiltPackage", - "provider": "pants.core" + "input_types": [ + "AdhocProcessRequest" + ], + "name": "pants.core.util_rules.adhoc_process_support.run_adhoc_process", + "output_type": "AdhocProcessResult", + "provider": "pants.backend.shell" }, - "pants.core.goals.package.find_all_packageable_targets": { - "description": "Find all packageable targets in project", - "documentation": null, - "input_gets": ["Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)"], - "input_types": ["AllTargets"], - "name": "pants.core.goals.package.find_all_packageable_targets", - "output_type": "AllPackageableTargets", + "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest": { + "description": null, + "documentation": "Backwards-compatibility helper.", + "input_gets": [], + "input_types": [ + "Digest" + ], + "name": "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest", + "output_type": "MaybeExtractArchiveRequest", "provider": "pants.core" }, - "pants.core.goals.package.package_asset": { - "description": "`package` goal", + "pants.core.util_rules.archive.create_archive": { + "description": "Creating an archive file", "documentation": null, "input_gets": [ - "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", - "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Digest, CreateDigest, ..)", + "Get(ZipBinary)", + "Get(BashBinary)", + "Get(TarBinary)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, Process, ..)" ], - "input_types": ["Workspace", "DistDir"], - "name": "pants.core.goals.package.package_asset", - "output_type": "Package", + "input_types": [ + "CreateArchive", + "EnvironmentAware" + ], + "name": "pants.core.util_rules.archive.create_archive", + "output_type": "Digest", "provider": "pants.core" }, - "pants.core.goals.publish.package_for_publish": { - "description": null, - "documentation": null, + "pants.core.util_rules.archive.maybe_extract_archive": { + "description": "Extracting an archive file", + "documentation": "If digest contains a single archive file, extract it, otherwise return the input digest.", "input_gets": [ - "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", - "Get(PublishProcesses, {PublishRequest: .., EnvironmentName: ..})" + "Get(Snapshot, Digest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(UnzipBinary)", + "Get(TarBinary)", + "Get(GunzipBinary)", + "Get(ProcessResult, Process, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "input_types": ["PublishProcessesRequest", "ChosenLocalEnvironmentName"], - "name": "pants.core.goals.publish.package_for_publish", - "output_type": "PublishProcesses", + "input_types": [ + "MaybeExtractArchiveRequest", + "EnvironmentAware" + ], + "name": "pants.core.util_rules.archive.maybe_extract_archive", + "output_type": "ExtractedArchive", "provider": "pants.core" }, - "pants.core.goals.publish.run_publish": { - "description": "`publish` goal", + "pants.core.util_rules.asdf.resolve_asdf_tool_paths": { + "description": null, "documentation": null, "input_gets": [ - "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", - "Get(PublishProcesses, PublishProcessesRequest, ..)", - "Effect(InteractiveProcessResult, {InteractiveProcess: .., EnvironmentName: ..})" + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], "input_types": [ - "Console", - "PublishSubsystem", - "ChosenLocalEnvironmentName" + "AsdfToolPathsRequest", + "BuildRoot" ], - "name": "pants.core.goals.publish.run_publish", - "output_type": "Publish", + "name": "pants.core.util_rules.asdf.resolve_asdf_tool_paths", + "output_type": "AsdfToolPathsResult", "provider": "pants.core" }, - "pants.core.goals.repl.run_repl": { - "description": "`repl` goal", + "pants.core.util_rules.config_files.find_config_file": { + "description": "Find config files", "documentation": null, "input_gets": [ - "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", - "Get(ReplRequest, ReplImplementation, ..)", - "Effect(InteractiveProcessResult, InteractiveProcess, ..)" + "Get(Snapshot, PathGlobs, ..)", + "Get(DigestContents, PathGlobs, ..)" ], "input_types": [ - "Console", - "ReplSubsystem", - "FilteredTargets", - "UnionMembership", - "CompleteEnvironmentVars" + "ConfigFilesRequest" ], - "name": "pants.core.goals.repl.run_repl", - "output_type": "Repl", + "name": "pants.core.util_rules.config_files.find_config_file", + "output_type": "ConfigFiles", "provider": "pants.core" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunShellCommand": { + "pants.core.util_rules.distdir.get_distdir": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["RunShellCommand"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.not_supported_RunShellCommand", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.shell" - }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet": { - "description": null, - "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["DeployJarFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DeployJarFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.experimental.java" + "input_types": [ + "GlobalOptions", + "BuildRoot" + ], + "name": "pants.core.util_rules.distdir.get_distdir", + "output_type": "DistDir", + "provider": "pants.core" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet": { + "pants.core.util_rules.external_tool.download_external_tool": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["DockerRunFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_DockerRunFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.docker" + "input_gets": [ + "Get(Digest, DownloadFile, ..)", + "Get(ExtractedArchive, Digest, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(Digest, CreateDigest, ..)" + ], + "input_types": [ + "ExternalToolRequest" + ], + "name": "pants.core.util_rules.external_tool.download_external_tool", + "output_type": "DownloadedExternalTool", + "provider": "pants.core" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet": { + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_GoTestRequest": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["GoBinaryFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_GoBinaryFieldSet", - "output_type": "RunInSandboxRequest", + "input_gets": [], + "input_types": [ + "PartitionRequest", + "GoTestSubsystem" + ], + "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_GoTestRequest", + "output_type": "Partitions", "provider": "pants.backend.experimental.go" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet": { + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_HelmUnitTestRequest": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["JavaFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JavaFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.experimental.java" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "HelmUnitTestSubsystem" + ], + "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_HelmUnitTestRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.helm" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet": { + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_JunitTestRequest": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["JvmArtifactFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_JvmArtifactFieldSet", - "output_type": "RunInSandboxRequest", + "input_gets": [], + "input_types": [ + "PartitionRequest", + "JUnit" + ], + "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_JunitTestRequest", + "output_type": "Partitions", "provider": "pants.backend.experimental.java" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet": { - "description": null, - "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["KotlinFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_KotlinFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.experimental.kotlin" - }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet": { + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["PexBinaryFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PexBinaryFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.python" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "Scalatest" + ], + "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.scala" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet": { + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ShellTestRequest": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["PyOxidizerFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PyOxidizerFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "ShellTestSubsystem" + ], + "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ShellTestRequest", + "output_type": "Partitions", + "provider": "pants.backend.shell" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet": { + "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_Shunit2TestRequest": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["PythonRequirementFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_PythonRequirementFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.python" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "Shunit2" + ], + "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_Shunit2TestRequest", + "output_type": "Partitions", + "provider": "pants.backend.shell" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet": { + "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["ScalaFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_ScalaFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.experimental.scala" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "OpenApiFormatSubsystem" + ], + "name": "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.openapi.lint.openapi_format" }, - "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_CueLintRequest": { "description": null, "documentation": null, - "input_gets": ["Get(RunRequest, RunFieldSet, ..)"], - "input_types": ["SystemBinaryFieldSet"], - "name": "pants.core.goals.run._run_in_sandbox_behavior_rule.run_request_hermetic_SystemBinaryFieldSet", - "output_type": "RunInSandboxRequest", - "provider": "pants.backend.experimental.adhoc" + "input_gets": [], + "input_types": [ + "PartitionRequest", + "Cue" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_CueLintRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.cue" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DeployJarFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_EnforceVisibilityRules": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["DeployJarFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DeployJarFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.experimental.java" + "input_types": [ + "PartitionRequest", + "VisibilitySubsystem" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_EnforceVisibilityRules", + "output_type": "Partitions", + "provider": "pants.backend.experimental.visibility" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DockerRunFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_GoVetRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["DockerRunFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_DockerRunFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.docker" + "input_types": [ + "PartitionRequest", + "GoVetSubsystem" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_GoVetRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.go.lint.vet" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_GoBinaryFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_GolangciLintRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["GoBinaryFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_GoBinaryFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.experimental.go" + "input_types": [ + "PartitionRequest", + "GolangciLint" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_GolangciLintRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.go.lint.golangci_lint" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JavaFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_HadolintRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["JavaFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JavaFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.experimental.java" + "input_types": [ + "PartitionRequest", + "Hadolint" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_HadolintRequest", + "output_type": "Partitions", + "provider": "pants.backend.docker.lint.hadolint" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JvmArtifactFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_PydocstyleRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["JvmArtifactFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_JvmArtifactFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.experimental.java" + "input_types": [ + "PartitionRequest", + "Pydocstyle" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_PydocstyleRequest", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.pydocstyle" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_KotlinFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_RuffLintRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["KotlinFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_KotlinFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.experimental.kotlin" + "input_types": [ + "PartitionRequest", + "Ruff" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_RuffLintRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.python.lint.ruff" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PexBinaryFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_ShellcheckRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PexBinaryFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PexBinaryFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.python" + "input_types": [ + "PartitionRequest", + "Shellcheck" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_ShellcheckRequest", + "output_type": "Partitions", + "provider": "pants.backend.shell.lint.shellcheck" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PyOxidizerFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_SpectralRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PyOxidizerFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PyOxidizerFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.experimental.python.packaging.pyoxidizer" + "input_types": [ + "PartitionRequest", + "SpectralSubsystem" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_SpectralRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.openapi.lint.spectral" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PythonRequirementFieldSet": { + "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_TfSecRequest": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PythonRequirementFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_PythonRequirementFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.python" + "input_types": [ + "PartitionRequest", + "TFSec" + ], + "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_TfSecRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.terraform.lint.tfsec" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunShellCommand": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["RunShellCommand"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_RunShellCommand", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.shell" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "AddTrailingComma" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_ScalaFieldSet": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["ScalaFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_ScalaFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.experimental.scala" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "Autoflake" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.autoflake" }, - "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_SystemBinaryFieldSet": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ClangFormatRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["SystemBinaryFieldSet"], - "name": "pants.core.goals.run._unsupported_debug_adapter_rules.get_run_debug_adapter_request_SystemBinaryFieldSet", - "output_type": "RunDebugAdapterRequest", - "provider": "pants.backend.experimental.adhoc" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "ClangFormat" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ClangFormatRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.cc.lint.clangformat" }, - "pants.core.goals.run.run": { - "description": "`run` goal", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_CueFmtRequest": { + "description": null, "documentation": null, "input_gets": [ - "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", - "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", - "Get(RunRequest, RunFieldSet, ..)", - "Get(RunDebugAdapterRequest, RunFieldSet, ..)", - "Effect(InteractiveProcessResult, InteractiveProcess, ..)" + "Get(SourcesPaths, SourcesPathsRequest, ..)" ], "input_types": [ - "RunSubsystem", - "DebugAdapterSubsystem", - "GlobalOptions", - "Workspace", - "CompleteEnvironmentVars" + "PartitionRequest", + "Cue" ], - "name": "pants.core.goals.run.run", - "output_type": "Run", - "provider": "pants.core" + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_CueFmtRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.cue" }, - "pants.core.goals.tailor.determine_all_owned_sources": { - "description": "Determine all files already owned by targets", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest": { + "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["AllUnexpandedTargets"], - "name": "pants.core.goals.tailor.determine_all_owned_sources", - "output_type": "AllOwnedSources", - "provider": "pants.core" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "Docformatter" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.docformatter" }, - "pants.core.goals.tailor.edit_build_files": { - "description": "Edit BUILD files with new targets", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest": { + "description": null, "documentation": null, "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(DigestContents, PathGlobs, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(SourcesPaths, SourcesPathsRequest, ..)" ], - "input_types": ["EditBuildFilesRequest", "TailorSubsystem"], - "name": "pants.core.goals.tailor.edit_build_files", - "output_type": "EditedBuildFiles", - "provider": "pants.core" + "input_types": [ + "PartitionRequest", + "GofmtSubsystem" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.go" }, - "pants.core.goals.tailor.rename_conflicting_targets": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest": { "description": null, - "documentation": "Ensure that no target addresses collide.", - "input_gets": [], - "input_types": ["PutativeTargets", "AllUnexpandedTargets"], - "name": "pants.core.goals.tailor.rename_conflicting_targets", - "output_type": "UniquelyNamedPutativeTargets", - "provider": "pants.core" + "documentation": null, + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "GoogleJavaFormatSubsystem" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.java.lint.google_java_format" }, - "pants.core.goals.tailor.restrict_conflicting_sources": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest": { "description": null, "documentation": null, "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(UnexpandedTargets, RawSpecs, ..)", "Get(SourcesPaths, SourcesPathsRequest, ..)" ], - "input_types": ["PutativeTarget"], - "name": "pants.core.goals.tailor.restrict_conflicting_sources", - "output_type": "DisjointSourcePutativeTarget", - "provider": "pants.core" + "input_types": [ + "PartitionRequest", + "Isort" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.isort" }, - "pants.core.goals.tailor.tailor": { - "description": "`tailor` goal", + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest": { + "description": null, "documentation": null, "input_gets": [ - "Get(SpecsPaths, Specs, ..)", - "Get(PutativeTargets, PutativeTargetsRequest, ..)", - "Get(UniquelyNamedPutativeTargets, PutativeTargets, ..)", - "Get(DisjointSourcePutativeTarget, PutativeTarget, ..)", - "Get(EditedBuildFiles, EditBuildFilesRequest, ..)" + "Get(SourcesPaths, SourcesPathsRequest, ..)" ], "input_types": [ - "TailorSubsystem", - "Console", - "Workspace", - "UnionMembership", - "Specs", - "BuildFileOptions" + "PartitionRequest", + "KtlintSubsystem" ], - "name": "pants.core.goals.tailor.tailor", - "output_type": "TailorGoal", - "provider": "pants.core" + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.kotlin.lint.ktlint" }, - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_GoTestRequest": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PrettierFmtRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_GoTestRequest", - "output_type": "TestDebugAdapterRequest", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "Prettier" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PrettierFmtRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.javascript.lint.prettier" }, - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_HelmUnitTestRequest": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_HelmUnitTestRequest", - "output_type": "TestDebugAdapterRequest", - "provider": "pants.backend.experimental.helm" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "PyUpgrade" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.pyupgrade" }, - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JunitTestRequest": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_JunitTestRequest", - "output_type": "TestDebugAdapterRequest", - "provider": "pants.backend.experimental.java" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "Ruff" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.python.lint.ruff" }, - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ScalatestTestRequest": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RustfmtRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ScalatestTestRequest", - "output_type": "TestDebugAdapterRequest", - "provider": "pants.backend.experimental.scala" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "RustfmtSubsystem" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RustfmtRequest", + "output_type": "Partitions", + "provider": "pants.backend.experimental.rust" }, - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ShellTestRequest": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_ShellTestRequest", - "output_type": "TestDebugAdapterRequest", - "provider": "pants.backend.shell" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "Shfmt" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest", + "output_type": "Partitions", + "provider": "pants.backend.shell.lint.shfmt" }, - "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_Shunit2TestRequest": { + "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_adapter_rules.get_test_debug_adapter_request_Shunit2TestRequest", - "output_type": "TestDebugAdapterRequest", - "provider": "pants.backend.shell" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)" + ], + "input_types": [ + "PartitionRequest", + "Yapf" + ], + "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest", + "output_type": "Partitions", + "provider": "pants.backend.python.lint.yapf" }, - "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_GoTestRequest": { + "pants.core.util_rules.search_paths.get_un_cachable_version_manager_paths": { "description": null, - "documentation": null, + "documentation": "Inspects the directory of a version manager tool like pyenv or nvm to find installations.", "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_GoTestRequest", - "output_type": "TestDebugRequest", - "provider": "pants.backend.experimental.go" + "input_types": [ + "VersionManagerSearchPathsRequest" + ], + "name": "pants.core.util_rules.search_paths.get_un_cachable_version_manager_paths", + "output_type": "VersionManagerSearchPaths", + "provider": "pants.core" }, - "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_HelmUnitTestRequest": { + "pants.core.util_rules.search_paths.validate_search_paths": { "description": null, - "documentation": null, + "documentation": "Checks for special search path strings, and errors if any are invalid for the environment.\n\nThis will return:\n* The search paths, unaltered, for local/undefined environments, OR\n* The search paths, with invalid tokens removed, if the provided value was unaltered from the\n default value in the options system.\n* The search paths unaltered, if the search paths are all valid tokens for this environment\n\nIf the environment is non-local and there are invalid tokens for those environments, raise\n`ValueError`.", "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_HelmUnitTestRequest", - "output_type": "TestDebugRequest", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "ValidateSearchPathsRequest" + ], + "name": "pants.core.util_rules.search_paths.validate_search_paths", + "output_type": "ValidatedSearchPaths", + "provider": "pants.core" + }, + "pants.core.util_rules.source_files.determine_source_files": { + "description": "Get all relevant source files", + "documentation": "Merge all `SourceBaseField`s into one Snapshot.", + "input_gets": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(Snapshot, MergeDigests, ..)" + ], + "input_types": [ + "SourceFilesRequest" + ], + "name": "pants.core.util_rules.source_files.determine_source_files", + "output_type": "SourceFiles", + "provider": "pants.core" }, - "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_ShellTestRequest": { + "pants.core.util_rules.stripped_source_files.strip_file_name": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["Batch"], - "name": "pants.core.goals.test._unsupported_debug_rules.get_test_debug_request_ShellTestRequest", - "output_type": "TestDebugRequest", - "provider": "pants.backend.shell" + "input_gets": [ + "Get(SourceRoot, SourceRootRequest, ..)" + ], + "input_types": [ + "StrippedFileNameRequest" + ], + "name": "pants.core.util_rules.stripped_source_files.strip_file_name", + "output_type": "StrippedFileName", + "provider": "pants.core" }, - "pants.core.goals.test.build_runtime_package_dependencies": { - "description": "Build runtime package dependencies for tests", - "documentation": null, + "pants.core.util_rules.stripped_source_files.strip_source_roots": { + "description": null, + "documentation": "Removes source roots from a snapshot.\n\nE.g. `src/python/pants/util/strutil.py` -> `pants/util/strutil.py`.", "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", - "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)" + "Get(Snapshot, DigestSubset, ..)", + "Get(SourceRootsResult, SourceRootsRequest, ..)", + "Get(Snapshot, RemovePrefix, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Snapshot, MergeDigests, ..)" ], - "input_types": ["BuildPackageDependenciesRequest"], - "name": "pants.core.goals.test.build_runtime_package_dependencies", - "output_type": "BuiltPackageDependencies", + "input_types": [ + "SourceFiles" + ], + "name": "pants.core.util_rules.stripped_source_files.strip_source_roots", + "output_type": "StrippedSourceFiles", "provider": "pants.core" }, - "pants.core.goals.test.get_filtered_environment": { + "pants.core.util_rules.stripped_source_files.strip_sources_paths": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.goals.test.get_filtered_environment", - "output_type": "TestExtraEnv", + "input_gets": [ + "Get(SourceRoot, SourceRootRequest, ..)" + ], + "input_types": [ + "SourcesPaths" + ], + "name": "pants.core.util_rules.stripped_source_files.strip_sources_paths", + "output_type": "StrippedSourceFileNames", "provider": "pants.core" }, - "pants.core.goals.test.run_tests": { - "description": "`test` goal", + "pants.core.util_rules.subprocess_environment.get_subprocess_environment": { + "description": null, "documentation": null, "input_gets": [ - "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", - "Get(Partitions, {PartitionRequest: .., EnvironmentName: ..})", - "Get(EnvironmentName, SingleEnvironmentNameRequest, ..)", - "Get(TestDebugRequest, {Batch: .., EnvironmentName: ..})", - "Get(TestDebugAdapterRequest, {Batch: .., EnvironmentName: ..})", - "Effect(InteractiveProcessResult, {InteractiveProcess: .., EnvironmentName: ..})", - "Get(TestResult, {Batch: .., EnvironmentName: ..})", - "Get(Digest, MergeDigests, ..)", - "Get(CoverageReports, {CoverageDataCollection: .., EnvironmentName: ..})", - "Get(OpenFiles, OpenFilesRequest, ..)" + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], "input_types": [ - "Console", - "TestSubsystem", - "DebugAdapterSubsystem", - "Workspace", - "UnionMembership", - "DistDir", - "RunId", - "ChosenLocalEnvironmentName" + "EnvironmentAware" ], - "name": "pants.core.goals.test.run_tests", - "output_type": "Test", + "name": "pants.core.util_rules.subprocess_environment.get_subprocess_environment", + "output_type": "SubprocessEnvironmentVars", "provider": "pants.core" }, - "pants.core.goals.update_build_files.format_build_file_with_black": { + "pants.core.util_rules.system_binaries.create_binary_shims": { "description": null, - "documentation": null, + "documentation": "Creates a bin directory with shims for all requested binaries.\n\nThis can be provided to a `Process` as an `immutable_input_digest`, or can be merged into the\ninput digest.", "input_gets": [ - "Get(Snapshot, CreateDigest, ..)", - "Get(Lockfile, Resolve, ..)", - "Get(LoadedLockfile, LoadedLockfileRequest, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)", - "Get(DigestContents, Digest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)", + "Get(Digest, CreateDigest, ..)" ], - "input_types": ["FormatWithBlackRequest", "Black"], - "name": "pants.core.goals.update_build_files.format_build_file_with_black", - "output_type": "RewrittenBuildFile", + "input_types": [ + "BinaryShimsRequest", + "BashBinary" + ], + "name": "pants.core.util_rules.system_binaries.create_binary_shims", + "output_type": "BinaryShims", "provider": "pants.core" }, - "pants.core.goals.update_build_files.format_build_file_with_yapf": { + "pants.core.util_rules.system_binaries.find_binary": { "description": null, "documentation": null, "input_gets": [ - "Get(Snapshot, CreateDigest, ..)", - "Get(Lockfile, Resolve, ..)", - "Get(LoadedLockfile, LoadedLockfileRequest, ..)", - "Get(VenvPex, PexRequest, ..)", - "Get(ConfigFiles, ConfigFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, VenvPexProcess, ..)", - "Get(Snapshot, Digest, ..)", - "Get(DigestContents, Digest, ..)" + "Get(BashBinary)", + "Get(Digest, CreateDigest, ..)", + "Get(ProcessResult, Process, ..)", + "Get(FallibleProcessResult, Process, ..)" ], - "input_types": ["FormatWithYapfRequest", "Yapf"], - "name": "pants.core.goals.update_build_files.format_build_file_with_yapf", - "output_type": "RewrittenBuildFile", + "input_types": [ + "BinaryPathRequest", + "EnvironmentTarget" + ], + "name": "pants.core.util_rules.system_binaries.find_binary", + "output_type": "BinaryPaths", "provider": "pants.core" }, - "pants.core.goals.update_build_files.maybe_rename_deprecated_fields": { - "description": "Check for deprecated field type names", + "pants.core.util_rules.system_binaries.find_cat": { + "description": "Finding the `cat` binary", "documentation": null, - "input_gets": ["Get(FixedBUILDFile, RenameFieldsInFileRequest, ..)"], - "input_types": ["RenameDeprecatedFieldsRequest"], - "name": "pants.core.goals.update_build_files.maybe_rename_deprecated_fields", - "output_type": "RewrittenBuildFile", + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_cat", + "output_type": "CatBinary", "provider": "pants.core" }, - "pants.core.goals.update_build_files.maybe_rename_deprecated_targets": { - "description": "Check for deprecated target type names", + "pants.core.util_rules.system_binaries.find_chmod": { + "description": "Finding the `chmod` binary", "documentation": null, - "input_gets": ["Get(FixedBUILDFile, RenameTargetsInFileRequest, ..)"], - "input_types": ["RenameDeprecatedTargetsRequest"], - "name": "pants.core.goals.update_build_files.maybe_rename_deprecated_targets", - "output_type": "RewrittenBuildFile", + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_chmod", + "output_type": "ChmodBinary", "provider": "pants.core" }, - "pants.core.goals.update_build_files.update_build_files": { - "description": "Update all BUILD files", + "pants.core.util_rules.system_binaries.find_cp": { + "description": "Finding the `cp` binary", "documentation": null, "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(SpecsPaths, Specs, ..)", - "Get(DigestContents, PathGlobs, ..)", - "Get(RewrittenBuildFile, RewrittenBuildFileRequest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], "input_types": [ - "UpdateBuildFilesSubsystem", - "BuildFileOptions", - "Console", - "Workspace", - "UnionMembership", - "Specs" + "EnvironmentAware" ], - "name": "pants.core.goals.update_build_files.update_build_files", - "output_type": "UpdateBuildFilesGoal", + "name": "pants.core.util_rules.system_binaries.find_cp", + "output_type": "CpBinary", "provider": "pants.core" }, - "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths": { - "description": null, + "pants.core.util_rules.system_binaries.find_diff": { + "description": "Finding the `diff` binary", "documentation": null, "input_gets": [ - "Get(AsdfToolPathsResult, AsdfToolPathsRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(VersionManagerSearchPaths, VersionManagerSearchPathsRequest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], "input_types": [ - "_ExpandInterpreterSearchPathsRequest", - "PathEnvironmentVariable" + "EnvironmentAware" ], - "name": "pants.core.subsystems.python_bootstrap._expand_interpreter_search_paths", - "output_type": "_SearchPaths", + "name": "pants.core.util_rules.system_binaries.find_diff", + "output_type": "DiffBinary", "provider": "pants.core" }, - "pants.core.subsystems.python_bootstrap.python_bootstrap": { - "description": null, + "pants.core.util_rules.system_binaries.find_git": { + "description": "Finding the `git` binary", "documentation": null, "input_gets": [ - "Get(ValidatedSearchPaths, ValidateSearchPathsRequest, ..)", - "Get(_SearchPaths, _ExpandInterpreterSearchPathsRequest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], - "input_types": ["EnvironmentAware"], - "name": "pants.core.subsystems.python_bootstrap.python_bootstrap", - "output_type": "PythonBootstrap", + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_git", + "output_type": "GitBinary", "provider": "pants.core" }, - "pants.core.target_types.find_all_assets": { - "description": "Find all assets in project", + "pants.core.util_rules.system_binaries.find_ln": { + "description": "Finding the `ln` binary", "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.core.target_types.find_all_assets", - "output_type": "AllAssetTargets", + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_ln", + "output_type": "LnBinary", "provider": "pants.core" }, - "pants.core.target_types.hydrate_file_source": { - "description": null, + "pants.core.util_rules.system_binaries.find_mkdir": { + "description": "Finding the `mkdir` binary", "documentation": null, "input_gets": [ - "Get(Digest, DownloadFile, ..)", - "Get(Snapshot, CreateDigest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], - "input_types": ["GenerateFileSourceRequest", "Platform"], - "name": "pants.core.target_types.hydrate_file_source", - "output_type": "GeneratedSources", + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_mkdir", + "output_type": "MkdirBinary", "provider": "pants.core" }, - "pants.core.target_types.hydrate_resource_source": { - "description": null, + "pants.core.util_rules.system_binaries.find_mktemp": { + "description": "Finding the `mktempt` binary", "documentation": null, "input_gets": [ - "Get(Digest, DownloadFile, ..)", - "Get(Snapshot, CreateDigest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], - "input_types": ["GenerateResourceSourceRequest", "Platform"], - "name": "pants.core.target_types.hydrate_resource_source", - "output_type": "GeneratedSources", + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_mktemp", + "output_type": "MktempBinary", "provider": "pants.core" }, - "pants.core.target_types.map_assets_by_path": { - "description": "Mapping assets by path", + "pants.core.util_rules.system_binaries.find_mv": { + "description": "Finding the `mv` binary", "documentation": null, - "input_gets": [], - "input_types": ["AllAssetTargets"], - "name": "pants.core.target_types.map_assets_by_path", - "output_type": "AllAssetTargetsByPath", + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_mv", + "output_type": "MvBinary", "provider": "pants.core" }, - "pants.core.target_types.package_archive_target": { - "description": null, + "pants.core.util_rules.system_binaries.find_open": { + "description": "Finding the `open` binary", "documentation": null, "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", - "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Snapshot, MergeDigests, ..)", - "Get(Digest, CreateArchive, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], - "input_types": ["ArchiveFieldSet"], - "name": "pants.core.target_types.package_archive_target", - "output_type": "BuiltPackage", + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_open", + "output_type": "OpenBinary", "provider": "pants.core" }, - "pants.core.target_types.relocate_files": { - "description": "Relocating loose files for `relocated_files` targets", + "pants.core.util_rules.system_binaries.find_readlink": { + "description": "Finding the `readlink` binary", "documentation": null, "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Snapshot, MergeDigests, ..)", - "Get(Snapshot, RemovePrefix, ..)", - "Get(Snapshot, AddPrefix, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], - "input_types": ["RelocateFilesViaCodegenRequest"], - "name": "pants.core.target_types.relocate_files", - "output_type": "GeneratedSources", + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_readlink", + "output_type": "ReadlinkBinary", "provider": "pants.core" }, - "pants.core.util_rules.adhoc_binaries.download_python_binary": { - "description": "Downloading Python for scripts", + "pants.core.util_rules.system_binaries.find_tar": { + "description": "Finding the `tar` binary", "documentation": null, "input_gets": [ - "Get(Digest, DownloadFile, ..)", - "Get(ProcessResult, Process, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], "input_types": [ - "_DownloadPythonBuildStandaloneBinaryRequest", "Platform", - "TarBinary", - "BashBinary", - "PythonBootstrapSubsystem", "EnvironmentAware" ], - "name": "pants.core.util_rules.adhoc_binaries.download_python_binary", - "output_type": "_PythonBuildStandaloneBinary", + "name": "pants.core.util_rules.system_binaries.find_tar", + "output_type": "TarBinary", "provider": "pants.core" }, - "pants.core.util_rules.adhoc_binaries.find_gunzip": { - "description": null, + "pants.core.util_rules.system_binaries.find_touch": { + "description": "Finding the `touch` binary", "documentation": null, - "input_gets": [], - "input_types": ["PythonBuildStandaloneBinary"], - "name": "pants.core.util_rules.adhoc_binaries.find_gunzip", - "output_type": "GunzipBinary", + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_touch", + "output_type": "TouchBinary", "provider": "pants.core" }, - "pants.core.util_rules.adhoc_binaries.find_gunzip_wrapper": { - "description": null, + "pants.core.util_rules.system_binaries.find_unzip": { + "description": "Finding the `unzip` binary", "documentation": null, - "input_gets": [], - "input_types": ["GunzipBinaryRequest", "GunzipBinary"], - "name": "pants.core.util_rules.adhoc_binaries.find_gunzip_wrapper", - "output_type": "GunzipBinary", + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_unzip", + "output_type": "UnzipBinary", "provider": "pants.core" }, - "pants.core.util_rules.adhoc_binaries.get_python_for_scripts": { - "description": null, + "pants.core.util_rules.system_binaries.find_zip": { + "description": "Finding the `zip` binary", "documentation": null, "input_gets": [ - "Get(_PythonBuildStandaloneBinary, _DownloadPythonBuildStandaloneBinaryRequest, ..)" + "Get(BinaryPaths, BinaryPathRequest, ..)" ], - "input_types": ["EnvironmentTarget"], - "name": "pants.core.util_rules.adhoc_binaries.get_python_for_scripts", - "output_type": "PythonBuildStandaloneBinary", + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.find_zip", + "output_type": "ZipBinary", "provider": "pants.core" }, - "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess": { - "description": null, + "pants.core.util_rules.system_binaries.get_bash": { + "description": "Finding the `bash` binary", "documentation": null, - "input_gets": ["Get(Digest, MergeDigests, ..)"], - "input_types": ["AddExtraSandboxContentsToProcess"], - "name": "pants.core.util_rules.adhoc_process_support.add_extra_contents_to_prcess", - "output_type": "Process", - "provider": "pants.backend.shell" + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.get_bash", + "output_type": "BashBinary", + "provider": "pants.core" }, - "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents": { - "description": null, + "pants.core.util_rules.system_binaries.maybe_find_git": { + "description": "Finding the `git` binary", "documentation": null, - "input_gets": ["Get(Digest, MergeDigests, ..)"], - "input_types": ["MergeExtraSandboxContents"], - "name": "pants.core.util_rules.adhoc_process_support.merge_extra_sandbox_contents", - "output_type": "ExtraSandboxContents", - "provider": "pants.backend.shell" + "input_gets": [ + "Get(BinaryPaths, BinaryPathRequest, ..)" + ], + "input_types": [ + "EnvironmentAware" + ], + "name": "pants.core.util_rules.system_binaries.maybe_find_git", + "output_type": "MaybeGitBinary", + "provider": "pants.core" }, - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process": { + "pants.core.util_rules.system_binaries.maybe_find_git_wrapper": { "description": null, "documentation": null, - "input_gets": [ - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(Snapshot, Digest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)" + "input_gets": [], + "input_types": [ + "MaybeGitBinaryRequest", + "MaybeGitBinary" ], - "input_types": ["AdhocProcessRequest", "BashBinary"], - "name": "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", - "output_type": "Process", - "provider": "pants.backend.shell" + "name": "pants.core.util_rules.system_binaries.maybe_find_git_wrapper", + "output_type": "MaybeGitBinary", + "provider": "pants.core" }, - "pants.core.util_rules.adhoc_process_support.resolve_execution_environment": { + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_GoPackageSourcesField": { "description": null, "documentation": null, "input_gets": [ - "Get(Addresses, UnparsedAddressInputs, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(Targets, UnparsedAddressInputs, ..)", "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(FieldSetsPerTarget, FieldSetsPerTargetRequest, ..)", - "Get(BuiltPackage, EnvironmentAwarePackageRequest, ..)", - "Get(Targets, Addresses, ..)", - "Get(RunInSandboxRequest, RunFieldSet, ..)", - "Get(ExtraSandboxContents, MergeExtraSandboxContents, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)" + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["ResolveExecutionDependenciesRequest", "BashBinary"], - "name": "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", - "output_type": "ResolvedExecutionDependencies", - "provider": "pants.backend.shell" + "input_types": [ + "GenerateWrapSourceSourcesRequest" + ], + "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_GoPackageSourcesField", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.adhoc_process_support.run_adhoc_process": { + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_JavaSourceField": { "description": null, "documentation": null, "input_gets": [ - "Get(Process, AdhocProcessRequest, ..)", - "Get(FallibleProcessResult, Process, ..)", - "Get(ProcessResult, {FallibleProcessResult: .., ProductDescription: ..})", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["AdhocProcessRequest"], - "name": "pants.core.util_rules.adhoc_process_support.run_adhoc_process", - "output_type": "AdhocProcessResult", - "provider": "pants.backend.shell" + "input_types": [ + "GenerateWrapSourceSourcesRequest" + ], + "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_JavaSourceField", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest": { + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField": { "description": null, - "documentation": "Backwards-compatibility helper.", - "input_gets": [], - "input_types": ["Digest"], - "name": "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest", - "output_type": "MaybeExtractArchiveRequest", - "provider": "pants.core" - }, - "pants.core.util_rules.archive.create_archive": { - "description": "Creating an archive file", "documentation": null, "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(ZipBinary)", - "Get(BashBinary)", - "Get(TarBinary)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, Process, ..)" + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["CreateArchive", "EnvironmentAware"], - "name": "pants.core.util_rules.archive.create_archive", - "output_type": "Digest", - "provider": "pants.core" - }, - "pants.core.util_rules.archive.maybe_extract_archive": { - "description": "Extracting an archive file", - "documentation": "If digest contains a single archive file, extract it, otherwise return the input digest.", - "input_gets": [ - "Get(Snapshot, Digest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(UnzipBinary)", - "Get(TarBinary)", - "Get(GunzipBinary)", - "Get(ProcessResult, Process, ..)", - "Get(Digest, RemovePrefix, ..)" + "input_types": [ + "GenerateWrapSourceSourcesRequest" ], - "input_types": ["MaybeExtractArchiveRequest", "EnvironmentAware"], - "name": "pants.core.util_rules.archive.maybe_extract_archive", - "output_type": "ExtractedArchive", - "provider": "pants.core" + "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.kotlin" }, - "pants.core.util_rules.asdf.resolve_asdf_tool_paths": { + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["AsdfToolPathsRequest", "BuildRoot"], - "name": "pants.core.util_rules.asdf.resolve_asdf_tool_paths", - "output_type": "AsdfToolPathsResult", - "provider": "pants.core" + "input_gets": [ + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateWrapSourceSourcesRequest" + ], + "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", + "output_type": "GeneratedSources", + "provider": "pants.backend.python" }, - "pants.core.util_rules.config_files.find_config_file": { - "description": "Find config files", + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField": { + "description": null, "documentation": null, "input_gets": [ - "Get(Snapshot, PathGlobs, ..)", - "Get(DigestContents, PathGlobs, ..)" + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, Digest, ..)" ], - "input_types": ["ConfigFilesRequest"], - "name": "pants.core.util_rules.config_files.find_config_file", - "output_type": "ConfigFiles", + "input_types": [ + "GenerateWrapSourceSourcesRequest" + ], + "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", + "output_type": "GeneratedSources", "provider": "pants.core" }, - "pants.core.util_rules.distdir.get_distdir": { + "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["GlobalOptions", "BuildRoot"], - "name": "pants.core.util_rules.distdir.get_distdir", - "output_type": "DistDir", - "provider": "pants.core" + "input_gets": [ + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, Digest, ..)" + ], + "input_types": [ + "GenerateWrapSourceSourcesRequest" + ], + "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", + "output_type": "GeneratedSources", + "provider": "pants.backend.experimental.scala" }, - "pants.core.util_rules.external_tool.download_external_tool": { + "pants.engine.internals.graph._determine_target_adaptor_and_type": { "description": null, "documentation": null, "input_gets": [ - "Get(Digest, DownloadFile, ..)", - "Get(ExtractedArchive, Digest, ..)", - "Get(DigestEntries, Digest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(TargetAdaptor, TargetAdaptorRequest, ..)" ], - "input_types": ["ExternalToolRequest"], - "name": "pants.core.util_rules.external_tool.download_external_tool", - "output_type": "DownloadedExternalTool", - "provider": "pants.core" + "input_types": [ + "_RequestAdaptorAndType", + "RegisteredTargetTypes" + ], + "name": "pants.engine.internals.graph._determine_target_adaptor_and_type", + "output_type": "_AdaptorAndType", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_GoTestRequest": { - "description": null, + "pants.engine.internals.graph.coarsened_targets": { + "description": "Resolve coarsened targets", "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "GoTestSubsystem"], - "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_GoTestRequest", - "output_type": "Partitions", + "input_gets": [ + "Get(_DependencyMapping, _DependencyMappingRequest, ..)" + ], + "input_types": [ + "CoarsenedTargetsRequest", + "ChosenLocalEnvironmentName" + ], + "name": "pants.engine.internals.graph.coarsened_targets", + "output_type": "CoarsenedTargets", "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_HelmUnitTestRequest": { + "pants.engine.internals.graph.coarsened_targets_request": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PartitionRequest", "HelmUnitTestSubsystem"], - "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_HelmUnitTestRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.helm" + "input_types": [ + "Addresses" + ], + "name": "pants.engine.internals.graph.coarsened_targets_request", + "output_type": "CoarsenedTargetsRequest", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_JunitTestRequest": { + "pants.engine.internals.graph.convert_dependencies_request_to_explicitly_provided_dependencies_request": { "description": null, - "documentation": null, + "documentation": "This rule discards any deps predicate from DependenciesRequest.\n\nCalculating ExplicitlyProvidedDependencies does not use any deps traversal predicates as it is\nmeant to list all explicit deps from the given field. By stripping the predicate from the\nrequest, we ensure that the cache key for ExplicitlyProvidedDependencies calculation does not\ninclude the predicate increasing the cache-hit rate.", "input_gets": [], - "input_types": ["PartitionRequest", "JUnit"], - "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_JunitTestRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.java" + "input_types": [ + "DependenciesRequest" + ], + "name": "pants.engine.internals.graph.convert_dependencies_request_to_explicitly_provided_dependencies_request", + "output_type": "ExplicitlyProvidedDependenciesRequest", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest": { + "pants.engine.internals.graph.determine_explicitly_provided_dependencies": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "Scalatest"], - "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ScalatestTestRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.scala" + "input_gets": [ + "Get(Address, AddressInput, ..)" + ], + "input_types": [ + "ExplicitlyProvidedDependenciesRequest", + "UnionMembership", + "RegisteredTargetTypes", + "SubprojectRoots" + ], + "name": "pants.engine.internals.graph.determine_explicitly_provided_dependencies", + "output_type": "ExplicitlyProvidedDependencies", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ShellTestRequest": { + "pants.engine.internals.graph.extract_subproject_roots": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PartitionRequest", "ShellTestSubsystem"], - "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_ShellTestRequest", - "output_type": "Partitions", - "provider": "pants.backend.shell" + "input_types": [ + "GlobalOptions" + ], + "name": "pants.engine.internals.graph.extract_subproject_roots", + "output_type": "SubprojectRoots", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_Shunit2TestRequest": { + "pants.engine.internals.graph.extract_unmatched_build_file_globs": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PartitionRequest", "Shunit2"], - "name": "pants.core.util_rules.partitions._partition_per_input_field_set_rules.partitioner_Shunit2TestRequest", - "output_type": "Partitions", - "provider": "pants.backend.shell" + "input_types": [ + "GlobalOptions" + ], + "name": "pants.engine.internals.graph.extract_unmatched_build_file_globs", + "output_type": "UnmatchedBuildFileGlobs", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest": { + "pants.engine.internals.graph.field_defaults": { "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "OpenApiFormatSubsystem"], - "name": "pants.core.util_rules.partitions._partition_per_input_file_rules.partitioner_OpenApiFormatRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.openapi.lint.openapi_format" + "input_gets": [ + "Get(FieldDefaultFactoryResult, FieldDefaultFactoryRequest, ..)" + ], + "input_types": [ + "UnionMembership" + ], + "name": "pants.engine.internals.graph.field_defaults", + "output_type": "FieldDefaults", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_HadolintRequest": { - "description": null, + "pants.engine.internals.graph.find_all_targets": { + "description": "Find all targets in the project", "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "Hadolint"], - "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_HadolintRequest", - "output_type": "Partitions", - "provider": "pants.backend.docker.lint.hadolint" + "input_gets": [ + "Get(Targets, RawSpecsWithoutFileOwners, ..)" + ], + "input_types": [], + "name": "pants.engine.internals.graph.find_all_targets", + "output_type": "AllTargets", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_PydocstyleRequest": { - "description": null, + "pants.engine.internals.graph.find_all_unexpanded_targets": { + "description": "Find all (unexpanded) targets in the project", "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "Pydocstyle"], - "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_PydocstyleRequest", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.pydocstyle" + "input_gets": [ + "Get(UnexpandedTargets, RawSpecsWithoutFileOwners, ..)" + ], + "input_types": [], + "name": "pants.engine.internals.graph.find_all_unexpanded_targets", + "output_type": "AllUnexpandedTargets", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_RuffLintRequest": { - "description": null, + "pants.engine.internals.graph.find_owners": { + "description": "Find which targets own certain files", "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "Ruff"], - "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_RuffLintRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.python.lint.ruff" + "input_gets": [ + "Get(Paths, PathGlobs, ..)", + "Get(FilteredTargets, RawSpecsWithoutFileOwners, ..)", + "Get(Targets, RawSpecsWithoutFileOwners, ..)", + "Get(UnexpandedTargets, RawSpecsWithoutFileOwners, ..)", + "Get(BuildFileAddress, BuildFileAddressRequest, ..)" + ], + "input_types": [ + "OwnersRequest", + "ChosenLocalEnvironmentName" + ], + "name": "pants.engine.internals.graph.find_owners", + "output_type": "Owners", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_ShellcheckRequest": { + "pants.engine.internals.graph.find_valid_field_sets": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["PartitionRequest", "Shellcheck"], - "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_ShellcheckRequest", - "output_type": "Partitions", - "provider": "pants.backend.shell.lint.shellcheck" + "input_types": [ + "FieldSetsPerTargetRequest", + "UnionMembership" + ], + "name": "pants.engine.internals.graph.find_valid_field_sets", + "output_type": "FieldSetsPerTarget", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_SpectralRequest": { + "pants.engine.internals.graph.generate_file_targets": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["PartitionRequest", "SpectralSubsystem"], - "name": "pants.core.util_rules.partitions._single_partition_field_set_rules.partitioner_SpectralRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.openapi.lint.spectral" + "input_gets": [ + "Get(SourcesPaths, SourcesPathsRequest, ..)", + "Get(TargetFilesGeneratorSettings, TargetFilesGeneratorSettingsRequest, ..)" + ], + "input_types": [ + "GenerateFileTargets", + "UnionMembership" + ], + "name": "pants.engine.internals.graph.generate_file_targets", + "output_type": "GeneratedTargets", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest": { - "description": null, + "pants.engine.internals.graph.hydrate_sources": { + "description": "Hydrate the `sources` field", "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "AddTrailingComma"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AddTrailingCommaRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma" + "input_gets": [ + "Get(Snapshot, PathGlobs, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(GeneratedSources, GenerateSourcesRequest, ..)" + ], + "input_types": [ + "HydrateSourcesRequest", + "UnmatchedBuildFileGlobs", + "UnionMembership" + ], + "name": "pants.engine.internals.graph.hydrate_sources", + "output_type": "HydratedSources", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest": { + "pants.engine.internals.graph.resolve_all_generator_target_requests": { "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "Autoflake"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_AutoflakeRequest", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.autoflake" + "input_gets": [ + "Get(AddressFamilies, RawSpecsWithoutFileOwners, ..)", + "Get(ResolvedTargetGeneratorRequests, ResolveTargetGeneratorRequests, ..)" + ], + "input_types": [ + "ResolveAllTargetGeneratorRequests" + ], + "name": "pants.engine.internals.graph.resolve_all_generator_target_requests", + "output_type": "ResolvedTargetGeneratorRequests", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest": { - "description": null, + "pants.engine.internals.graph.resolve_dependencies": { + "description": "Resolve direct dependencies of target", "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "Docformatter"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_DocformatterRequest", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.docformatter" + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)", + "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", + "Get(InferredDependencies, {InferDependenciesRequest: .., EnvironmentName: ..})", + "Get(_TargetParametrizations, {_TargetParametrizationsRequest: .., EnvironmentName: ..})", + "Get(Address, AddressInput, ..)", + "Get(ValidatedDependencies, {ValidateDependenciesRequest: .., EnvironmentName: ..})" + ], + "input_types": [ + "DependenciesRequest", + "TargetTypesToGenerateTargetsRequests", + "UnionMembership", + "SubprojectRoots", + "FieldDefaults", + "ChosenLocalEnvironmentName" + ], + "name": "pants.engine.internals.graph.resolve_dependencies", + "output_type": "Addresses", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest": { + "pants.engine.internals.graph.resolve_generator_target_requests": { "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "GofmtSubsystem"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GofmtRequest", - "output_type": "Partitions", + "input_gets": [ + "Get(_AdaptorAndType, _RequestAdaptorAndType, ..)", + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "ResolveTargetGeneratorRequests", + "UnionMembership", + "TargetTypesToGenerateTargetsRequests", + "UnmatchedBuildFileGlobs" + ], + "name": "pants.engine.internals.graph.resolve_generator_target_requests", + "output_type": "ResolvedTargetGeneratorRequests", "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest": { - "description": null, + "pants.engine.internals.graph.resolve_source_paths": { + "description": "Resolve `sources` field file names", "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "GoogleJavaFormatSubsystem"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_GoogleJavaFormatRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.java.lint.google_java_format" + "input_gets": [ + "Get(Paths, PathGlobs, ..)" + ], + "input_types": [ + "SourcesPathsRequest", + "UnmatchedBuildFileGlobs" + ], + "name": "pants.engine.internals.graph.resolve_source_paths", + "output_type": "SourcesPaths", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest": { + "pants.engine.internals.graph.resolve_target": { "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "Isort"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_IsortRequest", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.isort" + "input_gets": [ + "Get(_TargetParametrizations, {_TargetParametrizationsRequest: .., EnvironmentName: ..})" + ], + "input_types": [ + "WrappedTargetRequest", + "TargetTypesToGenerateTargetsRequests", + "ChosenLocalEnvironmentName" + ], + "name": "pants.engine.internals.graph.resolve_target", + "output_type": "WrappedTarget", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest": { + "pants.engine.internals.graph.resolve_target_for_bootstrapping": { "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "KtlintSubsystem"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_KtlintRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.kotlin.lint.ktlint" + "input_gets": [ + "Get(_AdaptorAndType, _RequestAdaptorAndType, ..)" + ], + "input_types": [ + "WrappedTargetRequest", + "UnionMembership" + ], + "name": "pants.engine.internals.graph.resolve_target_for_bootstrapping", + "output_type": "WrappedTargetForBootstrap", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest": { + "pants.engine.internals.graph.resolve_target_parametrizations": { "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "PyUpgrade"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_PyUpgradeRequest", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.pyupgrade" + "input_gets": [ + "Get(_AdaptorAndType, _RequestAdaptorAndType, ..)", + "Get(ResolvedTargetGeneratorRequests, ResolveTargetGeneratorRequests, ..)", + "Get(GeneratedTargets, GenerateTargetsRequest, ..)" + ], + "input_types": [ + "_TargetParametrizationsRequest", + "UnionMembership" + ], + "name": "pants.engine.internals.graph.resolve_target_parametrizations", + "output_type": "_TargetParametrizations", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest": { + "pants.engine.internals.graph.resolve_targets": { "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "Ruff"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_RuffFixRequest", - "output_type": "Partitions", - "provider": "pants.backend.experimental.python.lint.ruff" + "input_gets": [ + "Get(_TargetParametrizations, {_TargetParametrizationsRequest: .., EnvironmentName: ..})" + ], + "input_types": [ + "UnexpandedTargets", + "TargetTypesToGenerateTargetsRequests", + "ChosenLocalEnvironmentName" + ], + "name": "pants.engine.internals.graph.resolve_targets", + "output_type": "Targets", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest": { + "pants.engine.internals.graph.resolve_unexpanded_targets": { "description": null, "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "Shfmt"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_ShfmtRequest", - "output_type": "Partitions", - "provider": "pants.backend.shell.lint.shfmt" + "input_gets": [ + "Get(WrappedTarget, WrappedTargetRequest, ..)" + ], + "input_types": [ + "Addresses" + ], + "name": "pants.engine.internals.graph.resolve_unexpanded_targets", + "output_type": "UnexpandedTargets", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest": { - "description": null, + "pants.engine.internals.graph.resolve_unparsed_address_inputs": { + "description": "Resolve addresses", "documentation": null, - "input_gets": ["Get(SourcesPaths, SourcesPathsRequest, ..)"], - "input_types": ["PartitionRequest", "Yapf"], - "name": "pants.core.util_rules.partitions._single_partition_file_rules.partitioner_YapfRequest", - "output_type": "Partitions", - "provider": "pants.backend.python.lint.yapf" + "input_gets": [ + "Get(MaybeAddress, AddressInput, ..)", + "Get(Address, AddressInput, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)" + ], + "input_types": [ + "UnparsedAddressInputs", + "SubprojectRoots" + ], + "name": "pants.engine.internals.graph.resolve_unparsed_address_inputs", + "output_type": "Addresses", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.search_paths.get_un_cachable_version_manager_paths": { + "pants.engine.internals.graph.target_types_to_generate_targets_requests": { "description": null, - "documentation": "Inspects the directory of a version manager tool like pyenv or nvm to find installations.", + "documentation": null, "input_gets": [], - "input_types": ["VersionManagerSearchPathsRequest"], - "name": "pants.core.util_rules.search_paths.get_un_cachable_version_manager_paths", - "output_type": "VersionManagerSearchPaths", - "provider": "pants.core" + "input_types": [ + "UnionMembership" + ], + "name": "pants.engine.internals.graph.target_types_to_generate_targets_requests", + "output_type": "TargetTypesToGenerateTargetsRequests", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.search_paths.validate_search_paths": { + "pants.engine.internals.graph.transitive_dependency_mapping": { "description": null, - "documentation": "Checks for special search path strings, and errors if any are invalid for the environment.\n\nThis will return:\n* The search paths, unaltered, for local/undefined environments, OR\n* The search paths, with invalid tokens removed, if the provided value was unaltered from the\n default value in the options system.\n* The search paths unaltered, if the search paths are all valid tokens for this environment\n\nIf the environment is non-local and there are invalid tokens for those environments, raise\n`ValueError`.", - "input_gets": [], - "input_types": ["ValidateSearchPathsRequest"], - "name": "pants.core.util_rules.search_paths.validate_search_paths", - "output_type": "ValidatedSearchPaths", - "provider": "pants.core" + "documentation": "This uses iteration, rather than recursion, so that we can tolerate dependency cycles.\n\nUnlike a traditional BFS algorithm, we batch each round of traversals via `MultiGet` for\nimproved performance / concurrency.", + "input_gets": [ + "Get(UnexpandedTargets, Addresses, ..)", + "Get(Targets, DependenciesRequest, ..)", + "Get(UnexpandedTargets, DependenciesRequest, ..)" + ], + "input_types": [ + "_DependencyMappingRequest" + ], + "name": "pants.engine.internals.graph.transitive_dependency_mapping", + "output_type": "_DependencyMapping", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.source_files.determine_source_files": { - "description": "Get all relevant source files", - "documentation": "Merge all `SourceBaseField`s into one Snapshot.", + "pants.engine.internals.graph.transitive_targets": { + "description": "Resolve transitive targets", + "documentation": "Find all the targets transitively depended upon by the target roots.", "input_gets": [ - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(Snapshot, MergeDigests, ..)" + "Get(_DependencyMapping, _DependencyMappingRequest, ..)", + "Get(Addresses, UnparsedAddressInputs, ..)", + "Get(TransitivelyExcludeDependencies, {TransitivelyExcludeDependenciesRequest: .., EnvironmentName: ..})", + "Get(Targets, Addresses, ..)" ], - "input_types": ["SourceFilesRequest"], - "name": "pants.core.util_rules.source_files.determine_source_files", - "output_type": "SourceFiles", - "provider": "pants.core" + "input_types": [ + "TransitiveTargetsRequest", + "ChosenLocalEnvironmentName", + "UnionMembership" + ], + "name": "pants.engine.internals.graph.transitive_targets", + "output_type": "TransitiveTargets", + "provider": "pants.backend.experimental.go" }, - "pants.core.util_rules.stripped_source_files.strip_file_name": { + "pants.engine.internals.platform_rules.complete_environment_vars": { "description": null, "documentation": null, - "input_gets": ["Get(SourceRoot, SourceRootRequest, ..)"], - "input_types": ["StrippedFileNameRequest"], - "name": "pants.core.util_rules.stripped_source_files.strip_file_name", - "output_type": "StrippedFileName", - "provider": "pants.core" - }, - "pants.core.util_rules.stripped_source_files.strip_source_roots": { - "description": null, - "documentation": "Removes source roots from a snapshot.\n\nE.g. `src/python/pants/util/strutil.py` -> `pants/util/strutil.py`.", "input_gets": [ - "Get(Snapshot, DigestSubset, ..)", - "Get(SourceRootsResult, SourceRootsRequest, ..)", - "Get(Snapshot, RemovePrefix, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Snapshot, MergeDigests, ..)" + "Get(ProcessResult, Process, ..)" ], - "input_types": ["SourceFiles"], - "name": "pants.core.util_rules.stripped_source_files.strip_source_roots", - "output_type": "StrippedSourceFiles", - "provider": "pants.core" + "input_types": [ + "SessionValues", + "EnvironmentTarget", + "GlobalOptions", + "EnvironmentsSubsystem" + ], + "name": "pants.engine.internals.platform_rules.complete_environment_vars", + "output_type": "CompleteEnvironmentVars", + "provider": "pants.backend.experimental.javascript" }, - "pants.core.util_rules.stripped_source_files.strip_sources_paths": { + "pants.engine.internals.platform_rules.current_platform": { "description": null, "documentation": null, - "input_gets": ["Get(SourceRoot, SourceRootRequest, ..)"], - "input_types": ["SourcesPaths"], - "name": "pants.core.util_rules.stripped_source_files.strip_sources_paths", - "output_type": "StrippedSourceFileNames", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "EnvironmentTarget", + "GlobalOptions", + "EnvironmentsSubsystem" + ], + "name": "pants.engine.internals.platform_rules.current_platform", + "output_type": "Platform", + "provider": "pants.backend.experimental.javascript" }, - "pants.core.util_rules.subprocess_environment.get_subprocess_environment": { + "pants.engine.internals.platform_rules.environment_path_variable": { "description": null, "documentation": null, - "input_gets": ["Get(EnvironmentVars, EnvironmentVarsRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.subprocess_environment.get_subprocess_environment", - "output_type": "SubprocessEnvironmentVars", - "provider": "pants.core" - }, - "pants.core.util_rules.system_binaries.create_binary_shims": { - "description": null, - "documentation": "Creates a bin directory with shims for all requested binaries.\n\nThis can be provided to a `Process` as an `immutable_input_digest`, or can be merged into the\ninput digest.", "input_gets": [ - "Get(BinaryPaths, BinaryPathRequest, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], - "input_types": ["BinaryShimsRequest", "BashBinary"], - "name": "pants.core.util_rules.system_binaries.create_binary_shims", - "output_type": "BinaryShims", - "provider": "pants.core" + "input_types": [], + "name": "pants.engine.internals.platform_rules.environment_path_variable", + "output_type": "PathEnvironmentVariable", + "provider": "pants.backend.experimental.javascript" }, - "pants.core.util_rules.system_binaries.find_binary": { + "pants.engine.internals.platform_rules.environment_vars_subset": { "description": null, "documentation": null, - "input_gets": [ - "Get(BashBinary)", - "Get(Digest, CreateDigest, ..)", - "Get(ProcessResult, Process, ..)", - "Get(FallibleProcessResult, Process, ..)" + "input_gets": [], + "input_types": [ + "CompleteEnvironmentVars", + "EnvironmentVarsRequest" ], - "input_types": ["BinaryPathRequest", "EnvironmentTarget"], - "name": "pants.core.util_rules.system_binaries.find_binary", - "output_type": "BinaryPaths", - "provider": "pants.core" - }, - "pants.core.util_rules.system_binaries.find_cat": { - "description": "Finding the `cat` binary", - "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_cat", - "output_type": "CatBinary", - "provider": "pants.core" - }, - "pants.core.util_rules.system_binaries.find_chmod": { - "description": "Finding the `chmod` binary", - "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_chmod", - "output_type": "ChmodBinary", - "provider": "pants.core" - }, - "pants.core.util_rules.system_binaries.find_cp": { - "description": "Finding the `cp` binary", - "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_cp", - "output_type": "CpBinary", - "provider": "pants.core" + "name": "pants.engine.internals.platform_rules.environment_vars_subset", + "output_type": "EnvironmentVars", + "provider": "pants.backend.experimental.javascript" }, - "pants.core.util_rules.system_binaries.find_diff": { - "description": "Finding the `diff` binary", - "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_diff", - "output_type": "DiffBinary", - "provider": "pants.core" + "pants.engine.process.fallible_to_exec_result_or_raise": { + "description": null, + "documentation": "Converts a FallibleProcessResult to a ProcessResult or raises an error.", + "input_gets": [], + "input_types": [ + "FallibleProcessResult", + "ProductDescription", + "KeepSandboxes" + ], + "name": "pants.engine.process.fallible_to_exec_result_or_raise", + "output_type": "ProcessResult", + "provider": "pants.backend.experimental.helm" }, - "pants.core.util_rules.system_binaries.find_git": { - "description": "Finding the `git` binary", + "pants.engine.process.get_multi_platform_request_description": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_git", - "output_type": "GitBinary", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "Process" + ], + "name": "pants.engine.process.get_multi_platform_request_description", + "output_type": "ProductDescription", + "provider": "pants.backend.experimental.helm" }, - "pants.core.util_rules.system_binaries.find_ln": { - "description": "Finding the `ln` binary", + "pants.engine.process.run_proc_with_retry": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_ln", - "output_type": "LnBinary", - "provider": "pants.core" + "input_gets": [ + "Get(FallibleProcessResult, Process, ..)" + ], + "input_types": [ + "ProcessWithRetries" + ], + "name": "pants.engine.process.run_proc_with_retry", + "output_type": "ProcessResultWithRetries", + "provider": "pants.backend.experimental.helm" }, - "pants.core.util_rules.system_binaries.find_mkdir": { - "description": "Finding the `mkdir` binary", + "pants.goal.stats_aggregator.construct_callback": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_mkdir", - "output_type": "MkdirBinary", + "input_gets": [], + "input_types": [ + "StatsAggregatorCallbackFactoryRequest", + "StatsAggregatorSubsystem" + ], + "name": "pants.goal.stats_aggregator.construct_callback", + "output_type": "WorkunitsCallbackFactory", "provider": "pants.core" }, - "pants.core.util_rules.system_binaries.find_mktemp": { - "description": "Finding the `mktempt` binary", + "pants.jvm.bsp.compile.notify_for_classpath_entry": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_mktemp", - "output_type": "MktempBinary", - "provider": "pants.core" + "input_gets": [ + "Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)" + ], + "input_types": [ + "BSPClasspathEntryRequest", + "BSPContext" + ], + "name": "pants.jvm.bsp.compile.notify_for_classpath_entry", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.find_mv": { - "description": "Finding the `mv` binary", + "pants.jvm.classpath.classpath": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_mv", - "output_type": "MvBinary", - "provider": "pants.core" + "input_gets": [ + "Get(CoursierResolveKey, CoarsenedTargets, ..)", + "Get(ClasspathEntry, ClasspathEntryRequest, ..)" + ], + "input_types": [ + "CoarsenedTargets", + "ClasspathEntryRequestFactory" + ], + "name": "pants.jvm.classpath.classpath", + "output_type": "Classpath", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.find_open": { - "description": "Finding the `open` binary", + "pants.jvm.classpath.loose_classfiles": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_open", - "output_type": "OpenBinary", - "provider": "pants.core" + "input_gets": [ + "Get(ProcessResult, Process, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, RemovePrefix, ..)" + ], + "input_types": [ + "ClasspathEntry", + "UnzipBinary" + ], + "name": "pants.jvm.classpath.loose_classfiles", + "output_type": "LooseClassfiles", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.find_readlink": { - "description": "Finding the `readlink` binary", + "pants.jvm.compile.calculate_jvm_request_types": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_readlink", - "output_type": "ReadlinkBinary", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "UnionMembership" + ], + "name": "pants.jvm.compile.calculate_jvm_request_types", + "output_type": "ClasspathEntryRequestFactory", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.find_tar": { - "description": "Finding the `tar` binary", + "pants.jvm.compile.classpath_dependency_requests": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["Platform", "EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_tar", - "output_type": "TarBinary", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "ClasspathEntryRequestFactory", + "ClasspathDependenciesRequest" + ], + "name": "pants.jvm.compile.classpath_dependency_requests", + "output_type": "ClasspathEntryRequests", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.find_touch": { - "description": "Finding the `touch` binary", + "pants.jvm.compile.compile_classpath_entries": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_touch", - "output_type": "TouchBinary", - "provider": "pants.core" + "input_gets": [ + "Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)" + ], + "input_types": [ + "ClasspathEntryRequests" + ], + "name": "pants.jvm.compile.compile_classpath_entries", + "output_type": "FallibleClasspathEntries", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.find_unzip": { - "description": "Finding the `unzip` binary", + "pants.jvm.compile.required_classfiles": { + "description": null, "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_unzip", - "output_type": "UnzipBinary", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "FallibleClasspathEntry" + ], + "name": "pants.jvm.compile.required_classfiles", + "output_type": "ClasspathEntry", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.find_zip": { - "description": "Finding the `zip` binary", - "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.find_zip", - "output_type": "ZipBinary", - "provider": "pants.core" + "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping": { + "description": null, + "documentation": "Implements the mapping logic from the `jvm_artifact` and `java-infer` help.", + "input_gets": [], + "input_types": [ + "JavaInferSubsystem", + "AvailableThirdPartyArtifacts", + "AllJvmTypeProvidingTargets" + ], + "name": "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping", + "output_type": "ThirdPartySymbolMapping", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.get_bash": { - "description": "Finding the `bash` binary", + "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_artifact_targets": { + "description": "Find all jvm_artifact targets in project", "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.get_bash", - "output_type": "BashBinary", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_artifact_targets", + "output_type": "AllJvmArtifactTargets", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.maybe_find_git": { - "description": "Finding the `git` binary", + "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_provides_fields": { + "description": "Find all targets with experimental_provides fields in project", "documentation": null, - "input_gets": ["Get(BinaryPaths, BinaryPathRequest, ..)"], - "input_types": ["EnvironmentAware"], - "name": "pants.core.util_rules.system_binaries.maybe_find_git", - "output_type": "MaybeGitBinary", - "provider": "pants.core" + "input_gets": [], + "input_types": [ + "AllTargets" + ], + "name": "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_provides_fields", + "output_type": "AllJvmTypeProvidingTargets", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.system_binaries.maybe_find_git_wrapper": { + "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["MaybeGitBinaryRequest", "MaybeGitBinary"], - "name": "pants.core.util_rules.system_binaries.maybe_find_git_wrapper", - "output_type": "MaybeGitBinary", - "provider": "pants.core" + "input_types": [ + "AllJvmArtifactTargets", + "JvmSubsystem" + ], + "name": "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts", + "output_type": "AvailableThirdPartyArtifacts", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_GoPackageSourcesField": { + "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, Digest, ..)" + "Get(SymbolMap, FirstPartyMappingRequest, ..)" ], - "input_types": ["GenerateWrapSourceSourcesRequest"], - "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_GoPackageSourcesField", - "output_type": "GeneratedSources", - "provider": "pants.backend.experimental.go" + "input_types": [ + "UnionMembership", + "AllJvmTypeProvidingTargets", + "JvmSubsystem", + "ThirdPartySymbolMapping" + ], + "name": "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings", + "output_type": "SymbolMapping", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_JavaSourceField": { + "pants.jvm.goals.debug_goals.jvm_symbol_map": { + "description": "`jvm-symbol-map` goal", + "documentation": null, + "input_gets": [], + "input_types": [ + "Console", + "SymbolMapping" + ], + "name": "pants.jvm.goals.debug_goals.jvm_symbol_map", + "output_type": "JvmSymbolMap", + "provider": "pants.backend.experimental.java.debug_goals" + }, + "pants.jvm.goals.lockfile.determine_jvm_user_resolves": { "description": null, "documentation": null, + "input_gets": [], + "input_types": [ + "KnownJVMUserResolveNamesRequest", + "JvmSubsystem" + ], + "name": "pants.jvm.goals.lockfile.determine_jvm_user_resolves", + "output_type": "KnownUserResolveNames", + "provider": "pants.backend.experimental.java" + }, + "pants.jvm.goals.lockfile.generate_jvm_lockfile": { + "description": "Generate JVM lockfile", + "documentation": null, "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, Digest, ..)" + "Get(CoursierResolvedLockfile, ArtifactRequirements, ..)", + "Get(Digest, CreateDigest, ..)" ], - "input_types": ["GenerateWrapSourceSourcesRequest"], - "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_JavaSourceField", - "output_type": "GeneratedSources", + "input_types": [ + "GenerateJvmLockfile", + "GenerateLockfilesSubsystem" + ], + "name": "pants.jvm.goals.lockfile.generate_jvm_lockfile", + "output_type": "GenerateLockfileResult", "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField": { + "pants.jvm.goals.lockfile.setup_user_lockfile_requests": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, Digest, ..)" + "Get(GenerateJvmLockfile, _ValidateJvmArtifactsRequest, ..)" ], - "input_types": ["GenerateWrapSourceSourcesRequest"], - "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_KotlinSourceField", - "output_type": "GeneratedSources", - "provider": "pants.backend.experimental.kotlin" + "input_types": [ + "RequestedJVMUserResolveNames", + "AllTargets", + "JvmSubsystem" + ], + "name": "pants.jvm.goals.lockfile.setup_user_lockfile_requests", + "output_type": "UserGenerateLockfiles", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField": { + "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, Digest, ..)" + "Get(ValidateJvmArtifactsForResolveResult, ValidateJvmArtifactsForResolveRequest, ..)" ], - "input_types": ["GenerateWrapSourceSourcesRequest"], - "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_PythonSourceField", - "output_type": "GeneratedSources", - "provider": "pants.backend.python" + "input_types": [ + "_ValidateJvmArtifactsRequest", + "UnionMembership", + "JvmSubsystem" + ], + "name": "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve", + "output_type": "GenerateJvmLockfile", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField": { + "pants.jvm.goals.lockfile.wrap_jvm_lockfile_request": { "description": null, "documentation": null, - "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, Digest, ..)" + "input_gets": [], + "input_types": [ + "GenerateJvmLockfile" ], - "input_types": ["GenerateWrapSourceSourcesRequest"], - "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ResourceSourceField", - "output_type": "GeneratedSources", - "provider": "pants.core" + "name": "pants.jvm.goals.lockfile.wrap_jvm_lockfile_request", + "output_type": "WrappedGenerateLockfile", + "provider": "pants.backend.experimental.java" }, - "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField": { + "pants.jvm.jar_tool.jar_tool.build_jar_tool": { "description": null, "documentation": null, "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(GenerateJvmLockfileFromTool, JarToolGenerateLockfileSentinel, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, Digest, ..)" + "Get(Digest, MergeDigests, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)" ], - "input_types": ["GenerateWrapSourceSourcesRequest"], - "name": "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_ScalaSourceField", - "output_type": "GeneratedSources", - "provider": "pants.backend.experimental.scala" + "input_types": [ + "InternalJdk" + ], + "name": "pants.jvm.jar_tool.jar_tool.build_jar_tool", + "output_type": "JarToolCompiledClassfiles", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph._determine_target_adaptor_and_type": { + "pants.jvm.jar_tool.jar_tool.generate_jartool_lockfile_request": { "description": null, "documentation": null, - "input_gets": ["Get(TargetAdaptor, TargetAdaptorRequest, ..)"], - "input_types": ["_RequestAdaptorAndType", "RegisteredTargetTypes"], - "name": "pants.engine.internals.graph._determine_target_adaptor_and_type", - "output_type": "_AdaptorAndType", - "provider": "pants.backend.experimental.go" + "input_gets": [], + "input_types": [ + "JarToolGenerateLockfileSentinel" + ], + "name": "pants.jvm.jar_tool.jar_tool.generate_jartool_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.coarsened_targets": { - "description": "Resolve coarsened targets", + "pants.jvm.jar_tool.jar_tool.run_jar_tool": { + "description": null, "documentation": null, - "input_gets": ["Get(_DependencyMapping, _DependencyMappingRequest, ..)"], - "input_types": ["CoarsenedTargetsRequest", "ChosenLocalEnvironmentName"], - "name": "pants.engine.internals.graph.coarsened_targets", - "output_type": "CoarsenedTargets", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, JarToolGenerateLockfileSentinel, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)" + ], + "input_types": [ + "JarToolRequest", + "InternalJdk", + "JarToolCompiledClassfiles" + ], + "name": "pants.jvm.jar_tool.jar_tool.run_jar_tool", + "output_type": "Digest", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.coarsened_targets_request": { + "pants.jvm.jdk_rules.fetch_nailgun": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["Addresses"], - "name": "pants.engine.internals.graph.coarsened_targets_request", - "output_type": "CoarsenedTargetsRequest", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(ClasspathEntry, CoursierLockfileEntry, ..)" + ], + "input_types": [], + "name": "pants.jvm.jdk_rules.fetch_nailgun", + "output_type": "Nailgun", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.convert_dependencies_request_to_explicitly_provided_dependencies_request": { + "pants.jvm.jdk_rules.internal_jdk": { "description": null, - "documentation": "This rule discards any deps predicate from DependenciesRequest.\n\nCalculating ExplicitlyProvidedDependencies does not use any deps traversal predicates as it is\nmeant to list all explicit deps from the given field. By stripping the predicate from the\nrequest, we ensure that the cache key for ExplicitlyProvidedDependencies calculation does not\ninclude the predicate increasing the cache-hit rate.", - "input_gets": [], - "input_types": ["DependenciesRequest"], - "name": "pants.engine.internals.graph.convert_dependencies_request_to_explicitly_provided_dependencies_request", - "output_type": "ExplicitlyProvidedDependenciesRequest", - "provider": "pants.backend.experimental.go" + "documentation": "Creates a `JdkEnvironment` object based on the JVM subsystem options.\n\nThis is used for providing a predictable JDK version for Pants' internal usage rather than for\nmatching compatibility with source files (e.g. compilation/testing).", + "input_gets": [ + "Get(JdkEnvironment, JdkRequest, ..)" + ], + "input_types": [ + "JvmSubsystem" + ], + "name": "pants.jvm.jdk_rules.internal_jdk", + "output_type": "InternalJdk", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.determine_explicitly_provided_dependencies": { + "pants.jvm.jdk_rules.jvm_process": { "description": null, "documentation": null, - "input_gets": ["Get(Address, AddressInput, ..)"], + "input_gets": [], "input_types": [ - "ExplicitlyProvidedDependenciesRequest", - "UnionMembership", - "RegisteredTargetTypes", - "SubprojectRoots" + "BashBinary", + "JvmProcess", + "JvmSubsystem", + "GlobalOptions" ], - "name": "pants.engine.internals.graph.determine_explicitly_provided_dependencies", - "output_type": "ExplicitlyProvidedDependencies", - "provider": "pants.backend.experimental.go" + "name": "pants.jvm.jdk_rules.jvm_process", + "output_type": "Process", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.extract_subproject_roots": { + "pants.jvm.jdk_rules.prepare_jdk_environment": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["GlobalOptions"], - "name": "pants.engine.internals.graph.extract_subproject_roots", - "output_type": "SubprojectRoots", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(FallibleProcessResult, Process, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "JvmSubsystem", + "EnvironmentAware", + "Coursier", + "Nailgun", + "BashBinary", + "JdkRequest", + "EnvironmentTarget" + ], + "name": "pants.jvm.jdk_rules.prepare_jdk_environment", + "output_type": "JdkEnvironment", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.extract_unmatched_build_file_globs": { - "description": null, + "pants.jvm.non_jvm_dependencies.noop_classpath_entry": { + "description": "Compile with javac", "documentation": null, "input_gets": [], - "input_types": ["GlobalOptions"], - "name": "pants.engine.internals.graph.extract_unmatched_build_file_globs", - "output_type": "UnmatchedBuildFileGlobs", - "provider": "pants.backend.experimental.go" + "input_types": [ + "NoopClasspathEntryRequest" + ], + "name": "pants.jvm.non_jvm_dependencies.noop_classpath_entry", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.openapi.codegen.java" }, - "pants.engine.internals.graph.field_defaults": { + "pants.jvm.package.deploy_jar.deploy_jar_classpath": { "description": null, "documentation": null, "input_gets": [ - "Get(FieldDefaultFactoryResult, FieldDefaultFactoryRequest, ..)" + "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)" ], - "input_types": ["UnionMembership"], - "name": "pants.engine.internals.graph.field_defaults", - "output_type": "FieldDefaults", - "provider": "pants.backend.experimental.go" - }, - "pants.engine.internals.graph.find_all_targets": { - "description": "Find all targets in the project", - "documentation": null, - "input_gets": ["Get(Targets, RawSpecsWithoutFileOwners, ..)"], - "input_types": [], - "name": "pants.engine.internals.graph.find_all_targets", - "output_type": "AllTargets", - "provider": "pants.backend.experimental.go" - }, - "pants.engine.internals.graph.find_all_unexpanded_targets": { - "description": "Find all (unexpanded) targets in the project", - "documentation": null, - "input_gets": ["Get(UnexpandedTargets, RawSpecsWithoutFileOwners, ..)"], - "input_types": [], - "name": "pants.engine.internals.graph.find_all_unexpanded_targets", - "output_type": "AllUnexpandedTargets", - "provider": "pants.backend.experimental.go" + "input_types": [ + "DeployJarClasspathEntryRequest" + ], + "name": "pants.jvm.package.deploy_jar.deploy_jar_classpath", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.find_owners": { - "description": "Find which targets own certain files", - "documentation": null, + "pants.jvm.package.deploy_jar.package_deploy_jar": { + "description": null, + "documentation": "Constructs a deploy (\"fat\") JAR file by\n1. Resolving/compiling a Classpath for the `root_address` target,\n2. Creating a deploy jar with a valid ZIP index and deduplicated entries\n3. (optionally) Stripping the jar of all metadata that may cause it to be non-reproducible (https://reproducible-builds.org)\n4. (optionally) Apply shading rules to the bytecode inside the jar file", "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(FilteredTargets, RawSpecsWithoutFileOwners, ..)", - "Get(Targets, RawSpecsWithoutFileOwners, ..)", - "Get(UnexpandedTargets, RawSpecsWithoutFileOwners, ..)", - "Get(BuildFileAddress, BuildFileAddressRequest, ..)" + "Get(Classpath, Addresses, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, JarToolRequest, ..)", + "Get(Digest, StripJarRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(ShadedJar, ShadeJarRequest, ..)" ], - "input_types": ["OwnersRequest", "ChosenLocalEnvironmentName"], - "name": "pants.engine.internals.graph.find_owners", - "output_type": "Owners", - "provider": "pants.backend.experimental.go" + "input_types": [ + "JvmSubsystem", + "DeployJarFieldSet" + ], + "name": "pants.jvm.package.deploy_jar.package_deploy_jar", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.find_valid_field_sets": { + "pants.jvm.package.war.package_war": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["FieldSetsPerTargetRequest", "UnionMembership"], - "name": "pants.engine.internals.graph.find_valid_field_sets", - "output_type": "FieldSetsPerTarget", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(Classpath, DependenciesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(ShadedJar, ShadeJarRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(RenderedWarContent, RenderWarContentRequest, ..)", + "Get(RenderedWarDeploymentDescriptor, RenderWarDeploymentDescriptorRequest, ..)", + "Get(ProcessResult, Process, ..)" + ], + "input_types": [ + "PackageWarFileFieldSet", + "BashBinary", + "ZipBinary" + ], + "name": "pants.jvm.package.war.package_war", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.generate_file_targets": { + "pants.jvm.package.war.render_war_content": { "description": null, "documentation": null, "input_gets": [ - "Get(SourcesPaths, SourcesPathsRequest, ..)", - "Get(TargetFilesGeneratorSettings, TargetFilesGeneratorSettingsRequest, ..)" + "Get(Addresses, UnparsedAddressInputs, ..)", + "Get(Targets, Addresses, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, AddPrefix, ..)" ], - "input_types": ["GenerateFileTargets", "UnionMembership"], - "name": "pants.engine.internals.graph.generate_file_targets", - "output_type": "GeneratedTargets", - "provider": "pants.backend.experimental.go" + "input_types": [ + "RenderWarContentRequest" + ], + "name": "pants.jvm.package.war.render_war_content", + "output_type": "RenderedWarContent", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.hydrate_sources": { - "description": "Hydrate the `sources` field", + "pants.jvm.package.war.render_war_deployment_descriptor": { + "description": null, "documentation": null, "input_gets": [ - "Get(Snapshot, PathGlobs, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(GeneratedSources, GenerateSourcesRequest, ..)" + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(DigestEntries, Digest, ..)", + "Get(Digest, CreateDigest, ..)" ], "input_types": [ - "HydrateSourcesRequest", - "UnmatchedBuildFileGlobs", - "UnionMembership" + "RenderWarDeploymentDescriptorRequest" ], - "name": "pants.engine.internals.graph.hydrate_sources", - "output_type": "HydratedSources", - "provider": "pants.backend.experimental.go" + "name": "pants.jvm.package.war.render_war_deployment_descriptor", + "output_type": "RenderedWarDeploymentDescriptor", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.resolve_all_generator_target_requests": { + "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile": { "description": null, - "documentation": null, + "documentation": "Fetch every artifact in a lockfile.", "input_gets": [ - "Get(AddressFamilies, RawSpecsWithoutFileOwners, ..)", - "Get(ResolvedTargetGeneratorRequests, ResolveTargetGeneratorRequests, ..)" + "Get(ClasspathEntry, CoursierLockfileEntry, ..)" ], - "input_types": ["ResolveAllTargetGeneratorRequests"], - "name": "pants.engine.internals.graph.resolve_all_generator_target_requests", - "output_type": "ResolvedTargetGeneratorRequests", - "provider": "pants.backend.experimental.go" + "input_types": [ + "CoursierResolvedLockfile" + ], + "name": "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile", + "output_type": "ResolvedClasspathEntries", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.resolve_dependencies": { - "description": "Resolve direct dependencies of target", - "documentation": null, + "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord": { + "description": null, + "documentation": "Run `coursier fetch --intransitive` to fetch a single artifact.\n\nThis rule exists to permit efficient subsetting of a \"global\" classpath\nin the form of a lockfile. Callers can determine what subset of dependencies\nfrom the lockfile are needed for a given target, then request those\nlockfile entries individually.\n\nBy fetching only one entry at a time, we maximize our cache efficiency. If instead\nwe fetched the entire subset that the caller wanted, there would be a different cache\nkey for every possible subset.\n\nThis rule also guarantees exact reproducibility. If all caches have been\nremoved, `coursier fetch` will re-download the artifact, and this rule will\nconfirm that what was downloaded matches exactly (by content digest) what\nwas specified in the lockfile (what Coursier originally downloaded).", "input_gets": [ - "Get(WrappedTarget, WrappedTargetRequest, ..)", - "Get(ExplicitlyProvidedDependencies, DependenciesRequest, ..)", - "Get(InferredDependencies, {InferDependenciesRequest: .., EnvironmentName: ..})", - "Get(_TargetParametrizations, {_TargetParametrizationsRequest: .., EnvironmentName: ..})", - "Get(Address, AddressInput, ..)", - "Get(ValidatedDependencies, {ValidateDependenciesRequest: .., EnvironmentName: ..})" + "Get(Targets, UnparsedAddressInputs, ..)", + "Get(CoursierResolveInfo, ArtifactRequirements, ..)", + "Get(ProcessResult, CoursierFetchProcess, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(FileDigest, ExtractFileDigest, ..)" ], "input_types": [ - "DependenciesRequest", - "TargetTypesToGenerateTargetsRequests", - "UnionMembership", - "SubprojectRoots", - "FieldDefaults", - "ChosenLocalEnvironmentName" + "CoursierLockfileEntry" ], - "name": "pants.engine.internals.graph.resolve_dependencies", - "output_type": "Addresses", - "provider": "pants.backend.experimental.go" + "name": "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", + "output_type": "ClasspathEntry", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.resolve_generator_target_requests": { + "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile": { "description": null, - "documentation": null, + "documentation": "Run `coursier fetch ...` against a list of Maven coordinates and capture the result.\n\nThis rule does two things in a single Process invocation:\n\n * Runs `coursier fetch` to let Coursier do the heavy lifting of resolving\n dependencies and downloading resolved artifacts (jars, etc).\n * Copies the resolved artifacts into the Process output directory, capturing\n the artifacts as content-addressed `Digest`s.\n\nIt's important that this happens in the same process, since the process isn't\nguaranteed to run on the same machine as the rule, nor is a subsequent process\ninvocation. This guarantees that whatever Coursier resolved, it was fully\ncaptured into Pants' content addressed artifact storage.\n\nNote however that we still get the benefit of Coursier's \"global\" cache if it\nhad already been run on the machine where the `coursier fetch` runs, so rerunning\n`coursier fetch` tends to be fast in practice.\n\nFinally, this rule bundles up the result into a `CoursierResolvedLockfile`. This\ndata structure encapsulates everything necessary to either materialize the\nresolved dependencies to a classpath for Java invocations, or to write the\nlockfile out to the workspace to hermetically freeze the result of the resolve.", "input_gets": [ - "Get(_AdaptorAndType, _RequestAdaptorAndType, ..)", - "Get(Paths, PathGlobs, ..)" + "Get(CoursierResolveInfo, ArtifactRequirements, ..)", + "Get(ProcessResult, CoursierFetchProcess, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(DigestContents, Digest, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(FileDigest, ExtractFileDigest, ..)" ], "input_types": [ - "ResolveTargetGeneratorRequests", - "UnionMembership", - "TargetTypesToGenerateTargetsRequests", - "UnmatchedBuildFileGlobs" + "ArtifactRequirements" ], - "name": "pants.engine.internals.graph.resolve_generator_target_requests", - "output_type": "ResolvedTargetGeneratorRequests", - "provider": "pants.backend.experimental.go" - }, - "pants.engine.internals.graph.resolve_source_paths": { - "description": "Resolve `sources` field file names", - "documentation": null, - "input_gets": ["Get(Paths, PathGlobs, ..)"], - "input_types": ["SourcesPathsRequest", "UnmatchedBuildFileGlobs"], - "name": "pants.engine.internals.graph.resolve_source_paths", - "output_type": "SourcesPaths", - "provider": "pants.backend.experimental.go" + "name": "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", + "output_type": "CoursierResolvedLockfile", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.resolve_target": { - "description": null, + "pants.jvm.resolve.coursier_fetch.fetch_with_coursier": { + "description": "Fetch with coursier", "documentation": null, "input_gets": [ - "Get(_TargetParametrizations, {_TargetParametrizationsRequest: .., EnvironmentName: ..})" + "Get(CoursierResolvedLockfile, CoursierResolveKey, ..)", + "Get(ClasspathEntry, CoursierLockfileEntry, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "WrappedTargetRequest", - "TargetTypesToGenerateTargetsRequests", - "ChosenLocalEnvironmentName" + "CoursierFetchRequest" ], - "name": "pants.engine.internals.graph.resolve_target", - "output_type": "WrappedTarget", - "provider": "pants.backend.experimental.go" + "name": "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.resolve_target_for_bootstrapping": { + "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve": { "description": null, "documentation": null, - "input_gets": ["Get(_AdaptorAndType, _RequestAdaptorAndType, ..)"], - "input_types": ["WrappedTargetRequest", "UnionMembership"], - "name": "pants.engine.internals.graph.resolve_target_for_bootstrapping", - "output_type": "WrappedTargetForBootstrap", - "provider": "pants.backend.experimental.go" + "input_gets": [ + "Get(DigestContents, Digest, ..)" + ], + "input_types": [ + "CoursierResolveKey" + ], + "name": "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve", + "output_type": "CoursierResolvedLockfile", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.resolve_target_parametrizations": { + "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool": { "description": null, "documentation": null, "input_gets": [ - "Get(_AdaptorAndType, _RequestAdaptorAndType, ..)", - "Get(ResolvedTargetGeneratorRequests, ResolveTargetGeneratorRequests, ..)", - "Get(GeneratedTargets, GenerateTargetsRequest, ..)" + "Get(CoursierResolvedLockfile, ArtifactRequirements, ..)", + "Get(Snapshot, PathGlobs, ..)", + "Get(CoursierResolvedLockfile, CoursierResolveKey, ..)", + "Get(ArtifactRequirements, GatherJvmCoordinatesRequest, ..)", + "Get(ResolvedClasspathEntries, CoursierResolvedLockfile, ..)", + "Get(Snapshot, MergeDigests, ..)", + "Get(Snapshot, AddPrefix, ..)" ], - "input_types": ["_TargetParametrizationsRequest", "UnionMembership"], - "name": "pants.engine.internals.graph.resolve_target_parametrizations", - "output_type": "_TargetParametrizations", - "provider": "pants.backend.experimental.go" + "input_types": [ + "ToolClasspathRequest" + ], + "name": "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", + "output_type": "ToolClasspath", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.resolve_targets": { + "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info": { "description": null, "documentation": null, "input_gets": [ - "Get(_TargetParametrizations, {_TargetParametrizationsRequest: .., EnvironmentName: ..})" + "Get(Digest, CreateDigest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)" ], "input_types": [ - "UnexpandedTargets", - "TargetTypesToGenerateTargetsRequests", - "ChosenLocalEnvironmentName" + "ArtifactRequirements" ], - "name": "pants.engine.internals.graph.resolve_targets", - "output_type": "Targets", - "provider": "pants.backend.experimental.go" + "name": "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", + "output_type": "CoursierResolveInfo", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.resolve_unexpanded_targets": { + "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets": { "description": null, - "documentation": null, - "input_gets": ["Get(WrappedTarget, WrappedTargetRequest, ..)"], - "input_types": ["Addresses"], - "name": "pants.engine.internals.graph.resolve_unexpanded_targets", - "output_type": "UnexpandedTargets", - "provider": "pants.backend.experimental.go" - }, - "pants.engine.internals.graph.resolve_unparsed_address_inputs": { - "description": "Resolve addresses", - "documentation": null, + "documentation": "Selects and validates (transitively) a single resolve for a set of roots in a compile graph.\n\nIn most cases, a `CoursierResolveKey` should be requested for a single `CoarsenedTarget` root,\nwhich avoids coupling un-related roots unnecessarily. But in other cases, a single compatible\nresolve is required for multiple roots (such as when running a `repl` over unrelated code), and\nin that case there might be multiple CoarsenedTargets.", "input_gets": [ - "Get(MaybeAddress, AddressInput, ..)", - "Get(Address, AddressInput, ..)", - "Get(WrappedTarget, WrappedTargetRequest, ..)" + "Get(Digest, PathGlobs, ..)" ], - "input_types": ["UnparsedAddressInputs", "SubprojectRoots"], - "name": "pants.engine.internals.graph.resolve_unparsed_address_inputs", - "output_type": "Addresses", - "provider": "pants.backend.experimental.go" + "input_types": [ + "CoarsenedTargets", + "JvmSubsystem" + ], + "name": "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets", + "output_type": "CoursierResolveKey", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.target_types_to_generate_targets_requests": { + "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["UnionMembership"], - "name": "pants.engine.internals.graph.target_types_to_generate_targets_requests", - "output_type": "TargetTypesToGenerateTargetsRequests", - "provider": "pants.backend.experimental.go" + "input_types": [ + "BashBinary", + "Coursier", + "CoursierFetchProcess" + ], + "name": "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper", + "output_type": "Process", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.transitive_dependency_mapping": { + "pants.jvm.resolve.coursier_setup.setup_coursier": { "description": null, - "documentation": "This uses iteration, rather than recursion, so that we can tolerate dependency cycles.\n\nUnlike a traditional BFS algorithm, we batch each round of traversals via `MultiGet` for\nimproved performance / concurrency.", + "documentation": null, "input_gets": [ - "Get(UnexpandedTargets, Addresses, ..)", - "Get(Targets, DependenciesRequest, ..)", - "Get(UnexpandedTargets, DependenciesRequest, ..)" + "Get(DownloadedExternalTool, ExternalToolRequest, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(Digest, MergeDigests, ..)" ], - "input_types": ["_DependencyMappingRequest"], - "name": "pants.engine.internals.graph.transitive_dependency_mapping", - "output_type": "_DependencyMapping", - "provider": "pants.backend.experimental.go" + "input_types": [ + "CoursierSubsystem", + "PythonBuildStandaloneBinary", + "Platform" + ], + "name": "pants.jvm.resolve.coursier_setup.setup_coursier", + "output_type": "Coursier", + "provider": "pants.backend.experimental.java" }, - "pants.engine.internals.graph.transitive_targets": { - "description": "Resolve transitive targets", - "documentation": "Find all the targets transitively depended upon by the target roots.", + "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile": { + "description": null, + "documentation": null, "input_gets": [ - "Get(_DependencyMapping, _DependencyMappingRequest, ..)", - "Get(Addresses, UnparsedAddressInputs, ..)", - "Get(TransitivelyExcludeDependencies, {TransitivelyExcludeDependenciesRequest: .., EnvironmentName: ..})", + "Get(Address, AddressInput, ..)", "Get(Targets, Addresses, ..)" ], "input_types": [ - "TransitiveTargetsRequest", - "ChosenLocalEnvironmentName", - "UnionMembership" + "GatherJvmCoordinatesRequest" ], - "name": "pants.engine.internals.graph.transitive_targets", - "output_type": "TransitiveTargets", - "provider": "pants.backend.experimental.go" + "name": "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile", + "output_type": "ArtifactRequirements", + "provider": "pants.backend.experimental.java" }, - "pants.engine.process.fallible_to_exec_result_or_raise": { + "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool": { "description": null, - "documentation": "Converts a FallibleProcessResult to a ProcessResult or raises an error.", - "input_gets": [], + "documentation": null, + "input_gets": [ + "Get(ArtifactRequirements, GatherJvmCoordinatesRequest, ..)" + ], "input_types": [ - "FallibleProcessResult", - "ProductDescription", - "KeepSandboxes" + "GenerateJvmLockfileFromTool" ], - "name": "pants.engine.process.fallible_to_exec_result_or_raise", - "output_type": "ProcessResult", - "provider": "pants.backend.experimental.helm" + "name": "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool", + "output_type": "GenerateJvmLockfile", + "provider": "pants.backend.experimental.java" }, - "pants.engine.process.get_multi_platform_request_description": { - "description": null, + "pants.jvm.resources.assemble_resources_jar": { + "description": "Assemble resources", "documentation": null, - "input_gets": [], - "input_types": ["Process"], - "name": "pants.engine.process.get_multi_platform_request_description", - "output_type": "ProductDescription", - "provider": "pants.backend.experimental.helm" + "input_gets": [ + "Get(FallibleClasspathEntries, ClasspathEntryRequests, ..)", + "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)", + "Get(StrippedSourceFiles, SourceFilesRequest, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Digest, MergeDigests, ..)" + ], + "input_types": [ + "ZipBinary", + "BashBinary", + "TouchBinary", + "JvmSubsystem", + "JvmResourcesRequest" + ], + "name": "pants.jvm.resources.assemble_resources_jar", + "output_type": "FallibleClasspathEntry", + "provider": "pants.backend.experimental.java" }, - "pants.engine.process.run_proc_with_retry": { + "pants.jvm.run.create_run_request": { "description": null, "documentation": null, - "input_gets": ["Get(FallibleProcessResult, Process, ..)"], - "input_types": ["ProcessWithRetries"], - "name": "pants.engine.process.run_proc_with_retry", - "output_type": "ProcessResultWithRetries", - "provider": "pants.backend.experimental.helm" + "input_gets": [ + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(CoarsenedTargets, Addresses, ..)", + "Get(Classpath, CoarsenedTargets, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(FallibleProcessResult, Process, ..)", + "Get(ProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Process, JvmProcess, ..)" + ], + "input_types": [ + "GenericJvmRunRequest", + "UnzipBinary" + ], + "name": "pants.jvm.run.create_run_request", + "output_type": "RunRequest", + "provider": "pants.backend.experimental.java" }, - "pants.goal.stats_aggregator.construct_callback": { + "pants.jvm.run_deploy_jar.create_deploy_jar_run_request": { "description": null, "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(BuiltPackage, DeployJarFieldSet, ..)", + "Get(Process, JvmProcess, ..)" + ], "input_types": [ - "StatsAggregatorCallbackFactoryRequest", - "StatsAggregatorSubsystem" + "DeployJarFieldSet" ], - "name": "pants.goal.stats_aggregator.construct_callback", - "output_type": "WorkunitsCallbackFactory", - "provider": "pants.core" + "name": "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", + "output_type": "RunRequest", + "provider": "pants.backend.experimental.java" }, - "pants.jvm.bsp.compile.notify_for_classpath_entry": { + "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request": { "description": null, "documentation": null, - "input_gets": ["Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)"], - "input_types": ["BSPClasspathEntryRequest", "BSPContext"], - "name": "pants.jvm.bsp.compile.notify_for_classpath_entry", - "output_type": "FallibleClasspathEntry", + "input_gets": [], + "input_types": [ + "JarJarGeneratorLockfileSentinel", + "JarJar" + ], + "name": "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", "provider": "pants.backend.experimental.java" }, - "pants.jvm.classpath.classpath": { - "description": null, + "pants.jvm.shading.rules.shade_jar": { + "description": "Applies shading rules to a JAR file", "documentation": null, "input_gets": [ - "Get(CoursierResolveKey, CoarsenedTargets, ..)", - "Get(ClasspathEntry, ClasspathEntryRequest, ..)" + "Get(GenerateJvmLockfileFromTool, JarJarGeneratorLockfileSentinel, ..)", + "Get(Digest, CreateDigest, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)", + "Get(Digest, AddPrefix, ..)" ], - "input_types": ["CoarsenedTargets", "ClasspathEntryRequestFactory"], - "name": "pants.jvm.classpath.classpath", - "output_type": "Classpath", + "input_types": [ + "ShadeJarRequest", + "InternalJdk", + "JarJar" + ], + "name": "pants.jvm.shading.rules.shade_jar", + "output_type": "ShadedJar", "provider": "pants.backend.experimental.java" }, - "pants.jvm.classpath.loose_classfiles": { + "pants.jvm.strip_jar.strip_jar.build_processors": { "description": null, "documentation": null, "input_gets": [ - "Get(ProcessResult, Process, ..)", + "Get(GenerateJvmLockfileFromTool, StripJarToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, CreateDigest, ..)", "Get(Digest, MergeDigests, ..)", + "Get(ProcessResult, JvmProcess, ..)", "Get(Digest, RemovePrefix, ..)" ], - "input_types": ["ClasspathEntry", "UnzipBinary"], - "name": "pants.jvm.classpath.loose_classfiles", - "output_type": "LooseClassfiles", + "input_types": [ + "InternalJdk" + ], + "name": "pants.jvm.strip_jar.strip_jar.build_processors", + "output_type": "StripJarCompiledClassfiles", "provider": "pants.backend.experimental.java" }, - "pants.jvm.compile.calculate_jvm_request_types": { + "pants.jvm.strip_jar.strip_jar.generate_strip_jar_lockfile_request": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["UnionMembership"], - "name": "pants.jvm.compile.calculate_jvm_request_types", - "output_type": "ClasspathEntryRequestFactory", + "input_types": [ + "StripJarToolLockfileSentinel" + ], + "name": "pants.jvm.strip_jar.strip_jar.generate_strip_jar_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", "provider": "pants.backend.experimental.java" }, - "pants.jvm.compile.classpath_dependency_requests": { + "pants.jvm.strip_jar.strip_jar.strip_jar": { "description": null, "documentation": null, - "input_gets": [], + "input_gets": [ + "Get(GenerateJvmLockfileFromTool, StripJarToolLockfileSentinel, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(Digest, AddPrefix, ..)", + "Get(ProcessResult, JvmProcess, ..)", + "Get(Digest, RemovePrefix, ..)" + ], "input_types": [ - "ClasspathEntryRequestFactory", - "ClasspathDependenciesRequest" + "StripJarCompiledClassfiles", + "InternalJdk", + "StripJarRequest" ], - "name": "pants.jvm.compile.classpath_dependency_requests", - "output_type": "ClasspathEntryRequests", + "name": "pants.jvm.strip_jar.strip_jar.strip_jar", + "output_type": "Digest", "provider": "pants.backend.experimental.java" }, - "pants.jvm.compile.compile_classpath_entries": { + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet": { "description": null, "documentation": null, - "input_gets": ["Get(FallibleClasspathEntry, ClasspathEntryRequest, ..)"], - "input_types": ["ClasspathEntryRequests"], - "name": "pants.jvm.compile.compile_classpath_entries", - "output_type": "FallibleClasspathEntries", + "input_gets": [ + "Get(RunRequest, GenericJvmRunRequest, ..)" + ], + "input_types": [ + "JavaFieldSet" + ], + "name": "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet", + "output_type": "RunRequest", "provider": "pants.backend.experimental.java" }, - "pants.jvm.compile.required_classfiles": { + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["FallibleClasspathEntry"], - "name": "pants.jvm.compile.required_classfiles", - "output_type": "ClasspathEntry", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping": { - "description": null, - "documentation": "Implements the mapping logic from the `jvm_artifact` and `java-infer` help.", - "input_gets": [], + "input_gets": [ + "Get(RunRequest, GenericJvmRunRequest, ..)" + ], "input_types": [ - "JavaInferSubsystem", - "AvailableThirdPartyArtifacts", - "AllJvmTypeProvidingTargets" + "JvmArtifactFieldSet" ], - "name": "pants.jvm.dependency_inference.artifact_mapper.compute_java_third_party_symbol_mapping", - "output_type": "ThirdPartySymbolMapping", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_artifact_targets": { - "description": "Find all jvm_artifact targets in project", - "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_artifact_targets", - "output_type": "AllJvmArtifactTargets", + "name": "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet", + "output_type": "RunRequest", "provider": "pants.backend.experimental.java" }, - "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_provides_fields": { - "description": "Find all targets with experimental_provides fields in project", + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet": { + "description": null, "documentation": null, - "input_gets": [], - "input_types": ["AllTargets"], - "name": "pants.jvm.dependency_inference.artifact_mapper.find_all_jvm_provides_fields", - "output_type": "AllJvmTypeProvidingTargets", - "provider": "pants.backend.experimental.java" + "input_gets": [ + "Get(RunRequest, GenericJvmRunRequest, ..)" + ], + "input_types": [ + "KotlinFieldSet" + ], + "name": "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet", + "output_type": "RunRequest", + "provider": "pants.backend.experimental.kotlin" }, - "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts": { + "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["AllJvmArtifactTargets", "JvmSubsystem"], - "name": "pants.jvm.dependency_inference.artifact_mapper.find_available_third_party_artifacts", - "output_type": "AvailableThirdPartyArtifacts", - "provider": "pants.backend.experimental.java" + "input_gets": [ + "Get(RunRequest, GenericJvmRunRequest, ..)" + ], + "input_types": [ + "ScalaFieldSet" + ], + "name": "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet", + "output_type": "RunRequest", + "provider": "pants.backend.experimental.scala" }, - "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings": { + "pants.jvm.target_types.jvm_resolve_field_default_factory": { "description": null, "documentation": null, - "input_gets": ["Get(SymbolMap, FirstPartyMappingRequest, ..)"], + "input_gets": [], "input_types": [ - "UnionMembership", - "AllJvmTypeProvidingTargets", - "JvmSubsystem", - "ThirdPartySymbolMapping" + "JvmResolveFieldDefaultFactoryRequest", + "JvmSubsystem" ], - "name": "pants.jvm.dependency_inference.symbol_mapper.merge_symbol_mappings", - "output_type": "SymbolMapping", + "name": "pants.jvm.target_types.jvm_resolve_field_default_factory", + "output_type": "FieldDefaultFactoryResult", "provider": "pants.backend.experimental.java" }, - "pants.jvm.goals.lockfile.determine_jvm_user_resolves": { + "pants.jvm.test.junit.generate_junit_lockfile_request": { "description": null, "documentation": null, "input_gets": [], - "input_types": ["KnownJVMUserResolveNamesRequest", "JvmSubsystem"], - "name": "pants.jvm.goals.lockfile.determine_jvm_user_resolves", - "output_type": "KnownUserResolveNames", + "input_types": [ + "JunitToolLockfileSentinel", + "JUnit" + ], + "name": "pants.jvm.test.junit.generate_junit_lockfile_request", + "output_type": "GenerateJvmLockfileFromTool", "provider": "pants.backend.experimental.java" }, - "pants.jvm.goals.lockfile.generate_jvm_lockfile": { - "description": "Generate JVM lockfile", + "pants.jvm.test.junit.run_junit_test": { + "description": "Run JUnit", "documentation": null, "input_gets": [ - "Get(CoursierResolvedLockfile, ArtifactRequirements, ..)", - "Get(Digest, CreateDigest, ..)" + "Get(TestSetup, TestSetupRequest, ..)", + "Get(FallibleProcessResult, JvmProcess, ..)", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, RemovePrefix, ..)" + ], + "input_types": [ + "TestSubsystem", + "Batch" ], - "input_types": ["GenerateJvmLockfile", "GenerateLockfilesSubsystem"], - "name": "pants.jvm.goals.lockfile.generate_jvm_lockfile", - "output_type": "GenerateLockfileResult", + "name": "pants.jvm.test.junit.run_junit_test", + "output_type": "TestResult", "provider": "pants.backend.experimental.java" }, - "pants.jvm.goals.lockfile.setup_user_lockfile_requests": { + "pants.jvm.test.junit.setup_junit_debug_request": { "description": null, "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfile, _ValidateJvmArtifactsRequest, ..)" + "Get(TestSetup, TestSetupRequest, ..)", + "Get(Process, JvmProcess, ..)" ], "input_types": [ - "RequestedJVMUserResolveNames", - "AllTargets", - "JvmSubsystem" + "Batch" ], - "name": "pants.jvm.goals.lockfile.setup_user_lockfile_requests", - "output_type": "UserGenerateLockfiles", + "name": "pants.jvm.test.junit.setup_junit_debug_request", + "output_type": "TestDebugRequest", "provider": "pants.backend.experimental.java" }, - "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve": { + "pants.jvm.test.junit.setup_junit_for_target": { "description": null, "documentation": null, "input_gets": [ - "Get(ValidateJvmArtifactsForResolveResult, ValidateJvmArtifactsForResolveRequest, ..)" + "Get(JdkEnvironment, JdkRequest, ..)", + "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", + "Get(GenerateJvmLockfileFromTool, JunitToolLockfileSentinel, ..)", + "Get(Classpath, Addresses, ..)", + "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(SourceFiles, SourceFilesRequest, ..)", + "Get(Digest, MergeDigests, ..)", + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], "input_types": [ - "_ValidateJvmArtifactsRequest", - "UnionMembership", - "JvmSubsystem" + "TestSetupRequest", + "JvmSubsystem", + "JUnit", + "TestSubsystem", + "TestExtraEnv" ], - "name": "pants.jvm.goals.lockfile.validate_jvm_artifacts_for_resolve", - "output_type": "GenerateJvmLockfile", + "name": "pants.jvm.test.junit.setup_junit_for_target", + "output_type": "TestSetup", "provider": "pants.backend.experimental.java" }, - "pants.jvm.goals.lockfile.wrap_jvm_lockfile_request": { + "pants.jvm.util_rules.digest_to_file_digest": { "description": null, "documentation": null, - "input_gets": [], - "input_types": ["GenerateJvmLockfile"], - "name": "pants.jvm.goals.lockfile.wrap_jvm_lockfile_request", - "output_type": "WrappedGenerateLockfile", + "input_gets": [ + "Get(Digest, DigestSubset, ..)", + "Get(DigestEntries, Digest, ..)" + ], + "input_types": [ + "ExtractFileDigest" + ], + "name": "pants.jvm.util_rules.digest_to_file_digest", + "output_type": "FileDigest", "provider": "pants.backend.experimental.java" }, - "pants.jvm.jar_tool.jar_tool.build_jar_tool": { - "description": null, + "pants.source.source_root.all_roots": { + "description": "Compute all source roots", "documentation": null, "input_gets": [ - "Get(GenerateJvmLockfileFromTool, JarToolGenerateLockfileSentinel, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(DigestEntries, Digest, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(Paths, PathGlobs, ..)", + "Get(OptionalSourceRoot, SourceRootRequest, ..)" ], - "input_types": ["InternalJdk"], - "name": "pants.jvm.jar_tool.jar_tool.build_jar_tool", - "output_type": "JarToolCompiledClassfiles", - "provider": "pants.backend.experimental.java" + "input_types": [ + "SourceRootConfig" + ], + "name": "pants.source.source_root.all_roots", + "output_type": "AllSourceRoots", + "provider": "pants.core" }, - "pants.jvm.jar_tool.jar_tool.generate_jartool_lockfile_request": { + "pants.source.source_root.get_optional_source_root": { "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["JarToolGenerateLockfileSentinel"], - "name": "pants.jvm.jar_tool.jar_tool.generate_jartool_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.java" + "documentation": "Rule to request a SourceRoot that may not exist.", + "input_gets": [ + "Get(Paths, PathGlobs, ..)", + "Get(OptionalSourceRoot, SourceRootRequest, ..)" + ], + "input_types": [ + "SourceRootRequest", + "SourceRootConfig" + ], + "name": "pants.source.source_root.get_optional_source_root", + "output_type": "OptionalSourceRoot", + "provider": "pants.core" }, - "pants.jvm.jar_tool.jar_tool.run_jar_tool": { + "pants.source.source_root.get_optional_source_roots": { "description": null, - "documentation": null, + "documentation": "Rule to request source roots that may not exist.", "input_gets": [ - "Get(GenerateJvmLockfileFromTool, JarToolGenerateLockfileSentinel, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "Get(OptionalSourceRoot, SourceRootRequest, ..)" ], "input_types": [ - "JarToolRequest", - "InternalJdk", - "JarToolCompiledClassfiles" + "SourceRootsRequest" ], - "name": "pants.jvm.jar_tool.jar_tool.run_jar_tool", - "output_type": "Digest", - "provider": "pants.backend.experimental.java" + "name": "pants.source.source_root.get_optional_source_roots", + "output_type": "OptionalSourceRootsResult", + "provider": "pants.core" }, - "pants.jvm.jdk_rules.fetch_nailgun": { + "pants.source.source_root.get_source_root": { "description": null, - "documentation": null, - "input_gets": ["Get(ClasspathEntry, CoursierLockfileEntry, ..)"], - "input_types": [], - "name": "pants.jvm.jdk_rules.fetch_nailgun", - "output_type": "Nailgun", - "provider": "pants.backend.experimental.java" + "documentation": "Convenience rule to allow callers to request a SourceRoot directly.\n\nThat way callers don't have to unpack an OptionalSourceRoot if they know they expect a\nSourceRoot to exist and are willing to error if it doesn't.", + "input_gets": [ + "Get(OptionalSourceRoot, SourceRootRequest, ..)" + ], + "input_types": [ + "SourceRootRequest" + ], + "name": "pants.source.source_root.get_source_root", + "output_type": "SourceRoot", + "provider": "pants.core" }, - "pants.jvm.jdk_rules.internal_jdk": { + "pants.source.source_root.get_source_roots": { "description": null, - "documentation": "Creates a `JdkEnvironment` object based on the JVM subsystem options.\n\nThis is used for providing a predictable JDK version for Pants' internal usage rather than for\nmatching compatibility with source files (e.g. compilation/testing).", - "input_gets": ["Get(JdkEnvironment, JdkRequest, ..)"], - "input_types": ["JvmSubsystem"], - "name": "pants.jvm.jdk_rules.internal_jdk", - "output_type": "InternalJdk", - "provider": "pants.backend.experimental.java" + "documentation": "Convenience rule to allow callers to request SourceRoots that must exist.\n\nThat way callers don't have to unpack OptionalSourceRoots if they know they expect a SourceRoot\nto exist and are willing to error if it doesn't.", + "input_gets": [ + "Get(OptionalSourceRootsResult, SourceRootsRequest, ..)" + ], + "input_types": [ + "SourceRootsRequest" + ], + "name": "pants.source.source_root.get_source_roots", + "output_type": "SourceRootsResult", + "provider": "pants.core" }, - "pants.jvm.jdk_rules.jvm_process": { + "pants.vcs.git.get_git_worktree": { "description": null, "documentation": null, "input_gets": [], "input_types": [ - "BashBinary", - "JvmProcess", - "JvmSubsystem", - "GlobalOptions" + "GitWorktreeRequest", + "MaybeGitBinary" ], - "name": "pants.jvm.jdk_rules.jvm_process", - "output_type": "Process", - "provider": "pants.backend.experimental.java" + "name": "pants.vcs.git.get_git_worktree", + "output_type": "MaybeGitWorktree", + "provider": "pants.core" + } + }, + "name_to_target_type_info": { + "_generator_sources_helper": { + "alias": "_generator_sources_helper", + "description": "A private helper target type used by some target generators.\n\nThis tracks their `source` / `sources` field so that `--changed-since --changed-dependents` works properly for generated targets.", + "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 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.python", + "summary": "A private helper target type used by some target generators." }, - "pants.jvm.jdk_rules.prepare_jdk_environment": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(FallibleProcessResult, Process, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)" + "_lockfile": { + "alias": "_lockfile", + "description": "A target for lockfiles in order to include them in the dependency graph of other targets.\n\nThis tracks them so that `--changed-since --changed-dependents` works properly for targets relying on a particular lockfile.", + "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 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": "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/v2.19/docs/targets 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" + } ], - "input_types": [ - "JvmSubsystem", - "EnvironmentAware", - "Coursier", - "Nailgun", - "BashBinary", - "JdkRequest", - "EnvironmentTarget" + "provider": "pants.core", + "summary": "A target for lockfiles in order to include them in the dependency graph of other targets." + }, + "_lockfiles": { + "alias": "_lockfiles", + "description": "Generate a `_lockfile` 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": null, + "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=['example.lock']`", + "provider": "", + "required": false, + "type_hint": "Iterable[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/v2.19/docs/targets 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.core", + "summary": "Generate a `_lockfile` target for each file in the `sources` field." + }, + "_pyenv_install": { + "alias": "_pyenv_install", + "description": "", + "fields": [], + "provider": "pants.backend.python.providers.experimental.pyenv.custom_install", + "summary": "" + }, + "adhoc_tool": { + "alias": "adhoc_tool", + "description": "Execute any runnable target for its side effects.\n\nExample BUILD file:\n\n adhoc_tool(\n runnable=\":python_source\",\n args=[\"\"],\n execution_dependencies=[\":scripts\"],\n output_directories=[\"results/\"],\n output_files=[\"logs/my-script.log\"],\n )\n\n shell_sources(name=\"scripts\")", + "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": "runnable", + "default": null, + "description": "Address to a target that can be invoked by the `run` goal (and does not set `run_in_sandbox_behavior=NOT_SUPPORTED`). This will be executed along with any arguments specified by `args`, in a sandbox with that target's transitive dependencies, along with the transitive dependencies specified by `execution_dependencies`.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "args", + "default": "()", + "description": "Extra arguments to pass into the `runnable` field.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "execution_dependencies", + "default": null, + "description": "The execution dependencies for this command.\n\nDependencies specified here are those required to make the command complete successfully (e.g. file inputs, packages compiled from other targets, etc), but NOT required to make the outputs of the command useful. Dependencies that are required to use the outputs produced by this command should be specified using the `output_dependencies` field.\n\nIf this field is specified, dependencies from `output_dependencies` will not be added to the execution sandbox.\n\nSee also `output_dependencies` and `runnable_dependencies`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "output_dependencies", + "default": null, + "description": "Any dependencies that need to be present (as transitive dependencies) whenever the outputs of this target are consumed (including as dependencies).\n\nSee also `execution_dependencies` and `runnable_dependencies`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "runnable_dependencies", + "default": null, + "description": "The runnable dependencies for this command.\n\nDependencies specified here are those required to exist on the `PATH` to make the command complete successfully (interpreters specified in a `#!` command, etc). Note that these dependencies will be made available on the `PATH` with the name of the target.\n\nSee also `output_dependencies` and `execution_dependencies`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "log_output", + "default": "False", + "description": "Set to true if you want the output logged to the console.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "output_files", + "default": "()", + "description": "Specify the output files to capture, relative to the value of `workdir`.\n\nFor directories, use `output_directories`. At least one of `output_files` and`output_directories` must be specified.\n\nRelative paths (including `..`) may be used, as long as the path does not ascend further than the build root.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "output_directories", + "default": "()", + "description": "Specify full directories (including recursive descendants) of output to capture, relative to the value of `workdir`.\n\nFor individual files, use `output_files`. At least one of `output_files` and`output_directories` must be specified.\n\nRelative paths (including `..`) may be used, as long as the path does not ascend further than the build root.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "timeout", + "default": "30", + "description": "Command execution timeout (in seconds).", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "extra_env_vars", + "default": null, + "description": "Additional environment variables to provide to the process.\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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "workdir", + "default": "'.'", + "description": "Sets the working directory for the process.\n\nValues are relative to the build root, except in the following cases:\n\n* `.` specifies the location of the `BUILD` file.\n* Values beginning with `./` are relative to the location of the `BUILD` file.\n* `/` or the empty string specifies the build root.\n* Values beginning with `/` are also relative to the build root.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "root_output_directory", + "default": "'/'", + "description": "Adjusts the location of files output by this target, when consumed as a dependency.\n\nValues are relative to the build root, except in the following cases:\n\n * `.` specifies the location of the `BUILD` file.\n * Values beginning with `./` are relative to the location of the `BUILD` file.\n * `/` or the empty string specifies the build root.\n * Values beginning with `/` are also relative to the build root.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "stdout", + "default": null, + "description": "A filename to capture the contents of `stdout` to. Relative paths are relative to the value of `workdir`, absolute paths start at the build root.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "stderr", + "default": null, + "description": "A filename to capture the contents of `stderr` to. Relative paths are relative to the value of `workdir`, absolute paths start at the build root.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.adhoc", + "summary": "Execute any runnable target for its side effects." + }, + "archive": { + "alias": "archive", + "description": "A ZIP or TAR file containing loose files and code packages.", + "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": null, + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "packages", + "default": null, + "description": "Addresses to any targets that can be built with `pants package`, e.g. `[\"project:app\"]`.\n\nPants will build the assets as if you had run `pants package`. It will include the results in your archive using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_awslambda`, or even another `archive`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "files", + "default": null, + "description": "Addresses to any `file`, `files`, or `relocated_files` targets to include in the archive, e.g. `[\"resources:logo\"]`.\n\nThis is useful to include any loose files, like data files, image assets, or config files.\n\nThis will ignore any targets that are not `file`, `files`, or `relocated_files` targets.\n\nIf you instead want those files included in any packages specified in the `packages` field for this target, then use a `resource` or `resources` target and have the original package depend on the resources.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "format", + "default": null, + "description": "The type of archive file to be generated.", + "provider": "", + "required": true, + "type_hint": "'tar' | 'tar.bz2' | 'tar.gz' | 'tar.xz' | 'zip'" + } + ], + "provider": "pants.core", + "summary": "A ZIP or TAR file containing loose files and code packages." + }, + "avro_source": { + "alias": "avro_source", + "description": "A single Avro file used to generate various languages.\n\nSee https://www.pantsbuild.org/v2.19/docs/avro.", + "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/v2.19/docs/targets 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": "jvm_jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "pants.backend.experimental.codegen.avro.java", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "jvm_resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "pants.backend.experimental.codegen.avro.java", + "required": false, + "type_hint": "str | None" + } ], - "name": "pants.jvm.jdk_rules.prepare_jdk_environment", - "output_type": "JdkEnvironment", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.codegen.avro.java", + "summary": "A single Avro file used to generate various languages." }, - "pants.jvm.package.deploy_jar.deploy_jar_classpath": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)" + "avro_sources": { + "alias": "avro_sources", + "description": "Generate a `avro_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": "('*.avsc', '*.avpr', '*.avdl')", + "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=['example.avsc', 'new_*.avpr', '!old_ignore.avdl']`", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `avro_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 \"bar.proto\": {\"description\": \"our user model\"]},\n (\"foo.proto\", \"bar.proto\"): {\"tags\": [\"overridden\"]},\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 `avro_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": "jvm_jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "pants.backend.experimental.codegen.avro.java", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "jvm_resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "pants.backend.experimental.codegen.avro.java", + "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/v2.19/docs/targets 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" + } ], - "input_types": ["DeployJarClasspathEntryRequest"], - "name": "pants.jvm.package.deploy_jar.deploy_jar_classpath", - "output_type": "FallibleClasspathEntry", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.codegen.avro.java", + "summary": "Generate a `avro_source` target for each file in the `sources` field." }, - "pants.jvm.package.deploy_jar.package_deploy_jar": { - "description": null, - "documentation": "Constructs a deploy (\"fat\") JAR file by\n1. Resolving/compiling a Classpath for the `root_address` target,\n2. Creating a deploy jar with a valid ZIP index and deduplicated entries\n3. (optionally) Stripping the jar of all metadata that may cause it to be non-reproducible (https://reproducible-builds.org)\n4. (optionally) Apply shading rules to the bytecode inside the jar file", - "input_gets": [ - "Get(Classpath, Addresses, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, JarToolRequest, ..)", - "Get(Digest, StripJarRequest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(ShadedJar, ShadeJarRequest, ..)" + "cc_source": { + "alias": "cc_source", + "description": "A single C/C++ source file or header 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/v2.19/docs/targets 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": "skip_clang_format", + "default": "False", + "description": "If true, don't run clang-format on this target's code.", + "provider": "pants.backend.experimental.cc.lint.clangformat", + "required": false, + "type_hint": "bool" + } ], - "input_types": ["JvmSubsystem", "DeployJarFieldSet"], - "name": "pants.jvm.package.deploy_jar.package_deploy_jar", - "output_type": "BuiltPackage", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.cc", + "summary": "A single C/C++ source file or header file." }, - "pants.jvm.package.war.package_war": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(Classpath, DependenciesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(DigestEntries, Digest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(ShadedJar, ShadeJarRequest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(RenderedWarContent, RenderWarContentRequest, ..)", - "Get(RenderedWarDeploymentDescriptor, RenderWarDeploymentDescriptorRequest, ..)", - "Get(ProcessResult, Process, ..)" + "cc_sources": { + "alias": "cc_sources", + "description": "Generate a `cc_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": "('*.h', '*.hh', '*.hpp', '*.c', '*.cc', '*.cpp', '*.cxx')", + "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=['example.cpp', 'new_*.cc', '!old_ignore.cc']`", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_clang_format", + "default": "False", + "description": "If true, don't run clang-format on this target's code.", + "provider": "pants.backend.experimental.cc.lint.clangformat", + "required": false, + "type_hint": "bool" + }, + { + "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/v2.19/docs/targets 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" + } ], - "input_types": ["PackageWarFileFieldSet", "BashBinary", "ZipBinary"], - "name": "pants.jvm.package.war.package_war", - "output_type": "BuiltPackage", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.cc", + "summary": "Generate a `cc_source` target for each file in the `sources` field." }, - "pants.jvm.package.war.render_war_content": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(Addresses, UnparsedAddressInputs, ..)", - "Get(Targets, Addresses, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, AddPrefix, ..)" + "cue_package": { + "alias": "cue_package", + "description": "The `cue_package` target defines a CUE package. Within a module, CUE organizes files grouped by package. A package can be defined within the module or externally. Definitions and constraints can be split across files within a package, and even organized across directories.\n\nCUE docs: https://cuelang.org/docs/concepts/packages/", + "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": "('*.cue',)", + "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=['schema.cue', 'lib/**/*.cue']`", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "input_types": ["RenderWarContentRequest"], - "name": "pants.jvm.package.war.render_war_content", - "output_type": "RenderedWarContent", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.cue", + "summary": "The `cue_package` target defines a CUE package. Within a module, CUE organizes files grouped by package. A package can be defined within the module or externally. Definitions and constraints can be split across files within a package, and even organized across directories." }, - "pants.jvm.package.war.render_war_deployment_descriptor": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(HydratedSources, HydrateSourcesRequest, ..)", - "Get(DigestEntries, Digest, ..)", - "Get(Digest, CreateDigest, ..)" + "debian_package": { + "alias": "debian_package", + "description": "\"\n A Debian package containing an artifact.\n\n This will not install the package, only create a .deb file\n that you can then distribute and install, e.g. via dpkg.\n\n \"See https://www.pantsbuild.org/v2.19/docs/debian-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": null, + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "sources", + "default": null, + "description": "Paths that will be included in the package to be produced such as Debian metadata files. You must include a DEBIAN/control file.\n\nPaths are relative to the BUILD file's directory and all paths must belong to the same parent directory. For example, `sources=['dir/**']` is valid, but `sources=['top_level_file.txt']` and `sources=['dir1/*', 'dir2/*']` are not.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "symlinks", + "default": null, + "description": "Symlinks to create for each target being packaged.\n\nFor example, you could set symlinks={'command-name': 'entrypoint-name'}.", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "install_prefix", + "default": "'/opt'", + "description": "Absolute path to a directory where Debian package will be installed to.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "packages", + "default": null, + "description": "Addresses to any targets that can be built with `pants package`, e.g. `[\"project:app\"]`.\n\nPants will build the assets as if you had run `pants package`. It will include the results in your Debian package using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be uilt by `pants package`, e.g. a `pex_binary`, a `python_distribution`, or an `archive`.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + } ], - "input_types": ["RenderWarDeploymentDescriptorRequest"], - "name": "pants.jvm.package.war.render_war_deployment_descriptor", - "output_type": "RenderedWarDeploymentDescriptor", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.debian", + "summary": "\" A Debian package containing an artifact." }, - "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile": { - "description": null, - "documentation": "Fetch every artifact in a lockfile.", - "input_gets": ["Get(ClasspathEntry, CoursierLockfileEntry, ..)"], - "input_types": ["CoursierResolvedLockfile"], - "name": "pants.jvm.resolve.coursier_fetch.coursier_fetch_lockfile", - "output_type": "ResolvedClasspathEntries", - "provider": "pants.backend.experimental.java" + "deploy_jar": { + "alias": "deploy_jar", + "description": "A `jar` file with first and third-party code bundled for deploys.\n\nThe JAR will contain class files for both first-party code and third-party dependencies, all in a common directory structure.", + "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": "restartable", + "default": "False", + "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "output_path", + "default": null, + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "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/v2.19/docs/targets 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": "main", + "default": null, + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this JAR.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "duplicate_policy", + "default": "(duplicate_rule(pattern='^META-INF/services/', action='concat_text'), duplicate_rule(pattern='^META-INF/LICENSE', action='skip'))", + "description": "A list of the rules to apply when duplicate file entries are found in the final assembled JAR file.\n\nWhen defining a duplicate policy, just add `duplicate_rule` directives to this field as follows:\n\nExample:\n\n duplicate_policy=[\n duplicate_rule(pattern=\"^META-INF/services\", action=\"concat_text\"),\n duplicate_rule(pattern=\"^reference\\.conf\", action=\"concat_text\"),\n duplicate_rule(pattern=\"^org/apache/commons\", action=\"throw\"),\n ]\n\nWhere:\n\n* The `pattern` field is treated as a regular expression\n* The `action` field must be one of `['skip', 'replace', 'concat', 'concat_text', 'throw']`.\n\nNote that the order in which the rules are listed is relevant.", + "provider": "", + "required": false, + "type_hint": "Iterable[pants.jvm.target_types.DeployJarDuplicateRule] | None" + }, + { + "alias": "shading_rules", + "default": null, + "description": "Shading rules to be applied to the final JAR artifact.\n\nThere are 4 possible shading rules available, which are as follows:\n * `shading_relocate`: Relocates the classes under the given `package` into the new package name. The default target package is `__shaded_by_pants__` if none provided in the `into` parameter.\n * `shading_rename`: Renames all occurrences of the given `pattern` by the `replacement`.\n * `shading_zap`: Removes from the final artifact the occurrences of the `pattern`.\n * `shading_keep`: Keeps in the final artifact the occurrences of the `pattern` (and removes anything else).\n\nWhen defining shading rules, just add them in this field using the previously listed rule alias and passing along the required parameters.", + "provider": "", + "required": false, + "type_hint": "Iterable[pants.jvm.target_types.JvmShadingRule] | None" + }, + { + "alias": "exclude_files", + "default": null, + "description": "A list of patterns to exclude from the final jar.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } + ], + "provider": "pants.backend.experimental.java", + "summary": "A `jar` file with first and third-party code bundled for deploys." }, - "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord": { - "description": null, - "documentation": "Run `coursier fetch --intransitive` to fetch a single artifact.\n\nThis rule exists to permit efficient subsetting of a \"global\" classpath\nin the form of a lockfile. Callers can determine what subset of dependencies\nfrom the lockfile are needed for a given target, then request those\nlockfile entries individually.\n\nBy fetching only one entry at a time, we maximize our cache efficiency. If instead\nwe fetched the entire subset that the caller wanted, there would be a different cache\nkey for every possible subset.\n\nThis rule also guarantees exact reproducibility. If all caches have been\nremoved, `coursier fetch` will re-download the artifact, and this rule will\nconfirm that what was downloaded matches exactly (by content digest) what\nwas specified in the lockfile (what Coursier originally downloaded).", - "input_gets": [ - "Get(Targets, UnparsedAddressInputs, ..)", - "Get(CoursierResolveInfo, ArtifactRequirements, ..)", - "Get(ProcessResult, CoursierFetchProcess, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(FileDigest, ExtractFileDigest, ..)" + "docker_environment": { + "alias": "docker_environment", + "description": "Configuration of a Docker environment used for building your code.\n\nEnvironment configuration includes both Docker-specific information (including the image and platform choice), as well as environment-aware options (such as environment variables and search paths) used by Pants to execute processes in this Docker environment.\n\nTo use this environment, map this target's address with a memorable name in `[environments-preview].names`. You can then consume this environment by specifying the name in the `environment` field defined on other targets.\n\nBefore running Pants using this environment, if you are using Docker Desktop, make sure the option **Enable default Docker socket** is enabled, you can find it in **Docker Desktop Settings > Advanced** panel. That option tells Docker to create a socket at `/var/run/docker.sock` which Pants can use to communicate with Docker.", + "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": "image", + "default": null, + "description": "The docker image ID to use when this environment is loaded.\n\nThis value may be any image identifier that the local Docker installation can accept. This includes image names with or without tags (e.g. `centos6` or `centos6:latest`), or image names with an immutable digest (e.g. `centos@sha256:`).\n\nThe choice of image ID can affect the reproducibility of builds. Consider using an immutable digest if reproducibility is needed, but regularly ensure that the image is free of relevant bugs or security vulnerabilities.\n\nNote that in order to use an image as a `docker_environment` it must have a few tools: - `/bin/sh` - `/usr/bin/env` - `bash` - `tar`\n\nWhile most images will have these preinstalled, users of base images such as Distroless or scratch will need to bake these tools into the image themselves. All of these except `bash` are available via busybox.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "platform", + "default": null, + "description": "If set, Docker will always use the specified platform when pulling and running the image.\n\nIf unset, Pants will default to the CPU architecture of your local host machine. For example, if you are running on Apple Silicon, it will use `linux_arm64`, whereas running on Intel macOS will use `linux_x86_64`. This mirrors Docker's behavior when `--platform` is left off.", + "provider": "", + "required": false, + "type_hint": "'linux_arm64' | 'linux_x86_64' | 'macos_arm64' | 'macos_x86_64' | None" + }, + { + "alias": "fallback_environment", + "default": null, + "description": "The environment to fallback to when this Docker environment cannot be used because either the global option `--docker-execution` is false, or the field `platform` is not compatible with the local host's CPU architecture (this is only an issue when the local host is Linux; macOS is fine).\n\nMust be an environment name from the option `[environments-preview].names`, the special string `__local__` to use the relevant local environment, or the Python value `None` to error when this specific Docker environment cannot be used.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "golang_external_linker_binary_name", + "default": null, + "description": "Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "nodejs_executable_search_paths", + "default": null, + "description": "Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "go_generate_env_vars", + "default": null, + "description": "Overrides the default value from the option `[go-generate].env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_cgo_gxx_binary_name", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "golang_cgo_cxx_flags", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "python_native_code_cpp_flags", + "default": null, + "description": "Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "pex_executable_search_paths", + "default": null, + "description": "Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "apache_thrift_thrift_search_paths", + "default": null, + "description": "Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active.", + "provider": "pants.backend.codegen.thrift.apache.python", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "test_extra_env_vars", + "default": null, + "description": "Overrides the default value from the option `[test].extra_env_vars` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "system_binaries_system_binary_paths", + "default": null, + "description": "Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "docker_env_vars", + "default": null, + "description": "Overrides the default value from the option `[docker].env_vars` when this environment target is active.", + "provider": "pants.backend.docker", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "nodejs_search_path", + "default": null, + "description": "Overrides the default value from the option `[nodejs].search_path` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_cgo_fortran_binary_name", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "golang_cgo_fortran_flags", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_cgo_linker_flags", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_cgo_gcc_binary_name", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "pyenv_python_provider_installation_extra_env_vars", + "default": null, + "description": "Overrides the default value from the option `[pyenv-python-provider].installation_extra_env_vars` when this environment target is active.", + "provider": "pants.backend.python.providers.experimental.pyenv", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_go_search_paths", + "default": null, + "description": "Overrides the default value from the option `[golang].go_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "subprocess_environment_env_vars", + "default": null, + "description": "Overrides the default value from the option `[subprocess-environment].env_vars` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_cgo_c_flags", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "docker_executable_search_paths", + "default": null, + "description": "Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.docker", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "shell_setup_executable_search_paths", + "default": null, + "description": "Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.shell", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "python_native_code_ld_flags", + "default": null, + "description": "Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "python_bootstrap_names", + "default": null, + "description": "Overrides the default value from the option `[python-bootstrap].names` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_subprocess_env_vars", + "default": null, + "description": "Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "jvm_global_options", + "default": null, + "description": "Overrides the default value from the option `[jvm].global_options` when this environment target is active.", + "provider": "pants.backend.experimental.java", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "python_bootstrap_search_path", + "default": null, + "description": "Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "nodejs_corepack_env_vars", + "default": null, + "description": "Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_cgo_tool_search_paths", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "input_types": ["CoursierLockfileEntry"], - "name": "pants.jvm.resolve.coursier_fetch.coursier_fetch_one_coord", - "output_type": "ClasspathEntry", - "provider": "pants.backend.experimental.java" + "provider": "pants.core", + "summary": "Configuration of a Docker environment used for building your code." }, - "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile": { - "description": null, - "documentation": "Run `coursier fetch ...` against a list of Maven coordinates and capture the result.\n\nThis rule does two things in a single Process invocation:\n\n * Runs `coursier fetch` to let Coursier do the heavy lifting of resolving\n dependencies and downloading resolved artifacts (jars, etc).\n * Copies the resolved artifacts into the Process output directory, capturing\n the artifacts as content-addressed `Digest`s.\n\nIt's important that this happens in the same process, since the process isn't\nguaranteed to run on the same machine as the rule, nor is a subsequent process\ninvocation. This guarantees that whatever Coursier resolved, it was fully\ncaptured into Pants' content addressed artifact storage.\n\nNote however that we still get the benefit of Coursier's \"global\" cache if it\nhad already been run on the machine where the `coursier fetch` runs, so rerunning\n`coursier fetch` tends to be fast in practice.\n\nFinally, this rule bundles up the result into a `CoursierResolvedLockfile`. This\ndata structure encapsulates everything necessary to either materialize the\nresolved dependencies to a classpath for Java invocations, or to write the\nlockfile out to the workspace to hermetically freeze the result of the resolve.", - "input_gets": [ - "Get(CoursierResolveInfo, ArtifactRequirements, ..)", - "Get(ProcessResult, CoursierFetchProcess, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(DigestContents, Digest, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(FileDigest, ExtractFileDigest, ..)" + "docker_image": { + "alias": "docker_image", + "description": "The `docker_image` target describes how to build and tag a Docker image.\n\nAny dependencies, as inferred or explicitly specified, will be included in the Docker build context, after being packaged if applicable.\n\nBy default, it will use a Dockerfile from the same directory as the BUILD file this target is defined in. Point at another file with the `source` field, or use the `instructions` field to have the Dockerfile contents verbatim directly in the BUILD file.\n\nDependencies on upstream/base images defined by another `docker_image` are inferred if referenced by a build argument with a default value of the target address.\n\nExample:\n\n # src/docker/downstream/Dockerfile\n ARG BASE=src/docker/upstream:image\n FROM $BASE\n ...", + "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": "extra_build_args", + "default": "()", + "description": "Build arguments (`--build-arg`) to use when building this image. Entries are either strings in the form `ARG_NAME=value` to set an explicit value; or just `ARG_NAME` to copy the value from Pants's own environment.\n\nUse `[docker].build_args` to set default build args for all images.", + "provider": "", + "required": false, + "type_hint": "Iterable[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/v2.19/docs/targets 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": "'Dockerfile'", + "description": "The Dockerfile to use when building the Docker image.\n\nUse the `instructions` field instead if you prefer not having the Dockerfile in your source tree.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "instructions", + "default": null, + "description": "The `Dockerfile` content, typically one instruction per list item.\n\nUse the `source` field instead if you prefer having the Dockerfile in your source tree.\n\nExample:\n\n # example/BUILD\n docker_image(\n instructions=[\n \"FROM base/image:1.0\",\n \"RUN echo example\",\n ],\n )", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "context_root", + "default": null, + "description": "Specify which directory to use as the Docker build context root. This affects the file paths to use for the `COPY` and `ADD` instructions. For example, whether `COPY files/f.txt` should look for the file relative to the build root: `/files/f.txt` vs relative to the BUILD file: `/path_to_build_file/files/f.txt`.\n\nSpecify the `context_root` path as `files` for relative to build root, or as `./files` for relative to the BUILD file.\n\nIf `context_root` is not specified, it defaults to `[docker].default_context_root`.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "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/v2.19/docs/tagging-docker-images.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "registries", + "default": "('',)", + "description": "List of addresses or configured aliases to any Docker registries to use for the built image.\n\nThe address is a domain name with optional port for your registry, and any registry aliases are prefixed with `@` for addresses in the `[docker].registries` configuration section.\n\nBy default, all configured registries with `default = true` are used.\n\nExample:\n\n # pants.toml\n [docker.registries.my-registry-alias]\n address = \"myregistrydomain:port\"\n default = false # optional\n\n # example/BUILD\n docker_image(\n registries = [\n \"@my-registry-alias\",\n \"myregistrydomain:port\",\n ],\n )\n\nThe above example shows two valid `registry` options: using an alias to a configured registry and the address to a registry verbatim in the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "repository", + "default": null, + "description": "The repository name for the Docker image. e.g. `\"/\"`.\n\nIt uses the `[docker].default_repository` by default.\n\nRepository 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\nAdditional placeholders for the repository field are: `name`, `directory`, `parent_directory`, and `default_repository`.\n\nRegistries may also configure the repository value for specific registries.\n\nSee the documentation for `[docker].default_repository` for more information.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "image_labels", + "default": null, + "description": "Provide image metadata.\n\nLabel value 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 [Docker labels](https://docs.docker.com/config/labels-custom-metadata/#manage-labels-on-objects) for more information.", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "extra_build_hosts", + "default": null, + "description": "Extra hosts entries to be added to a container's `/etc/hosts` file.\n\nUse `[docker].build_hosts` to set default host entries for all images.", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "secrets", + "default": null, + "description": "Secret files to expose to the build (only if BuildKit enabled).\n\nSecrets may use absolute paths, or paths relative to your build root, or the BUILD file if prefixed with `./`. Paths to your home directory will be automatically expanded. The id should be valid as used by the Docker build `--secret` option. See [Docker secrets](https://docs.docker.com/engine/swarm/secrets/) for more information.\n\nExample:\n\n docker_image(\n secrets={\n \"mysecret\": \"/var/secrets/some-secret\",\n \"repo-secret\": \"src/proj/secrets/some-secret\",\n \"home-dir-secret\": \"~/.config/some-secret\",\n \"target-secret\": \"./secrets/some-secret\",\n }\n )", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "ssh", + "default": "()", + "description": "SSH agent socket or keys to expose to the build (only if BuildKit enabled) (format: `default|[=|[,]]`)\n\nThe exposed agent and/or keys can then be used in your `Dockerfile` by mounting them in your `RUN` instructions:\n\n RUN --mount=type=ssh ...\n\nSee [Docker documentation](https://docs.docker.com/develop/develop-images/build_enhancements/#using-ssh-to-access-private-data-in-builds) for more information.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_push", + "default": "False", + "description": "If true, do not push this image to registries when running `pants publish`.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "target_stage", + "default": null, + "description": "Specify target build stage, rather than building the entire `Dockerfile`.\n\nWhen using multi-stage build, you may name your stages, and can target them when building to only selectively build a certain stage. See also the `--docker-build-target-stage` option.\n\nRead more about [multi-stage Docker builds](https://docs.docker.com/develop/develop-images/multistage-build/#stop-at-a-specific-build-stage)", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "pull", + "default": "False", + "description": "If true, then docker will always attempt to pull a newer version of the image.\n\nNOTE: This option cannot be used on images that build off of \"transitive\" base images referenced by address (i.e. `FROM path/to/your/base/Dockerfile`).", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "squash", + "default": "False", + "description": "If true, then docker will squash newly built layers into a single new layer.\n\nNote that this option is only supported on a Docker daemon with experimental features enabled.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "build_network", + "default": null, + "description": "Sets the networking mode for the run commands during build. Supported standard values are: bridge, host, none, and container:. Any other value is taken as a custom network's name to which the container should connect to.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "build_platform", + "default": null, + "description": "Set the target platform(s) for the build.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "cache_to", + "default": null, + "description": "Export image build cache to an external cache destination.\n\nThis option requires BuildKit to be enabled via the Docker subsystem options.\n\nExample:\n\n docker_image(\n name=\"example-local-cache-backend\",\n cache_to={\n \"type\": \"local\",\n \"dest\": \"/tmp/docker-cache/example\"\n },\n cache_from={\n \"type\": \"local\",\n \"src\": \"/tmp/docker-cache/example\"\n }\n )\n\nValues may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args.", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "cache_from", + "default": null, + "description": "Use an external cache source when building the image.\n\nThis option requires BuildKit to be enabled via the Docker subsystem options.\n\nExample:\n\n docker_image(\n name=\"example-local-cache-backend\",\n cache_to={\n \"type\": \"local\",\n \"dest\": \"/tmp/docker-cache/example\"\n },\n cache_from={\n \"type\": \"local\",\n \"src\": \"/tmp/docker-cache/example\"\n }\n )\n\nValues may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args.", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "output", + "default": "FrozenDict({'type': 'docker'})", + "description": "Sets the export action for the build result.\n\nThis option requires BuildKit to be enabled via the Docker subsystem options.\n\nWhen using `pants publish` to publish Docker images to a registry, the output type must be 'docker', as `publish` expects that the built images exist in the local image store.\n\nValues may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args.", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "output_path", + "default": null, + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "restartable", + "default": "False", + "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "skip_hadolint", + "default": "False", + "description": "If true, don't run hadolint on this target's Dockerfile.", + "provider": "pants.backend.docker.lint.hadolint", + "required": false, + "type_hint": "bool" + } ], - "input_types": ["ArtifactRequirements"], - "name": "pants.jvm.resolve.coursier_fetch.coursier_resolve_lockfile", - "output_type": "CoursierResolvedLockfile", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.docker", + "summary": "The `docker_image` target describes how to build and tag a Docker image." }, - "pants.jvm.resolve.coursier_fetch.fetch_with_coursier": { - "description": "Fetch with coursier", - "documentation": null, - "input_gets": [ - "Get(CoursierResolvedLockfile, CoursierResolveKey, ..)", - "Get(ClasspathEntry, CoursierLockfileEntry, ..)", - "Get(Digest, MergeDigests, ..)" + "experimental_test_shell_command": { + "alias": "experimental_test_shell_command", + "description": "Run a script as a test via the `test` goal, with all dependencies packaged/copied available in the chroot.\n\nExample BUILD file:\n\n experimental_test_shell_command(\n name=\"test\",\n tools=[\"test\"],\n command=\"test -r $CHROOT/some-data-file.txt\",\n execution_dependencies=[\"src/project/files:data\"],\n )\n\nThe `command` may use either `{chroot}` on the command line, or the `$CHROOT` environment variable to get the root directory for where any dependencies are located.\n\nIn contrast to the `run_shell_command`, this target is intended to run shell commands as tests and will only run them via the `test` goal.", + "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": "execution_dependencies", + "default": null, + "description": "The execution dependencies for this command.\n\nDependencies specified here are those required to make the command complete successfully (e.g. file inputs, packages compiled from other targets, etc), but NOT required to make the outputs of the command useful. Dependencies that are required to use the outputs produced by this command should be specified using the `output_dependencies` field.\n\nIf this field is specified, dependencies from `output_dependencies` will not be added to the execution sandbox.\n\nSee also `output_dependencies` and `runnable_dependencies`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "command", + "default": null, + "description": "Shell command to execute.\n\nThe command is executed as `'bash -c '` by default. If you want to invoke a binary use `exec -a $0 ` as the command so that the binary gets the correct `argv[0]` set.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "log_output", + "default": "False", + "description": "Set to true if you want the output logged to the console.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "timeout", + "default": "30", + "description": "Command execution timeout (in seconds).", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "tools", + "default": "()", + "description": "Specify required executable tools that might be used.\n\nOnly the tools explicitly provided will be available on the search PATH, and these tools must be found on the paths provided by `[shell-setup].executable_search_paths` (which defaults to the system PATH).", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "extra_env_vars", + "default": null, + "description": "Additional environment variables to provide to the process.\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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "skip_tests", + "default": "False", + "description": "If true, don't run this tests for target.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "workdir", + "default": "'.'", + "description": "Sets the working directory for the process.\n\nValues are relative to the build root, except in the following cases:\n\n* `.` specifies the location of the `BUILD` file.\n* Values beginning with `./` are relative to the location of the `BUILD` file.\n* `/` or the empty string specifies the build root.\n* Values beginning with `/` are also relative to the build root.", + "provider": "", + "required": false, + "type_hint": "str | None" + } ], - "input_types": ["CoursierFetchRequest"], - "name": "pants.jvm.resolve.coursier_fetch.fetch_with_coursier", - "output_type": "FallibleClasspathEntry", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve": { - "description": null, - "documentation": null, - "input_gets": ["Get(DigestContents, Digest, ..)"], - "input_types": ["CoursierResolveKey"], - "name": "pants.jvm.resolve.coursier_fetch.get_coursier_lockfile_for_resolve", - "output_type": "CoursierResolvedLockfile", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.shell", + "summary": "Run a script as a test via the `test` goal, with all dependencies packaged/copied available in the chroot." }, - "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(CoursierResolvedLockfile, ArtifactRequirements, ..)", - "Get(Snapshot, PathGlobs, ..)", - "Get(CoursierResolvedLockfile, CoursierResolveKey, ..)", - "Get(ArtifactRequirements, GatherJvmCoordinatesRequest, ..)", - "Get(ResolvedClasspathEntries, CoursierResolvedLockfile, ..)", - "Get(Snapshot, MergeDigests, ..)", - "Get(Snapshot, AddPrefix, ..)" + "experimental_wrap_as_go_package_sources": { + "alias": "experimental_wrap_as_go_package_sources", + "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `GoPackageSourcesField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .go, .s, .S, .sx, .c, .h, .hh, .hpp, .hxx, .cc, .cpp, .cxx, .m, .f, .F, .for, .f90, .syso\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", + "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": "inputs", + "default": null, + "description": "The input targets that are to be made available by this target.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "outputs", + "default": null, + "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "input_types": ["ToolClasspathRequest"], - "name": "pants.jvm.resolve.coursier_fetch.materialize_classpath_for_tool", - "output_type": "ToolClasspath", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.go", + "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `GoPackageSourcesField`." }, - "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(Digest, CreateDigest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)" + "experimental_wrap_as_java_sources": { + "alias": "experimental_wrap_as_java_sources", + "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `JavaSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .java\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", + "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": "inputs", + "default": null, + "description": "The input targets that are to be made available by this target.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "outputs", + "default": null, + "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "input_types": ["ArtifactRequirements"], - "name": "pants.jvm.resolve.coursier_fetch.prepare_coursier_resolve_info", - "output_type": "CoursierResolveInfo", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets": { - "description": null, - "documentation": "Selects and validates (transitively) a single resolve for a set of roots in a compile graph.\n\nIn most cases, a `CoursierResolveKey` should be requested for a single `CoarsenedTarget` root,\nwhich avoids coupling un-related roots unnecessarily. But in other cases, a single compatible\nresolve is required for multiple roots (such as when running a `repl` over unrelated code), and\nin that case there might be multiple CoarsenedTargets.", - "input_gets": ["Get(Digest, PathGlobs, ..)"], - "input_types": ["CoarsenedTargets", "JvmSubsystem"], - "name": "pants.jvm.resolve.coursier_fetch.select_coursier_resolve_for_targets", - "output_type": "CoursierResolveKey", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["BashBinary", "Coursier", "CoursierFetchProcess"], - "name": "pants.jvm.resolve.coursier_setup.invoke_coursier_wrapper", - "output_type": "Process", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.java", + "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `JavaSourceField`." }, - "pants.jvm.resolve.coursier_setup.setup_coursier": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)" - ], - "input_types": [ - "CoursierSubsystem", - "PythonBuildStandaloneBinary", - "Platform" + "experimental_wrap_as_kotlin_sources": { + "alias": "experimental_wrap_as_kotlin_sources", + "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `KotlinSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .kt\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", + "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": "inputs", + "default": null, + "description": "The input targets that are to be made available by this target.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "outputs", + "default": null, + "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "name": "pants.jvm.resolve.coursier_setup.setup_coursier", - "output_type": "Coursier", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.kotlin", + "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `KotlinSourceField`." }, - "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(Address, AddressInput, ..)", - "Get(Targets, Addresses, ..)" + "experimental_wrap_as_python_sources": { + "alias": "experimental_wrap_as_python_sources", + "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `PythonSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .py, .pyi\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", + "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": "inputs", + "default": null, + "description": "The input targets that are to be made available by this target.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "outputs", + "default": null, + "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "input_types": ["GatherJvmCoordinatesRequest"], - "name": "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile", - "output_type": "ArtifactRequirements", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.python", + "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `PythonSourceField`." }, - "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(ArtifactRequirements, GatherJvmCoordinatesRequest, ..)" + "experimental_wrap_as_resources": { + "alias": "experimental_wrap_as_resources", + "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ResourceSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files from `inputs` will be matched.\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", + "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": "inputs", + "default": null, + "description": "The input targets that are to be made available by this target.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "outputs", + "default": null, + "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "input_types": ["GenerateJvmLockfileFromTool"], - "name": "pants.jvm.resolve.jvm_tool.setup_lockfile_request_from_tool", - "output_type": "GenerateJvmLockfile", - "provider": "pants.backend.experimental.java" + "provider": "pants.core", + "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ResourceSourceField`." }, - "pants.jvm.resources.assemble_resources_jar": { - "description": "Assemble resources", - "documentation": null, - "input_gets": [ - "Get(FallibleClasspathEntries, ClasspathEntryRequests, ..)", - "Get(FallibleClasspathEntries, ClasspathDependenciesRequest, ..)", - "Get(StrippedSourceFiles, SourceFilesRequest, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Digest, MergeDigests, ..)" - ], - "input_types": [ - "ZipBinary", - "BashBinary", - "TouchBinary", - "JvmSubsystem", - "JvmResourcesRequest" + "experimental_wrap_as_scala_sources": { + "alias": "experimental_wrap_as_scala_sources", + "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ScalaSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .scala\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", + "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": "inputs", + "default": null, + "description": "The input targets that are to be made available by this target.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "outputs", + "default": null, + "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "name": "pants.jvm.resources.assemble_resources_jar", - "output_type": "FallibleClasspathEntry", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.scala", + "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ScalaSourceField`." }, - "pants.jvm.run.create_run_request": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(CoarsenedTargets, Addresses, ..)", - "Get(Classpath, CoarsenedTargets, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(FallibleProcessResult, Process, ..)", - "Get(ProcessResult, Process, ..)", - "Get(Snapshot, Digest, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Process, JvmProcess, ..)" + "file": { + "alias": "file", + "description": "A single loose file that lives outside of code packages.\n\nFiles are placed directly in archives, outside of code artifacts such as Python wheels or JVM JARs. The sources of a `file` target are accessed via filesystem APIs, such as Python's `open()`, via paths relative to the repository root.", + "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/v2.19/docs/targets 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": "The source of this target.\n\nIf a string is provided, represents a path that is relative to the BUILD file's directory, e.g. `source='example.ext'`.\n\nIf an `http_source` is provided, represents the network location to download the source from. The downloaded file will exist in the sandbox in the same directory as the target.\n\n`http_source` has the following signature:\n\n http_source(url: str, *, len: int, sha256: str, filename: str = \"\")\n\nThe filename defaults to the last part of the URL path (e.g. `example.ext`), but can also be specified if you wish to have control over the file name. You cannot, however, specify a path separator to download the file into a subdirectory (you must declare a target in desired subdirectory).\n\nYou can easily get the len and checksum with the following command:\n\n curl -L $URL | tee >(wc -c) >(shasum -a 256) >/dev/null\n\nIf a `per_platform` is provided, represents a mapping from platform to `http_source`, where the platform is one of (`linux_arm64`, `linux_x86_64`, `macos_arm64`, `macos_x86_64`) and is resolved in the execution target. Each `http_source` value MUST have the same filename provided.", + "provider": "", + "required": true, + "type_hint": "str | http_source | pants.core.target_types.per_platform[pants.core.target_types.http_source]" + } ], - "input_types": ["GenericJvmRunRequest", "UnzipBinary"], - "name": "pants.jvm.run.create_run_request", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.java" + "provider": "pants.core", + "summary": "A single loose file that lives outside of code packages." }, - "pants.jvm.run_deploy_jar.create_deploy_jar_run_request": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(BuiltPackage, DeployJarFieldSet, ..)", - "Get(Process, JvmProcess, ..)" + "files": { + "alias": "files", + "description": "Generate a `file` 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": null, + "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=['example.txt', 'new_*.md', '!old_ignore.csv']`", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `file` 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.json\": {\"description\": \"our customer model\"]},\n \"bar.json\": {\"description\": \"our product model\"]},\n (\"foo.json\", \"bar.json\"): {\"tags\": [\"overridden\"]},\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 `file` 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/v2.19/docs/targets 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" + } ], - "input_types": ["DeployJarFieldSet"], - "name": "pants.jvm.run_deploy_jar.create_deploy_jar_run_request", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["JarJarGeneratorLockfileSentinel", "JarJar"], - "name": "pants.jvm.shading.jarjar.generate_jarjar_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.java" + "provider": "pants.core", + "summary": "Generate a `file` target for each file in the `sources` field." }, - "pants.jvm.shading.rules.shade_jar": { - "description": "Applies shading rules to a JAR file", - "documentation": null, - "input_gets": [ - "Get(GenerateJvmLockfileFromTool, JarJarGeneratorLockfileSentinel, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)", - "Get(Digest, AddPrefix, ..)" + "go_binary": { + "alias": "go_binary", + "description": "A Go binary.", + "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": null, + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "main", + "default": null, + "description": "Address of the `go_package` with the `main` for this binary.\n\nIf not specified, will default to the `go_package` for the same directory as this target's BUILD file. You should usually rely on this default.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "cgo_enabled", + "default": null, + "description": "Enable Cgo support, which allows Go and C code to interact. This option must be enabled for any packages making use of Cgo to actually be compiled with Cgo support.\n\nThis field can be specified on several different target types, including `go_binary` and `go_mod` target types. If this field is specified on a `go_binary` target, then that instance takes precedence over other configuration when building the applicable executable. The applicable `go_mod` target will be checked next as a fallback. Finally, if neither target specifies this field, then the value will be taken from the value of the `[golang].cgo_enabled` option. (Note: That option will be deprecated in a future Pants version.)\n\nSee https://go.dev/blog/cgo and https://pkg.go.dev/cmd/cgo for additional information about Cgo.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "race", + "default": null, + "description": "Enable compiling the binary with the Go data race detector.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "msan", + "default": null, + "description": "Enable interoperation between Go code and the C/C++ \"memory sanitizer.\"\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "asan", + "default": null, + "description": "Enable interoperation between Go code and the C/C++ \"address sanitizer.\"\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "assembler_flags", + "default": null, + "description": "Extra flags to pass to the Go assembler (i.e., `go tool asm`) when assembling Go-format assembly code.\n\nNote: These flags will not be added to gcc/clang-format assembly that is assembled in packages using Cgo.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the assembler flags are used when building any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the assembler flags are used when building any packages comprising that binary including third-party dependencies. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the assembler flags are used only for building that specific package and not for any other package. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/asm` to see the flags supported by `go tool asm`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "compiler_flags", + "default": null, + "description": "Extra flags to pass to the Go compiler (i.e., `go tool compile`) when compiling Go code.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the compiler flags are used when compiling any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the compiler flags are used when compiling any packages comprising that binary including third-party dependencies. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the compiler flags are used only for compiling that specific package and not for any other package. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/compile` to see the flags supported by `go tool compile`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "linker_flags", + "default": null, + "description": "Extra flags to pass to the Go linker (i.e., `go tool link`) when linking Go binaries.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the linker flags are used when linking any binary involving the module including both `go_binary` targets and test binaries for `go_package` targets within the module.\n\n- On `go_binary` targets, the linker flags are used when linking that binary. These linker flags will be added after any linker flags added by any `linker_flags` field set on the applicable `go_mod` target.\n\nRun `go doc cmd/link` to see the flags supported by `go tool link`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "restartable", + "default": "False", + "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", + "provider": "", + "required": false, + "type_hint": "str | None" + } ], - "input_types": ["ShadeJarRequest", "InternalJdk", "JarJar"], - "name": "pants.jvm.shading.rules.shade_jar", - "output_type": "ShadedJar", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.go", + "summary": "A Go binary." }, - "pants.jvm.strip_jar.strip_jar.build_processors": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(GenerateJvmLockfileFromTool, StripJarToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, CreateDigest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)" + "go_mod": { + "alias": "go_mod", + "description": "A first-party Go module (corresponding to a `go.mod` file).\n\nGenerates `go_third_party_package` targets based on the `require` directives in your `go.mod`.\n\nIf you have third-party packages, make sure you have an up-to-date `go.sum`. Run `go mod tidy` directly to update your `go.mod` and `go.sum`.", + "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": "cgo_enabled", + "default": null, + "description": "Enable Cgo support, which allows Go and C code to interact. This option must be enabled for any packages making use of Cgo to actually be compiled with Cgo support.\n\nThis field can be specified on several different target types, including `go_binary` and `go_mod` target types. If this field is specified on a `go_binary` target, then that instance takes precedence over other configuration when building the applicable executable. The applicable `go_mod` target will be checked next as a fallback. Finally, if neither target specifies this field, then the value will be taken from the value of the `[golang].cgo_enabled` option. (Note: That option will be deprecated in a future Pants version.)\n\nSee https://go.dev/blog/cgo and https://pkg.go.dev/cmd/cgo for additional information about Cgo.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "race", + "default": null, + "description": "Enable compiling the binary with the Go data race detector.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "msan", + "default": null, + "description": "Enable interoperation between Go code and the C/C++ \"memory sanitizer.\"\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "asan", + "default": null, + "description": "Enable interoperation between Go code and the C/C++ \"address sanitizer.\"\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "assembler_flags", + "default": null, + "description": "Extra flags to pass to the Go assembler (i.e., `go tool asm`) when assembling Go-format assembly code.\n\nNote: These flags will not be added to gcc/clang-format assembly that is assembled in packages using Cgo.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the assembler flags are used when building any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the assembler flags are used when building any packages comprising that binary including third-party dependencies. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the assembler flags are used only for building that specific package and not for any other package. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/asm` to see the flags supported by `go tool asm`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "compiler_flags", + "default": null, + "description": "Extra flags to pass to the Go compiler (i.e., `go tool compile`) when compiling Go code.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the compiler flags are used when compiling any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the compiler flags are used when compiling any packages comprising that binary including third-party dependencies. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the compiler flags are used only for compiling that specific package and not for any other package. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/compile` to see the flags supported by `go tool compile`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "linker_flags", + "default": null, + "description": "Extra flags to pass to the Go linker (i.e., `go tool link`) when linking Go binaries.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the linker flags are used when linking any binary involving the module including both `go_binary` targets and test binaries for `go_package` targets within the module.\n\n- On `go_binary` targets, the linker flags are used when linking that binary. These linker flags will be added after any linker flags added by any `linker_flags` field set on the applicable `go_mod` target.\n\nRun `go doc cmd/link` to see the flags supported by `go tool link`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } ], - "input_types": ["InternalJdk"], - "name": "pants.jvm.strip_jar.strip_jar.build_processors", - "output_type": "StripJarCompiledClassfiles", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.strip_jar.strip_jar.generate_strip_jar_lockfile_request": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["StripJarToolLockfileSentinel"], - "name": "pants.jvm.strip_jar.strip_jar.generate_strip_jar_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.go", + "summary": "A first-party Go module (corresponding to a `go.mod` file)." }, - "pants.jvm.strip_jar.strip_jar.strip_jar": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(GenerateJvmLockfileFromTool, StripJarToolLockfileSentinel, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(Digest, AddPrefix, ..)", - "Get(ProcessResult, JvmProcess, ..)", - "Get(Digest, RemovePrefix, ..)" - ], - "input_types": [ - "StripJarCompiledClassfiles", - "InternalJdk", - "StripJarRequest" + "go_package": { + "alias": "go_package", + "description": "A first-party Go package (corresponding to a directory with `.go` files).\n\nExpects that there is a `go_mod` target in its directory or in an ancestor directory.", + "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/v2.19/docs/targets 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": "sources", + "default": "('*.go',)", + "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=['example.go', '*_test.go', '!test_ignore.go']`", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "test_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": "test_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": "test_race", + "default": null, + "description": "Enable compiling this package's test binary with the Go data race detector.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "test_msan", + "default": null, + "description": "Enable interoperation between Go code and the C/C++ \"memory sanitizer\" when building this package's test binary.\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "test_asan", + "default": null, + "description": "Enable interoperation between Go code and the C/C++ \"address sanitizer\" when building this package's test binary.\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "assembler_flags", + "default": null, + "description": "Extra flags to pass to the Go assembler (i.e., `go tool asm`) when assembling Go-format assembly code.\n\nNote: These flags will not be added to gcc/clang-format assembly that is assembled in packages using Cgo.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the assembler flags are used when building any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the assembler flags are used when building any packages comprising that binary including third-party dependencies. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the assembler flags are used only for building that specific package and not for any other package. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/asm` to see the flags supported by `go tool asm`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "compiler_flags", + "default": null, + "description": "Extra flags to pass to the Go compiler (i.e., `go tool compile`) when compiling Go code.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the compiler flags are used when compiling any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the compiler flags are used when compiling any packages comprising that binary including third-party dependencies. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the compiler flags are used only for compiling that specific package and not for any other package. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/compile` to see the flags supported by `go tool compile`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_tests", + "default": "False", + "description": "If true, don't run this package's tests.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "skip_gofmt", + "default": "False", + "description": "If true, don't run gofmt on this package.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "bool" + }, + { + "alias": "skip_golangci_lint", + "default": "False", + "description": "If true, don't run `golangci-lint` on this target's code.", + "provider": "pants.backend.experimental.go.lint.golangci_lint", + "required": false, + "type_hint": "bool" + }, + { + "alias": "skip_go_vet", + "default": "False", + "description": "If true, don't run `go vet` on this target's code.", + "provider": "pants.backend.experimental.go.lint.vet", + "required": false, + "type_hint": "bool" + } ], - "name": "pants.jvm.strip_jar.strip_jar.strip_jar", - "output_type": "Digest", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet": { - "description": null, - "documentation": null, - "input_gets": ["Get(RunRequest, GenericJvmRunRequest, ..)"], - "input_types": ["JavaFieldSet"], - "name": "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JavaFieldSet", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet": { - "description": null, - "documentation": null, - "input_gets": ["Get(RunRequest, GenericJvmRunRequest, ..)"], - "input_types": ["JvmArtifactFieldSet"], - "name": "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_JvmArtifactFieldSet", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.java" - }, - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet": { - "description": null, - "documentation": null, - "input_gets": ["Get(RunRequest, GenericJvmRunRequest, ..)"], - "input_types": ["KotlinFieldSet"], - "name": "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_KotlinFieldSet", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.kotlin" - }, - "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet": { - "description": null, - "documentation": null, - "input_gets": ["Get(RunRequest, GenericJvmRunRequest, ..)"], - "input_types": ["ScalaFieldSet"], - "name": "pants.jvm.target_types._jvm_source_run_request_rule.jvm_source_run_request_ScalaFieldSet", - "output_type": "RunRequest", - "provider": "pants.backend.experimental.scala" - }, - "pants.jvm.target_types.jvm_resolve_field_default_factory": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["JvmResolveFieldDefaultFactoryRequest", "JvmSubsystem"], - "name": "pants.jvm.target_types.jvm_resolve_field_default_factory", - "output_type": "FieldDefaultFactoryResult", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.go", + "summary": "A first-party Go package (corresponding to a directory with `.go` files)." }, - "pants.jvm.test.junit.generate_junit_lockfile_request": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["JunitToolLockfileSentinel", "JUnit"], - "name": "pants.jvm.test.junit.generate_junit_lockfile_request", - "output_type": "GenerateJvmLockfileFromTool", - "provider": "pants.backend.experimental.java" + "go_third_party_package": { + "alias": "go_third_party_package", + "description": "A package from a third-party Go module.\n\nYou should not explicitly create this target in BUILD files. Instead, add a `go_mod` target where you have your `go.mod` file, which will generate `go_third_party_package` targets for you.\n\nMake sure that your `go.mod` and `go.sum` files include this package's module.", + "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/v2.19/docs/targets 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": "import_path", + "default": null, + "description": "Import path in Go code to import this package.\n\nThis field should not be overridden; use the value from target generation.", + "provider": "", + "required": true, + "type_hint": "str" + } + ], + "provider": "pants.backend.experimental.go", + "summary": "A package from a third-party Go module." }, - "pants.jvm.test.junit.run_junit_test": { - "description": "Run JUnit", - "documentation": null, - "input_gets": [ - "Get(TestSetup, TestSetupRequest, ..)", - "Get(FallibleProcessResult, JvmProcess, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Snapshot, RemovePrefix, ..)" + "helm_artifact": { + "alias": "helm_artifact", + "description": "A third party Helm artifact.", + "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": "registry", + "default": null, + "description": "Either registry alias (prefixed by `@`) configured in `[helm.registries]` for the Helm artifact or the full OCI registry URL.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "repository", + "default": null, + "description": "Either a HTTP(S) URL to a classic repository, or a path inside an OCI registry (when `registry` is provided).", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "artifact", + "default": null, + "description": "Artifact name of the chart, without version number.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "version", + "default": null, + "description": "The `version` part of a third party Helm chart.", + "provider": "", + "required": true, + "type_hint": "str" + } ], - "input_types": ["TestSubsystem", "Batch"], - "name": "pants.jvm.test.junit.run_junit_test", - "output_type": "TestResult", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.helm", + "summary": "A third party Helm artifact." }, - "pants.jvm.test.junit.setup_junit_debug_request": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(TestSetup, TestSetupRequest, ..)", - "Get(Process, JvmProcess, ..)" + "helm_chart": { + "alias": "helm_chart", + "description": "A Helm chart.", + "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": "chart", + "default": "'Chart.yaml'", + "description": "The chart definition file.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "sources", + "default": "('values.yaml', 'values.yml', 'templates/*.yaml', 'templates/*.yml', 'templates/*.tpl', 'crds/*.yaml', 'crds/*.yml')", + "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=['values.yaml', 'templates/*.yaml', '!values_ignore.yaml']`", + "provider": "", + "required": false, + "type_hint": "Iterable[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/v2.19/docs/targets 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": "output_path", + "default": null, + "description": "Where the built directory tree should be located.\n\nIf undefined, this will use the path to the BUILD file, For example, `src/charts/mychart:tgt_name` would be `src.charts.mychart/tgt_name/`.\n\nRegardless of whether you use the default or set this field, the path will end with Helms's file format of `-.tgz`, where `chart_name` and `chart_version` are the values extracted from the Chart.yaml file. So, using the default for this field, the target `src/charts/mychart:tgt_name` might have a final path like `src.charts.mychart/tgt_name/mychart-0.1.0.tgz`.\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": "lint_strict", + "default": null, + "description": "If set to true, enables strict linting of this Helm chart.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "repository", + "default": null, + "description": "Repository to use in the Helm registry where this chart is going to be published.\n\nIf no value is given and `[helm].default-registry-repository` is undefined too, then the chart will be pushed to the root of the OCI registry.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version", + "default": null, + "description": "Version number for the given Helm chart.\n\nWhen specified, the version provided in the source Chart.yaml file will be overriden by the value given to this field.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "registries", + "default": "('',)", + "description": "List of addresses or configured aliases to any OCI registries to use for the built chart.\n\nThe address is an `oci://` prefixed domain name with optional port for your registry, and any registry aliases are prefixed with `@` for addresses in the `[helm].registries` configuration section.\n\nBy default, all configured registries with `default = true` are used.\n\nExample:\n\n # pants.toml\n [helm.registries.my-registry-alias]\n address = \"oci://myregistrydomain:port\"\n default = false # optional\n\n # example/BUILD\n helm_chart(\n registries = [\n \"@my-registry-alias\",\n \"oci://myregistrydomain:port\",\n ],\n )\n\nThe above example shows two valid `registry` options: using an alias to a configured registry and the address to a registry verbatim in the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_push", + "default": "False", + "description": "If set to true, do not push this Helm chart to registries when running `pants publish`.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "skip_lint", + "default": "False", + "description": "If set to true, do not run any linting in this Helm chart when running `pants lint`.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "kubeconform_strict", + "default": null, + "description": "Run Kubeconform in strict mode.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "kubeconform_ignore_sources", + "default": null, + "description": "Regular expression patterns specifying paths to ignore.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_kubeconform", + "default": "False", + "description": "If set to true, do not run any kubeconform checking in this Helm target when running `pants check`.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "bool" + }, + { + "alias": "kubeconform_kubernetes_version", + "default": null, + "description": "Kubernetes version to use for the validation.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "kubeconform_reject_kinds", + "default": null, + "description": "List of kinds or GVKs to reject.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "kubeconform_skip_kinds", + "default": null, + "description": "List of kinds or GVKs to ignore.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "kubeconform_ignore_missing_schemas", + "default": null, + "description": "Whether to fail if there are missing schemas for custom resources.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "bool | None" + } ], - "input_types": ["Batch"], - "name": "pants.jvm.test.junit.setup_junit_debug_request", - "output_type": "TestDebugRequest", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.helm", + "summary": "A Helm chart." }, - "pants.jvm.test.junit.setup_junit_for_target": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(JdkEnvironment, JdkRequest, ..)", - "Get(TransitiveTargets, TransitiveTargetsRequest, ..)", - "Get(GenerateJvmLockfileFromTool, JunitToolLockfileSentinel, ..)", - "Get(Classpath, Addresses, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(SourceFiles, SourceFilesRequest, ..)", - "Get(Digest, MergeDigests, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" - ], - "input_types": [ - "TestSetupRequest", - "JvmSubsystem", - "JUnit", - "TestSubsystem", - "TestExtraEnv" + "helm_deployment": { + "alias": "helm_deployment", + "description": "A Helm chart deployment.", + "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": "chart", + "default": null, + "description": "The address of the `helm_chart` or `helm_artifact` that will be used for this deployment.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "release_name", + "default": null, + "description": "Name of the release used in the deployment. If not set, the target name will be used instead.", + "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/v2.19/docs/targets 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": "sources", + "default": "('*.yaml', '*.yml')", + "description": "Helm configuration files for a given deployment.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "namespace", + "default": null, + "description": "Kubernetes namespace for the given deployment.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "skip_crds", + "default": "False", + "description": "If true, then does not deploy the Custom Resource Definitions that are defined in the chart.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "values", + "default": null, + "description": "Individual values to use when rendering a given deployment.\n\nValue names should be defined using dot-syntax as in the following example:\n\n helm_deployment(\n values={\n \"nameOverride\": \"my_custom_name\",\n \"image.pullPolicy\": \"Always\",\n },\n )\n\nValues can be dynamically calculated using interpolation as shown in the following example:\n\n helm_deployment(\n values={\n \"configmap.deployedAt\": f\"{env('DEPLOY_TIME')}\",\n },\n )\n\nCheck the Helm backend documentation on what are the options available and its caveats when making usage of dynamic values in your deployments.", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "no_hooks", + "default": "False", + "description": "If true, none of the lifecycle hooks of the given chart will be included in the deployment.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "timeout", + "default": null, + "description": "Timeout in seconds when running a Helm deployment.", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "post_renderers", + "default": null, + "description": "List of runnable targets to be used to post-process the helm chart after being rendered by Helm.\n\nThis is equivalent to the same post-renderer feature already available in Helm with the difference that this supports a list of executables instead of a single one.\n\nWhen more than one post-renderer is given, they will be combined into a single one in which the input of each of them would be output of the previous one.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "enable_dns", + "default": "False", + "description": "Enables DNS lookups when using the `getHostByName` template function.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "kubeconform_strict", + "default": null, + "description": "Run Kubeconform in strict mode.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "bool | None" + }, + { + "alias": "kubeconform_ignore_sources", + "default": null, + "description": "Regular expression patterns specifying paths to ignore.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_kubeconform", + "default": "False", + "description": "If set to true, do not run any kubeconform checking in this Helm target when running `pants check`.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "bool" + }, + { + "alias": "kubeconform_kubernetes_version", + "default": null, + "description": "Kubernetes version to use for the validation.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "kubeconform_reject_kinds", + "default": null, + "description": "List of kinds or GVKs to reject.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "kubeconform_skip_kinds", + "default": null, + "description": "List of kinds or GVKs to ignore.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "kubeconform_ignore_missing_schemas", + "default": null, + "description": "Whether to fail if there are missing schemas for custom resources.", + "provider": "pants.backend.experimental.helm.check.kubeconform", + "required": false, + "type_hint": "bool | None" + } ], - "name": "pants.jvm.test.junit.setup_junit_for_target", - "output_type": "TestSetup", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.helm", + "summary": "A Helm chart deployment." }, - "pants.jvm.util_rules.digest_to_file_digest": { - "description": null, - "documentation": null, - "input_gets": [ - "Get(Digest, DigestSubset, ..)", - "Get(DigestEntries, Digest, ..)" + "helm_unittest_test": { + "alias": "helm_unittest_test", + "description": "A single helm-unittest suite 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": "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": "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/v2.19/docs/targets 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": "strict", + "default": null, + "description": "If set to true, parses the UnitTest suite files strictly.", + "provider": "", + "required": false, + "type_hint": "bool | 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" + } ], - "input_types": ["ExtractFileDigest"], - "name": "pants.jvm.util_rules.digest_to_file_digest", - "output_type": "FileDigest", - "provider": "pants.backend.experimental.java" + "provider": "pants.backend.experimental.helm", + "summary": "A single helm-unittest suite file." }, - "pants.source.source_root.all_roots": { - "description": "Compute all source roots", - "documentation": null, - "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(OptionalSourceRoot, SourceRootRequest, ..)" + "helm_unittest_tests": { + "alias": "helm_unittest_tests", + "description": "Generates a `helm_unittest_test` target per 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.yaml', '*_test.yml')", + "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=['*_test.yaml', '!ignore_test.yaml']`", + "provider": "", + "required": false, + "type_hint": "Iterable[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/v2.19/docs/targets 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": "overrides", + "default": null, + "description": "Override the field values for generated `helm_unittest_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 \"configmap_test.yaml\": {\"timeout\": 120},\n (\"deployment_test.yaml\", \"pod_test.yaml\"): {\"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 `helm_unittest_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": "strict", + "default": null, + "description": "If set to true, parses the UnitTest suite files strictly.", + "provider": "", + "required": false, + "type_hint": "bool | 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" + } ], - "input_types": ["SourceRootConfig"], - "name": "pants.source.source_root.all_roots", - "output_type": "AllSourceRoots", - "provider": "pants.core" + "provider": "pants.backend.experimental.helm", + "summary": "Generates a `helm_unittest_test` target per each file in the `sources` field." }, - "pants.source.source_root.get_optional_source_root": { - "description": null, - "documentation": "Rule to request a SourceRoot that may not exist.", - "input_gets": [ - "Get(Paths, PathGlobs, ..)", - "Get(OptionalSourceRoot, SourceRootRequest, ..)" + "java_source": { + "alias": "java_source", + "description": "A single Java source file containing application or library code.", + "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/v2.19/docs/targets 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": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "main", + "default": null, + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "experimental_provides_types", + "default": null, + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "skip_google_java_format", + "default": "False", + "description": "If true, don't run Google Java Format on this target's code.", + "provider": "pants.backend.experimental.java.lint.google_java_format", + "required": false, + "type_hint": "bool" + } ], - "input_types": ["SourceRootRequest", "SourceRootConfig"], - "name": "pants.source.source_root.get_optional_source_root", - "output_type": "OptionalSourceRoot", - "provider": "pants.core" - }, - "pants.source.source_root.get_optional_source_roots": { - "description": null, - "documentation": "Rule to request source roots that may not exist.", - "input_gets": ["Get(OptionalSourceRoot, SourceRootRequest, ..)"], - "input_types": ["SourceRootsRequest"], - "name": "pants.source.source_root.get_optional_source_roots", - "output_type": "OptionalSourceRootsResult", - "provider": "pants.core" - }, - "pants.source.source_root.get_source_root": { - "description": null, - "documentation": "Convenience rule to allow callers to request a SourceRoot directly.\n\nThat way callers don't have to unpack an OptionalSourceRoot if they know they expect a\nSourceRoot to exist and are willing to error if it doesn't.", - "input_gets": ["Get(OptionalSourceRoot, SourceRootRequest, ..)"], - "input_types": ["SourceRootRequest"], - "name": "pants.source.source_root.get_source_root", - "output_type": "SourceRoot", - "provider": "pants.core" - }, - "pants.source.source_root.get_source_roots": { - "description": null, - "documentation": "Convenience rule to allow callers to request SourceRoots that must exist.\n\nThat way callers don't have to unpack OptionalSourceRoots if they know they expect a SourceRoot\nto exist and are willing to error if it doesn't.", - "input_gets": ["Get(OptionalSourceRootsResult, SourceRootsRequest, ..)"], - "input_types": ["SourceRootsRequest"], - "name": "pants.source.source_root.get_source_roots", - "output_type": "SourceRootsResult", - "provider": "pants.core" + "provider": "pants.backend.experimental.java", + "summary": "A single Java source file containing application or library code." }, - "pants.vcs.git.get_git_worktree": { - "description": null, - "documentation": null, - "input_gets": [], - "input_types": ["GitWorktreeRequest", "MaybeGitBinary"], - "name": "pants.vcs.git.get_git_worktree", - "output_type": "MaybeGitWorktree", - "provider": "pants.core" - } - }, - "name_to_target_type_info": { - "_generator_sources_helper": { - "alias": "_generator_sources_helper", - "description": "A private helper target type used by some target generators.\n\nThis tracks their `source` / `sources` field so that `--changed-since --changed-dependents` works properly for generated targets.", + "java_sources": { + "alias": "java_sources", + "description": "Generate a `java_source` target for each file in the `sources` field.", "fields": [ { - "alias": "tags", + "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": "('*.java', '!*Test.java')", + "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=['Example.java', 'New*.java', '!OldExample.java']`", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_google_java_format", + "default": "False", + "description": "If true, don't run Google Java Format on this target's code.", + "provider": "pants.backend.experimental.java.lint.google_java_format", + "required": false, + "type_hint": "bool" + }, + { + "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/v2.19/docs/targets 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": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "jdk", "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.", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "description", + "alias": "main", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "source", + "alias": "experimental_provides_types", "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'`.", + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", "provider": "", - "required": true, - "type_hint": "str" + "required": false, + "type_hint": "Iterable[str] | None" } ], - "provider": "pants.backend.python", - "summary": "A private helper target type used by some target generators." + "provider": "pants.backend.experimental.java", + "summary": "Generate a `java_source` target for each file in the `sources` field." }, - "_lockfile": { - "alias": "_lockfile", - "description": "A target for lockfiles in order to include them in the dependency graph of other targets.\n\nThis tracks them so that `--changed-since --changed-dependents` works properly for targets relying on a particular lockfile.", + "javascript_source": { + "alias": "javascript_source", + "description": "A single Javascript source file.", "fields": [ { "alias": "tags", @@ -64274,6 +88353,14 @@ "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/v2.19/docs/targets 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, @@ -64283,20 +88370,20 @@ "type_hint": "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/v2.19/docs/targets 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": "", + "alias": "skip_prettier", + "default": "False", + "description": "If true, don't run Prettier on this target's code.", + "provider": "pants.backend.experimental.javascript.lint.prettier", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" } ], - "provider": "pants.core", - "summary": "A target for lockfiles in order to include them in the dependency graph of other targets." + "provider": "pants.backend.experimental.javascript", + "summary": "A single Javascript source file." }, - "_lockfiles": { - "alias": "_lockfiles", - "description": "Generate a `_lockfile` target for each file in the `sources` field.", + "javascript_sources": { + "alias": "javascript_sources", + "description": "Generate a `javascript_source` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -64316,12 +88403,28 @@ }, { "alias": "sources", - "default": null, - "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=['example.lock']`", + "default": "('*.js', '*.cjs', '*.mjs')", + "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.js', 'subdir/*.js', '!ignore_me.js']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `javascript_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.js\": {\"skip_prettier\": True},\n \"bar.js\": {\"skip_prettier\": True},\n (\"foo.js\", \"bar.js\"): {\"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 `javascript_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": "skip_prettier", + "default": "False", + "description": "If true, don't run Prettier on this target's code.", + "provider": "pants.backend.experimental.javascript.lint.prettier", + "required": false, + "type_hint": "bool" + }, { "alias": "dependencies", "default": null, @@ -64331,12 +88434,12 @@ "type_hint": "Iterable[str] | None" } ], - "provider": "pants.core", - "summary": "Generate a `_lockfile` target for each file in the `sources` field." + "provider": "pants.backend.experimental.javascript", + "summary": "Generate a `javascript_source` target for each file in the `sources` field." }, - "adhoc_tool": { - "alias": "adhoc_tool", - "description": "Execute any runnable target for its side effects.\n\nExample BUILD file:\n\n adhoc_tool(\n runnable=\":python_source\",\n args=[\"\"],\n execution_dependencies=[\":scripts\"],\n output_directories=[\"results/\"],\n output_files=[\"logs/my-script.log\"],\n )\n\n shell_sources(name=\"scripts\")", + "javascript_test": { + "alias": "javascript_test", + "description": "A single Javascript test file.", "fields": [ { "alias": "tags", @@ -64355,73 +88458,97 @@ "type_hint": "str | None" }, { - "alias": "runnable", + "alias": "dependencies", "default": null, - "description": "Address to a target that can be invoked by the `run` goal (and does not set `run_in_sandbox_behavior=NOT_SUPPORTED`). This will be executed along with any arguments specified by `args`, in a sandbox with that target's transitive dependencies, along with the transitive dependencies specified by `execution_dependencies`.", + "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/v2.19/docs/targets 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": "args", - "default": "()", - "description": "Extra arguments to pass into the `runnable` field.", + "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": "Iterable[str] | None" + "type_hint": "int | None" }, { - "alias": "execution_dependencies", + "alias": "extra_env_vars", "default": null, - "description": "The execution dependencies for this command.\n\nDependencies specified here are those required to make the command complete successfully (e.g. file inputs, packages compiled from other targets, etc), but NOT required to make the outputs of the command useful. Dependencies that are required to use the outputs produced by this command should be specified using the `output_dependencies` field.\n\nIf this field is specified, dependencies from `output_dependencies` will not be added to the execution sandbox.\n\nSee also `output_dependencies` and `runnable_dependencies`.", + "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": "output_dependencies", + "alias": "batch_compatibility_tag", "default": null, - "description": "Any dependencies that need to be present (as transitive dependencies) whenever the outputs of this target are consumed (including as dependencies).\n\nSee also `execution_dependencies` and `runnable_dependencies`.", + "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 `javascript_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 `javascript_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 `javascript_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 `javascript_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": "Iterable[str] | None" - }, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.javascript", + "summary": "A single Javascript test file." + }, + "javascript_tests": { + "alias": "javascript_tests", + "description": "Generate a `javascript_test` target for each file in the `sources` field.", + "fields": [ { - "alias": "runnable_dependencies", + "alias": "tags", "default": null, - "description": "The runnable dependencies for this command.\n\nDependencies specified here are those required to exist on the `PATH` to make the command complete successfully (interpreters specified in a `#!` command, etc). Note that these dependencies will be made available on the `PATH` with the name of the target.\n\nSee also `output_dependencies` and `execution_dependencies`.", + "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": "log_output", - "default": "False", - "description": "Set to true if you want the output logged to the console.", + "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": "bool" + "type_hint": "str | None" }, { - "alias": "output_files", - "default": "()", - "description": "Specify the output files to capture, relative to the value of `workdir`.\n\nFor directories, use `output_directories`. At least one of `output_files` and`output_directories` must be specified.\n\nRelative paths (including `..`) may be used, as long as the path does not ascend further than the build root.", + "alias": "sources", + "default": "('*.test.js', '*.test.cjs', '*.test.mjs')", + "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.js', 'subdir/*.test.mjs', '!ignore_me.test.js']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "output_directories", - "default": "()", - "description": "Specify full directories (including recursive descendants) of output to capture, relative to the value of `workdir`.\n\nFor individual files, use `output_files`. At least one of `output_files` and`output_directories` must be specified.\n\nRelative paths (including `..`) may be used, as long as the path does not ascend further than the build root.", + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `javascript_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.js\": {\"timeout\": 120},\n \"bar.test.js\": {\"timeout\": 200},\n (\"foo.test.js\", \"bar.test.js\"): {\"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 `javascript_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/v2.19/docs/targets 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": "30", - "description": "Command execution timeout (in seconds).", + "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" @@ -64429,114 +88556,106 @@ { "alias": "extra_env_vars", "default": null, - "description": "Additional environment variables to provide to the process.\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.", + "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": "workdir", - "default": "'.'", - "description": "Sets the working directory for the process.\n\nValues are relative to the build root, except in the following cases:\n\n* `.` specifies the location of the `BUILD` file.\n* Values beginning with `./` are relative to the location of the `BUILD` file.\n* `/` or the empty string specifies the build root.\n* Values beginning with `/` are also relative to the build root.", + "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 `javascript_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 `javascript_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 `javascript_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 `javascript_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.javascript", + "summary": "Generate a `javascript_test` target for each file in the `sources` field." + }, + "junit_test": { + "alias": "junit_test", + "description": "A single Java test, run with JUnit.", + "fields": [ { - "alias": "root_output_directory", - "default": "'/'", - "description": "Adjusts the location of files output by this target, when consumed as a dependency.\n\nValues are relative to the build root, except in the following cases:\n\n * `.` specifies the location of the `BUILD` file.\n * Values beginning with `./` are relative to the location of the `BUILD` file.\n * `/` or the empty string specifies the build root.\n * Values beginning with `/` are also relative to the build root.", + "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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "stdout", + "alias": "description", "default": null, - "description": "A filename to capture the contents of `stdout` to. Relative paths are relative to the value of `workdir`, absolute paths start at the build root.", + "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": "stderr", + "alias": "source", "default": null, - "description": "A filename to capture the contents of `stderr` to. Relative paths are relative to the value of `workdir`, absolute paths start at the build root.", + "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": "str | None" + "required": true, + "type_hint": "str" }, { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", + "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": "str | None" - } - ], - "provider": "pants.backend.experimental.adhoc", - "summary": "Execute any runnable target for its side effects." - }, - "archive": { - "alias": "archive", - "description": "A ZIP or TAR file containing loose files and code packages.", - "fields": [ + "type_hint": "int | None" + }, { - "alias": "tags", + "alias": "extra_env_vars", "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.", + "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": "description", + "alias": "dependencies", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "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/v2.19/docs/targets 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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "output_path", + "alias": "resolve", "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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.", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "packages", + "alias": "experimental_provides_types", "default": null, - "description": "Addresses to any targets that can be built with `pants package`, e.g. `[\"project:app\"]`.\n\nPants will build the assets as if you had run `pants package`. It will include the results in your archive using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_awslambda`, or even another `archive`.", + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "files", + "alias": "jdk", "default": null, - "description": "Addresses to any `file`, `files`, or `relocated_files` targets to include in the archive, e.g. `[\"resources:logo\"]`.\n\nThis is useful to include any loose files, like data files, image assets, or config files.\n\nThis will ignore any targets that are not `file`, `files`, or `relocated_files` targets.\n\nIf you instead want those files included in any packages specified in the `packages` field for this target, then use a `resource` or `resources` target and have the original package depend on the resources.", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" - }, - { - "alias": "format", - "default": null, - "description": "The type of archive file to be generated.", - "provider": "", - "required": true, - "type_hint": "'tar' | 'tar.bz2' | 'tar.gz' | 'tar.xz' | 'zip'" + "type_hint": "str | None" } ], - "provider": "pants.core", - "summary": "A ZIP or TAR file containing loose files and code packages." + "provider": "pants.backend.experimental.java", + "summary": "A single Java test, run with JUnit." }, - "deploy_jar": { - "alias": "deploy_jar", - "description": "A `jar` file with first and third-party code bundled for deploys.\n\nThe JAR will contain class files for both first-party code and third-party dependencies, all in a common directory structure.", + "junit_tests": { + "alias": "junit_tests", + "description": "Generate a `junit_test` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -64555,36 +88674,36 @@ "type_hint": "str | None" }, { - "alias": "restartable", - "default": "False", - "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "alias": "sources", + "default": "('*Test.java',)", + "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=['*Test.java', '!TestIgnore.java']`", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "output_path", + "alias": "timeout", "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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.", + "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": "str | None" + "type_hint": "int | None" }, { - "alias": "dependencies", + "alias": "extra_env_vars", "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/v2.19/docs/targets 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": "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": "main", + "alias": "dependencies", "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this JAR.", + "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/v2.19/docs/targets 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": "str" + "required": false, + "type_hint": "Iterable[str] | None" }, { "alias": "jdk", @@ -64595,44 +88714,28 @@ "type_hint": "str | None" }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "alias": "duplicate_policy", - "default": "(duplicate_rule(pattern='^META-INF/services/', action='concat_text'), duplicate_rule(pattern='^META-INF/LICENSE', action='skip'))", - "description": "A list of the rules to apply when duplicate file entries are found in the final assembled JAR file.\n\nWhen defining a duplicate policy, just add `duplicate_rule` directives to this field as follows:\n\nExample:\n\n duplicate_policy=[\n duplicate_rule(pattern=\"^META-INF/services\", action=\"concat_text\"),\n duplicate_rule(pattern=\"^reference\\.conf\", action=\"concat_text\"),\n duplicate_rule(pattern=\"^org/apache/commons\", action=\"throw\"),\n ]\n\nWhere:\n\n* The `pattern` field is treated as a regular expression\n* The `action` field must be one of `['skip', 'replace', 'concat', 'concat_text', 'throw']`.\n\nNote that the order in which the rules are listed is relevant.", - "provider": "", - "required": false, - "type_hint": "Iterable[pants.jvm.target_types.DeployJarDuplicateRule] | None" - }, - { - "alias": "shading_rules", + "alias": "experimental_provides_types", "default": null, - "description": "Shading rules to be applied to the final JAR artifact.\n\nThere are 4 possible shading rules available, which are as follows:\n * `shading_relocate`: Relocates the classes under the given `package` into the new package name. The default target package is `__shaded_by_pants__` if none provided in the `into` parameter.\n * `shading_rename`: Renames all occurrences of the given `pattern` by the `replacement`.\n * `shading_zap`: Removes from the final artifact the occurrences of the `pattern`.\n * `shading_keep`: Keeps in the final artifact the occurrences of the `pattern` (and removes anything else).\n\nWhen defining shading rules, just add them in this field using the previously listed rule alias and passing along the required parameters.", + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", "provider": "", "required": false, - "type_hint": "Iterable[pants.jvm.target_types.JvmShadingRule] | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "exclude_files", + "alias": "resolve", "default": null, - "description": "A list of patterns to exclude from the final jar.", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" } ], "provider": "pants.backend.experimental.java", - "summary": "A `jar` file with first and third-party code bundled for deploys." + "summary": "Generate a `junit_test` target for each file in the `sources` field." }, - "docker_environment": { - "alias": "docker_environment", - "description": "Configuration of a Docker environment used for building your code.\n\nEnvironment configuration includes both Docker-specific information (including the image and platform choice), as well as environment-aware options (such as environment variables and search paths) used by Pants to execute processes in this Docker environment.\n\nTo use this environment, map this target's address with a memorable name in `[environments-preview].names`. You can then consume this environment by specifying the name in the `environment` field defined on other targets.\n\nBefore running Pants using this environment, if you are using Docker Desktop, make sure the option **Enable default Docker socket** is enabled, you can find it in **Docker Desktop Settings > Advanced** panel. That option tells Docker to create a socket at `/var/run/docker.sock` which Pants can use to communicate with Docker.", + "jvm_artifact": { + "alias": "jvm_artifact", + "description": "A third-party JVM artifact, as identified by its Maven-compatible coordinate.\n\nThat is, an artifact identified by its `group`, `artifact`, and `version` components.\n\nEach artifact is associated with one or more resolves (a logical name you give to a lockfile). For this artifact to be used by your first-party code, it must be associated with the resolve(s) used by that code. See the `resolve` field.", "fields": [ { "alias": "tags", @@ -64651,260 +88754,340 @@ "type_hint": "str | None" }, { - "alias": "image", + "alias": "group", "default": null, - "description": "The docker image ID to use when this environment is loaded.\n\nThis value may be any image identifier that the local Docker installation can accept. This includes image names with or without tags (e.g. `centos6` or `centos6:latest`), or image names with an immutable digest (e.g. `centos@sha256:`).\n\nThe choice of image ID can affect the reproducibility of builds. Consider using an immutable digest if reproducibility is needed, but regularly ensure that the image is free of relevant bugs or security vulnerabilities.\n\nNote that in order to use an image as a `docker_environment` it must have a few tools: - `/bin/sh` - `/usr/bin/env` - `bash` - `tar`\n\nWhile most images will have these preinstalled, users of base images such as Distroless or scratch will need to bake these tools into the image themselves. All of these except `bash` are available via busybox.", + "description": "The 'group' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the group is `com.google.guava`.", "provider": "", "required": true, "type_hint": "str" }, { - "alias": "platform", + "alias": "artifact", "default": null, - "description": "If set, Docker will always use the specified platform when pulling and running the image.\n\nIf unset, Pants will default to the CPU architecture of your local host machine. For example, if you are running on Apple Silicon, it will use `linux_arm64`, whereas running on Intel macOS will use `linux_x86_64`. This mirrors Docker's behavior when `--platform` is left off.", + "description": "The 'artifact' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the artifact is `guava`.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "version", + "default": null, + "description": "The 'version' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the version is `30.1.1-jre`.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "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.19.0rc5/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": "'linux_arm64' | 'linux_x86_64' | 'macos_arm64' | 'macos_x86_64' | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "fallback_environment", + "alias": "url", "default": null, - "description": "The environment to fallback to when this Docker environment cannot be used because either the global option `--docker-execution` is false, or the field `platform` is not compatible with the local host's CPU architecture (this is only an issue when the local host is Linux; macOS is fine).\n\nMust be an environment name from the option `[environments-preview].names`, the special string `__local__` to use the relevant local environment, or the Python value `None` to error when this specific Docker environment cannot be used.", + "description": "A URL that points to the location of this artifact.\n\nIf specified, Pants will not fetch this artifact from default Maven repositories, and will instead fetch the artifact from this URL. To use default maven repositories, do not set this value.\n\nNote that `file:` URLs are not supported. Instead, use the `jar` field for local artifacts.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "nodejs_corepack_env_vars", + "alias": "jar", "default": null, - "description": "Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "description": "A local JAR file that provides this artifact to the lockfile resolver, instead of a Maven repository.\n\nPath is relative to the BUILD file.\n\nUse the `url` field for remote artifacts.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "python_native_code_ld_flags", + "alias": "resolve", "default": null, - "description": "Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active.", - "provider": "pants.core", + "description": "The resolve from `[jvm].resolves` that this artifact should be included in.\n\nIf not defined, will default to `[jvm].default_resolve`.\n\nWhen generating a lockfile for a particular resolve via the `coursier-resolve` goal, it will include all artifacts that are declared compatible with that resolve. First-party targets like `java_source` and `scala_source` also declare which resolve they use via the `resolve` field; so, for your first-party code to use a particular `jvm_artifact` target, that artifact must be included in the resolve used by that code.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "golang_cgo_gcc_binary_name", + "alias": "exclusions", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "A list of exclusions for unversioned coordinates that should be excluded as dependencies when this artifact is resolved.\n\nThis does not prevent this artifact from being included in the resolve as a dependency of other artifacts that depend on it, and is currently intended as a way to resolve version conflicts in complex resolves.\n\nSupported exclusions are:\n * `jvm_exclude`: Exclude the given `artifact` and `group`, or all artifacts from the given `group`.", + "provider": "", + "required": false, + "type_hint": "Iterable[pants.jvm.target_types.JvmArtifactExclusion] | None" + }, + { + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "python_bootstrap_search_path", + "alias": "main", "default": null, - "description": "Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active.", - "provider": "pants.core", + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.java", + "summary": "A third-party JVM artifact, as identified by its Maven-compatible coordinate." + }, + "jvm_war": { + "alias": "jvm_war", + "description": "A JSR 154 \"web application archive\" (or \"war\") with first-party and third-party code bundled for deploys in Java Servlet containers.", + "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": "nodejs_executable_search_paths", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "golang_cgo_fortran_flags", + "alias": "resolve", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "system_binaries_system_binary_paths", + "alias": "content", "default": null, - "description": "Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active.", - "provider": "pants.core", + "description": "A list of addresses to `resources` and `files` targets with content to place in the document root of this WAR file.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "shell_setup_executable_search_paths", + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.shell", + "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/v2.19/docs/targets 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": "golang_cgo_c_flags", + "alias": "descriptor", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "Path to a file containing the descriptor (i.e., `web.xml`) for this WAR file. Defaults to `web.xml`.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "shading_rules", + "default": null, + "description": "Shading rules to be applied to the individual JAR artifacts embedded in the `WEB-INF/lib` folder.\n\nThere are 4 possible shading rules available, which are as follows:\n * `shading_relocate`: Relocates the classes under the given `package` into the new package name. The default target package is `__shaded_by_pants__` if none provided in the `into` parameter.\n * `shading_rename`: Renames all occurrences of the given `pattern` by the `replacement`.\n * `shading_zap`: Removes from the final artifact the occurrences of the `pattern`.\n * `shading_keep`: Keeps in the final artifact the occurrences of the `pattern` (and removes anything else).\n\nWhen defining shading rules, just add them in this field using the previously listed rule alias and passing along the required parameters.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "Iterable[pants.jvm.target_types.JvmShadingRule] | None" }, { - "alias": "golang_cgo_tool_search_paths", + "alias": "output_path", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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" + } + ], + "provider": "pants.backend.experimental.java", + "summary": "A JSR 154 \"web application archive\" (or \"war\") with first-party and third-party code bundled for deploys in Java Servlet containers." + }, + "kotlin_junit_test": { + "alias": "kotlin_junit_test", + "description": "A single Kotlin test, run with JUnit.", + "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": "golang_cgo_fortran_binary_name", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "jvm_global_options", + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[jvm].global_options` when this environment target is active.", - "provider": "pants.backend.experimental.java", + "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/v2.19/docs/targets 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": "docker_executable_search_paths", + "alias": "source", "default": null, - "description": "Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.docker", + "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": "kotlinc_plugins", + "default": null, + "description": "The IDs of Kotlin compiler plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `kotlinc_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[kotlinc].plugins_for_resolve` for this target's resolve.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "apache_thrift_thrift_search_paths", + "alias": "timeout", "default": null, - "description": "Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active.", - "provider": "pants.backend.codegen.thrift.apache.python", + "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": "Iterable[str] | None" + "type_hint": "int | None" }, { - "alias": "docker_env_vars", + "alias": "extra_env_vars", "default": null, - "description": "Overrides the default value from the option `[docker].env_vars` when this environment target is active.", - "provider": "pants.backend.docker", + "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": "golang_subprocess_env_vars", + "alias": "resolve", "default": null, - "description": "Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "golang_cgo_gxx_binary_name", + "alias": "jdk", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "nodejs_search_path", + "alias": "experimental_provides_types", "default": null, - "description": "Overrides the default value from the option `[nodejs].search_path` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" - }, + } + ], + "provider": "pants.backend.experimental.kotlin", + "summary": "A single Kotlin test, run with JUnit." + }, + "kotlin_junit_tests": { + "alias": "kotlin_junit_tests", + "description": "Generate a `kotlin_junit_test` target for each file in the `sources` field.", + "fields": [ { - "alias": "subprocess_environment_env_vars", + "alias": "tags", "default": null, - "description": "Overrides the default value from the option `[subprocess-environment].env_vars` when this environment target is active.", - "provider": "pants.core", + "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": "golang_cgo_linker_flags", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "golang_cgo_cxx_flags", - "default": null, - "description": "Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "sources", + "default": "('*Test.kt',)", + "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=['*Test.kt', '!TestIgnore.kt']`", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "golang_go_search_paths", + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[golang].go_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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/v2.19/docs/targets 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": "python_native_code_cpp_flags", + "alias": "kotlinc_plugins", "default": null, - "description": "Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active.", - "provider": "pants.core", + "description": "The IDs of Kotlin compiler plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `kotlinc_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[kotlinc].plugins_for_resolve` for this target's resolve.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "python_bootstrap_names", + "alias": "timeout", "default": null, - "description": "Overrides the default value from the option `[python-bootstrap].names` when this environment target is active.", - "provider": "pants.core", + "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": "Iterable[str] | None" + "type_hint": "int | None" }, { - "alias": "golang_external_linker_binary_name", + "alias": "extra_env_vars", "default": null, - "description": "Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "pex_executable_search_paths", + "alias": "resolve", "default": null, - "description": "Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active.", - "provider": "pants.core", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "test_extra_env_vars", + "alias": "jdk", "default": null, - "description": "Overrides the default value from the option `[test].extra_env_vars` when this environment target is active.", - "provider": "pants.core", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "go_generate_env_vars", + "alias": "experimental_provides_types", "default": null, - "description": "Overrides the default value from the option `[go-generate].env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" } ], - "provider": "pants.core", - "summary": "Configuration of a Docker environment used for building your code." + "provider": "pants.backend.experimental.kotlin", + "summary": "Generate a `kotlin_junit_test` target for each file in the `sources` field." }, - "docker_image": { - "alias": "docker_image", - "description": "The `docker_image` target describes how to build and tag a Docker image.\n\nAny dependencies, as inferred or explicitly specified, will be included in the Docker build context, after being packaged if applicable.\n\nBy default, it will use a Dockerfile from the same directory as the BUILD file this target is defined in. Point at another file with the `source` field, or use the `instructions` field to have the Dockerfile contents verbatim directly in the BUILD file.\n\nDependencies on upstream/base images defined by another `docker_image` are inferred if referenced by a build argument with a default value of the target address.\n\nExample:\n\n # src/docker/downstream/Dockerfile\n ARG BASE=src/docker/upstream:image\n FROM $BASE\n ...", + "kotlin_source": { + "alias": "kotlin_source", + "description": "A single Kotlin source file containing application or library code.", "fields": [ { "alias": "tags", @@ -64922,14 +89105,6 @@ "required": false, "type_hint": "str | None" }, - { - "alias": "extra_build_args", - "default": "()", - "description": "Build arguments (`--build-arg`) to use when building this image. Entries are either strings in the form `ARG_NAME=value` to set an explicit value; or just `ARG_NAME` to copy the value from Pants's own environment.\n\nUse `[docker].build_args` to set default build args for all images.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" - }, { "alias": "dependencies", "default": null, @@ -64940,187 +89115,203 @@ }, { "alias": "source", - "default": "'Dockerfile'", - "description": "The Dockerfile to use when building the Docker image.\n\nUse the `instructions` field instead if you prefer not having the Dockerfile in your source tree.", + "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": false, - "type_hint": "str | None" + "required": true, + "type_hint": "str" }, { - "alias": "instructions", + "alias": "kotlinc_plugins", "default": null, - "description": "The `Dockerfile` content, typically one instruction per list item.\n\nUse the `source` field instead if you prefer having the Dockerfile in your source tree.\n\nExample:\n\n # example/BUILD\n docker_image(\n instructions=[\n \"FROM base/image:1.0\",\n \"RUN echo example\",\n ],\n )", + "description": "The IDs of Kotlin compiler plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `kotlinc_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[kotlinc].plugins_for_resolve` for this target's resolve.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "context_root", + "alias": "resolve", "default": null, - "description": "Specify which directory to use as the Docker build context root. This affects the file paths to use for the `COPY` and `ADD` instructions. For example, whether `COPY files/f.txt` should look for the file relative to the build root: `/files/f.txt` vs relative to the BUILD file: `/path_to_build_file/files/f.txt`.\n\nSpecify the `context_root` path as `files` for relative to build root, or as `./files` for relative to the BUILD file.\n\nIf `context_root` is not specified, it defaults to `[docker].default_context_root`.", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", "provider": "", "required": false, "type_hint": "str | None" }, { - "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/v2.19/docs/tagging-docker-images.", + "alias": "experimental_provides_types", + "default": null, + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "registries", - "default": "('',)", - "description": "List of addresses or configured aliases to any Docker registries to use for the built image.\n\nThe address is a domain name with optional port for your registry, and any registry aliases are prefixed with `@` for addresses in the `[docker].registries` configuration section.\n\nBy default, all configured registries with `default = true` are used.\n\nExample:\n\n # pants.toml\n [docker.registries.my-registry-alias]\n address = \"myregistrydomain:port\"\n default = false # optional\n\n # example/BUILD\n docker_image(\n registries = [\n \"@my-registry-alias\",\n \"myregistrydomain:port\",\n ],\n )\n\nThe above example shows two valid `registry` options: using an alias to a configured registry and the address to a registry verbatim in the BUILD file.", + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "repository", + "alias": "main", "default": null, - "description": "The repository name for the Docker image. e.g. `\"/\"`.\n\nIt uses the `[docker].default_repository` by default.\n\nRepository 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\nAdditional placeholders for the repository field are: `name`, `directory`, `parent_directory`, and `default_repository`.\n\nRegistries may also configure the repository value for specific registries.\n\nSee the documentation for `[docker].default_repository` for more information.", + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "image_labels", - "default": null, - "description": "Provide image metadata.\n\nLabel value 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 [Docker labels](https://docs.docker.com/config/labels-custom-metadata/#manage-labels-on-objects) for more information.", - "provider": "", + "alias": "skip_ktlint", + "default": "False", + "description": "If true, don't run Ktlint on this target's code.", + "provider": "pants.backend.experimental.kotlin.lint.ktlint", "required": false, - "type_hint": "Dict[str, str] | None" - }, + "type_hint": "bool" + } + ], + "provider": "pants.backend.experimental.kotlin", + "summary": "A single Kotlin source file containing application or library code." + }, + "kotlin_sources": { + "alias": "kotlin_sources", + "description": "Generate a `kotlin_source` target for each file in the `sources` field.", + "fields": [ { - "alias": "extra_build_hosts", + "alias": "tags", "default": null, - "description": "Extra hosts entries to be added to a container's `/etc/hosts` file.\n\nUse `[docker].build_hosts` to set default host entries for all images.", + "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": "Dict[str, str] | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "secrets", + "alias": "description", "default": null, - "description": "Secret files to expose to the build (only if BuildKit enabled).\n\nSecrets may use absolute paths, or paths relative to your build root, or the BUILD file if prefixed with `./`. Paths to your home directory will be automatically expanded. The id should be valid as used by the Docker build `--secret` option. See [Docker secrets](https://docs.docker.com/engine/swarm/secrets/) for more information.\n\nExample:\n\n docker_image(\n secrets={\n \"mysecret\": \"/var/secrets/some-secret\",\n \"repo-secret\": \"src/proj/secrets/some-secret\",\n \"home-dir-secret\": \"~/.config/some-secret\",\n \"target-secret\": \"./secrets/some-secret\",\n }\n )", + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", "provider": "", "required": false, - "type_hint": "Dict[str, str] | None" + "type_hint": "str | None" }, { - "alias": "ssh", - "default": "()", - "description": "SSH agent socket or keys to expose to the build (only if BuildKit enabled) (format: `default|[=|[,]]`)\n\nThe exposed agent and/or keys can then be used in your `Dockerfile` by mounting them in your `RUN` instructions:\n\n RUN --mount=type=ssh ...\n\nSee [Docker documentation](https://docs.docker.com/develop/develop-images/build_enhancements/#using-ssh-to-access-private-data-in-builds) for more information.", + "alias": "sources", + "default": "('*.kt',)", + "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=['Example.kt', 'New*.kt', '!OldIgnore.kt']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "skip_push", + "alias": "skip_ktlint", "default": "False", - "description": "If true, do not push this image to registries when running `pants publish`.", - "provider": "", + "description": "If true, don't run Ktlint on this target's code.", + "provider": "pants.backend.experimental.kotlin.lint.ktlint", "required": false, "type_hint": "bool" }, { - "alias": "target_stage", + "alias": "dependencies", "default": null, - "description": "Specify target build stage, rather than building the entire `Dockerfile`.\n\nWhen using multi-stage build, you may name your stages, and can target them when building to only selectively build a certain stage. See also the `--docker-build-target-stage` option.\n\nRead more about [multi-stage Docker builds](https://docs.docker.com/develop/develop-images/multistage-build/#stop-at-a-specific-build-stage)", + "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/v2.19/docs/targets 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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "pull", - "default": "False", - "description": "If true, then docker will always attempt to pull a newer version of the image.\n\nNOTE: This option cannot be used on images that build off of \"transitive\" base images referenced by address (i.e. `FROM path/to/your/base/Dockerfile`).", + "alias": "kotlinc_plugins", + "default": null, + "description": "The IDs of Kotlin compiler plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `kotlinc_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[kotlinc].plugins_for_resolve` for this target's resolve.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "squash", - "default": "False", - "description": "If true, then docker will squash newly built layers into a single new layer.\n\nNote that this option is only supported on a Docker daemon with experimental features enabled.", + "alias": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "build_network", + "alias": "jdk", "default": null, - "description": "Sets the networking mode for the run commands during build. Supported standard values are: bridge, host, none, and container:. Any other value is taken as a custom network's name to which the container should connect to.", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "build_platform", + "alias": "experimental_provides_types", "default": null, - "description": "Set the target platform(s) for the build.", + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "cache_to", + "alias": "main", "default": null, - "description": "Export image build cache to an external cache destination.\n\nThis option requires BuildKit to be enabled via the Docker subsystem options.\n\nExample:\n\n docker_image(\n name=\"example-local-cache-backend\",\n cache_to={\n \"type\": \"local\",\n \"dest\": \"/tmp/docker-cache/example\"\n },\n cache_from={\n \"type\": \"local\",\n \"src\": \"/tmp/docker-cache/example\"\n }\n )\n\nValues may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args.", + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", "provider": "", "required": false, - "type_hint": "Dict[str, str] | None" - }, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.kotlin", + "summary": "Generate a `kotlin_source` target for each file in the `sources` field." + }, + "kotlinc_plugin": { + "alias": "kotlinc_plugin", + "description": "A plugin for `kotlinc`.\n\nTo enable a `kotlinc` plugin, define a target with this target type, and set the `artifact` field to the address of a `jvm_artifact` target that provides the plugin. Set the `plugin_id` field to the ID of the plugin if that name cannot be inferred from the `name` of this target.\n\nThe standard `kotlinc` plugins are available via the following artifact coordinates and IDs:\n\n* All-open: `org.jetbrains.kotlin:kotlin-allopen:VERSION` (ID: `all-open`)\n* No-arg: `org.jetbrains.kotlin:kotlin-noarg:VERSION` (ID: `no-arg`)\n* SAM with receiver: `org.jetbrains.kotlin:kotlin-sam-with-receiver:VERSION` (ID: `sam-with-receiver`)\n* kapt (annotation processor): `org.jetbrains.kotlin:org.jetbrains.kotlin:kotlin-annotation-processing-embeddable:VERSION` (ID: `kapt3`)\n* Serialization: `org.jetbrains.kotlin:kotlin-serialization:VERSION` (ID: `serialization`)", + "fields": [ { - "alias": "cache_from", + "alias": "tags", "default": null, - "description": "Use an external cache source when building the image.\n\nThis option requires BuildKit to be enabled via the Docker subsystem options.\n\nExample:\n\n docker_image(\n name=\"example-local-cache-backend\",\n cache_to={\n \"type\": \"local\",\n \"dest\": \"/tmp/docker-cache/example\"\n },\n cache_from={\n \"type\": \"local\",\n \"src\": \"/tmp/docker-cache/example\"\n }\n )\n\nValues may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args.", + "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": "Dict[str, str] | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "output", - "default": "FrozenDict({'type': 'docker'})", - "description": "Sets the export action for the build result.\n\nThis option requires BuildKit to be enabled via the Docker subsystem options.\n\nWhen using `pants publish` to publish Docker images to a registry, the output type must be 'docker', as `publish` expects that the built images exist in the local image store.\n\nCurrently, multi-platform images cannot be exported with the 'docker' export type, although experimental support is available with the [containerd image store](https://docs.docker.com/desktop/containerd/)\n\nValues may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args.", + "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": "Dict[str, str] | None" + "type_hint": "str | None" }, { - "alias": "output_path", + "alias": "artifact", "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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.", + "description": "The address of a `jvm_artifact` that defines a plugin for `kotlinc`.", "provider": "", - "required": false, - "type_hint": "str | None" + "required": true, + "type_hint": "str" }, { - "alias": "restartable", - "default": "False", - "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "alias": "plugin_id", + "default": null, + "description": "The ID for `kotlinc` to use when setting options for the plugin.\n\nIf not set, the plugin ID defaults to the target name.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_hadolint", - "default": "False", - "description": "If true, don't run hadolint on this target's Dockerfile.", - "provider": "pants.backend.docker.lint.hadolint", + "alias": "plugin_args", + "default": null, + "description": "Optional list of argument to pass to the plugin.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" } ], - "provider": "pants.backend.docker", - "summary": "The `docker_image` target describes how to build and tag a Docker image." + "provider": "pants.backend.experimental.kotlin", + "summary": "A plugin for `kotlinc`." }, - "experimental_test_shell_command": { - "alias": "experimental_test_shell_command", - "description": "Run a script as a test via the `test` goal, with all dependencies packaged/copied available in the chroot.\n\nExample BUILD file:\n\n experimental_test_shell_command(\n name=\"test\",\n tools=[\"test\"],\n command=\"test -r $CHROOT/some-data-file.txt\",\n execution_dependencies=[\"src/project/files:data\"],\n )\n\nThe `command` may use either `{chroot}` on the command line, or the `$CHROOT` environment variable to get the root directory for where any dependencies are located.\n\nIn contrast to the `run_shell_command`, this target is intended to run shell commands as tests and will only run them via the `test` goal.", + "local_environment": { + "alias": "local_environment", + "description": "Configuration of a local execution environment for specific platforms.\n\nEnvironment configuration includes the platforms the environment is compatible with, and optionally a fallback environment, along with environment-aware options (such as environment variables and search paths) used by Pants to execute processes in this environment.\n\nTo use this environment, map this target's address with a memorable name in `[environments-preview].names`. You can then consume this environment by specifying the name in the `environment` field defined on other targets.\n\nOnly one `local_environment` may be defined in `[environments-preview].names` per platform, and when `__local__` is specified as the environment, the `local_environment` that matches the current platform (if defined) will be selected.", "fields": [ { "alias": "tags", @@ -65139,284 +89330,260 @@ "type_hint": "str | None" }, { - "alias": "execution_dependencies", - "default": null, - "description": "The execution dependencies for this command.\n\nDependencies specified here are those required to make the command complete successfully (e.g. file inputs, packages compiled from other targets, etc), but NOT required to make the outputs of the command useful. Dependencies that are required to use the outputs produced by this command should be specified using the `output_dependencies` field.\n\nIf this field is specified, dependencies from `output_dependencies` will not be added to the execution sandbox.\n\nSee also `output_dependencies` and `runnable_dependencies`.", + "alias": "compatible_platforms", + "default": "('linux_arm64', 'linux_x86_64', 'macos_arm64', 'macos_x86_64')", + "description": "Which platforms this environment can be used with.\n\nThis is used for Pants to automatically determine which environment target to use for the user's machine when the environment is set to the special value `__local__`. Currently, there cannot be more than one environment target registered in `[environments-preview].names` for a particular platform. If there is no environment target for a certain platform, Pants will use the options system instead to determine environment variables and executable search paths.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "command", + "alias": "fallback_environment", "default": null, - "description": "Shell command to execute.\n\nThe command is executed as `'bash -c '` by default. If you want to invoke a binary use `exec -a $0 ` as the command so that the binary gets the correct `argv[0]` set.", - "provider": "", - "required": true, - "type_hint": "str" - }, - { - "alias": "log_output", - "default": "False", - "description": "Set to true if you want the output logged to the console.", + "description": "The environment to fallback to when this local environment cannot be used because the field `compatible_platforms` is not compatible with the local host.\n\nMust be an environment name from the option `[environments-preview].names`, the special string `__local__` to use the relevant local environment, or the Python value `None` to error when this specific local environment cannot be used.\n\nTip: when targeting Linux, it can be particularly helpful to fallback to a `docker_environment` or `remote_environment` target. That allows you to prefer using the local host when possible, which often has less overhead (particularly compared to Docker). If the local host is not compatible, then Pants will use Docker or remote execution to still run in a similar environment.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "timeout", - "default": "30", - "description": "Command execution timeout (in seconds).", - "provider": "", + "alias": "golang_external_linker_binary_name", + "default": null, + "description": "Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, - "type_hint": "int | None" + "type_hint": "str | None" }, { - "alias": "tools", - "default": "()", - "description": "Specify required executable tools that might be used.\n\nOnly the tools explicitly provided will be available on the search PATH, and these tools must be found on the paths provided by `[shell-setup].executable_search_paths` (which defaults to the system PATH).", - "provider": "", + "alias": "nodejs_executable_search_paths", + "default": null, + "description": "Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "extra_env_vars", + "alias": "go_generate_env_vars", "default": null, - "description": "Additional environment variables to provide to the process.\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.", - "provider": "", + "description": "Overrides the default value from the option `[go-generate].env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", - "provider": "", + "alias": "golang_cgo_gxx_binary_name", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "str | None" }, { - "alias": "skip_tests", - "default": "False", - "description": "If true, don't run this tests for target.", - "provider": "", + "alias": "golang_cgo_cxx_flags", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "workdir", - "default": "'.'", - "description": "Sets the working directory for the process.\n\nValues are relative to the build root, except in the following cases:\n\n* `.` specifies the location of the `BUILD` file.\n* Values beginning with `./` are relative to the location of the `BUILD` file.\n* `/` or the empty string specifies the build root.\n* Values beginning with `/` are also relative to the build root.", - "provider": "", + "alias": "python_native_code_cpp_flags", + "default": null, + "description": "Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.shell", - "summary": "Run a script as a test via the `test` goal, with all dependencies packaged/copied available in the chroot." - }, - "experimental_wrap_as_go_package_sources": { - "alias": "experimental_wrap_as_go_package_sources", - "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `GoPackageSourcesField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .go, .s, .S, .sx, .c, .h, .hh, .hpp, .hxx, .cc, .cpp, .cxx, .m, .f, .F, .for, .f90, .syso\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", - "fields": [ + "type_hint": "Iterable[str] | None" + }, { - "alias": "tags", + "alias": "pex_executable_search_paths", "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": "", + "description": "Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active.", + "provider": "pants.core", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "description", + "alias": "apache_thrift_thrift_search_paths", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "description": "Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active.", + "provider": "pants.backend.codegen.thrift.apache.python", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "inputs", + "alias": "test_extra_env_vars", "default": null, - "description": "The input targets that are to be made available by this target.", - "provider": "", - "required": true, - "type_hint": "Iterable[str]" + "description": "Overrides the default value from the option `[test].extra_env_vars` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" }, { - "alias": "outputs", + "alias": "system_binaries_system_binary_paths", "default": null, - "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", - "provider": "", + "description": "Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active.", + "provider": "pants.core", "required": false, "type_hint": "Iterable[str] | None" - } - ], - "provider": "pants.backend.experimental.go", - "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `GoPackageSourcesField`." - }, - "experimental_wrap_as_java_sources": { - "alias": "experimental_wrap_as_java_sources", - "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `JavaSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .java\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", - "fields": [ + }, { - "alias": "tags", + "alias": "docker_env_vars", "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": "", + "description": "Overrides the default value from the option `[docker].env_vars` when this environment target is active.", + "provider": "pants.backend.docker", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "description", + "alias": "nodejs_search_path", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "description": "Overrides the default value from the option `[nodejs].search_path` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "inputs", + "alias": "golang_cgo_fortran_binary_name", "default": null, - "description": "The input targets that are to be made available by this target.", - "provider": "", - "required": true, - "type_hint": "Iterable[str]" + "description": "Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "str | None" }, { - "alias": "outputs", + "alias": "golang_cgo_fortran_flags", "default": null, - "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", - "provider": "", + "description": "Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "Iterable[str] | None" - } - ], - "provider": "pants.backend.experimental.java", - "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `JavaSourceField`." - }, - "experimental_wrap_as_kotlin_sources": { - "alias": "experimental_wrap_as_kotlin_sources", - "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `KotlinSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .kt\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", - "fields": [ + }, { - "alias": "tags", + "alias": "golang_cgo_linker_flags", "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": "", + "description": "Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "description", + "alias": "golang_cgo_gcc_binary_name", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "description": "Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "str | None" }, { - "alias": "inputs", + "alias": "pyenv_python_provider_installation_extra_env_vars", "default": null, - "description": "The input targets that are to be made available by this target.", - "provider": "", - "required": true, - "type_hint": "Iterable[str]" + "description": "Overrides the default value from the option `[pyenv-python-provider].installation_extra_env_vars` when this environment target is active.", + "provider": "pants.backend.python.providers.experimental.pyenv", + "required": false, + "type_hint": "Iterable[str] | None" }, { - "alias": "outputs", + "alias": "golang_cgo_c_flags", "default": null, - "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", - "provider": "", + "description": "Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "Iterable[str] | None" - } - ], - "provider": "pants.backend.experimental.kotlin", - "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `KotlinSourceField`." - }, - "experimental_wrap_as_python_sources": { - "alias": "experimental_wrap_as_python_sources", - "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `PythonSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .py, .pyi\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", - "fields": [ + }, { - "alias": "tags", + "alias": "subprocess_environment_env_vars", "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": "", + "description": "Overrides the default value from the option `[subprocess-environment].env_vars` when this environment target is active.", + "provider": "pants.core", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "description", + "alias": "golang_go_search_paths", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "description": "Overrides the default value from the option `[golang].go_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "inputs", + "alias": "docker_executable_search_paths", "default": null, - "description": "The input targets that are to be made available by this target.", - "provider": "", - "required": true, - "type_hint": "Iterable[str]" + "description": "Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.docker", + "required": false, + "type_hint": "Iterable[str] | None" }, { - "alias": "outputs", + "alias": "shell_setup_executable_search_paths", "default": null, - "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", - "provider": "", + "description": "Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.shell", "required": false, "type_hint": "Iterable[str] | None" - } - ], - "provider": "pants.backend.python", - "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `PythonSourceField`." - }, - "experimental_wrap_as_resources": { - "alias": "experimental_wrap_as_resources", - "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ResourceSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files from `inputs` will be matched.\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", - "fields": [ + }, + { + "alias": "python_native_code_ld_flags", + "default": null, + "description": "Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "python_bootstrap_names", + "default": null, + "description": "Overrides the default value from the option `[python-bootstrap].names` when this environment target is active.", + "provider": "pants.core", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_subprocess_env_vars", + "default": null, + "description": "Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, { - "alias": "tags", + "alias": "jvm_global_options", "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": "", + "description": "Overrides the default value from the option `[jvm].global_options` when this environment target is active.", + "provider": "pants.backend.experimental.java", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "description", + "alias": "python_bootstrap_search_path", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "description": "Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "inputs", + "alias": "nodejs_corepack_env_vars", "default": null, - "description": "The input targets that are to be made available by this target.", - "provider": "", - "required": true, - "type_hint": "Iterable[str]" + "description": "Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", + "required": false, + "type_hint": "Iterable[str] | None" }, { - "alias": "outputs", + "alias": "golang_cgo_tool_search_paths", "default": null, - "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", - "provider": "", + "description": "Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "Iterable[str] | None" } ], "provider": "pants.core", - "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ResourceSourceField`." + "summary": "Configuration of a local execution environment for specific platforms." }, - "experimental_wrap_as_scala_sources": { - "alias": "experimental_wrap_as_scala_sources", - "description": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ScalaSourceField`.\n\nNote that this target does not modify the files in any way. If `outputs` is not specified, all files with the following extensions will be matched: .scala\n\nThis target must be explicitly specified as a dependency of any target that requires it. Sources from this target will not be automatically inferred as dependencies.\n\nThis target is experimental: in future versions of Pants, this functionality may be made available with a different interface.", + "node_package": { + "alias": "node_package", + "description": "A first party node package.", "fields": [ { "alias": "tags", @@ -65435,41 +89602,25 @@ "type_hint": "str | None" }, { - "alias": "inputs", - "default": null, - "description": "The input targets that are to be made available by this target.", - "provider": "", - "required": true, - "type_hint": "Iterable[str]" - }, - { - "alias": "outputs", - "default": null, - "description": "The output files that are made available in the new context by this target. If not specified, the target will capture all files with the expected extensions for this source format: see the help for the target for the specific extensions. If no extensions are specified and this value is not specified, all input files will be returned.", + "alias": "source", + "default": "'package.json'", + "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": "Iterable[str] | None" - } - ], - "provider": "pants.backend.experimental.scala", - "summary": "Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ScalaSourceField`." - }, - "file": { - "alias": "file", - "description": "A single loose file that lives outside of code packages.\n\nFiles are placed directly in archives, outside of code artifacts such as Python wheels or JVM JARs. The sources of a `file` target are accessed via filesystem APIs, such as Python's `open()`, via paths relative to the repository root.", - "fields": [ + "type_hint": "str | None" + }, { - "alias": "tags", + "alias": "package", "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.", + "description": "Name of the Node package, as specified in the package.json.\n\nThis field should not be overridden; use the value from target generation.", "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "required": true, + "type_hint": "str" }, { - "alias": "description", + "alias": "version", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "description": "Version of the Node package, as specified in the package.json.\n\nThis field should not be overridden; use the value from target generation.", "provider": "", "required": false, "type_hint": "str | None" @@ -65481,22 +89632,14 @@ "provider": "", "required": false, "type_hint": "Iterable[str] | None" - }, - { - "alias": "source", - "default": null, - "description": "The source of this target.\n\nIf a string is provided, represents a path that is relative to the BUILD file's directory, e.g. `source='example.ext'`.\n\nIf an `http_source` is provided, represents the network location to download the source from. The downloaded file will exist in the sandbox in the same directory as the target.\n\n`http_source` has the following signature:\n\n http_source(url: str, *, len: int, sha256: str, filename: str = \"\")\n\nThe filename defaults to the last part of the URL path (e.g. `example.ext`), but can also be specified if you wish to have control over the file name. You cannot, however, specify a path separator to download the file into a subdirectory (you must declare a target in desired subdirectory).\n\nYou can easily get the len and checksum with the following command:\n\n curl -L $URL | tee >(wc -c) >(shasum -a 256) >/dev/null\n\nIf a `per_platform` is provided, represents a mapping from platform to `http_source`, where the platform is one of (`linux_arm64`, `linux_x86_64`, `macos_arm64`, `macos_x86_64`) and is resolved in the execution target. Each `http_source` value MUST have the same filename provided.", - "provider": "", - "required": true, - "type_hint": "str | http_source | pants.core.target_types.per_platform[pants.core.target_types.http_source]" } ], - "provider": "pants.core", - "summary": "A single loose file that lives outside of code packages." + "provider": "pants.backend.experimental.javascript", + "summary": "A first party node package." }, - "files": { - "alias": "files", - "description": "Generate a `file` target for each file in the `sources` field.", + "node_third_party_package": { + "alias": "node_third_party_package", + "description": "A third party node package.", "fields": [ { "alias": "tags", @@ -65515,20 +89658,20 @@ "type_hint": "str | None" }, { - "alias": "sources", + "alias": "package", "default": null, - "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=['example.txt', 'new_*.md', '!old_ignore.csv']`", + "description": "Name of the Node package, as specified in the package.json.\n\nThis field should not be overridden; use the value from target generation.", "provider": "", "required": true, - "type_hint": "Iterable[str]" + "type_hint": "str" }, { - "alias": "overrides", + "alias": "version", "default": null, - "description": "Override the field values for generated `file` 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.json\": {\"description\": \"our customer model\"]},\n \"bar.json\": {\"description\": \"our product model\"]},\n (\"foo.json\", \"bar.json\"): {\"tags\": [\"overridden\"]},\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 `file` 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.", + "description": "Version of the Node package, as specified in the package.json.\n\nThis field should not be overridden; use the value from target generation.", "provider": "", - "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "required": true, + "type_hint": "str" }, { "alias": "dependencies", @@ -65539,12 +89682,12 @@ "type_hint": "Iterable[str] | None" } ], - "provider": "pants.core", - "summary": "Generate a `file` target for each file in the `sources` field." + "provider": "pants.backend.experimental.javascript", + "summary": "A third party node package." }, - "go_binary": { - "alias": "go_binary", - "description": "A Go binary.", + "openapi_document": { + "alias": "openapi_document", + "description": "A single OpenAPI document file.", "fields": [ { "alias": "tags", @@ -65563,100 +89706,76 @@ "type_hint": "str | None" }, { - "alias": "output_path", - "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "main", + "alias": "dependencies", "default": null, - "description": "Address of the `go_package` with the `main` for this binary.\n\nIf not specified, will default to the `go_package` for the same directory as this target's BUILD file. You should usually rely on this default.", + "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/v2.19/docs/targets 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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "cgo_enabled", + "alias": "source", "default": null, - "description": "Enable Cgo support, which allows Go and C code to interact. This option must be enabled for any packages making use of Cgo to actually be compiled with Cgo support.\n\nThis field can be specified on several different target types, including `go_binary` and `go_mod` target types. If this field is specified on a `go_binary` target, then that instance takes precedence over other configuration when building the applicable executable. The applicable `go_mod` target will be checked next as a fallback. Finally, if neither target specifies this field, then the value will be taken from the value of the `[golang].cgo_enabled` option. (Note: That option will be deprecated in a future Pants version.)\n\nSee https://go.dev/blog/cgo and https://pkg.go.dev/cmd/cgo for additional information about Cgo.", + "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": "bool | None" + "required": true, + "type_hint": "str" }, { - "alias": "race", - "default": null, - "description": "Enable compiling the binary with the Go data race detector.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", - "provider": "", + "alias": "skip_spectral", + "default": "False", + "description": "If true, don't run `spectral lint` on this target's code.", + "provider": "pants.backend.experimental.openapi.lint.spectral", "required": false, - "type_hint": "bool | None" + "type_hint": "bool" }, { - "alias": "msan", - "default": null, - "description": "Enable interoperation between Go code and the C/C++ \"memory sanitizer.\"\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", - "provider": "", + "alias": "skip_java", + "default": "False", + "description": "If true, skips generation of Java sources from this target", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, - "type_hint": "bool | None" + "type_hint": "bool" }, { - "alias": "asan", + "alias": "jvm_resolve", "default": null, - "description": "Enable interoperation between Go code and the C/C++ \"address sanitizer.\"\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", - "provider": "", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, - "type_hint": "bool | None" + "type_hint": "str | None" }, { - "alias": "assembler_flags", + "alias": "java_api_package", "default": null, - "description": "Extra flags to pass to the Go assembler (i.e., `go tool asm`) when assembling Go-format assembly code.\n\nNote: These flags will not be added to gcc/clang-format assembly that is assembled in packages using Cgo.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the assembler flags are used when building any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the assembler flags are used when building any packages comprising that binary including third-party dependencies. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the assembler flags are used only for building that specific package and not for any other package. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/asm` to see the flags supported by `go tool asm`.", - "provider": "", + "description": "Root package for generated API code", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "compiler_flags", + "alias": "jvm_jdk", "default": null, - "description": "Extra flags to pass to the Go compiler (i.e., `go tool compile`) when compiling Go code.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the compiler flags are used when compiling any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the compiler flags are used when compiling any packages comprising that binary including third-party dependencies. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the compiler flags are used only for compiling that specific package and not for any other package. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/compile` to see the flags supported by `go tool compile`.", - "provider": "", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "linker_flags", + "alias": "java_model_package", "default": null, - "description": "Extra flags to pass to the Go linker (i.e., `go tool link`) when linking Go binaries.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the linker flags are used when linking any binary involving the module including both `go_binary` targets and test binaries for `go_package` targets within the module.\n\n- On `go_binary` targets, the linker flags are used when linking that binary. These linker flags will be added after any linker flags added by any `linker_flags` field set on the applicable `go_mod` target.\n\nRun `go doc cmd/link` to see the flags supported by `go tool link`.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" - }, - { - "alias": "restartable", - "default": "False", - "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", - "provider": "", - "required": false, - "type_hint": "bool" - }, - { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", - "provider": "", + "description": "Root package for generated model code", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.go", - "summary": "A Go binary." + "provider": "pants.backend.experimental.openapi", + "summary": "A single OpenAPI document file." }, - "go_mod": { - "alias": "go_mod", - "description": "A first-party Go module (corresponding to a `go.mod` file).\n\nGenerates `go_third_party_package` targets based on the `require` directives in your `go.mod`.\n\nIf you have third-party packages, make sure you have an up-to-date `go.sum`. Run `go mod tidy` directly to update your `go.mod` and `go.sum`.", + "openapi_documents": { + "alias": "openapi_documents", + "description": "Generate an `openapi_document` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -65675,68 +89794,76 @@ "type_hint": "str | None" }, { - "alias": "cgo_enabled", - "default": null, - "description": "Enable Cgo support, which allows Go and C code to interact. This option must be enabled for any packages making use of Cgo to actually be compiled with Cgo support.\n\nThis field can be specified on several different target types, including `go_binary` and `go_mod` target types. If this field is specified on a `go_binary` target, then that instance takes precedence over other configuration when building the applicable executable. The applicable `go_mod` target will be checked next as a fallback. Finally, if neither target specifies this field, then the value will be taken from the value of the `[golang].cgo_enabled` option. (Note: That option will be deprecated in a future Pants version.)\n\nSee https://go.dev/blog/cgo and https://pkg.go.dev/cmd/cgo for additional information about Cgo.", + "alias": "sources", + "default": "('openapi.json', 'openapi.yaml', 'openapi.yml')", + "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=['openapi.json']`", "provider": "", "required": false, - "type_hint": "bool | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "race", - "default": null, - "description": "Enable compiling the binary with the Go data race detector.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", - "provider": "", + "alias": "skip_spectral", + "default": "False", + "description": "If true, don't run `spectral lint` on this target's code.", + "provider": "pants.backend.experimental.openapi.lint.spectral", "required": false, - "type_hint": "bool | None" + "type_hint": "bool" }, { - "alias": "msan", + "alias": "skip_java", + "default": "False", + "description": "If true, skips generation of Java sources from this target", + "provider": "pants.backend.experimental.openapi.codegen.java", + "required": false, + "type_hint": "bool" + }, + { + "alias": "jvm_resolve", "default": null, - "description": "Enable interoperation between Go code and the C/C++ \"memory sanitizer.\"\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", - "provider": "", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, - "type_hint": "bool | None" + "type_hint": "str | None" }, { - "alias": "asan", + "alias": "java_api_package", "default": null, - "description": "Enable interoperation between Go code and the C/C++ \"address sanitizer.\"\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", - "provider": "", + "description": "Root package for generated API code", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, - "type_hint": "bool | None" + "type_hint": "str | None" }, { - "alias": "assembler_flags", + "alias": "jvm_jdk", "default": null, - "description": "Extra flags to pass to the Go assembler (i.e., `go tool asm`) when assembling Go-format assembly code.\n\nNote: These flags will not be added to gcc/clang-format assembly that is assembled in packages using Cgo.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the assembler flags are used when building any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the assembler flags are used when building any packages comprising that binary including third-party dependencies. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the assembler flags are used only for building that specific package and not for any other package. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/asm` to see the flags supported by `go tool asm`.", - "provider": "", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "compiler_flags", + "alias": "java_model_package", "default": null, - "description": "Extra flags to pass to the Go compiler (i.e., `go tool compile`) when compiling Go code.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the compiler flags are used when compiling any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the compiler flags are used when compiling any packages comprising that binary including third-party dependencies. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the compiler flags are used only for compiling that specific package and not for any other package. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/compile` to see the flags supported by `go tool compile`.", - "provider": "", + "description": "Root package for generated model code", + "provider": "pants.backend.experimental.openapi.codegen.java", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "linker_flags", + "alias": "dependencies", "default": null, - "description": "Extra flags to pass to the Go linker (i.e., `go tool link`) when linking Go binaries.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the linker flags are used when linking any binary involving the module including both `go_binary` targets and test binaries for `go_package` targets within the module.\n\n- On `go_binary` targets, the linker flags are used when linking that binary. These linker flags will be added after any linker flags added by any `linker_flags` field set on the applicable `go_mod` target.\n\nRun `go doc cmd/link` to see the flags supported by `go tool link`.", + "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/v2.19/docs/targets 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.go", - "summary": "A first-party Go module (corresponding to a `go.mod` file)." + "provider": "pants.backend.experimental.openapi", + "summary": "Generate an `openapi_document` target for each file in the `sources` field." }, - "go_package": { - "alias": "go_package", - "description": "A first-party Go package (corresponding to a directory with `.go` files).\n\nExpects that there is a `go_mod` target in its directory or in an ancestor directory.", + "openapi_source": { + "alias": "openapi_source", + "description": "A single OpenAPI source file.", "fields": [ { "alias": "tags", @@ -65763,92 +89890,76 @@ "type_hint": "Iterable[str] | None" }, { - "alias": "sources", - "default": "('*.go',)", - "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=['example.go', '*_test.go', '!test_ignore.go']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" - }, - { - "alias": "test_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": "test_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": "test_race", + "alias": "source", "default": null, - "description": "Enable compiling this package's test binary with the Go data race detector.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", + "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": "bool | None" + "required": true, + "type_hint": "str" }, { - "alias": "test_msan", - "default": null, - "description": "Enable interoperation between Go code and the C/C++ \"memory sanitizer\" when building this package's test binary.\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", - "provider": "", + "alias": "skip_openapi_format", + "default": "False", + "description": "If true, don't run `openapi-format` on this target's code.", + "provider": "pants.backend.experimental.openapi.lint.openapi_format", "required": false, - "type_hint": "bool | None" - }, + "type_hint": "bool" + } + ], + "provider": "pants.backend.experimental.openapi", + "summary": "A single OpenAPI source file." + }, + "openapi_sources": { + "alias": "openapi_sources", + "description": "Generate an `openapi_source` target for each file in the `sources` field.", + "fields": [ { - "alias": "test_asan", + "alias": "tags", "default": null, - "description": "Enable interoperation between Go code and the C/C++ \"address sanitizer\" when building this package's test binary.\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", + "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": "bool | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "assembler_flags", + "alias": "description", "default": null, - "description": "Extra flags to pass to the Go assembler (i.e., `go tool asm`) when assembling Go-format assembly code.\n\nNote: These flags will not be added to gcc/clang-format assembly that is assembled in packages using Cgo.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the assembler flags are used when building any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the assembler flags are used when building any packages comprising that binary including third-party dependencies. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the assembler flags are used only for building that specific package and not for any other package. These assembler flags will be added after any assembler flags added by any `assembler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/asm` to see the flags supported by `go tool asm`.", + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "compiler_flags", - "default": null, - "description": "Extra flags to pass to the Go compiler (i.e., `go tool compile`) when compiling Go code.\n\nThis field can be specified on several different target types:\n\n- On `go_mod` targets, the compiler flags are used when compiling any package involving the module including both first-party (i.e., `go_package` targets) and third-party dependencies.\n\n- On `go_binary` targets, the compiler flags are used when compiling any packages comprising that binary including third-party dependencies. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target.\n\n- On `go_package` targets, the compiler flags are used only for compiling that specific package and not for any other package. These compiler flags will be added after any compiler flags added by any `compiler_flags` field set on the applicable `go_mod` target or applicable `go_binary` target.\n\nRun `go doc cmd/compile` to see the flags supported by `go tool compile`.", + "alias": "sources", + "default": "('*.json', '*.yaml', '*.yml')", + "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=['*.json']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "skip_tests", + "alias": "skip_openapi_format", "default": "False", - "description": "If true, don't run this package's tests.", - "provider": "", + "description": "If true, don't run `openapi-format` on this target's code.", + "provider": "pants.backend.experimental.openapi.lint.openapi_format", "required": false, "type_hint": "bool" }, { - "alias": "skip_gofmt", - "default": "False", - "description": "If true, don't run gofmt on this package.", - "provider": "pants.backend.experimental.go", + "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/v2.19/docs/targets 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": "bool" + "type_hint": "Iterable[str] | None" } ], - "provider": "pants.backend.experimental.go", - "summary": "A first-party Go package (corresponding to a directory with `.go` files)." + "provider": "pants.backend.experimental.openapi", + "summary": "Generate an `openapi_source` target for each file in the `sources` field." }, - "go_third_party_package": { - "alias": "go_third_party_package", - "description": "A package from a third-party Go module.\n\nYou should not explicitly create this target in BUILD files. Instead, add a `go_mod` target where you have your `go.mod` file, which will generate `go_third_party_package` targets for you.\n\nMake sure that your `go.mod` and `go.sum` files include this package's module.", + "package_json": { + "alias": "package_json", + "description": "A package.json file describing a nodejs package. (https://nodejs.org/api/packages.html#introduction)\n\nGenerates a `node_package` target for the package.\n\nGenerates `node_third_party_package` targets for each specified 3rd party dependency (e.g. in the package.json#devDependencies field).", "fields": [ { "alias": "tags", @@ -65867,28 +89978,36 @@ "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/v2.19/docs/targets 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": "source", + "default": "'package.json'", + "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": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "import_path", + "alias": "scripts", + "default": "()", + "description": "Custom node package manager scripts that should be known and ran as part of relevant goals.\n\nMaps the package.json#scripts section to a cacheable pants invocation.", + "provider": "", + "required": false, + "type_hint": "Iterable[Any] | None" + }, + { + "alias": "dependencies", "default": null, - "description": "Import path in Go code to import this package.\n\nThis field should not be overridden; use the value from target generation.", + "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/v2.19/docs/targets 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": "str" + "required": false, + "type_hint": "Iterable[str] | None" } ], - "provider": "pants.backend.experimental.go", - "summary": "A package from a third-party Go module." + "provider": "pants.backend.experimental.javascript", + "summary": "A package.json file describing a nodejs package. (https://nodejs.org/api/packages.html#introduction)" }, - "helm_artifact": { - "alias": "helm_artifact", - "description": "A third party Helm artifact.", + "pants_requirements": { + "alias": "pants_requirements", + "description": "Generate `python_requirement` targets for Pants itself to use with Pants plugins.\n\nThis is useful when writing plugins so that you can build and test your plugin using Pants.\n\nThe generated targets will have the correct version based on the exact `version` in your `pants.toml`, and they will work with dependency inference. They're pulled directly from our GitHub releases, using the relevant platform markers.\n\n(If this versioning scheme does not work for you, you can directly create `python_requirement` targets for `pantsbuild.pants` and `pantsbuild.pants.testutil`. We also invite you to share your ideas at https://github.com/pantsbuild/pants/issues/new/choose)", "fields": [ { "alias": "tags", @@ -65907,44 +90026,36 @@ "type_hint": "str | None" }, { - "alias": "registry", - "default": null, - "description": "Either registry alias (prefixed by `@`) configured in `[helm.registries]` for the Helm artifact or the full OCI registry URL.", + "alias": "version_spec", + "default": "'== 2.19.0rc5'", + "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, "type_hint": "str | None" }, { - "alias": "repository", - "default": null, - "description": "Either a HTTP(S) URL to a classic repository, or a path inside an OCI registry (when `registry` is provided).", + "alias": "testutil", + "default": "True", + "description": "If true, include `pantsbuild.pants.testutil` to write tests for your plugin.", "provider": "", "required": false, - "type_hint": "str | None" - }, - { - "alias": "artifact", - "default": null, - "description": "Artifact name of the chart, without version number.", - "provider": "", - "required": true, - "type_hint": "str" + "type_hint": "bool" }, { - "alias": "version", + "alias": "resolve", "default": null, - "description": "The `version` part of a third party Helm chart.", + "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": true, - "type_hint": "str" + "required": false, + "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.helm", - "summary": "A third party Helm artifact." + "provider": "pants.backend.plugin_development", + "summary": "Generate `python_requirement` targets for Pants itself to use with Pants plugins." }, - "helm_chart": { - "alias": "helm_chart", - "description": "A Helm chart.", + "pex_binaries": { + "alias": "pex_binaries", + "description": "Generate a `pex_binary` target for each entry_point in the `entry_points` field.\n\nThis is solely meant to reduce duplication when you have multiple scripts in the same directory; it's valid to use a distinct `pex_binary` target for each script/binary instead.\n\nThis target generator does not work well to generate `pex_binary` targets where the entry point is for a third-party dependency. Dependency inference will not work for those, so you will have to set lots of custom metadata for each binary; prefer an explicit `pex_binary` target in that case. This target generator works best when the entry point is a first-party file, like `app.py` or `app.py:main`.", "fields": [ { "alias": "tags", @@ -65963,204 +90074,180 @@ "type_hint": "str | None" }, { - "alias": "chart", - "default": "'Chart.yaml'", - "description": "The chart definition file.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "alias": "sources", - "default": "('values.yaml', 'values.yml', 'templates/*.yaml', 'templates/*.yml', 'templates/*.tpl', 'crds/*.yaml', 'crds/*.yml')", - "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=['values.yaml', 'templates/*.yaml', '!values_ignore.yaml']`", + "alias": "entry_points", + "default": null, + "description": "The entry points for each binary, i.e. what gets run when when executing `./my_app.pex.`\n\nUse a file name, relative to the BUILD file, like `app.py`. You can also set the function to run, like `app.py:func`. Pants will convert these file names into well-formed entry points, like `app.py:func` into `path.to.app:func.`\n\nIf you want the entry point to be for a third-party dependency or to use a console script, use the `pex_binary` target directly.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "dependencies", + "alias": "overrides", "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/v2.19/docs/targets 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": "Override the field values for generated `pex_binary` targets.\n\nExpects a dictionary mapping values from the `entry_points` field to a dictionary for their overrides. You may either use a single string or a tuple of strings to override multiple targets.\n\nFor example:\n\n overrides={\n \"foo.py\": {\"execution_mode\": \"venv\"]},\n \"bar.py:main\": {\"restartable\": True]},\n (\"foo.py\", \"bar.py:main\"): {\"tags\": [\"legacy\"]},\n }\n\nEvery key is validated to belong to this target's `entry_points` field.\n\nIf you'd like to override a field's value for every `pex_binary` target generated by this target, change the field directly on this target rather than using the `overrides` field.\n\nYou can specify the same `entry_point` in multiple keys, so long as you don't override the same field more than one time for the `entry_point`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "output_path", - "default": null, - "description": "Where the built directory tree should be located.\n\nIf undefined, this will use the path to the BUILD file, For example, `src/charts/mychart:tgt_name` would be `src.charts.mychart/tgt_name/`.\n\nRegardless of whether you use the default or set this field, the path will end with Helms's file format of `-.tgz`, where `chart_name` and `chart_version` are the values extracted from the Chart.yaml file. So, using the default for this field, the target `src/charts/mychart:tgt_name` might have a final path like `src.charts.mychart/tgt_name/mychart-0.1.0.tgz`.\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.", + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "lint_strict", + "alias": "interpreter_constraints", "default": null, - "description": "If set to true, enables strict linting of this Helm chart.", + "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, - "type_hint": "bool | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "repository", + "alias": "resolve", "default": null, - "description": "Repository to use in the Helm registry where this chart is going to be published.\n\nIf no value is given and `[helm].default-registry-repository` is undefined too, then the chart will be pushed to the root of the OCI registry.", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "version", + "alias": "dependencies", "default": null, - "description": "Version number for the given Helm chart.\n\nWhen specified, the version provided in the source Chart.yaml file will be overriden by the value given to this field.", + "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/v2.19/docs/targets 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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "registries", - "default": "('',)", - "description": "List of addresses or configured aliases to any OCI registries to use for the built chart.\n\nThe address is an `oci://` prefixed domain name with optional port for your registry, and any registry aliases are prefixed with `@` for addresses in the `[helm].registries` configuration section.\n\nBy default, all configured registries with `default = true` are used.\n\nExample:\n\n # pants.toml\n [helm.registries.my-registry-alias]\n address = \"oci://myregistrydomain:port\"\n default = false # optional\n\n # example/BUILD\n helm_chart(\n registries = [\n \"@my-registry-alias\",\n \"oci://myregistrydomain:port\",\n ],\n )\n\nThe above example shows two valid `registry` options: using an alias to a configured registry and the address to a registry verbatim in the BUILD file.", + "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` 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/v2.19/docs/pex for details.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "skip_push", - "default": "False", - "description": "If set to true, do not push this Helm chart to registries when running `pants publish`.", + "alias": "resolve_local_platforms", + "default": null, + "description": "For each of the `platforms` specified, attempt to find a local interpreter that matches.\n\nIf a matching interpreter is found, use the interpreter to resolve distributions and build any that are only available in source distribution form. If no matching interpreter is found (or if this option is `False`), resolve for the platform by accepting only pre-built binary distributions (wheels).", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "bool | None" }, { - "alias": "skip_lint", - "default": "False", - "description": "If set to true, do not run any linting in this Helm chart when running `pants lint`.", - "provider": "", - "required": false, - "type_hint": "bool" - } - ], - "provider": "pants.backend.experimental.helm", - "summary": "A Helm chart." - }, - "helm_deployment": { - "alias": "helm_deployment", - "description": "A Helm chart deployment.", - "fields": [ - { - "alias": "tags", + "alias": "inherit_path", "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.", + "description": "Whether to inherit the `sys.path` (aka PYTHONPATH) of the environment that the binary runs in.\n\nUse `false` to not inherit `sys.path`; use `fallback` to inherit `sys.path` after packaged dependencies; and use `prefer` to inherit `sys.path` before packaged dependencies.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "'fallback' | 'false' | 'prefer' | None" }, { - "alias": "description", - "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "alias": "strip_pex_env", + "default": "True", + "description": "Whether or not to strip the PEX runtime environment of `PEX*` environment variables.\n\nMost applications have no need for the `PEX*` environment variables that are used to control PEX startup; so these variables are scrubbed from the environment by Pex before transferring control to the application by default. This prevents any subprocesses that happen to execute other PEX files from inheriting these control knob values since most would be undesired; e.g.: PEX_MODULE or PEX_PATH.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "chart", - "default": null, - "description": "The address of the `helm_chart` or `helm_artifact` that will be used for this deployment.", + "alias": "ignore_errors", + "default": "False", + "description": "Should PEX ignore errors when it cannot resolve dependencies?", "provider": "", - "required": true, - "type_hint": "str" + "required": false, + "type_hint": "bool" }, { - "alias": "release_name", + "alias": "shebang", "default": null, - "description": "Name of the release used in the deployment. If not set, the target name will be used instead.", + "description": "Set the generated PEX to use this shebang, rather than the default of PEX choosing a shebang based on the interpreter constraints.\n\nThis influences the behavior of running `./result.pex`. You can ignore the shebang by instead running `/path/to/python_interpreter ./result.pex`.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "emit_warnings", "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/v2.19/docs/targets 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": "Whether or not to emit PEX warnings at runtime.\n\nThe default is determined by the option `emit_warnings` in the `[pex-binary-defaults]` scope.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool | None" }, { - "alias": "sources", - "default": "('*.yaml', '*.yml')", - "description": "Helm configuration files for a given deployment.", + "alias": "layout", + "default": "'zipapp'", + "description": "The layout used for the PEX binary.\n\nBy default, a PEX is created as a single file zipapp, but either a packed or loose directory tree based layout can be chosen instead.\n\nA packed layout PEX is an executable directory structure designed to have cache-friendly characteristics for syncing incremental updates to PEXed applications over a network. At the top level of the packed directory tree there is an executable `__main__.py` script. The directory can also be executed by passing its path to a Python executable; e.g: `python packed-pex-dir/`. The Pex bootstrap code and all dependency code are packed into individual zip files for efficient caching and syncing.\n\nA loose layout PEX is similar to a packed PEX, except that neither the Pex bootstrap code nor the dependency code are packed into zip files, but are instead present as collections of loose files in the directory tree providing different caching and syncing tradeoffs.\n\nBoth zipapp and packed layouts install themselves in the `$PEX_ROOT` as loose apps by default before executing, but these layouts compose with `execution_mode='zipapp'` as well.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "'loose' | 'packed' | 'zipapp' | None" }, { - "alias": "namespace", - "default": null, - "description": "Kubernetes namespace for the given deployment.", + "alias": "execution_mode", + "default": "'zipapp'", + "description": "The mode the generated PEX file will run in.\n\nThe traditional PEX file runs in a modified 'zipapp' mode (See: https://www.python.org/dev/peps/pep-0441/) where zipped internal code and dependencies are first unpacked to disk. This mode achieves the fastest cold start times and may, for example be the best choice for cloud lambda functions.\n\nThe fastest execution mode in the steady state is 'venv', which generates a virtual environment from the PEX file on first run, but then achieves near native virtual environment start times. This mode also benefits from a traditional virtual environment `sys.path`, giving maximum compatibility with stdlib and third party APIs.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "'venv' | 'zipapp' | None" }, { - "alias": "skip_crds", - "default": "False", - "description": "If true, then does not deploy the Custom Resource Definitions that are defined in the chart.", + "alias": "include_requirements", + "default": "True", + "description": "Whether to include the third party requirements the binary depends on in the packaged PEX file.", "provider": "", "required": false, "type_hint": "bool" }, { - "alias": "values", - "default": null, - "description": "Individual values to use when rendering a given deployment.\n\nValue names should be defined using dot-syntax as in the following example:\n\n helm_deployment(\n values={\n \"nameOverride\": \"my_custom_name\",\n \"image.pullPolicy\": \"Always\",\n },\n )\n\nValues can be dynamically calculated using interpolation as shown in the following example:\n\n helm_deployment(\n values={\n \"configmap.deployedAt\": f\"{env('DEPLOY_TIME')}\",\n },\n )\n\nCheck the Helm backend documentation on what are the options available and its caveats when making usage of dynamic values in your deployments.", + "alias": "include_sources", + "default": "True", + "description": "Whether to include your first party sources the binary uses in the packaged PEX file.", "provider": "", "required": false, - "type_hint": "Dict[str, str] | None" + "type_hint": "bool" }, { - "alias": "no_hooks", + "alias": "include_tools", "default": "False", - "description": "If true, none of the lifecycle hooks of the given chart will be included in the deployment.", + "description": "Whether to include Pex tools in the PEX bootstrap code.\n\nWith tools included, the generated PEX file can be executed with `PEX_TOOLS=1 --help` to gain access to all the available tools.", "provider": "", "required": false, "type_hint": "bool" }, { - "alias": "timeout", - "default": null, - "description": "Timeout in seconds when running a Helm deployment.", + "alias": "venv_site_packages_copies", + "default": "False", + "description": "If execution_mode is venv, populate the venv site packages using hard links or copies of resolved PEX dependencies instead of symlinks.\n\nThis can be used to work around problems with tools or libraries that are confused by symlinked source files.", "provider": "", "required": false, - "type_hint": "int | None" + "type_hint": "bool" }, { - "alias": "post_renderers", - "default": null, - "description": "List of runnable targets to be used to post-process the helm chart after being rendered by Helm.\n\nThis is equivalent to the same post-renderer feature already available in Helm with the difference that this supports a list of executables instead of a single one.\n\nWhen more than one post-renderer is given, they will be combined into a single one in which the input of each of them would be output of the previous one.", + "alias": "venv_hermetic_scripts", + "default": "True", + "description": "If execution_mode is \"venv\", emit a hermetic venv `pex` script and hermetic console scripts.\n\nThe venv `pex` script and the venv console scripts are constructed to be hermetic by default; Python is executed with `-sE` to restrict the `sys.path` to the PEX venv contents only. Setting this field to `False` elides the Python `-sE` restrictions and can be used to interoperate with frameworks that use `PYTHONPATH` manipulation to run code.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "enable_dns", + "alias": "restartable", "default": "False", - "description": "Enables DNS lookups when using the `getHostByName` template function.", + "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", "provider": "", "required": false, "type_hint": "bool" } ], - "provider": "pants.backend.experimental.helm", - "summary": "A Helm chart deployment." + "provider": "pants.backend.python", + "summary": "Generate a `pex_binary` target for each entry_point in the `entry_points` field." }, - "helm_unittest_test": { - "alias": "helm_unittest_test", - "description": "A single helm-unittest suite file.", + "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/v2.19/docs/pex.", "fields": [ { "alias": "tags", @@ -66179,188 +90266,204 @@ "type_hint": "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'`.", + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", "provider": "", - "required": true, - "type_hint": "str" + "required": false, + "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "interpreter_constraints", "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/v2.19/docs/targets 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": "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "strict", + "alias": "resolve", "default": null, - "description": "If set to true, parses the UnitTest suite files strictly.", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", "provider": "", "required": false, - "type_hint": "bool | None" + "type_hint": "str | None" }, { - "alias": "timeout", + "alias": "dependencies", "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).", + "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/v2.19/docs/targets 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": "int | None" - } - ], - "provider": "pants.backend.experimental.helm", - "summary": "A single helm-unittest suite file." - }, - "helm_unittest_tests": { - "alias": "helm_unittest_tests", - "description": "Generates a `helm_unittest_test` target per each file in the `sources` field.", - "fields": [ + "type_hint": "Iterable[str] | None" + }, { - "alias": "tags", + "alias": "complete_platforms", "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.", + "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` 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/v2.19/docs/pex for details.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "description", + "alias": "resolve_local_platforms", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "description": "For each of the `platforms` specified, attempt to find a local interpreter that matches.\n\nIf a matching interpreter is found, use the interpreter to resolve distributions and build any that are only available in source distribution form. If no matching interpreter is found (or if this option is `False`), resolve for the platform by accepting only pre-built binary distributions (wheels).", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "bool | None" }, { - "alias": "sources", - "default": "('*_test.yaml', '*_test.yml')", - "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=['*_test.yaml', '!ignore_test.yaml']`", + "alias": "inherit_path", + "default": null, + "description": "Whether to inherit the `sys.path` (aka PYTHONPATH) of the environment that the binary runs in.\n\nUse `false` to not inherit `sys.path`; use `fallback` to inherit `sys.path` after packaged dependencies; and use `prefer` to inherit `sys.path` before packaged dependencies.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "'fallback' | 'false' | 'prefer' | 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/v2.19/docs/targets 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": "strip_pex_env", + "default": "True", + "description": "Whether or not to strip the PEX runtime environment of `PEX*` environment variables.\n\nMost applications have no need for the `PEX*` environment variables that are used to control PEX startup; so these variables are scrubbed from the environment by Pex before transferring control to the application by default. This prevents any subprocesses that happen to execute other PEX files from inheriting these control knob values since most would be undesired; e.g.: PEX_MODULE or PEX_PATH.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "overrides", + "alias": "ignore_errors", + "default": "False", + "description": "Should PEX ignore errors when it cannot resolve dependencies?", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "shebang", "default": null, - "description": "Override the field values for generated `helm_unittest_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 \"configmap_test.yaml\": {\"timeout\": 120},\n (\"deployment_test.yaml\", \"pod_test.yaml\"): {\"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 `helm_unittest_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.", + "description": "Set the generated PEX to use this shebang, rather than the default of PEX choosing a shebang based on the interpreter constraints.\n\nThis influences the behavior of running `./result.pex`. You can ignore the shebang by instead running `/path/to/python_interpreter ./result.pex`.", "provider": "", "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "type_hint": "str | None" }, { - "alias": "strict", + "alias": "emit_warnings", "default": null, - "description": "If set to true, parses the UnitTest suite files strictly.", + "description": "Whether or not to emit PEX warnings at runtime.\n\nThe default is determined by the option `emit_warnings` in the `[pex-binary-defaults]` scope.", "provider": "", "required": false, "type_hint": "bool | 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).", + "alias": "layout", + "default": "'zipapp'", + "description": "The layout used for the PEX binary.\n\nBy default, a PEX is created as a single file zipapp, but either a packed or loose directory tree based layout can be chosen instead.\n\nA packed layout PEX is an executable directory structure designed to have cache-friendly characteristics for syncing incremental updates to PEXed applications over a network. At the top level of the packed directory tree there is an executable `__main__.py` script. The directory can also be executed by passing its path to a Python executable; e.g: `python packed-pex-dir/`. The Pex bootstrap code and all dependency code are packed into individual zip files for efficient caching and syncing.\n\nA loose layout PEX is similar to a packed PEX, except that neither the Pex bootstrap code nor the dependency code are packed into zip files, but are instead present as collections of loose files in the directory tree providing different caching and syncing tradeoffs.\n\nBoth zipapp and packed layouts install themselves in the `$PEX_ROOT` as loose apps by default before executing, but these layouts compose with `execution_mode='zipapp'` as well.", "provider": "", "required": false, - "type_hint": "int | None" - } - ], - "provider": "pants.backend.experimental.helm", - "summary": "Generates a `helm_unittest_test` target per each file in the `sources` field." - }, - "java_source": { - "alias": "java_source", - "description": "A single Java source file containing application or library code.", - "fields": [ + "type_hint": "'loose' | 'packed' | 'zipapp' | None" + }, { - "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.", + "alias": "execution_mode", + "default": "'zipapp'", + "description": "The mode the generated PEX file will run in.\n\nThe traditional PEX file runs in a modified 'zipapp' mode (See: https://www.python.org/dev/peps/pep-0441/) where zipped internal code and dependencies are first unpacked to disk. This mode achieves the fastest cold start times and may, for example be the best choice for cloud lambda functions.\n\nThe fastest execution mode in the steady state is 'venv', which generates a virtual environment from the PEX file on first run, but then achieves near native virtual environment start times. This mode also benefits from a traditional virtual environment `sys.path`, giving maximum compatibility with stdlib and third party APIs.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "'venv' | 'zipapp' | None" }, { - "alias": "description", - "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "alias": "include_requirements", + "default": "True", + "description": "Whether to include the third party requirements the binary depends on in the packaged PEX file.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "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/v2.19/docs/targets 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": "include_sources", + "default": "True", + "description": "Whether to include your first party sources the binary uses in the packaged PEX file.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "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'`.", + "alias": "include_tools", + "default": "False", + "description": "Whether to include Pex tools in the PEX bootstrap code.\n\nWith tools included, the generated PEX file can be executed with `PEX_TOOLS=1 --help` to gain access to all the available tools.", "provider": "", - "required": true, - "type_hint": "str" + "required": false, + "type_hint": "bool" }, { - "alias": "resolve", + "alias": "venv_site_packages_copies", + "default": "False", + "description": "If execution_mode is venv, populate the venv site packages using hard links or copies of resolved PEX dependencies instead of symlinks.\n\nThis can be used to work around problems with tools or libraries that are confused by symlinked source files.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "venv_hermetic_scripts", + "default": "True", + "description": "If execution_mode is \"venv\", emit a hermetic venv `pex` script and hermetic console scripts.\n\nThe venv `pex` script and the venv console scripts are constructed to be hermetic by default; Python is executed with `-sE` to restrict the `sys.path` to the PEX venv contents only. Setting this field to `False` elides the Python `-sE` restrictions and can be used to interoperate with frameworks that use `PYTHONPATH` manipulation to run code.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "restartable", + "default": "False", + "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "entry_point", "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "description": "Set the entry point, i.e. what gets run when executing `./my_app.pex`, to a module.\n\nYou can specify a full module like `'path.to.module'` and `'path.to.module:func'`, or use a shorthand to specify a file name, using the same syntax as the `sources` field:\n\n 1) `'app.py'`, Pants will convert into the module `path.to.app`;\n 2) `'app.py:func'`, Pants will convert into `path.to.app:func`.\n\nYou may either set this field or the `script` field, but not both. Leave off both fields to have no entry point.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "main", + "alias": "script", "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "description": "Set the entry point, i.e. what gets run when executing `./my_app.pex`, to a script or console_script as defined by any of the distributions in the PEX.\n\nYou may either set this field or the `entry_point` field, but not both. Leave off both fields to have no entry point.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "experimental_provides_types", + "alias": "args", "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "description": "Freeze these command-line args into the PEX. Allows you to run generic entry points on specific arguments without creating a shim file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "jdk", + "alias": "env", "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "description": "Freeze these environment variables into the PEX. Allows you to run generic entry points on a specific environment without creating a shim file.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Dict[str, str] | None" }, { - "alias": "skip_google_java_format", - "default": "False", - "description": "If true, don't run Google Java Format on this target's code.", - "provider": "pants.backend.experimental.java.lint.google_java_format", + "alias": "output_path", + "default": null, + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "bool" + "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.java", - "summary": "A single Java source file containing application or library code." + "provider": "pants.backend.python", + "summary": "A Python target that can be converted into an executable PEX file." }, - "java_sources": { - "alias": "java_sources", - "description": "Generate a `java_source` target for each file in the `sources` field.", + "pipenv_requirements": { + "alias": "pipenv_requirements", + "description": "Generate a `python_requirement` for each entry in `Pipenv.lock`.", "fields": [ { "alias": "tags", @@ -66379,68 +90482,52 @@ "type_hint": "str | None" }, { - "alias": "sources", - "default": "('*.java', '!*Test.java')", - "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=['Example.java', 'New*.java', '!OldExample.java']`", + "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": "Iterable[str] | None" - }, - { - "alias": "skip_google_java_format", - "default": "False", - "description": "If true, don't run Google Java Format on this target's code.", - "provider": "pants.backend.experimental.java.lint.google_java_format", - "required": false, - "type_hint": "bool" + "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/v2.19/docs/targets 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": "resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "alias": "source", + "default": "'Pipfile.lock'", + "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": "str | None" }, { - "alias": "jdk", + "alias": "overrides", "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "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": "str | None" + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "main", + "alias": "resolve", "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "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" - }, - { - "alias": "experimental_provides_types", - "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" } ], - "provider": "pants.backend.experimental.java", - "summary": "Generate a `java_source` target for each file in the `sources` field." + "provider": "pants.backend.python", + "summary": "Generate a `python_requirement` for each entry in `Pipenv.lock`." }, - "junit_test": { - "alias": "junit_test", - "description": "A single Java test, run with JUnit.", + "poetry_requirements": { + "alias": "poetry_requirements", + "description": "Generate a `python_requirement` for each entry in a Poetry `pyproject.toml`.", "fields": [ { "alias": "tags", @@ -66459,68 +90546,52 @@ "type_hint": "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`.", + "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": "Iterable[str] | 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/v2.19/docs/targets 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": "resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "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": "str | None" }, { - "alias": "experimental_provides_types", + "alias": "overrides", "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "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": "jdk", + "alias": "resolve", "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "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.java", - "summary": "A single Java test, run with JUnit." + "provider": "pants.backend.python", + "summary": "Generate a `python_requirement` for each entry in a Poetry `pyproject.toml`." }, - "junit_tests": { - "alias": "junit_tests", - "description": "Generate a `junit_test` target for each file in the `sources` field.", + "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/v2.19/docs/protobuf-python\n Go: https://www.pantsbuild.org/v2.19/docs/protobuf-go", "fields": [ { "alias": "tags", @@ -66539,68 +90610,100 @@ "type_hint": "str | None" }, { - "alias": "sources", - "default": "('*Test.java',)", - "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=['*Test.java', '!TestIgnore.java']`", + "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/v2.19/docs/targets 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", + "alias": "source", "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).", + "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": "grpc", + "default": "False", + "description": "Whether to generate gRPC code or not.", "provider": "", "required": false, - "type_hint": "int | None" + "type_hint": "bool" }, { - "alias": "extra_env_vars", + "alias": "skip_buf_format", + "default": "False", + "description": "If true, don't run `buf format` on this target's code.", + "provider": "pants.backend.codegen.protobuf.lint.buf", + "required": false, + "type_hint": "bool" + }, + { + "alias": "python_interpreter_constraints", "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": "", + "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/v2.19/docs/python-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" }, { - "alias": "dependencies", + "alias": "jvm_resolve", "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/v2.19/docs/targets 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": "", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "pants.backend.experimental.codegen.protobuf.java", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "jdk", + "alias": "go_mod_address", + "default": null, + "description": "Address of the `go_mod` target representing the Go module that this target is part of.\n\nThis field is similar to the `resolve` field used in the Python and JVM backends. If a codegen target such as `protobuf_sources` will be used in multiple Go modules, then you should use the `parametrize` built-in to parametrize that `protobuf_sources` target for each Go module.\n\nIf there is a single `go_mod` target in the repository, then this field defaults to the address for that single `go_mod` target.", + "provider": "pants.backend.experimental.codegen.protobuf.go", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "jvm_jdk", "default": null, "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "", + "provider": "pants.backend.experimental.codegen.protobuf.java", "required": false, "type_hint": "str | None" }, { - "alias": "experimental_provides_types", + "alias": "python_source_root", "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", - "provider": "", + "description": "The source root to generate Python sources under.\n\nIf unspecified, the source root the `protobuf_sources` is under will be used.", + "provider": "pants.backend.codegen.protobuf.python", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "resolve", + "alias": "skip_buf_lint", + "default": "False", + "description": "If true, don't run `buf lint` on this target's code.", + "provider": "pants.backend.codegen.protobuf.lint.buf", + "required": false, + "type_hint": "bool" + }, + { + "alias": "python_resolve", "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "provider": "pants.backend.codegen.protobuf.python", "required": false, "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.java", - "summary": "Generate a `junit_test` target for each file in the `sources` field." + "provider": "pants.backend.codegen.protobuf.python", + "summary": "A single Protobuf file used to generate various languages." }, - "jvm_artifact": { - "alias": "jvm_artifact", - "description": "A third-party JVM artifact, as identified by its Maven-compatible coordinate.\n\nThat is, an artifact identified by its `group`, `artifact`, and `version` components.\n\nEach artifact is associated with one or more resolves (a logical name you give to a lockfile). For this artifact to be used by your first-party code, it must be associated with the resolve(s) used by that code. See the `resolve` field.", + "protobuf_sources": { + "alias": "protobuf_sources", + "description": "Generate a `protobuf_source` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -66619,92 +90722,108 @@ "type_hint": "str | None" }, { - "alias": "group", - "default": null, - "description": "The 'group' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the group is `com.google.guava`.", + "alias": "sources", + "default": "('*.proto',)", + "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=['example.proto', 'new_*.proto', '!old_ignore*.proto']`", "provider": "", - "required": true, - "type_hint": "str" + "required": false, + "type_hint": "Iterable[str] | None" }, { - "alias": "artifact", + "alias": "overrides", "default": null, - "description": "The 'artifact' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the artifact is `guava`.", + "description": "Override the field values for generated `protobuf_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.proto\": {\"grpc\": True},\n \"bar.proto\": {\"description\": \"our user model\"},\n (\"foo.proto\", \"bar.proto\"): {\"tags\": [\"overridden\"]},\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 `protobuf_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": true, - "type_hint": "str" + "required": false, + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "version", + "alias": "skip_buf_format", + "default": "False", + "description": "If true, don't run `buf format` on this target's code.", + "provider": "pants.backend.codegen.protobuf.lint.buf", + "required": false, + "type_hint": "bool" + }, + { + "alias": "jvm_resolve", "default": null, - "description": "The 'version' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the version is `30.1.1-jre`.", - "provider": "", - "required": true, - "type_hint": "str" + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "pants.backend.experimental.codegen.protobuf.java", + "required": false, + "type_hint": "str | None" }, { - "alias": "packages", + "alias": "jvm_jdk", "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.19.0rc1/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": "", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "pants.backend.experimental.codegen.protobuf.java", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "skip_buf_lint", + "default": "False", + "description": "If true, don't run `buf lint` on this target's code.", + "provider": "pants.backend.codegen.protobuf.lint.buf", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "url", + "alias": "go_mod_address", "default": null, - "description": "A URL that points to the location of this artifact.\n\nIf specified, Pants will not fetch this artifact from default Maven repositories, and will instead fetch the artifact from this URL. To use default maven repositories, do not set this value.\n\nNote that `file:` URLs are not supported. Instead, use the `jar` field for local artifacts.", - "provider": "", + "description": "Address of the `go_mod` target representing the Go module that this target is part of.\n\nThis field is similar to the `resolve` field used in the Python and JVM backends. If a codegen target such as `protobuf_sources` will be used in multiple Go modules, then you should use the `parametrize` built-in to parametrize that `protobuf_sources` target for each Go module.\n\nIf there is a single `go_mod` target in the repository, then this field defaults to the address for that single `go_mod` target.", + "provider": "pants.backend.experimental.codegen.protobuf.go", "required": false, "type_hint": "str | None" }, { - "alias": "jar", + "alias": "python_source_root", "default": null, - "description": "A local JAR file that provides this artifact to the lockfile resolver, instead of a Maven repository.\n\nPath is relative to the BUILD file.\n\nUse the `url` field for remote artifacts.", + "description": "The source root to generate Python sources under.\n\nIf unspecified, the source root the `protobuf_sources` is under will be used.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "resolve", + "alias": "python_interpreter_constraints", "default": null, - "description": "The resolve from `[jvm].resolves` that this artifact should be included in.\n\nIf not defined, will default to `[jvm].default_resolve`.\n\nWhen generating a lockfile for a particular resolve via the `coursier-resolve` goal, it will include all artifacts that are declared compatible with that resolve. First-party targets like `java_source` and `scala_source` also declare which resolve they use via the `resolve` field; so, for your first-party code to use a particular `jvm_artifact` target, that artifact must be included in the resolve used by that code.", + "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "exclusions", + "alias": "python_resolve", "default": null, - "description": "A list of exclusions for unversioned coordinates that should be excluded as dependencies when this artifact is resolved.\n\nThis does not prevent this artifact from being included in the resolve as a dependency of other artifacts that depend on it, and is currently intended as a way to resolve version conflicts in complex resolves.\n\nSupported exclusions are:\n * `jvm_exclude`: Exclude the given `artifact` and `group`, or all artifacts from the given `group`.", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", "provider": "", "required": false, - "type_hint": "Iterable[pants.jvm.target_types.JvmArtifactExclusion] | None" + "type_hint": "str | None" }, { - "alias": "jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "alias": "grpc", + "default": "False", + "description": "Whether to generate gRPC code or not.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "main", + "alias": "dependencies", "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "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/v2.19/docs/targets 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": "str | None" + "type_hint": "Iterable[str] | None" } ], - "provider": "pants.backend.experimental.java", - "summary": "A third-party JVM artifact, as identified by its Maven-compatible coordinate." + "provider": "pants.backend.codegen.protobuf.python", + "summary": "Generate a `protobuf_source` target for each file in the `sources` field." }, - "jvm_war": { - "alias": "jvm_war", - "description": "A JSR 154 \"web application archive\" (or \"war\") with first-party and third-party code bundled for deploys in Java Servlet containers.", + "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/v2.19/docs/python-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", @@ -66723,60 +90842,68 @@ "type_hint": "str | None" }, { - "alias": "resolve", + "alias": "output_path", "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "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/python/project:bin` would be `src.python.project/bin/`.\n\nRegardless of whether you use the default or set this field, the path will end with PyOxidizer's file format of `/{debug,release}/install/`, where `platform` is a Rust platform triplet like `aarch-64-apple-darwin` and `binary_name` is the value of the `binary_name` field. So, using the default for this field, the target `src/python/project:bin` might have a final path like `src.python.project/bin/aarch-64-apple-darwin/release/bin`.\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": "content", + "alias": "binary_name", "default": null, - "description": "A list of addresses to `resources` and `files` targets with content to place in the document root of this WAR file.", + "description": "The name of the binary that will be output by PyOxidizer. If not set, this will default to the name of this target.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "template", "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/v2.19/docs/targets 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": "If set, will use your custom configuration rather than using Pants's default template.\n\nThe path is relative to the BUILD file's directory, and it must end in `.blzt`.\n\nAll parameters must be prefixed by `$` or surrounded with `${ }`.\n\nAvailable template parameters:\n\n * RUN_MODULE - The re-formatted `entry_point` passed to this target (or None).\n * NAME - This target's name.\n * WHEELS - All python distributions passed to this target (or `[]`).\n * UNCLASSIFIED_RESOURCE_INSTALLATION - This will populate a snippet of code to correctly inject the targets `filesystem_resources`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "descriptor", + "alias": "dependencies", "default": null, - "description": "Path to a file containing the descriptor (i.e., `web.xml`) for this WAR file. Defaults to `web.xml`.", + "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/v2.19/docs/python-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/v2.19/docs/python-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": "str" + "type_hint": "Iterable[str]" }, { - "alias": "shading_rules", + "alias": "entry_point", "default": null, - "description": "Shading rules to be applied to the individual JAR artifacts embedded in the `WEB-INF/lib` folder.\n\nThere are 4 possible shading rules available, which are as follows:\n * `shading_relocate`: Relocates the classes under the given `package` into the new package name. The default target package is `__shaded_by_pants__` if none provided in the `into` parameter.\n * `shading_rename`: Renames all occurrences of the given `pattern` by the `replacement`.\n * `shading_zap`: Removes from the final artifact the occurrences of the `pattern`.\n * `shading_keep`: Keeps in the final artifact the occurrences of the `pattern` (and removes anything else).\n\nWhen defining shading rules, just add them in this field using the previously listed rule alias and passing along the required parameters.", + "description": "Set the entry point, i.e. what gets run when executing `./my_app`, to a module. This represents the content of PyOxidizer's `python_config.run_module` and leaving this field empty will create a REPL binary.\n\nIt is specified with the full module declared: `'path.to.module'`.\n\nThis field is passed into the PyOxidizer config as-is, and does not undergo validation checking.", "provider": "", "required": false, - "type_hint": "Iterable[pants.jvm.target_types.JvmShadingRule] | None" + "type_hint": "str | None" }, { - "alias": "output_path", + "alias": "filesystem_resources", "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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.", + "description": "Adds support for listing dependencies that MUST be installed to the filesystem (e.g. Numpy). See https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer_packaging_additional_files.html#installing-unclassified-files-on-the-filesystem", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", "provider": "", "required": false, "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.java", - "summary": "A JSR 154 \"web application archive\" (or \"war\") with first-party and third-party code bundled for deploys in Java Servlet containers." + "provider": "pants.backend.experimental.python.packaging.pyoxidizer", + "summary": "A single-file Python executable with a Python interpreter embedded, built via PyOxidizer." }, - "kotlin_junit_test": { - "alias": "kotlin_junit_test", - "description": "A single Kotlin test, run with JUnit.", + "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/v2.19/docs/awslambda-python.", "fields": [ { "alias": "tags", @@ -66795,41 +90922,41 @@ "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "output_path", "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/v2.19/docs/targets 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": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "Iterable[str] | None" + "type_hint": "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'`.", + "alias": "include_requirements", + "default": "True", + "description": "Whether to resolve requirements and include them in the AWS Lambda artifact. This is most useful with Lambda Layers to make code uploads smaller when third-party requirements are in layers. https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html", "provider": "", - "required": true, - "type_hint": "str" + "required": false, + "type_hint": "bool" }, { - "alias": "kotlinc_plugins", + "alias": "runtime", "default": null, - "description": "The IDs of Kotlin compiler plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `kotlinc_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[kotlinc].plugins_for_resolve` for this target's resolve.", + "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": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "timeout", + "alias": "complete_platforms", "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).", + "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` 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/v2.19/docs/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.", "provider": "", "required": false, - "type_hint": "int | None" + "type_hint": "Iterable[str] | 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`.", + "alias": "pex3_venv_create_extra_args", + "default": "()", + "description": "Any extra arguments to pass to the `pex3 venv create` invocation that is used to create the final zip file.\n\nFor example, `pex3_venv_create_extra_args=[\"--collisions-ok\"]`, if using packages that have colliding files that aren't required at runtime (errors like \"Encountered collisions populating ...\").", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -66837,34 +90964,42 @@ { "alias": "resolve", "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "experimental_provides_types", + "alias": "dependencies", "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "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/v2.19/docs/targets 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": "handler", + "default": null, + "description": "Entry point to the AWS Lambda handler.\n\nYou can specify a full module like `'path.to.module:handler_func'` or use a shorthand to specify a file name, using the same syntax as the `sources` field, e.g. `'cloud_function.py:handler_func'`.\n\nThis is re-exported at `lambda_function.handler` in the resulting package to be used as the configured handler of the Lambda in AWS. It can also be accessed under its source-root-relative module path, for example: `path.to.module.handler_func`.", + "provider": "", + "required": true, + "type_hint": "str" } ], - "provider": "pants.backend.experimental.kotlin", - "summary": "A single Kotlin test, run with JUnit." + "provider": "pants.backend.awslambda.python", + "summary": "A self-contained Python function suitable for uploading to AWS Lambda." }, - "kotlin_junit_tests": { - "alias": "kotlin_junit_tests", - "description": "Generate a `kotlin_junit_test` target for each file in the `sources` field.", + "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/v2.19/docs/awslambda-python.", "fields": [ { "alias": "tags", @@ -66883,41 +91018,41 @@ "type_hint": "str | None" }, { - "alias": "sources", - "default": "('*Test.kt',)", - "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=['*Test.kt', '!TestIgnore.kt']`", + "alias": "output_path", + "default": null, + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "Iterable[str] | None" + "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/v2.19/docs/targets 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": "include_requirements", + "default": "True", + "description": "Whether to resolve requirements and include them in the AWS Lambda artifact. This is most useful with Lambda Layers to make code uploads smaller when third-party requirements are in layers. https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "kotlinc_plugins", + "alias": "runtime", "default": null, - "description": "The IDs of Kotlin compiler plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `kotlinc_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[kotlinc].plugins_for_resolve` for this target's resolve.", + "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": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "timeout", + "alias": "complete_platforms", "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).", + "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` 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/v2.19/docs/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.", "provider": "", "required": false, - "type_hint": "int | None" + "type_hint": "Iterable[str] | 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`.", + "alias": "pex3_venv_create_extra_args", + "default": "()", + "description": "Any extra arguments to pass to the `pex3 venv create` invocation that is used to create the final zip file.\n\nFor example, `pex3_venv_create_extra_args=[\"--collisions-ok\"]`, if using packages that have colliding files that aren't required at runtime (errors like \"Encountered collisions populating ...\").", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -66925,34 +91060,42 @@ { "alias": "resolve", "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "experimental_provides_types", - "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "alias": "include_sources", + "default": "True", + "description": "Whether to resolve first party sources and include them in the AWS Lambda artifact. This is most useful to allow creating a Lambda Layer with only third-party requirements. https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" + }, + { + "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/v2.19/docs/targets 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]" } ], - "provider": "pants.backend.experimental.kotlin", - "summary": "Generate a `kotlin_junit_test` target for each file in the `sources` field." + "provider": "pants.backend.awslambda.python", + "summary": "A Python layer suitable for uploading to AWS Lambda." }, - "kotlin_source": { - "alias": "kotlin_source", - "description": "A single Kotlin source file containing application or library code.", + "python_distribution": { + "alias": "python_distribution", + "description": "A publishable Python setuptools distribution (e.g. an sdist or wheel).\n\nSee https://www.pantsbuild.org/v2.19/docs/python-distributions.", "fields": [ { "alias": "tags", @@ -66970,6 +91113,14 @@ "required": false, "type_hint": "str | None" }, + { + "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, { "alias": "dependencies", "default": null, @@ -66979,68 +91130,116 @@ "type_hint": "Iterable[str] | None" }, { - "alias": "source", + "alias": "entry_points", "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'`.", + "description": "Any entry points, such as `console_scripts` and `gui_scripts`.\n\nSpecify as a nested dictionary, with a dictionary for each type of entry point, e.g. `console_scripts` vs. `gui_scripts`. Each dictionary maps the entry point name to either a setuptools entry point (`\"path.to.module:func\"`) or a Pants target address to a `pex_binary` target.\n\nExample:\n\n entry_points={\n \"console_scripts\": {\n \"my-script\": \"project.app:main\",\n \"another-script\": \"project/subdir:pex_binary_tgt\"\n }\n }\n\nNote that Pants will assume that any value that either starts with `:` or has `/` in it, is a target address to a `pex_binary` target. Otherwise, it will assume it's a setuptools entry point as defined by https://packaging.python.org/specifications/entry-points/#entry-points-specification. Use `//` as a prefix for target addresses if you need to disambiguate.\n\nPants will attempt to infer dependencies, which you can confirm by running:\n\n pants dependencies ", + "provider": "", + "required": false, + "type_hint": "Dict[str, Dict[str, str]] | None" + }, + { + "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/v2.19/docs/plugins-setup-py for how to write a plugin to dynamically generate kwargs.", "provider": "", "required": true, - "type_hint": "str" + "type_hint": "PythonArtifact" }, { - "alias": "kotlinc_plugins", + "alias": "generate_setup", "default": null, - "description": "The IDs of Kotlin compiler plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `kotlinc_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[kotlinc].plugins_for_resolve` for this target's resolve.", + "description": "Whether to generate setup information for this distribution, based on analyzing sources and dependencies. Set to False to use existing setup information, such as existing `setup.py`, `setup.cfg`, `pyproject.toml` files or similar.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool | None" }, { - "alias": "resolve", + "alias": "wheel", + "default": "True", + "description": "Whether to build a wheel for the distribution.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "sdist", + "default": "True", + "description": "Whether to build an sdist for the distribution.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "wheel_config_settings", "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "description": "PEP-517 config settings to pass to the build backend when building a wheel.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Dict[str, Iterable[str]] | None" }, { - "alias": "experimental_provides_types", + "alias": "sdist_config_settings", "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "description": "PEP-517 config settings to pass to the build backend when building an sdist.", + "provider": "", + "required": false, + "type_hint": "Dict[str, Iterable[str]] | None" + }, + { + "alias": "env_vars", + "default": null, + "description": "Environment variables to set when running the PEP-517 build backend.\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.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "jdk", + "alias": "long_description_path", "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "description": "Path to a file that will be used to fill the `long_description` field in `setup.py`.\n\nPath is relative to the build root.\n\nAlternatively, you can set the `long_description` in the `provides` field, but not both.\n\nThis field won't automatically set `long_description_content_type` field for you. You have to specify this field yourself in the `provides` field.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "main", - "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "alias": "output_path", + "default": "''", + "description": "The path to the directory to write the distribution file to, relative the dist directory.\n\nIf undefined, this defaults to the empty path, i.e. the output goes at the top level of the dist dir.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "skip_ktlint", + "alias": "repositories", + "default": null, + "description": "List of URL addresses or Twine repository aliases where to publish the Python package.\n\nTwine is used for publishing Python packages, so the address to any kind of repository that Twine supports may be used here.\n\nAliases are prefixed with `@` to refer to a config section in your Twine configuration, such as a `.pypirc` file. Use `@pypi` to upload to the public PyPi repository, which is the default when using Twine directly.", + "provider": "pants.backend.experimental.python", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_twine", "default": "False", - "description": "If true, don't run Ktlint on this target's code.", - "provider": "pants.backend.experimental.kotlin.lint.ktlint", + "description": "If true, don't publish this target's packages using Twine.", + "provider": "pants.backend.experimental.python", + "required": false, + "type_hint": "bool" + }, + { + "alias": "uses_mypyc", + "default": "False", + "description": "If true, this distribution is built using mypyc.\n\nIn this case, Pants will build the distribution in an environment that includes mypy, as configured in the `[mypy]` subsystem, including plugins, config files, extra type stubs, and the distribution's own requirements (which normally would not be needed at build time, but in this case may provide necessary type annotations).\n\nYou will typically set this field on distributions whose `setup.py` uses `mypyc.build.mypycify()`. See https://mypyc.readthedocs.io/en/latest/index.html .", + "provider": "pants.backend.python.typecheck.mypy", "required": false, "type_hint": "bool" } ], - "provider": "pants.backend.experimental.kotlin", - "summary": "A single Kotlin source file containing application or library code." + "provider": "pants.backend.python", + "summary": "A publishable Python setuptools distribution (e.g. an sdist or wheel)." }, - "kotlin_sources": { - "alias": "kotlin_sources", - "description": "Generate a `kotlin_source` target for each file in the `sources` field.", + "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/v2.19/docs/google-cloud-function-python.", "fields": [ { "alias": "tags", @@ -67059,20 +91258,12 @@ "type_hint": "str | None" }, { - "alias": "sources", - "default": "('*.kt',)", - "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=['Example.kt', 'New*.kt', '!OldIgnore.kt']`", + "alias": "output_path", + "default": null, + "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "Iterable[str] | None" - }, - { - "alias": "skip_ktlint", - "default": "False", - "description": "If true, don't run Ktlint on this target's code.", - "provider": "pants.backend.experimental.kotlin.lint.ktlint", - "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { "alias": "dependencies", @@ -67083,52 +91274,68 @@ "type_hint": "Iterable[str] | None" }, { - "alias": "kotlinc_plugins", + "alias": "handler", "default": null, - "description": "The IDs of Kotlin compiler plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `kotlinc_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[kotlinc].plugins_for_resolve` for this target's resolve.", + "description": "Entry point to the Google Cloud Function handler.\n\nYou can specify a full module like `'path.to.module:handler_func'` or use a shorthand to specify a file name, using the same syntax as the `sources` field, e.g. `'cloud_function.py:handler_func'`.\n\nThis is re-exported at `main.handler` in the resulting package to used as the configured handler of the Google Cloud Function in GCP. It can also be accessed under its source-root-relative module path, for example: `path.to.module.handler_func`.", "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "required": true, + "type_hint": "str" }, { - "alias": "resolve", + "alias": "runtime", "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "description": "The identifier of the Google Cloud Function runtime to target (pythonXY). See https://cloud.google.com/functions/docs/concepts/python-runtime.\n\nIn general you'll want to define either a `runtime` or one `complete_platforms` but not both. Specifying a `runtime` is simpler, but less accurate. If you have issues either packaging the Google Cloud Function PEX or running it as a deployed Google Cloud Function, you should try using `complete_platforms` instead.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "'python310' | 'python311' | 'python37' | 'python38' | 'python39' | None" }, { - "alias": "jdk", + "alias": "complete_platforms", "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "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` 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/v2.19/docs/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.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "experimental_provides_types", + "alias": "type", "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "description": "The trigger type of the cloud function. Can either be `'event'` or `'http'`. See https://cloud.google.com/functions/docs/concepts/python-runtime for reference to `--trigger-http`.", + "provider": "", + "required": true, + "type_hint": "'event' | 'http'" + }, + { + "alias": "pex3_venv_create_extra_args", + "default": "()", + "description": "Any extra arguments to pass to the `pex3 venv create` invocation that is used to create the final zip file.\n\nFor example, `pex3_venv_create_extra_args=[\"--collisions-ok\"]`, if using packages that have colliding files that aren't required at runtime (errors like \"Encountered collisions populating ...\").", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "main", + "alias": "resolve", "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", "provider": "", "required": false, "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.kotlin", - "summary": "Generate a `kotlin_source` target for each file in the `sources` field." + "provider": "pants.backend.google_cloud_function.python", + "summary": "A self-contained Python function suitable for uploading to Google Cloud Function." }, - "kotlinc_plugin": { - "alias": "kotlinc_plugin", - "description": "A plugin for `kotlinc`.\n\nTo enable a `kotlinc` plugin, define a target with this target type, and set the `artifact` field to the address of a `jvm_artifact` target that provides the plugin. Set the `plugin_id` field to the ID of the plugin if that name cannot be inferred from the `name` of this target.\n\nThe standard `kotlinc` plugins are available via the following artifact coordinates and IDs:\n\n* All-open: `org.jetbrains.kotlin:kotlin-allopen:VERSION` (ID: `all-open`)\n* No-arg: `org.jetbrains.kotlin:kotlin-noarg:VERSION` (ID: `no-arg`)\n* SAM with receiver: `org.jetbrains.kotlin:kotlin-sam-with-receiver:VERSION` (ID: `sam-with-receiver`)\n* kapt (annotation processor): `org.jetbrains.kotlin:org.jetbrains.kotlin:kotlin-annotation-processing-embeddable:VERSION` (ID: `kapt3`)\n* Serialization: `org.jetbrains.kotlin:kotlin-serialization:VERSION` (ID: `serialization`)", + "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/v2.19/docs/python-third-party-dependencies.", "fields": [ { "alias": "tags", @@ -67147,300 +91354,316 @@ "type_hint": "str | None" }, { - "alias": "artifact", + "alias": "requirements", "default": null, - "description": "The address of a `jvm_artifact` that defines a plugin for `kotlinc`.", + "description": "A pip-style requirement string, e.g. `[\"Django==3.2.8\"]`.\n\nYou can specify multiple requirements for the same project in order to use environment markers, such as `[\"foo>=1.2,<1.3 ; python_version>'3.6'\", \"foo==0.9 ; python_version<'3'\"]`.\n\nIf the requirement depends on some other requirement to work, such as needing `setuptools` to be built, use the `dependencies` field instead.", "provider": "", "required": true, - "type_hint": "str" + "type_hint": "Iterable[str]" }, { - "alias": "plugin_id", + "alias": "dependencies", "default": null, - "description": "The ID for `kotlinc` to use when setting options for the plugin.\n\nIf not set, the plugin ID defaults to the target name.", + "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/v2.19/docs/targets 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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "plugin_args", + "alias": "modules", "default": null, - "description": "Optional list of argument to pass to the plugin.", + "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.19.0rc5/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" - } - ], - "provider": "pants.backend.experimental.kotlin", - "summary": "A plugin for `kotlinc`." - }, - "local_environment": { - "alias": "local_environment", - "description": "Configuration of a local execution environment for specific platforms.\n\nEnvironment configuration includes the platforms the environment is compatible with, and optionally a fallback environment, along with environment-aware options (such as environment variables and search paths) used by Pants to execute processes in this environment.\n\nTo use this environment, map this target's address with a memorable name in `[environments-preview].names`. You can then consume this environment by specifying the name in the `environment` field defined on other targets.\n\nOnly one `local_environment` may be defined in `[environments-preview].names` per platform, and when `__local__` is specified as the environment, the `local_environment` that matches the current platform (if defined) will be selected.", - "fields": [ + }, { - "alias": "tags", + "alias": "type_stub_modules", "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.", + "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.19.0rc5/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" }, { - "alias": "description", + "alias": "resolve", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "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" }, { - "alias": "compatible_platforms", - "default": "('linux_arm64', 'linux_x86_64', 'macos_arm64', 'macos_x86_64')", - "description": "Which platforms this environment can be used with.\n\nThis is used for Pants to automatically determine which environment target to use for the user's machine when the environment is set to the special value `__local__`. Currently, there cannot be more than one environment target registered in `[environments-preview].names` for a particular platform. If there is no environment target for a certain platform, Pants will use the options system instead to determine environment variables and executable search paths.", + "alias": "entry_point", + "default": null, + "description": "Set the entry point, i.e. what gets run when executing `./my_app.pex`, to a module.\n\nYou can specify a full module like `'path.to.module'` and `'path.to.module:func'`, or use a shorthand to specify a file name, using the same syntax as the `sources` field:\n\n 1) `'app.py'`, Pants will convert into the module `path.to.app`;\n 2) `'app.py:func'`, Pants will convert into `path.to.app:func`.\n\nYou may either set this field or the `script` field, but not both. Leave off both fields to have no entry point.", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.python", + "summary": "A Python requirement installable by pip." + }, + "python_requirements": { + "alias": "python_requirements", + "description": "Generate a `python_requirement` for each entry in a requirements.txt-style or PEP 621 compliant `pyproject.toml` file. The choice of parser for the `source` field is determined by the file name. If the `source` field ends with `pyproject.toml`, then the file is assumed to be a PEP 621 compliant file. Any other file name uses the requirements.txt-style parser.\n\nFurther details about pip-style requirements files are available from the PyPA documentation: https://pip.pypa.io/en/latest/reference/requirements-file-format/. However, pip options like `--hash` are (for now) ignored.\n\nPants will not follow `-r reqs.txt` lines. Instead, add a dedicated `python_requirements` target generator for that additional requirements file.\n\nFurther details about PEP 621 and `pyproject.toml` files are available from the PEP itself: https://peps.python.org/pep-0621/. If the `project.optional-dependencies` table is included, Pants will save the key/name of the optional dependency group as a tag on the generated `python_requirement`.", + "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": "fallback_environment", + "alias": "description", "default": null, - "description": "The environment to fallback to when this local environment cannot be used because the field `compatible_platforms` is not compatible with the local host.\n\nMust be an environment name from the option `[environments-preview].names`, the special string `__local__` to use the relevant local environment, or the Python value `None` to error when this specific local environment cannot be used.\n\nTip: when targeting Linux, it can be particularly helpful to fallback to a `docker_environment` or `remote_environment` target. That allows you to prefer using the local host when possible, which often has less overhead (particularly compared to Docker). If the local host is not compatible, then Pants will use Docker or remote execution to still run in a similar environment.", + "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": "nodejs_corepack_env_vars", - "default": null, - "description": "Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "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": "Iterable[str] | None" + "type_hint": "Dict[str, Iterable[str]]" }, { - "alias": "python_native_code_ld_flags", - "default": null, - "description": "Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active.", - "provider": "pants.core", + "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": "golang_cgo_gcc_binary_name", - "default": null, - "description": "Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "source", + "default": "'requirements.txt'", + "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": "str | None" }, { - "alias": "python_bootstrap_search_path", + "alias": "overrides", "default": null, - "description": "Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active.", - "provider": "pants.core", + "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": "nodejs_executable_search_paths", + "alias": "resolve", "default": null, - "description": "Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "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": "Iterable[str] | None" - }, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.python", + "summary": "Generate a `python_requirement` for each entry in a requirements.txt-style or PEP 621 compliant `pyproject.toml` file. The choice of parser for the `source` field is determined by the file name. If the `source` field ends with `pyproject.toml`, then the file is assumed to be a PEP 621 compliant file. Any other file name uses the requirements.txt-style parser." + }, + "python_source": { + "alias": "python_source", + "description": "A single Python source file.", + "fields": [ { - "alias": "golang_cgo_fortran_flags", + "alias": "tags", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "system_binaries_system_binary_paths", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active.", - "provider": "pants.core", + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "shell_setup_executable_search_paths", + "alias": "interpreter_constraints", "default": null, - "description": "Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.shell", + "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "golang_cgo_c_flags", + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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/v2.19/docs/targets 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": "golang_cgo_tool_search_paths", + "alias": "resolve", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "golang_cgo_fortran_binary_name", + "alias": "run_goal_use_sandbox", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", + "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "bool | None" }, { - "alias": "jvm_global_options", + "alias": "source", "default": null, - "description": "Overrides the default value from the option `[jvm].global_options` when this environment target is active.", - "provider": "pants.backend.experimental.java", - "required": false, - "type_hint": "Iterable[str] | None" + "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": "docker_executable_search_paths", - "default": null, - "description": "Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.docker", + "alias": "restartable", + "default": "False", + "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "apache_thrift_thrift_search_paths", - "default": null, - "description": "Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active.", - "provider": "pants.backend.codegen.thrift.apache.python", + "alias": "skip_pydocstyle", + "default": "False", + "description": "If true, don't run pydocstyle on this target's code.", + "provider": "pants.backend.python.lint.pydocstyle", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "docker_env_vars", - "default": null, - "description": "Overrides the default value from the option `[docker].env_vars` when this environment target is active.", - "provider": "pants.backend.docker", + "alias": "skip_autoflake", + "default": "False", + "description": "If true, don't run Autoflake on this target's code.", + "provider": "pants.backend.python.lint.autoflake", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "golang_subprocess_env_vars", - "default": null, - "description": "Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "skip_flake8", + "default": "False", + "description": "If true, don't run Flake8 on this target's code.", + "provider": "pants.backend.python.lint.flake8", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "golang_cgo_gxx_binary_name", - "default": null, - "description": "Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "skip_pytype", + "default": "False", + "description": "If true, don't run pytype on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pytype", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "nodejs_search_path", - "default": null, - "description": "Overrides the default value from the option `[nodejs].search_path` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "alias": "skip_bandit", + "default": "False", + "description": "If true, don't run Bandit on this target's code.", + "provider": "pants.backend.python.lint.bandit", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "subprocess_environment_env_vars", - "default": null, - "description": "Overrides the default value from the option `[subprocess-environment].env_vars` when this environment target is active.", - "provider": "pants.core", + "alias": "skip_pylint", + "default": "False", + "description": "If true, don't run Pylint on this target's code.", + "provider": "pants.backend.python.lint.pylint", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "golang_cgo_linker_flags", - "default": null, - "description": "Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "skip_mypy", + "default": "False", + "description": "If true, don't run MyPy on this target's code.", + "provider": "pants.backend.python.typecheck.mypy", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "golang_cgo_cxx_flags", - "default": null, - "description": "Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "skip_add_trailing_comma", + "default": "False", + "description": "If true, don't run add-trailing-comma on this target's code.", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "golang_go_search_paths", - "default": null, - "description": "Overrides the default value from the option `[golang].go_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "skip_black", + "default": "False", + "description": "If true, don't run Black on this target's code.", + "provider": "pants.backend.python.lint.black", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "python_native_code_cpp_flags", - "default": null, - "description": "Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active.", - "provider": "pants.core", + "alias": "skip_pyupgrade", + "default": "False", + "description": "If true, don't run pyupgrade on this target's code.", + "provider": "pants.backend.python.lint.pyupgrade", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "python_bootstrap_names", - "default": null, - "description": "Overrides the default value from the option `[python-bootstrap].names` when this environment target is active.", - "provider": "pants.core", + "alias": "skip_ruff", + "default": "False", + "description": "If true, don't run ruff on this target's code.", + "provider": "pants.backend.experimental.python.lint.ruff", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "golang_external_linker_binary_name", - "default": null, - "description": "Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "skip_yapf", + "default": "False", + "description": "If true, don't run yapf on this target's code.", + "provider": "pants.backend.python.lint.yapf", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "pex_executable_search_paths", - "default": null, - "description": "Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active.", - "provider": "pants.core", + "alias": "skip_isort", + "default": "False", + "description": "If true, don't run isort on this target's code.", + "provider": "pants.backend.python.lint.isort", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "test_extra_env_vars", - "default": null, - "description": "Overrides the default value from the option `[test].extra_env_vars` when this environment target is active.", - "provider": "pants.core", + "alias": "skip_docformatter", + "default": "False", + "description": "If true, don't run Docformatter on this target's code.", + "provider": "pants.backend.python.lint.docformatter", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "go_generate_env_vars", - "default": null, - "description": "Overrides the default value from the option `[go-generate].env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "alias": "skip_pyright", + "default": "False", + "description": "If true, don't run Pyright on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pyright", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" } ], - "provider": "pants.core", - "summary": "Configuration of a local execution environment for specific platforms." + "provider": "pants.backend.python", + "summary": "A single Python source file." }, - "openapi_document": { - "alias": "openapi_document", - "description": "A single OpenAPI document file.", + "python_sources": { + "alias": "python_sources", + "description": "Generate a `python_source` target for each file in the `sources` field.\n\nYou can either use this target generator or `python_test_utils` for test utility files like `conftest.py`. They behave identically, but can help to better model and keep separate test support files vs. production files.", "fields": [ { "alias": "tags", @@ -67459,165 +91682,157 @@ "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/v2.19/docs/targets 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": "sources", + "default": "('*.py', '*.pyi', '!test_*.py', '!*_test.py', '!tests.py', '!conftest.py', '!test_*.pyi', '!*_test.pyi', '!tests.pyi')", + "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=['example.py', 'new_*.py', '!old_ignore.py']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "source", + "alias": "overrides", "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'`.", + "description": "Override the field values for generated `python_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.py\": {\"skip_pylint\": True]},\n \"bar.py\": {\"skip_flake8\": True]},\n (\"foo.py\", \"bar.py\"): {\"tags\": [\"linter_disabled\"]},\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 `python_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": true, - "type_hint": "str" + "required": false, + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "skip_spectral", + "alias": "skip_pydocstyle", "default": "False", - "description": "If true, don't run `spectral lint` on this target's code.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "description": "If true, don't run pydocstyle on this target's code.", + "provider": "pants.backend.python.lint.pydocstyle", "required": false, "type_hint": "bool" - } - ], - "provider": "pants.backend.experimental.openapi", - "summary": "A single OpenAPI document file." - }, - "openapi_documents": { - "alias": "openapi_documents", - "description": "Generate an `openapi_document` 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": "", + "alias": "skip_autoflake", + "default": "False", + "description": "If true, don't run Autoflake on this target's code.", + "provider": "pants.backend.python.lint.autoflake", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "description", - "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "alias": "skip_flake8", + "default": "False", + "description": "If true, don't run Flake8 on this target's code.", + "provider": "pants.backend.python.lint.flake8", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "sources", - "default": "('openapi.json', 'openapi.yaml', 'openapi.yml')", - "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=['openapi.json']`", - "provider": "", + "alias": "skip_pytype", + "default": "False", + "description": "If true, don't run pytype on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pytype", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "skip_spectral", + "alias": "skip_bandit", "default": "False", - "description": "If true, don't run `spectral lint` on this target's code.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "description": "If true, don't run Bandit on this target's code.", + "provider": "pants.backend.python.lint.bandit", "required": false, "type_hint": "bool" }, { - "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/v2.19/docs/targets 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": "", + "alias": "skip_pylint", + "default": "False", + "description": "If true, don't run Pylint on this target's code.", + "provider": "pants.backend.python.lint.pylint", "required": false, - "type_hint": "Iterable[str] | None" - } - ], - "provider": "pants.backend.experimental.openapi", - "summary": "Generate an `openapi_document` target for each file in the `sources` field." - }, - "openapi_source": { - "alias": "openapi_source", - "description": "A single OpenAPI source file.", - "fields": [ + "type_hint": "bool" + }, { - "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": "", + "alias": "skip_mypy", + "default": "False", + "description": "If true, don't run MyPy on this target's code.", + "provider": "pants.backend.python.typecheck.mypy", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "description", - "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "alias": "skip_add_trailing_comma", + "default": "False", + "description": "If true, don't run add-trailing-comma on this target's code.", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "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/v2.19/docs/targets 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": "", + "alias": "skip_black", + "default": "False", + "description": "If true, don't run Black on this target's code.", + "provider": "pants.backend.python.lint.black", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "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": "skip_pyupgrade", + "default": "False", + "description": "If true, don't run pyupgrade on this target's code.", + "provider": "pants.backend.python.lint.pyupgrade", + "required": false, + "type_hint": "bool" }, { - "alias": "skip_openapi_format", + "alias": "skip_ruff", "default": "False", - "description": "If true, don't run `openapi-format` on this target's code.", - "provider": "pants.backend.experimental.openapi.lint.openapi_format", + "description": "If true, don't run ruff on this target's code.", + "provider": "pants.backend.experimental.python.lint.ruff", "required": false, "type_hint": "bool" - } - ], - "provider": "pants.backend.experimental.openapi", - "summary": "A single OpenAPI source file." - }, - "openapi_sources": { - "alias": "openapi_sources", - "description": "Generate an `openapi_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": "", + "alias": "skip_yapf", + "default": "False", + "description": "If true, don't run yapf on this target's code.", + "provider": "pants.backend.python.lint.yapf", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "description", - "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "alias": "skip_isort", + "default": "False", + "description": "If true, don't run isort on this target's code.", + "provider": "pants.backend.python.lint.isort", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "sources", - "default": "('*.json', '*.yaml', '*.yml')", - "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=['*.json']`", - "provider": "", + "alias": "skip_docformatter", + "default": "False", + "description": "If true, don't run Docformatter on this target's code.", + "provider": "pants.backend.python.lint.docformatter", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "skip_openapi_format", + "alias": "skip_pyright", "default": "False", - "description": "If true, don't run `openapi-format` on this target's code.", - "provider": "pants.backend.experimental.openapi.lint.openapi_format", + "description": "If true, don't run Pyright on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pyright", "required": false, "type_hint": "bool" }, + { + "alias": "resolve", + "default": null, + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "run_goal_use_sandbox", + "default": null, + "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", + "provider": "", + "required": false, + "type_hint": "bool | None" + }, { "alias": "dependencies", "default": null, @@ -67625,14 +91840,30 @@ "provider": "", "required": false, "type_hint": "Iterable[str] | None" + }, + { + "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "restartable", + "default": "False", + "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "provider": "", + "required": false, + "type_hint": "bool" } ], - "provider": "pants.backend.experimental.openapi", - "summary": "Generate an `openapi_source` target for each file in the `sources` field." + "provider": "pants.backend.python", + "summary": "Generate a `python_source` target for each file in the `sources` field." }, - "pants_requirements": { - "alias": "pants_requirements", - "description": "Generate `python_requirement` targets for Pants itself to use with Pants plugins.\n\nThis is useful when writing plugins so that you can build and test your plugin using Pants.\n\nThe generated targets will have the correct version based on the exact `version` in your `pants.toml`, and they will work with dependency inference. They're pulled directly from our GitHub releases, using the relevant platform markers.\n\n(If this versioning scheme does not work for you, you can directly create `python_requirement` targets for `pantsbuild.pants` and `pantsbuild.pants.testutil`. We also invite you to share your ideas at https://github.com/pantsbuild/pants/issues/new/choose)", + "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/v2.19/docs/python-test-goal", "fields": [ { "alias": "tags", @@ -67651,76 +91882,68 @@ "type_hint": "str | None" }, { - "alias": "version_spec", - "default": "'== 2.19.0rc1'", - "description": "The PEP 440 version specifier version of Pants to target. E.g. `== 2.15.*`, or `>= 2.16.0, < 2.17.0`", + "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/v2.19/docs/targets 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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "testutil", - "default": "True", - "description": "If true, include `pantsbuild.pants.testutil` to write tests for your plugin.", + "alias": "resolve", + "default": null, + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "resolve", + "alias": "run_goal_use_sandbox", "default": null, - "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.", + "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", "provider": "", "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.plugin_development", - "summary": "Generate `python_requirement` targets for Pants itself to use with Pants plugins." - }, - "pex_binaries": { - "alias": "pex_binaries", - "description": "Generate a `pex_binary` target for each entry_point in the `entry_points` field.\n\nThis is solely meant to reduce duplication when you have multiple scripts in the same directory; it's valid to use a distinct `pex_binary` target for each script/binary instead.\n\nThis target generator does not work well to generate `pex_binary` targets where the entry point is for a third-party dependency. Dependency inference will not work for those, so you will have to set lots of custom metadata for each binary; prefer an explicit `pex_binary` target in that case. This target generator works best when the entry point is a first-party file, like `app.py` or `app.py:main`.", - "fields": [ + "type_hint": "bool | None" + }, { - "alias": "tags", + "alias": "timeout", "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.", + "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": "Iterable[str] | None" + "type_hint": "int | None" }, { - "alias": "description", + "alias": "xdist_concurrency", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "description": "Maximum number of CPUs to allocate to run each test file belonging to this target.\n\nTests are spread across multiple CPUs using `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/index.html). Use of `pytest-xdist` must be enabled using the `[pytest].xdist_enabled` option for this field to have an effect.\n\nIf `pytest-xdist` is enabled and this field is unset, Pants will attempt to derive the concurrency for test sources by counting the number of tests in each file.\n\nSet this field to `0` to explicitly disable use of `pytest-xdist` for a target.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "int | None" }, { - "alias": "entry_points", + "alias": "batch_compatibility_tag", "default": null, - "description": "The entry points for each binary, i.e. what gets run when when executing `./my_app.pex.`\n\nUse a file name, relative to the BUILD file, like `app.py`. You can also set the function to run, like `app.py:func`. Pants will convert these file names into well-formed entry points, like `app.py:func` into `path.to.app:func.`\n\nIf you want the entry point to be for a third-party dependency or to use a console script, use the `pex_binary` target directly.", + "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 `python_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 `python_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 `pytest` process.\n\nIf this field is set on a target, and its value is different from the value on some other test `python_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `pytest` process.\n\nIf this field is set on a target, and its value is the same as the value on some other `python_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": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "overrides", + "alias": "runtime_package_dependencies", "default": null, - "description": "Override the field values for generated `pex_binary` targets.\n\nExpects a dictionary mapping values from the `entry_points` field to a dictionary for their overrides. You may either use a single string or a tuple of strings to override multiple targets.\n\nFor example:\n\n overrides={\n \"foo.py\": {\"execution_mode\": \"venv\"]},\n \"bar.py:main\": {\"restartable\": True]},\n (\"foo.py\", \"bar.py:main\"): {\"tags\": [\"legacy\"]},\n }\n\nEvery key is validated to belong to this target's `entry_points` field.\n\nIf you'd like to override a field's value for every `pex_binary` target generated by this target, change the field directly on this target rather than using the `overrides` field.\n\nYou can specify the same `entry_point` in multiple keys, so long as you don't override the same field more than one time for the `entry_point`.", + "description": "Addresses to targets that can be built with the `pants package` goal and whose resulting artifacts should be included in the test run.\n\nPants will build the artifacts as if you had run `pants package`. It will include the results in your test's chroot, using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_aws_lambda_function`, or an `archive`.", "provider": "", "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", + "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": "str | None" + "type_hint": "Iterable[str] | None" }, { "alias": "interpreter_constraints", @@ -67728,151 +91951,167 @@ "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_tests", + "default": "False", + "description": "If true, don't run this target's tests.", + "provider": "", + "required": false, + "type_hint": "bool" }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "alias": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "source", "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/v2.19/docs/targets 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": "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": "Iterable[str] | None" + "required": true, + "type_hint": "str" }, { - "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` 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/v2.19/docs/pex for details.", - "provider": "", + "alias": "skip_pydocstyle", + "default": "False", + "description": "If true, don't run pydocstyle on this target's code.", + "provider": "pants.backend.python.lint.pydocstyle", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "resolve_local_platforms", - "default": null, - "description": "For each of the `platforms` specified, attempt to find a local interpreter that matches.\n\nIf a matching interpreter is found, use the interpreter to resolve distributions and build any that are only available in source distribution form. If no matching interpreter is found (or if this option is `False`), resolve for the platform by accepting only pre-built binary distributions (wheels).", - "provider": "", + "alias": "skip_autoflake", + "default": "False", + "description": "If true, don't run Autoflake on this target's code.", + "provider": "pants.backend.python.lint.autoflake", "required": false, - "type_hint": "bool | None" + "type_hint": "bool" }, { - "alias": "inherit_path", - "default": null, - "description": "Whether to inherit the `sys.path` (aka PYTHONPATH) of the environment that the binary runs in.\n\nUse `false` to not inherit `sys.path`; use `fallback` to inherit `sys.path` after packaged dependencies; and use `prefer` to inherit `sys.path` before packaged dependencies.", - "provider": "", + "alias": "skip_flake8", + "default": "False", + "description": "If true, don't run Flake8 on this target's code.", + "provider": "pants.backend.python.lint.flake8", "required": false, - "type_hint": "'fallback' | 'false' | 'prefer' | None" + "type_hint": "bool" }, { - "alias": "strip_pex_env", - "default": "True", - "description": "Whether or not to strip the PEX runtime environment of `PEX*` environment variables.\n\nMost applications have no need for the `PEX*` environment variables that are used to control PEX startup; so these variables are scrubbed from the environment by Pex before transferring control to the application by default. This prevents any subprocesses that happen to execute other PEX files from inheriting these control knob values since most would be undesired; e.g.: PEX_MODULE or PEX_PATH.", - "provider": "", + "alias": "skip_pytype", + "default": "False", + "description": "If true, don't run pytype on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pytype", "required": false, "type_hint": "bool" }, { - "alias": "ignore_errors", + "alias": "skip_bandit", "default": "False", - "description": "Should PEX ignore errors when it cannot resolve dependencies?", - "provider": "", + "description": "If true, don't run Bandit on this target's code.", + "provider": "pants.backend.python.lint.bandit", "required": false, "type_hint": "bool" }, { - "alias": "shebang", - "default": null, - "description": "Set the generated PEX to use this shebang, rather than the default of PEX choosing a shebang based on the interpreter constraints.\n\nThis influences the behavior of running `./result.pex`. You can ignore the shebang by instead running `/path/to/python_interpreter ./result.pex`.", - "provider": "", + "alias": "skip_pylint", + "default": "False", + "description": "If true, don't run Pylint on this target's code.", + "provider": "pants.backend.python.lint.pylint", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "emit_warnings", - "default": null, - "description": "Whether or not to emit PEX warnings at runtime.\n\nThe default is determined by the option `emit_warnings` in the `[pex-binary-defaults]` scope.", - "provider": "", + "alias": "skip_mypy", + "default": "False", + "description": "If true, don't run MyPy on this target's code.", + "provider": "pants.backend.python.typecheck.mypy", "required": false, - "type_hint": "bool | None" + "type_hint": "bool" }, { - "alias": "layout", - "default": "'zipapp'", - "description": "The layout used for the PEX binary.\n\nBy default, a PEX is created as a single file zipapp, but either a packed or loose directory tree based layout can be chosen instead.\n\nA packed layout PEX is an executable directory structure designed to have cache-friendly characteristics for syncing incremental updates to PEXed applications over a network. At the top level of the packed directory tree there is an executable `__main__.py` script. The directory can also be executed by passing its path to a Python executable; e.g: `python packed-pex-dir/`. The Pex bootstrap code and all dependency code are packed into individual zip files for efficient caching and syncing.\n\nA loose layout PEX is similar to a packed PEX, except that neither the Pex bootstrap code nor the dependency code are packed into zip files, but are instead present as collections of loose files in the directory tree providing different caching and syncing tradeoffs.\n\nBoth zipapp and packed layouts install themselves in the `$PEX_ROOT` as loose apps by default before executing, but these layouts compose with `execution_mode='zipapp'` as well.", - "provider": "", + "alias": "skip_add_trailing_comma", + "default": "False", + "description": "If true, don't run add-trailing-comma on this target's code.", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", "required": false, - "type_hint": "'loose' | 'packed' | 'zipapp' | None" + "type_hint": "bool" }, { - "alias": "execution_mode", - "default": "'zipapp'", - "description": "The mode the generated PEX file will run in.\n\nThe traditional PEX file runs in a modified 'zipapp' mode (See: https://www.python.org/dev/peps/pep-0441/) where zipped internal code and dependencies are first unpacked to disk. This mode achieves the fastest cold start times and may, for example be the best choice for cloud lambda functions.\n\nThe fastest execution mode in the steady state is 'venv', which generates a virtual environment from the PEX file on first run, but then achieves near native virtual environment start times. This mode also benefits from a traditional virtual environment `sys.path`, giving maximum compatibility with stdlib and third party APIs.", - "provider": "", + "alias": "skip_black", + "default": "False", + "description": "If true, don't run Black on this target's code.", + "provider": "pants.backend.python.lint.black", "required": false, - "type_hint": "'venv' | 'zipapp' | None" + "type_hint": "bool" }, { - "alias": "include_requirements", - "default": "True", - "description": "Whether to include the third party requirements the binary depends on in the packaged PEX file.", - "provider": "", + "alias": "skip_pyupgrade", + "default": "False", + "description": "If true, don't run pyupgrade on this target's code.", + "provider": "pants.backend.python.lint.pyupgrade", "required": false, "type_hint": "bool" }, { - "alias": "include_sources", - "default": "True", - "description": "Whether to include your first party sources the binary uses in the packaged PEX file.", - "provider": "", + "alias": "skip_ruff", + "default": "False", + "description": "If true, don't run ruff on this target's code.", + "provider": "pants.backend.experimental.python.lint.ruff", "required": false, "type_hint": "bool" }, { - "alias": "include_tools", + "alias": "skip_yapf", "default": "False", - "description": "Whether to include Pex tools in the PEX bootstrap code.\n\nWith tools included, the generated PEX file can be executed with `PEX_TOOLS=1 --help` to gain access to all the available tools.", - "provider": "", + "description": "If true, don't run yapf on this target's code.", + "provider": "pants.backend.python.lint.yapf", "required": false, "type_hint": "bool" }, { - "alias": "venv_site_packages_copies", + "alias": "skip_isort", "default": "False", - "description": "If execution_mode is venv, populate the venv site packages using hard links or copies of resolved PEX dependencies instead of symlinks.\n\nThis can be used to work around problems with tools or libraries that are confused by symlinked source files.", - "provider": "", + "description": "If true, don't run isort on this target's code.", + "provider": "pants.backend.python.lint.isort", "required": false, "type_hint": "bool" }, { - "alias": "venv_hermetic_scripts", - "default": "True", - "description": "If execution_mode is \"venv\", emit a hermetic venv `pex` script and hermetic console scripts.\n\nThe venv `pex` script and the venv console scripts are constructed to be hermetic by default; Python is executed with `-sE` to restrict the `sys.path` to the PEX venv contents only. Setting this field to `False` elides the Python `-sE` restrictions and can be used to interoperate with frameworks that use `PYTHONPATH` manipulation to run code.", - "provider": "", + "alias": "skip_docformatter", + "default": "False", + "description": "If true, don't run Docformatter on this target's code.", + "provider": "pants.backend.python.lint.docformatter", "required": false, "type_hint": "bool" }, { - "alias": "restartable", + "alias": "stevedore_namespaces", + "default": null, + "description": "List the stevedore namespaces required by this target.\n\nCode for all `entry_points` on `python_distribution` targets with these namespaces will be added as dependencies so that they are available on PYTHONPATH during tests. Note that this is only a subset of the `python_distribution`s dependencies, so the `entry_points` only need to be defined on one `python_distribution` even if the test only needs some of the `entry_points` namespaces on it.\n\nPlus, an `entry_points.txt` file will be generated in the sandbox so that each of the `python_distribution`s appear to be \"installed\". The `entry_points.txt` file will only include the namespaces requested on this field. Without this, stevedore would not be able to look up plugins in the setuptools `entry_points` metadata.\n\nNOTE: Each `python_distribution` must opt-in to being included in this repo-wide inference by tagging the namespaces with `stevedore_namespace(\"my.stevedore.extension\")`.\n\nThe stevedore namespace format (`my.stevedore.extension`) is similar to a Python namespace.", + "provider": "pants.backend.experimental.python.framework.stevedore", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_pyright", "default": "False", - "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", - "provider": "", + "description": "If true, don't run Pyright on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pyright", "required": false, "type_hint": "bool" } ], "provider": "pants.backend.python", - "summary": "Generate a `pex_binary` target for each entry_point in the `entry_points` field." + "summary": "A single Python test file, written in either Pytest style or unittest style." }, - "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/v2.19/docs/pex.", + "python_test_utils": { + "alias": "python_test_utils", + "description": "Generate a `python_source` target for each file in the `sources` field.\n\nThis target generator is intended for test utility files like `conftest.py` or `my_test_utils.py`. Technically, it generates `python_source` targets in the exact same way as the `python_sources` target generator does, only that the `sources` field has a different default. So it is valid to use `python_sources` instead. However, this target can be helpful to better model your code by keeping separate test support files vs. production files.", "fields": [ { "alias": "tags", @@ -67891,204 +92130,180 @@ "type_hint": "str | None" }, { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "alias": "sources", + "default": "('conftest.py', 'test_*.pyi', '*_test.pyi', 'tests.pyi')", + "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=['conftest.py', 'test_*.pyi', '*_test.pyi', 'tests.pyi']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "alias": "dependencies", + "alias": "overrides", "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/v2.19/docs/targets 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": "Override the field values for generated `python_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.py\": {\"skip_pylint\": True]},\n \"bar.py\": {\"skip_flake8\": True]},\n (\"foo.py\", \"bar.py\"): {\"tags\": [\"linter_disabled\"]},\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 `python_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": "Iterable[str] | None" + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | 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` 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/v2.19/docs/pex for details.", - "provider": "", + "alias": "skip_pydocstyle", + "default": "False", + "description": "If true, don't run pydocstyle on this target's code.", + "provider": "pants.backend.python.lint.pydocstyle", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "resolve_local_platforms", - "default": null, - "description": "For each of the `platforms` specified, attempt to find a local interpreter that matches.\n\nIf a matching interpreter is found, use the interpreter to resolve distributions and build any that are only available in source distribution form. If no matching interpreter is found (or if this option is `False`), resolve for the platform by accepting only pre-built binary distributions (wheels).", - "provider": "", + "alias": "skip_autoflake", + "default": "False", + "description": "If true, don't run Autoflake on this target's code.", + "provider": "pants.backend.python.lint.autoflake", "required": false, - "type_hint": "bool | None" + "type_hint": "bool" }, { - "alias": "inherit_path", - "default": null, - "description": "Whether to inherit the `sys.path` (aka PYTHONPATH) of the environment that the binary runs in.\n\nUse `false` to not inherit `sys.path`; use `fallback` to inherit `sys.path` after packaged dependencies; and use `prefer` to inherit `sys.path` before packaged dependencies.", - "provider": "", + "alias": "skip_flake8", + "default": "False", + "description": "If true, don't run Flake8 on this target's code.", + "provider": "pants.backend.python.lint.flake8", "required": false, - "type_hint": "'fallback' | 'false' | 'prefer' | None" + "type_hint": "bool" }, { - "alias": "strip_pex_env", - "default": "True", - "description": "Whether or not to strip the PEX runtime environment of `PEX*` environment variables.\n\nMost applications have no need for the `PEX*` environment variables that are used to control PEX startup; so these variables are scrubbed from the environment by Pex before transferring control to the application by default. This prevents any subprocesses that happen to execute other PEX files from inheriting these control knob values since most would be undesired; e.g.: PEX_MODULE or PEX_PATH.", - "provider": "", + "alias": "skip_pytype", + "default": "False", + "description": "If true, don't run pytype on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pytype", "required": false, "type_hint": "bool" }, { - "alias": "ignore_errors", + "alias": "skip_bandit", "default": "False", - "description": "Should PEX ignore errors when it cannot resolve dependencies?", - "provider": "", + "description": "If true, don't run Bandit on this target's code.", + "provider": "pants.backend.python.lint.bandit", "required": false, "type_hint": "bool" }, { - "alias": "shebang", - "default": null, - "description": "Set the generated PEX to use this shebang, rather than the default of PEX choosing a shebang based on the interpreter constraints.\n\nThis influences the behavior of running `./result.pex`. You can ignore the shebang by instead running `/path/to/python_interpreter ./result.pex`.", - "provider": "", + "alias": "skip_pylint", + "default": "False", + "description": "If true, don't run Pylint on this target's code.", + "provider": "pants.backend.python.lint.pylint", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "emit_warnings", - "default": null, - "description": "Whether or not to emit PEX warnings at runtime.\n\nThe default is determined by the option `emit_warnings` in the `[pex-binary-defaults]` scope.", - "provider": "", + "alias": "skip_mypy", + "default": "False", + "description": "If true, don't run MyPy on this target's code.", + "provider": "pants.backend.python.typecheck.mypy", "required": false, - "type_hint": "bool | None" + "type_hint": "bool" }, { - "alias": "layout", - "default": "'zipapp'", - "description": "The layout used for the PEX binary.\n\nBy default, a PEX is created as a single file zipapp, but either a packed or loose directory tree based layout can be chosen instead.\n\nA packed layout PEX is an executable directory structure designed to have cache-friendly characteristics for syncing incremental updates to PEXed applications over a network. At the top level of the packed directory tree there is an executable `__main__.py` script. The directory can also be executed by passing its path to a Python executable; e.g: `python packed-pex-dir/`. The Pex bootstrap code and all dependency code are packed into individual zip files for efficient caching and syncing.\n\nA loose layout PEX is similar to a packed PEX, except that neither the Pex bootstrap code nor the dependency code are packed into zip files, but are instead present as collections of loose files in the directory tree providing different caching and syncing tradeoffs.\n\nBoth zipapp and packed layouts install themselves in the `$PEX_ROOT` as loose apps by default before executing, but these layouts compose with `execution_mode='zipapp'` as well.", - "provider": "", + "alias": "skip_add_trailing_comma", + "default": "False", + "description": "If true, don't run add-trailing-comma on this target's code.", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", "required": false, - "type_hint": "'loose' | 'packed' | 'zipapp' | None" + "type_hint": "bool" }, { - "alias": "execution_mode", - "default": "'zipapp'", - "description": "The mode the generated PEX file will run in.\n\nThe traditional PEX file runs in a modified 'zipapp' mode (See: https://www.python.org/dev/peps/pep-0441/) where zipped internal code and dependencies are first unpacked to disk. This mode achieves the fastest cold start times and may, for example be the best choice for cloud lambda functions.\n\nThe fastest execution mode in the steady state is 'venv', which generates a virtual environment from the PEX file on first run, but then achieves near native virtual environment start times. This mode also benefits from a traditional virtual environment `sys.path`, giving maximum compatibility with stdlib and third party APIs.", - "provider": "", + "alias": "skip_black", + "default": "False", + "description": "If true, don't run Black on this target's code.", + "provider": "pants.backend.python.lint.black", "required": false, - "type_hint": "'venv' | 'zipapp' | None" + "type_hint": "bool" }, { - "alias": "include_requirements", - "default": "True", - "description": "Whether to include the third party requirements the binary depends on in the packaged PEX file.", - "provider": "", + "alias": "skip_pyupgrade", + "default": "False", + "description": "If true, don't run pyupgrade on this target's code.", + "provider": "pants.backend.python.lint.pyupgrade", "required": false, "type_hint": "bool" }, { - "alias": "include_sources", - "default": "True", - "description": "Whether to include your first party sources the binary uses in the packaged PEX file.", - "provider": "", + "alias": "skip_ruff", + "default": "False", + "description": "If true, don't run ruff on this target's code.", + "provider": "pants.backend.experimental.python.lint.ruff", "required": false, "type_hint": "bool" }, { - "alias": "include_tools", + "alias": "skip_yapf", "default": "False", - "description": "Whether to include Pex tools in the PEX bootstrap code.\n\nWith tools included, the generated PEX file can be executed with `PEX_TOOLS=1 --help` to gain access to all the available tools.", - "provider": "", + "description": "If true, don't run yapf on this target's code.", + "provider": "pants.backend.python.lint.yapf", "required": false, "type_hint": "bool" }, { - "alias": "venv_site_packages_copies", + "alias": "skip_isort", "default": "False", - "description": "If execution_mode is venv, populate the venv site packages using hard links or copies of resolved PEX dependencies instead of symlinks.\n\nThis can be used to work around problems with tools or libraries that are confused by symlinked source files.", - "provider": "", + "description": "If true, don't run isort on this target's code.", + "provider": "pants.backend.python.lint.isort", "required": false, "type_hint": "bool" }, { - "alias": "venv_hermetic_scripts", - "default": "True", - "description": "If execution_mode is \"venv\", emit a hermetic venv `pex` script and hermetic console scripts.\n\nThe venv `pex` script and the venv console scripts are constructed to be hermetic by default; Python is executed with `-sE` to restrict the `sys.path` to the PEX venv contents only. Setting this field to `False` elides the Python `-sE` restrictions and can be used to interoperate with frameworks that use `PYTHONPATH` manipulation to run code.", - "provider": "", + "alias": "skip_docformatter", + "default": "False", + "description": "If true, don't run Docformatter on this target's code.", + "provider": "pants.backend.python.lint.docformatter", "required": false, "type_hint": "bool" }, { - "alias": "restartable", + "alias": "skip_pyright", "default": "False", - "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", - "provider": "", + "description": "If true, don't run Pyright on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pyright", "required": false, "type_hint": "bool" }, { - "alias": "entry_point", + "alias": "resolve", "default": null, - "description": "Set the entry point, i.e. what gets run when executing `./my_app.pex`, to a module.\n\nYou can specify a full module like `'path.to.module'` and `'path.to.module:func'`, or use a shorthand to specify a file name, using the same syntax as the `sources` field:\n\n 1) `'app.py'`, Pants will convert into the module `path.to.app`;\n 2) `'app.py:func'`, Pants will convert into `path.to.app:func`.\n\nYou may either set this field or the `script` field, but not both. Leave off both fields to have no entry point.", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "script", + "alias": "run_goal_use_sandbox", "default": null, - "description": "Set the entry point, i.e. what gets run when executing `./my_app.pex`, to a script or console_script as defined by any of the distributions in the PEX.\n\nYou may either set this field or the `entry_point` field, but not both. Leave off both fields to have no entry point.", + "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "bool | None" }, { - "alias": "args", + "alias": "dependencies", "default": null, - "description": "Freeze these command-line args into the PEX. Allows you to run generic entry points on specific arguments without creating a shim 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/v2.19/docs/targets 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": "env", - "default": null, - "description": "Freeze these environment variables into the PEX. Allows you to run generic entry points on a specific environment without creating a shim file.", - "provider": "", - "required": false, - "type_hint": "Dict[str, str] | None" - }, - { - "alias": "output_path", + "alias": "interpreter_constraints", "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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.", + "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" } ], "provider": "pants.backend.python", - "summary": "A Python target that can be converted into an executable PEX file." + "summary": "Generate a `python_source` target for each file in the `sources` field." }, - "pipenv_requirements": { - "alias": "pipenv_requirements", - "description": "Generate a `python_requirement` for each entry in `Pipenv.lock`.", + "python_tests": { + "alias": "python_tests", + "description": "Generate a `python_test` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -68107,348 +92322,244 @@ "type_hint": "str | None" }, { - "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[str, Iterable[str]]" - }, - { - "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": "Dict[str, Iterable[str]]" - }, - { - "alias": "source", - "default": "'Pipfile.lock'", - "description": "A single file that belongs to this target.\n\nPath is relative to the BUILD file's directory, e.g. `source='example.ext'`.", + "alias": "sources", + "default": "('test_*.py', '*_test.py', 'tests.py')", + "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=['test_*.py', '*_test.py', 'tests.py']`", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { "alias": "overrides", "default": null, - "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.", + "description": "Override the field values for generated `python_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.py\": {\"timeout\": 120},\n \"bar_test.py\": {\"timeout\": 200},\n (\"foo_test.py\", \"bar_test.py\"): {\"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 `python_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": "resolve", - "default": null, - "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.python", - "summary": "Generate a `python_requirement` for each entry in `Pipenv.lock`." - }, - "poetry_requirements": { - "alias": "poetry_requirements", - "description": "Generate a `python_requirement` for each entry in a Poetry `pyproject.toml`.", - "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": "", + "alias": "skip_pydocstyle", + "default": "False", + "description": "If true, don't run pydocstyle on this target's code.", + "provider": "pants.backend.python.lint.pydocstyle", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "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": "", + "alias": "skip_autoflake", + "default": "False", + "description": "If true, don't run Autoflake on this target's code.", + "provider": "pants.backend.python.lint.autoflake", "required": false, - "type_hint": "Dict[str, Iterable[str]]" + "type_hint": "bool" }, { - "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": "", + "alias": "skip_flake8", + "default": "False", + "description": "If true, don't run Flake8 on this target's code.", + "provider": "pants.backend.python.lint.flake8", "required": false, - "type_hint": "Dict[str, Iterable[str]]" + "type_hint": "bool" }, { - "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": "", + "alias": "skip_pytype", + "default": "False", + "description": "If true, don't run pytype on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pytype", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "overrides", - "default": null, - "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": "", + "alias": "skip_bandit", + "default": "False", + "description": "If true, don't run Bandit on this target's code.", + "provider": "pants.backend.python.lint.bandit", "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "type_hint": "bool" }, { - "alias": "resolve", - "default": null, - "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.python", - "summary": "Generate a `python_requirement` for each entry in a Poetry `pyproject.toml`." - }, - "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/v2.19/docs/protobuf-python\n Go: https://www.pantsbuild.org/v2.19/docs/protobuf-go", - "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": "", + "alias": "skip_pylint", + "default": "False", + "description": "If true, don't run Pylint on this target's code.", + "provider": "pants.backend.python.lint.pylint", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "description", - "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "alias": "skip_mypy", + "default": "False", + "description": "If true, don't run MyPy on this target's code.", + "provider": "pants.backend.python.typecheck.mypy", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "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/v2.19/docs/targets 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": "", + "alias": "skip_add_trailing_comma", + "default": "False", + "description": "If true, don't run add-trailing-comma on this target's code.", + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", "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" + "type_hint": "bool" }, { - "alias": "grpc", + "alias": "skip_black", "default": "False", - "description": "Whether to generate gRPC code or not.", - "provider": "", + "description": "If true, don't run Black on this target's code.", + "provider": "pants.backend.python.lint.black", "required": false, "type_hint": "bool" }, { - "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", - "provider": "pants.backend.codegen.protobuf.python", + "alias": "skip_pyupgrade", + "default": "False", + "description": "If true, don't run pyupgrade on this target's code.", + "provider": "pants.backend.python.lint.pyupgrade", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "go_mod_address", - "default": null, - "description": "Address of the `go_mod` target representing the Go module that this target is part of.\n\nThis field is similar to the `resolve` field used in the Python and JVM backends. If a codegen target such as `protobuf_sources` will be used in multiple Go modules, then you should use the `parametrize` built-in to parametrize that `protobuf_sources` target for each Go module.\n\nIf there is a single `go_mod` target in the repository, then this field defaults to the address for that single `go_mod` target.", - "provider": "pants.backend.experimental.codegen.protobuf.go", + "alias": "skip_ruff", + "default": "False", + "description": "If true, don't run ruff on this target's code.", + "provider": "pants.backend.experimental.python.lint.ruff", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "jvm_resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "pants.backend.experimental.codegen.protobuf.java", + "alias": "skip_yapf", + "default": "False", + "description": "If true, don't run yapf on this target's code.", + "provider": "pants.backend.python.lint.yapf", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "skip_buf_format", + "alias": "skip_isort", "default": "False", - "description": "If true, don't run `buf format` on this target's code.", - "provider": "pants.backend.codegen.protobuf.lint.buf", + "description": "If true, don't run isort on this target's code.", + "provider": "pants.backend.python.lint.isort", "required": false, "type_hint": "bool" }, { - "alias": "jvm_jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "pants.backend.experimental.codegen.protobuf.java", + "alias": "skip_docformatter", + "default": "False", + "description": "If true, don't run Docformatter on this target's code.", + "provider": "pants.backend.python.lint.docformatter", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "python_source_root", + "alias": "stevedore_namespaces", "default": null, - "description": "The source root to generate Python sources under.\n\nIf unspecified, the source root the `protobuf_sources` is under will be used.", - "provider": "pants.backend.codegen.protobuf.python", + "description": "List the stevedore namespaces required by this target.\n\nCode for all `entry_points` on `python_distribution` targets with these namespaces will be added as dependencies so that they are available on PYTHONPATH during tests. Note that this is only a subset of the `python_distribution`s dependencies, so the `entry_points` only need to be defined on one `python_distribution` even if the test only needs some of the `entry_points` namespaces on it.\n\nPlus, an `entry_points.txt` file will be generated in the sandbox so that each of the `python_distribution`s appear to be \"installed\". The `entry_points.txt` file will only include the namespaces requested on this field. Without this, stevedore would not be able to look up plugins in the setuptools `entry_points` metadata.\n\nNOTE: Each `python_distribution` must opt-in to being included in this repo-wide inference by tagging the namespaces with `stevedore_namespace(\"my.stevedore.extension\")`.\n\nThe stevedore namespace format (`my.stevedore.extension`) is similar to a Python namespace.", + "provider": "pants.backend.experimental.python.framework.stevedore", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_buf_lint", + "alias": "skip_pyright", "default": "False", - "description": "If true, don't run `buf lint` on this target's code.", - "provider": "pants.backend.codegen.protobuf.lint.buf", + "description": "If true, don't run Pyright on this target's code.", + "provider": "pants.backend.experimental.python.typecheck.pyright", "required": false, "type_hint": "bool" }, { - "alias": "python_resolve", - "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", - "provider": "pants.backend.codegen.protobuf.python", - "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.codegen.protobuf.python", - "summary": "A single Protobuf file used to generate various languages." - }, - "protobuf_sources": { - "alias": "protobuf_sources", - "description": "Generate a `protobuf_source` target for each file in the `sources` field.", - "fields": [ - { - "alias": "tags", + "alias": "dependencies", "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.", + "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/v2.19/docs/targets 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": "description", + "alias": "resolve", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "sources", - "default": "('*.proto',)", - "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=['example.proto', 'new_*.proto', '!old_ignore*.proto']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" - }, - { - "alias": "overrides", + "alias": "run_goal_use_sandbox", "default": null, - "description": "Override the field values for generated `protobuf_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.proto\": {\"grpc\": True},\n \"bar.proto\": {\"description\": \"our user model\"},\n (\"foo.proto\", \"bar.proto\"): {\"tags\": [\"overridden\"]},\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 `protobuf_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.", + "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", "provider": "", "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "type_hint": "bool | None" }, { - "alias": "go_mod_address", + "alias": "timeout", "default": null, - "description": "Address of the `go_mod` target representing the Go module that this target is part of.\n\nThis field is similar to the `resolve` field used in the Python and JVM backends. If a codegen target such as `protobuf_sources` will be used in multiple Go modules, then you should use the `parametrize` built-in to parametrize that `protobuf_sources` target for each Go module.\n\nIf there is a single `go_mod` target in the repository, then this field defaults to the address for that single `go_mod` target.", - "provider": "pants.backend.experimental.codegen.protobuf.go", + "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": "str | None" + "type_hint": "int | None" }, { - "alias": "jvm_resolve", + "alias": "xdist_concurrency", "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "pants.backend.experimental.codegen.protobuf.java", + "description": "Maximum number of CPUs to allocate to run each test file belonging to this target.\n\nTests are spread across multiple CPUs using `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/index.html). Use of `pytest-xdist` must be enabled using the `[pytest].xdist_enabled` option for this field to have an effect.\n\nIf `pytest-xdist` is enabled and this field is unset, Pants will attempt to derive the concurrency for test sources by counting the number of tests in each file.\n\nSet this field to `0` to explicitly disable use of `pytest-xdist` for a target.", + "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "int | None" }, { - "alias": "jvm_jdk", + "alias": "batch_compatibility_tag", "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "pants.backend.experimental.codegen.protobuf.java", + "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 `python_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 `python_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 `pytest` process.\n\nIf this field is set on a target, and its value is different from the value on some other test `python_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `pytest` process.\n\nIf this field is set on a target, and its value is the same as the value on some other `python_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" }, { - "alias": "skip_buf_lint", - "default": "False", - "description": "If true, don't run `buf lint` on this target's code.", - "provider": "pants.backend.codegen.protobuf.lint.buf", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_buf_format", - "default": "False", - "description": "If true, don't run `buf format` on this target's code.", - "provider": "pants.backend.codegen.protobuf.lint.buf", - "required": false, - "type_hint": "bool" - }, - { - "alias": "python_interpreter_constraints", + "alias": "runtime_package_dependencies", "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "Addresses to targets that can be built with the `pants package` goal and whose resulting artifacts should be included in the test run.\n\nPants will build the artifacts as if you had run `pants package`. It will include the results in your test's chroot, using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_aws_lambda_function`, or an `archive`.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "python_resolve", + "alias": "extra_env_vars", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "python_source_root", + "alias": "interpreter_constraints", "default": null, - "description": "The source root to generate Python sources under.\n\nIf unspecified, the source root the `protobuf_sources` is under will be used.", + "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "grpc", + "alias": "skip_tests", "default": "False", - "description": "Whether to generate gRPC code or not.", + "description": "If true, don't run this target's tests.", "provider": "", "required": false, "type_hint": "bool" }, { - "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/v2.19/docs/targets 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": "environment", + "default": "'__local__'", + "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" } ], - "provider": "pants.backend.codegen.protobuf.python", - "summary": "Generate a `protobuf_source` target for each file in the `sources` field." + "provider": "pants.backend.python", + "summary": "Generate a `python_test` target for each file in the `sources` field." }, - "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/v2.19/docs/python-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']`.", + "relocated_files": { + "alias": "relocated_files", + "description": "Loose files with path manipulation applied.\n\nAllows you to relocate the files at runtime to something more convenient than their actual paths in your project.\n\nFor example, you can relocate `src/resources/project1/data.json` to instead be `resources/data.json`. Your other target types can then add this target to their `dependencies` field, rather than using the original `files` target.\n\nTo remove a prefix:\n\n # Results in `data.json`.\n relocated_files(\n files_targets=[\"src/resources/project1:target\"],\n src=\"src/resources/project1\",\n dest=\"\",\n )\n\nTo add a prefix:\n\n # Results in `images/logo.svg`.\n relocated_files(\n files_targets=[\"//:logo\"],\n src=\"\",\n dest=\"images\",\n )\n\nTo replace a prefix:\n\n # Results in `new_prefix/project1/data.json`.\n relocated_files(\n files_targets=[\"src/resources/project1:target\"],\n src=\"src/resources\",\n dest=\"new_prefix\",\n )", "fields": [ { "alias": "tags", @@ -68467,68 +92578,36 @@ "type_hint": "str | None" }, { - "alias": "output_path", - "default": null, - "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/python/project:bin` would be `src.python.project/bin/`.\n\nRegardless of whether you use the default or set this field, the path will end with PyOxidizer's file format of `/{debug,release}/install/`, where `platform` is a Rust platform triplet like `aarch-64-apple-darwin` and `binary_name` is the value of the `binary_name` field. So, using the default for this field, the target `src/python/project:bin` might have a final path like `src.python.project/bin/aarch-64-apple-darwin/release/bin`.\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": "binary_name", - "default": null, - "description": "The name of the binary that will be output by PyOxidizer. If not set, this will default to the name of this target.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "alias": "template", - "default": null, - "description": "If set, will use your custom configuration rather than using Pants's default template.\n\nThe path is relative to the BUILD file's directory, and it must end in `.blzt`.\n\nAll parameters must be prefixed by `$` or surrounded with `${ }`.\n\nAvailable template parameters:\n\n * RUN_MODULE - The re-formatted `entry_point` passed to this target (or None).\n * NAME - This target's name.\n * WHEELS - All python distributions passed to this target (or `[]`).\n * UNCLASSIFIED_RESOURCE_INSTALLATION - This will populate a snippet of code to correctly inject the targets `filesystem_resources`.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "alias": "dependencies", + "alias": "files_targets", "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/v2.19/docs/python-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/v2.19/docs/python-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": "Addresses to the original `file` and `files` targets that you want to relocate, such as `['//:json_files']`.\n\nEvery target will be relocated using the same mapping. This means that every target must include the value from the `src` field in their original path.", "provider": "", "required": true, "type_hint": "Iterable[str]" }, { - "alias": "entry_point", + "alias": "src", "default": null, - "description": "Set the entry point, i.e. what gets run when executing `./my_app`, to a module. This represents the content of PyOxidizer's `python_config.run_module` and leaving this field empty will create a REPL binary.\n\nIt is specified with the full module declared: `'path.to.module'`.\n\nThis field is passed into the PyOxidizer config as-is, and does not undergo validation checking.", + "description": "The original prefix that you want to replace, such as `src/resources`.\n\nYou can set this field to the empty string to preserve the original path; the value in the `dest` field will then be added to the beginning of this original path.", "provider": "", - "required": false, - "type_hint": "str | None" + "required": true, + "type_hint": "str" }, { - "alias": "filesystem_resources", + "alias": "dest", "default": null, - "description": "Adds support for listing dependencies that MUST be installed to the filesystem (e.g. Numpy). See https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer_packaging_additional_files.html#installing-unclassified-files-on-the-filesystem", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" - }, - { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", + "description": "The new prefix that you want to add to the beginning of the path, such as `data`.\n\nYou can set this field to the empty string to avoid adding any new values to the path; the value in the `src` field will then be stripped, rather than replaced.", "provider": "", - "required": false, - "type_hint": "str | None" + "required": true, + "type_hint": "str" } ], - "provider": "pants.backend.experimental.python.packaging.pyoxidizer", - "summary": "A single-file Python executable with a Python interpreter embedded, built via PyOxidizer." + "provider": "pants.core", + "summary": "Loose files with path manipulation applied." }, - "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/v2.19/docs/awslambda-python.", + "remote_environment": { + "alias": "remote_environment", + "description": "Configuration of a remote execution environment used for building your code.\n\nEnvironment configuration includes platform properties and a fallback environment, as well as environment-aware options (such as environment variables and search paths) used by Pants to execute processes in this remote environment.\n\nNote that you must also configure remote execution with the global options like `remote_execution` and `remote_execution_address`.\n\nTo use this environment, map this target's address with a memorable name in `[environments-preview].names`. You can then consume this environment by specifying the name in the `environment` field defined on other targets.\n\nOften, it is only necessary to have a single `remote_environment` target for your repository, but it can be useful to have >1 so that you can set different `extra_platform_properties`. For example, with some servers, you could use this to configure a different Docker image per environment.", "fields": [ { "alias": "tags", @@ -68547,308 +92626,276 @@ "type_hint": "str | None" }, { - "alias": "output_path", - "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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.", + "alias": "platform", + "default": "'linux_x86_64'", + "description": "The platform used by the remote execution environment.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "'linux_arm64' | 'linux_x86_64' | 'macos_arm64' | 'macos_x86_64' | None" }, { - "alias": "include_requirements", - "default": "True", - "description": "Whether to resolve requirements and include them in the AWS Lambda artifact. This is most useful with Lambda Layers to make code uploads smaller when third-party requirements are in layers. https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html", + "alias": "extra_platform_properties", + "default": "()", + "description": "Platform properties to set on remote execution requests.\n\nFormat: `property=value`. Multiple values should be specified as multiple occurrences of this flag.\n\nPants itself may add additional platform properties.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "runtime", + "alias": "fallback_environment", "default": null, - "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.", + "description": "The environment to fallback to when remote execution is disabled via the global option `--remote-execution`.\n\nMust be an environment name from the option `[environments-preview].names`, the special string `__local__` to use the relevant local environment, or the Python value `None` to error when remote execution is disabled.\n\nTip: if you are using a Docker image with your remote execution environment (usually enabled by setting the field `extra_platform_properties`), then it can be useful to fallback to an equivalent `docker_image` target so that you have a consistent execution environment.", "provider": "", "required": false, "type_hint": "str | 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` 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/v2.19/docs/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.", + "alias": "cache_binary_discovery", + "default": "False", + "description": "If true, will cache system binary discovery, e.g. finding Python interpreters.\n\nWhen safe to do, it is preferable to set this option to `True` for faster performance by avoiding wasted work. Otherwise, Pants will search for system binaries whenever the Pants daemon is restarted.\n\nHowever, it is only safe to set this to `True` if the remote execution environment has a stable environment, e.g. the server will not change versions of installed system binaries. Otherwise, you risk caching results that become stale when the server changes its environment, which may break your builds. With some remote execution servers, you can specify a Docker image to run with via the field `extra_platform_properties`; if you are able to specify what Docker image to use, and also use a pinned tag of the image, it is likely safe to set this field to true.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "resolve", + "alias": "golang_external_linker_binary_name", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", - "provider": "", + "description": "Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "nodejs_executable_search_paths", "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/v2.19/docs/targets 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": "", + "description": "Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "handler", - "default": null, - "description": "Entry point to the AWS Lambda handler.\n\nYou can specify a full module like `'path.to.module:handler_func'` or use a shorthand to specify a file name, using the same syntax as the `sources` field, e.g. `'cloud_function.py:handler_func'`.\n\nThis is re-exported at `lambda_function.handler` in the resulting package to be used as the configured handler of the Lambda in AWS. It can also be accessed under its source-root-relative module path, for example: `path.to.module.handler_func`.", - "provider": "", - "required": true, - "type_hint": "str" - } - ], - "provider": "pants.backend.awslambda.python", - "summary": "A self-contained Python function suitable for uploading to AWS Lambda." - }, - "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/v2.19/docs/awslambda-python.", - "fields": [ - { - "alias": "tags", + "alias": "go_generate_env_vars", "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": "", + "description": "Overrides the default value from the option `[go-generate].env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "description", + "alias": "golang_cgo_gxx_binary_name", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "description": "Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "str | None" }, { - "alias": "output_path", + "alias": "golang_cgo_cxx_flags", "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "", + "description": "Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "include_requirements", - "default": "True", - "description": "Whether to resolve requirements and include them in the AWS Lambda artifact. This is most useful with Lambda Layers to make code uploads smaller when third-party requirements are in layers. https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html", - "provider": "", + "alias": "python_native_code_cpp_flags", + "default": null, + "description": "Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "runtime", + "alias": "pex_executable_search_paths", "default": null, - "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": "", + "description": "Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "complete_platforms", + "alias": "apache_thrift_thrift_search_paths", "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` 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/v2.19/docs/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.", - "provider": "", + "description": "Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active.", + "provider": "pants.backend.codegen.thrift.apache.python", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "resolve", + "alias": "test_extra_env_vars", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", - "provider": "", + "description": "Overrides the default value from the option `[test].extra_env_vars` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", - "provider": "", + "alias": "system_binaries_system_binary_paths", + "default": null, + "description": "Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "include_sources", - "default": "True", - "description": "Whether to resolve first party sources and include them in the AWS Lambda artifact. This is most useful to allow creating a Lambda Layer with only third-party requirements. https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html", - "provider": "", + "alias": "docker_env_vars", + "default": null, + "description": "Overrides the default value from the option `[docker].env_vars` when this environment target is active.", + "provider": "pants.backend.docker", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[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/v2.19/docs/targets 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]" - } - ], - "provider": "pants.backend.awslambda.python", - "summary": "A Python layer suitable for uploading to AWS Lambda." - }, - "python_distribution": { - "alias": "python_distribution", - "description": "A publishable Python setuptools distribution (e.g. an sdist or wheel).\n\nSee https://www.pantsbuild.org/v2.19/docs/python-distributions.", - "fields": [ - { - "alias": "tags", + "alias": "nodejs_search_path", "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": "", + "description": "Overrides the default value from the option `[nodejs].search_path` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "description", + "alias": "golang_cgo_fortran_binary_name", "default": null, - "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", - "provider": "", + "description": "Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "str | None" }, { - "alias": "interpreter_constraints", + "alias": "golang_cgo_fortran_flags", "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", - "provider": "", + "description": "Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "dependencies", + "alias": "golang_cgo_linker_flags", "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/v2.19/docs/targets 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": "", + "description": "Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "entry_points", + "alias": "golang_cgo_gcc_binary_name", "default": null, - "description": "Any entry points, such as `console_scripts` and `gui_scripts`.\n\nSpecify as a nested dictionary, with a dictionary for each type of entry point, e.g. `console_scripts` vs. `gui_scripts`. Each dictionary maps the entry point name to either a setuptools entry point (`\"path.to.module:func\"`) or a Pants target address to a `pex_binary` target.\n\nExample:\n\n entry_points={\n \"console_scripts\": {\n \"my-script\": \"project.app:main\",\n \"another-script\": \"project/subdir:pex_binary_tgt\"\n }\n }\n\nNote that Pants will assume that any value that either starts with `:` or has `/` in it, is a target address to a `pex_binary` target. Otherwise, it will assume it's a setuptools entry point as defined by https://packaging.python.org/specifications/entry-points/#entry-points-specification. Use `//` as a prefix for target addresses if you need to disambiguate.\n\nPants will attempt to infer dependencies, which you can confirm by running:\n\n pants dependencies ", - "provider": "", + "description": "Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, - "type_hint": "Dict[str, Dict[str, str]] | None" + "type_hint": "str | None" }, { - "alias": "provides", + "alias": "pyenv_python_provider_installation_extra_env_vars", "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/v2.19/docs/plugins-setup-py for how to write a plugin to dynamically generate kwargs.", - "provider": "", - "required": true, - "type_hint": "PythonArtifact" + "description": "Overrides the default value from the option `[pyenv-python-provider].installation_extra_env_vars` when this environment target is active.", + "provider": "pants.backend.python.providers.experimental.pyenv", + "required": false, + "type_hint": "Iterable[str] | None" }, { - "alias": "generate_setup", + "alias": "golang_go_search_paths", "default": null, - "description": "Whether to generate setup information for this distribution, based on analyzing sources and dependencies. Set to False to use existing setup information, such as existing `setup.py`, `setup.cfg`, `pyproject.toml` files or similar.", - "provider": "", + "description": "Overrides the default value from the option `[golang].go_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, - "type_hint": "bool | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "wheel", - "default": "True", - "description": "Whether to build a wheel for the distribution.", - "provider": "", + "alias": "subprocess_environment_env_vars", + "default": null, + "description": "Overrides the default value from the option `[subprocess-environment].env_vars` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "sdist", - "default": "True", - "description": "Whether to build an sdist for the distribution.", - "provider": "", + "alias": "golang_cgo_c_flags", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "wheel_config_settings", + "alias": "docker_executable_search_paths", "default": null, - "description": "PEP-517 config settings to pass to the build backend when building a wheel.", - "provider": "", + "description": "Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.docker", "required": false, - "type_hint": "Dict[str, Iterable[str]] | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "sdist_config_settings", + "alias": "shell_setup_executable_search_paths", "default": null, - "description": "PEP-517 config settings to pass to the build backend when building an sdist.", - "provider": "", + "description": "Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active.", + "provider": "pants.backend.shell", "required": false, - "type_hint": "Dict[str, Iterable[str]] | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "env_vars", + "alias": "python_native_code_ld_flags", "default": null, - "description": "Environment variables to set when running the PEP-517 build backend.\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.", - "provider": "", + "description": "Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active.", + "provider": "pants.core", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "long_description_path", + "alias": "python_bootstrap_names", "default": null, - "description": "Path to a file that will be used to fill the `long_description` field in `setup.py`.\n\nPath is relative to the build root.\n\nAlternatively, you can set the `long_description` in the `provides` field, but not both.\n\nThis field won't automatically set `long_description_content_type` field for you. You have to specify this field yourself in the `provides` field.", - "provider": "", + "description": "Overrides the default value from the option `[python-bootstrap].names` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "output_path", - "default": "''", - "description": "The path to the directory to write the distribution file to, relative the dist directory.\n\nIf undefined, this defaults to the empty path, i.e. the output goes at the top level of the dist dir.", - "provider": "", + "alias": "golang_subprocess_env_vars", + "default": null, + "description": "Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.go", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "repositories", + "alias": "jvm_global_options", "default": null, - "description": "List of URL addresses or Twine repository aliases where to publish the Python package.\n\nTwine is used for publishing Python packages, so the address to any kind of repository that Twine supports may be used here.\n\nAliases are prefixed with `@` to refer to a config section in your Twine configuration, such as a `.pypirc` file. Use `@pypi` to upload to the public PyPi repository, which is the default when using Twine directly.", - "provider": "pants.backend.experimental.python", + "description": "Overrides the default value from the option `[jvm].global_options` when this environment target is active.", + "provider": "pants.backend.experimental.java", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "skip_twine", - "default": "False", - "description": "If true, don't publish this target's packages using Twine.", - "provider": "pants.backend.experimental.python", + "alias": "python_bootstrap_search_path", + "default": null, + "description": "Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active.", + "provider": "pants.core", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "uses_mypyc", - "default": "False", - "description": "If true, this distribution is built using mypyc.\n\nIn this case, Pants will build the distribution in an environment that includes mypy, as configured in the `[mypy]` subsystem, including plugins, config files, extra type stubs, and the distribution's own requirements (which normally would not be needed at build time, but in this case may provide necessary type annotations).\n\nYou will typically set this field on distributions whose `setup.py` uses `mypyc.build.mypycify()`. See https://mypyc.readthedocs.io/en/latest/index.html .", - "provider": "pants.backend.python.typecheck.mypy", + "alias": "nodejs_corepack_env_vars", + "default": null, + "description": "Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active.", + "provider": "pants.backend.experimental.javascript", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" + }, + { + "alias": "golang_cgo_tool_search_paths", + "default": null, + "description": "Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" } ], - "provider": "pants.backend.python", - "summary": "A publishable Python setuptools distribution (e.g. an sdist or wheel)." + "provider": "pants.core", + "summary": "Configuration of a remote execution environment used for building your code." }, - "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/v2.19/docs/google-cloud-function-python.", + "resource": { + "alias": "resource", + "description": "A single resource file embedded in a code package and accessed in a location-independent manner.\n\nResources are embedded in code artifacts such as Python wheels or JVM JARs. The sources of a `resources` target are accessed via language-specific resource APIs, such as Python's `pkgutil` or JVM's ClassLoader, via paths relative to the target's source root.", "fields": [ { "alias": "tags", @@ -68866,14 +92913,6 @@ "required": false, "type_hint": "str | None" }, - { - "alias": "output_path", - "default": null, - "description": "Where the built asset should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`.\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": "dependencies", "default": null, @@ -68883,60 +92922,68 @@ "type_hint": "Iterable[str] | None" }, { - "alias": "handler", + "alias": "source", "default": null, - "description": "Entry point to the Google Cloud Function handler.\n\nYou can specify a full module like `'path.to.module:handler_func'` or use a shorthand to specify a file name, using the same syntax as the `sources` field, e.g. `'cloud_function.py:handler_func'`.\n\nThis is re-exported at `main.handler` in the resulting package to used as the configured handler of the Google Cloud Function in GCP. It can also be accessed under its source-root-relative module path, for example: `path.to.module.handler_func`.", + "description": "The source of this target.\n\nIf a string is provided, represents a path that is relative to the BUILD file's directory, e.g. `source='example.ext'`.\n\nIf an `http_source` is provided, represents the network location to download the source from. The downloaded file will exist in the sandbox in the same directory as the target.\n\n`http_source` has the following signature:\n\n http_source(url: str, *, len: int, sha256: str, filename: str = \"\")\n\nThe filename defaults to the last part of the URL path (e.g. `example.ext`), but can also be specified if you wish to have control over the file name. You cannot, however, specify a path separator to download the file into a subdirectory (you must declare a target in desired subdirectory).\n\nYou can easily get the len and checksum with the following command:\n\n curl -L $URL | tee >(wc -c) >(shasum -a 256) >/dev/null\n\nIf a `per_platform` is provided, represents a mapping from platform to `http_source`, where the platform is one of (`linux_arm64`, `linux_x86_64`, `macos_arm64`, `macos_x86_64`) and is resolved in the execution target. Each `http_source` value MUST have the same filename provided.", "provider": "", "required": true, - "type_hint": "str" - }, + "type_hint": "str | http_source | pants.core.target_types.per_platform[pants.core.target_types.http_source]" + } + ], + "provider": "pants.core", + "summary": "A single resource file embedded in a code package and accessed in a location-independent manner." + }, + "resources": { + "alias": "resources", + "description": "Generate a `resource` target for each file in the `sources` field.", + "fields": [ { - "alias": "runtime", + "alias": "tags", "default": null, - "description": "The identifier of the Google Cloud Function runtime to target (pythonXY). See https://cloud.google.com/functions/docs/concepts/python-runtime.\n\nIn general you'll want to define either a `runtime` or one `complete_platforms` but not both. Specifying a `runtime` is simpler, but less accurate. If you have issues either packaging the Google Cloud Function PEX or running it as a deployed Google Cloud Function, you should try using `complete_platforms` instead.", + "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": "'python310' | 'python311' | 'python37' | 'python38' | 'python39' | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "complete_platforms", + "alias": "description", "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` 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/v2.19/docs/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": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "type", + "alias": "sources", "default": null, - "description": "The trigger type of the cloud function. Can either be `'event'` or `'http'`. See https://cloud.google.com/functions/docs/concepts/python-runtime for reference to `--trigger-http`.", + "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=['example.txt', 'new_*.md', '!old_ignore.csv']`", "provider": "", "required": true, - "type_hint": "'event' | 'http'" + "type_hint": "Iterable[str]" }, { - "alias": "resolve", + "alias": "overrides", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "description": "Override the field values for generated `resource` 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.json\": {\"description\": \"our customer model\"]},\n \"bar.json\": {\"description\": \"our product model\"]},\n (\"foo.json\", \"bar.json\"): {\"tags\": [\"overridden\"]},\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 `resource` 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": "str | None" + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", + "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/v2.19/docs/targets 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": "str | None" + "type_hint": "Iterable[str] | None" } ], - "provider": "pants.backend.google_cloud_function.python", - "summary": "A self-contained Python function suitable for uploading to Google Cloud Function." + "provider": "pants.core", + "summary": "Generate a `resource` target for each file in the `sources` field." }, - "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/v2.19/docs/python-third-party-dependencies.", + "run_shell_command": { + "alias": "run_shell_command", + "description": "Run a script in the workspace, with all dependencies packaged/copied into a chroot.\n\nExample BUILD file:\n\n run_shell_command(\n command=\"./scripts/my-script.sh --data-files-dir={chroot}\",\n execution_dependencies=[\"src/project/files:data\"],\n )\n\nThe `command` may use either `{chroot}` on the command line, or the `$CHROOT` environment variable to get the root directory for where any dependencies are located.\n\nIn contrast to the `shell_command`, in addition to `workdir` you only have the `command` and `execution_dependencies` fields as the `tools` you are going to use are already on the PATH which is inherited from the Pants environment. Also, the `outputs` does not apply, as any output files produced will end up directly in your project tree.", "fields": [ { "alias": "tags", @@ -68955,60 +93002,44 @@ "type_hint": "str | None" }, { - "alias": "requirements", - "default": null, - "description": "A pip-style requirement string, e.g. `[\"Django==3.2.8\"]`.\n\nYou can specify multiple requirements for the same project in order to use environment markers, such as `[\"foo>=1.2,<1.3 ; python_version>'3.6'\", \"foo==0.9 ; python_version<'3'\"]`.\n\nIf the requirement depends on some other requirement to work, such as needing `setuptools` to be built, use the `dependencies` field instead.", - "provider": "", - "required": true, - "type_hint": "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/v2.19/docs/targets 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": "modules", + "alias": "execution_dependencies", "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.19.0rc1/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 execution dependencies for this command.\n\nDependencies specified here are those required to make the command complete successfully (e.g. file inputs, packages compiled from other targets, etc), but NOT required to make the outputs of the command useful.\n\nSee also `runnable_dependencies`.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "type_stub_modules", + "alias": "runnable_dependencies", "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.19.0rc1/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 runnable dependencies for this command.\n\nDependencies specified here are those required to exist on the `PATH` to make the command complete successfully (interpreters specified in a `#!` command, etc). Note that these dependencies will be made available on the `PATH` with the name of the target.\n\nSee also `execution_dependencies`.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "resolve", + "alias": "command", "default": null, - "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.", + "description": "Shell command to execute.\n\nThe command is executed as `'bash -c '` by default. If you want to invoke a binary use `exec -a $0 ` as the command so that the binary gets the correct `argv[0]` set.", "provider": "", - "required": false, - "type_hint": "str | None" + "required": true, + "type_hint": "str" }, { - "alias": "entry_point", - "default": null, - "description": "Set the entry point, i.e. what gets run when executing `./my_app.pex`, to a module.\n\nYou can specify a full module like `'path.to.module'` and `'path.to.module:func'`, or use a shorthand to specify a file name, using the same syntax as the `sources` field:\n\n 1) `'app.py'`, Pants will convert into the module `path.to.app`;\n 2) `'app.py:func'`, Pants will convert into `path.to.app:func`.\n\nYou may either set this field or the `script` field, but not both. Leave off both fields to have no entry point.", + "alias": "workdir", + "default": "'.'", + "description": "Sets the working directory for the process.\n\nValues are relative to the build root, except in the following cases:\n\n* `.` specifies the location of the `BUILD` file.\n* Values beginning with `./` are relative to the location of the `BUILD` file.\n* `/` or the empty string specifies the build root.\n* Values beginning with `/` are also relative to the build root.", "provider": "", "required": false, "type_hint": "str | None" } ], - "provider": "pants.backend.python", - "summary": "A Python requirement installable by pip." + "provider": "pants.backend.shell", + "summary": "Run a script in the workspace, with all dependencies packaged/copied into a chroot." }, - "python_requirements": { - "alias": "python_requirements", - "description": "Generate a `python_requirement` for each entry in a requirements.txt-style or PEP 621 compliant `pyproject.toml` file. The choice of parser for the `source` field is determined by the file name. If the `source` field ends with `pyproject.toml`, then the file is assumed to be a PEP 621 compliant file. Any other file name uses the requirements.txt-style parser.\n\nFurther details about pip-style requirements files are available from the PyPA documentation: https://pip.pypa.io/en/latest/reference/requirements-file-format/. However, pip options like `--hash` are (for now) ignored.\n\nPants will not follow `-r reqs.txt` lines. Instead, add a dedicated `python_requirements` target generator for that additional requirements file.\n\nFurther details about PEP 621 and `pyproject.toml` files are available from the PEP itself: https://peps.python.org/pep-0621/. If the `project.optional-dependencies` table is included, Pants will save the key/name of the optional dependency group as a tag on the generated `python_requirement`.", + "rust_package": { + "alias": "rust_package", + "description": "A Rust package as defined in https://doc.rust-lang.org/book/ch07-01-packages-and-crates.html.\n\nExpects that there is a `Cargo.toml` target in its root directory", "fields": [ { "alias": "tags", @@ -69027,52 +93058,28 @@ "type_hint": "str | None" }, { - "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[str, Iterable[str]]" - }, - { - "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": "Dict[str, Iterable[str]]" - }, - { - "alias": "source", - "default": "'requirements.txt'", - "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": "str | None" - }, - { - "alias": "overrides", - "default": null, - "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.", + "alias": "sources", + "default": "('src/**/*.rs', 'tests/**/*.rs')", + "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=['src/main.rs', 'src/new_*.rs', '!src/old_ignore.py']`", "provider": "", "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "resolve", - "default": null, - "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": "", + "alias": "skip_rustfmt", + "default": "False", + "description": "If true, don't run rustfmt on this crate.", + "provider": "pants.backend.experimental.rust", "required": false, - "type_hint": "str | None" + "type_hint": "bool" } ], - "provider": "pants.backend.python", - "summary": "Generate a `python_requirement` for each entry in a requirements.txt-style or PEP 621 compliant `pyproject.toml` file. The choice of parser for the `source` field is determined by the file name. If the `source` field ends with `pyproject.toml`, then the file is assumed to be a PEP 621 compliant file. Any other file name uses the requirements.txt-style parser." + "provider": "pants.backend.experimental.rust", + "summary": "A Rust package as defined in https://doc.rust-lang.org/book/ch07-01-packages-and-crates.html." }, - "python_source": { - "alias": "python_source", - "description": "A single Python source file.", + "scala_artifact": { + "alias": "scala_artifact", + "description": "A third-party Scala artifact, as identified by its Maven-compatible coordinate.\n\nThat is, an artifact identified by its `group`, `artifact`, and `version` components.\n\nEach artifact is associated with one or more resolves (a logical name you give to a lockfile). For this artifact to be used by your first-party code, it must be associated with the resolve(s) used by that code. See the `resolve` field.\n\nBeing a Scala artifact, the final artifact name will be inferred using the Scala version configured for the given resolve.", "fields": [ { "alias": "tags", @@ -69091,172 +93098,100 @@ "type_hint": "str | None" }, { - "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", - "provider": "", - "required": false, - "type_hint": "Iterable[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/v2.19/docs/targets 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": "resolve", + "alias": "group", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "description": "The 'group' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the group is `com.google.guava`.", "provider": "", - "required": false, - "type_hint": "str | None" + "required": true, + "type_hint": "str" }, { - "alias": "run_goal_use_sandbox", + "alias": "artifact", "default": null, - "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", + "description": "The 'artifact' part of a Maven-compatible Scala-versioned coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `org.typelevel:cats-core_2.13:2.9.0`, the artifact is `cats-core`.", "provider": "", - "required": false, - "type_hint": "bool | None" + "required": true, + "type_hint": "str" }, { - "alias": "source", + "alias": "version", "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'`.", + "description": "The 'version' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the version is `30.1.1-jre`.", "provider": "", "required": true, "type_hint": "str" }, { - "alias": "restartable", - "default": "False", - "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "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.19.0rc5/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": "bool" - }, - { - "alias": "skip_pytype", - "default": "False", - "description": "If true, don't run pytype on this target's code.", - "provider": "pants.backend.experimental.python.typecheck.pytype", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_pydocstyle", - "default": "False", - "description": "If true, don't run pydocstyle on this target's code.", - "provider": "pants.backend.python.lint.pydocstyle", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_black", - "default": "False", - "description": "If true, don't run Black on this target's code.", - "provider": "pants.backend.python.lint.black", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_ruff", - "default": "False", - "description": "If true, don't run ruff on this target's code.", - "provider": "pants.backend.experimental.python.lint.ruff", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_add_trailing_comma", - "default": "False", - "description": "If true, don't run add-trailing-comma on this target's code.", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_flake8", - "default": "False", - "description": "If true, don't run Flake8 on this target's code.", - "provider": "pants.backend.python.lint.flake8", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_isort", - "default": "False", - "description": "If true, don't run isort on this target's code.", - "provider": "pants.backend.python.lint.isort", - "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_bandit", - "default": "False", - "description": "If true, don't run Bandit on this target's code.", - "provider": "pants.backend.python.lint.bandit", + "alias": "crossversion", + "default": "'partial'", + "description": "Whether to use the full Scala version or the partial one to determine the artifact name suffix.\n\nDefault is `partial`.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "'full' | 'partial' | None" }, { - "alias": "skip_autoflake", - "default": "False", - "description": "If true, don't run Autoflake on this target's code.", - "provider": "pants.backend.python.lint.autoflake", + "alias": "exclusions", + "default": null, + "description": "A list of exclusions for unversioned coordinates that should be excluded as dependencies when this artifact is resolved.\n\nThis does not prevent this artifact from being included in the resolve as a dependency of other artifacts that depend on it, and is currently intended as a way to resolve version conflicts in complex resolves.\n\nSupported exclusions are:\n * `jvm_exclude`: Exclude the given `artifact` and `group`, or all artifacts from the given `group`.\n * `scala_exclude`: Exclude the given `artifact` and `group`, or all artifacts from the given `group`. You can also use the `crossversion` field to help resolve the final artifact name.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[pants.jvm.target_types.JvmArtifactExclusion] | None" }, { - "alias": "skip_mypy", - "default": "False", - "description": "If true, don't run MyPy on this target's code.", - "provider": "pants.backend.python.typecheck.mypy", + "alias": "url", + "default": null, + "description": "A URL that points to the location of this artifact.\n\nIf specified, Pants will not fetch this artifact from default Maven repositories, and will instead fetch the artifact from this URL. To use default maven repositories, do not set this value.\n\nNote that `file:` URLs are not supported. Instead, use the `jar` field for local artifacts.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_docformatter", - "default": "False", - "description": "If true, don't run Docformatter on this target's code.", - "provider": "pants.backend.python.lint.docformatter", + "alias": "jar", + "default": null, + "description": "A local JAR file that provides this artifact to the lockfile resolver, instead of a Maven repository.\n\nPath is relative to the BUILD file.\n\nUse the `url` field for remote artifacts.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_pyupgrade", - "default": "False", - "description": "If true, don't run pyupgrade on this target's code.", - "provider": "pants.backend.python.lint.pyupgrade", + "alias": "main", + "default": null, + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_yapf", - "default": "False", - "description": "If true, don't run yapf on this target's code.", - "provider": "pants.backend.python.lint.yapf", + "alias": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` that this artifact should be included in.\n\nIf not defined, will default to `[jvm].default_resolve`.\n\nWhen generating a lockfile for a particular resolve via the `coursier-resolve` goal, it will include all artifacts that are declared compatible with that resolve. First-party targets like `java_source` and `scala_source` also declare which resolve they use via the `resolve` field; so, for your first-party code to use a particular `jvm_artifact` target, that artifact must be included in the resolve used by that code.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_pylint", - "default": "False", - "description": "If true, don't run Pylint on this target's code.", - "provider": "pants.backend.python.lint.pylint", + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" } ], - "provider": "pants.backend.python", - "summary": "A single Python source file." + "provider": "pants.backend.experimental.scala", + "summary": "A third-party Scala artifact, as identified by its Maven-compatible coordinate." }, - "python_sources": { - "alias": "python_sources", - "description": "Generate a `python_source` target for each file in the `sources` field.\n\nYou can either use this target generator or `python_test_utils` for test utility files like `conftest.py`. They behave identically, but can help to better model and keep separate test support files vs. production files.", + "scala_junit_test": { + "alias": "scala_junit_test", + "description": "A single Scala test, run with JUnit.", "fields": [ { "alias": "tags", @@ -69275,180 +93210,76 @@ "type_hint": "str | None" }, { - "alias": "sources", - "default": "('*.py', '*.pyi', '!test_*.py', '!*_test.py', '!tests.py', '!conftest.py', '!test_*.pyi', '!*_test.pyi', '!tests.pyi')", - "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=['example.py', 'new_*.py', '!old_ignore.py']`", + "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/v2.19/docs/targets 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": "overrides", + "alias": "source", "default": null, - "description": "Override the field values for generated `python_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.py\": {\"skip_pylint\": True]},\n \"bar.py\": {\"skip_flake8\": True]},\n (\"foo.py\", \"bar.py\"): {\"tags\": [\"linter_disabled\"]},\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 `python_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.", + "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": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" - }, - { - "alias": "skip_pytype", - "default": "False", - "description": "If true, don't run pytype on this target's code.", - "provider": "pants.backend.experimental.python.typecheck.pytype", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_pydocstyle", - "default": "False", - "description": "If true, don't run pydocstyle on this target's code.", - "provider": "pants.backend.python.lint.pydocstyle", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_black", - "default": "False", - "description": "If true, don't run Black on this target's code.", - "provider": "pants.backend.python.lint.black", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_ruff", - "default": "False", - "description": "If true, don't run ruff on this target's code.", - "provider": "pants.backend.experimental.python.lint.ruff", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_add_trailing_comma", - "default": "False", - "description": "If true, don't run add-trailing-comma on this target's code.", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_flake8", - "default": "False", - "description": "If true, don't run Flake8 on this target's code.", - "provider": "pants.backend.python.lint.flake8", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_isort", - "default": "False", - "description": "If true, don't run isort on this target's code.", - "provider": "pants.backend.python.lint.isort", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_bandit", - "default": "False", - "description": "If true, don't run Bandit on this target's code.", - "provider": "pants.backend.python.lint.bandit", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_autoflake", - "default": "False", - "description": "If true, don't run Autoflake on this target's code.", - "provider": "pants.backend.python.lint.autoflake", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_mypy", - "default": "False", - "description": "If true, don't run MyPy on this target's code.", - "provider": "pants.backend.python.typecheck.mypy", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_docformatter", - "default": "False", - "description": "If true, don't run Docformatter on this target's code.", - "provider": "pants.backend.python.lint.docformatter", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_pyupgrade", - "default": "False", - "description": "If true, don't run pyupgrade on this target's code.", - "provider": "pants.backend.python.lint.pyupgrade", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_yapf", - "default": "False", - "description": "If true, don't run yapf on this target's code.", - "provider": "pants.backend.python.lint.yapf", - "required": false, - "type_hint": "bool" + "required": true, + "type_hint": "str" }, { - "alias": "skip_pylint", - "default": "False", - "description": "If true, don't run Pylint on this target's code.", - "provider": "pants.backend.python.lint.pylint", + "alias": "scalac_plugins", + "default": null, + "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "resolve", + "alias": "timeout", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "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": "str | None" + "type_hint": "int | None" }, { - "alias": "run_goal_use_sandbox", + "alias": "extra_env_vars", "default": null, - "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", + "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": "bool | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "dependencies", + "alias": "resolve", "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/v2.19/docs/targets 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": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "interpreter_constraints", + "alias": "experimental_provides_types", "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "restartable", - "default": "False", - "description": "If true, runs of this target with the `run` goal may be interrupted and restarted when its input files change.", + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" } ], - "provider": "pants.backend.python", - "summary": "Generate a `python_source` target for each file in the `sources` field." + "provider": "pants.backend.experimental.scala", + "summary": "A single Scala test, run with JUnit." }, - "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/v2.19/docs/python-test-goal", + "scala_junit_tests": { + "alias": "scala_junit_tests", + "description": "Generate a `scala_junit_test` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -69467,28 +93298,20 @@ "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/v2.19/docs/targets 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": "sources", + "default": "('*Test.scala',)", + "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=['*Test.scala', '!TestIgnore.scala']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "alias": "run_goal_use_sandbox", + "alias": "overrides", "default": null, - "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", + "description": "Override the field values for generated `scala_junit_tests` 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.scala\": {\"dependencies\": [\":files\"]},\n \"Bar.scala\": {\"skip_scalafmt\": True},\n (\"Foo.scala\", \"Bar.scala\"): {\"tags\": [\"linter_disabled\"]},\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 `scala_junit_tests` 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": "bool | None" + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { "alias": "timeout", @@ -69499,28 +93322,28 @@ "type_hint": "int | None" }, { - "alias": "xdist_concurrency", + "alias": "dependencies", "default": null, - "description": "Maximum number of CPUs to allocate to run each test file belonging to this target.\n\nTests are spread across multiple CPUs using `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/index.html). Use of `pytest-xdist` must be enabled using the `[pytest].xdist_enabled` option for this field to have an effect.\n\nIf `pytest-xdist` is enabled and this field is unset, Pants will attempt to derive the concurrency for test sources by counting the number of tests in each file.\n\nSet this field to `0` to explicitly disable use of `pytest-xdist` for a target.", + "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/v2.19/docs/targets 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": "int | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "batch_compatibility_tag", + "alias": "scalac_plugins", "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 `python_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 `python_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 `pytest` process.\n\nIf this field is set on a target, and its value is different from the value on some other test `python_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `pytest` process.\n\nIf this field is set on a target, and its value is the same as the value on some other `python_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 names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "runtime_package_dependencies", + "alias": "timeout", "default": null, - "description": "Addresses to targets that can be built with the `pants package` goal and whose resulting artifacts should be included in the test run.\n\nPants will build the artifacts as if you had run `pants package`. It will include the results in your test's chroot, using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_aws_lambda_function`, or an `archive`.", + "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": "Iterable[str] | None" + "type_hint": "int | None" }, { "alias": "extra_env_vars", @@ -69531,164 +93354,124 @@ "type_hint": "Iterable[str] | None" }, { - "alias": "interpreter_constraints", + "alias": "jdk", "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "skip_tests", - "default": "False", - "description": "If true, don't run this target's tests.", + "alias": "experimental_provides_types", + "default": null, + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", + "alias": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", "provider": "", "required": false, "type_hint": "str | None" - }, + } + ], + "provider": "pants.backend.experimental.scala", + "summary": "Generate a `scala_junit_test` target for each file in the `sources` field." + }, + "scala_source": { + "alias": "scala_source", + "description": "A single Scala source file containing application or library code.", + "fields": [ { - "alias": "source", + "alias": "tags", "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'`.", + "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": true, - "type_hint": "str" - }, - { - "alias": "skip_pytype", - "default": "False", - "description": "If true, don't run pytype on this target's code.", - "provider": "pants.backend.experimental.python.typecheck.pytype", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_pydocstyle", - "default": "False", - "description": "If true, don't run pydocstyle on this target's code.", - "provider": "pants.backend.python.lint.pydocstyle", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_black", - "default": "False", - "description": "If true, don't run Black on this target's code.", - "provider": "pants.backend.python.lint.black", "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_ruff", - "default": "False", - "description": "If true, don't run ruff on this target's code.", - "provider": "pants.backend.experimental.python.lint.ruff", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_add_trailing_comma", - "default": "False", - "description": "If true, don't run add-trailing-comma on this target's code.", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_flake8", - "default": "False", - "description": "If true, don't run Flake8 on this target's code.", - "provider": "pants.backend.python.lint.flake8", - "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_isort", - "default": "False", - "description": "If true, don't run isort on this target's code.", - "provider": "pants.backend.python.lint.isort", + "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": "bool" + "type_hint": "str | None" }, { - "alias": "skip_bandit", - "default": "False", - "description": "If true, don't run Bandit on this target's code.", - "provider": "pants.backend.python.lint.bandit", + "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/v2.19/docs/targets 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": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_autoflake", - "default": "False", - "description": "If true, don't run Autoflake on this target's code.", - "provider": "pants.backend.python.lint.autoflake", - "required": false, - "type_hint": "bool" + "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": "stevedore_namespaces", + "alias": "scalac_plugins", "default": null, - "description": "List the stevedore namespaces required by this target.\n\nCode for all `entry_points` on `python_distribution` targets with these namespaces will be added as dependencies so that they are available on PYTHONPATH during tests. Note that this is only a subset of the `python_distribution`s dependencies, so the `entry_points` only need to be defined on one `python_distribution` even if the test only needs some of the `entry_points` namespaces on it.\n\nPlus, an `entry_points.txt` file will be generated in the sandbox so that each of the `python_distribution`s appear to be \"installed\". The `entry_points.txt` file will only include the namespaces requested on this field. Without this, stevedore would not be able to look up plugins in the setuptools `entry_points` metadata.\n\nNOTE: Each `python_distribution` must opt-in to being included in this repo-wide inference by tagging the namespaces with `stevedore_namespace(\"my.stevedore.extension\")`.\n\nThe stevedore namespace format (`my.stevedore.extension`) is similar to a Python namespace.", - "provider": "pants.backend.experimental.python.framework.stevedore", + "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "skip_mypy", - "default": "False", - "description": "If true, don't run MyPy on this target's code.", - "provider": "pants.backend.python.typecheck.mypy", + "alias": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_docformatter", - "default": "False", - "description": "If true, don't run Docformatter on this target's code.", - "provider": "pants.backend.python.lint.docformatter", + "alias": "experimental_provides_types", + "default": null, + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_pyupgrade", - "default": "False", - "description": "If true, don't run pyupgrade on this target's code.", - "provider": "pants.backend.python.lint.pyupgrade", + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_yapf", - "default": "False", - "description": "If true, don't run yapf on this target's code.", - "provider": "pants.backend.python.lint.yapf", + "alias": "main", + "default": null, + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_pylint", + "alias": "skip_scalafmt", "default": "False", - "description": "If true, don't run Pylint on this target's code.", - "provider": "pants.backend.python.lint.pylint", + "description": "If true, don't run `scalafmt` on this target's code.", + "provider": "pants.backend.experimental.scala.lint.scalafmt", "required": false, "type_hint": "bool" } ], - "provider": "pants.backend.python", - "summary": "A single Python test file, written in either Pytest style or unittest style." + "provider": "pants.backend.experimental.scala", + "summary": "A single Scala source file containing application or library code." }, - "python_test_utils": { - "alias": "python_test_utils", - "description": "Generate a `python_source` target for each file in the `sources` field.\n\nThis target generator is intended for test utility files like `conftest.py` or `my_test_utils.py`. Technically, it generates `python_source` targets in the exact same way as the `python_sources` target generator does, only that the `sources` field has a different default. So it is valid to use `python_sources` instead. However, this target can be helpful to better model your code by keeping separate test support files vs. production files.", + "scala_sources": { + "alias": "scala_sources", + "description": "Generate a `scala_source` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -69708,8 +93491,8 @@ }, { "alias": "sources", - "default": "('conftest.py', 'test_*.pyi', '*_test.pyi', 'tests.pyi')", - "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=['conftest.py', 'test_*.pyi', '*_test.pyi', 'tests.pyi']`", + "default": "('*.scala', '!*Test.scala', '!*Spec.scala', '!*Suite.scala')", + "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=['Example.scala', 'New*.scala', '!OldIgnore.scala']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -69717,162 +93500,202 @@ { "alias": "overrides", "default": null, - "description": "Override the field values for generated `python_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.py\": {\"skip_pylint\": True]},\n \"bar.py\": {\"skip_flake8\": True]},\n (\"foo.py\", \"bar.py\"): {\"tags\": [\"linter_disabled\"]},\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 `python_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.", + "description": "Override the field values for generated `scala_sources` 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.scala\": {\"dependencies\": [\":files\"]},\n \"Bar.scala\": {\"skip_scalafmt\": True},\n (\"Foo.scala\", \"Bar.scala\"): {\"tags\": [\"linter_disabled\"]},\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 `scala_sources` 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": "skip_pytype", + "alias": "skip_scalafmt", "default": "False", - "description": "If true, don't run pytype on this target's code.", - "provider": "pants.backend.experimental.python.typecheck.pytype", + "description": "If true, don't run `scalafmt` on this target's code.", + "provider": "pants.backend.experimental.scala.lint.scalafmt", "required": false, "type_hint": "bool" }, { - "alias": "skip_pydocstyle", - "default": "False", - "description": "If true, don't run pydocstyle on this target's code.", - "provider": "pants.backend.python.lint.pydocstyle", + "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/v2.19/docs/targets 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": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_black", - "default": "False", - "description": "If true, don't run Black on this target's code.", - "provider": "pants.backend.python.lint.black", + "alias": "scalac_plugins", + "default": null, + "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_ruff", - "default": "False", - "description": "If true, don't run ruff on this target's code.", - "provider": "pants.backend.experimental.python.lint.ruff", + "alias": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_add_trailing_comma", - "default": "False", - "description": "If true, don't run add-trailing-comma on this target's code.", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_flake8", - "default": "False", - "description": "If true, don't run Flake8 on this target's code.", - "provider": "pants.backend.python.lint.flake8", + "alias": "main", + "default": null, + "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_isort", - "default": "False", - "description": "If true, don't run isort on this target's code.", - "provider": "pants.backend.python.lint.isort", + "alias": "experimental_provides_types", + "default": null, + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "provider": "", "required": false, - "type_hint": "bool" - }, + "type_hint": "Iterable[str] | None" + } + ], + "provider": "pants.backend.experimental.scala", + "summary": "Generate a `scala_source` target for each file in the `sources` field." + }, + "scalac_plugin": { + "alias": "scalac_plugin", + "description": "A plugin for `scalac`.\n\nCurrently only thirdparty plugins are supported. To enable a plugin, define this target type, and set the `artifact=` field to the address of a `jvm_artifact` that provides the plugin.\n\nIf the `scalac`-loaded name of the plugin does not match the target's name, additionally set the `plugin_name=` field.", + "fields": [ { - "alias": "skip_bandit", - "default": "False", - "description": "If true, don't run Bandit on this target's code.", - "provider": "pants.backend.python.lint.bandit", + "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": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_autoflake", - "default": "False", - "description": "If true, don't run Autoflake on this target's code.", - "provider": "pants.backend.python.lint.autoflake", + "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": "bool" + "type_hint": "str | None" }, { - "alias": "skip_mypy", - "default": "False", - "description": "If true, don't run MyPy on this target's code.", - "provider": "pants.backend.python.typecheck.mypy", + "alias": "artifact", + "default": null, + "description": "The address of either a `jvm_artifact` or a `scala_artifact` that defines a plugin for `scalac`.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "plugin_name", + "default": null, + "description": "The name that `scalac` should use to load the plugin.\n\nIf not set, the plugin name defaults to the target name.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.scala", + "summary": "A plugin for `scalac`." + }, + "scalatest_test": { + "alias": "scalatest_test", + "description": "A single Scala test, run with Scalatest.", + "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": "skip_docformatter", - "default": "False", - "description": "If true, don't run Docformatter on this target's code.", - "provider": "pants.backend.python.lint.docformatter", + "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": "bool" + "type_hint": "str | None" }, { - "alias": "skip_pyupgrade", - "default": "False", - "description": "If true, don't run pyupgrade on this target's code.", - "provider": "pants.backend.python.lint.pyupgrade", + "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/v2.19/docs/targets 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": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_yapf", - "default": "False", - "description": "If true, don't run yapf on this target's code.", - "provider": "pants.backend.python.lint.yapf", + "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": "scalac_plugins", + "default": null, + "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_pylint", - "default": "False", - "description": "If true, don't run Pylint on this target's code.", - "provider": "pants.backend.python.lint.pylint", + "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": "bool" + "type_hint": "int | None" }, { - "alias": "resolve", + "alias": "extra_env_vars", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "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": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "run_goal_use_sandbox", + "alias": "resolve", "default": null, - "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", "provider": "", "required": false, - "type_hint": "bool | None" + "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "experimental_provides_types", "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/v2.19/docs/targets 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": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "interpreter_constraints", + "alias": "jdk", "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" } ], - "provider": "pants.backend.python", - "summary": "Generate a `python_source` target for each file in the `sources` field." + "provider": "pants.backend.experimental.scala", + "summary": "A single Scala test, run with Scalatest." }, - "python_tests": { - "alias": "python_tests", - "description": "Generate a `python_test` target for each file in the `sources` field.", + "scalatest_tests": { + "alias": "scalatest_tests", + "description": "Generate a `scalatest_test` target for each file in the `sources` field (defaults to all files in the directory matching `('*Spec.scala', '*Suite.scala')`).", "fields": [ { "alias": "tags", @@ -69892,8 +93715,8 @@ }, { "alias": "sources", - "default": "('test_*.py', '*_test.py', 'tests.py')", - "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=['test_*.py', '*_test.py', 'tests.py']`", + "default": "('*Spec.scala', '*Suite.scala')", + "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=['*Spec.scala', '!SuiteIgnore.scala']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -69901,183 +93724,159 @@ { "alias": "overrides", "default": null, - "description": "Override the field values for generated `python_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.py\": {\"timeout\": 120},\n \"bar_test.py\": {\"timeout\": 200},\n (\"foo_test.py\", \"bar_test.py\"): {\"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 `python_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.", + "description": "Override the field values for generated `scalatest_tests` 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.scala\": {\"dependencies\": [\":files\"]},\n \"Bar.scala\": {\"skip_scalafmt\": True},\n (\"Foo.scala\", \"Bar.scala\"): {\"tags\": [\"linter_disabled\"]},\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 `scalatest_tests` 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": "skip_pytype", - "default": "False", - "description": "If true, don't run pytype on this target's code.", - "provider": "pants.backend.experimental.python.typecheck.pytype", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_pydocstyle", - "default": "False", - "description": "If true, don't run pydocstyle on this target's code.", - "provider": "pants.backend.python.lint.pydocstyle", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_black", - "default": "False", - "description": "If true, don't run Black on this target's code.", - "provider": "pants.backend.python.lint.black", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_ruff", - "default": "False", - "description": "If true, don't run ruff on this target's code.", - "provider": "pants.backend.experimental.python.lint.ruff", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_add_trailing_comma", - "default": "False", - "description": "If true, don't run add-trailing-comma on this target's code.", - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_flake8", - "default": "False", - "description": "If true, don't run Flake8 on this target's code.", - "provider": "pants.backend.python.lint.flake8", - "required": false, - "type_hint": "bool" - }, - { - "alias": "skip_isort", - "default": "False", - "description": "If true, don't run isort on this target's code.", - "provider": "pants.backend.python.lint.isort", + "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/v2.19/docs/targets 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": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_bandit", - "default": "False", - "description": "If true, don't run Bandit on this target's code.", - "provider": "pants.backend.python.lint.bandit", + "alias": "scalac_plugins", + "default": null, + "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_autoflake", - "default": "False", - "description": "If true, don't run Autoflake on this target's code.", - "provider": "pants.backend.python.lint.autoflake", + "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": "bool" + "type_hint": "int | None" }, { - "alias": "stevedore_namespaces", + "alias": "extra_env_vars", "default": null, - "description": "List the stevedore namespaces required by this target.\n\nCode for all `entry_points` on `python_distribution` targets with these namespaces will be added as dependencies so that they are available on PYTHONPATH during tests. Note that this is only a subset of the `python_distribution`s dependencies, so the `entry_points` only need to be defined on one `python_distribution` even if the test only needs some of the `entry_points` namespaces on it.\n\nPlus, an `entry_points.txt` file will be generated in the sandbox so that each of the `python_distribution`s appear to be \"installed\". The `entry_points.txt` file will only include the namespaces requested on this field. Without this, stevedore would not be able to look up plugins in the setuptools `entry_points` metadata.\n\nNOTE: Each `python_distribution` must opt-in to being included in this repo-wide inference by tagging the namespaces with `stevedore_namespace(\"my.stevedore.extension\")`.\n\nThe stevedore namespace format (`my.stevedore.extension`) is similar to a Python namespace.", - "provider": "pants.backend.experimental.python.framework.stevedore", + "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": "skip_mypy", - "default": "False", - "description": "If true, don't run MyPy on this target's code.", - "provider": "pants.backend.python.typecheck.mypy", + "alias": "jdk", + "default": null, + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { - "alias": "skip_docformatter", - "default": "False", - "description": "If true, don't run Docformatter on this target's code.", - "provider": "pants.backend.python.lint.docformatter", + "alias": "experimental_provides_types", + "default": null, + "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_pyupgrade", - "default": "False", - "description": "If true, don't run pyupgrade on this target's code.", - "provider": "pants.backend.python.lint.pyupgrade", + "alias": "resolve", + "default": null, + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "", "required": false, - "type_hint": "bool" - }, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.scala", + "summary": "Generate a `scalatest_test` target for each file in the `sources` field (defaults to all files in the directory matching `('*Spec.scala', '*Suite.scala')`)." + }, + "shell_command": { + "alias": "shell_command", + "description": "Execute any external tool for its side effects.\n\nExample BUILD file:\n\n shell_command(\n command=\"./my-script.sh --flag\",\n tools=[\"tar\", \"curl\", \"cat\", \"bash\", \"env\"],\n execution_dependencies=[\":scripts\"],\n output_files=[\"logs/my-script.log\"],\n output_directories=[\"results\"],\n )\n\n shell_sources(name=\"scripts\")\n\nRemember to add this target to the dependencies of each consumer, such as your `python_tests` or `docker_image`. When relevant, Pants will run your `command` and insert the `outputs` into that consumer's context.\n\nThe command may be retried and/or cancelled, so ensure that it is idempotent.", + "fields": [ { - "alias": "skip_yapf", - "default": "False", - "description": "If true, don't run yapf on this target's code.", - "provider": "pants.backend.python.lint.yapf", + "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": "bool" + "type_hint": "Iterable[str] | None" }, { - "alias": "skip_pylint", - "default": "False", - "description": "If true, don't run Pylint on this target's code.", - "provider": "pants.backend.python.lint.pylint", + "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": "bool" + "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "output_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/v2.19/docs/targets 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": "Any dependencies that need to be present (as transitive dependencies) whenever the outputs of this target are consumed (including as dependencies).\n\nSee also `execution_dependencies` and `runnable_dependencies`.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "resolve", + "alias": "execution_dependencies", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "description": "The execution dependencies for this command.\n\nDependencies specified here are those required to make the command complete successfully (e.g. file inputs, packages compiled from other targets, etc), but NOT required to make the outputs of the command useful. Dependencies that are required to use the outputs produced by this command should be specified using the `output_dependencies` field.\n\nIf this field is specified, dependencies from `output_dependencies` will not be added to the execution sandbox.\n\nSee also `output_dependencies` and `runnable_dependencies`.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "run_goal_use_sandbox", + "alias": "runnable_dependencies", "default": null, - "description": "Whether to use a sandbox when `run`ning this target. Defaults to `[python].run_goal_use_sandbox`.\n\nIf true, runs of this target with the `run` goal will copy the needed first-party sources into a temporary sandbox and run from there.\n\nIf false, runs of this target with the `run` goal will use the in-repo sources directly.\n\nNote that this field only applies when running a target with the `run` goal. No other goals (such as `test`, if applicable) consult this field.\n\nThe former mode is more hermetic, and is closer to building and running the source as it were packaged in a `pex_binary`. Additionally, it may be necessary if your sources depend transitively on \"generated\" files which will be materialized in the sandbox in a source root, but are not in-repo.\n\nThe latter mode is similar to creating, activating, and using a virtual environment when running your files. It may also be necessary if the source being run writes files into the repo and computes their location relative to the executed files. Django's `makemigrations` command is an example of such a process.", + "description": "The runnable dependencies for this command.\n\nDependencies specified here are those required to exist on the `PATH` to make the command complete successfully (interpreters specified in a `#!` command, etc). Note that these dependencies will be made available on the `PATH` with the name of the target.\n\nSee also `output_dependencies` and `execution_dependencies`.", "provider": "", "required": false, - "type_hint": "bool | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "timeout", + "alias": "command", "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).", + "description": "Shell command to execute.\n\nThe command is executed as `'bash -c '` by default. If you want to invoke a binary use `exec -a $0 ` as the command so that the binary gets the correct `argv[0]` set.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "log_output", + "default": "False", + "description": "Set to true if you want the output logged to the console.", "provider": "", "required": false, - "type_hint": "int | None" + "type_hint": "bool" }, { - "alias": "xdist_concurrency", - "default": null, - "description": "Maximum number of CPUs to allocate to run each test file belonging to this target.\n\nTests are spread across multiple CPUs using `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/index.html). Use of `pytest-xdist` must be enabled using the `[pytest].xdist_enabled` option for this field to have an effect.\n\nIf `pytest-xdist` is enabled and this field is unset, Pants will attempt to derive the concurrency for test sources by counting the number of tests in each file.\n\nSet this field to `0` to explicitly disable use of `pytest-xdist` for a target.", + "alias": "output_files", + "default": "()", + "description": "Specify the output files to capture, relative to the value of `workdir`.\n\nFor directories, use `output_directories`. At least one of `output_files` and`output_directories` must be specified.\n\nRelative paths (including `..`) may be used, as long as the path does not ascend further than the build root.", "provider": "", "required": false, - "type_hint": "int | None" + "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 `python_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 `python_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 `pytest` process.\n\nIf this field is set on a target, and its value is different from the value on some other test `python_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `pytest` process.\n\nIf this field is set on a target, and its value is the same as the value on some other `python_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.", + "alias": "output_directories", + "default": "()", + "description": "Specify full directories (including recursive descendants) of output to capture, relative to the value of `workdir`.\n\nFor individual files, use `output_files`. At least one of `output_files` and`output_directories` must be specified.\n\nRelative paths (including `..`) may be used, as long as the path does not ascend further than the build root.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "runtime_package_dependencies", - "default": null, - "description": "Addresses to targets that can be built with the `pants package` goal and whose resulting artifacts should be included in the test run.\n\nPants will build the artifacts as if you had run `pants package`. It will include the results in your test's chroot, using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_aws_lambda_function`, or an `archive`.", + "alias": "timeout", + "default": "30", + "description": "Command execution timeout (in seconds).", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "tools", + "default": "()", + "description": "Specify required executable tools that might be used.\n\nOnly the tools explicitly provided will be available on the search PATH, and these tools must be found on the paths provided by `[shell-setup].executable_search_paths` (which defaults to the system PATH).", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -70085,26 +93884,34 @@ { "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`.", + "description": "Additional environment variables to provide to the process.\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.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "interpreter_constraints", + "alias": "workdir", + "default": "'.'", + "description": "Sets the working directory for the process.\n\nValues are relative to the build root, except in the following cases:\n\n* `.` specifies the location of the `BUILD` file.\n* Values beginning with `./` are relative to the location of the `BUILD` file.\n* `/` or the empty string specifies the build root.\n* Values beginning with `/` are also relative to the build root.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "experimental_named_caches", "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/v2.19/docs/python-interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "Named caches to construct for the execution. See https://www.pantsbuild.org/docs/reference-global#named_caches_dir.\n\nThe keys of the mapping are the directory name to be created in the named caches dir. The values are the name of the symlink (relative to the sandbox root) in the sandbox which points to the subdirectory in the named caches dir\n\nNOTE: The named caches MUST be handled with great care. Processes accessing the named caches can be run in parallel, and can be cancelled at any point in their execution (and potentially restarted). That means that _every_ operation modifying the contents of the cache MUST be concurrency and cancellation safe.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "Dict[str, str] | None" }, { - "alias": "skip_tests", - "default": "False", - "description": "If true, don't run this target's tests.", + "alias": "root_output_directory", + "default": "'/'", + "description": "Adjusts the location of files output by this target, when consumed as a dependency.\n\nValues are relative to the build root, except in the following cases:\n\n * `.` specifies the location of the `BUILD` file.\n * Values beginning with `./` are relative to the location of the `BUILD` file.\n * `/` or the empty string specifies the build root.\n * Values beginning with `/` are also relative to the build root.", "provider": "", "required": false, - "type_hint": "bool" + "type_hint": "str | None" }, { "alias": "environment", @@ -70115,12 +93922,12 @@ "type_hint": "str | None" } ], - "provider": "pants.backend.python", - "summary": "Generate a `python_test` target for each file in the `sources` field." + "provider": "pants.backend.shell", + "summary": "Execute any external tool for its side effects." }, - "relocated_files": { - "alias": "relocated_files", - "description": "Loose files with path manipulation applied.\n\nAllows you to relocate the files at runtime to something more convenient than their actual paths in your project.\n\nFor example, you can relocate `src/resources/project1/data.json` to instead be `resources/data.json`. Your other target types can then add this target to their `dependencies` field, rather than using the original `files` target.\n\nTo remove a prefix:\n\n # Results in `data.json`.\n relocated_files(\n files_targets=[\"src/resources/project1:target\"],\n src=\"src/resources/project1\",\n dest=\"\",\n )\n\nTo add a prefix:\n\n # Results in `images/logo.svg`.\n relocated_files(\n files_targets=[\"//:logo\"],\n src=\"\",\n dest=\"images\",\n )\n\nTo replace a prefix:\n\n # Results in `new_prefix/project1/data.json`.\n relocated_files(\n files_targets=[\"src/resources/project1:target\"],\n src=\"src/resources\",\n dest=\"new_prefix\",\n )", + "shell_source": { + "alias": "shell_source", + "description": "A single Bourne-based shell script, e.g. a Bash script.", "fields": [ { "alias": "tags", @@ -70139,36 +93946,44 @@ "type_hint": "str | None" }, { - "alias": "files_targets", + "alias": "dependencies", "default": null, - "description": "Addresses to the original `file` and `files` targets that you want to relocate, such as `['//:json_files']`.\n\nEvery target will be relocated using the same mapping. This means that every target must include the value from the `src` field in their original path.", + "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/v2.19/docs/targets 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]" + "required": false, + "type_hint": "Iterable[str] | None" }, { - "alias": "src", + "alias": "source", "default": null, - "description": "The original prefix that you want to replace, such as `src/resources`.\n\nYou can set this field to the empty string to preserve the original path; the value in the `dest` field will then be added to the beginning of this original path.", + "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": "dest", - "default": null, - "description": "The new prefix that you want to add to the beginning of the path, such as `data`.\n\nYou can set this field to the empty string to avoid adding any new values to the path; the value in the `src` field will then be stripped, rather than replaced.", - "provider": "", - "required": true, - "type_hint": "str" + "alias": "skip_shfmt", + "default": "False", + "description": "If true, don't run shfmt on this target's code.", + "provider": "pants.backend.shell.lint.shfmt", + "required": false, + "type_hint": "bool" + }, + { + "alias": "skip_shellcheck", + "default": "False", + "description": "If true, don't run Shellcheck on this target's code.", + "provider": "pants.backend.shell.lint.shellcheck", + "required": false, + "type_hint": "bool" } ], - "provider": "pants.core", - "summary": "Loose files with path manipulation applied." + "provider": "pants.backend.shell", + "summary": "A single Bourne-based shell script, e.g. a Bash script." }, - "remote_environment": { - "alias": "remote_environment", - "description": "Configuration of a remote execution environment used for building your code.\n\nEnvironment configuration includes platform properties and a fallback environment, as well as environment-aware options (such as environment variables and search paths) used by Pants to execute processes in this remote environment.\n\nNote that you must also configure remote execution with the global options like `remote_execution` and `remote_execution_address`.\n\nTo use this environment, map this target's address with a memorable name in `[environments-preview].names`. You can then consume this environment by specifying the name in the `environment` field defined on other targets.\n\nOften, it is only necessary to have a single `remote_environment` target for your repository, but it can be useful to have >1 so that you can set different `extra_platform_properties`. For example, with some servers, you could use this to configure a different Docker image per environment.", + "shell_sources": { + "alias": "shell_sources", + "description": "Generate a `shell_source` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -70187,268 +94002,380 @@ "type_hint": "str | None" }, { - "alias": "platform", - "default": "'linux_x86_64'", - "description": "The platform used by the remote execution environment.", + "alias": "sources", + "default": "('*.sh', '!*_test.sh', '!test_*.sh', '!tests.sh')", + "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=['example.sh', 'new_*.sh', '!old_ignore.sh']`", "provider": "", "required": false, - "type_hint": "'linux_arm64' | 'linux_x86_64' | 'macos_arm64' | 'macos_x86_64' | None" + "type_hint": "Iterable[str] | None" }, { - "alias": "extra_platform_properties", - "default": "()", - "description": "Platform properties to set on remote execution requests.\n\nFormat: `property=value`. Multiple values should be specified as multiple occurrences of this flag.\n\nPants itself may add additional platform properties.", + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `shell_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.sh\": {\"skip_shellcheck\": True]},\n \"bar.sh\": {\"skip_shfmt\": True]},\n (\"foo.sh\", \"bar.sh\"): {\"tags\": [\"linter_disabled\"]},\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 `shell_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": "Iterable[str] | None" + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "fallback_environment", - "default": null, - "description": "The environment to fallback to when remote execution is disabled via the global option `--remote-execution`.\n\nMust be an environment name from the option `[environments-preview].names`, the special string `__local__` to use the relevant local environment, or the Python value `None` to error when remote execution is disabled.\n\nTip: if you are using a Docker image with your remote execution environment (usually enabled by setting the field `extra_platform_properties`), then it can be useful to fallback to an equivalent `docker_image` target so that you have a consistent execution environment.", - "provider": "", + "alias": "skip_shfmt", + "default": "False", + "description": "If true, don't run shfmt on this target's code.", + "provider": "pants.backend.shell.lint.shfmt", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "cache_binary_discovery", + "alias": "skip_shellcheck", "default": "False", - "description": "If true, will cache system binary discovery, e.g. finding Python interpreters.\n\nWhen safe to do, it is preferable to set this option to `True` for faster performance by avoiding wasted work. Otherwise, Pants will search for system binaries whenever the Pants daemon is restarted.\n\nHowever, it is only safe to set this to `True` if the remote execution environment has a stable environment, e.g. the server will not change versions of installed system binaries. Otherwise, you risk caching results that become stale when the server changes its environment, which may break your builds. With some remote execution servers, you can specify a Docker image to run with via the field `extra_platform_properties`; if you are able to specify what Docker image to use, and also use a pinned tag of the image, it is likely safe to set this field to true.", - "provider": "", + "description": "If true, don't run Shellcheck on this target's code.", + "provider": "pants.backend.shell.lint.shellcheck", "required": false, "type_hint": "bool" }, { - "alias": "nodejs_corepack_env_vars", + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "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/v2.19/docs/targets 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.shell", + "summary": "Generate a `shell_source` target for each file in the `sources` field." + }, + "shunit2_test": { + "alias": "shunit2_test", + "description": "A single test file for Bourne-based shell scripts using the shunit2 test framework.\n\nTo use, add tests to your file per https://github.com/kward/shunit2/. Specify the shell to run with by either setting the field `shell` or including a shebang. To test the same file with multiple shells, create multiple `shunit2_tests` targets, one for each shell.\n\nPants will automatically download the `shunit2` bash script and add `source ./shunit2` to your test for you. If you already have `source ./shunit2`, Pants will overwrite it to use the correct relative path.", + "fields": [ { - "alias": "python_native_code_ld_flags", + "alias": "tags", "default": null, - "description": "Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active.", - "provider": "pants.core", + "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": "golang_cgo_gcc_binary_name", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "python_bootstrap_search_path", + "alias": "source", "default": null, - "description": "Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active.", - "provider": "pants.core", - "required": false, - "type_hint": "Iterable[str] | None" + "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": "nodejs_executable_search_paths", + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "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/v2.19/docs/targets 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": "golang_cgo_fortran_flags", + "alias": "timeout", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "Iterable[str] | None" + "type_hint": "int | None" }, { - "alias": "system_binaries_system_binary_paths", + "alias": "skip_tests", + "default": "False", + "description": "If true, don't run this target's tests.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "shell", "default": null, - "description": "Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active.", - "provider": "pants.core", + "description": "Which shell to run the tests with. If unspecified, Pants will look for a shebang line.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "'bash' | 'dash' | 'ksh' | 'pdksh' | 'sh' | 'zsh' | None" }, { - "alias": "shell_setup_executable_search_paths", + "alias": "runtime_package_dependencies", "default": null, - "description": "Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.shell", + "description": "Addresses to targets that can be built with the `pants package` goal and whose resulting artifacts should be included in the test run.\n\nPants will build the artifacts as if you had run `pants package`. It will include the results in your test's chroot, using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_aws_lambda_function`, or an `archive`.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "golang_cgo_c_flags", + "alias": "skip_shfmt", + "default": "False", + "description": "If true, don't run shfmt on this target's code.", + "provider": "pants.backend.shell.lint.shfmt", + "required": false, + "type_hint": "bool" + }, + { + "alias": "skip_shellcheck", + "default": "False", + "description": "If true, don't run Shellcheck on this target's code.", + "provider": "pants.backend.shell.lint.shellcheck", + "required": false, + "type_hint": "bool" + } + ], + "provider": "pants.backend.shell", + "summary": "A single test file for Bourne-based shell scripts using the shunit2 test framework." + }, + "shunit2_tests": { + "alias": "shunit2_tests", + "description": "Generate a `shunit2_test` target for each file in the `sources` field.", + "fields": [ + { + "alias": "tags", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "golang_cgo_tool_search_paths", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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.sh', 'test_*.sh', 'tests.sh')", + "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=['test.sh', 'test_*.sh', '!test_ignore.sh']`", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "golang_cgo_fortran_binary_name", + "alias": "overrides", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "Override the field values for generated `shunit2_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.sh\": {\"timeout\": 120},\n \"bar_test.sh\": {\"timeout\": 200},\n (\"foo_test.sh\", \"bar_test.sh\"): {\"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 `shunit2_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": "str | None" + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "jvm_global_options", + "alias": "skip_shfmt", + "default": "False", + "description": "If true, don't run shfmt on this target's code.", + "provider": "pants.backend.shell.lint.shfmt", + "required": false, + "type_hint": "bool" + }, + { + "alias": "skip_shellcheck", + "default": "False", + "description": "If true, don't run Shellcheck on this target's code.", + "provider": "pants.backend.shell.lint.shellcheck", + "required": false, + "type_hint": "bool" + }, + { + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[jvm].global_options` when this environment target is active.", - "provider": "pants.backend.experimental.java", + "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/v2.19/docs/targets 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": "docker_executable_search_paths", + "alias": "timeout", "default": null, - "description": "Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active.", - "provider": "pants.backend.docker", + "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": "Iterable[str] | None" + "type_hint": "int | None" }, { - "alias": "apache_thrift_thrift_search_paths", + "alias": "skip_tests", + "default": "False", + "description": "If true, don't run this target's tests.", + "provider": "", + "required": false, + "type_hint": "bool" + }, + { + "alias": "shell", "default": null, - "description": "Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active.", - "provider": "pants.backend.codegen.thrift.apache.python", + "description": "Which shell to run the tests with. If unspecified, Pants will look for a shebang line.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "'bash' | 'dash' | 'ksh' | 'pdksh' | 'sh' | 'zsh' | None" }, { - "alias": "docker_env_vars", + "alias": "runtime_package_dependencies", "default": null, - "description": "Overrides the default value from the option `[docker].env_vars` when this environment target is active.", - "provider": "pants.backend.docker", + "description": "Addresses to targets that can be built with the `pants package` goal and whose resulting artifacts should be included in the test run.\n\nPants will build the artifacts as if you had run `pants package`. It will include the results in your test's chroot, using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_aws_lambda_function`, or an `archive`.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" - }, + } + ], + "provider": "pants.backend.shell", + "summary": "Generate a `shunit2_test` target for each file in the `sources` field." + }, + "swift_source": { + "alias": "swift_source", + "description": "A single Swift source file.", + "fields": [ { - "alias": "golang_subprocess_env_vars", + "alias": "tags", "default": null, - "description": "Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "golang_cgo_gxx_binary_name", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "nodejs_search_path", + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[nodejs].search_path` when this environment target is active.", - "provider": "pants.backend.experimental.openapi.lint.spectral", + "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/v2.19/docs/targets 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": "subprocess_environment_env_vars", + "alias": "source", "default": null, - "description": "Overrides the default value from the option `[subprocess-environment].env_vars` when this environment target is active.", - "provider": "pants.core", + "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.swift", + "summary": "A single Swift source file." + }, + "swift_sources": { + "alias": "swift_sources", + "description": "Generate a `swift_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": "golang_cgo_linker_flags", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "('*.swift',)", + "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.swift', 'subdir/*.swift', '!ignore_me.swift']`", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "golang_cgo_cxx_flags", + "alias": "dependencies", "default": null, - "description": "Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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/v2.19/docs/targets 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.swift", + "summary": "Generate a `swift_source` target for each file in the `sources` field." + }, + "system_binary": { + "alias": "system_binary", + "description": "A system binary that can be run with `pants run` or consumed by `adhoc_tool`.\n\nPants will search for binaries with name `binary_name` in the search paths provided, as well as default search paths. If `fingerprint` is specified, each binary that is located will be executed with the arguments from `fingerprint_args`. Any binaries whose output does not match the pattern will be excluded.\n\nThe first non-excluded binary will be the one that is resolved.", + "fields": [ { - "alias": "golang_go_search_paths", + "alias": "tags", "default": null, - "description": "Overrides the default value from the option `[golang].go_search_paths` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "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": "python_native_code_cpp_flags", + "alias": "description", "default": null, - "description": "Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active.", - "provider": "pants.core", + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "python_bootstrap_names", + "alias": "binary_name", "default": null, - "description": "Overrides the default value from the option `[python-bootstrap].names` when this environment target is active.", - "provider": "pants.core", + "description": "The name of the binary to find.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "extra_search_paths", + "default": "()", + "description": "Extra search paths to look for the binary. These take priority over Pants' default search paths.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "golang_external_linker_binary_name", + "alias": "fingerprint", "default": null, - "description": "Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "A regular expression which will be used to match the fingerprint outputs from candidate binaries found during the search process.", + "provider": "", "required": false, "type_hint": "str | None" }, { - "alias": "pex_executable_search_paths", - "default": null, - "description": "Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active.", - "provider": "pants.core", - "required": false, - "type_hint": "Iterable[str] | None" - }, - { - "alias": "test_extra_env_vars", - "default": null, - "description": "Overrides the default value from the option `[test].extra_env_vars` when this environment target is active.", - "provider": "pants.core", + "alias": "fingerprint_args", + "default": "()", + "description": "Specifies arguments that will be used to run the binary during the search process.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "go_generate_env_vars", + "alias": "fingerprint_dependencies", "default": null, - "description": "Overrides the default value from the option `[go-generate].env_vars` when this environment target is active.", - "provider": "pants.backend.experimental.go", + "description": "Specifies any runnable dependencies that need to be available on the `PATH` when the binary is run, so that the search process may complete successfully. The name of the target must be the name of the runnable dependency that is called by this binary.", + "provider": "", "required": false, "type_hint": "Iterable[str] | None" } ], - "provider": "pants.core", - "summary": "Configuration of a remote execution environment used for building your code." + "provider": "pants.backend.experimental.adhoc", + "summary": "A system binary that can be run with `pants run` or consumed by `adhoc_tool`." }, - "resource": { - "alias": "resource", - "description": "A single resource file embedded in a code package and accessed in a location-independent manner.\n\nResources are embedded in code artifacts such as Python wheels or JVM JARs. The sources of a `resources` target are accessed via language-specific resource APIs, such as Python's `pkgutil` or JVM's ClassLoader, via paths relative to the target's source root.", + "target": { + "alias": "target", + "description": "A generic target with no specific type.\n\nThis can be used as a generic \"bag of dependencies\", i.e. you can group several different targets into one single target so that your other targets only need to depend on one thing.", "fields": [ { "alias": "tags", @@ -70473,22 +94400,14 @@ "provider": "", "required": false, "type_hint": "Iterable[str] | None" - }, - { - "alias": "source", - "default": null, - "description": "The source of this target.\n\nIf a string is provided, represents a path that is relative to the BUILD file's directory, e.g. `source='example.ext'`.\n\nIf an `http_source` is provided, represents the network location to download the source from. The downloaded file will exist in the sandbox in the same directory as the target.\n\n`http_source` has the following signature:\n\n http_source(url: str, *, len: int, sha256: str, filename: str = \"\")\n\nThe filename defaults to the last part of the URL path (e.g. `example.ext`), but can also be specified if you wish to have control over the file name. You cannot, however, specify a path separator to download the file into a subdirectory (you must declare a target in desired subdirectory).\n\nYou can easily get the len and checksum with the following command:\n\n curl -L $URL | tee >(wc -c) >(shasum -a 256) >/dev/null\n\nIf a `per_platform` is provided, represents a mapping from platform to `http_source`, where the platform is one of (`linux_arm64`, `linux_x86_64`, `macos_arm64`, `macos_x86_64`) and is resolved in the execution target. Each `http_source` value MUST have the same filename provided.", - "provider": "", - "required": true, - "type_hint": "str | http_source | pants.core.target_types.per_platform[pants.core.target_types.http_source]" } ], "provider": "pants.core", - "summary": "A single resource file embedded in a code package and accessed in a location-independent manner." + "summary": "A generic target with no specific type." }, - "resources": { - "alias": "resources", - "description": "Generate a `resource` target for each file in the `sources` field.", + "terraform_deployment": { + "alias": "terraform_deployment", + "description": "A deployment of Terraform", "fields": [ { "alias": "tags", @@ -70507,36 +94426,52 @@ "type_hint": "str | None" }, { - "alias": "sources", + "alias": "dependencies", "default": null, - "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=['example.txt', 'new_*.md', '!old_ignore.csv']`", + "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/v2.19/docs/targets 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": "root_module", + "default": null, + "description": "The Terraform module to use as the root module.\n\nExample: `root_module=\":my_module\"`", "provider": "", "required": true, - "type_hint": "Iterable[str]" + "type_hint": "str" }, { - "alias": "overrides", + "alias": "backend_config", "default": null, - "description": "Override the field values for generated `resource` 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.json\": {\"description\": \"our customer model\"]},\n \"bar.json\": {\"description\": \"our product model\"]},\n (\"foo.json\", \"bar.json\"): {\"tags\": [\"overridden\"]},\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 `resource` 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.", + "description": "Configuration to be merged with what is in the configuration file's 'backend' block", "provider": "", "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "type_hint": "str | None" }, { - "alias": "dependencies", + "alias": "var_files", "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/v2.19/docs/targets 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": "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: `var_files=['common.tfvars', 'prod.tfvars']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" + }, + { + "alias": "skip_terraform_validate", + "default": "False", + "description": "If true, don't run `terraform validate` on this target's code. If this target is a module, `terraform validate might still be run on a `terraform_deployment that references this module.", + "provider": "pants.backend.experimental.terraform", + "required": false, + "type_hint": "bool" } ], - "provider": "pants.core", - "summary": "Generate a `resource` target for each file in the `sources` field." + "provider": "pants.backend.experimental.terraform", + "summary": "A deployment of Terraform" }, - "run_shell_command": { - "alias": "run_shell_command", - "description": "Run a script in the workspace, with all dependencies packaged/copied into a chroot.\n\nExample BUILD file:\n\n run_shell_command(\n command=\"./scripts/my-script.sh --data-files-dir={chroot}\",\n execution_dependencies=[\"src/project/files:data\"],\n )\n\nThe `command` may use either `{chroot}` on the command line, or the `$CHROOT` environment variable to get the root directory for where any dependencies are located.\n\nIn contrast to the `shell_command`, in addition to `workdir` you only have the `command` and `execution_dependencies` fields as the `tools` you are going to use are already on the PATH which is inherited from the Pants environment. Also, the `outputs` does not apply, as any output files produced will end up directly in your project tree.", + "terraform_module": { + "alias": "terraform_module", + "description": "A single Terraform module corresponding to a directory.\n\nThere must only be one `terraform_module` in a directory.\n\nUse `terraform_modules` to generate `terraform_module` targets for less boilerplate.", "fields": [ { "alias": "tags", @@ -70555,44 +94490,44 @@ "type_hint": "str | None" }, { - "alias": "execution_dependencies", + "alias": "dependencies", "default": null, - "description": "The execution dependencies for this command.\n\nDependencies specified here are those required to make the command complete successfully (e.g. file inputs, packages compiled from other targets, etc), but NOT required to make the outputs of the command useful.\n\nSee also `runnable_dependencies`.", + "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/v2.19/docs/targets 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": "runnable_dependencies", - "default": null, - "description": "The runnable dependencies for this command.\n\nDependencies specified here are those required to exist on the `PATH` to make the command complete successfully (interpreters specified in a `#!` command, etc). Note that these dependencies will be made available on the `PATH` with the name of the target.\n\nSee also `execution_dependencies`.", + "alias": "sources", + "default": "('*.tf',)", + "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=['example.tf', 'new_*.tf', '!old_ignore.tf']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "command", - "default": null, - "description": "Shell command to execute.\n\nThe command is executed as `'bash -c '` by default. If you want to invoke a binary use `exec -a $0 ` as the command so that the binary gets the correct `argv[0]` set.", - "provider": "", - "required": true, - "type_hint": "str" + "alias": "skip_terraform_validate", + "default": "False", + "description": "If true, don't run `terraform validate` on this target's code. If this target is a module, `terraform validate might still be run on a `terraform_deployment that references this module.", + "provider": "pants.backend.experimental.terraform", + "required": false, + "type_hint": "bool" }, { - "alias": "workdir", - "default": "'.'", - "description": "Sets the working directory for the process.\n\nValues are relative to the build root, except in the following cases:\n\n* `.` specifies the location of the `BUILD` file.\n* Values beginning with `./` are relative to the location of the `BUILD` file.\n* `/` or the empty string specifies the build root.\n* Values beginning with `/` are also relative to the build root.", - "provider": "", + "alias": "skip_tfsec", + "default": "False", + "description": "If true, don't run tfsec on this target's Terraform files.", + "provider": "pants.backend.experimental.terraform.lint.tfsec", "required": false, - "type_hint": "str | None" + "type_hint": "bool" } ], - "provider": "pants.backend.shell", - "summary": "Run a script in the workspace, with all dependencies packaged/copied into a chroot." + "provider": "pants.backend.experimental.terraform", + "summary": "A single Terraform module corresponding to a directory." }, - "scala_artifact": { - "alias": "scala_artifact", - "description": "A third-party Scala artifact, as identified by its Maven-compatible coordinate.\n\nThat is, an artifact identified by its `group`, `artifact`, and `version` components.\n\nEach artifact is associated with one or more resolves (a logical name you give to a lockfile). For this artifact to be used by your first-party code, it must be associated with the resolve(s) used by that code. See the `resolve` field.\n\nBeing a Scala artifact, the final artifact name will be inferred using the Scala version configured for the given resolve.", + "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/v2.19/docs/thrift-python", "fields": [ { "alias": "tags", @@ -70611,100 +94546,60 @@ "type_hint": "str | None" }, { - "alias": "group", - "default": null, - "description": "The 'group' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the group is `com.google.guava`.", - "provider": "", - "required": true, - "type_hint": "str" - }, - { - "alias": "artifact", - "default": null, - "description": "The 'artifact' part of a Maven-compatible Scala-versioned coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `org.typelevel:cats-core_2.13:2.9.0`, the artifact is `cats-core`.", - "provider": "", - "required": true, - "type_hint": "str" - }, - { - "alias": "version", - "default": null, - "description": "The 'version' part of a Maven-compatible coordinate to a third-party JAR artifact.\n\nFor the JAR coordinate `com.google.guava:guava:30.1.1-jre`, the version is `30.1.1-jre`.", - "provider": "", - "required": true, - "type_hint": "str" - }, - { - "alias": "packages", + "alias": "dependencies", "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.19.0rc1/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": "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/v2.19/docs/targets 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": "crossversion", - "default": "'partial'", - "description": "Whether to use the full Scala version or the partial one to determine the artifact name suffix.\n\nDefault is `partial`.", - "provider": "", - "required": false, - "type_hint": "'full' | 'partial' | None" - }, - { - "alias": "exclusions", - "default": null, - "description": "A list of exclusions for unversioned coordinates that should be excluded as dependencies when this artifact is resolved.\n\nThis does not prevent this artifact from being included in the resolve as a dependency of other artifacts that depend on it, and is currently intended as a way to resolve version conflicts in complex resolves.\n\nSupported exclusions are:\n * `jvm_exclude`: Exclude the given `artifact` and `group`, or all artifacts from the given `group`.\n * `scala_exclude`: Exclude the given `artifact` and `group`, or all artifacts from the given `group`. You can also use the `crossversion` field to help resolve the final artifact name.", - "provider": "", - "required": false, - "type_hint": "Iterable[pants.jvm.target_types.JvmArtifactExclusion] | None" - }, - { - "alias": "url", + "alias": "source", "default": null, - "description": "A URL that points to the location of this artifact.\n\nIf specified, Pants will not fetch this artifact from default Maven repositories, and will instead fetch the artifact from this URL. To use default maven repositories, do not set this value.\n\nNote that `file:` URLs are not supported. Instead, use the `jar` field for local artifacts.", + "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": "str | None" + "required": true, + "type_hint": "str" }, { - "alias": "jar", - "default": null, - "description": "A local JAR file that provides this artifact to the lockfile resolver, instead of a Maven repository.\n\nPath is relative to the BUILD file.\n\nUse the `url` field for remote artifacts.", - "provider": "", + "alias": "finagle", + "default": "False", + "description": "If True, then also generate Finagle classes for services when using Scrooge as the Thrift generator.", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", "required": false, - "type_hint": "str | None" + "type_hint": "bool" }, { - "alias": "main", + "alias": "jvm_jdk", "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", - "provider": "", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "pants.backend.experimental.codegen.thrift.apache.java", "required": false, "type_hint": "str | None" }, { - "alias": "resolve", + "alias": "python_resolve", "default": null, - "description": "The resolve from `[jvm].resolves` that this artifact should be included in.\n\nIf not defined, will default to `[jvm].default_resolve`.\n\nWhen generating a lockfile for a particular resolve via the `coursier-resolve` goal, it will include all artifacts that are declared compatible with that resolve. First-party targets like `java_source` and `scala_source` also declare which resolve they use via the `resolve` field; so, for your first-party code to use a particular `jvm_artifact` target, that artifact must be included in the resolve used by that code.", - "provider": "", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "provider": "pants.backend.codegen.thrift.apache.python", "required": false, "type_hint": "str | None" }, { - "alias": "jdk", + "alias": "jvm_resolve", "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "", + "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", + "provider": "pants.backend.experimental.codegen.thrift.apache.java", "required": false, "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.scala", - "summary": "A third-party Scala artifact, as identified by its Maven-compatible coordinate." + "provider": "pants.backend.codegen.thrift.apache.python", + "summary": "A single Thrift file used to generate various languages." }, - "scala_junit_test": { - "alias": "scala_junit_test", - "description": "A single Scala test, run with JUnit.", + "thrift_sources": { + "alias": "thrift_sources", + "description": "Generate a `thrift_source` target for each file in the `sources` field.", "fields": [ { "alias": "tags", @@ -70723,76 +94618,68 @@ "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/v2.19/docs/targets 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": "sources", + "default": "('*.thrift',)", + "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=['example.thrift', 'new_*.thrift', '!old_ignore.thrift']`", "provider": "", "required": false, "type_hint": "Iterable[str] | None" }, { - "alias": "source", + "alias": "overrides", "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'`.", + "description": "Override the field values for generated `thrift_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 \"bar.thrift\": {\"description\": \"our user model\"]},\n (\"foo.thrift\", \"bar.thrift\"): {\"tags\": [\"overridden\"]},\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 `thrift_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": true, - "type_hint": "str" + "required": false, + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "scalac_plugins", - "default": null, - "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", - "provider": "", + "alias": "finagle", + "default": "False", + "description": "If True, then also generate Finagle classes for services when using Scrooge as the Thrift generator.", + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "bool" }, { - "alias": "timeout", + "alias": "jvm_jdk", "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": "", + "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", + "provider": "pants.backend.experimental.codegen.thrift.apache.java", "required": false, - "type_hint": "int | None" + "type_hint": "str | None" }, { - "alias": "extra_env_vars", + "alias": "python_resolve", "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": "", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "provider": "pants.backend.codegen.thrift.apache.python", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "resolve", + "alias": "jvm_resolve", "default": null, "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "", + "provider": "pants.backend.experimental.codegen.thrift.apache.java", "required": false, "type_hint": "str | None" }, { - "alias": "experimental_provides_types", + "alias": "dependencies", "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", + "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/v2.19/docs/targets 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": "jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "", - "required": false, - "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.scala", - "summary": "A single Scala test, run with JUnit." + "provider": "pants.backend.codegen.thrift.apache.python", + "summary": "Generate a `thrift_source` target for each file in the `sources` field." }, - "scala_junit_tests": { - "alias": "scala_junit_tests", - "description": "Generate a `scala_junit_test` target for each file in the `sources` field.", + "vcs_version": { + "alias": "vcs_version", + "description": "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/v2.19/docs/getting-help.", "fields": [ { "alias": "tags", @@ -70811,1311 +94698,5033 @@ "type_hint": "str | None" }, { - "alias": "sources", - "default": "('*Test.scala',)", - "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=['*Test.scala', '!TestIgnore.scala']`", + "alias": "tag_regex", + "default": "'^(?:[\\\\w-]+-)?(?P[vV]?\\\\d+(?:\\\\.\\\\d+){0,2}[^\\\\+]*)(?:\\\\+.*)?$'", + "description": "A Python regex string to extract the version string from a VCS tag.\n\nThe regex needs to contain either a single match group, or a group named version, that captures the actual version information.\n\nNote that this is unrelated to the tags field and Pants's own tags concept.\n\nSee https://github.com/pypa/setuptools_scm for implementation details.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" }, { - "alias": "overrides", + "alias": "generate_to", "default": null, - "description": "Override the field values for generated `scala_junit_tests` 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.scala\": {\"dependencies\": [\":files\"]},\n \"Bar.scala\": {\"skip_scalafmt\": True},\n (\"Foo.scala\", \"Bar.scala\"): {\"tags\": [\"linter_disabled\"]},\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 `scala_junit_tests` 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.", + "description": "Generate the version data to this relative path, using the template field.\n\nNote that the generated output will not be written to disk in the source tree, but will be available as a generated dependency to code that depends on this target.", "provider": "", - "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "required": true, + "type_hint": "str" }, { - "alias": "timeout", + "alias": "template", "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).", + "description": "Generate the version data using this format string, which takes a version format kwarg.\n\nE.g., `'version = \"{version}\"'`", "provider": "", - "required": false, - "type_hint": "int | None" + "required": true, + "type_hint": "str" }, { - "alias": "dependencies", + "alias": "python_resolve", "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/v2.19/docs/targets 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": "", + "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", + "provider": "pants.backend.experimental.python", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.python", + "summary": "Generates a version string from VCS state." + } + }, + "scope_to_help_info": { + "": { + "advanced": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--backend-packages=\"['', '', ...]\"", + "config_key": "backend_packages", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--backend-packages=\"['', '', ...]\"" + ], + "env_var": "PANTS_BACKEND_PACKAGES", + "fromfile": false, + "help": "Register functionality from these backends.\n\nThe backend packages must be present on the PYTHONPATH, typically because they are in the Pants core dist, in a plugin dist, or available as sources in the repo.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--backend-packages" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--backend-packages" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + }, + { + "details": "from command-line flag", + "rank": "FLAG", + "value": [ + "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.yapf", + "pants.backend.codegen.protobuf.lint.buf", + "pants.backend.codegen.protobuf.python", + "pants.backend.codegen.thrift.apache.python", + "pants.backend.docker", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", + "pants.backend.experimental.cc.lint.clangformat", + "pants.backend.experimental.codegen.avro.java", + "pants.backend.experimental.codegen.protobuf.go", + "pants.backend.experimental.codegen.protobuf.java", + "pants.backend.experimental.codegen.protobuf.scala", + "pants.backend.experimental.codegen.thrift.apache.java", + "pants.backend.experimental.codegen.thrift.scrooge.java", + "pants.backend.experimental.codegen.thrift.scrooge.scala", + "pants.backend.experimental.cue", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "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.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.kotlin", + "pants.backend.experimental.kotlin.debug_goals", + "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.openapi", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.openapi.lint.openapi_format", + "pants.backend.experimental.openapi.lint.spectral", + "pants.backend.experimental.python", + "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.python.framework.stevedore", + "pants.backend.experimental.python.lint.add_trailing_comma", + "pants.backend.experimental.python.lint.autoflake", + "pants.backend.experimental.python.lint.pyupgrade", + "pants.backend.experimental.python.lint.ruff", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.python.typecheck.pytype", + "pants.backend.experimental.rust", + "pants.backend.experimental.scala", + "pants.backend.experimental.scala.debug_goals", + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.swift", + "pants.backend.experimental.terraform", + "pants.backend.experimental.terraform.lint.tfsec", + "pants.backend.experimental.tools.semgrep", + "pants.backend.experimental.tools.workunit_logger", + "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.visibility", + "pants.backend.google_cloud_function.python", + "pants.backend.plugin_development", + "pants.backend.project_info", + "pants.backend.python", + "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.bandit", + "pants.backend.python.lint.black", + "pants.backend.python.lint.docformatter", + "pants.backend.python.lint.flake8", + "pants.backend.python.lint.isort", + "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.pylint", + "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", + "pants.backend.python.mixed_interpreter_constraints", + "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", + "pants.backend.python.typecheck.mypy", + "pants.backend.shell", + "pants.backend.shell.lint.shellcheck", + "pants.backend.shell.lint.shfmt", + "pants.backend.tools.preamble", + "pants.backend.tools.taplo", + "pants.backend.url_handlers.s3", + "pants.core" + ] + } + ] + } }, { - "alias": "scalac_plugins", - "default": null, - "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--plugins=\"['', '', ...]\"", + "config_key": "plugins", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--plugins=\"['', '', ...]\"" + ], + "env_var": "PANTS_PLUGINS", + "fromfile": false, + "help": "Allow backends to be loaded from these plugins (usually released through PyPI). The default backends for each plugin will be loaded automatically. Other backends in a plugin can be loaded by listing them in `backend_packages` in the `[GLOBAL]` scope.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--plugins" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--plugins" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]plugins-force-resolve", + "config_key": "plugins_force_resolve", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]plugins-force-resolve" + ], + "env_var": "PANTS_PLUGINS_FORCE_RESOLVE", + "fromfile": false, + "help": "Re-resolve plugins, even if previously resolved.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--plugins-force-resolve", + "--no-plugins-force-resolve" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--plugins-force-resolve", + "--no-plugins-force-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]show-log-target", + "config_key": "show_log_target", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]show-log-target" + ], + "env_var": "PANTS_SHOW_LOG_TARGET", + "fromfile": false, + "help": "Display the target where a log message originates in that log message's output. This can be helpful when paired with `--log-levels-by-target`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--show-log-target", + "--no-show-log-target" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--show-log-target", + "--no-show-log-target" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--log-levels-by-target=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "log_levels_by_target", + "default": {}, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--log-levels-by-target=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_LOG_LEVELS_BY_TARGET", + "fromfile": false, + "help": "Set a more specific logging level for one or more logging targets. The names of logging targets are specified in log strings when the --show-log-target option is set. The logging levels are one of: \"error\", \"warn\", \"info\", \"debug\", \"trace\". All logging targets not specified here use the global log level set with `--level`. For example, you can set `--log-levels-by-target='{\"workunit_store\": \"info\", \"pants.engine.rules\": \"warn\"}'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--log-levels-by-target" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--log-levels-by-target" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} + } + ] + } }, { - "alias": "jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]log-show-rust-3rdparty", + "config_key": "log_show_rust_3rdparty", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]log-show-rust-3rdparty" + ], + "env_var": "PANTS_LOG_SHOW_RUST_3RDPARTY", + "fromfile": false, + "help": "Whether to show/hide logging done by 3rdparty Rust crates used by the Pants engine.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--log-show-rust-3rdparty", + "--no-log-show-rust-3rdparty" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--log-show-rust-3rdparty", + "--no-log-show-rust-3rdparty" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "alias": "experimental_provides_types", - "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--ignore-warnings=\"['', '', ...]\"", + "config_key": "ignore_warnings", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--ignore-warnings=\"['', '', ...]\"" + ], + "env_var": "PANTS_IGNORE_WARNINGS", + "fromfile": false, + "help": "Ignore logs and warnings matching these strings.\n\nNormally, Pants will look for literal matches from the start of the log/warning message, but you can prefix the ignore with `$regex$` for Pants to instead treat your string as a regex pattern. For example:\n\n ignore_warnings = [\n \"DEPRECATED: option 'config' in scope 'flake8' will be removed\",\n '$regex$:No files\\s*'\n ]", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--ignore-warnings" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--ignore-warnings" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "", - "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.experimental.scala", - "summary": "Generate a `scala_junit_test` target for each file in the `sources` field." - }, - "scala_source": { - "alias": "scala_source", - "description": "A single Scala source file containing application or library code.", - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-version=", + "config_key": "pants_version", + "default": "", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-version=" + ], + "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/v2.19/docs/installation, 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": [ + "--pants-version" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-version" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "2.19.0rc5" + }, + { + "details": "from env var PANTS_VERSION", + "rank": "ENVIRONMENT", + "value": "2.19.0rc5" + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-bin-name=", + "config_key": "pants_bin_name", + "default": "pants", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-bin-name=" + ], + "env_var": "PANTS_BIN_NAME", + "fromfile": false, + "help": "The name of the script or binary used to invoke Pants. Useful when printing help messages.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-bin-name" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-bin-name" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "pants" + }, + { + "details": "from env var PANTS_BIN_NAME", + "rank": "ENVIRONMENT", + "value": "pants" + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-workdir=", + "config_key": "pants_workdir", + "default": "/home/runner/work/pantsbuild.org/pantsbuild.org/.pants.d/workdir", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-workdir=" + ], + "env_var": "PANTS_WORKDIR", + "fromfile": false, + "help": "Write intermediate logs and output files to this dir.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-workdir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-workdir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/home/runner/work/pantsbuild.org/pantsbuild.org/.pants.d/workdir" + } + ] + } }, { - "alias": "source", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-physical-workdir-base=", + "config_key": "pants_physical_workdir_base", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-physical-workdir-base=" + ], + "env_var": "PANTS_PHYSICAL_WORKDIR_BASE", + "fromfile": false, + "help": "When set, a base directory in which to store `--pants-workdir` contents. If this option is a set, the workdir will be created as symlink into a per-workspace subdirectory.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-physical-workdir-base" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-physical-workdir-base" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "scalac_plugins", - "default": null, - "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-distdir=", + "config_key": "pants_distdir", + "default": "/home/runner/work/pantsbuild.org/pantsbuild.org/dist", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-distdir=" + ], + "env_var": "PANTS_DISTDIR", + "fromfile": false, + "help": "Write end products, such as the results of `pants package`, to this dir.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-distdir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-distdir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/home/runner/work/pantsbuild.org/pantsbuild.org/dist" + } + ] + } }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-subprocessdir=", + "config_key": "pants_subprocessdir", + "default": "/home/runner/work/pantsbuild.org/pantsbuild.org/.pants.d/pids", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-subprocessdir=" + ], + "env_var": "PANTS_SUBPROCESSDIR", + "fromfile": false, + "help": "The directory to use for tracking subprocess metadata. This should live outside of the dir used by `pants_workdir` to allow for tracking subprocesses that outlive the workdir data.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-subprocessdir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--pants-subprocessdir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/home/runner/work/pantsbuild.org/pantsbuild.org/.pants.d/pids" + } + ] + } }, { - "alias": "experimental_provides_types", - "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-config-files=\"['', '', ...]\"", + "config_key": "pants_config_files", + "default": [ + "/home/runner/work/pantsbuild.org/pantsbuild.org/pants.toml" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-config-files=\"['', '', ...]\"" + ], + "env_var": "PANTS_CONFIG_FILES", + "fromfile": false, + "help": "Paths to Pants config files. This may only be set through the environment variable `PANTS_CONFIG_FILES` and the command line argument `--pants-config-files`; it will be ignored if in a config file like `pants.toml`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-config-files" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--pants-config-files" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "/home/runner/work/pantsbuild.org/pantsbuild.org/pants.toml" + ] + } + ] + } }, { - "alias": "jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]pantsrc", + "config_key": "pantsrc", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]pantsrc" + ], + "env_var": "PANTS_PANTSRC", + "fromfile": false, + "help": "Use pantsrc files located at the paths specified in the global option `pantsrc_files`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pantsrc", + "--no-pantsrc" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--pantsrc", + "--no-pantsrc" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "alias": "main", - "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pantsrc-files=\"[, , ...]\"", + "config_key": "pantsrc_files", + "default": [ + "/etc/pantsrc", + "~/.pants.rc", + ".pants.rc" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pantsrc-files=\"[, , ...]\"" + ], + "env_var": "PANTS_PANTSRC_FILES", + "fromfile": false, + "help": "Override config with values from these files, using syntax matching that of `--pants-config-files`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pantsrc-files" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--pantsrc-files" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "/etc/pantsrc", + "~/.pants.rc", + ".pants.rc" + ] + } + ] + } }, { - "alias": "skip_scalafmt", - "default": "False", - "description": "If true, don't run `scalafmt` on this target's code.", - "provider": "pants.backend.experimental.scala.lint.scalafmt", - "required": false, - "type_hint": "bool" - } - ], - "provider": "pants.backend.experimental.scala", - "summary": "A single Scala source file containing application or library code." - }, - "scala_sources": { - "alias": "scala_sources", - "description": "Generate a `scala_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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pythonpath=\"['', '', ...]\"", + "config_key": "pythonpath", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pythonpath=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHONPATH", + "fromfile": false, + "help": "Add these directories to PYTHONPATH to search for plugins. This does not impact the PYTHONPATH used by Pants when running your Python code.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pythonpath" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--pythonpath" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]verify-config", + "config_key": "verify_config", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]verify-config" + ], + "env_var": "PANTS_VERIFY_CONFIG", + "fromfile": false, + "help": "Verify that all config file values correspond to known options.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--verify-config", + "--no-verify-config" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--verify-config", + "--no-verify-config" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "alias": "sources", - "default": "('*.scala', '!*Test.scala', '!*Spec.scala', '!*Suite.scala')", - "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=['Example.scala', 'New*.scala', '!OldIgnore.scala']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--stats-record-option-scopes=\"['', '', ...]\"", + "config_key": "stats_record_option_scopes", + "default": [ + "*" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--stats-record-option-scopes=\"['', '', ...]\"" + ], + "env_var": "PANTS_STATS_RECORD_OPTION_SCOPES", + "fromfile": false, + "help": "Option scopes to record in stats on run completion. Options may be selected by joining the scope and the option with a ^ character, i.e. to get option `pantsd` in the GLOBAL scope, you'd pass `GLOBAL^pantsd`. Add a '*' to the list to capture all known scopes.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--stats-record-option-scopes" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--stats-record-option-scopes" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "*" + ] + } + ] + } }, { - "alias": "overrides", - "default": null, - "description": "Override the field values for generated `scala_sources` 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.scala\": {\"dependencies\": [\":files\"]},\n \"Bar.scala\": {\"skip_scalafmt\": True},\n (\"Foo.scala\", \"Bar.scala\"): {\"tags\": [\"linter_disabled\"]},\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 `scala_sources` 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pants-ignore=\"['', '', ...]\"", + "config_key": "pants_ignore", + "default": [ + ".*/", + "/dist/", + "__pycache__", + "!.semgrep/" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pants-ignore=\"['', '', ...]\"" + ], + "env_var": "PANTS_IGNORE", + "fromfile": false, + "help": "Paths to ignore for all filesystem operations performed by pants (e.g. BUILD file scanning, glob matching, etc).\n\nPatterns use the gitignore syntax (https://git-scm.com/docs/gitignore). The `pants_distdir` and `pants_workdir` locations are automatically ignored.\n\n`pants_ignore` can be used in tandem with `pants_ignore_use_gitignore`; any rules specified here are applied after rules specified in a .gitignore file.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-ignore" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--pants-ignore" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + ".*/", + "/dist/", + "__pycache__", + "!.semgrep/" + ] + } + ] + } }, { - "alias": "skip_scalafmt", - "default": "False", - "description": "If true, don't run `scalafmt` on this target's code.", - "provider": "pants.backend.experimental.scala.lint.scalafmt", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]pants-ignore-use-gitignore", + "config_key": "pants_ignore_use_gitignore", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]pants-ignore-use-gitignore" + ], + "env_var": "PANTS_IGNORE_USE_GITIGNORE", + "fromfile": false, + "help": "Include patterns from `.gitignore`, `.git/info/exclude`, and the global gitignore files in the option `[GLOBAL].pants_ignore`, which is used for Pants to ignore filesystem operations on those patterns.\n\nPatterns from `[GLOBAL].pants_ignore` take precedence over these files' rules. For example, you can use `!my_pattern` in `pants_ignore` to have Pants operate on files that are gitignored.\n\nWarning: this does not yet support reading nested gitignore files.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pants-ignore-use-gitignore", + "--no-pants-ignore-use-gitignore" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--pants-ignore-use-gitignore", + "--no-pants-ignore-use-gitignore" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "alias": "dependencies", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--logdir=", + "config_key": "logdir", "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/v2.19/docs/targets 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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--logdir=" + ], + "env_var": "PANTS_LOGDIR", + "fromfile": false, + "help": "Write logs to files under this directory.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--logdir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--logdir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "scalac_plugins", - "default": null, - "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pantsd-timeout-when-multiple-invocations=", + "config_key": "pantsd_timeout_when_multiple_invocations", + "default": 60.0, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pantsd-timeout-when-multiple-invocations=" + ], + "env_var": "PANTS_PANTSD_TIMEOUT_WHEN_MULTIPLE_INVOCATIONS", + "fromfile": false, + "help": "The maximum amount of time to wait for the invocation to start until raising a timeout exception. Because pantsd currently does not support parallel runs, any prior running Pants command must be finished for the current one to start. To never timeout, use the value -1.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pantsd-timeout-when-multiple-invocations" + ], + "target_field_name": null, + "typ": "float", + "unscoped_cmd_line_args": [ + "--pantsd-timeout-when-multiple-invocations" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 60.0 + } + ] + } }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pantsd-max-memory-usage=", + "config_key": "pantsd_max_memory_usage", + "default": "4GiB", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pantsd-max-memory-usage=" + ], + "env_var": "PANTS_PANTSD_MAX_MEMORY_USAGE", + "fromfile": false, + "help": "The maximum memory usage of the pantsd process.\n\nWhen the maximum memory is exceeded, the daemon will restart gracefully, although all previous in-memory caching will be lost. Setting too low means that you may miss out on some caching, whereas setting too high may over-consume resources and may result in the operating system killing Pantsd due to memory overconsumption (e.g. via the OOM killer).\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.\n\nThere is at most one pantsd process per workspace.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pantsd-max-memory-usage" + ], + "target_field_name": null, + "typ": "memory_size", + "unscoped_cmd_line_args": [ + "--pantsd-max-memory-usage" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 4294967296 + } + ] + } }, { - "alias": "jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]print-stacktrace", + "config_key": "print_stacktrace", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]print-stacktrace" + ], + "env_var": "PANTS_PRINT_STACKTRACE", + "fromfile": false, + "help": "Print the full exception stack trace for any errors.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--print-stacktrace", + "--no-print-stacktrace" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--print-stacktrace", + "--no-print-stacktrace" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "alias": "main", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--engine-visualize-to=", + "config_key": "engine_visualize_to", "default": null, - "description": "`.`-separated name of the JVM class containing the `main()` method to be called when executing this target. If not supplied, this will be calculated automatically, either by inspecting the existing manifest (for 3rd-party JARs), or by inspecting the classes inside the JAR, looking for a valid `main` method. If a value cannot be calculated automatically, you must supply a value for `run` to succeed.", - "provider": "", - "required": false, - "type_hint": "str | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--engine-visualize-to=" + ], + "env_var": "PANTS_ENGINE_VISUALIZE_TO", + "fromfile": false, + "help": "A directory to write execution and rule graphs to as `dot` files. The contents of the directory will be overwritten if any filenames collide.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--engine-visualize-to" + ], + "target_field_name": null, + "typ": "dir_option", + "unscoped_cmd_line_args": [ + "--engine-visualize-to" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "experimental_provides_types", - "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" - } - ], - "provider": "pants.backend.experimental.scala", - "summary": "Generate a `scala_source` target for each file in the `sources` field." - }, - "scalac_plugin": { - "alias": "scalac_plugin", - "description": "A plugin for `scalac`.\n\nCurrently only thirdparty plugins are supported. To enable a plugin, define this target type, and set the `artifact=` field to the address of a `jvm_artifact` that provides the plugin.\n\nIf the `scalac`-loaded name of the plugin does not match the target's name, additionally set the `plugin_name=` 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pantsd-pailgun-port=", + "config_key": "pantsd_pailgun_port", + "default": 0, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pantsd-pailgun-port=" + ], + "env_var": "PANTS_PANTSD_PAILGUN_PORT", + "fromfile": false, + "help": "The port to bind the Pants nailgun server to. Defaults to a random port.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pantsd-pailgun-port" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--pantsd-pailgun-port" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 0 + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pantsd-invalidation-globs=\"['', '', ...]\"", + "config_key": "pantsd_invalidation_globs", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pantsd-invalidation-globs=\"['', '', ...]\"" + ], + "env_var": "PANTS_PANTSD_INVALIDATION_GLOBS", + "fromfile": false, + "help": "Filesystem events matching any of these globs will trigger a daemon restart. Pants's own code, plugins, and `--pants-config-files` are inherently invalidated.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pantsd-invalidation-globs" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--pantsd-invalidation-globs" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "artifact", - "default": null, - "description": "The address of either a `jvm_artifact` or a `scala_artifact` that defines a plugin for `scalac`.", - "provider": "", - "required": true, - "type_hint": "str" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--rule-threads-core=", + "config_key": "rule_threads_core", + "default": "max(2, #cores/2)", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--rule-threads-core=" + ], + "env_var": "PANTS_RULE_THREADS_CORE", + "fromfile": false, + "help": "The number of threads to keep active and ready to execute `@rule` logic (see also: `--rule-threads-max`).\n\nValues less than 2 are not currently supported.\n\nThis value is independent of the number of processes that may be spawned in parallel locally (controlled by `--process-execution-local-parallelism`).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--rule-threads-core" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--rule-threads-core" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 2 + } + ] + } }, { - "alias": "plugin_name", - "default": null, - "description": "The name that `scalac` should use to load the plugin.\n\nIf not set, the plugin name defaults to the target name.", - "provider": "", - "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.experimental.scala", - "summary": "A plugin for `scalac`." - }, - "scalatest_test": { - "alias": "scalatest_test", - "description": "A single Scala test, run with Scalatest.", - "fields": [ - { - "alias": "tags", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--rule-threads-max=", + "config_key": "rule_threads_max", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--rule-threads-max=" + ], + "env_var": "PANTS_RULE_THREADS_MAX", + "fromfile": false, + "help": "The maximum number of threads to use to execute `@rule` logic. Defaults to a small multiple of `--rule-threads-core`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--rule-threads-max" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--rule-threads-max" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--local-store-dir=", + "config_key": "local_store_dir", + "default": "/home/runner/.cache/pants/lmdb_store", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--local-store-dir=" + ], + "env_var": "PANTS_LOCAL_STORE_DIR", + "fromfile": false, + "help": "Directory to use for the local file store, which stores the results of subprocesses run by Pants.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--local-store-dir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--local-store-dir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/home/runner/.cache/pants/lmdb_store" + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--local-store-shard-count=", + "config_key": "local_store_shard_count", + "default": 16, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--local-store-shard-count=" + ], + "env_var": "PANTS_LOCAL_STORE_SHARD_COUNT", + "fromfile": false, + "help": "The number of LMDB shards created for the local store. This setting also impacts the maximum size of stored files: see `--local-store-files-max-size-bytes` for more information.\n\nBecause LMDB allows only one simultaneous writer per database, the store is split into multiple shards to allow for more concurrent writers. The faster your disks are, the fewer shards you are likely to need for performance.\n\nNB: After changing this value, you will likely want to manually clear the `--local-store-dir` directory to clear the space used by old shard layouts.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--local-store-shard-count" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--local-store-shard-count" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 16 + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--local-store-processes-max-size-bytes=", + "config_key": "local_store_processes_max_size_bytes", + "default": 16000000000, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--local-store-processes-max-size-bytes=" + ], + "env_var": "PANTS_LOCAL_STORE_PROCESSES_MAX_SIZE_BYTES", + "fromfile": false, + "help": "The maximum size in bytes of the local store containing process cache entries. Stored below `--local-store-dir`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--local-store-processes-max-size-bytes" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--local-store-processes-max-size-bytes" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 16000000000 + } + ] + } }, { - "alias": "scalac_plugins", - "default": null, - "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--local-store-files-max-size-bytes=", + "config_key": "local_store_files_max_size_bytes", + "default": 256000000000, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--local-store-files-max-size-bytes=" + ], + "env_var": "PANTS_LOCAL_STORE_FILES_MAX_SIZE_BYTES", + "fromfile": false, + "help": "The maximum size in bytes of the local store containing files. Stored below `--local-store-dir`.\n\nNB: This size value bounds the total size of all files, but (due to sharding of the store on disk) it also bounds the per-file size to (VALUE / `--local-store-shard-count`).\n\nThis value doesn't reflect space allocated on disk, or RAM allocated (it may be reflected in VIRT but not RSS). However, the default is lower than you might otherwise choose because macOS creates core dumps that include MMAP'd pages, and setting this too high might cause core dumps to use an unreasonable amount of disk if they are enabled.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--local-store-files-max-size-bytes" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--local-store-files-max-size-bytes" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 256000000000 + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--local-store-directories-max-size-bytes=", + "config_key": "local_store_directories_max_size_bytes", + "default": 16000000000, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--local-store-directories-max-size-bytes=" + ], + "env_var": "PANTS_LOCAL_STORE_DIRECTORIES_MAX_SIZE_BYTES", + "fromfile": false, + "help": "The maximum size in bytes of the local store containing directories. Stored below `--local-store-dir`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--local-store-directories-max-size-bytes" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--local-store-directories-max-size-bytes" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 16000000000 + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--named-caches-dir=", + "config_key": "named_caches_dir", + "default": "/home/runner/.cache/pants/named_caches", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--named-caches-dir=" + ], + "env_var": "PANTS_NAMED_CACHES_DIR", + "fromfile": false, + "help": "Directory to use for named global caches for tools and processes with trusted, concurrency-safe caches.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--named-caches-dir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--named-caches-dir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/home/runner/.cache/pants/named_caches" + } + ] + } }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--local-execution-root-dir=", + "config_key": "local_execution_root_dir", + "default": "", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--local-execution-root-dir=" + ], + "env_var": "PANTS_LOCAL_EXECUTION_ROOT_DIR", + "fromfile": false, + "help": "Directory to use for local process execution sandboxing.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--local-execution-root-dir" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--local-execution-root-dir" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "/tmp" + } + ] + } }, { - "alias": "experimental_provides_types", - "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": [ + "fetch", + "validate", + "defer" + ], + "comma_separated_choices": "fetch, validate, defer", + "comma_separated_display_args": "--cache-content-behavior=", + "config_key": "cache_content_behavior", + "default": "fetch", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--cache-content-behavior=" + ], + "env_var": "PANTS_CACHE_CONTENT_BEHAVIOR", + "fromfile": false, + "help": "Controls how the content of cache entries is handled during process execution.\n\nWhen using a remote cache, the `fetch` behavior will fetch remote cache content from the remote store before considering the cache lookup a hit, while the `validate` behavior will only validate (for either a local or remote cache) that the content exists, without fetching it.\n\nThe `defer` behavior, on the other hand, will neither fetch nor validate the cache content before calling a cache hit a hit. This \"defers\" actually fetching the cache entry until Pants needs it (which may be never).\n\nThe `defer` mode is the most network efficient (because it will completely skip network requests in many cases), followed by the `validate` mode (since it can still skip fetching the content if no consumer ends up needing it). But both the `validate` and `defer` modes rely on an experimental feature called \"backtracking\" to attempt to recover if content later turns out to be missing (`validate` has a much narrower window for backtracking though, since content would need to disappear between validation and consumption: generally, within one `pantsd` session).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--cache-content-behavior" + ], + "target_field_name": null, + "typ": "CacheContentBehavior", + "unscoped_cmd_line_args": [ + "--cache-content-behavior" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "fetch" + } + ] + } }, { - "alias": "jdk", - "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "", - "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.experimental.scala", - "summary": "A single Scala test, run with Scalatest." - }, - "scalatest_tests": { - "alias": "scalatest_tests", - "description": "Generate a `scalatest_test` target for each file in the `sources` field (defaults to all files in the directory matching `('*Spec.scala', '*Suite.scala')`).", - "fields": [ - { - "alias": "tags", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--ca-certs-path=", + "config_key": "ca_certs_path", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--ca-certs-path=" + ], + "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/v2.19/docs/options.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--ca-certs-path" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--ca-certs-path" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "description", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--process-total-child-memory-usage=", + "config_key": "process_total_child_memory_usage", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--process-total-child-memory-usage=" + ], + "env_var": "PANTS_PROCESS_TOTAL_CHILD_MEMORY_USAGE", + "fromfile": false, + "help": "The maximum memory usage for all \"pooled\" child processes.\n\nWhen set, this value participates in precomputing the pool size of child processes used by Pants (pooling is currently used only for the JVM). When not set, Pants will default to spawning `2 * --process-execution-local-parallelism` pooled processes.\n\nA high value would result in a high number of child processes spawned, potentially overconsuming your resources and triggering the OS' OOM killer. A low value would mean a low number of child processes launched and therefore less parallelism for the tasks that need those processes.\n\nIf setting this value, consider also adjusting the value of the `--process-per-child-memory-usage` option.\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-total-child-memory-usage" + ], + "target_field_name": null, + "typ": "memory_size", + "unscoped_cmd_line_args": [ + "--process-total-child-memory-usage" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "sources", - "default": "('*Spec.scala', '*Suite.scala')", - "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=['*Spec.scala', '!SuiteIgnore.scala']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--process-per-child-memory-usage=", + "config_key": "process_per_child_memory_usage", + "default": "512MiB", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--process-per-child-memory-usage=" + ], + "env_var": "PANTS_PROCESS_PER_CHILD_MEMORY_USAGE", + "fromfile": false, + "help": "The default memory usage for a single \"pooled\" child process.\n\nCheck the documentation for the `--process-total-child-memory-usage` for advice on how to choose an appropriate value for this option.\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-per-child-memory-usage" + ], + "target_field_name": null, + "typ": "memory_size", + "unscoped_cmd_line_args": [ + "--process-per-child-memory-usage" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 536870912 + } + ] + } }, { - "alias": "overrides", - "default": null, - "description": "Override the field values for generated `scalatest_tests` 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.scala\": {\"dependencies\": [\":files\"]},\n \"Bar.scala\": {\"skip_scalafmt\": True},\n (\"Foo.scala\", \"Bar.scala\"): {\"tags\": [\"linter_disabled\"]},\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 `scalatest_tests` 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--process-execution-local-parallelism=", + "config_key": "process_execution_local_parallelism", + "default": "#cores", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--process-execution-local-parallelism=" + ], + "env_var": "PANTS_PROCESS_EXECUTION_LOCAL_PARALLELISM", + "fromfile": false, + "help": "Number of concurrent processes that may be executed locally.\n\nThis value is independent of the number of threads that may be used to execute the logic in `@rules` (controlled by `--rule-threads-core`).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-execution-local-parallelism" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--process-execution-local-parallelism" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 4 + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--process-execution-remote-parallelism=", + "config_key": "process_execution_remote_parallelism", + "default": 128, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--process-execution-remote-parallelism=" + ], + "env_var": "PANTS_PROCESS_EXECUTION_REMOTE_PARALLELISM", + "fromfile": false, + "help": "Number of concurrent processes that may be executed remotely.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-execution-remote-parallelism" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--process-execution-remote-parallelism" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 128 + } + ] + } }, { - "alias": "scalac_plugins", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--process-execution-cache-namespace=", + "config_key": "process_execution_cache_namespace", "default": null, - "description": "The names of Scala plugins that this source file requires.\n\nThe plugin must be defined by a corresponding `scalac_plugin` AND `jvm_artifact` target, and must be present in this target's resolve's lockfile.\n\nIf not specified, this will default to the plugins specified in `[scalac].plugins_for_resolve` for this target's resolve.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--process-execution-cache-namespace=" + ], + "env_var": "PANTS_PROCESS_EXECUTION_CACHE_NAMESPACE", + "fromfile": false, + "help": "The cache namespace for process execution. Change this value to invalidate every artifact's execution, or to prevent process cache entries from being (re)used for different usecases or users.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-execution-cache-namespace" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--process-execution-cache-namespace" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]process-execution-local-enable-nailgun", + "config_key": "process_execution_local_enable_nailgun", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]process-execution-local-enable-nailgun" + ], + "env_var": "PANTS_PROCESS_EXECUTION_LOCAL_ENABLE_NAILGUN", + "fromfile": false, + "help": "Whether or not to use nailgun to run JVM requests that are marked as supporting nailgun.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-execution-local-enable-nailgun", + "--no-process-execution-local-enable-nailgun" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--process-execution-local-enable-nailgun", + "--no-process-execution-local-enable-nailgun" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--process-execution-graceful-shutdown-timeout=", + "config_key": "process_execution_graceful_shutdown_timeout", + "default": 3, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--process-execution-graceful-shutdown-timeout=" + ], + "env_var": "PANTS_PROCESS_EXECUTION_GRACEFUL_SHUTDOWN_TIMEOUT", + "fromfile": false, + "help": "The time in seconds to wait when gracefully shutting down an interactive process (such as one opened using `pants run`) before killing it.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--process-execution-graceful-shutdown-timeout" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--process-execution-graceful-shutdown-timeout" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 3 + } + ] + } }, { - "alias": "jdk", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-instance-name=", + "config_key": "remote_instance_name", "default": null, - "description": "The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`.", - "provider": "", - "required": false, - "type_hint": "str | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-instance-name=" + ], + "env_var": "PANTS_REMOTE_INSTANCE_NAME", + "fromfile": false, + "help": "Name of the remote instance to use by remote caching and remote execution.\n\nThis is used by some remote servers for routing. Consult your remote server for whether this should be set.\n\nYou can also use a Pants plugin which provides remote authentication to dynamically set this value.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-instance-name" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-instance-name" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "experimental_provides_types", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-ca-certs-path=", + "config_key": "remote_ca_certs_path", "default": null, - "description": "Signals that the specified types should be fulfilled by these source files during dependency inference.\n\nThis allows for specific types within packages that are otherwise inferred as belonging to `jvm_artifact` targets to be unambiguously inferred as belonging to this first-party source.\n\nIf a given type is defined, at least one source file captured by this target must actually provide that symbol.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-ca-certs-path=" + ], + "env_var": "PANTS_REMOTE_CA_CERTS_PATH", + "fromfile": false, + "help": "Path to a PEM file containing CA certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`.\n\nIf unspecified, Pants will attempt to auto-discover root CA certificates when TLS is enabled with remote execution and caching.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-ca-certs-path" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-ca-certs-path" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "resolve", - "default": null, - "description": "The resolve from `[jvm].resolves` to use when compiling this target.\n\nIf not defined, will default to `[jvm].default_resolve`.", - "provider": "", - "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.experimental.scala", - "summary": "Generate a `scalatest_test` target for each file in the `sources` field (defaults to all files in the directory matching `('*Spec.scala', '*Suite.scala')`)." - }, - "shell_command": { - "alias": "shell_command", - "description": "Execute any external tool for its side effects.\n\nExample BUILD file:\n\n shell_command(\n command=\"./my-script.sh --flag\",\n tools=[\"tar\", \"curl\", \"cat\", \"bash\", \"env\"],\n execution_dependencies=[\":scripts\"],\n output_files=[\"logs/my-script.log\"],\n output_directories=[\"results\"],\n )\n\n shell_sources(name=\"scripts\")\n\nRemember to add this target to the dependencies of each consumer, such as your `python_tests` or `docker_image`. When relevant, Pants will run your `command` and insert the `outputs` into that consumer's context.\n\nThe command may be retried and/or cancelled, so ensure that it is idempotent.", - "fields": [ - { - "alias": "tags", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-client-certs-path=", + "config_key": "remote_client_certs_path", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-client-certs-path=" + ], + "env_var": "PANTS_REMOTE_CLIENT_CERTS_PATH", + "fromfile": false, + "help": "Path to a PEM file containing client certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address` when using client authentication (mTLS).\n\nIf unspecified, will use regular TLS. Requires `remote_client_key_path` to also be specified.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-client-certs-path" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-client-certs-path" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "description", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-client-key-path=", + "config_key": "remote_client_key_path", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-client-key-path=" + ], + "env_var": "PANTS_REMOTE_CLIENT_KEY_PATH", + "fromfile": false, + "help": "Path to a PEM file containing a private key used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address` when using client authentication (mTLS).\n\nIf unspecified, will use regular TLS. Requires `remote_client_certs_path` to also be specified.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-client-key-path" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-client-key-path" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "output_dependencies", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-oauth-bearer-token-path=", + "config_key": "remote_oauth_bearer_token_path", "default": null, - "description": "Any dependencies that need to be present (as transitive dependencies) whenever the outputs of this target are consumed (including as dependencies).\n\nSee also `execution_dependencies` and `runnable_dependencies`.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-oauth-bearer-token-path=" + ], + "env_var": "PANTS_REMOTE_OAUTH_BEARER_TOKEN_PATH", + "fromfile": false, + "help": "Path to a file containing 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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-oauth-bearer-token-path" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-oauth-bearer-token-path" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "execution_dependencies", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-store-address=", + "config_key": "remote_store_address", "default": null, - "description": "The execution dependencies for this command.\n\nDependencies specified here are those required to make the command complete successfully (e.g. file inputs, packages compiled from other targets, etc), but NOT required to make the outputs of the command useful. Dependencies that are required to use the outputs produced by this command should be specified using the `output_dependencies` field.\n\nIf this field is specified, dependencies from `output_dependencies` will not be added to the execution sandbox.\n\nSee also `output_dependencies` and `runnable_dependencies`.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-store-address=" + ], + "env_var": "PANTS_REMOTE_STORE_ADDRESS", + "fromfile": false, + "help": "The URI of a server used for the remote file store.\n\nFormat: `scheme://host:port`. The supported schemes are `grpc` and `grpcs`, i.e. gRPC with TLS enabled. If `grpc` is used, TLS will be disabled.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-store-address" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-store-address" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "runnable_dependencies", - "default": null, - "description": "The runnable dependencies for this command.\n\nDependencies specified here are those required to exist on the `PATH` to make the command complete successfully (interpreters specified in a `#!` command, etc). Note that these dependencies will be made available on the `PATH` with the name of the target.\n\nSee also `output_dependencies` and `execution_dependencies`.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-store-headers=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "remote_store_headers", + "default": "{'user-agent': 'pants/'}", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-store-headers=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_REMOTE_STORE_HEADERS", + "fromfile": false, + "help": "Headers to set on remote store requests.\n\nFormat: header=value. Pants may add additional headers.\n\nSee `[GLOBAL].remote_execution_headers` as well.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-store-headers" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--remote-store-headers" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "user-agent": "pants/2.19.0rc5" + } + } + ] + } }, { - "alias": "command", - "default": null, - "description": "Shell command to execute.\n\nThe command is executed as `'bash -c '` by default. If you want to invoke a binary use `exec -a $0 ` as the command so that the binary gets the correct `argv[0]` set.", - "provider": "", - "required": true, - "type_hint": "str" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-store-chunk-bytes=", + "config_key": "remote_store_chunk_bytes", + "default": 1048576, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-store-chunk-bytes=" + ], + "env_var": "PANTS_REMOTE_STORE_CHUNK_BYTES", + "fromfile": false, + "help": "Size in bytes of chunks transferred to/from the remote file store.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-store-chunk-bytes" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-chunk-bytes" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 1048576 + } + ] + } }, { - "alias": "log_output", - "default": "False", - "description": "Set to true if you want the output logged to the console.", - "provider": "", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-store-rpc-retries=", + "config_key": "remote_store_rpc_retries", + "default": 2, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-store-rpc-retries=" + ], + "env_var": "PANTS_REMOTE_STORE_RPC_RETRIES", + "fromfile": false, + "help": "Number of times to retry any RPC to the remote store before giving up.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-store-rpc-retries" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-rpc-retries" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 2 + } + ] + } }, { - "alias": "output_files", - "default": "()", - "description": "Specify the output files to capture, relative to the value of `workdir`.\n\nFor directories, use `output_directories`. At least one of `output_files` and`output_directories` must be specified.\n\nRelative paths (including `..`) may be used, as long as the path does not ascend further than the build root.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-store-rpc-concurrency=", + "config_key": "remote_store_rpc_concurrency", + "default": 128, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-store-rpc-concurrency=" + ], + "env_var": "PANTS_REMOTE_STORE_RPC_CONCURRENCY", + "fromfile": false, + "help": "The number of concurrent requests allowed to the remote store service.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-store-rpc-concurrency" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-rpc-concurrency" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 128 + } + ] + } }, { - "alias": "output_directories", - "default": "()", - "description": "Specify full directories (including recursive descendants) of output to capture, relative to the value of `workdir`.\n\nFor individual files, use `output_files`. At least one of `output_files` and`output_directories` must be specified.\n\nRelative paths (including `..`) may be used, as long as the path does not ascend further than the build root.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-store-rpc-timeout-millis=", + "config_key": "remote_store_rpc_timeout_millis", + "default": 30000, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-store-rpc-timeout-millis=" + ], + "env_var": "PANTS_REMOTE_STORE_RPC_TIMEOUT_MILLIS", + "fromfile": false, + "help": "Timeout value for remote store RPCs (not including streaming requests) in milliseconds.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-store-rpc-timeout-millis" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-rpc-timeout-millis" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 30000 + } + ] + } }, { - "alias": "timeout", - "default": "30", - "description": "Command execution timeout (in seconds).", - "provider": "", - "required": false, - "type_hint": "int | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-store-batch-api-size-limit=", + "config_key": "remote_store_batch_api_size_limit", + "default": 4194304, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-store-batch-api-size-limit=" + ], + "env_var": "PANTS_REMOTE_STORE_BATCH_API_SIZE_LIMIT", + "fromfile": false, + "help": "The maximum total size of blobs allowed to be sent in a single batch API call to the remote store.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-store-batch-api-size-limit" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-store-batch-api-size-limit" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 4194304 + } + ] + } }, { - "alias": "tools", - "default": "()", - "description": "Specify required executable tools that might be used.\n\nOnly the tools explicitly provided will be available on the search PATH, and these tools must be found on the paths provided by `[shell-setup].executable_search_paths` (which defaults to the system PATH).", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": [ + "ignore", + "first_only", + "backoff" + ], + "comma_separated_choices": "ignore, first_only, backoff", + "comma_separated_display_args": "--remote-cache-warnings=", + "config_key": "remote_cache_warnings", + "default": "backoff", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-cache-warnings=" + ], + "env_var": "PANTS_REMOTE_CACHE_WARNINGS", + "fromfile": false, + "help": "How frequently to log remote cache failures at the `warn` log level.\n\nAll errors not logged at the `warn` level will instead be logged at the `debug` level.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-cache-warnings" + ], + "target_field_name": null, + "typ": "RemoteCacheWarningsBehavior", + "unscoped_cmd_line_args": [ + "--remote-cache-warnings" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "backoff" + } + ] + } }, { - "alias": "extra_env_vars", - "default": null, - "description": "Additional environment variables to provide to the process.\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.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-cache-rpc-concurrency=", + "config_key": "remote_cache_rpc_concurrency", + "default": 128, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-cache-rpc-concurrency=" + ], + "env_var": "PANTS_REMOTE_CACHE_RPC_CONCURRENCY", + "fromfile": false, + "help": "The number of concurrent requests allowed to the remote cache service.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-cache-rpc-concurrency" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-cache-rpc-concurrency" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 128 + } + ] + } }, { - "alias": "workdir", - "default": "'.'", - "description": "Sets the working directory for the process.\n\nValues are relative to the build root, except in the following cases:\n\n* `.` specifies the location of the `BUILD` file.\n* Values beginning with `./` are relative to the location of the `BUILD` file.\n* `/` or the empty string specifies the build root.\n* Values beginning with `/` are also relative to the build root.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-cache-rpc-timeout-millis=", + "config_key": "remote_cache_rpc_timeout_millis", + "default": 1500, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-cache-rpc-timeout-millis=" + ], + "env_var": "PANTS_REMOTE_CACHE_RPC_TIMEOUT_MILLIS", + "fromfile": false, + "help": "Timeout value for remote cache RPCs in milliseconds.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-cache-rpc-timeout-millis" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-cache-rpc-timeout-millis" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 1500 + } + ] + } }, { - "alias": "experimental_named_caches", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-execution-address=", + "config_key": "remote_execution_address", "default": null, - "description": "Named caches to construct for the execution. See https://www.pantsbuild.org/docs/reference-global#named_caches_dir.\n\nThe keys of the mapping are the directory name to be created in the named caches dir. The values are the name of the symlink (relative to the sandbox root) in the sandbox which points to the subdirectory in the named caches dir\n\nNOTE: The named caches MUST be handled with great care. Processes accessing the named caches can be run in parallel, and can be cancelled at any point in their execution (and potentially restarted). That means that _every_ operation modifying the contents of the cache MUST be concurrency and cancellation safe.", - "provider": "", - "required": false, - "type_hint": "Dict[str, str] | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-execution-address=" + ], + "env_var": "PANTS_REMOTE_EXECUTION_ADDRESS", + "fromfile": false, + "help": "The URI of a server used as a remote execution scheduler.\n\nFormat: `scheme://host:port`. The supported schemes are `grpc` and `grpcs`, i.e. gRPC with TLS enabled. If `grpc` is used, TLS will be disabled.\n\nYou must also set `[GLOBAL].remote_store_address`, which will often be the same value.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-execution-address" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-execution-address" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "root_output_directory", - "default": "'/'", - "description": "Adjusts the location of files output by this target, when consumed as a dependency.\n\nValues are relative to the build root, except in the following cases:\n\n * `.` specifies the location of the `BUILD` file.\n * Values beginning with `./` are relative to the location of the `BUILD` file.\n * `/` or the empty string specifies the build root.\n * Values beginning with `/` are also relative to the build root.", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-execution-headers=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "remote_execution_headers", + "default": "{'user-agent': 'pants/'}", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-execution-headers=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_REMOTE_EXECUTION_HEADERS", + "fromfile": false, + "help": "Headers to set on remote execution requests. Format: header=value. Pants may add additional headers.\n\nSee `[GLOBAL].remote_store_headers` as well.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-execution-headers" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--remote-execution-headers" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "user-agent": "pants/2.19.0rc5" + } + } + ] + } }, { - "alias": "environment", - "default": "'__local__'", - "description": "Specify which environment target to consume environment-sensitive options from.\n\nOnce environments are defined in `[environments-preview].names`, you can specify the environment for this target by its name. Any fields that are defined in that environment will override the values from options set by `pants.toml`, command line values, or environment variables.\n\nYou can specify multiple valid environments by using `parametrize`. If `__local__` is specified, Pants will fall back to the `local_environment` defined for the current platform, or no environment if no such environment exists.", - "provider": "", - "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.shell", - "summary": "Execute any external tool for its side effects." - }, - "shell_source": { - "alias": "shell_source", - "description": "A single Bourne-based shell script, e.g. a Bash script.", - "fields": [ + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-execution-overall-deadline-secs=", + "config_key": "remote_execution_overall_deadline_secs", + "default": 3600, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-execution-overall-deadline-secs=" + ], + "env_var": "PANTS_REMOTE_EXECUTION_OVERALL_DEADLINE_SECS", + "fromfile": false, + "help": "Overall timeout in seconds for each remote execution request from time of submission", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-execution-overall-deadline-secs" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-execution-overall-deadline-secs" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 3600 + } + ] + } + }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-execution-rpc-concurrency=", + "config_key": "remote_execution_rpc_concurrency", + "default": 128, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-execution-rpc-concurrency=" + ], + "env_var": "PANTS_REMOTE_EXECUTION_RPC_CONCURRENCY", + "fromfile": false, + "help": "The number of concurrent requests allowed to the remote execution service.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-execution-rpc-concurrency" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--remote-execution-rpc-concurrency" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 128 + } + ] + } }, { - "alias": "description", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-execution-append-only-caches-base-path=", + "config_key": "remote_execution_append_only_caches_base_path", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-execution-append-only-caches-base-path=" + ], + "env_var": "PANTS_REMOTE_EXECUTION_APPEND_ONLY_CACHES_BASE_PATH", + "fromfile": false, + "help": "Sets the base path to use when setting up an append-only cache for a process running remotely. If this option is not set, then append-only caches will not be used with remote execution. The option should be set to the absolute path of a writable directory in the remote execution environment where Pants can create append-only caches for use with remotely executing processes.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-execution-append-only-caches-base-path" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--remote-execution-append-only-caches-base-path" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]watch-filesystem", + "config_key": "watch_filesystem", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]watch-filesystem" + ], + "env_var": "PANTS_WATCH_FILESYSTEM", + "fromfile": false, + "help": "Set to False if Pants should not watch the filesystem for changes. `pantsd` or `loop` may not be enabled.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--watch-filesystem", + "--no-watch-filesystem" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--watch-filesystem", + "--no-watch-filesystem" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "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" + "choices": [ + "ignore", + "warn", + "error" + ], + "comma_separated_choices": "ignore, warn, error", + "comma_separated_display_args": "--unmatched-build-file-globs=", + "config_key": "unmatched_build_file_globs", + "default": "warn", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--unmatched-build-file-globs=" + ], + "env_var": "PANTS_UNMATCHED_BUILD_FILE_GLOBS", + "fromfile": false, + "help": "What to do when files and globs specified in BUILD files, such as in the `sources` field, cannot be found.\n\nThis usually happens when the files do not exist on your machine. It can also happen if they are ignored by the `[GLOBAL].pants_ignore` option, which causes the files to be invisible to Pants.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--unmatched-build-file-globs" + ], + "target_field_name": null, + "typ": "GlobMatchErrorBehavior", + "unscoped_cmd_line_args": [ + "--unmatched-build-file-globs" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "warn" + } + ] + } }, { - "alias": "skip_shfmt", - "default": "False", - "description": "If true, don't run shfmt on this target's code.", - "provider": "pants.backend.shell.lint.shfmt", - "required": false, - "type_hint": "bool" + "choices": [ + "ignore", + "warn", + "error" + ], + "comma_separated_choices": "ignore, warn, error", + "comma_separated_display_args": "--unmatched-cli-globs=", + "config_key": "unmatched_cli_globs", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--unmatched-cli-globs=" + ], + "env_var": "PANTS_UNMATCHED_CLI_GLOBS", + "fromfile": false, + "help": "What to do when command line arguments, e.g. files and globs like `dir::`, cannot be found.\n\nThis usually happens when the files do not exist on your machine. It can also happen if they are ignored by the `[GLOBAL].pants_ignore` option, which causes the files to be invisible to Pants.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--unmatched-cli-globs" + ], + "target_field_name": null, + "typ": "GlobMatchErrorBehavior", + "unscoped_cmd_line_args": [ + "--unmatched-cli-globs" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "error" + } + ] + } }, { - "alias": "skip_shellcheck", - "default": "False", - "description": "If true, don't run Shellcheck on this target's code.", - "provider": "pants.backend.shell.lint.shellcheck", - "required": false, - "type_hint": "bool" - } - ], - "provider": "pants.backend.shell", - "summary": "A single Bourne-based shell script, e.g. a Bash script." - }, - "shell_sources": { - "alias": "shell_sources", - "description": "Generate a `shell_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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--build-patterns=\"['', '', ...]\"", + "config_key": "build_patterns", + "default": [ + "BUILD", + "BUILD.*" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--build-patterns=\"['', '', ...]\"" + ], + "env_var": "PANTS_BUILD_PATTERNS", + "fromfile": false, + "help": "The naming scheme for BUILD files, i.e. where you define targets.\n\nThis only sets the naming scheme, not the directory paths to look for. To add ignore patterns, use the option `[GLOBAL].build_ignore`.\n\nYou may also need to update the option `[tailor].build_file_name` so that it is compatible with this option.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--build-patterns" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--build-patterns" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "BUILD", + "BUILD.*" + ] + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--build-ignore=\"['', '', ...]\"", + "config_key": "build_ignore", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--build-ignore=\"['', '', ...]\"" + ], + "env_var": "PANTS_BUILD_IGNORE", + "fromfile": false, + "help": "Path globs or literals to ignore when identifying BUILD files.\n\nThis does not affect any other filesystem operations; use `--pants-ignore` for that instead.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--build-ignore" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--build-ignore" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "sources", - "default": "('*.sh', '!*_test.sh', '!test_*.sh', '!tests.sh')", - "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=['example.sh', 'new_*.sh', '!old_ignore.sh']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--build-file-prelude-globs=\"['', '', ...]\"", + "config_key": "build_file_prelude_globs", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--build-file-prelude-globs=\"['', '', ...]\"" + ], + "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/v2.19/docs/macros.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--build-file-prelude-globs" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--build-file-prelude-globs" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "overrides", - "default": null, - "description": "Override the field values for generated `shell_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.sh\": {\"skip_shellcheck\": True]},\n \"bar.sh\": {\"skip_shfmt\": True]},\n (\"foo.sh\", \"bar.sh\"): {\"tags\": [\"linter_disabled\"]},\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 `shell_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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--subproject-roots=\"['', '', ...]\"", + "config_key": "subproject_roots", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--subproject-roots=\"['', '', ...]\"" + ], + "env_var": "PANTS_SUBPROJECT_ROOTS", + "fromfile": false, + "help": "Paths that correspond with build roots for any subproject that this project depends on.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--subproject-roots" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--subproject-roots" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "skip_shfmt", - "default": "False", - "description": "If true, don't run shfmt on this target's code.", - "provider": "pants.backend.shell.lint.shfmt", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--loop-max=", + "config_key": "loop_max", + "default": 4294967296, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--loop-max=" + ], + "env_var": "PANTS_LOOP_MAX", + "fromfile": false, + "help": "The maximum number of times to loop when `--loop` is specified.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--loop-max" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--loop-max" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 4294967296 + } + ] + } }, { - "alias": "skip_shellcheck", - "default": "False", - "description": "If true, don't run Shellcheck on this target's code.", - "provider": "pants.backend.shell.lint.shellcheck", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--streaming-workunits-report-interval=", + "config_key": "streaming_workunits_report_interval", + "default": 1.0, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--streaming-workunits-report-interval=" + ], + "env_var": "PANTS_STREAMING_WORKUNITS_REPORT_INTERVAL", + "fromfile": false, + "help": "Interval in seconds between when streaming workunit event receivers will be polled.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--streaming-workunits-report-interval" + ], + "target_field_name": null, + "typ": "float", + "unscoped_cmd_line_args": [ + "--streaming-workunits-report-interval" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 1.0 + } + ] + } }, { - "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/v2.19/docs/targets 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.shell", - "summary": "Generate a `shell_source` target for each file in the `sources` field." - }, - "shunit2_test": { - "alias": "shunit2_test", - "description": "A single test file for Bourne-based shell scripts using the shunit2 test framework.\n\nTo use, add tests to your file per https://github.com/kward/shunit2/. Specify the shell to run with by either setting the field `shell` or including a shebang. To test the same file with multiple shells, create multiple `shunit2_tests` targets, one for each shell.\n\nPants will automatically download the `shunit2` bash script and add `source ./shunit2` to your test for you. If you already have `source ./shunit2`, Pants will overwrite it to use the correct relative path.", - "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" + "choices": [ + "trace", + "debug", + "info", + "warn", + "error" + ], + "comma_separated_choices": "trace, debug, info, warn, error", + "comma_separated_display_args": "--streaming-workunits-level=", + "config_key": "streaming_workunits_level", + "default": "debug", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--streaming-workunits-level=" + ], + "env_var": "PANTS_STREAMING_WORKUNITS_LEVEL", + "fromfile": false, + "help": "The level of workunits that will be reported to streaming workunit event receivers.\n\nWorkunits form a tree, and even when workunits are filtered out by this setting, the workunit tree structure will be preserved (by adjusting the parent pointers of the remaining workunits).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--streaming-workunits-level" + ], + "target_field_name": null, + "typ": "LogLevel", + "unscoped_cmd_line_args": [ + "--streaming-workunits-level" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "debug" + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]streaming-workunits-complete-async", + "config_key": "streaming_workunits_complete_async", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]streaming-workunits-complete-async" + ], + "env_var": "PANTS_STREAMING_WORKUNITS_COMPLETE_ASYNC", + "fromfile": false, + "help": "True if stats recording should be allowed to complete asynchronously when `pantsd` is enabled. When `pantsd` is disabled, stats recording is always synchronous. To reduce data loss, this flag defaults to false inside of containers, such as when run with Docker.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--streaming-workunits-complete-async", + "--no-streaming-workunits-complete-async" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--streaming-workunits-complete-async", + "--no-streaming-workunits-complete-async" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]docker-execution", + "config_key": "docker_execution", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]docker-execution" + ], + "env_var": "PANTS_DOCKER_EXECUTION", + "fromfile": false, + "help": "If true, `docker_environment` targets can be used to run builds inside a Docker container.\n\nIf false, anytime a `docker_environment` target is used, Pants will instead fallback to whatever the target's `fallback_environment` field is set to.\n\nThis can be useful, for example, if you want to always use Docker locally, but disable it in CI, or vice versa.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--docker-execution", + "--no-docker-execution" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--docker-execution", + "--no-docker-execution" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "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/v2.19/docs/targets 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" - }, + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--remote-execution-extra-platform-properties=\"['', '', ...]\"", + "config_key": "remote_execution_extra_platform_properties", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--remote-execution-extra-platform-properties=\"['', '', ...]\"" + ], + "env_var": "PANTS_REMOTE_EXECUTION_EXTRA_PLATFORM_PROPERTIES", + "fromfile": false, + "help": "Platform properties to set on remote execution requests.\n\nFormat: `property=value`. Multiple values should be specified as multiple occurrences of this flag.\n\nPants itself may add additional platform properties.\n\nIf you are using the `remote_environment` target mechanism, set this value as a field on the target instead. This option will be ignored.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-execution-extra-platform-properties" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--remote-execution-extra-platform-properties" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + } + ], + "basic": [ { - "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" + "choices": [ + "trace", + "debug", + "info", + "warn", + "error" + ], + "comma_separated_choices": "trace, debug, info, warn, error", + "comma_separated_display_args": "-l=, --level=", + "config_key": "level", + "default": "info", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "-l=", + "--level=" + ], + "env_var": "PANTS_LEVEL", + "fromfile": false, + "help": "Set the logging level.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "-l", + "--level" + ], + "target_field_name": null, + "typ": "LogLevel", + "unscoped_cmd_line_args": [ + "-l", + "--level" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "info" + } + ] + } }, { - "alias": "skip_tests", - "default": "False", - "description": "If true, don't run this target's tests.", - "provider": "", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--spec-files=\"['', '', ...]\"", + "config_key": "spec_files", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--spec-files=\"['', '', ...]\"" + ], + "env_var": "PANTS_SPEC_FILES", + "fromfile": false, + "help": "Read additional specs (target addresses, files, and/or globs), one per line, from these files.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--spec-files" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--spec-files" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "shell", - "default": null, - "description": "Which shell to run the tests with. If unspecified, Pants will look for a shebang line.", - "provider": "", - "required": false, - "type_hint": "'bash' | 'dash' | 'ksh' | 'pdksh' | 'sh' | 'zsh' | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]pantsd", + "config_key": "pantsd", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]pantsd" + ], + "env_var": "PANTS_PANTSD", + "fromfile": false, + "help": "Enables use of the Pants daemon (pantsd). pantsd can significantly improve runtime performance by lowering per-run startup cost, and by memoizing filesystem operations and rule execution.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pantsd", + "--no-pantsd" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--pantsd", + "--no-pantsd" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "alias": "runtime_package_dependencies", - "default": null, - "description": "Addresses to targets that can be built with the `pants package` goal and whose resulting artifacts should be included in the test run.\n\nPants will build the artifacts as if you had run `pants package`. It will include the results in your test's chroot, using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_aws_lambda_function`, or an `archive`.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]concurrent", + "config_key": "concurrent", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]concurrent" + ], + "env_var": "PANTS_CONCURRENT", + "fromfile": false, + "help": "Enable concurrent runs of Pants. With this enabled, Pants will start up all concurrent invocations (e.g. in other terminals) without pantsd. As a result, enabling this option will increase the per-run startup cost, but will not block subsequent invocations.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--concurrent", + "--no-concurrent" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--concurrent", + "--no-concurrent" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "alias": "skip_shfmt", - "default": "False", - "description": "If true, don't run shfmt on this target's code.", - "provider": "pants.backend.shell.lint.shfmt", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]local-cache", + "config_key": "local_cache", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]local-cache" + ], + "env_var": "PANTS_LOCAL_CACHE", + "fromfile": false, + "help": "Whether to cache process executions in a local cache persisted to disk at `--local-store-dir`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--local-cache", + "--no-local-cache" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--local-cache", + "--no-local-cache" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } }, { - "alias": "skip_shellcheck", - "default": "False", - "description": "If true, don't run Shellcheck on this target's code.", - "provider": "pants.backend.shell.lint.shellcheck", - "required": false, - "type_hint": "bool" - } - ], - "provider": "pants.backend.shell", - "summary": "A single test file for Bourne-based shell scripts using the shunit2 test framework." - }, - "shunit2_tests": { - "alias": "shunit2_tests", - "description": "Generate a `shunit2_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" + "choices": [ + "always", + "on_failure", + "never" + ], + "comma_separated_choices": "always, on_failure, never", + "comma_separated_display_args": "--keep-sandboxes=", + "config_key": "keep_sandboxes", + "default": "never", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--keep-sandboxes=" + ], + "env_var": "PANTS_KEEP_SANDBOXES", + "fromfile": false, + "help": "Controls whether Pants will clean up local directories used as chroots for running processes.\n\nPants will log their location so that you can inspect the chroot, and run the `__run.sh` script to recreate the process using the same argv and environment variables used by Pants. This option is useful for debugging.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--keep-sandboxes" + ], + "target_field_name": null, + "typ": "KeepSandboxes", + "unscoped_cmd_line_args": [ + "--keep-sandboxes" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "never" + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--session-end-tasks-timeout=", + "config_key": "session_end_tasks_timeout", + "default": 3.0, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--session-end-tasks-timeout=" + ], + "env_var": "PANTS_SESSION_END_TASKS_TIMEOUT", + "fromfile": false, + "help": "The time in seconds to wait for still-running \"session end\" tasks to complete before finishing completion of a Pants invocation. \"Session end\" tasks include, for example, writing data that was generated during the applicable Pants invocation to a configured remote cache.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--session-end-tasks-timeout" + ], + "target_field_name": null, + "typ": "float", + "unscoped_cmd_line_args": [ + "--session-end-tasks-timeout" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 3.0 + } + ] + } }, { - "alias": "sources", - "default": "('*_test.sh', 'test_*.sh', 'tests.sh')", - "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=['test.sh', 'test_*.sh', '!test_ignore.sh']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]remote-execution", + "config_key": "remote_execution", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]remote-execution" + ], + "env_var": "PANTS_REMOTE_EXECUTION", + "fromfile": false, + "help": "Enables remote workers for increased parallelism. (Alpha)\n\nAlternatively, you can use `[GLOBAL].remote_cache_read` and `[GLOBAL].remote_cache_write` to still run everything locally, but to use a remote cache.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-execution", + "--no-remote-execution" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--remote-execution", + "--no-remote-execution" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "alias": "overrides", - "default": null, - "description": "Override the field values for generated `shunit2_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.sh\": {\"timeout\": 120},\n \"bar_test.sh\": {\"timeout\": 200},\n (\"foo_test.sh\", \"bar_test.sh\"): {\"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 `shunit2_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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]remote-cache-read", + "config_key": "remote_cache_read", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]remote-cache-read" + ], + "env_var": "PANTS_REMOTE_CACHE_READ", + "fromfile": false, + "help": "Whether to enable reading from a remote cache.\n\nThis cannot be used at the same time as `[GLOBAL].remote_execution`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-cache-read", + "--no-remote-cache-read" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--remote-cache-read", + "--no-remote-cache-read" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "alias": "skip_shfmt", - "default": "False", - "description": "If true, don't run shfmt on this target's code.", - "provider": "pants.backend.shell.lint.shfmt", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]remote-cache-write", + "config_key": "remote_cache_write", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]remote-cache-write" + ], + "env_var": "PANTS_REMOTE_CACHE_WRITE", + "fromfile": false, + "help": "Whether to enable writing results to a remote cache.\n\nThis cannot be used at the same time as `[GLOBAL].remote_execution`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--remote-cache-write", + "--no-remote-cache-write" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--remote-cache-write", + "--no-remote-cache-write" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "alias": "skip_shellcheck", - "default": "False", - "description": "If true, don't run Shellcheck on this target's code.", - "provider": "pants.backend.shell.lint.shellcheck", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]colors", + "config_key": "colors", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]colors" + ], + "env_var": "PANTS_COLORS", + "fromfile": false, + "help": "Whether Pants should use colors in output or not. This may also impact whether some tools Pants runs use color.\n\nWhen unset, this value defaults based on whether the output destination supports color.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--colors", + "--no-colors" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--colors", + "--no-colors" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]dynamic-ui", + "config_key": "dynamic_ui", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]dynamic-ui" + ], + "env_var": "PANTS_DYNAMIC_UI", + "fromfile": false, + "help": "Display a dynamically-updating console UI as Pants runs. This is true by default if Pants detects a TTY and there is no 'CI' environment variable indicating that Pants is running in a continuous integration environment.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--dynamic-ui", + "--no-dynamic-ui" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--dynamic-ui", + "--no-dynamic-ui" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "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" + "choices": [ + "indicatif-spinner", + "experimental-prodash" + ], + "comma_separated_choices": "indicatif-spinner, experimental-prodash", + "comma_separated_display_args": "--dynamic-ui-renderer=", + "config_key": "dynamic_ui_renderer", + "default": "indicatif-spinner", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--dynamic-ui-renderer=" + ], + "env_var": "PANTS_DYNAMIC_UI_RENDERER", + "fromfile": false, + "help": "If `--dynamic-ui` is enabled, selects the renderer.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--dynamic-ui-renderer" + ], + "target_field_name": null, + "typ": "DynamicUIRenderer", + "unscoped_cmd_line_args": [ + "--dynamic-ui-renderer" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "indicatif-spinner" + } + ] + } }, { - "alias": "skip_tests", - "default": "False", - "description": "If true, don't run this target's tests.", - "provider": "", - "required": false, - "type_hint": "bool" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tag=\"[[+-]tag1,tag2,..., [+-]tag1,tag2,..., ...]\"", + "config_key": "tag", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--tag=\"[[+-]tag1,tag2,..., [+-]tag1,tag2,..., ...]\"" + ], + "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/v2.19/docs/advanced-target-selection.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tag" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--tag" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "shell", - "default": null, - "description": "Which shell to run the tests with. If unspecified, Pants will look for a shebang line.", - "provider": "", - "required": false, - "type_hint": "'bash' | 'dash' | 'ksh' | 'pdksh' | 'sh' | 'zsh' | None" - }, + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]loop", + "config_key": "loop", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]loop" + ], + "env_var": "PANTS_LOOP", + "fromfile": false, + "help": "Run goals continuously as file changes are detected.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--loop", + "--no-loop" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--loop", + "--no-loop" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + } + ], + "deprecated": [ { - "alias": "runtime_package_dependencies", - "default": null, - "description": "Addresses to targets that can be built with the `pants package` goal and whose resulting artifacts should be included in the test run.\n\nPants will build the artifacts as if you had run `pants package`. It will include the results in your test's chroot, using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`).\n\nYou can include anything that can be built by `pants package`, e.g. a `pex_binary`, `python_aws_lambda_function`, or an `archive`.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]process-cleanup", + "config_key": "process_cleanup", + "default": true, + "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--[no-]process-cleanup" + ], + "env_var": "PANTS_PROCESS_CLEANUP", + "fromfile": false, + "help": "If false, Pants will not clean up local directories used as chroots for running processes. Pants will log their location so that you can inspect the chroot, and run the `__run.sh` script to recreate the process using the same argv and environment variables used by Pants. This option is useful for debugging.", + "removal_hint": "Use the `keep_sandboxes` option instead.", + "removal_version": "3.0.0.dev0", + "scoped_cmd_line_args": [ + "--process-cleanup", + "--no-process-cleanup" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--process-cleanup", + "--no-process-cleanup" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } } ], - "provider": "pants.backend.shell", - "summary": "Generate a `shunit2_test` target for each file in the `sources` field." + "deprecated_scope": null, + "description": "Options to control the overall behavior of Pants.", + "is_goal": false, + "provider": "pants.core", + "scope": "" }, - "system_binary": { - "alias": "system_binary", - "description": "A system binary that can be run with `pants run` or consumed by `adhoc_tool`.\n\nPants will search for binaries with name `binary_name` in the search paths provided, as well as default search paths. If `fingerprint` is specified, each binary that is located will be executed with the arguments from `fingerprint_args`. Any binaries whose output does not match the pattern will be excluded.\n\nThe first non-excluded binary will be the one that is resolved.", - "fields": [ + "add-trailing-comma": { + "advanced": [ { - "alias": "tags", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--add-trailing-comma-install-from-resolve=", + "config_key": "install_from_resolve", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--add-trailing-comma-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--add-trailing-comma-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--add-trailing-comma-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--add-trailing-comma-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--add-trailing-comma-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "binary_name", - "default": null, - "description": "The name of the binary to find.", - "provider": "", - "required": true, - "type_hint": "str" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--add-trailing-comma-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--add-trailing-comma-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_ADD_TRAILING_COMMA_INTERPRETER_CONSTRAINTS", + "fromfile": false, + "help": "Python interpreter constraints for this tool.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--add-trailing-comma-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": [ + "CPython>=3.7,<4" + ] + } + ] + } }, { - "alias": "extra_search_paths", - "default": "()", - "description": "Extra search paths to look for the binary. These take priority over Pants' default search paths.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--add-trailing-comma-console-script=", + "config_key": "console_script", + "default": "add-trailing-comma", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--add-trailing-comma-console-script=" + ], + "env_var": "PANTS_ADD_TRAILING_COMMA_CONSOLE_SCRIPT", + "fromfile": false, + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--add-trailing-comma-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "add-trailing-comma" + } + ] + } }, { - "alias": "fingerprint", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--add-trailing-comma-entry-point=", + "config_key": "entry_point", "default": null, - "description": "A regular expression which will be used to match the fingerprint outputs from candidate binaries found during the search process.", - "provider": "", - "required": false, - "type_hint": "str | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--add-trailing-comma-entry-point=" + ], + "env_var": "PANTS_ADD_TRAILING_COMMA_ENTRY_POINT", + "fromfile": false, + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--add-trailing-comma-entry-point" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + } + ], + "basic": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]add-trailing-comma-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]add-trailing-comma-skip" + ], + "env_var": "PANTS_ADD_TRAILING_COMMA_SKIP", + "fromfile": false, + "help": "If true, don't use add-trailing-comma when running `pants fmt` and `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--add-trailing-comma-skip", + "--no-add-trailing-comma-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "alias": "fingerprint_args", - "default": "()", - "description": "Specifies arguments that will be used to run the binary during the search process.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--add-trailing-comma-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--add-trailing-comma-args=\"[, , ...]\"" + ], + "env_var": "PANTS_ADD_TRAILING_COMMA_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to add-trailing-comma, e.g. `--add-trailing-comma-args='--py36-plus'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--add-trailing-comma-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma).", + "is_goal": false, + "provider": "pants.backend.experimental.python.lint.add_trailing_comma", + "scope": "add-trailing-comma" + }, + "anonymous-telemetry": { + "advanced": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]anonymous-telemetry-enabled", + "config_key": "enabled", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]anonymous-telemetry-enabled" + ], + "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/v2.19/docs/anonymous-telemetry for details.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--anonymous-telemetry-enabled", + "--no-anonymous-telemetry-enabled" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--enabled", + "--no-enabled" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "alias": "fingerprint_dependencies", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--anonymous-telemetry-repo-id=", + "config_key": "repo_id", "default": null, - "description": "Specifies any runnable dependencies that need to be available on the `PATH` when the binary is run, so that the search process may complete successfully. The name of the target must be the name of the runnable dependency that is called by this binary.", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--anonymous-telemetry-repo-id=" + ], + "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/v2.19/docs/anonymous-telemetry for details.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--anonymous-telemetry-repo-id" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--repo-id" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } } ], - "provider": "pants.backend.experimental.adhoc", - "summary": "A system binary that can be run with `pants run` or consumed by `adhoc_tool`." + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Options related to sending anonymous stats to the Pants project, to aid development.", + "is_goal": false, + "provider": "pants.core", + "scope": "anonymous-telemetry" }, - "target": { - "alias": "target", - "description": "A generic target with no specific type.\n\nThis can be used as a generic \"bag of dependencies\", i.e. you can group several different targets into one single target so that your other targets only need to depend on one thing.", - "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" - }, + "apache-thrift": { + "advanced": [], + "basic": [ { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--apache-thrift-expected-version=", + "config_key": "expected_version", + "default": "0.15", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--apache-thrift-expected-version=" + ], + "env_var": "PANTS_APACHE_THRIFT_EXPECTED_VERSION", + "fromfile": false, + "help": "The major/minor version of Apache Thrift that you are using, such as `0.15`.\n\nPants will only use Thrift binaries from `--thrift-search-paths` that have the expected version, and it will error if none are found.\n\nDo not include the patch version.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--apache-thrift-expected-version" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--expected-version" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "0.15" + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--apache-thrift-thrift-search-paths=\"['', '', ...]\"", + "config_key": "thrift_search_paths", + "default": [ + "" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--apache-thrift-thrift-search-paths=\"['', '', ...]\"" + ], + "env_var": "PANTS_APACHE_THRIFT_THRIFT_SEARCH_PATHS", + "fromfile": false, + "help": "A list of paths to search for Thrift.\n\nSpecify absolute paths to directories with the `thrift` binary, e.g. `/usr/bin`. Earlier entries will be searched first.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--apache-thrift-thrift-search-paths" + ], + "target_field_name": "apache_thrift_thrift_search_paths", + "typ": "list", + "unscoped_cmd_line_args": [ + "--thrift-search-paths" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "" + ] + } + ] + } } ], - "provider": "pants.core", - "summary": "A generic target with no specific type." + "deprecated": [], + "deprecated_scope": null, + "description": "Apache Thrift IDL compiler (https://thrift.apache.org/).", + "is_goal": false, + "provider": "pants.backend.codegen.thrift.apache.python", + "scope": "apache-thrift" }, - "terraform_deployment": { - "alias": "terraform_deployment", - "description": "A deployment of Terraform", - "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" - }, + "autoflake": { + "advanced": [ { - "alias": "description", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--autoflake-install-from-resolve=", + "config_key": "install_from_resolve", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--autoflake-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--autoflake-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--autoflake-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--autoflake-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--autoflake-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "alias": "root_module", - "default": null, - "description": "The Terraform module to use as the root module.\n\nExample: `root_module=\":my_module\"`", - "provider": "", - "required": true, - "type_hint": "str" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--autoflake-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--autoflake-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_AUTOFLAKE_INTERPRETER_CONSTRAINTS", + "fromfile": false, + "help": "Python interpreter constraints for this tool.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--autoflake-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": [ + "CPython>=3.7,<4" + ] + } + ] + } }, { - "alias": "backend_config", - "default": null, - "description": "Configuration to be merged with what is in the configuration file's 'backend' block", - "provider": "", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--autoflake-console-script=", + "config_key": "console_script", + "default": "autoflake", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--autoflake-console-script=" + ], + "env_var": "PANTS_AUTOFLAKE_CONSOLE_SCRIPT", + "fromfile": false, + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--autoflake-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "autoflake" + } + ] + } }, { - "alias": "var_files", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--autoflake-entry-point=", + "config_key": "entry_point", "default": null, - "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: `var_files=['common.tfvars', 'prod.tfvars']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--autoflake-entry-point=" + ], + "env_var": "PANTS_AUTOFLAKE_ENTRY_POINT", + "fromfile": false, + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--autoflake-entry-point" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } } ], - "provider": "pants.backend.experimental.terraform", - "summary": "A deployment of Terraform" - }, - "terraform_module": { - "alias": "terraform_module", - "description": "A single Terraform module corresponding to a directory.\n\nThere must only be one `terraform_module` in a directory.\n\nUse `terraform_modules` to generate `terraform_module` targets for less boilerplate.", - "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" - }, + "basic": [ { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]autoflake-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]autoflake-skip" + ], + "env_var": "PANTS_AUTOFLAKE_SKIP", + "fromfile": false, + "help": "If true, don't use Autoflake when running `pants fmt` and `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--autoflake-skip", + "--no-autoflake-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "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/v2.19/docs/targets 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" - }, + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--autoflake-args=\"[, , ...]\"", + "config_key": "args", + "default": [ + "--remove-all-unused-imports" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--autoflake-args=\"[, , ...]\"" + ], + "env_var": "PANTS_AUTOFLAKE_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to Autoflake, e.g. `--autoflake-args='--remove-all-unused-imports --target-version=py37 --quiet'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--autoflake-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "--remove-all-unused-imports" + ] + } + ] + } + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Autoflake Python code formatter (https://github.com/myint/autoflake).", + "is_goal": false, + "provider": "pants.backend.python.lint.autoflake", + "scope": "autoflake" + }, + "avro": { + "advanced": [ { - "alias": "sources", - "default": "('*.tf',)", - "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=['example.tf', 'new_*.tf', '!old_ignore.tf']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]avro-tailor", + "config_key": "tailor", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]avro-tailor" + ], + "env_var": "PANTS_AVRO_TAILOR", + "fromfile": false, + "help": "If true, add `avro_sources` targets with the `tailor` goal.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--avro-tailor", + "--no-avro-tailor" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } } ], - "provider": "pants.backend.experimental.terraform", - "summary": "A single Terraform module corresponding to a directory." + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "General Avro codegen settings.", + "is_goal": false, + "provider": "pants.backend.experimental.codegen.avro.java", + "scope": "avro" }, - "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/v2.19/docs/thrift-python", - "fields": [ + "bandit": { + "advanced": [ { - "alias": "tags", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--bandit-install-from-resolve=", + "config_key": "install_from_resolve", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--bandit-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--bandit-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--bandit-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--bandit-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--bandit-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--bandit-console-script=", + "config_key": "console_script", + "default": "bandit", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--bandit-console-script=" + ], + "env_var": "PANTS_BANDIT_CONSOLE_SCRIPT", + "fromfile": false, + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--bandit-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "bandit" + } + ] + } }, { - "alias": "source", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--bandit-entry-point=", + "config_key": "entry_point", "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" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--bandit-entry-point=" + ], + "env_var": "PANTS_BANDIT_ENTRY_POINT", + "fromfile": false, + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--bandit-entry-point" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, { - "alias": "python_resolve", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--bandit-config=", + "config_key": "config", "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", - "provider": "pants.backend.codegen.thrift.apache.python", - "required": false, - "type_hint": "str | None" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--bandit-config=" + ], + "env_var": "PANTS_BANDIT_CONFIG", + "fromfile": false, + "help": "Path to a Bandit YAML config file (https://bandit.readthedocs.io/en/latest/config.html).", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--bandit-config" + ], + "target_field_name": null, + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } } ], - "provider": "pants.backend.codegen.thrift.apache.python", - "summary": "A single Thrift file used to generate various languages." - }, - "thrift_sources": { - "alias": "thrift_sources", - "description": "Generate a `thrift_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": "('*.thrift',)", - "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=['example.thrift', 'new_*.thrift', '!old_ignore.thrift']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" - }, - { - "alias": "overrides", - "default": null, - "description": "Override the field values for generated `thrift_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 \"bar.thrift\": {\"description\": \"our user model\"]},\n (\"foo.thrift\", \"bar.thrift\"): {\"tags\": [\"overridden\"]},\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 `thrift_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" - }, + "basic": [ { - "alias": "python_resolve", - "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", - "provider": "pants.backend.codegen.thrift.apache.python", - "required": false, - "type_hint": "str | None" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]bandit-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]bandit-skip" + ], + "env_var": "PANTS_BANDIT_SKIP", + "fromfile": false, + "help": "If true, don't use Bandit when running `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--bandit-skip", + "--no-bandit-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } }, { - "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/v2.19/docs/targets 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" + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--bandit-args=\"[, , ...]\"", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--bandit-args=\"[, , ...]\"" + ], + "env_var": "PANTS_BANDIT_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to Bandit, e.g. `--bandit-args='--skip B101,B308 --confidence'`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--bandit-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } } ], - "provider": "pants.backend.codegen.thrift.apache.python", - "summary": "Generate a `thrift_source` target for each file in the `sources` field." + "deprecated": [], + "deprecated_scope": null, + "description": "A tool for finding security issues in Python code (https://bandit.readthedocs.io).", + "is_goal": false, + "provider": "pants.backend.python.lint.bandit", + "scope": "bandit" }, - "vcs_version": { - "alias": "vcs_version", - "description": "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/v2.19/docs/getting-help.", - "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": "tag_regex", - "default": "'^(?:[\\\\w-]+-)?(?P[vV]?\\\\d+(?:\\\\.\\\\d+){0,2}[^\\\\+]*)(?:\\\\+.*)?$'", - "description": "A Python regex string to extract the version string from a VCS tag.\n\nThe regex needs to contain either a single match group, or a group named version, that captures the actual version information.\n\nNote that this is unrelated to the tags field and Pants's own tags concept.\n\nSee https://github.com/pypa/setuptools_scm for implementation details.", - "provider": "", - "required": false, - "type_hint": "str | None" - }, - { - "alias": "generate_to", - "default": null, - "description": "Generate the version data to this relative path, using the template field.\n\nNote that the generated output will not be written to disk in the source tree, but will be available as a generated dependency to code that depends on this target.", - "provider": "", - "required": true, - "type_hint": "str" - }, + "black": { + "advanced": [ { - "alias": "template", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--black-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, - "description": "Generate the version data using this format string, which takes a version format kwarg.\n\nE.g., `'version = \"{version}\"'`", - "provider": "", - "required": true, - "type_hint": "str" + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--black-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--black-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } }, - { - "alias": "python_resolve", - "default": null, - "description": "The resolve from `[python].resolves` to use.\n\nIf not defined, will default to `[python].default_resolve`.\n\nAll dependencies must share the same value for their `resolve` field.", - "provider": "pants.backend.experimental.python", - "required": false, - "type_hint": "str | None" - } - ], - "provider": "pants.backend.experimental.python", - "summary": "Generates a version string from VCS state." - } - }, - "scope_to_help_info": { - "": { - "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--backend-packages=\"['', '', ...]\"", - "config_key": "backend_packages", + "comma_separated_display_args": "--black-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--backend-packages=\"['', '', ...]\""], - "env_var": "PANTS_BACKEND_PACKAGES", + "display_args": [ + "--black-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_BLACK_REQUIREMENTS", "fromfile": false, - "help": "Register functionality from these backends.\n\nThe backend packages must be present on the PYTHONPATH, typically because they are in the Pants core dist, in a plugin dist, or available as sources in the repo.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--backend-packages"], + "scoped_cmd_line_args": [ + "--black-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--backend-packages"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -72127,71 +99736,6 @@ "details": "", "rank": "HARDCODED", "value": [] - }, - { - "details": "from env var PANTS_BACKEND_PACKAGES", - "rank": "ENVIRONMENT", - "value": [] - }, - { - "details": "from command-line flag", - "rank": "FLAG", - "value": [ - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.black", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.build_files.fmt.yapf", - "pants.backend.awslambda.python", - "pants.backend.codegen.protobuf.lint.buf", - "pants.backend.codegen.protobuf.python", - "pants.backend.codegen.thrift.apache.python", - "pants.backend.docker", - "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.adhoc", - "pants.backend.experimental.codegen.protobuf.go", - "pants.backend.experimental.codegen.protobuf.java", - "pants.backend.experimental.codegen.protobuf.scala", - "pants.backend.experimental.go", - "pants.backend.experimental.helm", - "pants.backend.experimental.java", - "pants.backend.experimental.java.lint.google_java_format", - "pants.backend.experimental.kotlin", - "pants.backend.experimental.kotlin.lint.ktlint", - "pants.backend.experimental.openapi", - "pants.backend.experimental.openapi.lint.openapi_format", - "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python", - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.experimental.python.lint.add_trailing_comma", - "pants.backend.experimental.python.lint.ruff", - "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.python.typecheck.pytype", - "pants.backend.experimental.scala", - "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.workunit_logger", - "pants.backend.experimental.tools.yamllint", - "pants.backend.google_cloud_function.python", - "pants.backend.plugin_development", - "pants.backend.python", - "pants.backend.python.lint.autoflake", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.docformatter", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.isort", - "pants.backend.python.lint.pydocstyle", - "pants.backend.python.lint.pylint", - "pants.backend.python.lint.pyupgrade", - "pants.backend.python.lint.yapf", - "pants.backend.python.mixed_interpreter_constraints", - "pants.backend.python.typecheck.mypy", - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - "pants.backend.shell.lint.shfmt", - "pants.backend.tools.preamble" - ] } ] } @@ -72199,21 +99743,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--plugins=\"['', '', ...]\"", - "config_key": "plugins", - "default": [], + "comma_separated_display_args": "--black-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--plugins=\"['', '', ...]\""], - "env_var": "PANTS_PLUGINS", + "display_args": [ + "--black-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_BLACK_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Allow backends to be loaded from these plugins (usually released through PyPI). The default backends for each plugin will be loaded automatically. Other backends in a plugin can be loaded by listing them in `backend_packages` in the `[GLOBAL]` scope.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--plugins"], + "scoped_cmd_line_args": [ + "--black-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--plugins"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -72224,7 +99776,9 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -72232,26 +99786,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]plugins-force-resolve", - "config_key": "plugins_force_resolve", - "default": false, + "comma_separated_display_args": "--black-console-script=", + "config_key": "console_script", + "default": "black", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]plugins-force-resolve"], - "env_var": "PANTS_PLUGINS_FORCE_RESOLVE", + "display_args": [ + "--black-console-script=" + ], + "env_var": "PANTS_BLACK_CONSOLE_SCRIPT", "fromfile": false, - "help": "Re-resolve plugins, even if previously resolved.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--plugins-force-resolve", - "--no-plugins-force-resolve" + "--black-console-script" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--plugins-force-resolve", - "--no-plugins-force-resolve" + "--console-script" ], "value_history": { "ranked_values": [ @@ -72263,7 +99817,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "black" } ] } @@ -72271,23 +99825,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]show-log-target", - "config_key": "show_log_target", - "default": false, + "comma_separated_display_args": "--black-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]show-log-target"], - "env_var": "PANTS_SHOW_LOG_TARGET", + "display_args": [ + "--black-entry-point=" + ], + "env_var": "PANTS_BLACK_ENTRY_POINT", "fromfile": false, - "help": "Display the target where a log message originates in that log message's output. This can be helpful when paired with `--log-levels-by-target`.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--show-log-target", "--no-show-log-target"], + "scoped_cmd_line_args": [ + "--black-entry-point" + ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--show-log-target", - "--no-show-log-target" + "--entry-point" ], "value_history": { "ranked_values": [ @@ -72295,11 +99852,40 @@ "details": null, "rank": "NONE", "value": null - }, + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--black-config=", + "config_key": "config", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--black-config=" + ], + "env_var": "PANTS_BLACK_CONFIG", + "fromfile": false, + "help": "Path to a TOML config file understood by Black (https://github.com/psf/black#configuration-format).\n\nSetting this option will disable `[black].config_discovery`. Use this option if the config is located in a non-standard location.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--black-config" + ], + "target_field_name": null, + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], + "value_history": { + "ranked_values": [ { "details": null, - "rank": "HARDCODED", - "value": false + "rank": "NONE", + "value": null } ] } @@ -72307,61 +99893,71 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--log-levels-by-target=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "log_levels_by_target", - "default": {}, + "comma_separated_display_args": "--[no-]black-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--log-levels-by-target=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]black-config-discovery" ], - "env_var": "PANTS_LOG_LEVELS_BY_TARGET", + "env_var": "PANTS_BLACK_CONFIG_DISCOVERY", "fromfile": false, - "help": "Set a more specific logging level for one or more logging targets. The names of logging targets are specified in log strings when the --show-log-target option is set. The logging levels are one of: \"error\", \"warn\", \"info\", \"debug\", \"trace\". All logging targets not specified here use the global log level set with `--level`. For example, you can set `--log-levels-by-target='{\"workunit_store\": \"info\", \"pants.engine.rules\": \"warn\"}'`.", + "help": "If true, Pants will include any relevant pyproject.toml config files during runs.\n\nUse `[black].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--log-levels-by-target"], + "scoped_cmd_line_args": [ + "--black-config-discovery", + "--no-black-config-discovery" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--log-levels-by-target"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]log-show-rust-3rdparty", - "config_key": "log_show_rust_3rdparty", + "comma_separated_display_args": "--[no-]black-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]log-show-rust-3rdparty"], - "env_var": "PANTS_LOG_SHOW_RUST_3RDPARTY", + "display_args": [ + "--[no-]black-skip" + ], + "env_var": "PANTS_BLACK_SKIP", "fromfile": false, - "help": "Whether to show/hide logging done by 3rdparty Rust crates used by the Pants engine.", + "help": "If true, don't use Black when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--log-show-rust-3rdparty", - "--no-log-show-rust-3rdparty" + "--black-skip", + "--no-black-skip" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--log-show-rust-3rdparty", - "--no-log-show-rust-3rdparty" + "--skip", + "--no-skip" ], "value_history": { "ranked_values": [ @@ -72381,21 +99977,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ignore-warnings=\"['', '', ...]\"", - "config_key": "ignore_warnings", + "comma_separated_display_args": "--black-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ignore-warnings=\"['', '', ...]\""], - "env_var": "PANTS_IGNORE_WARNINGS", + "display_args": [ + "--black-args=\"[, , ...]\"" + ], + "env_var": "PANTS_BLACK_ARGS", "fromfile": false, - "help": "Ignore logs and warnings matching these strings.\n\nNormally, Pants will look for literal matches from the start of the log/warning message, but you can prefix the ignore with `$regex$` for Pants to instead treat your string as a regex pattern. For example:\n\n ignore_warnings = [\n \"DEPRECATED: option 'config' in scope 'flake8' will be removed\",\n '$regex$:No files\\s*'\n ]", + "help": "Arguments to pass directly to Black, e.g. `--black-args='--target-version=py37 --quiet'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ignore-warnings"], + "scoped_cmd_line_args": [ + "--black-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--ignore-warnings"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -72410,25 +100012,41 @@ } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Black Python code formatter (https://black.readthedocs.io/).", + "is_goal": false, + "provider": "pants.core", + "scope": "black" + }, + "buf": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-version=", - "config_key": "pants_version", - "default": "", + "comma_separated_display_args": "--buf-version=", + "config_key": "version", + "default": "v1.3.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-version="], - "env_var": "PANTS_VERSION", + "display_args": [ + "--buf-version=" + ], + "env_var": "PANTS_BUF_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/v2.19/docs/installation, 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 version of Buf.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-version"], + "scoped_cmd_line_args": [ + "--buf-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--pants-version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -72439,12 +100057,7 @@ { "details": null, "rank": "HARDCODED", - "value": "2.19.0rc1" - }, - { - "details": "from env var PANTS_VERSION", - "rank": "ENVIRONMENT", - "value": "2.19.0rc1" + "value": "v1.3.0" } ] } @@ -72452,37 +100065,48 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-bin-name=", - "config_key": "pants_bin_name", - "default": "pants", + "comma_separated_display_args": "--buf-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v1.3.0|linux_arm64 |fbfd53c501451b36900247734bfa4cbe86ae05d0f51bc298de8711d5ee374ee5|13940828", + "v1.3.0|linux_x86_64|e29c4283b1cd68ada41fa493171c41d7605750d258fcd6ecdf692a63fae95213|15267162", + "v1.3.0|macos_arm64 |147985d7f2816a545792e38b26178ff4027bf16cd3712f6e387a4e3692a16deb|15391890", + "v1.3.0|macos_x86_64|3b6bd2e5a5dd758178aee01fb067261baf5d31bfebe93336915bfdf7b21928c4|15955291" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-bin-name="], - "env_var": "PANTS_BIN_NAME", + "display_args": [ + "--buf-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_BUF_KNOWN_VERSIONS", "fromfile": false, - "help": "The name of the script or binary used to invoke Pants. Useful when printing help messages.", + "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": ["--pants-bin-name"], + "scoped_cmd_line_args": [ + "--buf-known-versions" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--pants-bin-name"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "pants" - }, - { - "details": "from env var PANTS_BIN_NAME", - "rank": "ENVIRONMENT", - "value": "/home/josh/work/scie-pants/dist/pants" + "value": [ + "v1.3.0|linux_arm64 |fbfd53c501451b36900247734bfa4cbe86ae05d0f51bc298de8711d5ee374ee5|13940828", + "v1.3.0|linux_x86_64|e29c4283b1cd68ada41fa493171c41d7605750d258fcd6ecdf692a63fae95213|15267162", + "v1.3.0|macos_arm64 |147985d7f2816a545792e38b26178ff4027bf16cd3712f6e387a4e3692a16deb|15391890", + "v1.3.0|macos_x86_64|3b6bd2e5a5dd758178aee01fb067261baf5d31bfebe93336915bfdf7b21928c4|15955291" + ] } ] } @@ -72490,21 +100114,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-workdir=", - "config_key": "pants_workdir", - "default": "/tmp/tmp.TG08L3iBWC/.pants.d/workdir", + "comma_separated_display_args": "--buf-url-template=", + "config_key": "url_template", + "default": "https://github.com/bufbuild/buf/releases/download/{version}/buf-{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-workdir="], - "env_var": "PANTS_WORKDIR", + "display_args": [ + "--buf-url-template=" + ], + "env_var": "PANTS_BUF_URL_TEMPLATE", "fromfile": false, - "help": "Write intermediate logs and output files to this dir.", + "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/v2.19/docs/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": ["--pants-workdir"], + "scoped_cmd_line_args": [ + "--buf-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--pants-workdir"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -72515,7 +100145,7 @@ { "details": null, "rank": "HARDCODED", - "value": "/tmp/tmp.TG08L3iBWC/.pants.d/workdir" + "value": "https://github.com/bufbuild/buf/releases/download/{version}/buf-{platform}.tar.gz" } ] } @@ -72523,49 +100153,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-physical-workdir-base=", - "config_key": "pants_physical_workdir_base", - "default": null, + "comma_separated_display_args": "--buf-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "Linux-aarch64", + "linux_x86_64": "Linux-x86_64", + "macos_arm64": "Darwin-arm64", + "macos_x86_64": "Darwin-x86_64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-physical-workdir-base="], - "env_var": "PANTS_PHYSICAL_WORKDIR_BASE", + "display_args": [ + "--buf-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_BUF_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "When set, a base directory in which to store `--pants-workdir` contents. If this option is a set, the workdir will be created as symlink into a per-workspace subdirectory.", + "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": ["--pants-physical-workdir-base"], + "scoped_cmd_line_args": [ + "--buf-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--pants-physical-workdir-base"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "linux_arm64": "Linux-aarch64", + "linux_x86_64": "Linux-x86_64", + "macos_arm64": "Darwin-arm64", + "macos_x86_64": "Darwin-x86_64" + } } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pants-distdir=", - "config_key": "pants_distdir", - "default": "/tmp/tmp.TG08L3iBWC/dist", + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--buf-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-distdir="], - "env_var": "PANTS_DISTDIR", + "display_args": [ + "--buf-use-unsupported-version=" + ], + "env_var": "PANTS_BUF_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Write end products, such as the results of `pants package`, to this dir.", + "help": "\nWhat action to take in case the requested version of Buf is not supported.\n\nSupported Buf versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-distdir"], + "scoped_cmd_line_args": [ + "--buf-use-unsupported-version" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--pants-distdir"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -72576,7 +100236,7 @@ { "details": null, "rank": "HARDCODED", - "value": "/tmp/tmp.TG08L3iBWC/dist" + "value": "error" } ] } @@ -72584,21 +100244,63 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-subprocessdir=", - "config_key": "pants_subprocessdir", - "default": "/tmp/tmp.TG08L3iBWC/.pants.d/pids", + "comma_separated_display_args": "--buf-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-subprocessdir="], - "env_var": "PANTS_SUBPROCESSDIR", + "display_args": [ + "--buf-config=" + ], + "env_var": "PANTS_BUF_CONFIG", "fromfile": false, - "help": "The directory to use for tracking subprocess metadata. This should live outside of the dir used by `pants_workdir` to allow for tracking subprocesses that outlive the workdir data.", + "help": "Path to a config file understood by Buf (https://docs.buf.build/configuration/overview).\n\nSetting this option will disable `[buf].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-subprocessdir"], + "scoped_cmd_line_args": [ + "--buf-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--pants-subprocessdir"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]buf-config-discovery", + "config_key": "config_discovery", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]buf-config-discovery" + ], + "env_var": "PANTS_BUF_CONFIG_DISCOVERY", + "fromfile": false, + "help": "If true, Pants will include any relevant root config files during runs (`buf.yaml`). If the json format is preferred, the path to the `buf.json` file should be provided in the config option.\n\nUse `[buf].config` instead if your config is in a non-standard location.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--buf-config-discovery", + "--no-buf-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -72609,40 +100311,50 @@ { "details": null, "rank": "HARDCODED", - "value": "/tmp/tmp.TG08L3iBWC/.pants.d/pids" + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-config-files=\"['', '', ...]\"", - "config_key": "pants_config_files", - "default": ["/tmp/tmp.TG08L3iBWC/pants.toml"], + "comma_separated_display_args": "--[no-]buf-format-skip", + "config_key": "format_skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-config-files=\"['', '', ...]\""], - "env_var": "PANTS_CONFIG_FILES", + "display_args": [ + "--[no-]buf-format-skip" + ], + "env_var": "PANTS_BUF_FORMAT_SKIP", "fromfile": false, - "help": "Paths to Pants config files. This may only be set through the environment variable `PANTS_CONFIG_FILES` and the command line argument `--pants-config-files`; it will be ignored if in a config file like `pants.toml`.", + "help": "If true, don't use Buf when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pants-config-files"], + "scoped_cmd_line_args": [ + "--buf-format-skip", + "--no-buf-format-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--pants-config-files"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--format-skip", + "--no-format-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["/tmp/tmp.TG08L3iBWC/pants.toml"] + "value": false } ] } @@ -72650,21 +100362,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pantsrc", - "config_key": "pantsrc", - "default": true, + "comma_separated_display_args": "--[no-]buf-lint-skip", + "config_key": "lint_skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pantsrc"], - "env_var": "PANTS_PANTSRC", + "display_args": [ + "--[no-]buf-lint-skip" + ], + "env_var": "PANTS_BUF_LINT_SKIP", "fromfile": false, - "help": "Use pantsrc files located at the paths specified in the global option `pantsrc_files`.", + "help": "If true, don't use Buf when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsrc", "--no-pantsrc"], + "scoped_cmd_line_args": [ + "--buf-lint-skip", + "--no-buf-lint-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--pantsrc", "--no-pantsrc"], + "unscoped_cmd_line_args": [ + "--lint-skip", + "--no-lint-skip" + ], "value_history": { "ranked_values": [ { @@ -72675,7 +100395,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } @@ -72683,21 +100403,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pantsrc-files=\"[, , ...]\"", - "config_key": "pantsrc_files", - "default": ["/etc/pantsrc", "~/.pants.rc", ".pants.rc"], + "comma_separated_display_args": "--buf-format-args=\"[, , ...]\"", + "config_key": "format_args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pantsrc-files=\"[, , ...]\""], - "env_var": "PANTS_PANTSRC_FILES", + "display_args": [ + "--buf-format-args=\"[, , ...]\"" + ], + "env_var": "PANTS_BUF_FORMAT_ARGS", "fromfile": false, - "help": "Override config with values from these files, using syntax matching that of `--pants-config-files`.", + "help": "Arguments to pass directly to Buf, e.g. `--buf-args='--error-format json'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsrc-files"], + "scoped_cmd_line_args": [ + "--buf-format-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--pantsrc-files"], + "unscoped_cmd_line_args": [ + "--format-args" + ], "value_history": { "ranked_values": [ { @@ -72708,7 +100434,7 @@ { "details": "", "rank": "HARDCODED", - "value": ["/etc/pantsrc", "~/.pants.rc", ".pants.rc"] + "value": [] } ] } @@ -72716,21 +100442,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pythonpath=\"['', '', ...]\"", - "config_key": "pythonpath", + "comma_separated_display_args": "--buf-lint-args=\"[, , ...]\"", + "config_key": "lint_args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pythonpath=\"['', '', ...]\""], - "env_var": "PANTS_PYTHONPATH", + "display_args": [ + "--buf-lint-args=\"[, , ...]\"" + ], + "env_var": "PANTS_BUF_LINT_ARGS", "fromfile": false, - "help": "Add these directories to PYTHONPATH to search for plugins. This does not impact the PYTHONPATH used by Pants when running your Python code.", + "help": "Arguments to pass directly to Buf, e.g. `--buf-args='--error-format json'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pythonpath"], + "scoped_cmd_line_args": [ + "--buf-lint-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--pythonpath"], + "unscoped_cmd_line_args": [ + "--lint-args" + ], "value_history": { "ranked_values": [ { @@ -72745,25 +100477,44 @@ } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "A linter and formatter for Protocol Buffers (https://github.com/bufbuild/buf).", + "is_goal": false, + "provider": "pants.backend.codegen.protobuf.lint.buf", + "scope": "buf" + }, + "build-deprecations-fixer": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]verify-config", - "config_key": "verify_config", - "default": true, + "comma_separated_display_args": "--[no-]build-deprecations-fixer-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]verify-config"], - "env_var": "PANTS_VERIFY_CONFIG", + "display_args": [ + "--[no-]build-deprecations-fixer-skip" + ], + "env_var": "PANTS_BUILD_DEPRECATIONS_FIXER_SKIP", "fromfile": false, - "help": "Verify that all config file values correspond to known options.", + "help": "If true, don't use BUILD Deprecations Fixer when running `pants fix`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--verify-config", "--no-verify-config"], + "scoped_cmd_line_args": [ + "--build-deprecations-fixer-skip", + "--no-build-deprecations-fixer-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--verify-config", "--no-verify-config"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -72774,42 +100525,56 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "A tool/plugin for fixing BUILD file deprecations (where possible).\n\nThis includes deprecations for:\n\n - Renamed targets\n - Renamed fields", + "is_goal": false, + "provider": "pants.backend.build_files.fix.deprecations", + "scope": "build-deprecations-fixer" + }, + "buildifier": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--stats-record-option-scopes=\"['', '', ...]\"", - "config_key": "stats_record_option_scopes", - "default": ["*"], + "comma_separated_display_args": "--buildifier-version=", + "config_key": "version", + "default": "5.1.0", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--stats-record-option-scopes=\"['', '', ...]\"" + "--buildifier-version=" ], - "env_var": "PANTS_STATS_RECORD_OPTION_SCOPES", + "env_var": "PANTS_BUILDIFIER_VERSION", "fromfile": false, - "help": "Option scopes to record in stats on run completion. Options may be selected by joining the scope and the option with a ^ character, i.e. to get option `pantsd` in the GLOBAL scope, you'd pass `GLOBAL^pantsd`. Add a '*' to the list to capture all known scopes.", + "help": "Use this version of Buildifier.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--stats-record-option-scopes"], + "scoped_cmd_line_args": [ + "--buildifier-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--stats-record-option-scopes"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["*"] + "value": "5.1.0" } ] } @@ -72817,21 +100582,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pants-ignore=\"['', '', ...]\"", - "config_key": "pants_ignore", - "default": [".*/", "/dist/", "__pycache__", "!.semgrep/"], + "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" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pants-ignore=\"['', '', ...]\""], - "env_var": "PANTS_IGNORE", + "display_args": [ + "--buildifier-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_BUILDIFIER_KNOWN_VERSIONS", "fromfile": false, - "help": "Paths to ignore for all filesystem operations performed by pants (e.g. BUILD file scanning, glob matching, etc).\n\nPatterns use the gitignore syntax (https://git-scm.com/docs/gitignore). The `pants_distdir` and `pants_workdir` locations are automatically ignored.\n\n`pants_ignore` can be used in tandem with `pants_ignore_use_gitignore`; any rules specified here are applied after rules specified in a .gitignore file.", + "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": ["--pants-ignore"], + "scoped_cmd_line_args": [ + "--buildifier-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--pants-ignore"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -72842,7 +100618,12 @@ { "details": "", "rank": "HARDCODED", - "value": [".*/", "/dist/", "__pycache__", "!.semgrep/"] + "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" + ] } ] } @@ -72850,26 +100631,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pants-ignore-use-gitignore", - "config_key": "pants_ignore_use_gitignore", - "default": true, + "comma_separated_display_args": "--buildifier-url-template=", + "config_key": "url_template", + "default": "https://github.com/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pants-ignore-use-gitignore"], - "env_var": "PANTS_IGNORE_USE_GITIGNORE", + "display_args": [ + "--buildifier-url-template=" + ], + "env_var": "PANTS_BUILDIFIER_URL_TEMPLATE", "fromfile": false, - "help": "Include patterns from `.gitignore`, `.git/info/exclude`, and the global gitignore files in the option `[GLOBAL].pants_ignore`, which is used for Pants to ignore filesystem operations on those patterns.\n\nPatterns from `[GLOBAL].pants_ignore` take precedence over these files' rules. For example, you can use `!my_pattern` in `pants_ignore` to have Pants operate on files that are gitignored.\n\nWarning: this does not yet support reading nested gitignore files.", + "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/v2.19/docs/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": [ - "--pants-ignore-use-gitignore", - "--no-pants-ignore-use-gitignore" + "--buildifier-url-template" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--pants-ignore-use-gitignore", - "--no-pants-ignore-use-gitignore" + "--url-template" ], "value_history": { "ranked_values": [ @@ -72881,7 +100662,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "https://github.com/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}" } ] } @@ -72889,54 +100670,78 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--logdir=", - "config_key": "logdir", - "default": null, + "comma_separated_display_args": "--buildifier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--logdir="], - "env_var": "PANTS_LOGDIR", + "display_args": [ + "--buildifier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_BUILDIFIER_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Write logs to files under this directory.", + "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": ["--logdir"], + "scoped_cmd_line_args": [ + "--buildifier-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--logdir"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + } } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pantsd-timeout-when-multiple-invocations=", - "config_key": "pantsd_timeout_when_multiple_invocations", - "default": 60.0, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--buildifier-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pantsd-timeout-when-multiple-invocations=" + "--buildifier-use-unsupported-version=" ], - "env_var": "PANTS_PANTSD_TIMEOUT_WHEN_MULTIPLE_INVOCATIONS", + "env_var": "PANTS_BUILDIFIER_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "The maximum amount of time to wait for the invocation to start until raising a timeout exception. Because pantsd currently does not support parallel runs, any prior running Pants command must be finished for the current one to start. To never timeout, use the value -1.", + "help": "\nWhat action to take in case the requested version of Buildifier is not supported.\n\nSupported Buildifier versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pantsd-timeout-when-multiple-invocations" + "--buildifier-use-unsupported-version" ], "target_field_name": null, - "typ": "float", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--pantsd-timeout-when-multiple-invocations" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -72948,29 +100753,39 @@ { "details": null, "rank": "HARDCODED", - "value": 60.0 + "value": "error" } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pantsd-max-memory-usage=", - "config_key": "pantsd_max_memory_usage", - "default": "4GiB", + "comma_separated_display_args": "--[no-]buildifier-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pantsd-max-memory-usage="], - "env_var": "PANTS_PANTSD_MAX_MEMORY_USAGE", + "display_args": [ + "--[no-]buildifier-skip" + ], + "env_var": "PANTS_BUILDIFIER_SKIP", "fromfile": false, - "help": "The maximum memory usage of the pantsd process.\n\nWhen the maximum memory is exceeded, the daemon will restart gracefully, although all previous in-memory caching will be lost. Setting too low means that you may miss out on some caching, whereas setting too high may over-consume resources and may result in the operating system killing Pantsd due to memory overconsumption (e.g. via the OOM killer).\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.\n\nThere is at most one pantsd process per workspace.", + "help": "If true, don't use Buildifier when running `pants fmt`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsd-max-memory-usage"], + "scoped_cmd_line_args": [ + "--buildifier-skip", + "--no-buildifier-skip" + ], "target_field_name": null, - "typ": "memory_size", - "unscoped_cmd_line_args": ["--pantsd-max-memory-usage"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -72981,7 +100796,7 @@ { "details": null, "rank": "HARDCODED", - "value": 4294967296 + "value": false } ] } @@ -72989,66 +100804,88 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]print-stacktrace", - "config_key": "print_stacktrace", - "default": false, + "comma_separated_display_args": "--buildifier-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]print-stacktrace"], - "env_var": "PANTS_PRINT_STACKTRACE", + "display_args": [ + "--buildifier-args=\"[, , ...]\"" + ], + "env_var": "PANTS_BUILDIFIER_ARGS", "fromfile": false, - "help": "Print the full exception stack trace for any errors.", + "help": "Arguments to pass directly to Buildifier, e.g. `--buildifier-args='-lint=fix'`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--print-stacktrace", - "--no-print-stacktrace" + "--buildifier-args" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--print-stacktrace", - "--no-print-stacktrace" + "--args" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Buildifier is a tool for formatting BUILD files with a standard convention.\n\nPants supports running Buildifier on your Pants BUILD files for several reasons:\n - You might like the style that buildifier uses.\n - You might be incrementally adopting Pants from Bazel, and are already using buildifier.\n\nPlease note that there are differences from Bazel's BUILD files (which are Starlark) and Pants' BUILD files (which are Python), so buildifier may issue a syntax error. In practice, these errors should be rare. See https://bazel.build/rules/language#differences_with_python.", + "is_goal": false, + "provider": "pants.backend.build_files.fmt.buildifier", + "scope": "buildifier" + }, + "cc": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--engine-visualize-to=", - "config_key": "engine_visualize_to", - "default": null, + "comma_separated_display_args": "--cc-include-directories=\"['', '', ...]\"", + "config_key": "include_directories", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--engine-visualize-to="], - "env_var": "PANTS_ENGINE_VISUALIZE_TO", + "display_args": [ + "--cc-include-directories=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_INCLUDE_DIRECTORIES", "fromfile": false, - "help": "A directory to write execution and rule graphs to as `dot` files. The contents of the directory will be overwritten if any filenames collide.", + "help": "A list of include directories passed to the compiler. Will be prefixed by -I at the command line. These flags are merged with the target-level includes, with the target-level includes taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--engine-visualize-to"], + "scoped_cmd_line_args": [ + "--cc-include-directories" + ], "target_field_name": null, - "typ": "dir_option", - "unscoped_cmd_line_args": ["--engine-visualize-to"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--include-directories" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } @@ -73056,32 +100893,42 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pantsd-pailgun-port=", - "config_key": "pantsd_pailgun_port", - "default": 0, + "comma_separated_display_args": "--cc-c-compiler-flags=\"['', '', ...]\"", + "config_key": "c_compiler_flags", + "default": [ + "-std=c11" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pantsd-pailgun-port="], - "env_var": "PANTS_PANTSD_PAILGUN_PORT", + "display_args": [ + "--cc-c-compiler-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_C_COMPILER_FLAGS", "fromfile": false, - "help": "The port to bind the Pants nailgun server to. Defaults to a random port.", + "help": "Flags passed to the C compiler. These flags are merged with the target-level defines, with the target-level flags taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsd-pailgun-port"], + "scoped_cmd_line_args": [ + "--cc-c-compiler-flags" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--pantsd-pailgun-port"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--c-compiler-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 0 + "value": [ + "-std=c11" + ] } ] } @@ -73089,23 +100936,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pantsd-invalidation-globs=\"['', '', ...]\"", - "config_key": "pantsd_invalidation_globs", + "comma_separated_display_args": "--cc-c-definitions=\"['', '', ...]\"", + "config_key": "c_definitions", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pantsd-invalidation-globs=\"['', '', ...]\"" + "--cc-c-definitions=\"['', '', ...]\"" ], - "env_var": "PANTS_PANTSD_INVALIDATION_GLOBS", + "env_var": "PANTS_CC_C_DEFINITIONS", "fromfile": false, - "help": "Filesystem events matching any of these globs will trigger a daemon restart. Pants's own code, plugins, and `--pants-config-files` are inherently invalidated.", + "help": "A list of strings to define in the C preprocessor. Will be prefixed by -D at the command line. These defines are merged with the target-level defines, with the target-level definitions taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pantsd-invalidation-globs"], + "scoped_cmd_line_args": [ + "--cc-c-definitions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--pantsd-invalidation-globs"], + "unscoped_cmd_line_args": [ + "--c-definitions" + ], "value_history": { "ranked_values": [ { @@ -73124,32 +100975,42 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--rule-threads-core=", - "config_key": "rule_threads_core", - "default": "max(2, #cores/2)", + "comma_separated_display_args": "--cc-cxx-compiler-flags=\"['', '', ...]\"", + "config_key": "cxx_compiler_flags", + "default": [ + "-std=c++11" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--rule-threads-core="], - "env_var": "PANTS_RULE_THREADS_CORE", + "display_args": [ + "--cc-cxx-compiler-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_CXX_COMPILER_FLAGS", "fromfile": false, - "help": "The number of threads to keep active and ready to execute `@rule` logic (see also: `--rule-threads-max`).\n\nValues less than 2 are not currently supported.\n\nThis value is independent of the number of processes that may be spawned in parallel locally (controlled by `--process-execution-local-parallelism`).", + "help": "Flags passed to the C++ compiler. These flags are merged with the target-level defines, with the target-level flags taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--rule-threads-core"], + "scoped_cmd_line_args": [ + "--cc-cxx-compiler-flags" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--rule-threads-core"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-compiler-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 32 + "value": [ + "-std=c++11" + ] } ] } @@ -73157,27 +101018,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--rule-threads-max=", - "config_key": "rule_threads_max", - "default": null, + "comma_separated_display_args": "--cc-cxx-definitions=\"['', '', ...]\"", + "config_key": "cxx_definitions", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--rule-threads-max="], - "env_var": "PANTS_RULE_THREADS_MAX", + "display_args": [ + "--cc-cxx-definitions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_CXX_DEFINITIONS", "fromfile": false, - "help": "The maximum number of threads to use to execute `@rule` logic. Defaults to a small multiple of `--rule-threads-core`.", + "help": "A list of strings to define in the C++ preprocessor. Will be prefixed by -D at the command line. These defines are merged with the target-level defines, with the target-level definitions taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--rule-threads-max"], + "scoped_cmd_line_args": [ + "--cc-cxx-definitions" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--rule-threads-max"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-definitions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } @@ -73185,32 +101057,44 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-dir=", - "config_key": "local_store_dir", - "default": "/home/josh/.cache/pants/lmdb_store", + "comma_separated_display_args": "--cc-c-executable=\"['', '', ...]\"", + "config_key": "c_executable", + "default": [ + "clang", + "gcc" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-dir="], - "env_var": "PANTS_LOCAL_STORE_DIR", + "display_args": [ + "--cc-c-executable=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_C_EXECUTABLE", "fromfile": false, - "help": "Directory to use for the local file store, which stores the results of subprocesses run by Pants.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "help": "A list of binary names for the C compiler (in the `search_paths`). The list is searched in order until a compiler is found.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-store-dir"], + "scoped_cmd_line_args": [ + "--cc-c-executable" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--local-store-dir"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--c-executable" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "/home/josh/.cache/pants/lmdb_store" + "value": [ + "clang", + "gcc" + ] } ] } @@ -73218,32 +101102,44 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-shard-count=", - "config_key": "local_store_shard_count", - "default": 16, + "comma_separated_display_args": "--cc-cxx-executable=\"['', '', ...]\"", + "config_key": "cxx_executable", + "default": [ + "clang++", + "g++" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-shard-count="], - "env_var": "PANTS_LOCAL_STORE_SHARD_COUNT", + "display_args": [ + "--cc-cxx-executable=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_CXX_EXECUTABLE", "fromfile": false, - "help": "The number of LMDB shards created for the local store. This setting also impacts the maximum size of stored files: see `--local-store-files-max-size-bytes` for more information.\n\nBecause LMDB allows only one simultaneous writer per database, the store is split into multiple shards to allow for more concurrent writers. The faster your disks are, the fewer shards you are likely to need for performance.\n\nNB: After changing this value, you will likely want to manually clear the `--local-store-dir` directory to clear the space used by old shard layouts.", + "help": "A list of binary names for the C compiler (in the `search_paths`). The list is searched in order until a compiler is found.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-store-shard-count"], + "scoped_cmd_line_args": [ + "--cc-cxx-executable" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--local-store-shard-count"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-executable" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 16 + "value": [ + "clang++", + "g++" + ] } ] } @@ -73251,54 +101147,80 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-processes-max-size-bytes=", - "config_key": "local_store_processes_max_size_bytes", - "default": 16000000000, + "comma_separated_display_args": "--cc-search-paths=\"['', '', ...]\"", + "config_key": "search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-processes-max-size-bytes="], - "env_var": "PANTS_LOCAL_STORE_PROCESSES_MAX_SIZE_BYTES", + "display_args": [ + "--cc-search-paths=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_SEARCH_PATHS", "fromfile": false, - "help": "The maximum size in bytes of the local store containing process cache entries. Stored below `--local-store-dir`.", + "help": "A list of paths to search for CC toolchain binaries.\n\nSpecify absolute paths to directories, 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", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-store-processes-max-size-bytes"], + "scoped_cmd_line_args": [ + "--cc-search-paths" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--local-store-processes-max-size-bytes"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--search-paths" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 16000000000 + "value": [ + "" + ] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for a system-discovered `cc` toolchain.", + "is_goal": false, + "provider": "pants.backend.experimental.cc", + "scope": "cc" + }, + "cc-external": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-files-max-size-bytes=", - "config_key": "local_store_files_max_size_bytes", - "default": 256000000000, + "comma_separated_display_args": "--cc-external-version=", + "config_key": "version", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-files-max-size-bytes="], - "env_var": "PANTS_LOCAL_STORE_FILES_MAX_SIZE_BYTES", + "display_args": [ + "--cc-external-version=" + ], + "env_var": "PANTS_CC_EXTERNAL_VERSION", "fromfile": false, - "help": "The maximum size in bytes of the local store containing files. Stored below `--local-store-dir`.\n\nNB: This size value bounds the total size of all files, but (due to sharding of the store on disk) it also bounds the per-file size to (VALUE / `--local-store-shard-count`).\n\nThis value doesn't reflect space allocated on disk, or RAM allocated (it may be reflected in VIRT but not RSS). However, the default is lower than you might otherwise choose because macOS creates core dumps that include MMAP'd pages, and setting this too high might cause core dumps to use an unreasonable amount of disk if they are enabled.", + "help": "Use this version of cc-external.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-store-files-max-size-bytes"], + "scoped_cmd_line_args": [ + "--cc-external-version" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--local-store-files-max-size-bytes"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -73309,7 +101231,7 @@ { "details": null, "rank": "HARDCODED", - "value": 256000000000 + "value": "" } ] } @@ -73317,34 +101239,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-store-directories-max-size-bytes=", - "config_key": "local_store_directories_max_size_bytes", - "default": 16000000000, + "comma_separated_display_args": "--cc-external-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-store-directories-max-size-bytes="], - "env_var": "PANTS_LOCAL_STORE_DIRECTORIES_MAX_SIZE_BYTES", + "display_args": [ + "--cc-external-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_KNOWN_VERSIONS", "fromfile": false, - "help": "The maximum size in bytes of the local store containing directories. Stored below `--local-store-dir`.", + "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": ["--local-store-directories-max-size-bytes"], + "scoped_cmd_line_args": [ + "--cc-external-known-versions" + ], "target_field_name": null, - "typ": "int", + "typ": "list", "unscoped_cmd_line_args": [ - "--local-store-directories-max-size-bytes" + "--known-versions" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 16000000000 + "value": [] } ] } @@ -73352,21 +101278,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--named-caches-dir=", - "config_key": "named_caches_dir", - "default": "/home/josh/.cache/pants/named_caches", + "comma_separated_display_args": "--cc-external-url-template=", + "config_key": "url_template", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--named-caches-dir="], - "env_var": "PANTS_NAMED_CACHES_DIR", + "display_args": [ + "--cc-external-url-template=" + ], + "env_var": "PANTS_CC_EXTERNAL_URL_TEMPLATE", "fromfile": false, - "help": "Directory to use for named global caches for tools and processes with trusted, concurrency-safe caches.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "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/v2.19/docs/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": ["--named-caches-dir"], + "scoped_cmd_line_args": [ + "--cc-external-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--named-caches-dir"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -73377,7 +101309,7 @@ { "details": null, "rank": "HARDCODED", - "value": "/home/josh/.cache/pants/named_caches" + "value": "" } ] } @@ -73385,54 +101317,69 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--local-execution-root-dir=", - "config_key": "local_execution_root_dir", - "default": "", + "comma_separated_display_args": "--cc-external-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--local-execution-root-dir="], - "env_var": "PANTS_LOCAL_EXECUTION_ROOT_DIR", + "display_args": [ + "--cc-external-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_CC_EXTERNAL_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Directory to use for local process execution sandboxing.\n\nThe path may be absolute or relative. If the directory is within the build root, be sure to include it in `--pants-ignore`.", + "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": ["--local-execution-root-dir"], + "scoped_cmd_line_args": [ + "--cc-external-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--local-execution-root-dir"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "/tmp" + "value": {} } ] } }, { - "choices": ["fetch", "validate", "defer"], - "comma_separated_choices": "fetch, validate, defer", - "comma_separated_display_args": "--cache-content-behavior=", - "config_key": "cache_content_behavior", - "default": "fetch", + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--cc-external-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--cache-content-behavior="], - "env_var": "PANTS_CACHE_CONTENT_BEHAVIOR", + "display_args": [ + "--cc-external-use-unsupported-version=" + ], + "env_var": "PANTS_CC_EXTERNAL_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Controls how the content of cache entries is handled during process execution.\n\nWhen using a remote cache, the `fetch` behavior will fetch remote cache content from the remote store before considering the cache lookup a hit, while the `validate` behavior will only validate (for either a local or remote cache) that the content exists, without fetching it.\n\nThe `defer` behavior, on the other hand, will neither fetch nor validate the cache content before calling a cache hit a hit. This \"defers\" actually fetching the cache entry until Pants needs it (which may be never).\n\nThe `defer` mode is the most network efficient (because it will completely skip network requests in many cases), followed by the `validate` mode (since it can still skip fetching the content if no consumer ends up needing it). But both the `validate` and `defer` modes rely on an experimental feature called \"backtracking\" to attempt to recover if content later turns out to be missing (`validate` has a much narrower window for backtracking though, since content would need to disappear between validation and consumption: generally, within one `pantsd` session).", + "help": "\nWhat action to take in case the requested version of cc-external is not supported.\n\nSupported cc-external versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--cache-content-behavior"], + "scoped_cmd_line_args": [ + "--cc-external-use-unsupported-version" + ], "target_field_name": null, - "typ": "CacheContentBehavior", - "unscoped_cmd_line_args": ["--cache-content-behavior"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -73443,63 +101390,48 @@ { "details": null, "rank": "HARDCODED", - "value": "fetch" + "value": "error" } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ca-certs-path=", - "config_key": "ca_certs_path", - "default": null, + "comma_separated_display_args": "--cc-external-include-directories=\"['', '', ...]\"", + "config_key": "include_directories", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ca-certs-path="], - "env_var": "PANTS_CA_CERTS_PATH", + "display_args": [ + "--cc-external-include-directories=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_INCLUDE_DIRECTORIES", "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/v2.19/docs/options.", + "help": "A list of include directories passed to the compiler. Will be prefixed by -I at the command line. These flags are merged with the target-level includes, with the target-level includes taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ca-certs-path"], + "scoped_cmd_line_args": [ + "--cc-external-include-directories" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--ca-certs-path"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--include-directories" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--process-total-child-memory-usage=", - "config_key": "process_total_child_memory_usage", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--process-total-child-memory-usage="], - "env_var": "PANTS_PROCESS_TOTAL_CHILD_MEMORY_USAGE", - "fromfile": false, - "help": "The maximum memory usage for all \"pooled\" child processes.\n\nWhen set, this value participates in precomputing the pool size of child processes used by Pants (pooling is currently used only for the JVM). When not set, Pants will default to spawning `2 * --process-execution-local-parallelism` pooled processes.\n\nA high value would result in a high number of child processes spawned, potentially overconsuming your resources and triggering the OS' OOM killer. A low value would mean a low number of child processes launched and therefore less parallelism for the tasks that need those processes.\n\nIf setting this value, consider also adjusting the value of the `--process-per-child-memory-usage` option.\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--process-total-child-memory-usage"], - "target_field_name": null, - "typ": "memory_size", - "unscoped_cmd_line_args": ["--process-total-child-memory-usage"], - "value_history": { - "ranked_values": [ + "value": [] + }, { - "details": null, - "rank": "NONE", - "value": null + "details": "", + "rank": "HARDCODED", + "value": [] } ] } @@ -73507,32 +101439,42 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-per-child-memory-usage=", - "config_key": "process_per_child_memory_usage", - "default": "512MiB", + "comma_separated_display_args": "--cc-external-c-compiler-flags=\"['', '', ...]\"", + "config_key": "c_compiler_flags", + "default": [ + "-std=c11" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-per-child-memory-usage="], - "env_var": "PANTS_PROCESS_PER_CHILD_MEMORY_USAGE", + "display_args": [ + "--cc-external-c-compiler-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_C_COMPILER_FLAGS", "fromfile": false, - "help": "The default memory usage for a single \"pooled\" child process.\n\nCheck the documentation for the `--process-total-child-memory-usage` for advice on how to choose an appropriate value for this option.\n\nYou can suffix with `GiB`, `MiB`, `KiB`, or `B` to indicate the unit, e.g. `2GiB` or `2.12GiB`. A bare number will be in bytes.", + "help": "Flags passed to the C compiler. These flags are merged with the target-level defines, with the target-level flags taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-per-child-memory-usage"], + "scoped_cmd_line_args": [ + "--cc-external-c-compiler-flags" + ], "target_field_name": null, - "typ": "memory_size", - "unscoped_cmd_line_args": ["--process-per-child-memory-usage"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--c-compiler-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 536870912 + "value": [ + "-std=c11" + ] } ] } @@ -73540,32 +101482,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-execution-local-parallelism=", - "config_key": "process_execution_local_parallelism", - "default": "#cores", + "comma_separated_display_args": "--cc-external-c-definitions=\"['', '', ...]\"", + "config_key": "c_definitions", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-execution-local-parallelism="], - "env_var": "PANTS_PROCESS_EXECUTION_LOCAL_PARALLELISM", + "display_args": [ + "--cc-external-c-definitions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_C_DEFINITIONS", "fromfile": false, - "help": "Number of concurrent processes that may be executed locally.\n\nThis value is independent of the number of threads that may be used to execute the logic in `@rules` (controlled by `--rule-threads-core`).", + "help": "A list of strings to define in the C preprocessor. Will be prefixed by -D at the command line. These defines are merged with the target-level defines, with the target-level definitions taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-execution-local-parallelism"], + "scoped_cmd_line_args": [ + "--cc-external-c-definitions" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--process-execution-local-parallelism"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--c-definitions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 64 + "value": [] } ] } @@ -73573,32 +101521,42 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-execution-remote-parallelism=", - "config_key": "process_execution_remote_parallelism", - "default": 128, + "comma_separated_display_args": "--cc-external-cxx-compiler-flags=\"['', '', ...]\"", + "config_key": "cxx_compiler_flags", + "default": [ + "-std=c++11" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-execution-remote-parallelism="], - "env_var": "PANTS_PROCESS_EXECUTION_REMOTE_PARALLELISM", + "display_args": [ + "--cc-external-cxx-compiler-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_CXX_COMPILER_FLAGS", "fromfile": false, - "help": "Number of concurrent processes that may be executed remotely.", + "help": "Flags passed to the C++ compiler. These flags are merged with the target-level defines, with the target-level flags taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-execution-remote-parallelism"], + "scoped_cmd_line_args": [ + "--cc-external-cxx-compiler-flags" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--process-execution-remote-parallelism"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-compiler-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 128 + "value": [ + "-std=c++11" + ] } ] } @@ -73606,27 +101564,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-execution-cache-namespace=", - "config_key": "process_execution_cache_namespace", - "default": null, + "comma_separated_display_args": "--cc-external-cxx-definitions=\"['', '', ...]\"", + "config_key": "cxx_definitions", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--process-execution-cache-namespace="], - "env_var": "PANTS_PROCESS_EXECUTION_CACHE_NAMESPACE", + "display_args": [ + "--cc-external-cxx-definitions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CC_EXTERNAL_CXX_DEFINITIONS", "fromfile": false, - "help": "The cache namespace for process execution. Change this value to invalidate every artifact's execution, or to prevent process cache entries from being (re)used for different usecases or users.", + "help": "A list of strings to define in the C++ preprocessor. Will be prefixed by -D at the command line. These defines are merged with the target-level defines, with the target-level definitions taking precedence.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--process-execution-cache-namespace"], + "scoped_cmd_line_args": [ + "--cc-external-cxx-definitions" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--process-execution-cache-namespace"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--cxx-definitions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } @@ -73634,26 +101603,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]process-execution-local-enable-nailgun", - "config_key": "process_execution_local_enable_nailgun", - "default": true, + "comma_separated_display_args": "--cc-external-c-executable=", + "config_key": "c_executable", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]process-execution-local-enable-nailgun"], - "env_var": "PANTS_PROCESS_EXECUTION_LOCAL_ENABLE_NAILGUN", + "display_args": [ + "--cc-external-c-executable=" + ], + "env_var": "PANTS_CC_EXTERNAL_C_EXECUTABLE", "fromfile": false, - "help": "Whether or not to use nailgun to run JVM requests that are marked as supporting nailgun.", + "help": "The relative path to the C compiler binary from the downloaded source. E.g. For the ARM gcc-rm toolchain, this value would be: `gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-gcc`", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--process-execution-local-enable-nailgun", - "--no-process-execution-local-enable-nailgun" + "--cc-external-c-executable" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--process-execution-local-enable-nailgun", - "--no-process-execution-local-enable-nailgun" + "--c-executable" ], "value_history": { "ranked_values": [ @@ -73665,7 +101634,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "" } ] } @@ -73673,26 +101642,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--process-execution-graceful-shutdown-timeout=", - "config_key": "process_execution_graceful_shutdown_timeout", - "default": 3, + "comma_separated_display_args": "--cc-external-cxx-executable=", + "config_key": "cxx_executable", + "default": "", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--process-execution-graceful-shutdown-timeout=" + "--cc-external-cxx-executable=" ], - "env_var": "PANTS_PROCESS_EXECUTION_GRACEFUL_SHUTDOWN_TIMEOUT", + "env_var": "PANTS_CC_EXTERNAL_CXX_EXECUTABLE", "fromfile": false, - "help": "The time in seconds to wait when gracefully shutting down an interactive process (such as one opened using `pants run`) before killing it.", + "help": "The relative path to the C++ compiler binary from the downloaded source. E.g. For the ARM gcc-rm toolchain, this value would be: `gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-g++`", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--process-execution-graceful-shutdown-timeout" + "--cc-external-cxx-executable" ], "target_field_name": null, - "typ": "int", + "typ": "str", "unscoped_cmd_line_args": [ - "--process-execution-graceful-shutdown-timeout" + "--cxx-executable" ], "value_history": { "ranked_values": [ @@ -73704,35 +101673,59 @@ { "details": null, "rank": "HARDCODED", - "value": 3 + "value": "" } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for downloaded `cc` toolchain.", + "is_goal": false, + "provider": "pants.backend.experimental.cc", + "scope": "cc-external" + }, + "cc-infer": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-instance-name=", - "config_key": "remote_instance_name", - "default": null, + "comma_separated_display_args": "--[no-]cc-infer-includes", + "config_key": "includes", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-instance-name="], - "env_var": "PANTS_REMOTE_INSTANCE_NAME", + "display_args": [ + "--[no-]cc-infer-includes" + ], + "env_var": "PANTS_CC_INFER_INCLUDES", "fromfile": false, - "help": "Name of the remote instance to use by remote caching and remote execution.\n\nThis is used by some remote servers for routing. Consult your remote server for whether this should be set.\n\nYou can also use a Pants plugin which provides remote authentication to dynamically set this value.", + "help": "Infer a target's dependencies by parsing #include statements from sources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-instance-name"], + "scoped_cmd_line_args": [ + "--cc-infer-includes", + "--no-cc-infer-includes" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--remote-instance-name"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--includes", + "--no-includes" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } @@ -73740,49 +101733,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-ca-certs-path=", - "config_key": "remote_ca_certs_path", - "default": null, + "comma_separated_display_args": "--[no-]cc-infer-include-from-source-roots", + "config_key": "include_from_source_roots", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-ca-certs-path="], - "env_var": "PANTS_REMOTE_CA_CERTS_PATH", + "display_args": [ + "--[no-]cc-infer-include-from-source-roots" + ], + "env_var": "PANTS_CC_INFER_INCLUDE_FROM_SOURCE_ROOTS", "fromfile": false, - "help": "Path to a PEM file containing CA certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`.\n\nIf unspecified, Pants will attempt to auto-discover root CA certificates when TLS is enabled with remote execution and caching.", + "help": "Infer a target's dependencies by trying to include relative to source roots.\n\nAn example where this may be useful is if you have a a file at `root/include/mylib/foo.h` which may be referenced via `#include \"mylib/foo.h\"`. This option will allow you to correctly infer dependencies if you have a source root at `root/{include}` and searching for `mylib/foo.h` relative to the that source root.\n\nThe inferred files take part in compilation, and the source root is added to the compilation include search path (https://clang.llvm.org/docs/ClangCommandLineReference.html#include-path-management) with command line arguments prefixed by the '-I' flag.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-ca-certs-path"], + "scoped_cmd_line_args": [ + "--cc-infer-include-from-source-roots", + "--no-cc-infer-include-from-source-roots" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--remote-ca-certs-path"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--include-from-source-roots", + "--no-include-from-source-roots" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options controlling which dependencies will be inferred for CC targets.", + "is_goal": false, + "provider": "pants.backend.experimental.cc", + "scope": "cc-infer" + }, + "changed": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-client-certs-path=", - "config_key": "remote_client_certs_path", + "comma_separated_display_args": "--changed-since=", + "config_key": "since", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-client-certs-path="], - "env_var": "PANTS_REMOTE_CLIENT_CERTS_PATH", + "display_args": [ + "--changed-since=" + ], + "env_var": "PANTS_CHANGED_SINCE", "fromfile": false, - "help": "Path to a PEM file containing client certificates used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address` when using client authentication (mTLS).\n\nIf unspecified, will use regular TLS. Requires `remote_client_key_path` to also be specified.", + "help": "Calculate changes since this Git spec (commit range/SHA/ref).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-client-certs-path"], + "scoped_cmd_line_args": [ + "--changed-since" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--remote-client-certs-path"], + "unscoped_cmd_line_args": [ + "--since" + ], "value_history": { "ranked_values": [ { @@ -73796,21 +101819,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-client-key-path=", - "config_key": "remote_client_key_path", + "comma_separated_display_args": "--changed-diffspec=", + "config_key": "diffspec", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-client-key-path="], - "env_var": "PANTS_REMOTE_CLIENT_KEY_PATH", + "display_args": [ + "--changed-diffspec=" + ], + "env_var": "PANTS_CHANGED_DIFFSPEC", "fromfile": false, - "help": "Path to a PEM file containing a private key used for verifying secure connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address` when using client authentication (mTLS).\n\nIf unspecified, will use regular TLS. Requires `remote_client_certs_path` to also be specified.", + "help": "Calculate changes contained within a given Git spec (commit range/SHA/ref).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-client-key-path"], + "scoped_cmd_line_args": [ + "--changed-diffspec" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--remote-client-key-path"], + "unscoped_cmd_line_args": [ + "--diffspec" + ], "value_history": { "ranked_values": [ { @@ -73822,127 +101851,182 @@ } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--remote-oauth-bearer-token-path=", - "config_key": "remote_oauth_bearer_token_path", - "default": null, + "choices": [ + "none", + "direct", + "transitive" + ], + "comma_separated_choices": "none, direct, transitive", + "comma_separated_display_args": "--changed-dependents=", + "config_key": "dependents", + "default": "none", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-oauth-bearer-token-path="], - "env_var": "PANTS_REMOTE_OAUTH_BEARER_TOKEN_PATH", + "display_args": [ + "--changed-dependents=" + ], + "env_var": "PANTS_CHANGED_DEPENDENTS", "fromfile": false, - "help": "Path to a file containing 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.", + "help": "Include direct or transitive dependents of changed targets.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-oauth-bearer-token-path"], + "scoped_cmd_line_args": [ + "--changed-dependents" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--remote-oauth-bearer-token-path"], + "typ": "DependentsOption", + "unscoped_cmd_line_args": [ + "--dependents" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "none" } ] } - }, + } + ], + "deprecated": [ { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-address=", - "config_key": "remote_store_address", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--remote-store-address="], - "env_var": "PANTS_REMOTE_STORE_ADDRESS", + "choices": [ + "none", + "direct", + "transitive" + ], + "comma_separated_choices": "none, direct, transitive", + "comma_separated_display_args": "--changed-dependees=", + "config_key": "dependees", + "default": "none", + "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.23.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--changed-dependees=" + ], + "env_var": "PANTS_CHANGED_DEPENDEES", "fromfile": false, - "help": "The URI of a server used for the remote file store.\n\nFormat: `scheme://host:port`. The supported schemes are `grpc` and `grpcs`, i.e. gRPC with TLS enabled. If `grpc` is used, TLS will be disabled.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-address"], + "help": "Include direct or transitive dependents of changed targets.", + "removal_hint": "Use --dependents instead", + "removal_version": "2.23.0.dev0", + "scoped_cmd_line_args": [ + "--changed-dependees" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--remote-store-address"], + "typ": "DependentsOption", + "unscoped_cmd_line_args": [ + "--dependees" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "none" } ] } - }, + } + ], + "deprecated_scope": null, + "description": "Tell Pants to detect what files and targets have changed from Git.\n\nSee https://www.pantsbuild.org/v2.19/docs/advanced-target-selection.", + "is_goal": false, + "provider": "", + "scope": "changed" + }, + "check": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-headers=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "remote_store_headers", - "default": "{'user-agent': 'pants/'}", + "comma_separated_display_args": "--check-only=\"['', '', ...]\"", + "config_key": "only", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--remote-store-headers=\"{'key1': val1, 'key2': val2, ...}\"" + "--check-only=\"['', '', ...]\"" ], - "env_var": "PANTS_REMOTE_STORE_HEADERS", + "env_var": "PANTS_CHECK_ONLY", "fromfile": false, - "help": "Headers to set on remote store requests.\n\nFormat: header=value. Pants may add additional headers.\n\nSee `[GLOBAL].remote_execution_headers` as well.", + "help": "Only run these checkers and skip all others.\n\nThe checker names are outputted at the final summary of running this goal, e.g. `mypy` and `javac`. You can also run `check --only=fake` to get a list of all activated checkers.\n\nYou can repeat this option, e.g. `check --only=mypy --only=javac` or `check --only=['mypy', 'javac']`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-headers"], + "scoped_cmd_line_args": [ + "--check-only" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--remote-store-headers"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--only" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "user-agent": "pants/2.19.0rc1" - } + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Run type checking or the lightest variant of compilation available for a language.", + "is_goal": true, + "provider": "pants.core", + "scope": "check" + }, + "clang-format": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-chunk-bytes=", - "config_key": "remote_store_chunk_bytes", - "default": 1048576, + "comma_separated_display_args": "--clang-format-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-chunk-bytes="], - "env_var": "PANTS_REMOTE_STORE_CHUNK_BYTES", + "display_args": [ + "--clang-format-install-from-resolve=" + ], + "env_var": "PANTS_CLANG_FORMAT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Size in bytes of chunks transferred to/from the remote file store.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--remote-store-chunk-bytes"], + "scoped_cmd_line_args": [ + "--clang-format-install-from-resolve" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-chunk-bytes"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 1048576 } ] } @@ -73950,32 +102034,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-rpc-retries=", - "config_key": "remote_store_rpc_retries", - "default": 2, + "comma_separated_display_args": "--clang-format-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-rpc-retries="], - "env_var": "PANTS_REMOTE_STORE_RPC_RETRIES", + "display_args": [ + "--clang-format-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_CLANG_FORMAT_REQUIREMENTS", "fromfile": false, - "help": "Number of times to retry any RPC to the remote store before giving up.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-rpc-retries"], + "scoped_cmd_line_args": [ + "--clang-format-requirements" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-rpc-retries"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 2 + "value": [] } ] } @@ -73983,32 +102073,42 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-rpc-concurrency=", - "config_key": "remote_store_rpc_concurrency", - "default": 128, + "comma_separated_display_args": "--clang-format-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-rpc-concurrency="], - "env_var": "PANTS_REMOTE_STORE_RPC_CONCURRENCY", + "display_args": [ + "--clang-format-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_CLANG_FORMAT_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "The number of concurrent requests allowed to the remote store service.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-rpc-concurrency"], + "scoped_cmd_line_args": [ + "--clang-format-interpreter-constraints" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-rpc-concurrency"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 128 + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -74016,21 +102116,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-rpc-timeout-millis=", - "config_key": "remote_store_rpc_timeout_millis", - "default": 30000, + "comma_separated_display_args": "--clang-format-console-script=", + "config_key": "console_script", + "default": "clang-format", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-rpc-timeout-millis="], - "env_var": "PANTS_REMOTE_STORE_RPC_TIMEOUT_MILLIS", + "display_args": [ + "--clang-format-console-script=" + ], + "env_var": "PANTS_CLANG_FORMAT_CONSOLE_SCRIPT", "fromfile": false, - "help": "Timeout value for remote store RPCs (not including streaming requests) in milliseconds.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-rpc-timeout-millis"], + "scoped_cmd_line_args": [ + "--clang-format-console-script" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-rpc-timeout-millis"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -74041,7 +102147,7 @@ { "details": null, "rank": "HARDCODED", - "value": 30000 + "value": "clang-format" } ] } @@ -74049,56 +102155,65 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-store-batch-api-size-limit=", - "config_key": "remote_store_batch_api_size_limit", - "default": 4194304, + "comma_separated_display_args": "--clang-format-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-store-batch-api-size-limit="], - "env_var": "PANTS_REMOTE_STORE_BATCH_API_SIZE_LIMIT", + "display_args": [ + "--clang-format-entry-point=" + ], + "env_var": "PANTS_CLANG_FORMAT_ENTRY_POINT", "fromfile": false, - "help": "The maximum total size of blobs allowed to be sent in a single batch API call to the remote store.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-store-batch-api-size-limit"], + "scoped_cmd_line_args": [ + "--clang-format-entry-point" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-store-batch-api-size-limit"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 4194304 } ] } - }, + } + ], + "basic": [ { - "choices": ["ignore", "first_only", "backoff"], - "comma_separated_choices": "ignore, first_only, backoff", - "comma_separated_display_args": "--remote-cache-warnings=", - "config_key": "remote_cache_warnings", - "default": "backoff", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]clang-format-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--remote-cache-warnings=" + "--[no-]clang-format-skip" ], - "env_var": "PANTS_REMOTE_CACHE_WARNINGS", + "env_var": "PANTS_CLANG_FORMAT_SKIP", "fromfile": false, - "help": "How frequently to log remote cache failures at the `warn` log level.\n\nAll errors not logged at the `warn` level will instead be logged at the `debug` level.", + "help": "If true, don't use ClangFormat when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-cache-warnings"], + "scoped_cmd_line_args": [ + "--clang-format-skip", + "--no-clang-format-skip" + ], "target_field_name": null, - "typ": "RemoteCacheWarningsBehavior", - "unscoped_cmd_line_args": ["--remote-cache-warnings"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -74109,7 +102224,7 @@ { "details": null, "rank": "HARDCODED", - "value": "backoff" + "value": false } ] } @@ -74117,93 +102232,147 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-cache-rpc-concurrency=", - "config_key": "remote_cache_rpc_concurrency", - "default": 128, + "comma_separated_display_args": "--clang-format-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-cache-rpc-concurrency="], - "env_var": "PANTS_REMOTE_CACHE_RPC_CONCURRENCY", + "display_args": [ + "--clang-format-args=\"[, , ...]\"" + ], + "env_var": "PANTS_CLANG_FORMAT_ARGS", "fromfile": false, - "help": "The number of concurrent requests allowed to the remote cache service.", + "help": "Arguments to pass directly to ClangFormat, e.g. `--clang-format-args='--version'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-cache-rpc-concurrency"], + "scoped_cmd_line_args": [ + "--clang-format-args" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-cache-rpc-concurrency"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 128 + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The clang-format utility for formatting C/C++ (and others) code (https://clang.llvm.org/docs/ClangFormat.html). The clang-format binaries are retrieved from PyPi (https://pypi.org/project/clang-format/).", + "is_goal": false, + "provider": "pants.backend.experimental.cc.lint.clangformat", + "scope": "clang-format" + }, + "cli": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-cache-rpc-timeout-millis=", - "config_key": "remote_cache_rpc_timeout_millis", - "default": 1500, + "comma_separated_display_args": "--cli-alias=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "alias", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-cache-rpc-timeout-millis="], - "env_var": "PANTS_REMOTE_CACHE_RPC_TIMEOUT_MILLIS", + "display_args": [ + "--cli-alias=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_CLI_ALIAS", "fromfile": false, - "help": "Timeout value for remote cache RPCs in milliseconds.", + "help": "Register command line aliases.\n\nExample:\n\n [cli.alias]\n green = \"fmt lint check\"\n all-changed = \"--changed-since=HEAD --changed-dependents=transitive\"\n\nThis would allow you to run `pants green all-changed`, which is shorthand for `pants fmt lint check --changed-since=HEAD --changed-dependents=transitive`.\n\nNotice: this option must be placed in a config file (e.g. `pants.toml` or `pantsrc`) to have any effect.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-cache-rpc-timeout-millis"], + "scoped_cmd_line_args": [ + "--cli-alias" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-cache-rpc-timeout-millis"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--alias" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 1500 + "value": {} } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for configuring CLI behavior, such as command line aliases.", + "is_goal": false, + "provider": "", + "scope": "cli" + }, + "count-loc": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Count lines of code.", + "is_goal": true, + "provider": "pants.backend.project_info", + "scope": "count-loc" + }, + "coursier": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-address=", - "config_key": "remote_execution_address", - "default": null, + "comma_separated_display_args": "--coursier-version=", + "config_key": "version", + "default": "v2.1.6", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-execution-address="], - "env_var": "PANTS_REMOTE_EXECUTION_ADDRESS", + "display_args": [ + "--coursier-version=" + ], + "env_var": "PANTS_COURSIER_VERSION", "fromfile": false, - "help": "The URI of a server used as a remote execution scheduler.\n\nFormat: `scheme://host:port`. The supported schemes are `grpc` and `grpcs`, i.e. gRPC with TLS enabled. If `grpc` is used, TLS will be disabled.\n\nYou must also set `[GLOBAL].remote_store_address`, which will often be the same value.", + "help": "Use this version of coursier.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--remote-execution-address"], + "scoped_cmd_line_args": [ + "--coursier-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--remote-execution-address"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "v2.1.6" } ] } @@ -74211,36 +102380,64 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-headers=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "remote_execution_headers", - "default": "{'user-agent': 'pants/'}", + "comma_separated_display_args": "--coursier-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v2.1.6|macos_arm64 |746b3e346fa2c0107fdbc8a627890d495cb09dee4f8dcc87146bdb45941088cf|20829782|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-apple-darwin.gz", + "v2.1.6|linux_arm64 |33330ca433781c9db9458e15d2d32e5d795de3437771647e26835e8b1391af82|20899290|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-pc-linux.gz", + "v2.1.6|linux_x86_64|af7234f8802107f5e1130307ef8a5cc90262d392f16ddff7dce27a4ed0ddd292|20681688", + "v2.1.6|macos_x86_64|36a5d42a0724be2ac39d0ebd8869b985e3d58ceb121bc60389ee2d6d7408dd56|20037412", + "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005", + "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533", + "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", + "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", + "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472", + "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946", + "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182", + "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--remote-execution-headers=\"{'key1': val1, 'key2': val2, ...}\"" + "--coursier-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_REMOTE_EXECUTION_HEADERS", + "env_var": "PANTS_COURSIER_KNOWN_VERSIONS", "fromfile": false, - "help": "Headers to set on remote execution requests. Format: header=value. Pants may add additional headers.\n\nSee `[GLOBAL].remote_store_headers` as well.", + "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": ["--remote-execution-headers"], + "scoped_cmd_line_args": [ + "--coursier-known-versions" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--remote-execution-headers"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "user-agent": "pants/2.19.0rc1" - } + "value": [ + "v2.1.6|macos_arm64 |746b3e346fa2c0107fdbc8a627890d495cb09dee4f8dcc87146bdb45941088cf|20829782|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-apple-darwin.gz", + "v2.1.6|linux_arm64 |33330ca433781c9db9458e15d2d32e5d795de3437771647e26835e8b1391af82|20899290|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-pc-linux.gz", + "v2.1.6|linux_x86_64|af7234f8802107f5e1130307ef8a5cc90262d392f16ddff7dce27a4ed0ddd292|20681688", + "v2.1.6|macos_x86_64|36a5d42a0724be2ac39d0ebd8869b985e3d58ceb121bc60389ee2d6d7408dd56|20037412", + "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005", + "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533", + "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", + "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", + "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472", + "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946", + "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182", + "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182" + ] } ] } @@ -74248,22 +102445,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-overall-deadline-secs=", - "config_key": "remote_execution_overall_deadline_secs", - "default": 3600, + "comma_separated_display_args": "--coursier-url-template=", + "config_key": "url_template", + "default": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-execution-overall-deadline-secs="], - "env_var": "PANTS_REMOTE_EXECUTION_OVERALL_DEADLINE_SECS", + "display_args": [ + "--coursier-url-template=" + ], + "env_var": "PANTS_COURSIER_URL_TEMPLATE", "fromfile": false, - "help": "Overall timeout in seconds for each remote execution request from time of submission", + "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/v2.19/docs/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": ["--remote-execution-overall-deadline-secs"], + "scoped_cmd_line_args": [ + "--coursier-url-template" + ], "target_field_name": null, - "typ": "int", + "typ": "str", "unscoped_cmd_line_args": [ - "--remote-execution-overall-deadline-secs" + "--url-template" ], "value_history": { "ranked_values": [ @@ -74275,7 +102476,7 @@ { "details": null, "rank": "HARDCODED", - "value": 3600 + "value": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz" } ] } @@ -74283,59 +102484,78 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-rpc-concurrency=", - "config_key": "remote_execution_rpc_concurrency", - "default": 128, + "comma_separated_display_args": "--coursier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "aarch64-pc-linux", + "linux_x86_64": "x86_64-pc-linux", + "macos_arm64": "x86_64-apple-darwin", + "macos_x86_64": "x86_64-apple-darwin" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--remote-execution-rpc-concurrency="], - "env_var": "PANTS_REMOTE_EXECUTION_RPC_CONCURRENCY", + "display_args": [ + "--coursier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_COURSIER_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "The number of concurrent requests allowed to the remote execution service.", + "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": ["--remote-execution-rpc-concurrency"], + "scoped_cmd_line_args": [ + "--coursier-url-platform-mapping" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--remote-execution-rpc-concurrency"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 128 + "value": { + "linux_arm64": "aarch64-pc-linux", + "linux_x86_64": "x86_64-pc-linux", + "macos_arm64": "x86_64-apple-darwin", + "macos_x86_64": "x86_64-apple-darwin" + } } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-append-only-caches-base-path=", - "config_key": "remote_execution_append_only_caches_base_path", - "default": null, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--coursier-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--remote-execution-append-only-caches-base-path=" + "--coursier-use-unsupported-version=" ], - "env_var": "PANTS_REMOTE_EXECUTION_APPEND_ONLY_CACHES_BASE_PATH", + "env_var": "PANTS_COURSIER_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Sets the base path to use when setting up an append-only cache for a process running remotely. If this option is not set, then append-only caches will not be used with remote execution. The option should be set to the absolute path of a writable directory in the remote execution environment where Pants can create append-only caches for use with remotely executing processes.", + "help": "\nWhat action to take in case the requested version of coursier is not supported.\n\nSupported coursier versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--remote-execution-append-only-caches-base-path" + "--coursier-use-unsupported-version" ], "target_field_name": null, - "typ": "str", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--remote-execution-append-only-caches-base-path" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -74343,113 +102563,141 @@ "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "error" } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]watch-filesystem", - "config_key": "watch_filesystem", - "default": true, + "comma_separated_display_args": "--coursier-repos=\"['', '', ...]\"", + "config_key": "repos", + "default": [ + "https://maven-central.storage-download.googleapis.com/maven2", + "https://repo1.maven.org/maven2" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]watch-filesystem"], - "env_var": "PANTS_WATCH_FILESYSTEM", + "display_args": [ + "--coursier-repos=\"['', '', ...]\"" + ], + "env_var": "PANTS_COURSIER_REPOS", "fromfile": false, - "help": "Set to False if Pants should not watch the filesystem for changes. `pantsd` or `loop` may not be enabled.", + "help": "Maven style repositories to resolve artifacts from.\n\nCoursier will resolve these repositories in the order in which they are specifed, and re-ordering repositories will cause artifacts to be re-downloaded. This can result in artifacts in lockfiles becoming invalid.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--watch-filesystem", - "--no-watch-filesystem" + "--coursier-repos" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--watch-filesystem", - "--no-watch-filesystem" + "--repos" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "https://maven-central.storage-download.googleapis.com/maven2", + "https://repo1.maven.org/maven2" + ] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "A dependency resolver for the Maven ecosystem. (https://get-coursier.io/)", + "is_goal": false, + "provider": "pants.backend.experimental.java", + "scope": "coursier" + }, + "coverage-py": { + "advanced": [ { - "choices": ["ignore", "warn", "error"], - "comma_separated_choices": "ignore, warn, error", - "comma_separated_display_args": "--unmatched-build-file-globs=", - "config_key": "unmatched_build_file_globs", - "default": "warn", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--coverage-py-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--unmatched-build-file-globs=" + "--coverage-py-install-from-resolve=" ], - "env_var": "PANTS_UNMATCHED_BUILD_FILE_GLOBS", + "env_var": "PANTS_COVERAGE_PY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "What to do when files and globs specified in BUILD files, such as in the `sources` field, cannot be found.\n\nThis usually happens when the files do not exist on your machine. It can also happen if they are ignored by the `[GLOBAL].pants_ignore` option, which causes the files to be invisible to Pants.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--unmatched-build-file-globs"], + "scoped_cmd_line_args": [ + "--coverage-py-install-from-resolve" + ], "target_field_name": null, - "typ": "GlobMatchErrorBehavior", - "unscoped_cmd_line_args": ["--unmatched-build-file-globs"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "warn" } ] } }, { - "choices": ["ignore", "warn", "error"], - "comma_separated_choices": "ignore, warn, error", - "comma_separated_display_args": "--unmatched-cli-globs=", - "config_key": "unmatched_cli_globs", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--coverage-py-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--unmatched-cli-globs="], - "env_var": "PANTS_UNMATCHED_CLI_GLOBS", + "display_args": [ + "--coverage-py-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_COVERAGE_PY_REQUIREMENTS", "fromfile": false, - "help": "What to do when command line arguments, e.g. files and globs like `dir::`, cannot be found.\n\nThis usually happens when the files do not exist on your machine. It can also happen if they are ignored by the `[GLOBAL].pants_ignore` option, which causes the files to be invisible to Pants.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--unmatched-cli-globs"], + "scoped_cmd_line_args": [ + "--coverage-py-requirements" + ], "target_field_name": null, - "typ": "GlobMatchErrorBehavior", - "unscoped_cmd_line_args": ["--unmatched-cli-globs"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": [] } ] } @@ -74457,21 +102705,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--build-patterns=\"['', '', ...]\"", - "config_key": "build_patterns", - "default": ["BUILD", "BUILD.*"], + "comma_separated_display_args": "--coverage-py-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--build-patterns=\"['', '', ...]\""], - "env_var": "PANTS_BUILD_PATTERNS", + "display_args": [ + "--coverage-py-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_COVERAGE_PY_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "The naming scheme for BUILD files, i.e. where you define targets.\n\nThis only sets the naming scheme, not the directory paths to look for. To add ignore patterns, use the option `[GLOBAL].build_ignore`.\n\nYou may also need to update the option `[tailor].build_file_name` so that it is compatible with this option.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--build-patterns"], + "scoped_cmd_line_args": [ + "--coverage-py-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--build-patterns"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -74482,7 +102738,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["BUILD", "BUILD.*"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -74490,32 +102748,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--build-ignore=\"['', '', ...]\"", - "config_key": "build_ignore", - "default": [], + "comma_separated_display_args": "--coverage-py-console-script=", + "config_key": "console_script", + "default": "coverage", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--build-ignore=\"['', '', ...]\""], - "env_var": "PANTS_BUILD_IGNORE", + "display_args": [ + "--coverage-py-console-script=" + ], + "env_var": "PANTS_COVERAGE_PY_CONSOLE_SCRIPT", "fromfile": false, - "help": "Path globs or literals to ignore when identifying BUILD files.\n\nThis does not affect any other filesystem operations; use `--pants-ignore` for that instead.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--build-ignore"], + "scoped_cmd_line_args": [ + "--coverage-py-console-script" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--build-ignore"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "coverage" } ] } @@ -74523,34 +102787,33 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--build-file-prelude-globs=\"['', '', ...]\"", - "config_key": "build_file_prelude_globs", - "default": [], + "comma_separated_display_args": "--coverage-py-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--build-file-prelude-globs=\"['', '', ...]\"" + "--coverage-py-entry-point=" ], - "env_var": "PANTS_BUILD_FILE_PRELUDE_GLOBS", + "env_var": "PANTS_COVERAGE_PY_ENTRY_POINT", "fromfile": false, - "help": "Python files to evaluate and whose symbols should be exposed to all BUILD files. See https://www.pantsbuild.org/v2.19/docs/macros.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--build-file-prelude-globs"], + "scoped_cmd_line_args": [ + "--coverage-py-entry-point" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--build-file-prelude-globs"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } @@ -74558,32 +102821,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--subproject-roots=\"['', '', ...]\"", - "config_key": "subproject_roots", - "default": [], + "comma_separated_display_args": "--coverage-py-output-dir=", + "config_key": "output_dir", + "default": "{distdir}/coverage/python", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--subproject-roots=\"['', '', ...]\""], - "env_var": "PANTS_SUBPROJECT_ROOTS", + "display_args": [ + "--coverage-py-output-dir=" + ], + "env_var": "PANTS_COVERAGE_PY_OUTPUT_DIR", "fromfile": false, - "help": "Paths that correspond with build roots for any subproject that this project depends on.", + "help": "Path to write the Pytest Coverage report to. Must be relative to the build root.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--subproject-roots"], + "scoped_cmd_line_args": [ + "--coverage-py-output-dir" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--subproject-roots"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-dir" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "{distdir}/coverage/python" } ] } @@ -74591,32 +102860,33 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--loop-max=", - "config_key": "loop_max", - "default": 4294967296, + "comma_separated_display_args": "--coverage-py-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--loop-max="], - "env_var": "PANTS_LOOP_MAX", + "display_args": [ + "--coverage-py-config=" + ], + "env_var": "PANTS_COVERAGE_PY_CONFIG", "fromfile": false, - "help": "The maximum number of times to loop when `--loop` is specified.", + "help": "Path to an INI or TOML config file understood by coverage.py (https://coverage.readthedocs.io/en/stable/config.html).\n\nSetting this option will disable `[coverage-py].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--loop-max"], + "scoped_cmd_line_args": [ + "--coverage-py-config" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--loop-max"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 4294967296 } ] } @@ -74624,21 +102894,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--streaming-workunits-report-interval=", - "config_key": "streaming_workunits_report_interval", - "default": 1.0, + "comma_separated_display_args": "--[no-]coverage-py-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--streaming-workunits-report-interval="], - "env_var": "PANTS_STREAMING_WORKUNITS_REPORT_INTERVAL", + "display_args": [ + "--[no-]coverage-py-config-discovery" + ], + "env_var": "PANTS_COVERAGE_PY_CONFIG_DISCOVERY", "fromfile": false, - "help": "Interval in seconds between when streaming workunit event receivers will be polled.", + "help": "If true, Pants will include any relevant config files during runs (`.coveragerc`, `setup.cfg`, `tox.ini`, and `pyproject.toml`).\n\nUse `[coverage-py].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--streaming-workunits-report-interval"], + "scoped_cmd_line_args": [ + "--coverage-py-config-discovery", + "--no-coverage-py-config-discovery" + ], "target_field_name": null, - "typ": "float", - "unscoped_cmd_line_args": ["--streaming-workunits-report-interval"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -74649,79 +102927,98 @@ { "details": null, "rank": "HARDCODED", - "value": 1.0 + "value": true } ] } - }, + } + ], + "basic": [ { - "choices": ["trace", "debug", "info", "warn", "error"], - "comma_separated_choices": "trace, debug, info, warn, error", - "comma_separated_display_args": "--streaming-workunits-level=", - "config_key": "streaming_workunits_level", - "default": "debug", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--coverage-py-filter=\"['', '', ...]\"", + "config_key": "filter", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--streaming-workunits-level="], - "env_var": "PANTS_STREAMING_WORKUNITS_LEVEL", + "display_args": [ + "--coverage-py-filter=\"['', '', ...]\"" + ], + "env_var": "PANTS_COVERAGE_PY_FILTER", "fromfile": false, - "help": "The level of workunits that will be reported to streaming workunit event receivers.\n\nWorkunits form a tree, and even when workunits are filtered out by this setting, the workunit tree structure will be preserved (by adjusting the parent pointers of the remaining workunits).", + "help": "A list of Python modules or filesystem paths to use in the coverage report, e.g. `['helloworld_test', 'helloworld/util/dirutil']`.\n\nBoth modules and directory paths are recursive: any submodules or child paths, respectively, will be included.\n\nIf you leave this off, the coverage report will include every file in the transitive closure of the address/file arguments; for example, `test ::` will include every Python file in your project, whereas `test project/app_test.py` will include `app_test.py` and any of its transitive dependencies.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--streaming-workunits-level"], + "scoped_cmd_line_args": [ + "--coverage-py-filter" + ], "target_field_name": null, - "typ": "LogLevel", - "unscoped_cmd_line_args": ["--streaming-workunits-level"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--filter" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "debug" + "value": [] } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]streaming-workunits-complete-async", - "config_key": "streaming_workunits_complete_async", - "default": true, + "choices": [ + "console", + "xml", + "html", + "raw", + "json", + "lcov" + ], + "comma_separated_choices": "console, xml, html, raw, json, lcov", + "comma_separated_display_args": "--coverage-py-report=\"[, , ...]\"", + "config_key": "report", + "default": [ + "console" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]streaming-workunits-complete-async"], - "env_var": "PANTS_STREAMING_WORKUNITS_COMPLETE_ASYNC", + "display_args": [ + "--coverage-py-report=\"[, , ...]\"" + ], + "env_var": "PANTS_COVERAGE_PY_REPORT", "fromfile": false, - "help": "True if stats recording should be allowed to complete asynchronously when `pantsd` is enabled. When `pantsd` is disabled, stats recording is always synchronous. To reduce data loss, this flag defaults to false inside of containers, such as when run with Docker.", + "help": "Which coverage report type(s) to emit.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--streaming-workunits-complete-async", - "--no-streaming-workunits-complete-async" + "--coverage-py-report" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--streaming-workunits-complete-async", - "--no-streaming-workunits-complete-async" + "--report" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "console" + ] } ] } @@ -74729,26 +103026,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-execution", - "config_key": "docker_execution", - "default": true, + "comma_separated_display_args": "--[no-]coverage-py-global-report", + "config_key": "global_report", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-execution"], - "env_var": "PANTS_DOCKER_EXECUTION", + "display_args": [ + "--[no-]coverage-py-global-report" + ], + "env_var": "PANTS_COVERAGE_PY_GLOBAL_REPORT", "fromfile": false, - "help": "If true, `docker_environment` targets can be used to run builds inside a Docker container.\n\nIf false, anytime a `docker_environment` target is used, Pants will instead fallback to whatever the target's `fallback_environment` field is set to.\n\nThis can be useful, for example, if you want to always use Docker locally, but disable it in CI, or vice versa.", + "help": "If true, Pants will generate a global coverage report.\n\nThe global report will include all Python source files in the workspace and not just those depended on by the tests that were run.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--docker-execution", - "--no-docker-execution" + "--coverage-py-global-report", + "--no-coverage-py-global-report" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--docker-execution", - "--no-docker-execution" + "--global-report", + "--no-global-report" ], "value_history": { "ranked_values": [ @@ -74760,7 +103059,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } @@ -74768,62 +103067,71 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--remote-execution-extra-platform-properties=\"['', '', ...]\"", - "config_key": "remote_execution_extra_platform_properties", - "default": [], + "comma_separated_display_args": "--coverage-py-fail-under=", + "config_key": "fail_under", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--remote-execution-extra-platform-properties=\"['', '', ...]\"" + "--coverage-py-fail-under=" ], - "env_var": "PANTS_REMOTE_EXECUTION_EXTRA_PLATFORM_PROPERTIES", + "env_var": "PANTS_COVERAGE_PY_FAIL_UNDER", "fromfile": false, - "help": "Platform properties to set on remote execution requests.\n\nFormat: `property=value`. Multiple values should be specified as multiple occurrences of this flag.\n\nPants itself may add additional platform properties.\n\nIf you are using the `remote_environment` target mechanism, set this value as a field on the target instead. This option will be ignored.", + "help": "Fail if the total combined coverage percentage for all tests is less than this number.\n\nUse this instead of setting `fail_under` in a coverage.py config file, as the config will apply to each test separately, while you typically want this to apply to the combined coverage for all tests run.\n\nNote that you must generate at least one (non-raw) coverage report for this check to trigger.\n\nNote also that if you specify a non-integral value, you must also set `[report] precision` properly in the coverage.py config file to make use of the decimal places. See https://coverage.readthedocs.io/en/latest/config.html.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--remote-execution-extra-platform-properties" + "--coverage-py-fail-under" ], "target_field_name": null, - "typ": "list", + "typ": "float", "unscoped_cmd_line_args": [ - "--remote-execution-extra-platform-properties" + "--fail-under" ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Configuration for Python test coverage measurement.", + "is_goal": false, + "provider": "pants.backend.python", + "scope": "coverage-py" + }, + "cue": { + "advanced": [ { - "choices": ["trace", "debug", "info", "warn", "error"], - "comma_separated_choices": "trace, debug, info, warn, error", - "comma_separated_display_args": "-l=, --level=", - "config_key": "level", - "default": "info", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--cue-version=", + "config_key": "version", + "default": "v0.4.3", "deprecated_message": null, "deprecation_active": false, - "display_args": ["-l=", "--level="], - "env_var": "PANTS_LEVEL", + "display_args": [ + "--cue-version=" + ], + "env_var": "PANTS_CUE_VERSION", "fromfile": false, - "help": "Set the logging level.", + "help": "Use this version of CUE.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["-l", "--level"], + "scoped_cmd_line_args": [ + "--cue-version" + ], "target_field_name": null, - "typ": "LogLevel", - "unscoped_cmd_line_args": ["-l", "--level"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -74834,7 +103142,7 @@ { "details": null, "rank": "HARDCODED", - "value": "info" + "value": "v0.4.3" } ] } @@ -74842,21 +103150,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--spec-files=\"['', '', ...]\"", - "config_key": "spec_files", - "default": [], + "comma_separated_display_args": "--cue-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v0.4.3|macos_x86_64|1161254cf38b928b87a7ac1552dc2e12e6c5da298f9ce370d80e5518ddb6513d|6240316", + "v0.4.3|macos_arm64 |3d84b85a7288f94301a4726dcf95b2d92c8ff796c4d45c4733fbdcc04ceaf21d|5996085", + "v0.4.3|linux_x86_64|5e7ecb614b5926acfc36eb1258800391ab7c6e6e026fa7cacbfe92006bac895c|6037013", + "v0.4.3|linux_arm64 |a8c3f4140d18c324cc69f5de4df0566e529e1636cff340095a42475799bf3fed|5548404" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--spec-files=\"['', '', ...]\""], - "env_var": "PANTS_SPEC_FILES", + "display_args": [ + "--cue-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_CUE_KNOWN_VERSIONS", "fromfile": false, - "help": "Read additional specs (target addresses, files, and/or globs), one per line, from these files.", + "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": ["--spec-files"], + "scoped_cmd_line_args": [ + "--cue-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--spec-files"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -74867,7 +103186,12 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "v0.4.3|macos_x86_64|1161254cf38b928b87a7ac1552dc2e12e6c5da298f9ce370d80e5518ddb6513d|6240316", + "v0.4.3|macos_arm64 |3d84b85a7288f94301a4726dcf95b2d92c8ff796c4d45c4733fbdcc04ceaf21d|5996085", + "v0.4.3|linux_x86_64|5e7ecb614b5926acfc36eb1258800391ab7c6e6e026fa7cacbfe92006bac895c|6037013", + "v0.4.3|linux_arm64 |a8c3f4140d18c324cc69f5de4df0566e529e1636cff340095a42475799bf3fed|5548404" + ] } ] } @@ -74875,21 +103199,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pantsd", - "config_key": "pantsd", - "default": true, + "comma_separated_display_args": "--cue-url-template=", + "config_key": "url_template", + "default": "https://github.com/cue-lang/cue/releases/download/{version}/cue_{version}_{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pantsd"], - "env_var": "PANTS_PANTSD", + "display_args": [ + "--cue-url-template=" + ], + "env_var": "PANTS_CUE_URL_TEMPLATE", "fromfile": false, - "help": "Enables use of the Pants daemon (pantsd). pantsd can significantly improve runtime performance by lowering per-run startup cost, and by memoizing filesystem operations and rule execution.", + "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/v2.19/docs/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": ["--pantsd", "--no-pantsd"], + "scoped_cmd_line_args": [ + "--cue-url-template" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--pantsd", "--no-pantsd"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -74900,7 +103230,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "https://github.com/cue-lang/cue/releases/download/{version}/cue_{version}_{platform}.tar.gz" } ] } @@ -74908,54 +103238,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]concurrent", - "config_key": "concurrent", - "default": false, + "comma_separated_display_args": "--cue-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]concurrent"], - "env_var": "PANTS_CONCURRENT", + "display_args": [ + "--cue-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_CUE_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Enable concurrent runs of Pants. With this enabled, Pants will start up all concurrent invocations (e.g. in other terminals) without pantsd. As a result, enabling this option will increase the per-run startup cost, but will not block subsequent invocations.", + "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": ["--concurrent", "--no-concurrent"], + "scoped_cmd_line_args": [ + "--cue-url-platform-mapping" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--concurrent", "--no-concurrent"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + } } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]local-cache", - "config_key": "local_cache", - "default": true, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--cue-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]local-cache"], - "env_var": "PANTS_LOCAL_CACHE", + "display_args": [ + "--cue-use-unsupported-version=" + ], + "env_var": "PANTS_CUE_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Whether to cache process executions in a local cache persisted to disk at `--local-store-dir`.", + "help": "\nWhat action to take in case the requested version of CUE is not supported.\n\nSupported CUE versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--local-cache", "--no-local-cache"], + "scoped_cmd_line_args": [ + "--cue-use-unsupported-version" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--local-cache", "--no-local-cache"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -74966,29 +103321,39 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "error" } ] } - }, + } + ], + "basic": [ { - "choices": ["always", "on_failure", "never"], - "comma_separated_choices": "always, on_failure, never", - "comma_separated_display_args": "--keep-sandboxes=", - "config_key": "keep_sandboxes", - "default": "never", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]cue-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--keep-sandboxes="], - "env_var": "PANTS_KEEP_SANDBOXES", + "display_args": [ + "--[no-]cue-skip" + ], + "env_var": "PANTS_CUE_SKIP", "fromfile": false, - "help": "Controls whether Pants will clean up local directories used as chroots for running processes.\n\nPants will log their location so that you can inspect the chroot, and run the `__run.sh` script to recreate the process using the same argv and environment variables used by Pants. This option is useful for debugging.", + "help": "If true, don't use CUE when running `pants fmt` and `pants fix` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--keep-sandboxes"], + "scoped_cmd_line_args": [ + "--cue-skip", + "--no-cue-skip" + ], "target_field_name": null, - "typ": "KeepSandboxes", - "unscoped_cmd_line_args": ["--keep-sandboxes"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -74999,7 +103364,7 @@ { "details": null, "rank": "HARDCODED", - "value": "never" + "value": false } ] } @@ -75007,59 +103372,76 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--session-end-tasks-timeout=", - "config_key": "session_end_tasks_timeout", - "default": 3.0, + "comma_separated_display_args": "--cue-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--session-end-tasks-timeout="], - "env_var": "PANTS_SESSION_END_TASKS_TIMEOUT", + "display_args": [ + "--cue-args=\"[, , ...]\"" + ], + "env_var": "PANTS_CUE_ARGS", "fromfile": false, - "help": "The time in seconds to wait for still-running \"session end\" tasks to complete before finishing completion of a Pants invocation. \"Session end\" tasks include, for example, writing data that was generated during the applicable Pants invocation to a configured remote cache.", + "help": "Arguments to pass directly to CUE, e.g. `--cue-args='--all-errors'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--session-end-tasks-timeout"], + "scoped_cmd_line_args": [ + "--cue-args" + ], "target_field_name": null, - "typ": "float", - "unscoped_cmd_line_args": ["--session-end-tasks-timeout"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 3.0 + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "CUE is an open-source data validation language and inference engine with its roots in logic programming. Although the language is not a general-purpose programming language, it has many applications, such as data validation, data templating, configuration, querying, code generation and even scripting. The inference engine can be used to validate data in code or to include it as part of a code generation pipeline.\n\nHomepage: https://cuelang.org/", + "is_goal": false, + "provider": "pants.backend.experimental.cue", + "scope": "cue" + }, + "debug-adapter": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]remote-execution", - "config_key": "remote_execution", - "default": false, + "comma_separated_display_args": "--debug-adapter-host=", + "config_key": "host", + "default": "127.0.0.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]remote-execution"], - "env_var": "PANTS_REMOTE_EXECUTION", + "display_args": [ + "--debug-adapter-host=" + ], + "env_var": "PANTS_DEBUG_ADAPTER_HOST", "fromfile": false, - "help": "Enables remote workers for increased parallelism. (Alpha)\n\nAlternatively, you can use `[GLOBAL].remote_cache_read` and `[GLOBAL].remote_cache_write` to still run everything locally, but to use a remote cache.", + "help": "The hostname to use when launching the server.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--remote-execution", - "--no-remote-execution" + "--debug-adapter-host" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--remote-execution", - "--no-remote-execution" + "--host" ], "value_history": { "ranked_values": [ @@ -75071,7 +103453,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "127.0.0.1" } ] } @@ -75079,26 +103461,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]remote-cache-read", - "config_key": "remote_cache_read", - "default": false, + "comma_separated_display_args": "--debug-adapter-port=", + "config_key": "port", + "default": 5678, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]remote-cache-read"], - "env_var": "PANTS_REMOTE_CACHE_READ", + "display_args": [ + "--debug-adapter-port=" + ], + "env_var": "PANTS_DEBUG_ADAPTER_PORT", "fromfile": false, - "help": "Whether to enable reading from a remote cache.\n\nThis cannot be used at the same time as `[GLOBAL].remote_execution`.", + "help": "The port to use when launching the server.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--remote-cache-read", - "--no-remote-cache-read" + "--debug-adapter-port" ], "target_field_name": null, - "typ": "bool", + "typ": "int", "unscoped_cmd_line_args": [ - "--remote-cache-read", - "--no-remote-cache-read" + "--port" ], "value_history": { "ranked_values": [ @@ -75110,34 +103492,44 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": 5678 } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options used to configure and launch a Debug Adapter server.\n\nSee https://microsoft.github.io/debug-adapter-protocol/ for more information.", + "is_goal": false, + "provider": "pants.core", + "scope": "debug-adapter" + }, + "debugpy": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]remote-cache-write", - "config_key": "remote_cache_write", - "default": false, + "comma_separated_display_args": "--debugpy-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]remote-cache-write"], - "env_var": "PANTS_REMOTE_CACHE_WRITE", + "display_args": [ + "--debugpy-install-from-resolve=" + ], + "env_var": "PANTS_DEBUGPY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Whether to enable writing results to a remote cache.\n\nThis cannot be used at the same time as `[GLOBAL].remote_execution`.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ - "--remote-cache-write", - "--no-remote-cache-write" + "--debugpy-install-from-resolve" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--remote-cache-write", - "--no-remote-cache-write" + "--install-from-resolve" ], "value_history": { "ranked_values": [ @@ -75145,11 +103537,6 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } @@ -75157,32 +103544,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]colors", - "config_key": "colors", - "default": false, + "comma_separated_display_args": "--debugpy-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]colors"], - "env_var": "PANTS_COLORS", + "display_args": [ + "--debugpy-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_DEBUGPY_REQUIREMENTS", "fromfile": false, - "help": "Whether Pants should use colors in output or not. This may also impact whether some tools Pants runs use color.\n\nWhen unset, this value defaults based on whether the output destination supports color.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--colors", "--no-colors"], + "scoped_cmd_line_args": [ + "--debugpy-requirements" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--colors", "--no-colors"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } @@ -75190,65 +103583,76 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dynamic-ui", - "config_key": "dynamic_ui", - "default": true, + "comma_separated_display_args": "--debugpy-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dynamic-ui"], - "env_var": "PANTS_DYNAMIC_UI", + "display_args": [ + "--debugpy-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_DEBUGPY_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Display a dynamically-updating console UI as Pants runs. This is true by default if Pants detects a TTY and there is no 'CI' environment variable indicating that Pants is running in a continuous integration environment.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dynamic-ui", "--no-dynamic-ui"], + "scoped_cmd_line_args": [ + "--debugpy-interpreter-constraints" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--dynamic-ui", "--no-dynamic-ui"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "CPython>=3.7,<4" + ] } ] } }, { - "choices": ["indicatif-spinner", "experimental-prodash"], - "comma_separated_choices": "indicatif-spinner, experimental-prodash", - "comma_separated_display_args": "--dynamic-ui-renderer=", - "config_key": "dynamic_ui_renderer", - "default": "indicatif-spinner", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--debugpy-console-script=", + "config_key": "console_script", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dynamic-ui-renderer="], - "env_var": "PANTS_DYNAMIC_UI_RENDERER", + "display_args": [ + "--debugpy-console-script=" + ], + "env_var": "PANTS_DEBUGPY_CONSOLE_SCRIPT", "fromfile": false, - "help": "If `--dynamic-ui` is enabled, selects the renderer.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dynamic-ui-renderer"], + "scoped_cmd_line_args": [ + "--debugpy-console-script" + ], "target_field_name": null, - "typ": "DynamicUIRenderer", - "unscoped_cmd_line_args": ["--dynamic-ui-renderer"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "indicatif-spinner" } ] } @@ -75256,93 +103660,117 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tag=\"[[+-]tag1,tag2,..., [+-]tag1,tag2,..., ...]\"", - "config_key": "tag", - "default": [], + "comma_separated_display_args": "--debugpy-entry-point=", + "config_key": "entry_point", + "default": "debugpy", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--tag=\"[[+-]tag1,tag2,..., [+-]tag1,tag2,..., ...]\"" + "--debugpy-entry-point=" ], - "env_var": "PANTS_TAG", + "env_var": "PANTS_DEBUGPY_ENTRY_POINT", "fromfile": false, - "help": "Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix). See https://www.pantsbuild.org/v2.19/docs/advanced-target-selection.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tag"], + "scoped_cmd_line_args": [ + "--debugpy-entry-point" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--tag"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "debugpy" } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]loop", - "config_key": "loop", - "default": false, + "comma_separated_display_args": "--debugpy-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]loop"], - "env_var": "PANTS_LOOP", + "display_args": [ + "--debugpy-args=\"[, , ...]\"" + ], + "env_var": "PANTS_DEBUGPY_ARGS", "fromfile": false, - "help": "Run goals continuously as file changes are detected.", + "help": "Arguments to pass directly to debugpy, e.g. `--debugpy-args='--log-to-stderr'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--loop", "--no-loop"], + "scoped_cmd_line_args": [ + "--debugpy-args" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--loop", "--no-loop"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } } ], - "deprecated": [ + "deprecated": [], + "deprecated_scope": null, + "description": "An implementation of the Debug Adapter Protocol for Python (https://github.com/microsoft/debugpy).", + "is_goal": false, + "provider": "pants.backend.python", + "scope": "debugpy" + }, + "dependees": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]process-cleanup", - "config_key": "process_cleanup", - "default": true, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", - "deprecation_active": true, - "display_args": ["--[no-]process-cleanup"], - "env_var": "PANTS_PROCESS_CLEANUP", + "comma_separated_display_args": "--dependees-output-file=", + "config_key": "output_file", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--dependees-output-file=" + ], + "env_var": "PANTS_DEPENDEES_OUTPUT_FILE", "fromfile": false, - "help": "If false, Pants will not clean up local directories used as chroots for running processes. Pants will log their location so that you can inspect the chroot, and run the `__run.sh` script to recreate the process using the same argv and environment variables used by Pants. This option is useful for debugging.", - "removal_hint": "Use the `keep_sandboxes` option instead.", - "removal_version": "3.0.0.dev0", - "scoped_cmd_line_args": ["--process-cleanup", "--no-process-cleanup"], + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--dependees-output-file" + ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--process-cleanup", - "--no-process-cleanup" + "--output-file" ], "value_history": { "ranked_values": [ @@ -75350,48 +103778,45 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } - } - ], - "deprecated_scope": null, - "description": "Options to control the overall behavior of Pants.", - "is_goal": false, - "provider": "pants.core", - "scope": "" - }, - "add-trailing-comma": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--add-trailing-comma-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--dependees-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--add-trailing-comma-install-from-resolve="], - "env_var": "PANTS_ADD_TRAILING_COMMA_INSTALL_FROM_RESOLVE", + "display_args": [ + "--dependees-sep=" + ], + "env_var": "PANTS_DEPENDEES_SEP", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-install-from-resolve"], + "scoped_cmd_line_args": [ + "--dependees-sep" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "\\n" } ] } @@ -75399,34 +103824,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--add-trailing-comma-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]dependees-transitive", + "config_key": "transitive", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--add-trailing-comma-requirements=\"['', '', ...]\"" + "--[no-]dependees-transitive" ], - "env_var": "PANTS_ADD_TRAILING_COMMA_REQUIREMENTS", + "env_var": "PANTS_DEPENDEES_TRANSITIVE", "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": "List all transitive dependents. If unspecified, list direct dependents only.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-requirements"], + "scoped_cmd_line_args": [ + "--dependees-transitive", + "--no-dependees-transitive" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--transitive", + "--no-transitive" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } @@ -75434,69 +103865,85 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--add-trailing-comma-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]dependees-closed", + "config_key": "closed", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--add-trailing-comma-interpreter-constraints=\"['', '', ...]\"" + "--[no-]dependees-closed" ], - "env_var": "PANTS_ADD_TRAILING_COMMA_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_DEPENDEES_CLOSED", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Include the input targets in the output, along with the dependents.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--add-trailing-comma-interpreter-constraints" + "--dependees-closed", + "--no-dependees-closed" ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--closed", + "--no-closed" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": "dependees", + "description": "List all targets that depend on any of the input files/targets.", + "is_goal": true, + "provider": "pants.backend.project_info", + "scope": "dependees" + }, + "dependencies": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--add-trailing-comma-console-script=", - "config_key": "console_script", - "default": "add-trailing-comma", + "comma_separated_display_args": "--dependencies-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--add-trailing-comma-console-script="], - "env_var": "PANTS_ADD_TRAILING_COMMA_CONSOLE_SCRIPT", + "display_args": [ + "--dependencies-output-file=" + ], + "env_var": "PANTS_DEPENDENCIES_OUTPUT_FILE", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-console-script"], + "scoped_cmd_line_args": [ + "--dependencies-output-file" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "add-trailing-comma" } ] } @@ -75504,54 +103951,68 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--add-trailing-comma-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--dependencies-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--add-trailing-comma-entry-point="], - "env_var": "PANTS_ADD_TRAILING_COMMA_ENTRY_POINT", + "display_args": [ + "--dependencies-sep=" + ], + "env_var": "PANTS_DEPENDENCIES_SEP", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-entry-point"], + "scoped_cmd_line_args": [ + "--dependencies-sep" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "\\n" } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]add-trailing-comma-skip", - "config_key": "skip", + "comma_separated_display_args": "--[no-]dependencies-transitive", + "config_key": "transitive", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]add-trailing-comma-skip"], - "env_var": "PANTS_ADD_TRAILING_COMMA_SKIP", + "display_args": [ + "--[no-]dependencies-transitive" + ], + "env_var": "PANTS_DEPENDENCIES_TRANSITIVE", "fromfile": false, - "help": "If true, don't use add-trailing-comma when running `pants fmt` and `pants lint`.", + "help": "List all transitive dependencies. If unspecified, list direct dependencies only.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--add-trailing-comma-skip", - "--no-add-trailing-comma-skip" + "--dependencies-transitive", + "--no-dependencies-transitive" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--transitive", + "--no-transitive" + ], "value_history": { "ranked_values": [ { @@ -75570,34 +104031,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--add-trailing-comma-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]dependencies-closed", + "config_key": "closed", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--add-trailing-comma-args=\"[, , ...]\"" + "--[no-]dependencies-closed" ], - "env_var": "PANTS_ADD_TRAILING_COMMA_ARGS", + "env_var": "PANTS_DEPENDENCIES_CLOSED", "fromfile": false, - "help": "Arguments to pass directly to add-trailing-comma, e.g. `--add-trailing-comma-args='--py36-plus'`.", + "help": "Include the input targets in the output, along with the dependencies.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--add-trailing-comma-args"], + "scoped_cmd_line_args": [ + "--dependencies-closed", + "--no-dependencies-closed" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--closed", + "--no-closed" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } @@ -75605,45 +104072,44 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma).", - "is_goal": false, - "provider": "pants.backend.experimental.python.lint.add_trailing_comma", - "scope": "add-trailing-comma" + "description": "List the dependencies of the input files/targets.", + "is_goal": true, + "provider": "pants.backend.project_info", + "scope": "dependencies" }, - "anonymous-telemetry": { - "advanced": [ + "dependents": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]anonymous-telemetry-enabled", - "config_key": "enabled", - "default": false, + "comma_separated_display_args": "--dependents-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]anonymous-telemetry-enabled"], - "env_var": "PANTS_ANONYMOUS_TELEMETRY_ENABLED", + "display_args": [ + "--dependents-output-file=" + ], + "env_var": "PANTS_DEPENDENTS_OUTPUT_FILE", "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/v2.19/docs/anonymous-telemetry for details.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--anonymous-telemetry-enabled", - "--no-anonymous-telemetry-enabled" + "--dependents-output-file" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--enabled", "--no-enabled"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } @@ -75651,61 +104117,68 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--anonymous-telemetry-repo-id=", - "config_key": "repo_id", - "default": null, + "comma_separated_display_args": "--dependents-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--anonymous-telemetry-repo-id="], - "env_var": "PANTS_ANONYMOUS_TELEMETRY_REPO_ID", + "display_args": [ + "--dependents-sep=" + ], + "env_var": "PANTS_DEPENDENTS_SEP", "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/v2.19/docs/anonymous-telemetry for details.", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--anonymous-telemetry-repo-id"], + "scoped_cmd_line_args": [ + "--dependents-sep" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--repo-id"], + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "\\n" } ] } - } - ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Options related to sending anonymous stats to the Pants project, to aid development.", - "is_goal": false, - "provider": "pants.core", - "scope": "anonymous-telemetry" - }, - "apache-thrift": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--apache-thrift-expected-version=", - "config_key": "expected_version", - "default": "0.15", + "comma_separated_display_args": "--[no-]dependents-transitive", + "config_key": "transitive", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--apache-thrift-expected-version="], - "env_var": "PANTS_APACHE_THRIFT_EXPECTED_VERSION", + "display_args": [ + "--[no-]dependents-transitive" + ], + "env_var": "PANTS_DEPENDENTS_TRANSITIVE", "fromfile": false, - "help": "The major/minor version of Apache Thrift that you are using, such as `0.15`.\n\nPants will only use Thrift binaries from `--thrift-search-paths` that have the expected version, and it will error if none are found.\n\nDo not include the patch version.", + "help": "List all transitive dependents. If unspecified, list direct dependents only.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--apache-thrift-expected-version"], + "scoped_cmd_line_args": [ + "--dependents-transitive", + "--no-dependents-transitive" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--expected-version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--transitive", + "--no-transitive" + ], "value_history": { "ranked_values": [ { @@ -75716,7 +104189,7 @@ { "details": null, "rank": "HARDCODED", - "value": "0.15" + "value": false } ] } @@ -75724,66 +104197,78 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--apache-thrift-thrift-search-paths=\"['', '', ...]\"", - "config_key": "thrift_search_paths", - "default": [""], + "comma_separated_display_args": "--[no-]dependents-closed", + "config_key": "closed", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--apache-thrift-thrift-search-paths=\"['', '', ...]\"" + "--[no-]dependents-closed" ], - "env_var": "PANTS_APACHE_THRIFT_THRIFT_SEARCH_PATHS", + "env_var": "PANTS_DEPENDENTS_CLOSED", "fromfile": false, - "help": "A list of paths to search for Thrift.\n\nSpecify absolute paths to directories with the `thrift` binary, e.g. `/usr/bin`. Earlier entries will be searched first.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", + "help": "Include the input targets in the output, along with the dependents.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--apache-thrift-thrift-search-paths"], - "target_field_name": "apache_thrift_thrift_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--thrift-search-paths"], + "scoped_cmd_line_args": [ + "--dependents-closed", + "--no-dependents-closed" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--closed", + "--no-closed" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": false } ] } } ], "deprecated": [], - "deprecated_scope": null, - "description": "Apache Thrift IDL compiler (https://thrift.apache.org/).", - "is_goal": false, - "provider": "pants.backend.codegen.thrift.apache.python", - "scope": "apache-thrift" + "deprecated_scope": "dependees", + "description": "List all targets that depend on any of the input files/targets.", + "is_goal": true, + "provider": "pants.backend.project_info", + "scope": "dependents" }, - "autoflake": { + "docformatter": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--autoflake-install-from-resolve=", + "comma_separated_display_args": "--docformatter-install-from-resolve=", "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--autoflake-install-from-resolve="], - "env_var": "PANTS_AUTOFLAKE_INSTALL_FROM_RESOLVE", + "display_args": [ + "--docformatter-install-from-resolve=" + ], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--autoflake-install-from-resolve"], + "scoped_cmd_line_args": [ + "--docformatter-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -75797,23 +104282,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--autoflake-requirements=\"['', '', ...]\"", + "comma_separated_display_args": "--docformatter-requirements=\"['', '', ...]\"", "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--autoflake-requirements=\"['', '', ...]\"" + "--docformatter-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_AUTOFLAKE_REQUIREMENTS", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-requirements"], + "scoped_cmd_line_args": [ + "--docformatter-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -75832,23 +104321,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--autoflake-interpreter-constraints=\"['', '', ...]\"", + "comma_separated_display_args": "--docformatter-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--autoflake-interpreter-constraints=\"['', '', ...]\"" + "--docformatter-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_AUTOFLAKE_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_DOCFORMATTER_INTERPRETER_CONSTRAINTS", "fromfile": false, "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--docformatter-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -75859,7 +104354,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -75867,21 +104364,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--autoflake-console-script=", + "comma_separated_display_args": "--docformatter-console-script=", "config_key": "console_script", - "default": "autoflake", + "default": "docformatter", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--autoflake-console-script="], - "env_var": "PANTS_AUTOFLAKE_CONSOLE_SCRIPT", + "display_args": [ + "--docformatter-console-script=" + ], + "env_var": "PANTS_DOCFORMATTER_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-console-script"], + "scoped_cmd_line_args": [ + "--docformatter-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -75892,7 +104395,7 @@ { "details": null, "rank": "HARDCODED", - "value": "autoflake" + "value": "docformatter" } ] } @@ -75900,21 +104403,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--autoflake-entry-point=", + "comma_separated_display_args": "--docformatter-entry-point=", "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--autoflake-entry-point="], - "env_var": "PANTS_AUTOFLAKE_ENTRY_POINT", + "display_args": [ + "--docformatter-entry-point=" + ], + "env_var": "PANTS_DOCFORMATTER_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-entry-point"], + "scoped_cmd_line_args": [ + "--docformatter-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -75930,21 +104439,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]autoflake-skip", + "comma_separated_display_args": "--[no-]docformatter-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]autoflake-skip"], - "env_var": "PANTS_AUTOFLAKE_SKIP", + "display_args": [ + "--[no-]docformatter-skip" + ], + "env_var": "PANTS_DOCFORMATTER_SKIP", "fromfile": false, - "help": "If true, don't use Autoflake when running `pants fmt` and `pants lint`.", + "help": "If true, don't use docformatter when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-skip", "--no-autoflake-skip"], + "scoped_cmd_line_args": [ + "--docformatter-skip", + "--no-docformatter-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -75963,23 +104480,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--autoflake-args=\"[, , ...]\"", + "comma_separated_display_args": "--docformatter-args=\"[, , ...]\"", "config_key": "args", - "default": ["--remove-all-unused-imports"], + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--autoflake-args=\"[, , ...]\"" + "--docformatter-args=\"[, , ...]\"" ], - "env_var": "PANTS_AUTOFLAKE_ARGS", + "env_var": "PANTS_DOCFORMATTER_ARGS", "fromfile": false, - "help": "Arguments to pass directly to Autoflake, e.g. `--autoflake-args='--remove-all-unused-imports --target-version=py37 --quiet'`.", + "help": "Arguments to pass directly to docformatter, e.g. `--docformatter-args='--wrap-summaries=100 --pre-summary-newline'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--autoflake-args"], + "scoped_cmd_line_args": [ + "--docformatter-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -75990,7 +104511,7 @@ { "details": "", "rank": "HARDCODED", - "value": ["--remove-all-unused-imports"] + "value": [] } ] } @@ -75998,37 +104519,89 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Autoflake Python code formatter (https://github.com/myint/autoflake).", + "description": "The Python docformatter tool (https://github.com/myint/docformatter).", "is_goal": false, - "provider": "pants.backend.python.lint.autoflake", - "scope": "autoflake" + "provider": "pants.backend.python.lint.docformatter", + "scope": "docformatter" }, - "bandit": { + "docker": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--bandit-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--docker-tools=\"['', '', ...]\"", + "config_key": "tools", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-install-from-resolve="], - "env_var": "PANTS_BANDIT_INSTALL_FROM_RESOLVE", + "display_args": [ + "--docker-tools=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOCKER_TOOLS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "List any additional executable tools required for Docker to work. 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-tools" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--tools" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]docker-tailor", + "config_key": "tailor", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]docker-tailor" + ], + "env_var": "PANTS_DOCKER_TAILOR", + "fromfile": false, + "help": "If true, add `docker_image` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-install-from-resolve"], + "scoped_cmd_line_args": [ + "--docker-tailor", + "--no-docker-tailor" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } @@ -76036,21 +104609,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--bandit-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--docker-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-requirements=\"['', '', ...]\""], - "env_var": "PANTS_BANDIT_REQUIREMENTS", + "display_args": [ + "--docker-executable-search-paths=\"[, , ...]\"" + ], + "env_var": "PANTS_DOCKER_EXECUTABLE_SEARCH_PATHS", "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": "The PATH value that will be used to find the Docker client and any tools required. The special string `\"\"` will expand to the contents of the PATH env var.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-requirements"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--docker-executable-search-paths" + ], + "target_field_name": "docker_executable_search_paths", "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--executable-search-paths" + ], "value_history": { "ranked_values": [ { @@ -76061,7 +104642,9 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "" + ] } ] } @@ -76069,32 +104652,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--bandit-console-script=", - "config_key": "console_script", - "default": "bandit", + "comma_separated_display_args": "--docker-env-vars=\"[, , ...]\"", + "config_key": "env_vars", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-console-script="], - "env_var": "PANTS_BANDIT_CONSOLE_SCRIPT", + "display_args": [ + "--docker-env-vars=\"[, , ...]\"" + ], + "env_var": "PANTS_DOCKER_ENV_VARS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Environment variables to set for `docker` 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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--docker-env-vars" + ], + "target_field_name": "docker_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--env-vars" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + } + ], + "basic": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--docker-registries=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "registries", + "default": {}, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--docker-registries=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_DOCKER_REGISTRIES", + "fromfile": true, + "help": "Configure Docker registries. The schema for a registry entry is as follows:\n\n {\n \"registry-alias\": {\n \"address\": \"registry-domain:port\",\n \"default\": bool,\n \"extra_image_tags\": [],\n \"skip_push\": bool,\n \"repository\": str,\n \"use_local_alias\": bool,\n },\n ...\n }\n\nIf no registries are provided in a `docker_image` target, then all default addresses will be used, if any.\n\nThe `docker_image.registries` may be provided with a list of registry addresses and registry aliases prefixed with `@` to be used instead of the defaults.\n\nA configured registry is marked as default either by setting `default = true` or with an alias of `\"default\"`.\n\nA `docker_image` may be pushed to a subset of registries using the per registry `skip_push` option rather then the all or nothing toggle of the field option `skip_push` on the `docker_image` target.\n\nAny image tags that should only be added for specific registries may be provided as the `extra_image_tags` option. The tags may use value formatting the same as for the `image_tags` field of the `docker_image` target.\n\nWhen a registry provides a `repository` value, it will be used instead of the `docker_image.repository` or the default repository. Using the placeholders `{target_repository}` or `{default_repository}` those overridden values may be incorporated into the registry specific repository value.\n\nIf `use_local_alias` is true, a built image is additionally tagged locally using the registry alias as the value for repository (i.e. the additional image tag is not pushed) and will be used for any `pants run` requests.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-console-script"], + "scoped_cmd_line_args": [ + "--docker-registries" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--registries" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "bandit" + "value": {} } ] } @@ -76102,27 +104732,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--bandit-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--docker-default-repository=", + "config_key": "default_repository", + "default": "{name}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-entry-point="], - "env_var": "PANTS_BANDIT_ENTRY_POINT", + "display_args": [ + "--docker-default-repository=" + ], + "env_var": "PANTS_DOCKER_DEFAULT_REPOSITORY", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Configure the default repository name used in the Docker image tag.\n\nThe value is formatted and may reference these variables (in addition to the normal placeheolders derived from the Dockerfile and build args etc):\n\n * name\n * directory\n * parent_directory\n * target_repository\n\nExample: `--default-repository=\"{directory}/{name}\"`.\n\nThe `name` variable is the `docker_image`'s target name, `directory` and `parent_directory` are the name of the directory in which the BUILD file is for the target, and its parent directory respectively.\n\nUse the `repository` field to set this value directly on a `docker_image` target.\n\nRegistries may override the repository value for a specific registry.\n\nAny registries or tags are added to the image name as required, and should not be part of the repository name.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-entry-point"], + "scoped_cmd_line_args": [ + "--docker-default-repository" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--default-repository" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "{name}" } ] } @@ -76130,51 +104771,68 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--bandit-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--docker-default-context-root=", + "config_key": "default_context_root", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-config="], - "env_var": "PANTS_BANDIT_CONFIG", + "display_args": [ + "--docker-default-context-root=" + ], + "env_var": "PANTS_DOCKER_DEFAULT_CONTEXT_ROOT", "fromfile": false, - "help": "Path to a Bandit YAML config file (https://bandit.readthedocs.io/en/latest/config.html).", + "help": "Provide a default Docker build context root path for `docker_image` targets that does not specify their own `context_root` field.\n\nThe context root is relative to the build root by default, but may be prefixed with `./` to be relative to the directory of the BUILD file of the `docker_image`.\n\nExamples:\n\n --default-context-root=src/docker\n --default-context-root=./relative_to_the_build_file", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-config"], + "scoped_cmd_line_args": [ + "--docker-default-context-root" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "workspace_path", + "unscoped_cmd_line_args": [ + "--default-context-root" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "" } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]bandit-skip", - "config_key": "skip", + "comma_separated_display_args": "--[no-]docker-use-buildx", + "config_key": "use_buildx", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]bandit-skip"], - "env_var": "PANTS_BANDIT_SKIP", + "display_args": [ + "--[no-]docker-use-buildx" + ], + "env_var": "PANTS_DOCKER_USE_BUILDX", "fromfile": false, - "help": "If true, don't use Bandit when running `pants lint`.", + "help": "Use [buildx](https://github.com/docker/buildx#buildx) (and BuildKit) for builds.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-skip", "--no-bandit-skip"], + "scoped_cmd_line_args": [ + "--docker-use-buildx", + "--no-docker-use-buildx" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--use-buildx", + "--no-use-buildx" + ], "value_history": { "ranked_values": [ { @@ -76193,21 +104851,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--bandit-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--docker-build-args=\"[, , ...]\"", + "config_key": "build_args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--bandit-args=\"[, , ...]\""], - "env_var": "PANTS_BANDIT_ARGS", + "display_args": [ + "--docker-build-args=\"[, , ...]\"" + ], + "env_var": "PANTS_DOCKER_BUILD_ARGS", "fromfile": false, - "help": "Arguments to pass directly to Bandit, e.g. `--bandit-args='--skip B101,B308 --confidence'`.", + "help": "Global build arguments (for Docker `--build-arg` options) to use for all `docker build` invocations.\n\nEntries are either strings in the form `ARG_NAME=value` to set an explicit value; or just `ARG_NAME` to copy the value from Pants's own environment.\n\nExample:\n\n [docker]\n build_args = [\"VAR1=value\", \"VAR2\"]\n\nUse the `extra_build_args` field on a `docker_image` target for additional image specific build arguments.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--bandit-args"], + "scoped_cmd_line_args": [ + "--docker-build-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--build-args" + ], "value_history": { "ranked_values": [ { @@ -76222,35 +104886,31 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "A tool for finding security issues in Python code (https://bandit.readthedocs.io).", - "is_goal": false, - "provider": "pants.backend.python.lint.bandit", - "scope": "bandit" - }, - "black": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--black-install-from-resolve=", - "config_key": "install_from_resolve", + "comma_separated_display_args": "--docker-build-target-stage=", + "config_key": "build_target_stage", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-install-from-resolve="], - "env_var": "PANTS_BLACK_INSTALL_FROM_RESOLVE", + "display_args": [ + "--docker-build-target-stage=" + ], + "env_var": "PANTS_DOCKER_BUILD_TARGET_STAGE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Global default value for `target_stage` on `docker_image` targets, overriding the field value on the targets, if there is a matching stage in the `Dockerfile`.\n\nThis is useful to provide from the command line, to specify the target stage to build for at execution time.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-install-from-resolve"], + "scoped_cmd_line_args": [ + "--docker-build-target-stage" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--build-target-stage" + ], "value_history": { "ranked_values": [ { @@ -76264,32 +104924,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--black-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--docker-build-hosts=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "build_hosts", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-requirements=\"['', '', ...]\""], - "env_var": "PANTS_BLACK_REQUIREMENTS", + "display_args": [ + "--docker-build-hosts=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_DOCKER_BUILD_HOSTS", "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": "Hosts entries to be added to the `/etc/hosts` file in all built images.\n\nExample:\n\n [docker]\n build_hosts = {\"docker\": \"10.180.0.1\", \"docker2\": \"10.180.0.2\"}\n\nUse the `extra_build_hosts` field on a `docker_image` target for additional image specific host entries.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-requirements"], + "scoped_cmd_line_args": [ + "--docker-build-hosts" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--build-hosts" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": {} } ] } @@ -76297,34 +104963,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--black-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]docker-build-no-cache", + "config_key": "build_no_cache", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--black-interpreter-constraints=\"['', '', ...]\"" + "--[no-]docker-build-no-cache" ], - "env_var": "PANTS_BLACK_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_DOCKER_BUILD_NO_CACHE", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Do not use the Docker cache when building images.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--docker-build-no-cache", + "--no-docker-build-no-cache" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--build-no-cache", + "--no-build-no-cache" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": false } ] } @@ -76332,21 +105004,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--black-console-script=", - "config_key": "console_script", - "default": "black", + "comma_separated_display_args": "--[no-]docker-build-verbose", + "config_key": "build_verbose", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-console-script="], - "env_var": "PANTS_BLACK_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]docker-build-verbose" + ], + "env_var": "PANTS_DOCKER_BUILD_VERBOSE", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Whether to log the Docker output to the console. If false, only the image ID is logged.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-console-script"], + "scoped_cmd_line_args": [ + "--docker-build-verbose", + "--no-docker-build-verbose" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--build-verbose", + "--no-build-verbose" + ], "value_history": { "ranked_values": [ { @@ -76357,7 +105037,7 @@ { "details": null, "rank": "HARDCODED", - "value": "black" + "value": false } ] } @@ -76365,49 +105045,76 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--black-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--docker-run-args=\"[, , ...]\"", + "config_key": "run_args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-entry-point="], - "env_var": "PANTS_BLACK_ENTRY_POINT", + "display_args": [ + "--docker-run-args=\"[, , ...]\"" + ], + "env_var": "PANTS_DOCKER_RUN_ARGS", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Additional arguments to use for `docker run` invocations.\n\nExample:\n\n $ pants run --docker-run-args=\"-p 127.0.0.1:80:8080/tcp --name demo\" src/example:image -- [image entrypoint args]\n\nTo provide the top-level options to the `docker` client, use `[docker].env_vars` to configure the [Environment variables](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) as appropriate.\n\nThe arguments for the image entrypoint may be passed on the command line after a double dash (`--`), or using the `--run-args` option.\n\nDefaults to `--interactive --tty` when stdout is connected to a terminal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-entry-point"], + "scoped_cmd_line_args": [ + "--docker-run-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--run-args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for interacting with Docker.", + "is_goal": false, + "provider": "pants.backend.docker", + "scope": "docker" + }, + "dockerfile-parser": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--black-config=", - "config_key": "config", + "comma_separated_display_args": "--dockerfile-parser-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-config="], - "env_var": "PANTS_BLACK_CONFIG", + "display_args": [ + "--dockerfile-parser-install-from-resolve=" + ], + "env_var": "PANTS_DOCKERFILE_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Path to a TOML config file understood by Black (https://github.com/psf/black#configuration-format).\n\nSetting this option will disable `[black].config_discovery`. Use this option if the config is located in a non-standard location.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--black-config"], + "scoped_cmd_line_args": [ + "--dockerfile-parser-install-from-resolve" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -76421,73 +105128,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]black-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--dockerfile-parser-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]black-config-discovery"], - "env_var": "PANTS_BLACK_CONFIG_DISCOVERY", + "display_args": [ + "--dockerfile-parser-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOCKERFILE_PARSER_REQUIREMENTS", "fromfile": false, - "help": "If true, Pants will include any relevant pyproject.toml config files during runs.\n\nUse `[black].config` instead if your config is in a non-standard location.", + "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.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--black-config-discovery", - "--no-black-config-discovery" + "--dockerfile-parser-requirements" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--requirements" ], "value_history": { "ranked_values": [ { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true - } - ] - } - } - ], - "basic": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]black-skip", - "config_key": "skip", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]black-skip"], - "env_var": "PANTS_BLACK_SKIP", - "fromfile": false, - "help": "If true, don't use Black when running `pants fmt` and `pants lint`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--black-skip", "--no-black-skip"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], - "value_history": { - "ranked_values": [ - { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } @@ -76495,21 +105167,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--black-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--black-args=\"[, , ...]\""], - "env_var": "PANTS_BLACK_ARGS", + "display_args": [ + "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOCKERFILE_PARSER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Arguments to pass directly to Black, e.g. `--black-args='--target-version=py37 --quiet'`.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--black-args"], + "scoped_cmd_line_args": [ + "--dockerfile-parser-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -76520,39 +105200,48 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<4" + ] } ] } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The Black Python code formatter (https://black.readthedocs.io/).", + "description": "Used to parse Dockerfile build specs to infer their dependencies.", "is_goal": false, - "provider": "pants.core", - "scope": "black" + "provider": "pants.backend.docker", + "scope": "dockerfile-parser" }, - "buf": { + "download-terraform": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--buf-version=", + "comma_separated_display_args": "--download-terraform-version=", "config_key": "version", - "default": "v1.3.0", + "default": "1.4.6", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-version="], - "env_var": "PANTS_BUF_VERSION", + "display_args": [ + "--download-terraform-version=" + ], + "env_var": "PANTS_DOWNLOAD_TERRAFORM_VERSION", "fromfile": false, - "help": "Use this version of Buf.", + "help": "Use this version of terraform.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-version"], + "scoped_cmd_line_args": [ + "--download-terraform-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -76563,7 +105252,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v1.3.0" + "value": "1.4.6" } ] } @@ -76571,26 +105260,200 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--buf-known-versions=\"['', '', ...]\"", + "comma_separated_display_args": "--download-terraform-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v1.3.0|linux_arm64 |fbfd53c501451b36900247734bfa4cbe86ae05d0f51bc298de8711d5ee374ee5|13940828", - "v1.3.0|linux_x86_64|e29c4283b1cd68ada41fa493171c41d7605750d258fcd6ecdf692a63fae95213|15267162", - "v1.3.0|macos_arm64 |147985d7f2816a545792e38b26178ff4027bf16cd3712f6e387a4e3692a16deb|15391890", - "v1.3.0|macos_x86_64|3b6bd2e5a5dd758178aee01fb067261baf5d31bfebe93336915bfdf7b21928c4|15955291" + "1.4.6|macos_x86_64|5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d|22051279", + "1.4.6|macos_arm64|30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1|20613318", + "1.4.6|linux_x86_64|e079db1a8945e39b1f8ba4e513946b3ab9f32bd5a2bdf19b9b186d22c5a3d53b|20779821", + "1.4.6|linux_arm64|b38f5db944ac4942f11ceea465a91e365b0636febd9998c110fbbe95d61c3b26|18834675", + "1.4.5|macos_x86_64|808e54d826737e9a0ca79bbe29330e50d3622bbeeb26066c63b371a291731711|22031074", + "1.4.5|macos_arm64|7104d9d13632aa61b494a349c589048d21bd550e579404c3a41c4932e4d6aa97|20592841", + "1.4.5|linux_x86_64|ce10e941cd11554b15a189cd00191c05abc20dff865599d361bdb863c5f406a9|20767621", + "1.4.5|linux_arm64|ca2c48f518f72fef668255150cc5e63b92545edc62a05939bbff8a350bceb357|18813058", + "1.4.4|macos_x86_64|0303ed9d7e5a225fc2e6fa9bf76fc6574c0c0359f22d5dfc04bc8b3234444f7c|22032187", + "1.4.4|macos_arm64|75602d9ec491982ceabea813569579b2991093a4e0d76b7ca86ffd9b7a2a1d1e|20594012", + "1.4.4|linux_x86_64|67541c1f6631befcc25b764028e5605e59234d4424e60a256518ee1e8dd50593|20767354", + "1.4.4|linux_arm64|f0b4e092f2aa6de3324e5e4b5b51260ecf5e8c2f5335ff7a2ffdc4fb54a8922d|18814310", + "1.4.3|macos_x86_64|89bdb242bfacf24167f365ef7a3bf0ad0e443ddd27ebde425fb71d77ce1a2597|22032267", + "1.4.3|macos_arm64|20b9d484bf99ada6c0de89316176ba33f7c87f64c0738991188465147bba221b|20574247", + "1.4.3|linux_x86_64|2252ee6ac8437b93db2b2ba341edc87951e2916afaeb50a88b858e80796e9111|20781685", + "1.4.3|linux_arm64|d3d9464953d390970e7f4f7cbcd94dbf63136da6fe1cbb4955d944a9315bdcdb|18814307", + "1.4.2|macos_x86_64|c218a6c0ef6692b25af16995c8c7bdf6739e9638fef9235c6aced3cd84afaf66|22030042", + "1.4.2|macos_arm64|af8ff7576c8fc41496fdf97e9199b00d8d81729a6a0e821eaf4dfd08aa763540|20588400", + "1.4.2|linux_x86_64|9f3ca33d04f5335472829d1df7785115b60176d610ae6f1583343b0a2221a931|20234129", + "1.4.2|linux_arm64|39c182670c4e63e918e0a16080b1cc47bb16e158d7da96333d682d6a9cb8eb91|18206088", + "1.4.1|macos_x86_64|96466364a7e66e3d456ecb6c85a63c83e124c004f8835fb8ea9b7bbb7542a9d0|22077050", + "1.4.1|macos_arm64|61f76e130b97c8a9017d8aaff15d252af29117e35ea1a0fc30bcaab7ceafce73|20634145", + "1.4.1|linux_x86_64|9e9f3e6752168dea8ecb3643ea9c18c65d5a52acc06c22453ebc4e3fc2d34421|20276168", + "1.4.1|linux_arm64|53322cc70b6e50ac1985bf26a78ffa2814789a4704880f071eaf3e67a463d6f6|18248378", + "1.4.0|macos_x86_64|e897a4217f1c3bfe37c694570dcc6371336fbda698790bb6b0547ec8daf1ffb3|21935694", + "1.4.0|macos_arm64|d4a1e564714c6acf848e86dc020ff182477b49f932e3f550a5d9c8f5da7636fb|20508091", + "1.4.0|linux_x86_64|5da60da508d6d1941ffa8b9216147456a16bbff6db7622ae9ad01d314cbdd188|20144407", + "1.4.0|linux_arm64|33e0f4f0b75f507fc19012111de008308df343153cd6a3992507f4566c0bb723|18130960", + "1.3.9|macos_x86_64|a73326ea8fb06f6976597e005f8047cbd55ac76ed1e517303d8f6395db6c7805|21194871", + "1.3.9|macos_arm64|d8a59a794a7f99b484a07a0ed2aa6520921d146ac5a7f4b1b806dcf5c4af0525|19793371", + "1.3.9|linux_x86_64|53048fa573effdd8f2a59b726234c6f450491fe0ded6931e9f4c6e3df6eece56|19477757", + "1.3.9|linux_arm64|da571087268c5faf884912c4239c6b9c8e1ed8e8401ab1dcb45712df70f42f1b|17513770", + "1.3.8|macos_x86_64|1a27a6fac31ecb05de610daf61a29fe83d304d7c519d773afbf56c11c3b6276b|21189878", + "1.3.8|macos_arm64|873b05ac81645cd7289d6ccfd3e73d4735af1a453f2cd19da0650bdabf7d2eb6|19780134", + "1.3.8|linux_x86_64|9d9e7d6a9b41cef8b837af688441d4fbbd84b503d24061d078ad662441c70240|19479266", + "1.3.8|linux_arm64|a42bf3c7d6327f45d2b212b692ab4229285fb44dbb8adb7c39e18be2b26167c8|17507360", + "1.3.7|macos_x86_64|eeae48adcd55212b34148ed203dd5843e9b2a84a852a9877f3386fadb0514980|21185288", + "1.3.7|macos_arm64|01d553db5f7b4cf0729b725e4402643efde5884b1dabf5eb80af328ce5e447cf|19774151", + "1.3.7|linux_x86_64|b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e|19464102", + "1.3.7|linux_arm64|5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38|17499971", + "1.3.6|macos_x86_64|13881fe0100238577394243a90c0631783aad21b77a9a7ee830404f86c0d37bb|21183111", + "1.3.6|macos_arm64|dbff0aeeaeee877c254f5414bef5c9d186e159aa0019223aac678abad9442c53|19779986", + "1.3.6|linux_x86_64|bb44a4c2b0a832d49253b9034d8ccbd34f9feeb26eda71c665f6e7fa0861f49b|19466755", + "1.3.6|linux_arm64|f4b1af29094290f1b3935c29033c4e5291664ee2c015ca251a020dd425c847c3|17501845", + "1.3.5|macos_x86_64|e6c9836188265b20c2588e9c9d6b1727094b324a379337e68ba58a6d26be8b51|21182319", + "1.3.5|macos_arm64|fcec1cbff229fbe59b03257ba2451d5ad1f5129714f08ccf6372b2737647c063|19780547", + "1.3.5|linux_x86_64|ac28037216c3bc41de2c22724e863d883320a770056969b8d211ca8af3d477cf|19469337", + "1.3.5|linux_arm64|ba5b1761046b899197bbfce3ad9b448d14550106d2cc37c52a60fc6822b584ed|17502759", + "1.3.4|macos_x86_64|2a75c69ec5ed8506658b266a40075256b62a7d245ff6297df7e48fa72af23879|21181585", + "1.3.4|macos_arm64|a1f740f92afac6db84421a3ec07d9061c34a32f88b4b0b47d243de16c961169f|19773343", + "1.3.4|linux_x86_64|b24210f28191fa2a08efe69f54e3db2e87a63369ac4f5dcaf9f34dc9318eb1a8|19462529", + "1.3.4|linux_arm64|65381c6b61b2d1a98892199f649a5764ff5a772080a73d70f8663245e6402c39|17494667", + "1.3.3|macos_x86_64|2b3cf653cd106becdea562b6c8d3f8939641e5626c5278729cbef81678fa9f42|21163874", + "1.3.3|macos_arm64|51e94ecf88059e8a53c363a048b658230f560574f99b0d8396ebacead894d159|19755200", + "1.3.3|linux_x86_64|fa5cbf4274c67f2937cabf1a6544529d35d0b8b729ce814b40d0611fd26193c1|19451941", + "1.3.3|linux_arm64|b940a080c698564df5e6a2f1c4e1b51b2c70a5115358d2361e3697d3985ecbfe|17488660", + "1.3.2|macos_x86_64|3639461bbc712dc130913bbe632afb449fce8c0df692429d311e7cb808601901|21163990", + "1.3.2|macos_arm64|80480acbfee2e2d0b094f721f7568a40b790603080d6612e19b797a16b8ba82d|19757201", + "1.3.2|linux_x86_64|6372e02a7f04bef9dac4a7a12f4580a0ad96a37b5997e80738e070be330cb11c|19451510", + "1.3.2|linux_arm64|ce1a8770aaf27736a3352c5c31e95fb10d0944729b9d81013bf6848f8657da5f|17485206", + "1.3.1|macos_x86_64|4282ebe6d1d72ace0d93e8a4bcf9a6f3aceac107966216355bb516b1c49cc203|21161667", + "1.3.1|macos_arm64|f0514f29b08da2f39ba4fff0d7eb40093915c9c69ddc700b6f39b78275207d96|19756039", + "1.3.1|linux_x86_64|0847b14917536600ba743a759401c45196bf89937b51dd863152137f32791899|19450765", + "1.3.1|linux_arm64|7ebb3d1ff94017fbef8acd0193e0bd29dec1a8925e2b573c05a92fdb743d1d5b|17486534", + "1.3.0|macos_x86_64|80e55182d4495da867c93c25dc6ae29be83ece39d3225e6adedecd55b72d6bbf|21163947", + "1.3.0|macos_arm64|df703317b5c7f80dc7c61e46de4697c9f440e650a893623351ab5e184995b404|19741011", + "1.3.0|linux_x86_64|380ca822883176af928c80e5771d1c0ac9d69b13c6d746e6202482aedde7d457|19450952", + "1.3.0|linux_arm64|0a15de6f934cf2217e5055412e7600d342b4f7dcc133564690776fece6213a9a|17488551", + "1.2.9|macos_x86_64|84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c|21672810", + "1.2.9|macos_arm64|bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa|20280541", + "1.2.9|linux_x86_64|0e0fc38641addac17103122e1953a9afad764a90e74daf4ff8ceeba4e362f2fb|19906116", + "1.2.9|linux_arm64|6da7bf01f5a72e61255c2d80eddeba51998e2bb1f50a6d81b0d3b71e70e18531|17946045", + "1.2.8|macos_x86_64|efd3e21a9bb1cfa68303f8d119ea8970dbb616f5f99caa0fe21d796e0cd70252|21678594", + "1.2.8|macos_arm64|2c83bfea9e1c202c449e91bee06a804afb45cb8ba64a73da48fb0f61df51b327|20277152", + "1.2.8|linux_x86_64|3e9c46d6f37338e90d5018c156d89961b0ffb0f355249679593aff99f9abe2a2|19907515", + "1.2.8|linux_arm64|26c05cadb05cdaa8ac64b90b982b4e9350715ec2e9995a6b03bb964d230de055|17947439", + "1.2.7|macos_x86_64|74e47b54ea78685be24c84e0e17b22b56220afcdb24ec853514b3863199f01e4|21673162", + "1.2.7|macos_arm64|ec4e623914b411f8cc93a1e71396a1e7f1fe1e96bb2e532ba3e955d2ca5cc442|20278743", + "1.2.7|linux_x86_64|dfd7c44a5b6832d62860a01095a15b53616fb3ea4441ab89542f9364e3fca718|19907183", + "1.2.7|linux_arm64|80d064008d57ba5dc97e189215c87275bf39ca14b1234430eae2f114394ea229|17943724", + "1.2.6|macos_x86_64|d896d2776af8b06cd4acd695ad75913040ce31234f5948688fd3c3fde53b1f75|21670957", + "1.2.6|macos_arm64|c88ceb34f343a2bb86960e32925c5ec43b41922ee9ede1019c5cf7d7b4097718|20279669", + "1.2.6|linux_x86_64|9fd445e7a191317dcfc99d012ab632f2cc01f12af14a44dfbaba82e0f9680365|19905977", + "1.2.6|linux_arm64|322755d11f0da11169cdb234af74ada5599046c698dccc125859505f85da2a20|17943213", + "1.2.5|macos_x86_64|2520fde736b43332b0c2648f4f6dde407335f322a3085114dc4f70e6e50eadc0|21659883", + "1.2.5|macos_arm64|92ad40db4a0930bdf872d6336a7b3a18b17c6fd04d9fc769b554bf51c8add505|20266441", + "1.2.5|linux_x86_64|281344ed7e2b49b3d6af300b1fe310beed8778c56f3563c4d60e5541c0978f1b|19897064", + "1.2.5|linux_arm64|0544420eb29b792444014988018ae77a7c8df6b23d84983728695ba73e38f54a|17938208", + "1.2.4|macos_x86_64|e7d2c66264a3da94854ae6ff692bbb9a1bc11c36bb5658e3ef19841388a07430|21658356", + "1.2.4|macos_arm64|c31754ff5553707ef9fd2f913b833c779ab05ce192eb14913f51816a077c6798|20263133", + "1.2.4|linux_x86_64|705ea62a44a0081594dad6b2b093eefefb12d54fa5a20a66562f9e082b00414c|19895510", + "1.2.4|linux_arm64|11cfa2233dc708b51b16d5b923379db67e35c22b1b988773e5b31a7c2e251471|17936883", + "1.2.3|macos_x86_64|bdc22658463237530dc120dadb0221762d9fb9116e7a6e0dc063d8ae649c431e|21658937", + "1.2.3|macos_arm64|6f06debac2ac54951464bf490e1606f973ab53ad8ba5decea76646e8f9309512|20256836", + "1.2.3|linux_x86_64|728b6fbcb288ad1b7b6590585410a98d3b7e05efe4601ef776c37e15e9a83a96|19891436", + "1.2.3|linux_arm64|a48991e938a25bfe5d257f4b6cbbdc73d920cc34bbc8f0e685e28b9610ad75fe|17933271", + "1.2.2|macos_x86_64|1d22663c1ab22ecea774ae63aee21eecfee0bbc23b953206d889a5ba3c08525a|21656824", + "1.2.2|macos_arm64|b87716b55a3b10cced60db5285bae57aee9cc0f81c555dccdc4f54f62c2a3b60|20254768", + "1.2.2|linux_x86_64|2934a0e8824925beb956b2edb5fef212a6141c089d29d8568150a43f95b3a626|19889133", + "1.2.2|linux_arm64|9c6202237d7477412054dcd36fdc269da9ee66ecbc45bb07d0d63b7d36af7b21|17932829", + "1.2.1|macos_x86_64|31c0fd4deb7c6a77c08d2fdf59c37950e6df7165088c004e1dd7f5e09fbf6307|21645582", + "1.2.1|macos_arm64|70159b3e3eb49ee71193815943d9217c59203fd4ee8c6960aeded744094a2250|20253448", + "1.2.1|linux_x86_64|8cf8eb7ed2d95a4213fbfd0459ab303f890e79220196d1c4aae9ecf22547302e|19881618", + "1.2.1|linux_arm64|972ea512dac822274791dedceb6e7f8b9ac2ed36bd7759269b6806d0ab049128|17922073", + "1.2.0|macos_x86_64|1b102ba3bf0c60ff6cbee74f721bf8105793c1107a1c6d03dcab98d7079f0c77|21645732", + "1.2.0|macos_arm64|f5e46cabe5889b60597f0e9c365cbc663e4c952c90a16c10489897c2075ae4f0|20253335", + "1.2.0|linux_x86_64|b87de03adbdfdff3c2552c8c8377552d0eecd787154465100cf4e29de4a7be1f|19880608", + "1.2.0|linux_arm64|ee80b8635d8fdbaed57beffe281cf87b8b1fd1ddb29c08d20e25a152d9f0f871|17920355", + "1.1.9|macos_x86_64|685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc|20850638", + "1.1.9|macos_arm64|39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c|20093184", + "1.1.9|linux_x86_64|9d2d8a89f5cc8bc1c06cb6f34ce76ec4b99184b07eb776f8b39183b513d7798a|19262029", + "1.1.9|linux_arm64|e8a09d1fe5a68ed75e5fabe26c609ad12a7e459002dea6543f1084993b87a266|17521011", + "1.1.8|macos_x86_64|48f1f1e04d0aa8f5f1a661de95e3c2b8fd8ab16b3d44015372aff7693d36c2cf|20354970", + "1.1.8|macos_arm64|943e1948c4eae82cf8b490bb274939fe666252bbc146f098e7da65b23416264a|19631574", + "1.1.8|linux_x86_64|fbd37c1ec3d163f493075aa0fa85147e7e3f88dd98760ee7af7499783454f4c5|18796132", + "1.1.8|linux_arm64|10b2c063dcff91329ee44bce9d71872825566b713308b3da1e5768c6998fb84f|17107405", + "1.1.7|macos_x86_64|6e56eea328683541f6de0d5f449251a974d173e6d8161530956a20d9c239731a|20351873", + "1.1.7|macos_arm64|8919ceee34f6bfb16a6e9ff61c95f4043c35c6d70b21de27e5a153c19c7eba9c|19625836", + "1.1.7|linux_x86_64|e4add092a54ff6febd3325d1e0c109c9e590dc6c38f8bb7f9632e4e6bcca99d4|18795309", + "1.1.7|linux_arm64|2f72982008c52d2d57294ea50794d7c6ae45d2948e08598bfec3e492bce8d96e|17109768", + "1.1.6|macos_x86_64|7a499c1f08d89548ae4c0e829eea43845fa1bd7b464e7df46102b35e6081fe44|20303856", + "1.1.6|macos_arm64|f06a14fdb610ec5a7f18bdbb2f67187230eb418329756732d970b6ca3dae12c3|19577273", + "1.1.6|linux_x86_64|3e330ce4c8c0434cdd79fe04ed6f6e28e72db44c47ae50d01c342c8a2b05d331|18751464", + "1.1.6|linux_arm64|a53fb63625af3572f7252b9fb61d787ab153132a8984b12f4bb84b8ee408ec53|17069580", + "1.1.5|macos_x86_64|dcf7133ebf61d195e432ddcb70e604bf45056163d960e991881efbecdbd7892b|20300006", + "1.1.5|macos_arm64|6e5a8d22343722dc8bfcf1d2fd7b742f5b46287f87171e8143fc9b87db32c3d4|19581167", + "1.1.5|linux_x86_64|30942d5055c7151f051c8ea75481ff1dc95b2c4409dbb50196419c21168d6467|18748879", + "1.1.5|linux_arm64|2fb6324c24c14523ae63cedcbc94a8e6c1c317987eced0abfca2f6218d217ca5|17069683", + "1.1.4|macos_x86_64|4f3bc78fedd4aa17f67acc0db4eafdb6d70ba72392aaba65fe72855520f11f3d|20242050", + "1.1.4|macos_arm64|5642b46e9c7fb692f05eba998cd4065fb2e48aa8b0aac9d2a116472fbabe34a1|19498408", + "1.1.4|linux_x86_64|fca028d622f82788fdc35c1349e78d69ff07c7bb68c27d12f8b48c420e3ecdfb|18695508", + "1.1.4|linux_arm64|3c1982cf0d16276c82960db60c998d79ba19e413af4fa2c7f6f86e4994379437|16996040", + "1.1.3|macos_x86_64|016bab760c96d4e64d2140a5f25c614ccc13c3fe9b3889e70c564bd02099259f|20241648", + "1.1.3|macos_arm64|02ba769bb0a8d4bc50ff60989b0f201ce54fd2afac2fb3544a0791aca5d3f6d5|19493636", + "1.1.3|linux_x86_64|b215de2a18947fff41803716b1829a3c462c4f009b687c2cbdb52ceb51157c2f|18692580", + "1.1.3|linux_arm64|ad5a1f2c132bedc5105e3f9900e4fe46858d582c0f2a2d74355da718bbcef65d|16996972", + "1.1.2|macos_x86_64|78faa76db5dc0ecfe4bf7c6368dbf5cca019a806f9d203580a24a4e0f8cd8353|20240584", + "1.1.2|macos_arm64|cc3bd03b72db6247c9105edfeb9c8f674cf603e08259075143ffad66f5c25a07|19486800", + "1.1.2|linux_x86_64|734efa82e2d0d3df8f239ce17f7370dabd38e535d21e64d35c73e45f35dfa95c|18687805", + "1.1.2|linux_arm64|088e2226d1ddb7f68a4f65c704022a1cfdbf20fe40f02e0c3646942f211fd746|16994702", + "1.1.1|macos_x86_64|d125dd2e92b9245f2202199b52f234035f36bdcbcd9a06f08e647e14a9d9067a|20237718", + "1.1.1|macos_arm64|4cb6e5eb4f6036924caf934c509a1dfd61cd2c651bb3ee8fbfe2e2914dd9ed17|19488315", + "1.1.1|linux_x86_64|07b8dc444540918597a60db9351af861335c3941f28ea8774e168db97dd74557|18687006", + "1.1.1|linux_arm64|d6fd14da47af9ec5fa3ad5962eaef8eed6ff2f8a5041671f9c90ec5f4f8bb554|16995635", + "1.1.0|macos_x86_64|6e0ba9afb8795a544e70dc0459f0095fea7df15e38f5d88a7dd3f620d50f8bfe|20226329", + "1.1.0|macos_arm64|7955e173c7eadb87123fc0633c3ee67d5ba3b7d6c7f485fe803efed9f99dce54|19491369", + "1.1.0|linux_x86_64|763378aa75500ce5ba67d0cba8aa605670cd28bf8bafc709333a30908441acb5|18683106", + "1.1.0|linux_arm64|6697e9a263e264310373f3c91bf83f4cbfeb67b13994d2a8f7bcc492b554552e|16987201", + "1.0.11|macos_x86_64|551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131|19422757", + "1.0.11|macos_arm64|737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6|18467868", + "1.0.11|linux_x86_64|eeb46091a42dc303c3a3c300640c7774ab25cbee5083dafa5fd83b54c8aca664|18082446", + "1.0.11|linux_arm64|30c650f4bc218659d43e07d911c00f08e420664a3d12c812228e66f666758645|16148492", + "1.0.10|macos_x86_64|077479e98701bc9be88db21abeec684286fd85a3463ce437d7739d2a4e372f18|33140832", + "1.0.10|macos_arm64|776f2e144039ece66ae326ebda0884254848a2e11f0590757d02e3a74f058c81|32013985", + "1.0.10|linux_x86_64|a221682fcc9cbd7fde22f305ead99b3ad49d8303f152e118edda086a2807716d|32674953", + "1.0.10|linux_arm64|b091dbe5c00785ae8b5cb64149d697d61adea75e495d9e3d910f61d8c9967226|30505040", + "1.0.9|macos_x86_64|be122ff7fb925643c5ebf4e5704b18426e18d3ca49ab59ae33d208c908cb6d5a|33140006", + "1.0.9|macos_arm64|89b2b4fd1a0c57fabc08ad3180ad148b1f7c1c0492ed865408f75f12e11a083b|32010657", + "1.0.9|linux_x86_64|f06ac64c6a14ed6a923d255788e4a5daefa2b50e35f32d7a3b5a2f9a5a91e255|32674820", + "1.0.9|linux_arm64|457ac590301126e7b151ea08c5b9586a882c60039a0605fb1e44b8d23d2624fd|30510941", + "1.0.8|macos_x86_64|909781ee76250cf7445f3b7d2b82c701688725fa1db3fb5543dfeed8c47b59de|33140123", + "1.0.8|macos_arm64|92fa31b93d736fab6f3d105beb502a9da908445ed942a3d46952eae88907c53e|32011344", + "1.0.8|linux_x86_64|a73459d406067ce40a46f026dce610740d368c3b4a3d96591b10c7a577984c2e|32681118", + "1.0.8|linux_arm64|01aaef769f4791f9b28530e750aadbc983a8eabd0d55909e26392b333a1a26e4|30515501", + "1.0.7|macos_x86_64|23b85d914465882b027d3819cc05cd114a1aaf39b550de742e81a99daa998183|33140742", + "1.0.7|macos_arm64|d9062959f28ba0f934bfe2b6e0b021e0c01a48fa065102554ca103b8274e8e0c|32012708", + "1.0.7|linux_x86_64|bc79e47649e2529049a356f9e60e06b47462bf6743534a10a4c16594f443be7b|32671441", + "1.0.7|linux_arm64|4e71a9e759578020750be41e945c086e387affb58568db6d259d80d123ac80d3|30529105", + "1.0.6|macos_x86_64|5ac4f41d5e28f31817927f2c5766c5d9b98b68d7b342e25b22d053f9ecd5a9f1|33141677", + "1.0.6|macos_arm64|613020f90a6a5d0b98ebeb4e7cdc4b392aa06ce738fbb700159a465cd27dcbfa|32024047", + "1.0.6|linux_x86_64|6a454323d252d34e928785a3b7c52bfaff1192f82685dfee4da1279bb700b733|32677516", + "1.0.6|linux_arm64|2047f8afc7d0d7b645a0422181ba3fe47b3547c4fe658f95eebeb872752ec129|30514636" ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_BUF_KNOWN_VERSIONS", + "display_args": [ + "--download-terraform-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOWNLOAD_TERRAFORM_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": ["--buf-known-versions"], + "scoped_cmd_line_args": [ + "--download-terraform-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -76602,10 +105465,178 @@ "details": "", "rank": "HARDCODED", "value": [ - "v1.3.0|linux_arm64 |fbfd53c501451b36900247734bfa4cbe86ae05d0f51bc298de8711d5ee374ee5|13940828", - "v1.3.0|linux_x86_64|e29c4283b1cd68ada41fa493171c41d7605750d258fcd6ecdf692a63fae95213|15267162", - "v1.3.0|macos_arm64 |147985d7f2816a545792e38b26178ff4027bf16cd3712f6e387a4e3692a16deb|15391890", - "v1.3.0|macos_x86_64|3b6bd2e5a5dd758178aee01fb067261baf5d31bfebe93336915bfdf7b21928c4|15955291" + "1.4.6|macos_x86_64|5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d|22051279", + "1.4.6|macos_arm64|30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1|20613318", + "1.4.6|linux_x86_64|e079db1a8945e39b1f8ba4e513946b3ab9f32bd5a2bdf19b9b186d22c5a3d53b|20779821", + "1.4.6|linux_arm64|b38f5db944ac4942f11ceea465a91e365b0636febd9998c110fbbe95d61c3b26|18834675", + "1.4.5|macos_x86_64|808e54d826737e9a0ca79bbe29330e50d3622bbeeb26066c63b371a291731711|22031074", + "1.4.5|macos_arm64|7104d9d13632aa61b494a349c589048d21bd550e579404c3a41c4932e4d6aa97|20592841", + "1.4.5|linux_x86_64|ce10e941cd11554b15a189cd00191c05abc20dff865599d361bdb863c5f406a9|20767621", + "1.4.5|linux_arm64|ca2c48f518f72fef668255150cc5e63b92545edc62a05939bbff8a350bceb357|18813058", + "1.4.4|macos_x86_64|0303ed9d7e5a225fc2e6fa9bf76fc6574c0c0359f22d5dfc04bc8b3234444f7c|22032187", + "1.4.4|macos_arm64|75602d9ec491982ceabea813569579b2991093a4e0d76b7ca86ffd9b7a2a1d1e|20594012", + "1.4.4|linux_x86_64|67541c1f6631befcc25b764028e5605e59234d4424e60a256518ee1e8dd50593|20767354", + "1.4.4|linux_arm64|f0b4e092f2aa6de3324e5e4b5b51260ecf5e8c2f5335ff7a2ffdc4fb54a8922d|18814310", + "1.4.3|macos_x86_64|89bdb242bfacf24167f365ef7a3bf0ad0e443ddd27ebde425fb71d77ce1a2597|22032267", + "1.4.3|macos_arm64|20b9d484bf99ada6c0de89316176ba33f7c87f64c0738991188465147bba221b|20574247", + "1.4.3|linux_x86_64|2252ee6ac8437b93db2b2ba341edc87951e2916afaeb50a88b858e80796e9111|20781685", + "1.4.3|linux_arm64|d3d9464953d390970e7f4f7cbcd94dbf63136da6fe1cbb4955d944a9315bdcdb|18814307", + "1.4.2|macos_x86_64|c218a6c0ef6692b25af16995c8c7bdf6739e9638fef9235c6aced3cd84afaf66|22030042", + "1.4.2|macos_arm64|af8ff7576c8fc41496fdf97e9199b00d8d81729a6a0e821eaf4dfd08aa763540|20588400", + "1.4.2|linux_x86_64|9f3ca33d04f5335472829d1df7785115b60176d610ae6f1583343b0a2221a931|20234129", + "1.4.2|linux_arm64|39c182670c4e63e918e0a16080b1cc47bb16e158d7da96333d682d6a9cb8eb91|18206088", + "1.4.1|macos_x86_64|96466364a7e66e3d456ecb6c85a63c83e124c004f8835fb8ea9b7bbb7542a9d0|22077050", + "1.4.1|macos_arm64|61f76e130b97c8a9017d8aaff15d252af29117e35ea1a0fc30bcaab7ceafce73|20634145", + "1.4.1|linux_x86_64|9e9f3e6752168dea8ecb3643ea9c18c65d5a52acc06c22453ebc4e3fc2d34421|20276168", + "1.4.1|linux_arm64|53322cc70b6e50ac1985bf26a78ffa2814789a4704880f071eaf3e67a463d6f6|18248378", + "1.4.0|macos_x86_64|e897a4217f1c3bfe37c694570dcc6371336fbda698790bb6b0547ec8daf1ffb3|21935694", + "1.4.0|macos_arm64|d4a1e564714c6acf848e86dc020ff182477b49f932e3f550a5d9c8f5da7636fb|20508091", + "1.4.0|linux_x86_64|5da60da508d6d1941ffa8b9216147456a16bbff6db7622ae9ad01d314cbdd188|20144407", + "1.4.0|linux_arm64|33e0f4f0b75f507fc19012111de008308df343153cd6a3992507f4566c0bb723|18130960", + "1.3.9|macos_x86_64|a73326ea8fb06f6976597e005f8047cbd55ac76ed1e517303d8f6395db6c7805|21194871", + "1.3.9|macos_arm64|d8a59a794a7f99b484a07a0ed2aa6520921d146ac5a7f4b1b806dcf5c4af0525|19793371", + "1.3.9|linux_x86_64|53048fa573effdd8f2a59b726234c6f450491fe0ded6931e9f4c6e3df6eece56|19477757", + "1.3.9|linux_arm64|da571087268c5faf884912c4239c6b9c8e1ed8e8401ab1dcb45712df70f42f1b|17513770", + "1.3.8|macos_x86_64|1a27a6fac31ecb05de610daf61a29fe83d304d7c519d773afbf56c11c3b6276b|21189878", + "1.3.8|macos_arm64|873b05ac81645cd7289d6ccfd3e73d4735af1a453f2cd19da0650bdabf7d2eb6|19780134", + "1.3.8|linux_x86_64|9d9e7d6a9b41cef8b837af688441d4fbbd84b503d24061d078ad662441c70240|19479266", + "1.3.8|linux_arm64|a42bf3c7d6327f45d2b212b692ab4229285fb44dbb8adb7c39e18be2b26167c8|17507360", + "1.3.7|macos_x86_64|eeae48adcd55212b34148ed203dd5843e9b2a84a852a9877f3386fadb0514980|21185288", + "1.3.7|macos_arm64|01d553db5f7b4cf0729b725e4402643efde5884b1dabf5eb80af328ce5e447cf|19774151", + "1.3.7|linux_x86_64|b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e|19464102", + "1.3.7|linux_arm64|5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38|17499971", + "1.3.6|macos_x86_64|13881fe0100238577394243a90c0631783aad21b77a9a7ee830404f86c0d37bb|21183111", + "1.3.6|macos_arm64|dbff0aeeaeee877c254f5414bef5c9d186e159aa0019223aac678abad9442c53|19779986", + "1.3.6|linux_x86_64|bb44a4c2b0a832d49253b9034d8ccbd34f9feeb26eda71c665f6e7fa0861f49b|19466755", + "1.3.6|linux_arm64|f4b1af29094290f1b3935c29033c4e5291664ee2c015ca251a020dd425c847c3|17501845", + "1.3.5|macos_x86_64|e6c9836188265b20c2588e9c9d6b1727094b324a379337e68ba58a6d26be8b51|21182319", + "1.3.5|macos_arm64|fcec1cbff229fbe59b03257ba2451d5ad1f5129714f08ccf6372b2737647c063|19780547", + "1.3.5|linux_x86_64|ac28037216c3bc41de2c22724e863d883320a770056969b8d211ca8af3d477cf|19469337", + "1.3.5|linux_arm64|ba5b1761046b899197bbfce3ad9b448d14550106d2cc37c52a60fc6822b584ed|17502759", + "1.3.4|macos_x86_64|2a75c69ec5ed8506658b266a40075256b62a7d245ff6297df7e48fa72af23879|21181585", + "1.3.4|macos_arm64|a1f740f92afac6db84421a3ec07d9061c34a32f88b4b0b47d243de16c961169f|19773343", + "1.3.4|linux_x86_64|b24210f28191fa2a08efe69f54e3db2e87a63369ac4f5dcaf9f34dc9318eb1a8|19462529", + "1.3.4|linux_arm64|65381c6b61b2d1a98892199f649a5764ff5a772080a73d70f8663245e6402c39|17494667", + "1.3.3|macos_x86_64|2b3cf653cd106becdea562b6c8d3f8939641e5626c5278729cbef81678fa9f42|21163874", + "1.3.3|macos_arm64|51e94ecf88059e8a53c363a048b658230f560574f99b0d8396ebacead894d159|19755200", + "1.3.3|linux_x86_64|fa5cbf4274c67f2937cabf1a6544529d35d0b8b729ce814b40d0611fd26193c1|19451941", + "1.3.3|linux_arm64|b940a080c698564df5e6a2f1c4e1b51b2c70a5115358d2361e3697d3985ecbfe|17488660", + "1.3.2|macos_x86_64|3639461bbc712dc130913bbe632afb449fce8c0df692429d311e7cb808601901|21163990", + "1.3.2|macos_arm64|80480acbfee2e2d0b094f721f7568a40b790603080d6612e19b797a16b8ba82d|19757201", + "1.3.2|linux_x86_64|6372e02a7f04bef9dac4a7a12f4580a0ad96a37b5997e80738e070be330cb11c|19451510", + "1.3.2|linux_arm64|ce1a8770aaf27736a3352c5c31e95fb10d0944729b9d81013bf6848f8657da5f|17485206", + "1.3.1|macos_x86_64|4282ebe6d1d72ace0d93e8a4bcf9a6f3aceac107966216355bb516b1c49cc203|21161667", + "1.3.1|macos_arm64|f0514f29b08da2f39ba4fff0d7eb40093915c9c69ddc700b6f39b78275207d96|19756039", + "1.3.1|linux_x86_64|0847b14917536600ba743a759401c45196bf89937b51dd863152137f32791899|19450765", + "1.3.1|linux_arm64|7ebb3d1ff94017fbef8acd0193e0bd29dec1a8925e2b573c05a92fdb743d1d5b|17486534", + "1.3.0|macos_x86_64|80e55182d4495da867c93c25dc6ae29be83ece39d3225e6adedecd55b72d6bbf|21163947", + "1.3.0|macos_arm64|df703317b5c7f80dc7c61e46de4697c9f440e650a893623351ab5e184995b404|19741011", + "1.3.0|linux_x86_64|380ca822883176af928c80e5771d1c0ac9d69b13c6d746e6202482aedde7d457|19450952", + "1.3.0|linux_arm64|0a15de6f934cf2217e5055412e7600d342b4f7dcc133564690776fece6213a9a|17488551", + "1.2.9|macos_x86_64|84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c|21672810", + "1.2.9|macos_arm64|bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa|20280541", + "1.2.9|linux_x86_64|0e0fc38641addac17103122e1953a9afad764a90e74daf4ff8ceeba4e362f2fb|19906116", + "1.2.9|linux_arm64|6da7bf01f5a72e61255c2d80eddeba51998e2bb1f50a6d81b0d3b71e70e18531|17946045", + "1.2.8|macos_x86_64|efd3e21a9bb1cfa68303f8d119ea8970dbb616f5f99caa0fe21d796e0cd70252|21678594", + "1.2.8|macos_arm64|2c83bfea9e1c202c449e91bee06a804afb45cb8ba64a73da48fb0f61df51b327|20277152", + "1.2.8|linux_x86_64|3e9c46d6f37338e90d5018c156d89961b0ffb0f355249679593aff99f9abe2a2|19907515", + "1.2.8|linux_arm64|26c05cadb05cdaa8ac64b90b982b4e9350715ec2e9995a6b03bb964d230de055|17947439", + "1.2.7|macos_x86_64|74e47b54ea78685be24c84e0e17b22b56220afcdb24ec853514b3863199f01e4|21673162", + "1.2.7|macos_arm64|ec4e623914b411f8cc93a1e71396a1e7f1fe1e96bb2e532ba3e955d2ca5cc442|20278743", + "1.2.7|linux_x86_64|dfd7c44a5b6832d62860a01095a15b53616fb3ea4441ab89542f9364e3fca718|19907183", + "1.2.7|linux_arm64|80d064008d57ba5dc97e189215c87275bf39ca14b1234430eae2f114394ea229|17943724", + "1.2.6|macos_x86_64|d896d2776af8b06cd4acd695ad75913040ce31234f5948688fd3c3fde53b1f75|21670957", + "1.2.6|macos_arm64|c88ceb34f343a2bb86960e32925c5ec43b41922ee9ede1019c5cf7d7b4097718|20279669", + "1.2.6|linux_x86_64|9fd445e7a191317dcfc99d012ab632f2cc01f12af14a44dfbaba82e0f9680365|19905977", + "1.2.6|linux_arm64|322755d11f0da11169cdb234af74ada5599046c698dccc125859505f85da2a20|17943213", + "1.2.5|macos_x86_64|2520fde736b43332b0c2648f4f6dde407335f322a3085114dc4f70e6e50eadc0|21659883", + "1.2.5|macos_arm64|92ad40db4a0930bdf872d6336a7b3a18b17c6fd04d9fc769b554bf51c8add505|20266441", + "1.2.5|linux_x86_64|281344ed7e2b49b3d6af300b1fe310beed8778c56f3563c4d60e5541c0978f1b|19897064", + "1.2.5|linux_arm64|0544420eb29b792444014988018ae77a7c8df6b23d84983728695ba73e38f54a|17938208", + "1.2.4|macos_x86_64|e7d2c66264a3da94854ae6ff692bbb9a1bc11c36bb5658e3ef19841388a07430|21658356", + "1.2.4|macos_arm64|c31754ff5553707ef9fd2f913b833c779ab05ce192eb14913f51816a077c6798|20263133", + "1.2.4|linux_x86_64|705ea62a44a0081594dad6b2b093eefefb12d54fa5a20a66562f9e082b00414c|19895510", + "1.2.4|linux_arm64|11cfa2233dc708b51b16d5b923379db67e35c22b1b988773e5b31a7c2e251471|17936883", + "1.2.3|macos_x86_64|bdc22658463237530dc120dadb0221762d9fb9116e7a6e0dc063d8ae649c431e|21658937", + "1.2.3|macos_arm64|6f06debac2ac54951464bf490e1606f973ab53ad8ba5decea76646e8f9309512|20256836", + "1.2.3|linux_x86_64|728b6fbcb288ad1b7b6590585410a98d3b7e05efe4601ef776c37e15e9a83a96|19891436", + "1.2.3|linux_arm64|a48991e938a25bfe5d257f4b6cbbdc73d920cc34bbc8f0e685e28b9610ad75fe|17933271", + "1.2.2|macos_x86_64|1d22663c1ab22ecea774ae63aee21eecfee0bbc23b953206d889a5ba3c08525a|21656824", + "1.2.2|macos_arm64|b87716b55a3b10cced60db5285bae57aee9cc0f81c555dccdc4f54f62c2a3b60|20254768", + "1.2.2|linux_x86_64|2934a0e8824925beb956b2edb5fef212a6141c089d29d8568150a43f95b3a626|19889133", + "1.2.2|linux_arm64|9c6202237d7477412054dcd36fdc269da9ee66ecbc45bb07d0d63b7d36af7b21|17932829", + "1.2.1|macos_x86_64|31c0fd4deb7c6a77c08d2fdf59c37950e6df7165088c004e1dd7f5e09fbf6307|21645582", + "1.2.1|macos_arm64|70159b3e3eb49ee71193815943d9217c59203fd4ee8c6960aeded744094a2250|20253448", + "1.2.1|linux_x86_64|8cf8eb7ed2d95a4213fbfd0459ab303f890e79220196d1c4aae9ecf22547302e|19881618", + "1.2.1|linux_arm64|972ea512dac822274791dedceb6e7f8b9ac2ed36bd7759269b6806d0ab049128|17922073", + "1.2.0|macos_x86_64|1b102ba3bf0c60ff6cbee74f721bf8105793c1107a1c6d03dcab98d7079f0c77|21645732", + "1.2.0|macos_arm64|f5e46cabe5889b60597f0e9c365cbc663e4c952c90a16c10489897c2075ae4f0|20253335", + "1.2.0|linux_x86_64|b87de03adbdfdff3c2552c8c8377552d0eecd787154465100cf4e29de4a7be1f|19880608", + "1.2.0|linux_arm64|ee80b8635d8fdbaed57beffe281cf87b8b1fd1ddb29c08d20e25a152d9f0f871|17920355", + "1.1.9|macos_x86_64|685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc|20850638", + "1.1.9|macos_arm64|39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c|20093184", + "1.1.9|linux_x86_64|9d2d8a89f5cc8bc1c06cb6f34ce76ec4b99184b07eb776f8b39183b513d7798a|19262029", + "1.1.9|linux_arm64|e8a09d1fe5a68ed75e5fabe26c609ad12a7e459002dea6543f1084993b87a266|17521011", + "1.1.8|macos_x86_64|48f1f1e04d0aa8f5f1a661de95e3c2b8fd8ab16b3d44015372aff7693d36c2cf|20354970", + "1.1.8|macos_arm64|943e1948c4eae82cf8b490bb274939fe666252bbc146f098e7da65b23416264a|19631574", + "1.1.8|linux_x86_64|fbd37c1ec3d163f493075aa0fa85147e7e3f88dd98760ee7af7499783454f4c5|18796132", + "1.1.8|linux_arm64|10b2c063dcff91329ee44bce9d71872825566b713308b3da1e5768c6998fb84f|17107405", + "1.1.7|macos_x86_64|6e56eea328683541f6de0d5f449251a974d173e6d8161530956a20d9c239731a|20351873", + "1.1.7|macos_arm64|8919ceee34f6bfb16a6e9ff61c95f4043c35c6d70b21de27e5a153c19c7eba9c|19625836", + "1.1.7|linux_x86_64|e4add092a54ff6febd3325d1e0c109c9e590dc6c38f8bb7f9632e4e6bcca99d4|18795309", + "1.1.7|linux_arm64|2f72982008c52d2d57294ea50794d7c6ae45d2948e08598bfec3e492bce8d96e|17109768", + "1.1.6|macos_x86_64|7a499c1f08d89548ae4c0e829eea43845fa1bd7b464e7df46102b35e6081fe44|20303856", + "1.1.6|macos_arm64|f06a14fdb610ec5a7f18bdbb2f67187230eb418329756732d970b6ca3dae12c3|19577273", + "1.1.6|linux_x86_64|3e330ce4c8c0434cdd79fe04ed6f6e28e72db44c47ae50d01c342c8a2b05d331|18751464", + "1.1.6|linux_arm64|a53fb63625af3572f7252b9fb61d787ab153132a8984b12f4bb84b8ee408ec53|17069580", + "1.1.5|macos_x86_64|dcf7133ebf61d195e432ddcb70e604bf45056163d960e991881efbecdbd7892b|20300006", + "1.1.5|macos_arm64|6e5a8d22343722dc8bfcf1d2fd7b742f5b46287f87171e8143fc9b87db32c3d4|19581167", + "1.1.5|linux_x86_64|30942d5055c7151f051c8ea75481ff1dc95b2c4409dbb50196419c21168d6467|18748879", + "1.1.5|linux_arm64|2fb6324c24c14523ae63cedcbc94a8e6c1c317987eced0abfca2f6218d217ca5|17069683", + "1.1.4|macos_x86_64|4f3bc78fedd4aa17f67acc0db4eafdb6d70ba72392aaba65fe72855520f11f3d|20242050", + "1.1.4|macos_arm64|5642b46e9c7fb692f05eba998cd4065fb2e48aa8b0aac9d2a116472fbabe34a1|19498408", + "1.1.4|linux_x86_64|fca028d622f82788fdc35c1349e78d69ff07c7bb68c27d12f8b48c420e3ecdfb|18695508", + "1.1.4|linux_arm64|3c1982cf0d16276c82960db60c998d79ba19e413af4fa2c7f6f86e4994379437|16996040", + "1.1.3|macos_x86_64|016bab760c96d4e64d2140a5f25c614ccc13c3fe9b3889e70c564bd02099259f|20241648", + "1.1.3|macos_arm64|02ba769bb0a8d4bc50ff60989b0f201ce54fd2afac2fb3544a0791aca5d3f6d5|19493636", + "1.1.3|linux_x86_64|b215de2a18947fff41803716b1829a3c462c4f009b687c2cbdb52ceb51157c2f|18692580", + "1.1.3|linux_arm64|ad5a1f2c132bedc5105e3f9900e4fe46858d582c0f2a2d74355da718bbcef65d|16996972", + "1.1.2|macos_x86_64|78faa76db5dc0ecfe4bf7c6368dbf5cca019a806f9d203580a24a4e0f8cd8353|20240584", + "1.1.2|macos_arm64|cc3bd03b72db6247c9105edfeb9c8f674cf603e08259075143ffad66f5c25a07|19486800", + "1.1.2|linux_x86_64|734efa82e2d0d3df8f239ce17f7370dabd38e535d21e64d35c73e45f35dfa95c|18687805", + "1.1.2|linux_arm64|088e2226d1ddb7f68a4f65c704022a1cfdbf20fe40f02e0c3646942f211fd746|16994702", + "1.1.1|macos_x86_64|d125dd2e92b9245f2202199b52f234035f36bdcbcd9a06f08e647e14a9d9067a|20237718", + "1.1.1|macos_arm64|4cb6e5eb4f6036924caf934c509a1dfd61cd2c651bb3ee8fbfe2e2914dd9ed17|19488315", + "1.1.1|linux_x86_64|07b8dc444540918597a60db9351af861335c3941f28ea8774e168db97dd74557|18687006", + "1.1.1|linux_arm64|d6fd14da47af9ec5fa3ad5962eaef8eed6ff2f8a5041671f9c90ec5f4f8bb554|16995635", + "1.1.0|macos_x86_64|6e0ba9afb8795a544e70dc0459f0095fea7df15e38f5d88a7dd3f620d50f8bfe|20226329", + "1.1.0|macos_arm64|7955e173c7eadb87123fc0633c3ee67d5ba3b7d6c7f485fe803efed9f99dce54|19491369", + "1.1.0|linux_x86_64|763378aa75500ce5ba67d0cba8aa605670cd28bf8bafc709333a30908441acb5|18683106", + "1.1.0|linux_arm64|6697e9a263e264310373f3c91bf83f4cbfeb67b13994d2a8f7bcc492b554552e|16987201", + "1.0.11|macos_x86_64|551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131|19422757", + "1.0.11|macos_arm64|737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6|18467868", + "1.0.11|linux_x86_64|eeb46091a42dc303c3a3c300640c7774ab25cbee5083dafa5fd83b54c8aca664|18082446", + "1.0.11|linux_arm64|30c650f4bc218659d43e07d911c00f08e420664a3d12c812228e66f666758645|16148492", + "1.0.10|macos_x86_64|077479e98701bc9be88db21abeec684286fd85a3463ce437d7739d2a4e372f18|33140832", + "1.0.10|macos_arm64|776f2e144039ece66ae326ebda0884254848a2e11f0590757d02e3a74f058c81|32013985", + "1.0.10|linux_x86_64|a221682fcc9cbd7fde22f305ead99b3ad49d8303f152e118edda086a2807716d|32674953", + "1.0.10|linux_arm64|b091dbe5c00785ae8b5cb64149d697d61adea75e495d9e3d910f61d8c9967226|30505040", + "1.0.9|macos_x86_64|be122ff7fb925643c5ebf4e5704b18426e18d3ca49ab59ae33d208c908cb6d5a|33140006", + "1.0.9|macos_arm64|89b2b4fd1a0c57fabc08ad3180ad148b1f7c1c0492ed865408f75f12e11a083b|32010657", + "1.0.9|linux_x86_64|f06ac64c6a14ed6a923d255788e4a5daefa2b50e35f32d7a3b5a2f9a5a91e255|32674820", + "1.0.9|linux_arm64|457ac590301126e7b151ea08c5b9586a882c60039a0605fb1e44b8d23d2624fd|30510941", + "1.0.8|macos_x86_64|909781ee76250cf7445f3b7d2b82c701688725fa1db3fb5543dfeed8c47b59de|33140123", + "1.0.8|macos_arm64|92fa31b93d736fab6f3d105beb502a9da908445ed942a3d46952eae88907c53e|32011344", + "1.0.8|linux_x86_64|a73459d406067ce40a46f026dce610740d368c3b4a3d96591b10c7a577984c2e|32681118", + "1.0.8|linux_arm64|01aaef769f4791f9b28530e750aadbc983a8eabd0d55909e26392b333a1a26e4|30515501", + "1.0.7|macos_x86_64|23b85d914465882b027d3819cc05cd114a1aaf39b550de742e81a99daa998183|33140742", + "1.0.7|macos_arm64|d9062959f28ba0f934bfe2b6e0b021e0c01a48fa065102554ca103b8274e8e0c|32012708", + "1.0.7|linux_x86_64|bc79e47649e2529049a356f9e60e06b47462bf6743534a10a4c16594f443be7b|32671441", + "1.0.7|linux_arm64|4e71a9e759578020750be41e945c086e387affb58568db6d259d80d123ac80d3|30529105", + "1.0.6|macos_x86_64|5ac4f41d5e28f31817927f2c5766c5d9b98b68d7b342e25b22d053f9ecd5a9f1|33141677", + "1.0.6|macos_arm64|613020f90a6a5d0b98ebeb4e7cdc4b392aa06ce738fbb700159a465cd27dcbfa|32024047", + "1.0.6|linux_x86_64|6a454323d252d34e928785a3b7c52bfaff1192f82685dfee4da1279bb700b733|32677516", + "1.0.6|linux_arm64|2047f8afc7d0d7b645a0422181ba3fe47b3547c4fe658f95eebeb872752ec129|30514636" ] } ] @@ -76614,21 +105645,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--buf-url-template=", + "comma_separated_display_args": "--download-terraform-url-template=", "config_key": "url_template", - "default": "https://github.com/bufbuild/buf/releases/download/{version}/buf-{platform}.tar.gz", + "default": "https://releases.hashicorp.com/terraform/{version}/terraform_{version}_{platform}.zip", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--buf-url-template="], - "env_var": "PANTS_BUF_URL_TEMPLATE", + "display_args": [ + "--download-terraform-url-template=" + ], + "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/v2.19/docs/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": ["--buf-url-template"], + "scoped_cmd_line_args": [ + "--download-terraform-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -76639,7 +105676,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/bufbuild/buf/releases/download/{version}/buf-{platform}.tar.gz" + "value": "https://releases.hashicorp.com/terraform/{version}/terraform_{version}_{platform}.zip" } ] } @@ -76647,28 +105684,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--buf-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "comma_separated_display_args": "--download-terraform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", "config_key": "url_platform_mapping", "default": { - "linux_arm64": "Linux-aarch64", - "linux_x86_64": "Linux-x86_64", - "macos_arm64": "Darwin-arm64", - "macos_x86_64": "Darwin-x86_64" + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--buf-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--download-terraform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_BUF_URL_PLATFORM_MAPPING", + "env_var": "PANTS_DOWNLOAD_TERRAFORM_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": ["--buf-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--download-terraform-url-platform-mapping" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { @@ -76680,101 +105721,41 @@ "details": "", "rank": "HARDCODED", "value": { - "linux_arm64": "Linux-aarch64", - "linux_x86_64": "Linux-x86_64", - "macos_arm64": "Darwin-arm64", - "macos_x86_64": "Darwin-x86_64" + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" } } ] } }, { - "choices": ["error", "warning"], + "choices": [ + "error", + "warning" + ], "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--buf-use-unsupported-version=", + "comma_separated_display_args": "--download-terraform-use-unsupported-version=", "config_key": "use_unsupported_version", "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--buf-use-unsupported-version=" + "--download-terraform-use-unsupported-version=" ], - "env_var": "PANTS_BUF_USE_UNSUPPORTED_VERSION", - "fromfile": false, - "help": "\nWhat action to take in case the requested version of Buf is not supported.\n\nSupported Buf versions: unspecified\n", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--buf-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" - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--buf-config=", - "config_key": "config", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--buf-config="], - "env_var": "PANTS_BUF_CONFIG", - "fromfile": false, - "help": "Path to a config file understood by Buf (https://docs.buf.build/configuration/overview).\n\nSetting this option will disable `[buf].config_discovery`. Use this option if the config is located in a non-standard location.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--buf-config"], - "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]buf-config-discovery", - "config_key": "config_discovery", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]buf-config-discovery"], - "env_var": "PANTS_BUF_CONFIG_DISCOVERY", + "env_var": "PANTS_DOWNLOAD_TERRAFORM_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "If true, Pants will include any relevant root config files during runs (`buf.yaml`). If the json format is preferred, the path to the `buf.json` file should be provided in the config option.\n\nUse `[buf].config` instead if your config is in a non-standard location.", + "help": "\nWhat action to take in case the requested version of terraform is not supported.\n\nSupported terraform versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--buf-config-discovery", - "--no-buf-config-discovery" + "--download-terraform-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -76786,75 +105767,7 @@ { "details": null, "rank": "HARDCODED", - "value": true - } - ] - } - } - ], - "basic": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]buf-format-skip", - "config_key": "format_skip", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]buf-format-skip"], - "env_var": "PANTS_BUF_FORMAT_SKIP", - "fromfile": false, - "help": "If true, don't use Buf when running `pants fmt` and `pants lint`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--buf-format-skip", "--no-buf-format-skip"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--format-skip", "--no-format-skip"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]buf-lint-skip", - "config_key": "lint_skip", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]buf-lint-skip"], - "env_var": "PANTS_BUF_LINT_SKIP", - "fromfile": false, - "help": "If true, don't use Buf when running `pants lint`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--buf-lint-skip", "--no-buf-lint-skip"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--lint-skip", "--no-lint-skip"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false + "value": "error" } ] } @@ -76862,23 +105775,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--buf-format-args=\"[, , ...]\"", - "config_key": "format_args", + "comma_separated_display_args": "--download-terraform-extra-env-vars=\"['', '', ...]\"", + "config_key": "extra_env_vars", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--buf-format-args=\"[, , ...]\"" + "--download-terraform-extra-env-vars=\"['', '', ...]\"" ], - "env_var": "PANTS_BUF_FORMAT_ARGS", + "env_var": "PANTS_DOWNLOAD_TERRAFORM_EXTRA_ENV_VARS", "fromfile": false, - "help": "Arguments to pass directly to Buf, e.g. `--buf-args='--error-format json'`.", + "help": "Additional environment variables that would be made available to all Terraform processes.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buf-format-args"], + "scoped_cmd_line_args": [ + "--download-terraform-extra-env-vars" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--format-args"], + "unscoped_cmd_line_args": [ + "--extra-env-vars" + ], "value_history": { "ranked_values": [ { @@ -76897,70 +105814,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--buf-lint-args=\"[, , ...]\"", - "config_key": "lint_args", - "default": [], + "comma_separated_display_args": "--[no-]download-terraform-tailor", + "config_key": "tailor", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--buf-lint-args=\"[, , ...]\"" + "--[no-]download-terraform-tailor" ], - "env_var": "PANTS_BUF_LINT_ARGS", - "fromfile": false, - "help": "Arguments to pass directly to Buf, e.g. `--buf-args='--error-format json'`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--buf-lint-args"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--lint-args"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "A linter and formatter for Protocol Buffers (https://github.com/bufbuild/buf).", - "is_goal": false, - "provider": "pants.backend.codegen.protobuf.lint.buf", - "scope": "buf" - }, - "build-deprecations-fixer": { - "advanced": [], - "basic": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]build-deprecations-fixer-skip", - "config_key": "skip", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]build-deprecations-fixer-skip"], - "env_var": "PANTS_BUILD_DEPRECATIONS_FIXER_SKIP", + "env_var": "PANTS_DOWNLOAD_TERRAFORM_TAILOR", "fromfile": false, - "help": "If true, don't use BUILD Deprecations Fixer when running `pants fix`.", + "help": "If true, add `terraform_module` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--build-deprecations-fixer-skip", - "--no-build-deprecations-fixer-skip" + "--download-terraform-tailor", + "--no-download-terraform-tailor" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], "value_history": { "ranked_values": [ { @@ -76971,232 +105847,139 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "A tool/plugin for fixing BUILD file deprecations (where possible).\n\nThis includes deprecations for:\n\n - Renamed targets\n - Renamed fields", - "is_goal": false, - "provider": "pants.backend.build_files.fix.deprecations", - "scope": "build-deprecations-fixer" - }, - "buildifier": { - "advanced": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--buildifier-version=", - "config_key": "version", - "default": "5.1.0", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--buildifier-version="], - "env_var": "PANTS_BUILDIFIER_VERSION", - "fromfile": false, - "help": "Use this version of Buildifier.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-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": "5.1.0" - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "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" - ], - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--buildifier-known-versions=\"['', '', ...]\"" - ], - "env_var": "PANTS_BUILDIFIER_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": ["--buildifier-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": [ - "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" - ] - } - ] - } - }, - { - "choices": null, - "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}", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--buildifier-url-template="], - "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/v2.19/docs/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": ["--buildifier-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/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}" - } - ] - } - }, + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--buildifier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-amd64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-amd64" - }, + "comma_separated_display_args": "--download-terraform-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--buildifier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--download-terraform-args=\"[, , ...]\"", + "... -- [ [ [...]]]" ], - "env_var": "PANTS_BUILDIFIER_URL_PLATFORM_MAPPING", + "env_var": "PANTS_DOWNLOAD_TERRAFORM_ARGS", "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`.", + "help": "Arguments to pass directly to terraform, e.g. `--download-terraform-args='-auto-approve'`.\n\nAdditional arguments to pass to the Terraform command line.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--download-terraform-args" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-amd64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-amd64" - } + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Terraform (https://terraform.io)", + "is_goal": false, + "provider": "pants.backend.experimental.terraform", + "scope": "download-terraform" + }, + "environments-preview": { + "advanced": [], + "basic": [ { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--buildifier-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--environments-preview-names=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "names", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--buildifier-use-unsupported-version=" + "--environments-preview-names=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_BUILDIFIER_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_ENVIRONMENTS_PREVIEW_NAMES", "fromfile": false, - "help": "\nWhat action to take in case the requested version of Buildifier is not supported.\n\nSupported Buildifier versions: unspecified\n", + "help": "A mapping of logical names to addresses to environment targets. For example:\n\n [environments-preview.names]\n linux_local = \"//:linux_env\"\n macos_local = \"//:macos_env\"\n centos6 = \"//:centos6_docker_env\"\n linux_ci = \"build-support:linux_ci_env\"\n macos_ci = \"build-support:macos_ci_env\"\n\nTo use an environment for a given target, specify the name in the `environment` field on that target. Pants will consume the environment target at the address mapped from that name.\n\nPants will ignore any environment targets that are not given a name via this option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--environments-preview-names" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--names" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": {} } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "A highly experimental subsystem to allow setting environment variables and executable search paths for different environments, e.g. macOS vs. Linux.", + "is_goal": false, + "provider": "pants.backend.experimental.javascript", + "scope": "environments-preview" + }, + "experimental-bsp": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]buildifier-skip", - "config_key": "skip", + "comma_separated_display_args": "--[no-]experimental-bsp-server", + "config_key": "server", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]buildifier-skip"], - "env_var": "PANTS_BUILDIFIER_SKIP", + "display_args": [ + "--[no-]experimental-bsp-server" + ], + "env_var": "PANTS_EXPERIMENTAL_BSP_SERVER", "fromfile": false, - "help": "If true, don't use Buildifier when running `pants fmt`.", + "help": "Run the Build Server Protocol server. Pants will receive BSP RPC requests via the console. This should only ever be invoked via the IDE.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-skip", "--no-buildifier-skip"], + "scoped_cmd_line_args": [ + "--experimental-bsp-server", + "--no-experimental-bsp-server" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--server", + "--no-server" + ], "value_history": { "ranked_values": [ { @@ -77215,23 +105998,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--buildifier-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--experimental-bsp-runner-env-vars=\"['', '', ...]\"", + "config_key": "runner_env_vars", + "default": [ + "PATH" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--buildifier-args=\"[, , ...]\"" + "--experimental-bsp-runner-env-vars=\"['', '', ...]\"" ], - "env_var": "PANTS_BUILDIFIER_ARGS", + "env_var": "PANTS_EXPERIMENTAL_BSP_RUNNER_ENV_VARS", "fromfile": false, - "help": "Arguments to pass directly to Buildifier, e.g. `--buildifier-args='-lint=fix'`.", + "help": "Environment variables to set in the BSP runner script when setting up BSP in a repository. 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' own environment when the experimental-bsp goal was run.\n\nThis option only takes effect when the BSP runner script is written. If the option changes, you must run `pants experimental-bsp` again to write a new copy of the BSP runner script.\n\nNote: The environment variables passed to the Pants BSP server will be those set for your IDE and not your shell. For example, on macOS, the IDE is generally launched by `launchd` after clicking on a Dock icon, and not from the shell. Thus, any environment variables set for your shell will likely not be seen by the Pants BSP server. At the very least, on macOS consider writing an explicit PATH into the BSP runner script via this option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--buildifier-args"], + "scoped_cmd_line_args": [ + "--experimental-bsp-runner-env-vars" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--runner-env-vars" + ], "value_history": { "ranked_values": [ { @@ -77242,96 +106031,138 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "PATH" + ] } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "Buildifier is a tool for formatting BUILD files with a standard convention.\n\nPants supports running Buildifier on your Pants BUILD files for several reasons:\n - You might like the style that buildifier uses.\n - You might be incrementally adopting Pants from Bazel, and are already using buildifier.\n\nPlease note that there are differences from Bazel's BUILD files (which are Starlark) and Pants' BUILD files (which are Python), so buildifier may issue a syntax error. In practice, these errors should be rare. See https://bazel.build/rules/language#differences_with_python.", - "is_goal": false, - "provider": "pants.backend.build_files.fmt.buildifier", - "scope": "buildifier" - }, - "changed": { - "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--changed-since=", - "config_key": "since", - "default": null, + "comma_separated_display_args": "--experimental-bsp-groups-config-files=\"[, , ...]\"", + "config_key": "groups_config_files", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--changed-since="], - "env_var": "PANTS_CHANGED_SINCE", + "display_args": [ + "--experimental-bsp-groups-config-files=\"[, , ...]\"" + ], + "env_var": "PANTS_EXPERIMENTAL_BSP_GROUPS_CONFIG_FILES", "fromfile": false, - "help": "Calculate changes since this Git spec (commit range/SHA/ref).", + "help": "A list of config files that define groups of Pants targets to expose to IDEs via Build Server Protocol.\n\nPants generally uses fine-grained targets to define the components of a build (in many cases on a file-by-file basis). Many IDEs, however, favor coarse-grained targets that contain large numbers of source files. To accommodate this distinction, the Pants BSP server will compute a set of BSP build targets to use from the groups specified in the config files set for this option. Each group will become one or more BSP build targets.\n\nEach config file is a TOML file with a `groups` dictionary with the following format for an entry:\n\n # The dictionary key is used to identify the group. It must be unique.\n [groups.ID1]:\n # One or more Pants address specs defining what targets to include in the group.\n addresses = [\n \"src/jvm::\",\n \"tests/jvm::\",\n ]\n # Filter targets to a specific resolve. Targets in a group must be from a single resolve.\n # Format of filter is `TYPE:RESOLVE_NAME`. The only supported TYPE is `jvm`. RESOLVE_NAME must be\n # a valid resolve name.\n resolve = \"jvm:jvm-default\"\n display_name = \"Display Name\" # (Optional) Name shown to the user in the IDE.\n base_directory = \"path/from/build/root\" # (Optional) Hint to the IDE for where the build target should \"live.\"\n\nPants will merge the contents of the config files together. If the same ID is used for a group definition, in multiple config files, the definition in the latter config file will take effect.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--changed-since"], + "scoped_cmd_line_args": [ + "--experimental-bsp-groups-config-files" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--since"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--groups-config-files" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Setup repository for Build Server Protocol (https://build-server-protocol.github.io/).", + "is_goal": true, + "provider": "pants.core", + "scope": "experimental-bsp" + }, + "experimental-deploy": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Perform a deployment process.", + "is_goal": true, + "provider": "pants.core", + "scope": "experimental-deploy" + }, + "experimental-explorer": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--changed-diffspec=", - "config_key": "diffspec", - "default": null, + "comma_separated_display_args": "--experimental-explorer-address=", + "config_key": "address", + "default": "localhost", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--changed-diffspec="], - "env_var": "PANTS_CHANGED_DIFFSPEC", + "display_args": [ + "--experimental-explorer-address=" + ], + "env_var": "PANTS_EXPERIMENTAL_EXPLORER_ADDRESS", "fromfile": false, - "help": "Calculate changes contained within a given Git spec (commit range/SHA/ref).", + "help": "Server address to bind to.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--changed-diffspec"], + "scoped_cmd_line_args": [ + "--experimental-explorer-address" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--diffspec"], + "unscoped_cmd_line_args": [ + "--address" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "localhost" } ] } }, { - "choices": ["none", "direct", "transitive"], - "comma_separated_choices": "none, direct, transitive", - "comma_separated_display_args": "--changed-dependents=", - "config_key": "dependents", - "default": "none", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--experimental-explorer-port=", + "config_key": "port", + "default": 8000, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--changed-dependents="], - "env_var": "PANTS_CHANGED_DEPENDENTS", + "display_args": [ + "--experimental-explorer-port=" + ], + "env_var": "PANTS_EXPERIMENTAL_EXPLORER_PORT", "fromfile": false, - "help": "Include direct or transitive dependents of changed targets.", + "help": "Server port to bind to.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--changed-dependents"], + "scoped_cmd_line_args": [ + "--experimental-explorer-port" + ], "target_field_name": null, - "typ": "DependentsOption", - "unscoped_cmd_line_args": ["--dependents"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--port" + ], "value_history": { "ranked_values": [ { @@ -77342,74 +106173,86 @@ { "details": null, "rank": "HARDCODED", - "value": "none" + "value": 8000 } ] } } ], - "deprecated": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Run the Pants Explorer Web UI server.", + "is_goal": true, + "provider": "pants.goal", + "scope": "experimental-explorer" + }, + "export": { + "advanced": [ { - "choices": ["none", "direct", "transitive"], - "comma_separated_choices": "none, direct, transitive", - "comma_separated_display_args": "--changed-dependees=", - "config_key": "dependees", - "default": "none", - "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.23.0.dev0.", - "deprecation_active": true, - "display_args": ["--changed-dependees="], - "env_var": "PANTS_CHANGED_DEPENDEES", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--export-py-editable-in-resolve=\"['', '', ...]\"", + "config_key": "py_editable_in_resolve", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--export-py-editable-in-resolve=\"['', '', ...]\"" + ], + "env_var": "PANTS_EXPORT_PY_EDITABLE_IN_RESOLVE", "fromfile": false, - "help": "Include direct or transitive dependents of changed targets.", - "removal_hint": "Use --dependents instead", - "removal_version": "2.23.0.dev0", - "scoped_cmd_line_args": ["--changed-dependees"], + "help": "When exporting a mutable virtualenv for a resolve, do PEP-660 editable installs of all 'python_distribution' targets that own code in the exported resolve.\n\nIf a resolve name is not in this list, 'python_distribution' targets will not be installed in the virtualenv. This defaults to an empty list for backwards compatibility and to prevent unnecessary work to generate and install the PEP-660 editable wheels.\n\nThis only applies when '[python].enable_resolves' is true and when exporting a 'mutable_virtualenv' ('symlinked_immutable_virtualenv' exports are not \"full\" virtualenvs because they must not be edited, and do not include 'pip').\n\nNOTE: If you are using legacy exports (not using the '--resolve' option), then this option has no effect. Legacy exports will not include any editable installs.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--export-py-editable-in-resolve" + ], "target_field_name": null, - "typ": "DependentsOption", - "unscoped_cmd_line_args": ["--dependees"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--py-editable-in-resolve" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "none" + "value": [] } ] } } ], - "deprecated_scope": null, - "description": "Tell Pants to detect what files and targets have changed from Git.\n\nSee https://www.pantsbuild.org/v2.19/docs/advanced-target-selection.", - "is_goal": false, - "provider": "", - "scope": "changed" - }, - "check": { - "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--check-only=\"['', '', ...]\"", - "config_key": "only", + "comma_separated_display_args": "--export-resolve=\"['', '', ...]\"", + "config_key": "resolve", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--check-only=\"['', '', ...]\""], - "env_var": "PANTS_CHECK_ONLY", + "display_args": [ + "--export-resolve=\"['', '', ...]\"" + ], + "env_var": "PANTS_EXPORT_RESOLVE", "fromfile": false, - "help": "Only run these checkers and skip all others.\n\nThe checker names are outputted at the final summary of running this goal, e.g. `mypy` and `javac`. You can also run `check --only=fake` to get a list of all activated checkers.\n\nYou can repeat this option, e.g. `check --only=mypy --only=javac` or `check --only=['mypy', 'javac']`.", + "help": "Export the specified resolve(s). The export format is backend-specific, e.g., Python resolves are exported as virtualenvs.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--check-only"], + "scoped_cmd_line_args": [ + "--export-resolve" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--only"], + "unscoped_cmd_line_args": [ + "--resolve" + ], "value_history": { "ranked_values": [ { @@ -77424,100 +106267,142 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Run type checking or the lightest variant of compilation available for a language.", - "is_goal": true, - "provider": "pants.core", - "scope": "check" - }, - "cli": { - "advanced": [], - "basic": [ + }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--cli-alias=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "alias", - "default": {}, + "choices": [ + "mutable_virtualenv", + "symlinked_immutable_virtualenv" + ], + "comma_separated_choices": "mutable_virtualenv, symlinked_immutable_virtualenv", + "comma_separated_display_args": "--export-py-resolve-format=", + "config_key": "py_resolve_format", + "default": "mutable_virtualenv", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--cli-alias=\"{'key1': val1, 'key2': val2, ...}\""], - "env_var": "PANTS_CLI_ALIAS", + "display_args": [ + "--export-py-resolve-format=" + ], + "env_var": "PANTS_EXPORT_PY_RESOLVE_FORMAT", "fromfile": false, - "help": "Register command line aliases.\n\nExample:\n\n [cli.alias]\n green = \"fmt lint check\"\n all-changed = \"--changed-since=HEAD --changed-dependents=transitive\"\n\nThis would allow you to run `pants green all-changed`, which is shorthand for `pants fmt lint check --changed-since=HEAD --changed-dependents=transitive`.\n\nNotice: this option must be placed in a config file (e.g. `pants.toml` or `pantsrc`) to have any effect.", + "help": "Export Python resolves using this format. Options are:\n - `mutable_virtualenv`: Export a standalone mutable virtualenv that you can\n further modify.\n - `symlinked_immutable_virtualenv`: Export a symlink into a cached Python virtualenv.\n This virtualenv will have no pip binary, and will be immutable. Any attempt to\n modify it will corrupt the cache! It may, however, take significantly less time\n to export than a standalone, mutable virtualenv.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--cli-alias"], + "scoped_cmd_line_args": [ + "--export-py-resolve-format" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--alias"], + "typ": "PythonResolveExportFormat", + "unscoped_cmd_line_args": [ + "--py-resolve-format" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": "mutable_virtualenv" + } + ] + } + } + ], + "deprecated": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]export-symlink-python-virtualenv", + "config_key": "symlink_python_virtualenv", + "default": false, + "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.20.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--[no-]export-symlink-python-virtualenv" + ], + "env_var": "PANTS_EXPORT_SYMLINK_PYTHON_VIRTUALENV", + "fromfile": false, + "help": "Export a symlink into a cached Python virtualenv. This virtualenv will have no pip binary, and will be immutable. Any attempt to modify it will corrupt the cache! It may, however, take significantly less time to export than a standalone, mutable virtualenv will.", + "removal_hint": "Set the `[export].py_resolve_format` option to 'symlinked_immutable_virtualenv'", + "removal_version": "2.20.0.dev0", + "scoped_cmd_line_args": [ + "--export-symlink-python-virtualenv", + "--no-export-symlink-python-virtualenv" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--symlink-python-virtualenv", + "--no-symlink-python-virtualenv" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } } ], - "deprecated": [], "deprecated_scope": null, - "description": "Options for configuring CLI behavior, such as command line aliases.", - "is_goal": false, - "provider": "", - "scope": "cli" + "description": "Export Pants data for use in other tools, such as IDEs.", + "is_goal": true, + "provider": "pants.core", + "scope": "export" }, - "count-loc": { + "export-codegen": { "advanced": [], "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Count lines of code.", + "description": "Write generated files to `dist/codegen` for use outside of Pants.", "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "count-loc" + "provider": "pants.core", + "scope": "export-codegen" }, - "coursier": { - "advanced": [ + "filedeps": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-version=", - "config_key": "version", - "default": "v2.1.6", + "comma_separated_display_args": "--filedeps-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coursier-version="], - "env_var": "PANTS_COURSIER_VERSION", + "display_args": [ + "--filedeps-output-file=" + ], + "env_var": "PANTS_FILEDEPS_OUTPUT_FILE", "fromfile": false, - "help": "Use this version of coursier.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-version"], + "scoped_cmd_line_args": [ + "--filedeps-output-file" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "v2.1.6" } ] } @@ -77525,60 +106410,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "v2.1.6|macos_arm64 |746b3e346fa2c0107fdbc8a627890d495cb09dee4f8dcc87146bdb45941088cf|20829782|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-apple-darwin.gz", - "v2.1.6|linux_arm64 |33330ca433781c9db9458e15d2d32e5d795de3437771647e26835e8b1391af82|20899290|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-pc-linux.gz", - "v2.1.6|linux_x86_64|af7234f8802107f5e1130307ef8a5cc90262d392f16ddff7dce27a4ed0ddd292|20681688", - "v2.1.6|macos_x86_64|36a5d42a0724be2ac39d0ebd8869b985e3d58ceb121bc60389ee2d6d7408dd56|20037412", - "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005", - "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533", - "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", - "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", - "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472", - "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946", - "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182", - "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182" - ], + "comma_separated_display_args": "--filedeps-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coursier-known-versions=\"['', '', ...]\"" + "--filedeps-sep=" ], - "env_var": "PANTS_COURSIER_KNOWN_VERSIONS", + "env_var": "PANTS_FILEDEPS_SEP", "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", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-known-versions"], + "scoped_cmd_line_args": [ + "--filedeps-sep" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "v2.1.6|macos_arm64 |746b3e346fa2c0107fdbc8a627890d495cb09dee4f8dcc87146bdb45941088cf|20829782|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-apple-darwin.gz", - "v2.1.6|linux_arm64 |33330ca433781c9db9458e15d2d32e5d795de3437771647e26835e8b1391af82|20899290|https://github.com/VirtusLab/coursier-m1/releases/download/v2.1.6/cs-aarch64-pc-linux.gz", - "v2.1.6|linux_x86_64|af7234f8802107f5e1130307ef8a5cc90262d392f16ddff7dce27a4ed0ddd292|20681688", - "v2.1.6|macos_x86_64|36a5d42a0724be2ac39d0ebd8869b985e3d58ceb121bc60389ee2d6d7408dd56|20037412", - "v2.1.0-M5-18-gfebf9838c|linux_arm64 |d4ad15ba711228041ad8a46d848c83c8fbc421d7b01c415d8022074dd609760f|19264005", - "v2.1.0-M5-18-gfebf9838c|linux_x86_64|3e1a1ad1010d5582e9e43c5a26b273b0147baee5ebd27d3ac1ab61964041c90b|19551533", - "v2.1.0-M5-18-gfebf9838c|macos_arm64 |d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", - "v2.1.0-M5-18-gfebf9838c|macos_x86_64|d13812c5a5ef4c9b3e25cc046d18addd09bacd149f95b20a14e4d2a73e358ecf|18826510", - "v2.0.16-169-g194ebc55c|linux_arm64 |da38c97d55967505b8454c20a90370c518044829398b9bce8b637d194d79abb3|18114472", - "v2.0.16-169-g194ebc55c|linux_x86_64|4c61a634c4bd2773b4543fe0fc32210afd343692891121cddb447204b48672e8|18486946", - "v2.0.16-169-g194ebc55c|macos_arm64 |15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182", - "v2.0.16-169-g194ebc55c|macos_x86_64|15bce235d223ef1d022da30b67b4c64e9228d236b876c834b64e029bbe824c6f|17957182" - ] + "value": "\\n" } ] } @@ -77586,21 +106449,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-url-template=", - "config_key": "url_template", - "default": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz", + "comma_separated_display_args": "--[no-]filedeps-absolute", + "config_key": "absolute", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coursier-url-template="], - "env_var": "PANTS_COURSIER_URL_TEMPLATE", + "display_args": [ + "--[no-]filedeps-absolute" + ], + "env_var": "PANTS_FILEDEPS_ABSOLUTE", "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/v2.19/docs/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": "If True, output with absolute path. If unspecified, output with path relative to the build root.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-url-template"], + "scoped_cmd_line_args": [ + "--filedeps-absolute", + "--no-filedeps-absolute" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--absolute", + "--no-absolute" + ], "value_history": { "ranked_values": [ { @@ -77611,7 +106482,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz" + "value": false } ] } @@ -77619,68 +106490,70 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "aarch64-pc-linux", - "linux_x86_64": "x86_64-pc-linux", - "macos_arm64": "x86_64-apple-darwin", - "macos_x86_64": "x86_64-apple-darwin" - }, + "comma_separated_display_args": "--[no-]filedeps-globs", + "config_key": "globs", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coursier-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]filedeps-globs" ], - "env_var": "PANTS_COURSIER_URL_PLATFORM_MAPPING", + "env_var": "PANTS_FILEDEPS_GLOBS", "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`.", + "help": "Instead of outputting filenames, output the original globs used in the BUILD file. This will not include exclude globs (i.e. globs that start with `!`).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--filedeps-globs", + "--no-filedeps-globs" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--globs", + "--no-globs" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", - "rank": "HARDCODED", - "value": { - "linux_arm64": "aarch64-pc-linux", - "linux_x86_64": "x86_64-pc-linux", - "macos_arm64": "x86_64-apple-darwin", - "macos_x86_64": "x86_64-apple-darwin" - } + "details": null, + "rank": "HARDCODED", + "value": false } ] } }, { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--coursier-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]filedeps-transitive", + "config_key": "transitive", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coursier-use-unsupported-version=" + "--[no-]filedeps-transitive" ], - "env_var": "PANTS_COURSIER_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_FILEDEPS_TRANSITIVE", "fromfile": false, - "help": "\nWhat action to take in case the requested version of coursier is not supported.\n\nSupported coursier versions: unspecified\n", + "help": "If True, list files from all dependencies, including transitive dependencies. If unspecified, only list files from the target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--filedeps-transitive", + "--no-filedeps-transitive" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--transitive", + "--no-transitive" + ], "value_history": { "ranked_values": [ { @@ -77691,86 +106564,91 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": false } ] } } ], + "deprecated": [], + "deprecated_scope": null, + "description": "List all source and BUILD files a target depends on.", + "is_goal": true, + "provider": "pants.backend.project_info", + "scope": "filedeps" + }, + "filter": { + "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coursier-repos=\"['', '', ...]\"", - "config_key": "repos", - "default": [ - "https://maven-central.storage-download.googleapis.com/maven2", - "https://repo1.maven.org/maven2" - ], + "comma_separated_display_args": "--filter-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coursier-repos=\"['', '', ...]\""], - "env_var": "PANTS_COURSIER_REPOS", + "display_args": [ + "--filter-output-file=" + ], + "env_var": "PANTS_FILTER_OUTPUT_FILE", "fromfile": false, - "help": "Maven style repositories to resolve artifacts from.\n\nCoursier will resolve these repositories in the order in which they are specifed, and re-ordering repositories will cause artifacts to be re-downloaded. This can result in artifacts in lockfiles becoming invalid.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coursier-repos"], + "scoped_cmd_line_args": [ + "--filter-output-file" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--repos"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [ - "https://maven-central.storage-download.googleapis.com/maven2", - "https://repo1.maven.org/maven2" - ] + "value": null } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "A dependency resolver for the Maven ecosystem. (https://get-coursier.io/)", - "is_goal": false, - "provider": "pants.backend.experimental.java", - "scope": "coursier" - }, - "coverage-py": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--filter-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-install-from-resolve="], - "env_var": "PANTS_COVERAGE_PY_INSTALL_FROM_RESOLVE", + "display_args": [ + "--filter-sep=" + ], + "env_var": "PANTS_FILTER_SEP", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-install-from-resolve"], + "scoped_cmd_line_args": [ + "--filter-sep" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "\\n" } ] } @@ -77778,23 +106656,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--filter-target-type=\"[[+-]type1,type2,..., [+-]type1,type2,..., ...]\"", + "config_key": "target_type", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coverage-py-requirements=\"['', '', ...]\"" + "--filter-target-type=\"[[+-]type1,type2,..., [+-]type1,type2,..., ...]\"" ], - "env_var": "PANTS_COVERAGE_PY_REQUIREMENTS", + "env_var": "PANTS_FILTER_TARGET_TYPE", "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": "Filter on these target types, e.g. `resources` or `python_sources`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-requirements"], + "scoped_cmd_line_args": [ + "--filter-target-type" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--target-type" + ], "value_history": { "ranked_values": [ { @@ -77811,36 +106693,44 @@ } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "choices": [ + "all", + "file", + "BUILD" + ], + "comma_separated_choices": "all, file, BUILD", + "comma_separated_display_args": "--filter-granularity=", + "config_key": "granularity", + "default": "all", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coverage-py-interpreter-constraints=\"['', '', ...]\"" + "--filter-granularity=" ], - "env_var": "PANTS_COVERAGE_PY_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_FILTER_GRANULARITY", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Filter to rendering only targets declared in BUILD files, only file-level targets, or all targets.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--filter-granularity" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "TargetGranularity", + "unscoped_cmd_line_args": [ + "--granularity" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": "all" } ] } @@ -77848,32 +106738,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-console-script=", - "config_key": "console_script", - "default": "coverage", + "comma_separated_display_args": "--filter-address-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"", + "config_key": "address_regex", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-console-script="], - "env_var": "PANTS_COVERAGE_PY_CONSOLE_SCRIPT", + "display_args": [ + "--filter-address-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"" + ], + "env_var": "PANTS_FILTER_ADDRESS_REGEX", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Filter on target addresses matching these regexes.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-console-script"], + "scoped_cmd_line_args": [ + "--filter-address-regex" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--address-regex" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "coverage" + "value": [] } ] } @@ -77881,49 +106777,76 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--filter-tag-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"", + "config_key": "tag_regex", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-entry-point="], - "env_var": "PANTS_COVERAGE_PY_ENTRY_POINT", + "display_args": [ + "--filter-tag-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"" + ], + "env_var": "PANTS_FILTER_TAG_REGEX", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Filter on targets with tags matching these regexes.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-entry-point"], + "scoped_cmd_line_args": [ + "--filter-tag-regex" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--tag-regex" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Filter the input targets based on various criteria.\n\nMost of the filtering options below are comma-separated lists of filtering criteria, with an implied logical OR between them, so that a target passes the filter if it matches any of the criteria in the list. A '-' prefix inverts the sense of the entire comma-separated list, so that a target passes the filter only if it matches none of the criteria in the list.\n\nEach of the filtering options may be specified multiple times, with an implied logical AND between them.", + "is_goal": false, + "provider": "pants.backend.project_info", + "scope": "filter" + }, + "fix": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-output-dir=", - "config_key": "output_dir", - "default": "{distdir}/coverage/python", + "comma_separated_display_args": "--fix-batch-size=", + "config_key": "batch_size", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-output-dir="], - "env_var": "PANTS_COVERAGE_PY_OUTPUT_DIR", + "display_args": [ + "--fix-batch-size=" + ], + "env_var": "PANTS_FIX_BATCH_SIZE", "fromfile": false, - "help": "Path to write the Pytest Coverage report to. Must be relative to the build root.", + "help": "The target number of files to be included in each fixer batch.\n\nFixer processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in fixer processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-output-dir"], + "scoped_cmd_line_args": [ + "--fix-batch-size" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-dir"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--batch-size" + ], "value_history": { "ranked_values": [ { @@ -77934,35 +106857,48 @@ { "details": null, "rank": "HARDCODED", - "value": "{distdir}/coverage/python" + "value": 128 } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--fix-only=\"['', '', ...]\"", + "config_key": "only", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-config="], - "env_var": "PANTS_COVERAGE_PY_CONFIG", + "display_args": [ + "--fix-only=\"['', '', ...]\"" + ], + "env_var": "PANTS_FIX_ONLY", "fromfile": false, - "help": "Path to an INI or TOML config file understood by coverage.py (https://coverage.readthedocs.io/en/stable/config.html).\n\nSetting this option will disable `[coverage-py].config_discovery`. Use this option if the config is located in a non-standard location.", + "help": "Only run these fixers and skip all others.\n\nThe fixer names are outputted at the final summary of running this goal, e.g. `autoflake` and `pyupgrade`. You can also run `fix --only=fake` to get a list of all activated fixers.\n\nYou can repeat this option, e.g. `fix --only=autoflake --only=pyupgrade` or `fix --only=['autoflake', 'pyupgrade']`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-config"], + "scoped_cmd_line_args": [ + "--fix-only" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--only" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } @@ -77970,26 +106906,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]coverage-py-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]fix-skip-formatters", + "config_key": "skip_formatters", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]coverage-py-config-discovery"], - "env_var": "PANTS_COVERAGE_PY_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]fix-skip-formatters" + ], + "env_var": "PANTS_FIX_SKIP_FORMATTERS", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.coveragerc`, `setup.cfg`, `tox.ini`, and `pyproject.toml`).\n\nUse `[coverage-py].config` instead if your config is in a non-standard location.", + "help": "If true, skip running all formatters.\n\nFYI: when running `pants fix fmt ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fmt` when running `fix` where possible.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--coverage-py-config-discovery", - "--no-coverage-py-config-discovery" + "--fix-skip-formatters", + "--no-fix-skip-formatters" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--skip-formatters", + "--no-skip-formatters" ], "value_history": { "ranked_values": [ @@ -78001,66 +106939,79 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Autofix source code.", + "is_goal": true, + "provider": "pants.core", + "scope": "fix" + }, + "flake8": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-filter=\"['', '', ...]\"", - "config_key": "filter", - "default": [], + "comma_separated_display_args": "--flake8-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-filter=\"['', '', ...]\""], - "env_var": "PANTS_COVERAGE_PY_FILTER", + "display_args": [ + "--flake8-install-from-resolve=" + ], + "env_var": "PANTS_FLAKE8_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "A list of Python modules or filesystem paths to use in the coverage report, e.g. `['helloworld_test', 'helloworld/util/dirutil']`.\n\nBoth modules and directory paths are recursive: any submodules or child paths, respectively, will be included.\n\nIf you leave this off, the coverage report will include every file in the transitive closure of the address/file arguments; for example, `test ::` will include every Python file in your project, whereas `test project/app_test.py` will include `app_test.py` and any of its transitive dependencies.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--coverage-py-filter"], + "scoped_cmd_line_args": [ + "--flake8-install-from-resolve" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--filter"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } }, { - "choices": ["console", "xml", "html", "raw", "json", "lcov"], - "comma_separated_choices": "console, xml, html, raw, json, lcov", - "comma_separated_display_args": "--coverage-py-report=\"[, , ...]\"", - "config_key": "report", - "default": ["console"], + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--flake8-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--coverage-py-report=\"[, , ...]\"" + "--flake8-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_COVERAGE_PY_REPORT", + "env_var": "PANTS_FLAKE8_REQUIREMENTS", "fromfile": false, - "help": "Which coverage report type(s) to emit.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-report"], + "scoped_cmd_line_args": [ + "--flake8-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--report"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -78071,7 +107022,7 @@ { "details": "", "rank": "HARDCODED", - "value": ["console"] + "value": [] } ] } @@ -78079,24 +107030,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]coverage-py-global-report", - "config_key": "global_report", - "default": false, + "comma_separated_display_args": "--flake8-console-script=", + "config_key": "console_script", + "default": "flake8", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]coverage-py-global-report"], - "env_var": "PANTS_COVERAGE_PY_GLOBAL_REPORT", + "display_args": [ + "--flake8-console-script=" + ], + "env_var": "PANTS_FLAKE8_CONSOLE_SCRIPT", "fromfile": false, - "help": "If true, Pants will generate a global coverage report.\n\nThe global report will include all Python source files in the workspace and not just those depended on by the tests that were run.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--coverage-py-global-report", - "--no-coverage-py-global-report" + "--flake8-console-script" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--global-report", "--no-global-report"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -78107,7 +107061,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "flake8" } ] } @@ -78115,21 +107069,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--coverage-py-fail-under=", - "config_key": "fail_under", + "comma_separated_display_args": "--flake8-entry-point=", + "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--coverage-py-fail-under="], - "env_var": "PANTS_COVERAGE_PY_FAIL_UNDER", + "display_args": [ + "--flake8-entry-point=" + ], + "env_var": "PANTS_FLAKE8_ENTRY_POINT", "fromfile": false, - "help": "Fail if the total combined coverage percentage for all tests is less than this number.\n\nUse this instead of setting `fail_under` in a coverage.py config file, as the config will apply to each test separately, while you typically want this to apply to the combined coverage for all tests run.\n\nNote that you must generate at least one (non-raw) coverage report for this check to trigger.\n\nNote also that if you specify a non-integral value, you must also set `[report] precision` properly in the coverage.py config file to make use of the decimal places. See https://coverage.readthedocs.io/en/latest/config.html.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--coverage-py-fail-under"], + "scoped_cmd_line_args": [ + "--flake8-entry-point" + ], "target_field_name": null, - "typ": "float", - "unscoped_cmd_line_args": ["--fail-under"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -78139,47 +107099,37 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Configuration for Python test coverage measurement.", - "is_goal": false, - "provider": "pants.backend.python", - "scope": "coverage-py" - }, - "debug-adapter": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debug-adapter-host=", - "config_key": "host", - "default": "127.0.0.1", + "comma_separated_display_args": "--flake8-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debug-adapter-host="], - "env_var": "PANTS_DEBUG_ADAPTER_HOST", + "display_args": [ + "--flake8-config=" + ], + "env_var": "PANTS_FLAKE8_CONFIG", "fromfile": false, - "help": "The hostname to use when launching the server.", + "help": "Path to an INI config file understood by Flake8 (https://flake8.pycqa.org/en/latest/user/configuration.html).\n\nSetting this option will disable `[flake8].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debug-adapter-host"], + "scoped_cmd_line_args": [ + "--flake8-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--host"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "127.0.0.1" } ] } @@ -78187,70 +107137,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debug-adapter-port=", - "config_key": "port", - "default": 5678, + "comma_separated_display_args": "--flake8-extra-files=\"[, , ...]\"", + "config_key": "extra_files", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debug-adapter-port="], - "env_var": "PANTS_DEBUG_ADAPTER_PORT", + "display_args": [ + "--flake8-extra-files=\"[, , ...]\"" + ], + "env_var": "PANTS_FLAKE8_EXTRA_FILES", "fromfile": false, - "help": "The port to use when launching the server.", + "help": "Paths to extra files to include in the sandbox. This can be useful for Flake8 plugins,\n like including config files for the `flake8-bandit` plugin.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debug-adapter-port"], + "scoped_cmd_line_args": [ + "--flake8-extra-files" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--port"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--extra-files" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 5678 + "value": [] } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Options used to configure and launch a Debug Adapter server.\n\nSee https://microsoft.github.io/debug-adapter-protocol/ for more information.", - "is_goal": false, - "provider": "pants.core", - "scope": "debug-adapter" - }, - "debugpy": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]flake8-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debugpy-install-from-resolve="], - "env_var": "PANTS_DEBUGPY_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]flake8-config-discovery" + ], + "env_var": "PANTS_FLAKE8_CONFIG_DISCOVERY", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 true, Pants will include any relevant config files during runs (`.flake8`, `flake8`, `setup.cfg`, and `tox.ini`).\n\nUse `[flake8].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-install-from-resolve"], + "scoped_cmd_line_args": [ + "--flake8-config-discovery", + "--no-flake8-config-discovery" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } @@ -78258,23 +107217,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--flake8-source-plugins=\"[, , ...]\"", + "config_key": "source_plugins", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--debugpy-requirements=\"['', '', ...]\"" + "--flake8-source-plugins=\"[, , ...]\"" ], - "env_var": "PANTS_DEBUGPY_REQUIREMENTS", + "env_var": "PANTS_FLAKE8_SOURCE_PLUGINS", "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": "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/v2.19/docs/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/v2.19/docs/python-lockfiles#lockfiles-for-tools.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-requirements"], + "scoped_cmd_line_args": [ + "--flake8-source-plugins" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--source-plugins" + ], "value_history": { "ranked_values": [ { @@ -78289,38 +107252,46 @@ } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]flake8-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--debugpy-interpreter-constraints=\"['', '', ...]\"" + "--[no-]flake8-skip" ], - "env_var": "PANTS_DEBUGPY_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_FLAKE8_SKIP", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "If true, don't use Flake8 when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--flake8-skip", + "--no-flake8-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": false } ] } @@ -78328,49 +107299,76 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-console-script=", - "config_key": "console_script", - "default": null, + "comma_separated_display_args": "--flake8-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debugpy-console-script="], - "env_var": "PANTS_DEBUGPY_CONSOLE_SCRIPT", + "display_args": [ + "--flake8-args=\"[, , ...]\"" + ], + "env_var": "PANTS_FLAKE8_ARGS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Arguments to pass directly to Flake8, e.g. `--flake8-args='--ignore E123,W456 --enable-extensions H111'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-console-script"], + "scoped_cmd_line_args": [ + "--flake8-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Flake8 Python linter (https://flake8.pycqa.org/).", + "is_goal": false, + "provider": "pants.backend.python.lint.flake8", + "scope": "flake8" + }, + "fmt": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-entry-point=", - "config_key": "entry_point", - "default": "debugpy", + "comma_separated_display_args": "--fmt-batch-size=", + "config_key": "batch_size", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--debugpy-entry-point="], - "env_var": "PANTS_DEBUGPY_ENTRY_POINT", + "display_args": [ + "--fmt-batch-size=" + ], + "env_var": "PANTS_FMT_BATCH_SIZE", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "The target number of files to be included in each formatter batch.\n\nFormatter processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in formatter processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-entry-point"], + "scoped_cmd_line_args": [ + "--fmt-batch-size" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--batch-size" + ], "value_history": { "ranked_values": [ { @@ -78381,7 +107379,7 @@ { "details": null, "rank": "HARDCODED", - "value": "debugpy" + "value": 128 } ] } @@ -78391,23 +107389,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--debugpy-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--fmt-only=\"['', '', ...]\"", + "config_key": "only", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--debugpy-args=\"[, , ...]\"" + "--fmt-only=\"['', '', ...]\"" ], - "env_var": "PANTS_DEBUGPY_ARGS", + "env_var": "PANTS_FMT_ONLY", "fromfile": false, - "help": "Arguments to pass directly to debugpy, e.g. `--debugpy-args='--log-to-stderr'`.", + "help": "Only run these formatters and skip all others.\n\nThe formatter names are outputted at the final summary of running this goal, e.g. `isort` and `shfmt`. You can also run `fmt --only=fake` to get a list of all activated formatters.\n\nYou can repeat this option, e.g. `fmt --only=isort --only=shfmt` or `fmt --only=['isort', 'shfmt']`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--debugpy-args"], + "scoped_cmd_line_args": [ + "--fmt-only" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--only" + ], "value_history": { "ranked_values": [ { @@ -78426,32 +107428,37 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "An implementation of the Debug Adapter Protocol for Python (https://github.com/microsoft/debugpy).", - "is_goal": false, - "provider": "pants.backend.python", - "scope": "debugpy" + "description": "Autoformat source code.", + "is_goal": true, + "provider": "pants.core", + "scope": "fmt" }, - "dependees": { - "advanced": [], - "basic": [ + "generate-lockfiles": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependees-output-file=", - "config_key": "output_file", + "comma_separated_display_args": "--generate-lockfiles-custom-command=", + "config_key": "custom_command", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependees-output-file="], - "env_var": "PANTS_DEPENDEES_OUTPUT_FILE", + "display_args": [ + "--generate-lockfiles-custom-command=" + ], + "env_var": "PANTS_GENERATE_LOCKFILES_CUSTOM_COMMAND", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "If set, lockfile headers will say to run this command to regenerate the lockfile, rather than running `pants generate-lockfiles --resolve=` like normal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependees-output-file"], + "scoped_cmd_line_args": [ + "--generate-lockfiles-custom-command" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "unscoped_cmd_line_args": [ + "--custom-command" + ], "value_history": { "ranked_values": [ { @@ -78461,36 +107468,44 @@ } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependees-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--generate-lockfiles-resolve=\"['', '', ...]\"", + "config_key": "resolve", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependees-sep="], - "env_var": "PANTS_DEPENDEES_SEP", + "display_args": [ + "--generate-lockfiles-resolve=\"['', '', ...]\"" + ], + "env_var": "PANTS_GENERATE_LOCKFILES_RESOLVE", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "Only generate lockfiles for the specified resolve(s).\n\nResolves are the logical names for the different lockfiles used in your project. For your own code's dependencies, these come from backend-specific configuration such as `[python].resolves`. For tool lockfiles, resolve names are the options scope for that tool such as `black`, `pytest`, and `mypy-protobuf`.\n\nFor example, you can run `pants generate-lockfiles --resolve=black --resolve=pytest --resolve=data-science` to only generate lockfiles for those two tools and your resolve named `data-science`.\n\nIf you specify an invalid resolve name, like 'fake', Pants will output all possible values.\n\nIf not specified, Pants will generate lockfiles for all resolves.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependees-sep"], + "scoped_cmd_line_args": [ + "--generate-lockfiles-resolve" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--resolve" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "\\n" + "value": [] } ] } @@ -78498,24 +107513,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependees-transitive", - "config_key": "transitive", - "default": false, + "comma_separated_display_args": "--[no-]generate-lockfiles-diff", + "config_key": "diff", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependees-transitive"], - "env_var": "PANTS_DEPENDEES_TRANSITIVE", + "display_args": [ + "--[no-]generate-lockfiles-diff" + ], + "env_var": "PANTS_GENERATE_LOCKFILES_DIFF", "fromfile": false, - "help": "List all transitive dependents. If unspecified, list direct dependents only.", + "help": "Print a summary of changed distributions after generating the lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependees-transitive", - "--no-dependees-transitive" + "--generate-lockfiles-diff", + "--no-generate-lockfiles-diff" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--transitive", "--no-transitive"], + "unscoped_cmd_line_args": [ + "--diff", + "--no-diff" + ], "value_history": { "ranked_values": [ { @@ -78526,7 +107546,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } @@ -78534,24 +107554,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependees-closed", - "config_key": "closed", + "comma_separated_display_args": "--[no-]generate-lockfiles-diff-include-unchanged", + "config_key": "diff_include_unchanged", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependees-closed"], - "env_var": "PANTS_DEPENDEES_CLOSED", + "display_args": [ + "--[no-]generate-lockfiles-diff-include-unchanged" + ], + "env_var": "PANTS_GENERATE_LOCKFILES_DIFF_INCLUDE_UNCHANGED", "fromfile": false, - "help": "Include the input targets in the output, along with the dependents.", + "help": "Include unchanged distributions in the diff summary output. Implies `diff=true`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependees-closed", - "--no-dependees-closed" + "--generate-lockfiles-diff-include-unchanged", + "--no-generate-lockfiles-diff-include-unchanged" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--closed", "--no-closed"], + "unscoped_cmd_line_args": [ + "--diff-include-unchanged", + "--no-diff-include-unchanged" + ], "value_history": { "ranked_values": [ { @@ -78569,61 +107594,138 @@ } ], "deprecated": [], - "deprecated_scope": "dependees", - "description": "List all targets that depend on any of the input files/targets.", + "deprecated_scope": null, + "description": "Generate lockfiles for third-party dependencies.", "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "dependees" + "provider": "pants.core", + "scope": "generate-lockfiles" }, - "dependencies": { + "generate-snapshots": { "advanced": [], - "basic": [ + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Generate test snapshots.", + "is_goal": true, + "provider": "pants.core", + "scope": "generate-snapshots" + }, + "go-dump-import-path-mapping": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Dump import paths mapped to package addresses.", + "is_goal": true, + "provider": "pants.backend.experimental.go.debug_goals", + "scope": "go-dump-import-path-mapping" + }, + "go-export-cgo-codegen": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Export files generated by Cgo.", + "is_goal": true, + "provider": "pants.backend.experimental.go.debug_goals", + "scope": "go-export-cgo-codegen" + }, + "go-generate": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependencies-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--go-generate-env-vars=\"['', '', ...]\"", + "config_key": "env_vars", + "default": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "PATH" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependencies-output-file="], - "env_var": "PANTS_DEPENDENCIES_OUTPUT_FILE", + "display_args": [ + "--go-generate-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_GO_GENERATE_ENV_VARS", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "Environment variables to set when invoking generator programs. 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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependencies-output-file"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "scoped_cmd_line_args": [ + "--go-generate-env-vars" + ], + "target_field_name": "go_generate_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--env-vars" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "PATH" + ] } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Run each command in a package described by a `//go:generate` directive. This is equivalent to running `go generate` on a Go package.\n\nNote: Just like with `go generate`, the `go-generate` goal is never run as part of the build and must be run manually to invoke the commands described by the `//go:generate` directives.\n\nSee https://go.dev/blog/generate for details.", + "is_goal": true, + "provider": "pants.backend.experimental.go", + "scope": "go-generate" + }, + "go-show-package-analysis": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Show the package analysis for Go package targets.", + "is_goal": true, + "provider": "pants.backend.experimental.go.debug_goals", + "scope": "go-show-package-analysis" + }, + "go-test": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependencies-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--go-test-coverage-output-dir=", + "config_key": "coverage_output_dir", + "default": "{distdir}/coverage/go/{target_spec}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependencies-sep="], - "env_var": "PANTS_DEPENDENCIES_SEP", + "display_args": [ + "--go-test-coverage-output-dir=" + ], + "env_var": "PANTS_GO_TEST_COVERAGE_OUTPUT_DIR", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "Path to write the Go coverage reports to. Must be relative to the build root.\n\nReplacements:\n\n - `{distdir}` is replaced with the Pants `distdir`.\n - `{target_spec}` is replaced with the address of the applicable `go_package` target with `/`\n characters replaced with dots (`.`).\n - `{import_path}` is replaced with the applicable package's import path. Subdirectories will be made\n for any path components separated by `/` characters.\n - `{import_path_escaped}` is replaced with the applicable package's import path but with\n slashes converted to underscores. This is deprecated and only exists to support behavior from\n earlier versions.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependencies-sep"], + "scoped_cmd_line_args": [ + "--go-test-coverage-output-dir" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "unscoped_cmd_line_args": [ + "--coverage-output-dir" + ], "value_history": { "ranked_values": [ { @@ -78634,7 +107736,7 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": "{distdir}/coverage/go/{target_spec}" } ] } @@ -78642,24 +107744,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependencies-transitive", - "config_key": "transitive", + "comma_separated_display_args": "--[no-]go-test-output-test-binary", + "config_key": "output_test_binary", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependencies-transitive"], - "env_var": "PANTS_DEPENDENCIES_TRANSITIVE", + "display_args": [ + "--[no-]go-test-output-test-binary" + ], + "env_var": "PANTS_GO_TEST_OUTPUT_TEST_BINARY", "fromfile": false, - "help": "List all transitive dependencies. If unspecified, list direct dependencies only.", + "help": "Write the test binary to the test extra output directory.\n\nThis is similar to the `go test -c` option, but will still run the underlying test.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependencies-transitive", - "--no-dependencies-transitive" + "--go-test-output-test-binary", + "--no-go-test-output-test-binary" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--transitive", "--no-transitive"], + "unscoped_cmd_line_args": [ + "--output-test-binary", + "--no-output-test-binary" + ], "value_history": { "ranked_values": [ { @@ -78674,78 +107781,88 @@ } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependencies-closed", - "config_key": "closed", - "default": false, + "comma_separated_display_args": "--go-test-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependencies-closed"], - "env_var": "PANTS_DEPENDENCIES_CLOSED", + "display_args": [ + "--go-test-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_GO_TEST_ARGS", "fromfile": false, - "help": "Include the input targets in the output, along with the dependencies.", + "help": "Arguments to pass directly to Go test binary, e.g. `--go-test-args='-run TestFoo -v'`.\n\nKnown Go test options will be transformed into the form expected by the test binary, e.g. `-v` becomes `-test.v`. Run `go help testflag` from the Go SDK to learn more about the options supported by Go test binaries.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependencies-closed", - "--no-dependencies-closed" + "--go-test-args" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--closed", "--no-closed"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "List the dependencies of the input files/targets.", - "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "dependencies" - }, - "dependents": { - "advanced": [], - "basic": [ + }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--dependents-output-file=", - "config_key": "output_file", - "default": null, + "choices": [ + "set", + "count", + "atomic" + ], + "comma_separated_choices": "set, count, atomic", + "comma_separated_display_args": "--go-test-cover-mode=", + "config_key": "cover_mode", + "default": "set", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependents-output-file="], - "env_var": "PANTS_DEPENDENTS_OUTPUT_FILE", + "display_args": [ + "--go-test-cover-mode=" + ], + "env_var": "PANTS_GO_TEST_COVER_MODE", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "Coverage mode to use when running Go tests with coverage analysis enabled via `--test-use-coverage`. Valid values are `set`, `count`, and `atomic`:\n\n * `set`: bool: does this statement run?\n * `count`: int: how many times does this statement run?\n * `atomic`: int: count, but correct in multithreaded tests; significantly more expensive.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependents-output-file"], + "scoped_cmd_line_args": [ + "--go-test-cover-mode" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "GoCoverMode", + "unscoped_cmd_line_args": [ + "--cover-mode" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "set" } ] } @@ -78753,21 +107870,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dependents-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--[no-]go-test-coverage-html", + "config_key": "coverage_html", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dependents-sep="], - "env_var": "PANTS_DEPENDENTS_SEP", + "display_args": [ + "--[no-]go-test-coverage-html" + ], + "env_var": "PANTS_GO_TEST_COVERAGE_HTML", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "If true, then convert coverage reports to HTML format and write a `coverage.html` file next to the raw coverage data.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dependents-sep"], + "scoped_cmd_line_args": [ + "--go-test-coverage-html", + "--no-go-test-coverage-html" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--coverage-html", + "--no-coverage-html" + ], "value_history": { "ranked_values": [ { @@ -78778,7 +107903,7 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": true } ] } @@ -78786,35 +107911,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependents-transitive", - "config_key": "transitive", - "default": false, + "comma_separated_display_args": "--go-test-coverage-packages=\"['', '', ...]\"", + "config_key": "coverage_packages", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependents-transitive"], - "env_var": "PANTS_DEPENDENTS_TRANSITIVE", + "display_args": [ + "--go-test-coverage-packages=\"['', '', ...]\"" + ], + "env_var": "PANTS_GO_TEST_COVERAGE_PACKAGES", "fromfile": false, - "help": "List all transitive dependents. If unspecified, list direct dependents only.", + "help": "A list of \"import path patterns\" for determining which import paths will be instrumented for code coverage.\n\nFrom `go help packages`:\n\nAn import path is a pattern if it includes one or more \"...\" wildcards, each of which can match any string, including the empty string and strings containing slashes. Such a pattern expands to all package directories found in the GOPATH trees with names matching the patterns.\n\nTo make common patterns more convenient, there are two special cases. First, /... at the end of the pattern can match an empty string, so that net/... matches both net and packages in its subdirectories, like net/http. Second, any slash-separated pattern element containing a wildcard never participates in a match of the \"vendor\" element in the path of a vendored package, so that ./... does not match packages in subdirectories of ./vendor or ./mycode/vendor, but ./vendor/... and ./mycode/vendor/... do. Note, however, that a directory named vendor that itself contains code is not a vendored package: cmd/vendor would be a command named vendor, and the pattern cmd/... matches it. See golang.org/s/go15vendor for more about vendoring.\n\nThis option is similar to the `go test -coverpkg` option, but without support currently for reserved import path patterns like `std` and `all`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependents-transitive", - "--no-dependents-transitive" + "--go-test-coverage-packages" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--transitive", "--no-transitive"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--coverage-packages" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } @@ -78822,24 +107950,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]dependents-closed", - "config_key": "closed", + "comma_separated_display_args": "--[no-]go-test-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]dependents-closed"], - "env_var": "PANTS_DEPENDENTS_CLOSED", + "display_args": [ + "--[no-]go-test-skip" + ], + "env_var": "PANTS_GO_TEST_SKIP", "fromfile": false, - "help": "Include the input targets in the output, along with the dependents.", + "help": "If true, don't use Go test binary when running `pants test`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dependents-closed", - "--no-dependents-closed" + "--go-test-skip", + "--no-go-test-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--closed", "--no-closed"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -78854,41 +107987,44 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": "dependees", - "description": "List all targets that depend on any of the input files/targets.", - "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "dependents" - }, - "docformatter": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]go-test-force-race", + "config_key": "force_race", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docformatter-install-from-resolve="], - "env_var": "PANTS_DOCFORMATTER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]go-test-force-race" + ], + "env_var": "PANTS_GO_TEST_FORCE_RACE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 true, then always enable the Go data race detector when running tests regardless of the test-by-test `test_race` field on the relevant `go_package` target.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-install-from-resolve"], + "scoped_cmd_line_args": [ + "--go-test-force-race", + "--no-go-test-force-race" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force-race", + "--no-force-race" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } @@ -78896,34 +108032,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]go-test-force-msan", + "config_key": "force_msan", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docformatter-requirements=\"['', '', ...]\"" + "--[no-]go-test-force-msan" ], - "env_var": "PANTS_DOCFORMATTER_REQUIREMENTS", + "env_var": "PANTS_GO_TEST_FORCE_MSAN", "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 true, then always enable interoperation between Go and the C/C++ \"memory sanitizer\" when running tests regardless of the test-by-test `msan` field on the relevant `go_package` target.\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-requirements"], + "scoped_cmd_line_args": [ + "--go-test-force-msan", + "--no-go-test-force-msan" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force-msan", + "--no-force-msan" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } @@ -78931,34 +108073,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]go-test-force-asan", + "config_key": "force_asan", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docformatter-interpreter-constraints=\"['', '', ...]\"" + "--[no-]go-test-force-asan" ], - "env_var": "PANTS_DOCFORMATTER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_GO_TEST_FORCE_ASAN", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "If true, then always enable interoperation between Go and the C/C++ \"address sanitizer\" when running tests regardless of the test-by-test `asan` field on the relevant `go_package` target.\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--go-test-force-asan", + "--no-go-test-force-asan" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force-asan", + "--no-force-asan" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": false } ] } @@ -78966,21 +108114,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-console-script=", - "config_key": "console_script", - "default": "docformatter", + "comma_separated_display_args": "--[no-]go-test-block-profile", + "config_key": "block_profile", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docformatter-console-script="], - "env_var": "PANTS_DOCFORMATTER_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]go-test-block-profile" + ], + "env_var": "PANTS_GO_TEST_BLOCK_PROFILE", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Capture a goroutine blocking profile from the execution of the test runner. The profile will be written to the file `block.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-console-script"], + "scoped_cmd_line_args": [ + "--go-test-block-profile", + "--no-go-test-block-profile" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--block-profile", + "--no-block-profile" + ], "value_history": { "ranked_values": [ { @@ -78991,7 +108147,7 @@ { "details": null, "rank": "HARDCODED", - "value": "docformatter" + "value": false } ] } @@ -78999,54 +108155,70 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]go-test-cpu-profile", + "config_key": "cpu_profile", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docformatter-entry-point="], - "env_var": "PANTS_DOCFORMATTER_ENTRY_POINT", + "display_args": [ + "--[no-]go-test-cpu-profile" + ], + "env_var": "PANTS_GO_TEST_CPU_PROFILE", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Capture a CPU profile from the execution of the test runner. The profile will be written to the file `cpu.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-entry-point"], + "scoped_cmd_line_args": [ + "--go-test-cpu-profile", + "--no-go-test-cpu-profile" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--cpu-profile", + "--no-cpu-profile" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docformatter-skip", - "config_key": "skip", + "comma_separated_display_args": "--[no-]go-test-mem-profile", + "config_key": "mem_profile", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docformatter-skip"], - "env_var": "PANTS_DOCFORMATTER_SKIP", + "display_args": [ + "--[no-]go-test-mem-profile" + ], + "env_var": "PANTS_GO_TEST_MEM_PROFILE", "fromfile": false, - "help": "If true, don't use docformatter when running `pants fmt` and `pants lint`.", + "help": "Capture an allocation profile from the execution of the test runner after tests have passed. The profile will be written to the file `mem.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--docformatter-skip", - "--no-docformatter-skip" + "--go-test-mem-profile", + "--no-go-test-mem-profile" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--mem-profile", + "--no-mem-profile" + ], "value_history": { "ranked_values": [ { @@ -79065,99 +108237,122 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docformatter-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]go-test-mutex-profile", + "config_key": "mutex_profile", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docformatter-args=\"[, , ...]\"" + "--[no-]go-test-mutex-profile" ], - "env_var": "PANTS_DOCFORMATTER_ARGS", + "env_var": "PANTS_GO_TEST_MUTEX_PROFILE", "fromfile": false, - "help": "Arguments to pass directly to docformatter, e.g. `--docformatter-args='--wrap-summaries=100 --pre-summary-newline'`.", + "help": "Capture a mutex contention profile from the execution of the test runner when all tests are complete. The profile will be written to the file `mutex.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docformatter-args"], + "scoped_cmd_line_args": [ + "--go-test-mutex-profile", + "--no-go-test-mutex-profile" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--mutex-profile", + "--no-mutex-profile" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The Python docformatter tool (https://github.com/myint/docformatter).", - "is_goal": false, - "provider": "pants.backend.python.lint.docformatter", - "scope": "docformatter" - }, - "docker": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-tools=\"['', '', ...]\"", - "config_key": "tools", - "default": [], + "comma_separated_display_args": "--[no-]go-test-trace", + "config_key": "trace", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-tools=\"['', '', ...]\""], - "env_var": "PANTS_DOCKER_TOOLS", + "display_args": [ + "--[no-]go-test-trace" + ], + "env_var": "PANTS_GO_TEST_TRACE", "fromfile": false, - "help": "List any additional executable tools required for Docker to work. 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.", + "help": "Capture an execution trace from the execution of the test runner. The trace will be written to the file `trace.out` in the test extra output directory.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-tools"], + "scoped_cmd_line_args": [ + "--go-test-trace", + "--no-go-test-trace" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--tools"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--trace", + "--no-trace" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for Go tests.", + "is_goal": false, + "provider": "pants.backend.experimental.go", + "scope": "go-test" + }, + "go-vet": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-tailor", - "config_key": "tailor", - "default": true, + "comma_separated_display_args": "--[no-]go-vet-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-tailor"], - "env_var": "PANTS_DOCKER_TAILOR", + "display_args": [ + "--[no-]go-vet-skip" + ], + "env_var": "PANTS_GO_VET_SKIP", "fromfile": false, - "help": "If true, add `docker_image` targets with the `tailor` goal.", + "help": "If true, don't use `go vet` when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-tailor", "--no-docker-tailor"], + "scoped_cmd_line_args": [ + "--go-vet-skip", + "--no-go-vet-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -79168,42 +108363,59 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "`go vet`-specific options.", + "is_goal": false, + "provider": "pants.backend.experimental.go.lint.vet", + "scope": "go-vet" + }, + "gofmt": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [""], + "comma_separated_display_args": "--[no-]gofmt-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-executable-search-paths=\"[, , ...]\"" + "--[no-]gofmt-skip" ], - "env_var": "PANTS_DOCKER_EXECUTABLE_SEARCH_PATHS", + "env_var": "PANTS_GOFMT_SKIP", "fromfile": false, - "help": "The PATH value that will be used to find the Docker client and any tools required. The special string `\"\"` will expand to the contents of the PATH env var.", + "help": "If true, don't use gofmt when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-executable-search-paths"], - "target_field_name": "docker_executable_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--executable-search-paths"], + "scoped_cmd_line_args": [ + "--gofmt-skip", + "--no-gofmt-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": false } ] } @@ -79211,23 +108423,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-env-vars=\"[, , ...]\"", - "config_key": "env_vars", + "comma_separated_display_args": "--gofmt-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-env-vars=\"[, , ...]\"" + "--gofmt-args=\"[, , ...]\"" ], - "env_var": "PANTS_DOCKER_ENV_VARS", + "env_var": "PANTS_GOFMT_ARGS", "fromfile": false, - "help": "Environment variables to set for `docker` 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.", + "help": "Arguments to pass directly to gofmt, e.g. `--gofmt-args='-s -e'`.\n\nOnly the following style related options are supported: `-e`, `-r`, `-s`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-env-vars"], - "target_field_name": "docker_env_vars", + "scoped_cmd_line_args": [ + "--gofmt-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--env-vars"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -79244,60 +108460,41 @@ } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Gofmt-specific options.", + "is_goal": false, + "provider": "pants.backend.experimental.go", + "scope": "gofmt" + }, + "golang": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-registries=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "registries", - "default": {}, + "comma_separated_display_args": "--[no-]golang-tailor-go-mod-targets", + "config_key": "tailor_go_mod_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-registries=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]golang-tailor-go-mod-targets" ], - "env_var": "PANTS_DOCKER_REGISTRIES", - "fromfile": true, - "help": "Configure Docker registries. The schema for a registry entry is as follows:\n\n {\n \"registry-alias\": {\n \"address\": \"registry-domain:port\",\n \"default\": bool,\n \"extra_image_tags\": [],\n \"skip_push\": bool,\n \"repository\": str,\n \"use_local_alias\": bool,\n },\n ...\n }\n\nIf no registries are provided in a `docker_image` target, then all default addresses will be used, if any.\n\nThe `docker_image.registries` may be provided with a list of registry addresses and registry aliases prefixed with `@` to be used instead of the defaults.\n\nA configured registry is marked as default either by setting `default = true` or with an alias of `\"default\"`.\n\nA `docker_image` may be pushed to a subset of registries using the per registry `skip_push` option rather then the all or nothing toggle of the field option `skip_push` on the `docker_image` target.\n\nAny image tags that should only be added for specific registries may be provided as the `extra_image_tags` option. The tags may use value formatting the same as for the `image_tags` field of the `docker_image` target.\n\nWhen a registry provides a `repository` value, it will be used instead of the `docker_image.repository` or the default repository. Using the placeholders `{target_repository}` or `{default_repository}` those overridden values may be incorporated into the registry specific repository value.\n\nIf `use_local_alias` is true, a built image is additionally tagged locally using the registry alias as the value for repository (i.e. the additional image tag is not pushed) and will be used for any `pants run` requests.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--docker-registries"], - "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--registries"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": {} - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--docker-default-repository=", - "config_key": "default_repository", - "default": "{name}", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--docker-default-repository="], - "env_var": "PANTS_DOCKER_DEFAULT_REPOSITORY", + "env_var": "PANTS_GOLANG_TAILOR_GO_MOD_TARGETS", "fromfile": false, - "help": "Configure the default repository name used in the Docker image tag.\n\nThe value is formatted and may reference these variables (in addition to the normal placeheolders derived from the Dockerfile and build args etc):\n\n * name\n * directory\n * parent_directory\n * target_repository\n\nExample: `--default-repository=\"{directory}/{name}\"`.\n\nThe `name` variable is the `docker_image`'s target name, `directory` and `parent_directory` are the name of the directory in which the BUILD file is for the target, and its parent directory respectively.\n\nUse the `repository` field to set this value directly on a `docker_image` target.\n\nRegistries may override the repository value for a specific registry.\n\nAny registries or tags are added to the image name as required, and should not be part of the repository name.", + "help": "If true, add a `go_mod` target with the `tailor` goal wherever there is a `go.mod` file.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-default-repository"], + "scoped_cmd_line_args": [ + "--golang-tailor-go-mod-targets", + "--no-golang-tailor-go-mod-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--default-repository"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-go-mod-targets", + "--no-tailor-go-mod-targets" + ], "value_history": { "ranked_values": [ { @@ -79308,7 +108505,7 @@ { "details": null, "rank": "HARDCODED", - "value": "{name}" + "value": true } ] } @@ -79316,21 +108513,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-default-context-root=", - "config_key": "default_context_root", - "default": "", + "comma_separated_display_args": "--[no-]golang-tailor-package-targets", + "config_key": "tailor_package_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-default-context-root="], - "env_var": "PANTS_DOCKER_DEFAULT_CONTEXT_ROOT", + "display_args": [ + "--[no-]golang-tailor-package-targets" + ], + "env_var": "PANTS_GOLANG_TAILOR_PACKAGE_TARGETS", "fromfile": false, - "help": "Provide a default Docker build context root path for `docker_image` targets that does not specify their own `context_root` field.\n\nThe context root is relative to the build root by default, but may be prefixed with `./` to be relative to the directory of the BUILD file of the `docker_image`.\n\nExamples:\n\n --default-context-root=src/docker\n --default-context-root=./relative_to_the_build_file", + "help": "If true, add a `go_package` target with the `tailor` goal in every directory with a `.go` file.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-default-context-root"], + "scoped_cmd_line_args": [ + "--golang-tailor-package-targets", + "--no-golang-tailor-package-targets" + ], "target_field_name": null, - "typ": "workspace_path", - "unscoped_cmd_line_args": ["--default-context-root"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-package-targets", + "--no-tailor-package-targets" + ], "value_history": { "ranked_values": [ { @@ -79341,7 +108546,7 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": true } ] } @@ -79349,24 +108554,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-use-buildx", - "config_key": "use_buildx", - "default": false, + "comma_separated_display_args": "--[no-]golang-tailor-binary-targets", + "config_key": "tailor_binary_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-use-buildx"], - "env_var": "PANTS_DOCKER_USE_BUILDX", + "display_args": [ + "--[no-]golang-tailor-binary-targets" + ], + "env_var": "PANTS_GOLANG_TAILOR_BINARY_TARGETS", "fromfile": false, - "help": "Use [buildx](https://github.com/docker/buildx#buildx) (and BuildKit) for builds.", + "help": "If true, add a `go_binary` target with the `tailor` goal in every directory with a `.go` file with `package main`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--docker-use-buildx", - "--no-docker-use-buildx" + "--golang-tailor-binary-targets", + "--no-golang-tailor-binary-targets" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--use-buildx", "--no-use-buildx"], + "unscoped_cmd_line_args": [ + "--tailor-binary-targets", + "--no-tailor-binary-targets" + ], "value_history": { "ranked_values": [ { @@ -79377,7 +108587,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } @@ -79385,34 +108595,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-build-args=\"[, , ...]\"", - "config_key": "build_args", - "default": [], + "comma_separated_display_args": "--golang-asdf-tool-name=", + "config_key": "asdf_tool_name", + "default": "go-sdk", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-build-args=\"[, , ...]\"" + "--golang-asdf-tool-name=" ], - "env_var": "PANTS_DOCKER_BUILD_ARGS", + "env_var": "PANTS_GOLANG_ASDF_TOOL_NAME", "fromfile": false, - "help": "Global build arguments (for Docker `--build-arg` options) to use for all `docker build` invocations.\n\nEntries are either strings in the form `ARG_NAME=value` to set an explicit value; or just `ARG_NAME` to copy the value from Pants's own environment.\n\nExample:\n\n [docker]\n build_args = [\"VAR1=value\", \"VAR2\"]\n\nUse the `extra_build_args` field on a `docker_image` target for additional image specific build arguments.", + "help": "The ASDF tool name to use when searching for installed Go distributions using the ASDF tool manager (https://asdf-vm.com/). The default value for this option is for the `go-sdk` ASDF plugin (https://github.com/yacchi/asdf-go-sdk.git). There are other plugins. If you wish to use one of them, then set this option to the ASDF tool name under which that other plugin was installed into ASDF.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-build-args"], + "scoped_cmd_line_args": [ + "--golang-asdf-tool-name" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--build-args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--asdf-tool-name" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "go-sdk" } ] } @@ -79420,27 +108634,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-build-target-stage=", - "config_key": "build_target_stage", - "default": null, + "comma_separated_display_args": "--golang-asdf-bin-relpath=", + "config_key": "asdf_bin_relpath", + "default": "bin", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--docker-build-target-stage="], - "env_var": "PANTS_DOCKER_BUILD_TARGET_STAGE", + "display_args": [ + "--golang-asdf-bin-relpath=" + ], + "env_var": "PANTS_GOLANG_ASDF_BIN_RELPATH", "fromfile": false, - "help": "Global default value for `target_stage` on `docker_image` targets, overriding the field value on the targets, if there is a matching stage in the `Dockerfile`.\n\nThis is useful to provide from the command line, to specify the target stage to build for at execution time.", + "help": "The path relative to an ASDF install directory to use to find the `bin` directory within an installed Go distribution. The default value for this option works for the `go-sdk` ASDF plugin. Other ASDF plugins that install Go may have a different relative path to use.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-build-target-stage"], + "scoped_cmd_line_args": [ + "--golang-asdf-bin-relpath" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--build-target-stage"], + "unscoped_cmd_line_args": [ + "--asdf-bin-relpath" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "bin" } ] } @@ -79448,34 +108673,48 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-build-hosts=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "build_hosts", - "default": {}, + "comma_separated_display_args": "--golang-subprocess-env-vars=\"['', '', ...]\"", + "config_key": "subprocess_env_vars", + "default": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "PATH" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-build-hosts=\"{'key1': val1, 'key2': val2, ...}\"" + "--golang-subprocess-env-vars=\"['', '', ...]\"" ], - "env_var": "PANTS_DOCKER_BUILD_HOSTS", + "env_var": "PANTS_GOLANG_SUBPROCESS_ENV_VARS", "fromfile": false, - "help": "Hosts entries to be added to the `/etc/hosts` file in all built images.\n\nExample:\n\n [docker]\n build_hosts = {\"docker\": \"10.180.0.1\", \"docker2\": \"10.180.0.2\"}\n\nUse the `extra_build_hosts` field on a `docker_image` target for additional image specific host entries.", + "help": "Environment variables to set when invoking the `go` tool. 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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-build-hosts"], - "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--build-hosts"], + "scoped_cmd_line_args": [ + "--golang-subprocess-env-vars" + ], + "target_field_name": "golang_subprocess_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--subprocess-env-vars" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "PATH" + ] } ] } @@ -79483,24 +108722,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-build-no-cache", - "config_key": "build_no_cache", - "default": false, + "comma_separated_display_args": "--golang-cgo-gcc-binary-name=", + "config_key": "cgo_gcc_binary_name", + "default": "gcc", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-build-no-cache"], - "env_var": "PANTS_DOCKER_BUILD_NO_CACHE", + "display_args": [ + "--golang-cgo-gcc-binary-name=" + ], + "env_var": "PANTS_GOLANG_CGO_GCC_BINARY_NAME", "fromfile": false, - "help": "Do not use the Docker cache when building images.", + "help": "Name of the tool to use to compile C code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--docker-build-no-cache", - "--no-docker-build-no-cache" + "--golang-cgo-gcc-binary-name" + ], + "target_field_name": "golang_cgo_gcc_binary_name", + "typ": "str", + "unscoped_cmd_line_args": [ + "--cgo-gcc-binary-name" ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--build-no-cache", "--no-build-no-cache"], "value_history": { "ranked_values": [ { @@ -79511,7 +108753,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "gcc" } ] } @@ -79519,24 +108761,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]docker-build-verbose", - "config_key": "build_verbose", - "default": false, + "comma_separated_display_args": "--golang-cgo-gxx-binary-name=", + "config_key": "cgo_gxx_binary_name", + "default": "g++", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]docker-build-verbose"], - "env_var": "PANTS_DOCKER_BUILD_VERBOSE", + "display_args": [ + "--golang-cgo-gxx-binary-name=" + ], + "env_var": "PANTS_GOLANG_CGO_GXX_BINARY_NAME", "fromfile": false, - "help": "Whether to log the Docker output to the console. If false, only the image ID is logged.", + "help": "Name of the tool to use to compile C++ code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--docker-build-verbose", - "--no-docker-build-verbose" + "--golang-cgo-gxx-binary-name" + ], + "target_field_name": "golang_cgo_gxx_binary_name", + "typ": "str", + "unscoped_cmd_line_args": [ + "--cgo-gxx-binary-name" ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--build-verbose", "--no-build-verbose"], "value_history": { "ranked_values": [ { @@ -79547,7 +108792,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "g++" } ] } @@ -79555,72 +108800,77 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--docker-run-args=\"[, , ...]\"", - "config_key": "run_args", - "default": [], + "comma_separated_display_args": "--golang-cgo-fortran-binary-name=", + "config_key": "cgo_fortran_binary_name", + "default": "gfortran", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--docker-run-args=\"[, , ...]\"" + "--golang-cgo-fortran-binary-name=" ], - "env_var": "PANTS_DOCKER_RUN_ARGS", + "env_var": "PANTS_GOLANG_CGO_FORTRAN_BINARY_NAME", "fromfile": false, - "help": "Additional arguments to use for `docker run` invocations.\n\nExample:\n\n $ pants run --docker-run-args=\"-p 127.0.0.1:80:8080/tcp --name demo\" src/example:image -- [image entrypoint args]\n\nTo provide the top-level options to the `docker` client, use `[docker].env_vars` to configure the [Environment variables](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) as appropriate.\n\nThe arguments for the image entrypoint may be passed on the command line after a double dash (`--`), or using the `--run-args` option.\n\nDefaults to `--interactive --tty` when stdout is connected to a terminal.", + "help": "Name of the tool to use to compile fortran code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--docker-run-args"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--run-args"], + "scoped_cmd_line_args": [ + "--golang-cgo-fortran-binary-name" + ], + "target_field_name": "golang_cgo_fortran_binary_name", + "typ": "str", + "unscoped_cmd_line_args": [ + "--cgo-fortran-binary-name" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "gfortran" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Options for interacting with Docker.", - "is_goal": false, - "provider": "pants.backend.docker", - "scope": "docker" - }, - "dockerfile-parser": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dockerfile-parser-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--golang-external-linker-binary-name=", + "config_key": "external_linker_binary_name", + "default": "gcc", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--dockerfile-parser-install-from-resolve="], - "env_var": "PANTS_DOCKERFILE_PARSER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--golang-external-linker-binary-name=" + ], + "env_var": "PANTS_GOLANG_EXTERNAL_LINKER_BINARY_NAME", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Name of the tool to use as the \"external linker\" when invoking `go tool link`. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dockerfile-parser-install-from-resolve"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-external-linker-binary-name" + ], + "target_field_name": "golang_external_linker_binary_name", "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--external-linker-binary-name" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "gcc" } ] } @@ -79628,23 +108878,30 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dockerfile-parser-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--golang-cgo-c-flags=\"['', '', ...]\"", + "config_key": "cgo_c_flags", + "default": [ + "-g", + "-O2" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--dockerfile-parser-requirements=\"['', '', ...]\"" + "--golang-cgo-c-flags=\"['', '', ...]\"" ], - "env_var": "PANTS_DOCKERFILE_PARSER_REQUIREMENTS", + "env_var": "PANTS_GOLANG_CGO_C_FLAGS", "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": "Compiler options used when compiling C code when Cgo is enabled. Equivalent to setting the CGO_CFLAGS environment variable when invoking `go`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--dockerfile-parser-requirements"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-cgo-c-flags" + ], + "target_field_name": "golang_cgo_c_flags", "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--cgo-c-flags" + ], "value_history": { "ranked_values": [ { @@ -79655,7 +108912,10 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "-g", + "-O2" + ] } ] } @@ -79663,25 +108923,30 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--golang-cgo-cxx-flags=\"['', '', ...]\"", + "config_key": "cgo_cxx_flags", + "default": [ + "-g", + "-O2" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"" + "--golang-cgo-cxx-flags=\"['', '', ...]\"" ], - "env_var": "PANTS_DOCKERFILE_PARSER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_GOLANG_CGO_CXX_FLAGS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Compiler options used when compiling C++ code when Cgo is enabled. Equivalent to setting the CGO_CXXFLAGS environment variable when invoking `go`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--dockerfile-parser-interpreter-constraints" + "--golang-cgo-cxx-flags" ], - "target_field_name": null, + "target_field_name": "golang_cgo_cxx_flags", "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--cgo-cxx-flags" + ], "value_history": { "ranked_values": [ { @@ -79692,51 +108957,55 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "-g", + "-O2" + ] } ] } - } - ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Used to parse Dockerfile build specs to infer their dependencies.", - "is_goal": false, - "provider": "pants.backend.docker", - "scope": "dockerfile-parser" - }, - "download-terraform": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-version=", - "config_key": "version", - "default": "1.4.6", + "comma_separated_display_args": "--golang-cgo-fortran-flags=\"['', '', ...]\"", + "config_key": "cgo_fortran_flags", + "default": [ + "-g", + "-O2" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--download-terraform-version="], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_VERSION", + "display_args": [ + "--golang-cgo-fortran-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANG_CGO_FORTRAN_FLAGS", "fromfile": false, - "help": "Use this version of terraform.", + "help": "Compiler options used when compiling Fortran code when Cgo is enabled. Equivalent to setting the CGO_FFLAGS environment variable when invoking `go`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-version"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "scoped_cmd_line_args": [ + "--golang-cgo-fortran-flags" + ], + "target_field_name": "golang_cgo_fortran_flags", + "typ": "list", + "unscoped_cmd_line_args": [ + "--cgo-fortran-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "1.4.6" + "value": [ + "-g", + "-O2" + ] } ] } @@ -79744,196 +109013,30 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", + "comma_separated_display_args": "--golang-cgo-linker-flags=\"['', '', ...]\"", + "config_key": "cgo_linker_flags", "default": [ - "1.4.6|macos_x86_64|5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d|22051279", - "1.4.6|macos_arm64|30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1|20613318", - "1.4.6|linux_x86_64|e079db1a8945e39b1f8ba4e513946b3ab9f32bd5a2bdf19b9b186d22c5a3d53b|20779821", - "1.4.6|linux_arm64|b38f5db944ac4942f11ceea465a91e365b0636febd9998c110fbbe95d61c3b26|18834675", - "1.4.5|macos_x86_64|808e54d826737e9a0ca79bbe29330e50d3622bbeeb26066c63b371a291731711|22031074", - "1.4.5|macos_arm64|7104d9d13632aa61b494a349c589048d21bd550e579404c3a41c4932e4d6aa97|20592841", - "1.4.5|linux_x86_64|ce10e941cd11554b15a189cd00191c05abc20dff865599d361bdb863c5f406a9|20767621", - "1.4.5|linux_arm64|ca2c48f518f72fef668255150cc5e63b92545edc62a05939bbff8a350bceb357|18813058", - "1.4.4|macos_x86_64|0303ed9d7e5a225fc2e6fa9bf76fc6574c0c0359f22d5dfc04bc8b3234444f7c|22032187", - "1.4.4|macos_arm64|75602d9ec491982ceabea813569579b2991093a4e0d76b7ca86ffd9b7a2a1d1e|20594012", - "1.4.4|linux_x86_64|67541c1f6631befcc25b764028e5605e59234d4424e60a256518ee1e8dd50593|20767354", - "1.4.4|linux_arm64|f0b4e092f2aa6de3324e5e4b5b51260ecf5e8c2f5335ff7a2ffdc4fb54a8922d|18814310", - "1.4.3|macos_x86_64|89bdb242bfacf24167f365ef7a3bf0ad0e443ddd27ebde425fb71d77ce1a2597|22032267", - "1.4.3|macos_arm64|20b9d484bf99ada6c0de89316176ba33f7c87f64c0738991188465147bba221b|20574247", - "1.4.3|linux_x86_64|2252ee6ac8437b93db2b2ba341edc87951e2916afaeb50a88b858e80796e9111|20781685", - "1.4.3|linux_arm64|d3d9464953d390970e7f4f7cbcd94dbf63136da6fe1cbb4955d944a9315bdcdb|18814307", - "1.4.2|macos_x86_64|c218a6c0ef6692b25af16995c8c7bdf6739e9638fef9235c6aced3cd84afaf66|22030042", - "1.4.2|macos_arm64|af8ff7576c8fc41496fdf97e9199b00d8d81729a6a0e821eaf4dfd08aa763540|20588400", - "1.4.2|linux_x86_64|9f3ca33d04f5335472829d1df7785115b60176d610ae6f1583343b0a2221a931|20234129", - "1.4.2|linux_arm64|39c182670c4e63e918e0a16080b1cc47bb16e158d7da96333d682d6a9cb8eb91|18206088", - "1.4.1|macos_x86_64|96466364a7e66e3d456ecb6c85a63c83e124c004f8835fb8ea9b7bbb7542a9d0|22077050", - "1.4.1|macos_arm64|61f76e130b97c8a9017d8aaff15d252af29117e35ea1a0fc30bcaab7ceafce73|20634145", - "1.4.1|linux_x86_64|9e9f3e6752168dea8ecb3643ea9c18c65d5a52acc06c22453ebc4e3fc2d34421|20276168", - "1.4.1|linux_arm64|53322cc70b6e50ac1985bf26a78ffa2814789a4704880f071eaf3e67a463d6f6|18248378", - "1.4.0|macos_x86_64|e897a4217f1c3bfe37c694570dcc6371336fbda698790bb6b0547ec8daf1ffb3|21935694", - "1.4.0|macos_arm64|d4a1e564714c6acf848e86dc020ff182477b49f932e3f550a5d9c8f5da7636fb|20508091", - "1.4.0|linux_x86_64|5da60da508d6d1941ffa8b9216147456a16bbff6db7622ae9ad01d314cbdd188|20144407", - "1.4.0|linux_arm64|33e0f4f0b75f507fc19012111de008308df343153cd6a3992507f4566c0bb723|18130960", - "1.3.9|macos_x86_64|a73326ea8fb06f6976597e005f8047cbd55ac76ed1e517303d8f6395db6c7805|21194871", - "1.3.9|macos_arm64|d8a59a794a7f99b484a07a0ed2aa6520921d146ac5a7f4b1b806dcf5c4af0525|19793371", - "1.3.9|linux_x86_64|53048fa573effdd8f2a59b726234c6f450491fe0ded6931e9f4c6e3df6eece56|19477757", - "1.3.9|linux_arm64|da571087268c5faf884912c4239c6b9c8e1ed8e8401ab1dcb45712df70f42f1b|17513770", - "1.3.8|macos_x86_64|1a27a6fac31ecb05de610daf61a29fe83d304d7c519d773afbf56c11c3b6276b|21189878", - "1.3.8|macos_arm64|873b05ac81645cd7289d6ccfd3e73d4735af1a453f2cd19da0650bdabf7d2eb6|19780134", - "1.3.8|linux_x86_64|9d9e7d6a9b41cef8b837af688441d4fbbd84b503d24061d078ad662441c70240|19479266", - "1.3.8|linux_arm64|a42bf3c7d6327f45d2b212b692ab4229285fb44dbb8adb7c39e18be2b26167c8|17507360", - "1.3.7|macos_x86_64|eeae48adcd55212b34148ed203dd5843e9b2a84a852a9877f3386fadb0514980|21185288", - "1.3.7|macos_arm64|01d553db5f7b4cf0729b725e4402643efde5884b1dabf5eb80af328ce5e447cf|19774151", - "1.3.7|linux_x86_64|b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e|19464102", - "1.3.7|linux_arm64|5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38|17499971", - "1.3.6|macos_x86_64|13881fe0100238577394243a90c0631783aad21b77a9a7ee830404f86c0d37bb|21183111", - "1.3.6|macos_arm64|dbff0aeeaeee877c254f5414bef5c9d186e159aa0019223aac678abad9442c53|19779986", - "1.3.6|linux_x86_64|bb44a4c2b0a832d49253b9034d8ccbd34f9feeb26eda71c665f6e7fa0861f49b|19466755", - "1.3.6|linux_arm64|f4b1af29094290f1b3935c29033c4e5291664ee2c015ca251a020dd425c847c3|17501845", - "1.3.5|macos_x86_64|e6c9836188265b20c2588e9c9d6b1727094b324a379337e68ba58a6d26be8b51|21182319", - "1.3.5|macos_arm64|fcec1cbff229fbe59b03257ba2451d5ad1f5129714f08ccf6372b2737647c063|19780547", - "1.3.5|linux_x86_64|ac28037216c3bc41de2c22724e863d883320a770056969b8d211ca8af3d477cf|19469337", - "1.3.5|linux_arm64|ba5b1761046b899197bbfce3ad9b448d14550106d2cc37c52a60fc6822b584ed|17502759", - "1.3.4|macos_x86_64|2a75c69ec5ed8506658b266a40075256b62a7d245ff6297df7e48fa72af23879|21181585", - "1.3.4|macos_arm64|a1f740f92afac6db84421a3ec07d9061c34a32f88b4b0b47d243de16c961169f|19773343", - "1.3.4|linux_x86_64|b24210f28191fa2a08efe69f54e3db2e87a63369ac4f5dcaf9f34dc9318eb1a8|19462529", - "1.3.4|linux_arm64|65381c6b61b2d1a98892199f649a5764ff5a772080a73d70f8663245e6402c39|17494667", - "1.3.3|macos_x86_64|2b3cf653cd106becdea562b6c8d3f8939641e5626c5278729cbef81678fa9f42|21163874", - "1.3.3|macos_arm64|51e94ecf88059e8a53c363a048b658230f560574f99b0d8396ebacead894d159|19755200", - "1.3.3|linux_x86_64|fa5cbf4274c67f2937cabf1a6544529d35d0b8b729ce814b40d0611fd26193c1|19451941", - "1.3.3|linux_arm64|b940a080c698564df5e6a2f1c4e1b51b2c70a5115358d2361e3697d3985ecbfe|17488660", - "1.3.2|macos_x86_64|3639461bbc712dc130913bbe632afb449fce8c0df692429d311e7cb808601901|21163990", - "1.3.2|macos_arm64|80480acbfee2e2d0b094f721f7568a40b790603080d6612e19b797a16b8ba82d|19757201", - "1.3.2|linux_x86_64|6372e02a7f04bef9dac4a7a12f4580a0ad96a37b5997e80738e070be330cb11c|19451510", - "1.3.2|linux_arm64|ce1a8770aaf27736a3352c5c31e95fb10d0944729b9d81013bf6848f8657da5f|17485206", - "1.3.1|macos_x86_64|4282ebe6d1d72ace0d93e8a4bcf9a6f3aceac107966216355bb516b1c49cc203|21161667", - "1.3.1|macos_arm64|f0514f29b08da2f39ba4fff0d7eb40093915c9c69ddc700b6f39b78275207d96|19756039", - "1.3.1|linux_x86_64|0847b14917536600ba743a759401c45196bf89937b51dd863152137f32791899|19450765", - "1.3.1|linux_arm64|7ebb3d1ff94017fbef8acd0193e0bd29dec1a8925e2b573c05a92fdb743d1d5b|17486534", - "1.3.0|macos_x86_64|80e55182d4495da867c93c25dc6ae29be83ece39d3225e6adedecd55b72d6bbf|21163947", - "1.3.0|macos_arm64|df703317b5c7f80dc7c61e46de4697c9f440e650a893623351ab5e184995b404|19741011", - "1.3.0|linux_x86_64|380ca822883176af928c80e5771d1c0ac9d69b13c6d746e6202482aedde7d457|19450952", - "1.3.0|linux_arm64|0a15de6f934cf2217e5055412e7600d342b4f7dcc133564690776fece6213a9a|17488551", - "1.2.9|macos_x86_64|84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c|21672810", - "1.2.9|macos_arm64|bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa|20280541", - "1.2.9|linux_x86_64|0e0fc38641addac17103122e1953a9afad764a90e74daf4ff8ceeba4e362f2fb|19906116", - "1.2.9|linux_arm64|6da7bf01f5a72e61255c2d80eddeba51998e2bb1f50a6d81b0d3b71e70e18531|17946045", - "1.2.8|macos_x86_64|efd3e21a9bb1cfa68303f8d119ea8970dbb616f5f99caa0fe21d796e0cd70252|21678594", - "1.2.8|macos_arm64|2c83bfea9e1c202c449e91bee06a804afb45cb8ba64a73da48fb0f61df51b327|20277152", - "1.2.8|linux_x86_64|3e9c46d6f37338e90d5018c156d89961b0ffb0f355249679593aff99f9abe2a2|19907515", - "1.2.8|linux_arm64|26c05cadb05cdaa8ac64b90b982b4e9350715ec2e9995a6b03bb964d230de055|17947439", - "1.2.7|macos_x86_64|74e47b54ea78685be24c84e0e17b22b56220afcdb24ec853514b3863199f01e4|21673162", - "1.2.7|macos_arm64|ec4e623914b411f8cc93a1e71396a1e7f1fe1e96bb2e532ba3e955d2ca5cc442|20278743", - "1.2.7|linux_x86_64|dfd7c44a5b6832d62860a01095a15b53616fb3ea4441ab89542f9364e3fca718|19907183", - "1.2.7|linux_arm64|80d064008d57ba5dc97e189215c87275bf39ca14b1234430eae2f114394ea229|17943724", - "1.2.6|macos_x86_64|d896d2776af8b06cd4acd695ad75913040ce31234f5948688fd3c3fde53b1f75|21670957", - "1.2.6|macos_arm64|c88ceb34f343a2bb86960e32925c5ec43b41922ee9ede1019c5cf7d7b4097718|20279669", - "1.2.6|linux_x86_64|9fd445e7a191317dcfc99d012ab632f2cc01f12af14a44dfbaba82e0f9680365|19905977", - "1.2.6|linux_arm64|322755d11f0da11169cdb234af74ada5599046c698dccc125859505f85da2a20|17943213", - "1.2.5|macos_x86_64|2520fde736b43332b0c2648f4f6dde407335f322a3085114dc4f70e6e50eadc0|21659883", - "1.2.5|macos_arm64|92ad40db4a0930bdf872d6336a7b3a18b17c6fd04d9fc769b554bf51c8add505|20266441", - "1.2.5|linux_x86_64|281344ed7e2b49b3d6af300b1fe310beed8778c56f3563c4d60e5541c0978f1b|19897064", - "1.2.5|linux_arm64|0544420eb29b792444014988018ae77a7c8df6b23d84983728695ba73e38f54a|17938208", - "1.2.4|macos_x86_64|e7d2c66264a3da94854ae6ff692bbb9a1bc11c36bb5658e3ef19841388a07430|21658356", - "1.2.4|macos_arm64|c31754ff5553707ef9fd2f913b833c779ab05ce192eb14913f51816a077c6798|20263133", - "1.2.4|linux_x86_64|705ea62a44a0081594dad6b2b093eefefb12d54fa5a20a66562f9e082b00414c|19895510", - "1.2.4|linux_arm64|11cfa2233dc708b51b16d5b923379db67e35c22b1b988773e5b31a7c2e251471|17936883", - "1.2.3|macos_x86_64|bdc22658463237530dc120dadb0221762d9fb9116e7a6e0dc063d8ae649c431e|21658937", - "1.2.3|macos_arm64|6f06debac2ac54951464bf490e1606f973ab53ad8ba5decea76646e8f9309512|20256836", - "1.2.3|linux_x86_64|728b6fbcb288ad1b7b6590585410a98d3b7e05efe4601ef776c37e15e9a83a96|19891436", - "1.2.3|linux_arm64|a48991e938a25bfe5d257f4b6cbbdc73d920cc34bbc8f0e685e28b9610ad75fe|17933271", - "1.2.2|macos_x86_64|1d22663c1ab22ecea774ae63aee21eecfee0bbc23b953206d889a5ba3c08525a|21656824", - "1.2.2|macos_arm64|b87716b55a3b10cced60db5285bae57aee9cc0f81c555dccdc4f54f62c2a3b60|20254768", - "1.2.2|linux_x86_64|2934a0e8824925beb956b2edb5fef212a6141c089d29d8568150a43f95b3a626|19889133", - "1.2.2|linux_arm64|9c6202237d7477412054dcd36fdc269da9ee66ecbc45bb07d0d63b7d36af7b21|17932829", - "1.2.1|macos_x86_64|31c0fd4deb7c6a77c08d2fdf59c37950e6df7165088c004e1dd7f5e09fbf6307|21645582", - "1.2.1|macos_arm64|70159b3e3eb49ee71193815943d9217c59203fd4ee8c6960aeded744094a2250|20253448", - "1.2.1|linux_x86_64|8cf8eb7ed2d95a4213fbfd0459ab303f890e79220196d1c4aae9ecf22547302e|19881618", - "1.2.1|linux_arm64|972ea512dac822274791dedceb6e7f8b9ac2ed36bd7759269b6806d0ab049128|17922073", - "1.2.0|macos_x86_64|1b102ba3bf0c60ff6cbee74f721bf8105793c1107a1c6d03dcab98d7079f0c77|21645732", - "1.2.0|macos_arm64|f5e46cabe5889b60597f0e9c365cbc663e4c952c90a16c10489897c2075ae4f0|20253335", - "1.2.0|linux_x86_64|b87de03adbdfdff3c2552c8c8377552d0eecd787154465100cf4e29de4a7be1f|19880608", - "1.2.0|linux_arm64|ee80b8635d8fdbaed57beffe281cf87b8b1fd1ddb29c08d20e25a152d9f0f871|17920355", - "1.1.9|macos_x86_64|685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc|20850638", - "1.1.9|macos_arm64|39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c|20093184", - "1.1.9|linux_x86_64|9d2d8a89f5cc8bc1c06cb6f34ce76ec4b99184b07eb776f8b39183b513d7798a|19262029", - "1.1.9|linux_arm64|e8a09d1fe5a68ed75e5fabe26c609ad12a7e459002dea6543f1084993b87a266|17521011", - "1.1.8|macos_x86_64|48f1f1e04d0aa8f5f1a661de95e3c2b8fd8ab16b3d44015372aff7693d36c2cf|20354970", - "1.1.8|macos_arm64|943e1948c4eae82cf8b490bb274939fe666252bbc146f098e7da65b23416264a|19631574", - "1.1.8|linux_x86_64|fbd37c1ec3d163f493075aa0fa85147e7e3f88dd98760ee7af7499783454f4c5|18796132", - "1.1.8|linux_arm64|10b2c063dcff91329ee44bce9d71872825566b713308b3da1e5768c6998fb84f|17107405", - "1.1.7|macos_x86_64|6e56eea328683541f6de0d5f449251a974d173e6d8161530956a20d9c239731a|20351873", - "1.1.7|macos_arm64|8919ceee34f6bfb16a6e9ff61c95f4043c35c6d70b21de27e5a153c19c7eba9c|19625836", - "1.1.7|linux_x86_64|e4add092a54ff6febd3325d1e0c109c9e590dc6c38f8bb7f9632e4e6bcca99d4|18795309", - "1.1.7|linux_arm64|2f72982008c52d2d57294ea50794d7c6ae45d2948e08598bfec3e492bce8d96e|17109768", - "1.1.6|macos_x86_64|7a499c1f08d89548ae4c0e829eea43845fa1bd7b464e7df46102b35e6081fe44|20303856", - "1.1.6|macos_arm64|f06a14fdb610ec5a7f18bdbb2f67187230eb418329756732d970b6ca3dae12c3|19577273", - "1.1.6|linux_x86_64|3e330ce4c8c0434cdd79fe04ed6f6e28e72db44c47ae50d01c342c8a2b05d331|18751464", - "1.1.6|linux_arm64|a53fb63625af3572f7252b9fb61d787ab153132a8984b12f4bb84b8ee408ec53|17069580", - "1.1.5|macos_x86_64|dcf7133ebf61d195e432ddcb70e604bf45056163d960e991881efbecdbd7892b|20300006", - "1.1.5|macos_arm64|6e5a8d22343722dc8bfcf1d2fd7b742f5b46287f87171e8143fc9b87db32c3d4|19581167", - "1.1.5|linux_x86_64|30942d5055c7151f051c8ea75481ff1dc95b2c4409dbb50196419c21168d6467|18748879", - "1.1.5|linux_arm64|2fb6324c24c14523ae63cedcbc94a8e6c1c317987eced0abfca2f6218d217ca5|17069683", - "1.1.4|macos_x86_64|4f3bc78fedd4aa17f67acc0db4eafdb6d70ba72392aaba65fe72855520f11f3d|20242050", - "1.1.4|macos_arm64|5642b46e9c7fb692f05eba998cd4065fb2e48aa8b0aac9d2a116472fbabe34a1|19498408", - "1.1.4|linux_x86_64|fca028d622f82788fdc35c1349e78d69ff07c7bb68c27d12f8b48c420e3ecdfb|18695508", - "1.1.4|linux_arm64|3c1982cf0d16276c82960db60c998d79ba19e413af4fa2c7f6f86e4994379437|16996040", - "1.1.3|macos_x86_64|016bab760c96d4e64d2140a5f25c614ccc13c3fe9b3889e70c564bd02099259f|20241648", - "1.1.3|macos_arm64|02ba769bb0a8d4bc50ff60989b0f201ce54fd2afac2fb3544a0791aca5d3f6d5|19493636", - "1.1.3|linux_x86_64|b215de2a18947fff41803716b1829a3c462c4f009b687c2cbdb52ceb51157c2f|18692580", - "1.1.3|linux_arm64|ad5a1f2c132bedc5105e3f9900e4fe46858d582c0f2a2d74355da718bbcef65d|16996972", - "1.1.2|macos_x86_64|78faa76db5dc0ecfe4bf7c6368dbf5cca019a806f9d203580a24a4e0f8cd8353|20240584", - "1.1.2|macos_arm64|cc3bd03b72db6247c9105edfeb9c8f674cf603e08259075143ffad66f5c25a07|19486800", - "1.1.2|linux_x86_64|734efa82e2d0d3df8f239ce17f7370dabd38e535d21e64d35c73e45f35dfa95c|18687805", - "1.1.2|linux_arm64|088e2226d1ddb7f68a4f65c704022a1cfdbf20fe40f02e0c3646942f211fd746|16994702", - "1.1.1|macos_x86_64|d125dd2e92b9245f2202199b52f234035f36bdcbcd9a06f08e647e14a9d9067a|20237718", - "1.1.1|macos_arm64|4cb6e5eb4f6036924caf934c509a1dfd61cd2c651bb3ee8fbfe2e2914dd9ed17|19488315", - "1.1.1|linux_x86_64|07b8dc444540918597a60db9351af861335c3941f28ea8774e168db97dd74557|18687006", - "1.1.1|linux_arm64|d6fd14da47af9ec5fa3ad5962eaef8eed6ff2f8a5041671f9c90ec5f4f8bb554|16995635", - "1.1.0|macos_x86_64|6e0ba9afb8795a544e70dc0459f0095fea7df15e38f5d88a7dd3f620d50f8bfe|20226329", - "1.1.0|macos_arm64|7955e173c7eadb87123fc0633c3ee67d5ba3b7d6c7f485fe803efed9f99dce54|19491369", - "1.1.0|linux_x86_64|763378aa75500ce5ba67d0cba8aa605670cd28bf8bafc709333a30908441acb5|18683106", - "1.1.0|linux_arm64|6697e9a263e264310373f3c91bf83f4cbfeb67b13994d2a8f7bcc492b554552e|16987201", - "1.0.11|macos_x86_64|551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131|19422757", - "1.0.11|macos_arm64|737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6|18467868", - "1.0.11|linux_x86_64|eeb46091a42dc303c3a3c300640c7774ab25cbee5083dafa5fd83b54c8aca664|18082446", - "1.0.11|linux_arm64|30c650f4bc218659d43e07d911c00f08e420664a3d12c812228e66f666758645|16148492", - "1.0.10|macos_x86_64|077479e98701bc9be88db21abeec684286fd85a3463ce437d7739d2a4e372f18|33140832", - "1.0.10|macos_arm64|776f2e144039ece66ae326ebda0884254848a2e11f0590757d02e3a74f058c81|32013985", - "1.0.10|linux_x86_64|a221682fcc9cbd7fde22f305ead99b3ad49d8303f152e118edda086a2807716d|32674953", - "1.0.10|linux_arm64|b091dbe5c00785ae8b5cb64149d697d61adea75e495d9e3d910f61d8c9967226|30505040", - "1.0.9|macos_x86_64|be122ff7fb925643c5ebf4e5704b18426e18d3ca49ab59ae33d208c908cb6d5a|33140006", - "1.0.9|macos_arm64|89b2b4fd1a0c57fabc08ad3180ad148b1f7c1c0492ed865408f75f12e11a083b|32010657", - "1.0.9|linux_x86_64|f06ac64c6a14ed6a923d255788e4a5daefa2b50e35f32d7a3b5a2f9a5a91e255|32674820", - "1.0.9|linux_arm64|457ac590301126e7b151ea08c5b9586a882c60039a0605fb1e44b8d23d2624fd|30510941", - "1.0.8|macos_x86_64|909781ee76250cf7445f3b7d2b82c701688725fa1db3fb5543dfeed8c47b59de|33140123", - "1.0.8|macos_arm64|92fa31b93d736fab6f3d105beb502a9da908445ed942a3d46952eae88907c53e|32011344", - "1.0.8|linux_x86_64|a73459d406067ce40a46f026dce610740d368c3b4a3d96591b10c7a577984c2e|32681118", - "1.0.8|linux_arm64|01aaef769f4791f9b28530e750aadbc983a8eabd0d55909e26392b333a1a26e4|30515501", - "1.0.7|macos_x86_64|23b85d914465882b027d3819cc05cd114a1aaf39b550de742e81a99daa998183|33140742", - "1.0.7|macos_arm64|d9062959f28ba0f934bfe2b6e0b021e0c01a48fa065102554ca103b8274e8e0c|32012708", - "1.0.7|linux_x86_64|bc79e47649e2529049a356f9e60e06b47462bf6743534a10a4c16594f443be7b|32671441", - "1.0.7|linux_arm64|4e71a9e759578020750be41e945c086e387affb58568db6d259d80d123ac80d3|30529105", - "1.0.6|macos_x86_64|5ac4f41d5e28f31817927f2c5766c5d9b98b68d7b342e25b22d053f9ecd5a9f1|33141677", - "1.0.6|macos_arm64|613020f90a6a5d0b98ebeb4e7cdc4b392aa06ce738fbb700159a465cd27dcbfa|32024047", - "1.0.6|linux_x86_64|6a454323d252d34e928785a3b7c52bfaff1192f82685dfee4da1279bb700b733|32677516", - "1.0.6|linux_arm64|2047f8afc7d0d7b645a0422181ba3fe47b3547c4fe658f95eebeb872752ec129|30514636" + "-g", + "-O2" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-known-versions=\"['', '', ...]\"" + "--golang-cgo-linker-flags=\"['', '', ...]\"" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_KNOWN_VERSIONS", + "env_var": "PANTS_GOLANG_CGO_LINKER_FLAGS", "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", + "help": "Compiler options used when linking native code when Cgo is enabled. Equivalent to setting the CGO_LDFLAGS environment variable when invoking `go`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-known-versions"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-cgo-linker-flags" + ], + "target_field_name": "golang_cgo_linker_flags", "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--cgo-linker-flags" + ], "value_history": { "ranked_values": [ { @@ -79945,201 +109048,39 @@ "details": "", "rank": "HARDCODED", "value": [ - "1.4.6|macos_x86_64|5d8332994b86411b049391d31ad1a0785dfb470db8b9c50617de28ddb5d1f25d|22051279", - "1.4.6|macos_arm64|30a2f87298ff9f299452119bd14afaa8d5b000c572f62fa64baf432e35d9dec1|20613318", - "1.4.6|linux_x86_64|e079db1a8945e39b1f8ba4e513946b3ab9f32bd5a2bdf19b9b186d22c5a3d53b|20779821", - "1.4.6|linux_arm64|b38f5db944ac4942f11ceea465a91e365b0636febd9998c110fbbe95d61c3b26|18834675", - "1.4.5|macos_x86_64|808e54d826737e9a0ca79bbe29330e50d3622bbeeb26066c63b371a291731711|22031074", - "1.4.5|macos_arm64|7104d9d13632aa61b494a349c589048d21bd550e579404c3a41c4932e4d6aa97|20592841", - "1.4.5|linux_x86_64|ce10e941cd11554b15a189cd00191c05abc20dff865599d361bdb863c5f406a9|20767621", - "1.4.5|linux_arm64|ca2c48f518f72fef668255150cc5e63b92545edc62a05939bbff8a350bceb357|18813058", - "1.4.4|macos_x86_64|0303ed9d7e5a225fc2e6fa9bf76fc6574c0c0359f22d5dfc04bc8b3234444f7c|22032187", - "1.4.4|macos_arm64|75602d9ec491982ceabea813569579b2991093a4e0d76b7ca86ffd9b7a2a1d1e|20594012", - "1.4.4|linux_x86_64|67541c1f6631befcc25b764028e5605e59234d4424e60a256518ee1e8dd50593|20767354", - "1.4.4|linux_arm64|f0b4e092f2aa6de3324e5e4b5b51260ecf5e8c2f5335ff7a2ffdc4fb54a8922d|18814310", - "1.4.3|macos_x86_64|89bdb242bfacf24167f365ef7a3bf0ad0e443ddd27ebde425fb71d77ce1a2597|22032267", - "1.4.3|macos_arm64|20b9d484bf99ada6c0de89316176ba33f7c87f64c0738991188465147bba221b|20574247", - "1.4.3|linux_x86_64|2252ee6ac8437b93db2b2ba341edc87951e2916afaeb50a88b858e80796e9111|20781685", - "1.4.3|linux_arm64|d3d9464953d390970e7f4f7cbcd94dbf63136da6fe1cbb4955d944a9315bdcdb|18814307", - "1.4.2|macos_x86_64|c218a6c0ef6692b25af16995c8c7bdf6739e9638fef9235c6aced3cd84afaf66|22030042", - "1.4.2|macos_arm64|af8ff7576c8fc41496fdf97e9199b00d8d81729a6a0e821eaf4dfd08aa763540|20588400", - "1.4.2|linux_x86_64|9f3ca33d04f5335472829d1df7785115b60176d610ae6f1583343b0a2221a931|20234129", - "1.4.2|linux_arm64|39c182670c4e63e918e0a16080b1cc47bb16e158d7da96333d682d6a9cb8eb91|18206088", - "1.4.1|macos_x86_64|96466364a7e66e3d456ecb6c85a63c83e124c004f8835fb8ea9b7bbb7542a9d0|22077050", - "1.4.1|macos_arm64|61f76e130b97c8a9017d8aaff15d252af29117e35ea1a0fc30bcaab7ceafce73|20634145", - "1.4.1|linux_x86_64|9e9f3e6752168dea8ecb3643ea9c18c65d5a52acc06c22453ebc4e3fc2d34421|20276168", - "1.4.1|linux_arm64|53322cc70b6e50ac1985bf26a78ffa2814789a4704880f071eaf3e67a463d6f6|18248378", - "1.4.0|macos_x86_64|e897a4217f1c3bfe37c694570dcc6371336fbda698790bb6b0547ec8daf1ffb3|21935694", - "1.4.0|macos_arm64|d4a1e564714c6acf848e86dc020ff182477b49f932e3f550a5d9c8f5da7636fb|20508091", - "1.4.0|linux_x86_64|5da60da508d6d1941ffa8b9216147456a16bbff6db7622ae9ad01d314cbdd188|20144407", - "1.4.0|linux_arm64|33e0f4f0b75f507fc19012111de008308df343153cd6a3992507f4566c0bb723|18130960", - "1.3.9|macos_x86_64|a73326ea8fb06f6976597e005f8047cbd55ac76ed1e517303d8f6395db6c7805|21194871", - "1.3.9|macos_arm64|d8a59a794a7f99b484a07a0ed2aa6520921d146ac5a7f4b1b806dcf5c4af0525|19793371", - "1.3.9|linux_x86_64|53048fa573effdd8f2a59b726234c6f450491fe0ded6931e9f4c6e3df6eece56|19477757", - "1.3.9|linux_arm64|da571087268c5faf884912c4239c6b9c8e1ed8e8401ab1dcb45712df70f42f1b|17513770", - "1.3.8|macos_x86_64|1a27a6fac31ecb05de610daf61a29fe83d304d7c519d773afbf56c11c3b6276b|21189878", - "1.3.8|macos_arm64|873b05ac81645cd7289d6ccfd3e73d4735af1a453f2cd19da0650bdabf7d2eb6|19780134", - "1.3.8|linux_x86_64|9d9e7d6a9b41cef8b837af688441d4fbbd84b503d24061d078ad662441c70240|19479266", - "1.3.8|linux_arm64|a42bf3c7d6327f45d2b212b692ab4229285fb44dbb8adb7c39e18be2b26167c8|17507360", - "1.3.7|macos_x86_64|eeae48adcd55212b34148ed203dd5843e9b2a84a852a9877f3386fadb0514980|21185288", - "1.3.7|macos_arm64|01d553db5f7b4cf0729b725e4402643efde5884b1dabf5eb80af328ce5e447cf|19774151", - "1.3.7|linux_x86_64|b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e|19464102", - "1.3.7|linux_arm64|5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38|17499971", - "1.3.6|macos_x86_64|13881fe0100238577394243a90c0631783aad21b77a9a7ee830404f86c0d37bb|21183111", - "1.3.6|macos_arm64|dbff0aeeaeee877c254f5414bef5c9d186e159aa0019223aac678abad9442c53|19779986", - "1.3.6|linux_x86_64|bb44a4c2b0a832d49253b9034d8ccbd34f9feeb26eda71c665f6e7fa0861f49b|19466755", - "1.3.6|linux_arm64|f4b1af29094290f1b3935c29033c4e5291664ee2c015ca251a020dd425c847c3|17501845", - "1.3.5|macos_x86_64|e6c9836188265b20c2588e9c9d6b1727094b324a379337e68ba58a6d26be8b51|21182319", - "1.3.5|macos_arm64|fcec1cbff229fbe59b03257ba2451d5ad1f5129714f08ccf6372b2737647c063|19780547", - "1.3.5|linux_x86_64|ac28037216c3bc41de2c22724e863d883320a770056969b8d211ca8af3d477cf|19469337", - "1.3.5|linux_arm64|ba5b1761046b899197bbfce3ad9b448d14550106d2cc37c52a60fc6822b584ed|17502759", - "1.3.4|macos_x86_64|2a75c69ec5ed8506658b266a40075256b62a7d245ff6297df7e48fa72af23879|21181585", - "1.3.4|macos_arm64|a1f740f92afac6db84421a3ec07d9061c34a32f88b4b0b47d243de16c961169f|19773343", - "1.3.4|linux_x86_64|b24210f28191fa2a08efe69f54e3db2e87a63369ac4f5dcaf9f34dc9318eb1a8|19462529", - "1.3.4|linux_arm64|65381c6b61b2d1a98892199f649a5764ff5a772080a73d70f8663245e6402c39|17494667", - "1.3.3|macos_x86_64|2b3cf653cd106becdea562b6c8d3f8939641e5626c5278729cbef81678fa9f42|21163874", - "1.3.3|macos_arm64|51e94ecf88059e8a53c363a048b658230f560574f99b0d8396ebacead894d159|19755200", - "1.3.3|linux_x86_64|fa5cbf4274c67f2937cabf1a6544529d35d0b8b729ce814b40d0611fd26193c1|19451941", - "1.3.3|linux_arm64|b940a080c698564df5e6a2f1c4e1b51b2c70a5115358d2361e3697d3985ecbfe|17488660", - "1.3.2|macos_x86_64|3639461bbc712dc130913bbe632afb449fce8c0df692429d311e7cb808601901|21163990", - "1.3.2|macos_arm64|80480acbfee2e2d0b094f721f7568a40b790603080d6612e19b797a16b8ba82d|19757201", - "1.3.2|linux_x86_64|6372e02a7f04bef9dac4a7a12f4580a0ad96a37b5997e80738e070be330cb11c|19451510", - "1.3.2|linux_arm64|ce1a8770aaf27736a3352c5c31e95fb10d0944729b9d81013bf6848f8657da5f|17485206", - "1.3.1|macos_x86_64|4282ebe6d1d72ace0d93e8a4bcf9a6f3aceac107966216355bb516b1c49cc203|21161667", - "1.3.1|macos_arm64|f0514f29b08da2f39ba4fff0d7eb40093915c9c69ddc700b6f39b78275207d96|19756039", - "1.3.1|linux_x86_64|0847b14917536600ba743a759401c45196bf89937b51dd863152137f32791899|19450765", - "1.3.1|linux_arm64|7ebb3d1ff94017fbef8acd0193e0bd29dec1a8925e2b573c05a92fdb743d1d5b|17486534", - "1.3.0|macos_x86_64|80e55182d4495da867c93c25dc6ae29be83ece39d3225e6adedecd55b72d6bbf|21163947", - "1.3.0|macos_arm64|df703317b5c7f80dc7c61e46de4697c9f440e650a893623351ab5e184995b404|19741011", - "1.3.0|linux_x86_64|380ca822883176af928c80e5771d1c0ac9d69b13c6d746e6202482aedde7d457|19450952", - "1.3.0|linux_arm64|0a15de6f934cf2217e5055412e7600d342b4f7dcc133564690776fece6213a9a|17488551", - "1.2.9|macos_x86_64|84a678ece9929cebc34c7a9a1ba287c8b91820b336f4af8437af7feaa0117b7c|21672810", - "1.2.9|macos_arm64|bc3b94b53cdf1be3c4988faa61aad343f48e013928c64bfc6ebeb61657f97baa|20280541", - "1.2.9|linux_x86_64|0e0fc38641addac17103122e1953a9afad764a90e74daf4ff8ceeba4e362f2fb|19906116", - "1.2.9|linux_arm64|6da7bf01f5a72e61255c2d80eddeba51998e2bb1f50a6d81b0d3b71e70e18531|17946045", - "1.2.8|macos_x86_64|efd3e21a9bb1cfa68303f8d119ea8970dbb616f5f99caa0fe21d796e0cd70252|21678594", - "1.2.8|macos_arm64|2c83bfea9e1c202c449e91bee06a804afb45cb8ba64a73da48fb0f61df51b327|20277152", - "1.2.8|linux_x86_64|3e9c46d6f37338e90d5018c156d89961b0ffb0f355249679593aff99f9abe2a2|19907515", - "1.2.8|linux_arm64|26c05cadb05cdaa8ac64b90b982b4e9350715ec2e9995a6b03bb964d230de055|17947439", - "1.2.7|macos_x86_64|74e47b54ea78685be24c84e0e17b22b56220afcdb24ec853514b3863199f01e4|21673162", - "1.2.7|macos_arm64|ec4e623914b411f8cc93a1e71396a1e7f1fe1e96bb2e532ba3e955d2ca5cc442|20278743", - "1.2.7|linux_x86_64|dfd7c44a5b6832d62860a01095a15b53616fb3ea4441ab89542f9364e3fca718|19907183", - "1.2.7|linux_arm64|80d064008d57ba5dc97e189215c87275bf39ca14b1234430eae2f114394ea229|17943724", - "1.2.6|macos_x86_64|d896d2776af8b06cd4acd695ad75913040ce31234f5948688fd3c3fde53b1f75|21670957", - "1.2.6|macos_arm64|c88ceb34f343a2bb86960e32925c5ec43b41922ee9ede1019c5cf7d7b4097718|20279669", - "1.2.6|linux_x86_64|9fd445e7a191317dcfc99d012ab632f2cc01f12af14a44dfbaba82e0f9680365|19905977", - "1.2.6|linux_arm64|322755d11f0da11169cdb234af74ada5599046c698dccc125859505f85da2a20|17943213", - "1.2.5|macos_x86_64|2520fde736b43332b0c2648f4f6dde407335f322a3085114dc4f70e6e50eadc0|21659883", - "1.2.5|macos_arm64|92ad40db4a0930bdf872d6336a7b3a18b17c6fd04d9fc769b554bf51c8add505|20266441", - "1.2.5|linux_x86_64|281344ed7e2b49b3d6af300b1fe310beed8778c56f3563c4d60e5541c0978f1b|19897064", - "1.2.5|linux_arm64|0544420eb29b792444014988018ae77a7c8df6b23d84983728695ba73e38f54a|17938208", - "1.2.4|macos_x86_64|e7d2c66264a3da94854ae6ff692bbb9a1bc11c36bb5658e3ef19841388a07430|21658356", - "1.2.4|macos_arm64|c31754ff5553707ef9fd2f913b833c779ab05ce192eb14913f51816a077c6798|20263133", - "1.2.4|linux_x86_64|705ea62a44a0081594dad6b2b093eefefb12d54fa5a20a66562f9e082b00414c|19895510", - "1.2.4|linux_arm64|11cfa2233dc708b51b16d5b923379db67e35c22b1b988773e5b31a7c2e251471|17936883", - "1.2.3|macos_x86_64|bdc22658463237530dc120dadb0221762d9fb9116e7a6e0dc063d8ae649c431e|21658937", - "1.2.3|macos_arm64|6f06debac2ac54951464bf490e1606f973ab53ad8ba5decea76646e8f9309512|20256836", - "1.2.3|linux_x86_64|728b6fbcb288ad1b7b6590585410a98d3b7e05efe4601ef776c37e15e9a83a96|19891436", - "1.2.3|linux_arm64|a48991e938a25bfe5d257f4b6cbbdc73d920cc34bbc8f0e685e28b9610ad75fe|17933271", - "1.2.2|macos_x86_64|1d22663c1ab22ecea774ae63aee21eecfee0bbc23b953206d889a5ba3c08525a|21656824", - "1.2.2|macos_arm64|b87716b55a3b10cced60db5285bae57aee9cc0f81c555dccdc4f54f62c2a3b60|20254768", - "1.2.2|linux_x86_64|2934a0e8824925beb956b2edb5fef212a6141c089d29d8568150a43f95b3a626|19889133", - "1.2.2|linux_arm64|9c6202237d7477412054dcd36fdc269da9ee66ecbc45bb07d0d63b7d36af7b21|17932829", - "1.2.1|macos_x86_64|31c0fd4deb7c6a77c08d2fdf59c37950e6df7165088c004e1dd7f5e09fbf6307|21645582", - "1.2.1|macos_arm64|70159b3e3eb49ee71193815943d9217c59203fd4ee8c6960aeded744094a2250|20253448", - "1.2.1|linux_x86_64|8cf8eb7ed2d95a4213fbfd0459ab303f890e79220196d1c4aae9ecf22547302e|19881618", - "1.2.1|linux_arm64|972ea512dac822274791dedceb6e7f8b9ac2ed36bd7759269b6806d0ab049128|17922073", - "1.2.0|macos_x86_64|1b102ba3bf0c60ff6cbee74f721bf8105793c1107a1c6d03dcab98d7079f0c77|21645732", - "1.2.0|macos_arm64|f5e46cabe5889b60597f0e9c365cbc663e4c952c90a16c10489897c2075ae4f0|20253335", - "1.2.0|linux_x86_64|b87de03adbdfdff3c2552c8c8377552d0eecd787154465100cf4e29de4a7be1f|19880608", - "1.2.0|linux_arm64|ee80b8635d8fdbaed57beffe281cf87b8b1fd1ddb29c08d20e25a152d9f0f871|17920355", - "1.1.9|macos_x86_64|685258b525eae94fb0b406faf661aa056d31666256bf28e625365a251cb89fdc|20850638", - "1.1.9|macos_arm64|39fac4be74462be86b2290dd09fe1092f73dfb48e2df92406af0e199cfa6a16c|20093184", - "1.1.9|linux_x86_64|9d2d8a89f5cc8bc1c06cb6f34ce76ec4b99184b07eb776f8b39183b513d7798a|19262029", - "1.1.9|linux_arm64|e8a09d1fe5a68ed75e5fabe26c609ad12a7e459002dea6543f1084993b87a266|17521011", - "1.1.8|macos_x86_64|48f1f1e04d0aa8f5f1a661de95e3c2b8fd8ab16b3d44015372aff7693d36c2cf|20354970", - "1.1.8|macos_arm64|943e1948c4eae82cf8b490bb274939fe666252bbc146f098e7da65b23416264a|19631574", - "1.1.8|linux_x86_64|fbd37c1ec3d163f493075aa0fa85147e7e3f88dd98760ee7af7499783454f4c5|18796132", - "1.1.8|linux_arm64|10b2c063dcff91329ee44bce9d71872825566b713308b3da1e5768c6998fb84f|17107405", - "1.1.7|macos_x86_64|6e56eea328683541f6de0d5f449251a974d173e6d8161530956a20d9c239731a|20351873", - "1.1.7|macos_arm64|8919ceee34f6bfb16a6e9ff61c95f4043c35c6d70b21de27e5a153c19c7eba9c|19625836", - "1.1.7|linux_x86_64|e4add092a54ff6febd3325d1e0c109c9e590dc6c38f8bb7f9632e4e6bcca99d4|18795309", - "1.1.7|linux_arm64|2f72982008c52d2d57294ea50794d7c6ae45d2948e08598bfec3e492bce8d96e|17109768", - "1.1.6|macos_x86_64|7a499c1f08d89548ae4c0e829eea43845fa1bd7b464e7df46102b35e6081fe44|20303856", - "1.1.6|macos_arm64|f06a14fdb610ec5a7f18bdbb2f67187230eb418329756732d970b6ca3dae12c3|19577273", - "1.1.6|linux_x86_64|3e330ce4c8c0434cdd79fe04ed6f6e28e72db44c47ae50d01c342c8a2b05d331|18751464", - "1.1.6|linux_arm64|a53fb63625af3572f7252b9fb61d787ab153132a8984b12f4bb84b8ee408ec53|17069580", - "1.1.5|macos_x86_64|dcf7133ebf61d195e432ddcb70e604bf45056163d960e991881efbecdbd7892b|20300006", - "1.1.5|macos_arm64|6e5a8d22343722dc8bfcf1d2fd7b742f5b46287f87171e8143fc9b87db32c3d4|19581167", - "1.1.5|linux_x86_64|30942d5055c7151f051c8ea75481ff1dc95b2c4409dbb50196419c21168d6467|18748879", - "1.1.5|linux_arm64|2fb6324c24c14523ae63cedcbc94a8e6c1c317987eced0abfca2f6218d217ca5|17069683", - "1.1.4|macos_x86_64|4f3bc78fedd4aa17f67acc0db4eafdb6d70ba72392aaba65fe72855520f11f3d|20242050", - "1.1.4|macos_arm64|5642b46e9c7fb692f05eba998cd4065fb2e48aa8b0aac9d2a116472fbabe34a1|19498408", - "1.1.4|linux_x86_64|fca028d622f82788fdc35c1349e78d69ff07c7bb68c27d12f8b48c420e3ecdfb|18695508", - "1.1.4|linux_arm64|3c1982cf0d16276c82960db60c998d79ba19e413af4fa2c7f6f86e4994379437|16996040", - "1.1.3|macos_x86_64|016bab760c96d4e64d2140a5f25c614ccc13c3fe9b3889e70c564bd02099259f|20241648", - "1.1.3|macos_arm64|02ba769bb0a8d4bc50ff60989b0f201ce54fd2afac2fb3544a0791aca5d3f6d5|19493636", - "1.1.3|linux_x86_64|b215de2a18947fff41803716b1829a3c462c4f009b687c2cbdb52ceb51157c2f|18692580", - "1.1.3|linux_arm64|ad5a1f2c132bedc5105e3f9900e4fe46858d582c0f2a2d74355da718bbcef65d|16996972", - "1.1.2|macos_x86_64|78faa76db5dc0ecfe4bf7c6368dbf5cca019a806f9d203580a24a4e0f8cd8353|20240584", - "1.1.2|macos_arm64|cc3bd03b72db6247c9105edfeb9c8f674cf603e08259075143ffad66f5c25a07|19486800", - "1.1.2|linux_x86_64|734efa82e2d0d3df8f239ce17f7370dabd38e535d21e64d35c73e45f35dfa95c|18687805", - "1.1.2|linux_arm64|088e2226d1ddb7f68a4f65c704022a1cfdbf20fe40f02e0c3646942f211fd746|16994702", - "1.1.1|macos_x86_64|d125dd2e92b9245f2202199b52f234035f36bdcbcd9a06f08e647e14a9d9067a|20237718", - "1.1.1|macos_arm64|4cb6e5eb4f6036924caf934c509a1dfd61cd2c651bb3ee8fbfe2e2914dd9ed17|19488315", - "1.1.1|linux_x86_64|07b8dc444540918597a60db9351af861335c3941f28ea8774e168db97dd74557|18687006", - "1.1.1|linux_arm64|d6fd14da47af9ec5fa3ad5962eaef8eed6ff2f8a5041671f9c90ec5f4f8bb554|16995635", - "1.1.0|macos_x86_64|6e0ba9afb8795a544e70dc0459f0095fea7df15e38f5d88a7dd3f620d50f8bfe|20226329", - "1.1.0|macos_arm64|7955e173c7eadb87123fc0633c3ee67d5ba3b7d6c7f485fe803efed9f99dce54|19491369", - "1.1.0|linux_x86_64|763378aa75500ce5ba67d0cba8aa605670cd28bf8bafc709333a30908441acb5|18683106", - "1.1.0|linux_arm64|6697e9a263e264310373f3c91bf83f4cbfeb67b13994d2a8f7bcc492b554552e|16987201", - "1.0.11|macos_x86_64|551a16b612edaae1037925d0e2dba30d16504ff4bd66606955172c2ed8d76131|19422757", - "1.0.11|macos_arm64|737e1765afbadb3d76e1929d4b4af8da55010839aa08e9e730d46791eb8ea5a6|18467868", - "1.0.11|linux_x86_64|eeb46091a42dc303c3a3c300640c7774ab25cbee5083dafa5fd83b54c8aca664|18082446", - "1.0.11|linux_arm64|30c650f4bc218659d43e07d911c00f08e420664a3d12c812228e66f666758645|16148492", - "1.0.10|macos_x86_64|077479e98701bc9be88db21abeec684286fd85a3463ce437d7739d2a4e372f18|33140832", - "1.0.10|macos_arm64|776f2e144039ece66ae326ebda0884254848a2e11f0590757d02e3a74f058c81|32013985", - "1.0.10|linux_x86_64|a221682fcc9cbd7fde22f305ead99b3ad49d8303f152e118edda086a2807716d|32674953", - "1.0.10|linux_arm64|b091dbe5c00785ae8b5cb64149d697d61adea75e495d9e3d910f61d8c9967226|30505040", - "1.0.9|macos_x86_64|be122ff7fb925643c5ebf4e5704b18426e18d3ca49ab59ae33d208c908cb6d5a|33140006", - "1.0.9|macos_arm64|89b2b4fd1a0c57fabc08ad3180ad148b1f7c1c0492ed865408f75f12e11a083b|32010657", - "1.0.9|linux_x86_64|f06ac64c6a14ed6a923d255788e4a5daefa2b50e35f32d7a3b5a2f9a5a91e255|32674820", - "1.0.9|linux_arm64|457ac590301126e7b151ea08c5b9586a882c60039a0605fb1e44b8d23d2624fd|30510941", - "1.0.8|macos_x86_64|909781ee76250cf7445f3b7d2b82c701688725fa1db3fb5543dfeed8c47b59de|33140123", - "1.0.8|macos_arm64|92fa31b93d736fab6f3d105beb502a9da908445ed942a3d46952eae88907c53e|32011344", - "1.0.8|linux_x86_64|a73459d406067ce40a46f026dce610740d368c3b4a3d96591b10c7a577984c2e|32681118", - "1.0.8|linux_arm64|01aaef769f4791f9b28530e750aadbc983a8eabd0d55909e26392b333a1a26e4|30515501", - "1.0.7|macos_x86_64|23b85d914465882b027d3819cc05cd114a1aaf39b550de742e81a99daa998183|33140742", - "1.0.7|macos_arm64|d9062959f28ba0f934bfe2b6e0b021e0c01a48fa065102554ca103b8274e8e0c|32012708", - "1.0.7|linux_x86_64|bc79e47649e2529049a356f9e60e06b47462bf6743534a10a4c16594f443be7b|32671441", - "1.0.7|linux_arm64|4e71a9e759578020750be41e945c086e387affb58568db6d259d80d123ac80d3|30529105", - "1.0.6|macos_x86_64|5ac4f41d5e28f31817927f2c5766c5d9b98b68d7b342e25b22d053f9ecd5a9f1|33141677", - "1.0.6|macos_arm64|613020f90a6a5d0b98ebeb4e7cdc4b392aa06ce738fbb700159a465cd27dcbfa|32024047", - "1.0.6|linux_x86_64|6a454323d252d34e928785a3b7c52bfaff1192f82685dfee4da1279bb700b733|32677516", - "1.0.6|linux_arm64|2047f8afc7d0d7b645a0422181ba3fe47b3547c4fe658f95eebeb872752ec129|30514636" + "-g", + "-O2" ] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-url-template=", - "config_key": "url_template", - "default": "https://releases.hashicorp.com/terraform/{version}/terraform_{version}_{platform}.zip", + "comma_separated_display_args": "--golang-minimum-expected-version=", + "config_key": "minimum_expected_version", + "default": "1.17", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--download-terraform-url-template="], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_URL_TEMPLATE", + "display_args": [ + "--golang-minimum-expected-version=" + ], + "env_var": "PANTS_GOLANG_MINIMUM_EXPECTED_VERSION", "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/v2.19/docs/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": "The minimum Go version the distribution discovered by Pants must support.\n\nFor example, if you set `'1.17'`, then Pants will look for a Go binary that is 1.17+, e.g. 1.17 or 1.18.\n\nYou should still set the Go version for each module in your `go.mod` with the `go` directive.\n\nDo not include the patch version.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-url-template"], + "scoped_cmd_line_args": [ + "--golang-minimum-expected-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--minimum-expected-version" + ], "value_history": { "ranked_values": [ { @@ -80150,78 +109091,37 @@ { "details": null, "rank": "HARDCODED", - "value": "https://releases.hashicorp.com/terraform/{version}/terraform_{version}_{platform}.zip" + "value": "1.17" } ] } }, { "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux_arm64", - "linux_x86_64": "linux_amd64", - "macos_arm64": "darwin_arm64", - "macos_x86_64": "darwin_amd64" - }, - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--download-terraform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" - ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_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": ["--download-terraform-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", - "linux_x86_64": "linux_amd64", - "macos_arm64": "darwin_arm64", - "macos_x86_64": "darwin_amd64" - } - } - ] - } - }, - { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--download-terraform-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]golang-cgo-enabled", + "config_key": "cgo_enabled", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-use-unsupported-version=" + "--[no-]golang-cgo-enabled" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_GOLANG_CGO_ENABLED", "fromfile": false, - "help": "\nWhat action to take in case the requested version of terraform is not supported.\n\nSupported terraform versions: unspecified\n", + "help": "Enable Cgo support, which allows Go and C code to interact. This option must be enabled for any packages making use of Cgo to actually be compiled with Cgo support.\n\nSee https://go.dev/blog/cgo and https://pkg.go.dev/cmd/cgo for additional information about Cgo.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--download-terraform-use-unsupported-version" + "--golang-cgo-enabled", + "--no-golang-cgo-enabled" ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--cgo-enabled", + "--no-cgo-enabled" + ], "value_history": { "ranked_values": [ { @@ -80232,7 +109132,7 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": true } ] } @@ -80240,23 +109140,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-extra-env-vars=\"['', '', ...]\"", - "config_key": "extra_env_vars", - "default": [], + "comma_separated_display_args": "--golang-go-search-paths=\"['', '', ...]\"", + "config_key": "go_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-extra-env-vars=\"['', '', ...]\"" + "--golang-go-search-paths=\"['', '', ...]\"" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_EXTRA_ENV_VARS", + "env_var": "PANTS_GOLANG_GO_SEARCH_PATHS", "fromfile": false, - "help": "Additional environment variables that would be made available to all Terraform processes.", + "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`", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-extra-env-vars"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--golang-go-search-paths" + ], + "target_field_name": "golang_go_search_paths", "typ": "list", - "unscoped_cmd_line_args": ["--extra-env-vars"], + "unscoped_cmd_line_args": [ + "--go-search-paths" + ], "value_history": { "ranked_values": [ { @@ -80267,7 +109173,9 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "" + ] } ] } @@ -80275,154 +109183,168 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]download-terraform-tailor", - "config_key": "tailor", - "default": true, + "comma_separated_display_args": "--golang-cgo-tool-search-paths=\"['', '', ...]\"", + "config_key": "cgo_tool_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]download-terraform-tailor"], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_TAILOR", + "display_args": [ + "--golang-cgo-tool-search-paths=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANG_CGO_TOOL_SEARCH_PATHS", "fromfile": false, - "help": "If true, add `terraform_module` targets with the `tailor` goal.", + "help": "A list of paths to search for tools needed by CGo (e.g., gcc, g++).\n\nSpecify absolute paths to directories with tools needed by CGo , 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", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--download-terraform-tailor", - "--no-download-terraform-tailor" + "--golang-cgo-tool-search-paths" + ], + "target_field_name": "golang_cgo_tool_search_paths", + "typ": "list", + "unscoped_cmd_line_args": [ + "--cgo-tool-search-paths" ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "" + ] } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Options for Golang support.", + "is_goal": false, + "provider": "pants.backend.experimental.go", + "scope": "golang" + }, + "golangci-lint": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--download-terraform-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--golangci-lint-version=", + "config_key": "version", + "default": "1.51.1", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--download-terraform-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--golangci-lint-version=" ], - "env_var": "PANTS_DOWNLOAD_TERRAFORM_ARGS", + "env_var": "PANTS_GOLANGCI_LINT_VERSION", "fromfile": false, - "help": "Arguments to pass directly to terraform, e.g. `--download-terraform-args='-auto-approve'`.\n\nAdditional arguments to pass to the Terraform command line.", + "help": "Use this version of golangci-lint.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--download-terraform-args"], + "scoped_cmd_line_args": [ + "--golangci-lint-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "1.51.1" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Terraform (https://terraform.io)", - "is_goal": false, - "provider": "pants.backend.experimental.terraform", - "scope": "download-terraform" - }, - "environments-preview": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--environments-preview-names=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "names", - "default": {}, + "comma_separated_display_args": "--golangci-lint-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "1.51.1|macos_arm64 |75b8f0ff3a4e68147156be4161a49d4576f1be37a0b506473f8c482140c1e7f2|9724049", + "1.51.1|macos_x86_64|fba08acc4027f69f07cef48fbff70b8a7ecdfaa1c2aba9ad3fb31d60d9f5d4bc|10054954", + "1.51.1|linux_arm64 |9744bc34e7b8d82ca788b667bfb7155a39b4be9aef43bf9f10318b1372cea338|8927955", + "1.51.1|linux_x86_64|17aeb26c76820c22efa0e1838b0ab93e90cfedef43fbfc9a2f33f27eb9e5e070|9712769" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--environments-preview-names=\"{'key1': val1, 'key2': val2, ...}\"" + "--golangci-lint-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_ENVIRONMENTS_PREVIEW_NAMES", + "env_var": "PANTS_GOLANGCI_LINT_KNOWN_VERSIONS", "fromfile": false, - "help": "A mapping of logical names to addresses to environment targets. For example:\n\n [environments-preview.names]\n linux_local = \"//:linux_env\"\n macos_local = \"//:macos_env\"\n centos6 = \"//:centos6_docker_env\"\n linux_ci = \"build-support:linux_ci_env\"\n macos_ci = \"build-support:macos_ci_env\"\n\nTo use an environment for a given target, specify the name in the `environment` field on that target. Pants will consume the environment target at the address mapped from that name.\n\nPants will ignore any environment targets that are not given a name via this option.", + "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": ["--environments-preview-names"], + "scoped_cmd_line_args": [ + "--golangci-lint-known-versions" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--names"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [ + "1.51.1|macos_arm64 |75b8f0ff3a4e68147156be4161a49d4576f1be37a0b506473f8c482140c1e7f2|9724049", + "1.51.1|macos_x86_64|fba08acc4027f69f07cef48fbff70b8a7ecdfaa1c2aba9ad3fb31d60d9f5d4bc|10054954", + "1.51.1|linux_arm64 |9744bc34e7b8d82ca788b667bfb7155a39b4be9aef43bf9f10318b1372cea338|8927955", + "1.51.1|linux_x86_64|17aeb26c76820c22efa0e1838b0ab93e90cfedef43fbfc9a2f33f27eb9e5e070|9712769" + ] } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "A highly experimental subsystem to allow setting environment variables and executable search paths for different environments, e.g. macOS vs. Linux.", - "is_goal": false, - "provider": "", - "scope": "environments-preview" - }, - "experimental-bsp": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]experimental-bsp-server", - "config_key": "server", - "default": false, + "comma_separated_display_args": "--golangci-lint-url-template=", + "config_key": "url_template", + "default": "https://github.com/golangci/golangci-lint/releases/download/v{version}/golangci-lint-{version}-{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]experimental-bsp-server"], - "env_var": "PANTS_EXPERIMENTAL_BSP_SERVER", + "display_args": [ + "--golangci-lint-url-template=" + ], + "env_var": "PANTS_GOLANGCI_LINT_URL_TEMPLATE", "fromfile": false, - "help": "Run the Build Server Protocol server. Pants will receive BSP RPC requests via the console. This should only ever be invoked via the IDE.", + "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/v2.19/docs/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": [ - "--experimental-bsp-server", - "--no-experimental-bsp-server" + "--golangci-lint-url-template" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--server", "--no-server"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -80433,7 +109355,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "https://github.com/golangci/golangci-lint/releases/download/v{version}/golangci-lint-{version}-{platform}.tar.gz" } ] } @@ -80441,125 +109363,124 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--experimental-bsp-runner-env-vars=\"['', '', ...]\"", - "config_key": "runner_env_vars", - "default": ["PATH"], + "comma_separated_display_args": "--golangci-lint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--experimental-bsp-runner-env-vars=\"['', '', ...]\"" + "--golangci-lint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_EXPERIMENTAL_BSP_RUNNER_ENV_VARS", + "env_var": "PANTS_GOLANGCI_LINT_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Environment variables to set in the BSP runner script when setting up BSP in a repository. 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' own environment when the experimental-bsp goal was run.\n\nThis option only takes effect when the BSP runner script is written. If the option changes, you must run `pants experimental-bsp` again to write a new copy of the BSP runner script.\n\nNote: The environment variables passed to the Pants BSP server will be those set for your IDE and not your shell. For example, on macOS, the IDE is generally launched by `launchd` after clicking on a Dock icon, and not from the shell. Thus, any environment variables set for your shell will likely not be seen by the Pants BSP server. At the very least, on macOS consider writing an explicit PATH into the BSP runner script via this option.", + "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": ["--experimental-bsp-runner-env-vars"], + "scoped_cmd_line_args": [ + "--golangci-lint-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--runner-env-vars"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": ["PATH"] + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + } } ] } - } - ], - "basic": [ + }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--experimental-bsp-groups-config-files=\"[, , ...]\"", - "config_key": "groups_config_files", - "default": [], + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--golangci-lint-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--experimental-bsp-groups-config-files=\"[, , ...]\"" + "--golangci-lint-use-unsupported-version=" ], - "env_var": "PANTS_EXPERIMENTAL_BSP_GROUPS_CONFIG_FILES", + "env_var": "PANTS_GOLANGCI_LINT_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "A list of config files that define groups of Pants targets to expose to IDEs via Build Server Protocol.\n\nPants generally uses fine-grained targets to define the components of a build (in many cases on a file-by-file basis). Many IDEs, however, favor coarse-grained targets that contain large numbers of source files. To accommodate this distinction, the Pants BSP server will compute a set of BSP build targets to use from the groups specified in the config files set for this option. Each group will become one or more BSP build targets.\n\nEach config file is a TOML file with a `groups` dictionary with the following format for an entry:\n\n # The dictionary key is used to identify the group. It must be unique.\n [groups.ID1]:\n # One or more Pants address specs defining what targets to include in the group.\n addresses = [\n \"src/jvm::\",\n \"tests/jvm::\",\n ]\n # Filter targets to a specific resolve. Targets in a group must be from a single resolve.\n # Format of filter is `TYPE:RESOLVE_NAME`. The only supported TYPE is `jvm`. RESOLVE_NAME must be\n # a valid resolve name.\n resolve = \"jvm:jvm-default\"\n display_name = \"Display Name\" # (Optional) Name shown to the user in the IDE.\n base_directory = \"path/from/build/root\" # (Optional) Hint to the IDE for where the build target should \"live.\"\n\nPants will merge the contents of the config files together. If the same ID is used for a group definition, in multiple config files, the definition in the latter config file will take effect.", + "help": "\nWhat action to take in case the requested version of golangci-lint is not supported.\n\nSupported golangci-lint versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--experimental-bsp-groups-config-files"], + "scoped_cmd_line_args": [ + "--golangci-lint-use-unsupported-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--groups-config-files"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "error" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Setup repository for Build Server Protocol (https://build-server-protocol.github.io/).", - "is_goal": true, - "provider": "pants.core", - "scope": "experimental-bsp" - }, - "experimental-deploy": { - "advanced": [], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Perform a deployment process.", - "is_goal": true, - "provider": "pants.core", - "scope": "experimental-deploy" - }, - "experimental-explorer": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--experimental-explorer-address=", - "config_key": "address", - "default": "localhost", + "comma_separated_display_args": "--golangci-lint-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--experimental-explorer-address="], - "env_var": "PANTS_EXPERIMENTAL_EXPLORER_ADDRESS", + "display_args": [ + "--golangci-lint-config=" + ], + "env_var": "PANTS_GOLANGCI_LINT_CONFIG", "fromfile": false, - "help": "Server address to bind to.", + "help": "Path to a YAML config file understood by golangci-lint (https://golangci-lint.run/usage/configuration/#config-file).\n\nSetting this option will disable `[golangci-lint].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--experimental-explorer-address"], + "scoped_cmd_line_args": [ + "--golangci-lint-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--address"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "localhost" } ] } @@ -80567,21 +109488,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--experimental-explorer-port=", - "config_key": "port", - "default": 8000, + "comma_separated_display_args": "--[no-]golangci-lint-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--experimental-explorer-port="], - "env_var": "PANTS_EXPERIMENTAL_EXPLORER_PORT", + "display_args": [ + "--[no-]golangci-lint-config-discovery" + ], + "env_var": "PANTS_GOLANGCI_LINT_CONFIG_DISCOVERY", "fromfile": false, - "help": "Server port to bind to.", + "help": "If true, Pants will include all relevant config files during runs (`.golangci.yml`, `.golangci.yaml`, `golangci.toml`, and `golangci.json`).\n\nUse `[golangci-lint].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--experimental-explorer-port"], + "scoped_cmd_line_args": [ + "--golangci-lint-config-discovery", + "--no-golangci-lint-config-discovery" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--port"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -80592,76 +109521,78 @@ { "details": null, "rank": "HARDCODED", - "value": 8000 + "value": true } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "Run the Pants Explorer Web UI server.", - "is_goal": true, - "provider": "pants.goal", - "scope": "experimental-explorer" - }, - "export": { - "advanced": [ + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--export-py-editable-in-resolve=\"['', '', ...]\"", - "config_key": "py_editable_in_resolve", - "default": [], + "comma_separated_display_args": "--[no-]golangci-lint-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--export-py-editable-in-resolve=\"['', '', ...]\"" + "--[no-]golangci-lint-skip" ], - "env_var": "PANTS_EXPORT_PY_EDITABLE_IN_RESOLVE", + "env_var": "PANTS_GOLANGCI_LINT_SKIP", "fromfile": false, - "help": "When exporting a mutable virtualenv for a resolve, do PEP-660 editable installs of all 'python_distribution' targets that own code in the exported resolve.\n\nIf a resolve name is not in this list, 'python_distribution' targets will not be installed in the virtualenv. This defaults to an empty list for backwards compatibility and to prevent unnecessary work to generate and install the PEP-660 editable wheels.\n\nThis only applies when '[python].enable_resolves' is true and when exporting a 'mutable_virtualenv' ('symlinked_immutable_virtualenv' exports are not \"full\" virtualenvs because they must not be edited, and do not include 'pip').\n\nNOTE: If you are using legacy exports (not using the '--resolve' option), then this option has no effect. Legacy exports will not include any editable installs.", + "help": "If true, don't use golangci-lint when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--export-py-editable-in-resolve"], + "scoped_cmd_line_args": [ + "--golangci-lint-skip", + "--no-golangci-lint-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--py-editable-in-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--export-resolve=\"['', '', ...]\"", - "config_key": "resolve", + "comma_separated_display_args": "--golangci-lint-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--export-resolve=\"['', '', ...]\""], - "env_var": "PANTS_EXPORT_RESOLVE", + "display_args": [ + "--golangci-lint-args=\"[, , ...]\"" + ], + "env_var": "PANTS_GOLANGCI_LINT_ARGS", "fromfile": false, - "help": "Export the specified resolve(s). The export format is backend-specific, e.g., Python resolves are exported as virtualenvs.", + "help": "Arguments to pass directly to golangci-lint, e.g. `--golangci-lint-args='--enable gocritic'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--export-resolve"], + "scoped_cmd_line_args": [ + "--golangci-lint-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--resolve"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -80676,27 +109607,41 @@ } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "A fast Go linters runner", + "is_goal": false, + "provider": "pants.backend.experimental.go.lint.golangci_lint", + "scope": "golangci-lint" + }, + "google-java-format": { + "advanced": [ { - "choices": ["mutable_virtualenv", "symlinked_immutable_virtualenv"], - "comma_separated_choices": "mutable_virtualenv, symlinked_immutable_virtualenv", - "comma_separated_display_args": "--export-py-resolve-format=", - "config_key": "py_resolve_format", - "default": "mutable_virtualenv", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--google-java-format-version=", + "config_key": "version", + "default": "1.13.0", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--export-py-resolve-format=" + "--google-java-format-version=" ], - "env_var": "PANTS_EXPORT_PY_RESOLVE_FORMAT", + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_VERSION", "fromfile": false, - "help": "Export Python resolves using this format. Options are:\n - `mutable_virtualenv`: Export a standalone mutable virtualenv that you can\n further modify.\n - `symlinked_immutable_virtualenv`: Export a symlink into a cached Python virtualenv.\n This virtualenv will have no pip binary, and will be immutable. Any attempt to\n modify it will corrupt the cache! It may, however, take significantly less time\n to export than a standalone, mutable virtualenv.", + "help": "Version string for the tool. This is available for substitution in the `[google-java-format].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--export-py-resolve-format"], + "scoped_cmd_line_args": [ + "--google-java-format-version" + ], "target_field_name": null, - "typ": "PythonResolveExportFormat", - "unscoped_cmd_line_args": ["--py-resolve-format"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -80707,96 +109652,89 @@ { "details": null, "rank": "HARDCODED", - "value": "mutable_virtualenv" + "value": "1.13.0" } ] } - } - ], - "deprecated": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]export-symlink-python-virtualenv", - "config_key": "symlink_python_virtualenv", - "default": false, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.20.0.dev0.", - "deprecation_active": true, - "display_args": ["--[no-]export-symlink-python-virtualenv"], - "env_var": "PANTS_EXPORT_SYMLINK_PYTHON_VIRTUALENV", + "comma_separated_display_args": "--google-java-format-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.google.googlejavaformat:google-java-format:{version}" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--google-java-format-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_ARTIFACTS", "fromfile": false, - "help": "Export a symlink into a cached Python virtualenv. This virtualenv will have no pip binary, and will be immutable. Any attempt to modify it will corrupt the cache! It may, however, take significantly less time to export than a standalone, mutable virtualenv will.", - "removal_hint": "Set the `[export].py_resolve_format` option to 'symlinked_immutable_virtualenv'", - "removal_version": "2.20.0.dev0", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[google-java-format].version` option.", + "removal_hint": null, + "removal_version": null, "scoped_cmd_line_args": [ - "--export-symlink-python-virtualenv", - "--no-export-symlink-python-virtualenv" + "--google-java-format-artifacts" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--symlink-python-virtualenv", - "--no-symlink-python-virtualenv" + "--artifacts" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "com.google.googlejavaformat:google-java-format:{version}" + ] } ] } - } - ], - "deprecated_scope": null, - "description": "Export Pants data for use in other tools, such as IDEs.", - "is_goal": true, - "provider": "pants.core", - "scope": "export" - }, - "export-codegen": { - "advanced": [], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Write generated files to `dist/codegen` for use outside of Pants.", - "is_goal": true, - "provider": "pants.core", - "scope": "export-codegen" - }, - "filedeps": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filedeps-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--google-java-format-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filedeps-output-file="], - "env_var": "PANTS_FILEDEPS_OUTPUT_FILE", + "display_args": [ + "--google-java-format-lockfile=" + ], + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_LOCKFILE", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "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.19.0rc5/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": ["--filedeps-output-file"], + "scoped_cmd_line_args": [ + "--google-java-format-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "" } ] } @@ -80804,57 +109742,70 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filedeps-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--google-java-format-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filedeps-sep="], - "env_var": "PANTS_FILEDEPS_SEP", + "display_args": [ + "--google-java-format-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_JVM_OPTIONS", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "List of JVM options to pass to `google-java-format` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filedeps-sep"], + "scoped_cmd_line_args": [ + "--google-java-format-jvm-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "\\n" + "value": [] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]filedeps-absolute", - "config_key": "absolute", + "comma_separated_display_args": "--[no-]google-java-format-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]filedeps-absolute"], - "env_var": "PANTS_FILEDEPS_ABSOLUTE", + "display_args": [ + "--[no-]google-java-format-skip" + ], + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_SKIP", "fromfile": false, - "help": "If True, output with absolute path. If unspecified, output with path relative to the build root.", + "help": "If true, don't use Google Java Format when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--filedeps-absolute", - "--no-filedeps-absolute" + "--google-java-format-skip", + "--no-google-java-format-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--absolute", "--no-absolute"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -80873,21 +109824,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]filedeps-globs", - "config_key": "globs", + "comma_separated_display_args": "--[no-]google-java-format-aosp", + "config_key": "aosp", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]filedeps-globs"], - "env_var": "PANTS_FILEDEPS_GLOBS", + "display_args": [ + "--[no-]google-java-format-aosp" + ], + "env_var": "PANTS_GOOGLE_JAVA_FORMAT_AOSP", "fromfile": false, - "help": "Instead of outputting filenames, output the original globs used in the BUILD file. This will not include exclude globs (i.e. globs that start with `!`).", + "help": "Use AOSP style instead of Google Style (4-space indentation). (\"AOSP\" is the Android Open Source Project.)", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filedeps-globs", "--no-filedeps-globs"], + "scoped_cmd_line_args": [ + "--google-java-format-aosp", + "--no-google-java-format-aosp" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--globs", "--no-globs"], + "unscoped_cmd_line_args": [ + "--aosp", + "--no-aosp" + ], "value_history": { "ranked_values": [ { @@ -80902,28 +109861,41 @@ } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Google Java Format (https://github.com/google/google-java-format)", + "is_goal": false, + "provider": "pants.backend.experimental.java.lint.google_java_format", + "scope": "google-java-format" + }, + "grpc-python-plugin": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]filedeps-transitive", - "config_key": "transitive", - "default": false, + "comma_separated_display_args": "--grpc-python-plugin-version=", + "config_key": "version", + "default": "1.32.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]filedeps-transitive"], - "env_var": "PANTS_FILEDEPS_TRANSITIVE", + "display_args": [ + "--grpc-python-plugin-version=" + ], + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_VERSION", "fromfile": false, - "help": "If True, list files from all dependencies, including transitive dependencies. If unspecified, only list files from the target.", + "help": "Use this version of grpcpythonplugin.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--filedeps-transitive", - "--no-filedeps-transitive" + "--grpc-python-plugin-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--transitive", "--no-transitive"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -80934,46 +109906,56 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "1.32.0" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "List all source and BUILD files a target depends on.", - "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "filedeps" - }, - "filter": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--grpc-python-plugin-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "1.32.0|macos_arm64 |b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", + "1.32.0|macos_x86_64|b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", + "1.32.0|linux_arm64 |9365e728c603d64735963074340994245d324712344f63557ef3630864dd9f52|5233664", + "1.32.0|linux_x86_64|1af99df9bf733c17a75cbe379f3f9d9ff1627d8a8035ea057c3c78575afe1687|4965728" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filter-output-file="], - "env_var": "PANTS_FILTER_OUTPUT_FILE", + "display_args": [ + "--grpc-python-plugin-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_KNOWN_VERSIONS", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "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": ["--filter-output-file"], + "scoped_cmd_line_args": [ + "--grpc-python-plugin-known-versions" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "1.32.0|macos_arm64 |b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", + "1.32.0|macos_x86_64|b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", + "1.32.0|linux_arm64 |9365e728c603d64735963074340994245d324712344f63557ef3630864dd9f52|5233664", + "1.32.0|linux_x86_64|1af99df9bf733c17a75cbe379f3f9d9ff1627d8a8035ea057c3c78575afe1687|4965728" + ] } ] } @@ -80981,21 +109963,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--grpc-python-plugin-url-template=", + "config_key": "url_template", + "default": "https://binaries.pantsbuild.org/bin/grpc_python_plugin/{version}/{platform}/grpc_python_plugin", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filter-sep="], - "env_var": "PANTS_FILTER_SEP", + "display_args": [ + "--grpc-python-plugin-url-template=" + ], + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_TEMPLATE", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "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/v2.19/docs/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": ["--filter-sep"], + "scoped_cmd_line_args": [ + "--grpc-python-plugin-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -81006,7 +109994,7 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": "https://binaries.pantsbuild.org/bin/grpc_python_plugin/{version}/{platform}/grpc_python_plugin" } ] } @@ -81014,56 +110002,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-target-type=\"[[+-]type1,type2,..., [+-]type1,type2,..., ...]\"", - "config_key": "target_type", - "default": [], + "comma_separated_display_args": "--grpc-python-plugin-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux/arm64", + "linux_x86_64": "linux/x86_64", + "macos_arm64": "macos/x86_64", + "macos_x86_64": "macos/x86_64" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--filter-target-type=\"[[+-]type1,type2,..., [+-]type1,type2,..., ...]\"" + "--grpc-python-plugin-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_FILTER_TARGET_TYPE", + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Filter on these target types, e.g. `resources` or `python_sources`.", + "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": ["--filter-target-type"], + "scoped_cmd_line_args": [ + "--grpc-python-plugin-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--target-type"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "linux_arm64": "linux/arm64", + "linux_x86_64": "linux/x86_64", + "macos_arm64": "macos/x86_64", + "macos_x86_64": "macos/x86_64" + } } ] } }, { - "choices": ["all", "file", "BUILD"], - "comma_separated_choices": "all, file, BUILD", - "comma_separated_display_args": "--filter-granularity=", - "config_key": "granularity", - "default": "all", + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--grpc-python-plugin-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--filter-granularity="], - "env_var": "PANTS_FILTER_GRANULARITY", + "display_args": [ + "--grpc-python-plugin-use-unsupported-version=" + ], + "env_var": "PANTS_GRPC_PYTHON_PLUGIN_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Filter to rendering only targets declared in BUILD files, only file-level targets, or all targets.", + "help": "\nWhat action to take in case the requested version of grpcpythonplugin is not supported.\n\nSupported grpcpythonplugin versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filter-granularity"], + "scoped_cmd_line_args": [ + "--grpc-python-plugin-use-unsupported-version" + ], "target_field_name": null, - "typ": "TargetGranularity", - "unscoped_cmd_line_args": ["--granularity"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -81074,42 +110085,57 @@ { "details": null, "rank": "HARDCODED", - "value": "all" + "value": "error" } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "The gRPC Protobuf plugin for Python.", + "is_goal": false, + "provider": "pants.backend.codegen.protobuf.python", + "scope": "grpc-python-plugin" + }, + "hadolint": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-address-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"", - "config_key": "address_regex", - "default": [], + "comma_separated_display_args": "--hadolint-version=", + "config_key": "version", + "default": "v2.10.0", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--filter-address-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"" + "--hadolint-version=" ], - "env_var": "PANTS_FILTER_ADDRESS_REGEX", + "env_var": "PANTS_HADOLINT_VERSION", "fromfile": false, - "help": "Filter on target addresses matching these regexes.", + "help": "Use this version of Hadolint.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--filter-address-regex"], + "scoped_cmd_line_args": [ + "--hadolint-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--address-regex"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "v2.10.0" } ] } @@ -81117,23 +110143,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--filter-tag-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"", - "config_key": "tag_regex", - "default": [], + "comma_separated_display_args": "--hadolint-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", + "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", + "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804", + "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--filter-tag-regex=\"[[+-]regex1,regex2,..., [+-]regex1,regex2,..., ...]\"" + "--hadolint-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_FILTER_TAG_REGEX", + "env_var": "PANTS_HADOLINT_KNOWN_VERSIONS", "fromfile": false, - "help": "Filter on targets with tags matching these regexes.", + "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": ["--filter-tag-regex"], + "scoped_cmd_line_args": [ + "--hadolint-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--tag-regex"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -81144,39 +110179,40 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", + "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", + "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804", + "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520" + ] } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Filter the input targets based on various criteria.\n\nMost of the filtering options below are comma-separated lists of filtering criteria, with an implied logical OR between them, so that a target passes the filter if it matches any of the criteria in the list. A '-' prefix inverts the sense of the entire comma-separated list, so that a target passes the filter only if it matches none of the criteria in the list.\n\nEach of the filtering options may be specified multiple times, with an implied logical AND between them.", - "is_goal": false, - "provider": "pants.backend.project_info", - "scope": "filter" - }, - "fix": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--fix-batch-size=", - "config_key": "batch_size", - "default": 128, + "comma_separated_display_args": "--hadolint-url-template=", + "config_key": "url_template", + "default": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--fix-batch-size="], - "env_var": "PANTS_FIX_BATCH_SIZE", + "display_args": [ + "--hadolint-url-template=" + ], + "env_var": "PANTS_HADOLINT_URL_TEMPLATE", "fromfile": false, - "help": "The target number of files to be included in each fixer batch.\n\nFixer processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in fixer processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", + "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/v2.19/docs/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": ["--fix-batch-size"], + "scoped_cmd_line_args": [ + "--hadolint-url-template" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--batch-size"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -81187,69 +110223,86 @@ { "details": null, "rank": "HARDCODED", - "value": 128 + "value": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}" } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--fix-only=\"['', '', ...]\"", - "config_key": "only", - "default": [], + "comma_separated_display_args": "--hadolint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "Linux-arm64", + "linux_x86_64": "Linux-x86_64", + "macos_arm64": "Darwin-x86_64", + "macos_x86_64": "Darwin-x86_64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--fix-only=\"['', '', ...]\""], - "env_var": "PANTS_FIX_ONLY", + "display_args": [ + "--hadolint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_HADOLINT_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Only run these fixers and skip all others.\n\nThe fixer names are outputted at the final summary of running this goal, e.g. `autoflake` and `pyupgrade`. You can also run `fix --only=fake` to get a list of all activated fixers.\n\nYou can repeat this option, e.g. `fix --only=autoflake --only=pyupgrade` or `fix --only=['autoflake', 'pyupgrade']`.", + "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": ["--fix-only"], + "scoped_cmd_line_args": [ + "--hadolint-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--only"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "linux_arm64": "Linux-arm64", + "linux_x86_64": "Linux-x86_64", + "macos_arm64": "Darwin-x86_64", + "macos_x86_64": "Darwin-x86_64" + } } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]fix-skip-formatters", - "config_key": "skip_formatters", - "default": false, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--hadolint-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]fix-skip-formatters"], - "env_var": "PANTS_FIX_SKIP_FORMATTERS", + "display_args": [ + "--hadolint-use-unsupported-version=" + ], + "env_var": "PANTS_HADOLINT_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "If true, skip running all formatters.\n\nFYI: when running `pants fix fmt ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fmt` when running `fix` where possible.", + "help": "\nWhat action to take in case the requested version of Hadolint is not supported.\n\nSupported Hadolint versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--fix-skip-formatters", - "--no-fix-skip-formatters" + "--hadolint-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--skip-formatters", - "--no-skip-formatters" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -81261,39 +110314,35 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Autofix source code.", - "is_goal": true, - "provider": "pants.core", - "scope": "fix" - }, - "flake8": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-install-from-resolve=", - "config_key": "install_from_resolve", + "comma_separated_display_args": "--hadolint-config=", + "config_key": "config", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--flake8-install-from-resolve="], - "env_var": "PANTS_FLAKE8_INSTALL_FROM_RESOLVE", + "display_args": [ + "--hadolint-config=" + ], + "env_var": "PANTS_HADOLINT_CONFIG", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Path to an YAML config file understood by Hadolint (https://github.com/hadolint/hadolint#configure).\n\nSetting this option will disable `[hadolint].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-install-from-resolve"], + "scoped_cmd_line_args": [ + "--hadolint-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -81307,54 +110356,72 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]hadolint-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--flake8-requirements=\"['', '', ...]\""], - "env_var": "PANTS_FLAKE8_REQUIREMENTS", + "display_args": [ + "--[no-]hadolint-config-discovery" + ], + "env_var": "PANTS_HADOLINT_CONFIG_DISCOVERY", "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 true, Pants will include all relevant config files during runs (`.hadolint.yaml` and `.hadolint.yml`).\n\nUse `[hadolint].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-requirements"], + "scoped_cmd_line_args": [ + "--hadolint-config-discovery", + "--no-hadolint-config-discovery" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-console-script=", - "config_key": "console_script", - "default": "flake8", + "comma_separated_display_args": "--[no-]hadolint-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--flake8-console-script="], - "env_var": "PANTS_FLAKE8_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]hadolint-skip" + ], + "env_var": "PANTS_HADOLINT_SKIP", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "If true, don't use Hadolint when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-console-script"], + "scoped_cmd_line_args": [ + "--hadolint-skip", + "--no-hadolint-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -81365,7 +110432,7 @@ { "details": null, "rank": "HARDCODED", - "value": "flake8" + "value": false } ] } @@ -81373,55 +110440,87 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--hadolint-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--flake8-entry-point="], - "env_var": "PANTS_FLAKE8_ENTRY_POINT", + "display_args": [ + "--hadolint-args=\"[, , ...]\"" + ], + "env_var": "PANTS_HADOLINT_ARGS", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Arguments to pass directly to Hadolint, e.g. `--hadolint-args='--format json'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-entry-point"], + "scoped_cmd_line_args": [ + "--hadolint-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "A linter for Dockerfiles.", + "is_goal": false, + "provider": "pants.backend.docker.lint.hadolint", + "scope": "hadolint" + }, + "helm": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--helm-version=", + "config_key": "version", + "default": "3.12.3", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--flake8-config="], - "env_var": "PANTS_FLAKE8_CONFIG", + "display_args": [ + "--helm-version=" + ], + "env_var": "PANTS_HELM_VERSION", "fromfile": false, - "help": "Path to an INI config file understood by Flake8 (https://flake8.pycqa.org/en/latest/user/configuration.html).\n\nSetting this option will disable `[flake8].config_discovery`. Use this option if the config is located in a non-standard location.", + "help": "Use this version of helmsubsystem.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-config"], + "scoped_cmd_line_args": [ + "--helm-version" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "3.12.3" } ] } @@ -81429,23 +110528,56 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-extra-files=\"[, , ...]\"", - "config_key": "extra_files", - "default": [], + "comma_separated_display_args": "--helm-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "3.12.3|linux_arm64|79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088|14355040", + "3.12.3|linux_x86_64|1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5|16028423", + "3.12.3|macos_arm64|240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1|16019570", + "3.12.3|macos_x86_64|1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47|16828211", + "3.12.2|linux_arm64|cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759|14350624", + "3.12.2|linux_x86_64|2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219|16028750", + "3.12.2|macos_arm64|b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55|16021202", + "3.12.2|macos_x86_64|6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e|16824814", + "3.11.3|linux_arm64|0816db0efd033c78c3cc1c37506967947b01965b9c0739fe13ec2b1eea08f601|14475471", + "3.11.3|linux_x86_64|ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89|15489735", + "3.11.3|macos_arm64|267e4d50b68e8854b9cc44517da9ab2f47dec39787fed9f7eba42080d61ac7f8|15451086", + "3.11.3|macos_x86_64|9d029df37664b50e427442a600e4e065fa75fd74dac996c831ac68359654b2c4|16275303", + "3.11.2|linux_arm64|444b65100e224beee0a3a3a54cb19dad37388fa9217ab2782ba63551c4a2e128|14090242", + "3.11.2|linux_x86_64|781d826daec584f9d50a01f0f7dadfd25a3312217a14aa2fbb85107b014ac8ca|15026301", + "3.11.2|macos_arm64|f61a3aa55827de2d8c64a2063fd744b618b443ed063871b79f52069e90813151|14932800", + "3.11.2|macos_x86_64|404938fd2c6eff9e0dab830b0db943fca9e1572cd3d7ee40904705760faa390f|15759988", + "3.11.1|linux_arm64 |919173e8fb7a3b54d76af9feb92e49e86d5a80c5185020bae8c393fa0f0de1e8|13484900", + "3.11.1|linux_x86_64|0b1be96b66fab4770526f136f5f1a385a47c41923d33aab0dcb500e0f6c1bf7c|15023104", + "3.11.1|macos_arm64 |43d0198a7a2ea2639caafa81bb0596c97bee2d4e40df50b36202343eb4d5c46b|14934852", + "3.11.1|macos_x86_64|2548a90e5cc957ccc5016b47060665a9d2cd4d5b4d61dcc32f5de3144d103826|15757902", + "3.10.0|linux_arm64 |3b72f5f8a60772fb156d0a4ab93272e8da7ef4d18e6421a7020d7c019f521fc1|13055719", + "3.10.0|linux_x86_64|bf56beb418bb529b5e0d6d43d56654c5a03f89c98400b409d1013a33d9586474|14530566", + "3.10.0|macos_arm64 |f7f6558ebc8211824032a7fdcf0d55ad064cb33ec1eeec3d18057b9fe2e04dbe|14446277", + "3.10.0|macos_x86_64|1e7fd528482ac2ef2d79fe300724b3e07ff6f846a2a9b0b0fe6f5fa05691786b|15237557", + "3.8.0|linux_arm64 |23e08035dc0106fe4e0bd85800fd795b2b9ecd9f32187aa16c49b0a917105161|12324642", + "3.8.0|linux_x86_64|8408c91e846c5b9ba15eb6b1a5a79fc22dd4d33ac6ea63388e5698d1b2320c8b|13626774", + "3.8.0|macos_arm64 |751348f1a4a876ffe089fd68df6aea310fd05fe3b163ab76aa62632e327122f3|14078604", + "3.8.0|macos_x86_64|532ddd6213891084873e5c2dcafa577f425ca662a6594a3389e288fc48dc2089|14318316" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--flake8-extra-files=\"[, , ...]\"" + "--helm-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_FLAKE8_EXTRA_FILES", + "env_var": "PANTS_HELM_KNOWN_VERSIONS", "fromfile": false, - "help": "Paths to extra files to include in the sandbox. This can be useful for Flake8 plugins,\n like including config files for the `flake8-bandit` plugin.", + "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": ["--flake8-extra-files"], + "scoped_cmd_line_args": [ + "--helm-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--extra-files"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -81456,7 +110588,36 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "3.12.3|linux_arm64|79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088|14355040", + "3.12.3|linux_x86_64|1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5|16028423", + "3.12.3|macos_arm64|240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1|16019570", + "3.12.3|macos_x86_64|1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47|16828211", + "3.12.2|linux_arm64|cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759|14350624", + "3.12.2|linux_x86_64|2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219|16028750", + "3.12.2|macos_arm64|b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55|16021202", + "3.12.2|macos_x86_64|6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e|16824814", + "3.11.3|linux_arm64|0816db0efd033c78c3cc1c37506967947b01965b9c0739fe13ec2b1eea08f601|14475471", + "3.11.3|linux_x86_64|ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89|15489735", + "3.11.3|macos_arm64|267e4d50b68e8854b9cc44517da9ab2f47dec39787fed9f7eba42080d61ac7f8|15451086", + "3.11.3|macos_x86_64|9d029df37664b50e427442a600e4e065fa75fd74dac996c831ac68359654b2c4|16275303", + "3.11.2|linux_arm64|444b65100e224beee0a3a3a54cb19dad37388fa9217ab2782ba63551c4a2e128|14090242", + "3.11.2|linux_x86_64|781d826daec584f9d50a01f0f7dadfd25a3312217a14aa2fbb85107b014ac8ca|15026301", + "3.11.2|macos_arm64|f61a3aa55827de2d8c64a2063fd744b618b443ed063871b79f52069e90813151|14932800", + "3.11.2|macos_x86_64|404938fd2c6eff9e0dab830b0db943fca9e1572cd3d7ee40904705760faa390f|15759988", + "3.11.1|linux_arm64 |919173e8fb7a3b54d76af9feb92e49e86d5a80c5185020bae8c393fa0f0de1e8|13484900", + "3.11.1|linux_x86_64|0b1be96b66fab4770526f136f5f1a385a47c41923d33aab0dcb500e0f6c1bf7c|15023104", + "3.11.1|macos_arm64 |43d0198a7a2ea2639caafa81bb0596c97bee2d4e40df50b36202343eb4d5c46b|14934852", + "3.11.1|macos_x86_64|2548a90e5cc957ccc5016b47060665a9d2cd4d5b4d61dcc32f5de3144d103826|15757902", + "3.10.0|linux_arm64 |3b72f5f8a60772fb156d0a4ab93272e8da7ef4d18e6421a7020d7c019f521fc1|13055719", + "3.10.0|linux_x86_64|bf56beb418bb529b5e0d6d43d56654c5a03f89c98400b409d1013a33d9586474|14530566", + "3.10.0|macos_arm64 |f7f6558ebc8211824032a7fdcf0d55ad064cb33ec1eeec3d18057b9fe2e04dbe|14446277", + "3.10.0|macos_x86_64|1e7fd528482ac2ef2d79fe300724b3e07ff6f846a2a9b0b0fe6f5fa05691786b|15237557", + "3.8.0|linux_arm64 |23e08035dc0106fe4e0bd85800fd795b2b9ecd9f32187aa16c49b0a917105161|12324642", + "3.8.0|linux_x86_64|8408c91e846c5b9ba15eb6b1a5a79fc22dd4d33ac6ea63388e5698d1b2320c8b|13626774", + "3.8.0|macos_arm64 |751348f1a4a876ffe089fd68df6aea310fd05fe3b163ab76aa62632e327122f3|14078604", + "3.8.0|macos_x86_64|532ddd6213891084873e5c2dcafa577f425ca662a6594a3389e288fc48dc2089|14318316" + ] } ] } @@ -81464,26 +110625,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]flake8-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--helm-url-template=", + "config_key": "url_template", + "default": "https://get.helm.sh/helm-v{version}-{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]flake8-config-discovery"], - "env_var": "PANTS_FLAKE8_CONFIG_DISCOVERY", + "display_args": [ + "--helm-url-template=" + ], + "env_var": "PANTS_HELM_URL_TEMPLATE", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.flake8`, `flake8`, `setup.cfg`, and `tox.ini`).\n\nUse `[flake8].config` instead if your config is in a non-standard location.", + "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/v2.19/docs/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": [ - "--flake8-config-discovery", - "--no-flake8-config-discovery" + "--helm-url-template" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--url-template" ], "value_history": { "ranked_values": [ @@ -81495,7 +110656,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "https://get.helm.sh/helm-v{version}-{platform}.tar.gz" } ] } @@ -81503,58 +110664,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-source-plugins=\"[, , ...]\"", - "config_key": "source_plugins", - "default": [], + "comma_separated_display_args": "--helm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--flake8-source-plugins=\"[, , ...]\"" + "--helm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_FLAKE8_SOURCE_PLUGINS", + "env_var": "PANTS_HELM_URL_PLATFORM_MAPPING", "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/v2.19/docs/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/v2.19/docs/python-lockfiles#lockfiles-for-tools.", + "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": ["--flake8-source-plugins"], + "scoped_cmd_line_args": [ + "--helm-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--source-plugins"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" + } } ] } - } - ], - "basic": [ + }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]flake8-skip", - "config_key": "skip", - "default": false, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--helm-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]flake8-skip"], - "env_var": "PANTS_FLAKE8_SKIP", + "display_args": [ + "--helm-use-unsupported-version=" + ], + "env_var": "PANTS_HELM_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "If true, don't use Flake8 when running `pants lint`.", + "help": "\nWhat action to take in case the requested version of helmsubsystem is not supported.\n\nSupported helmsubsystem versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-skip", "--no-flake8-skip"], + "scoped_cmd_line_args": [ + "--helm-use-unsupported-version" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -81565,7 +110747,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } @@ -81573,21 +110755,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--flake8-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--helm-extra-env-vars=\"['', '', ...]\"", + "config_key": "extra_env_vars", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--flake8-args=\"[, , ...]\""], - "env_var": "PANTS_FLAKE8_ARGS", + "display_args": [ + "--helm-extra-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_EXTRA_ENV_VARS", "fromfile": false, - "help": "Arguments to pass directly to Flake8, e.g. `--flake8-args='--ignore E123,W456 --enable-extensions H111'`.", + "help": "Additional environment variables that would be made available to all Helm processes or during value interpolation.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--flake8-args"], + "scoped_cmd_line_args": [ + "--helm-extra-env-vars" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--extra-env-vars" + ], "value_history": { "ranked_values": [ { @@ -81602,35 +110790,33 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The Flake8 Python linter (https://flake8.pycqa.org/).", - "is_goal": false, - "provider": "pants.backend.python.lint.flake8", - "scope": "flake8" - }, - "fmt": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--fmt-batch-size=", - "config_key": "batch_size", - "default": 128, + "comma_separated_display_args": "--[no-]helm-tailor-charts", + "config_key": "tailor_charts", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--fmt-batch-size="], - "env_var": "PANTS_FMT_BATCH_SIZE", + "display_args": [ + "--[no-]helm-tailor-charts" + ], + "env_var": "PANTS_HELM_TAILOR_CHARTS", "fromfile": false, - "help": "The target number of files to be included in each formatter batch.\n\nFormatter processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in formatter processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", + "help": "If true, add `helm_chart` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--fmt-batch-size"], + "scoped_cmd_line_args": [ + "--helm-tailor-charts", + "--no-helm-tailor-charts" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--batch-size"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-charts", + "--no-tailor-charts" + ], "value_history": { "ranked_values": [ { @@ -81641,80 +110827,48 @@ { "details": null, "rank": "HARDCODED", - "value": 128 + "value": true } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--fmt-only=\"['', '', ...]\"", - "config_key": "only", - "default": [], + "comma_separated_display_args": "--[no-]helm-tailor-unittests", + "config_key": "tailor_unittests", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--fmt-only=\"['', '', ...]\""], - "env_var": "PANTS_FMT_ONLY", + "display_args": [ + "--[no-]helm-tailor-unittests" + ], + "env_var": "PANTS_HELM_TAILOR_UNITTESTS", "fromfile": false, - "help": "Only run these formatters and skip all others.\n\nThe formatter names are outputted at the final summary of running this goal, e.g. `isort` and `shfmt`. You can also run `fmt --only=fake` to get a list of all activated formatters.\n\nYou can repeat this option, e.g. `fmt --only=isort --only=shfmt` or `fmt --only=['isort', 'shfmt']`.", + "help": "If true, add `helm_unittest_tests` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--fmt-only"], + "scoped_cmd_line_args": [ + "--helm-tailor-unittests", + "--no-helm-tailor-unittests" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--only"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-unittests", + "--no-tailor-unittests" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Autoformat source code.", - "is_goal": true, - "provider": "pants.core", - "scope": "fmt" - }, - "generate-lockfiles": { - "advanced": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--generate-lockfiles-custom-command=", - "config_key": "custom_command", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--generate-lockfiles-custom-command="], - "env_var": "PANTS_GENERATE_LOCKFILES_CUSTOM_COMMAND", - "fromfile": false, - "help": "If set, lockfile headers will say to run this command to regenerate the lockfile, rather than running `pants generate-lockfiles --resolve=` like normal.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--generate-lockfiles-custom-command"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--custom-command"], - "value_history": { - "ranked_values": [ { "details": null, - "rank": "NONE", - "value": null + "rank": "HARDCODED", + "value": true } ] } @@ -81724,34 +110878,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--generate-lockfiles-resolve=\"['', '', ...]\"", - "config_key": "resolve", - "default": [], + "comma_separated_display_args": "--helm-registries=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "registries", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--generate-lockfiles-resolve=\"['', '', ...]\"" + "--helm-registries=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_GENERATE_LOCKFILES_RESOLVE", - "fromfile": false, - "help": "Only generate lockfiles for the specified resolve(s).\n\nResolves are the logical names for the different lockfiles used in your project. For your own code's dependencies, these come from backend-specific configuration such as `[python].resolves`. For tool lockfiles, resolve names are the options scope for that tool such as `black`, `pytest`, and `mypy-protobuf`.\n\nFor example, you can run `pants generate-lockfiles --resolve=black --resolve=pytest --resolve=data-science` to only generate lockfiles for those two tools and your resolve named `data-science`.\n\nIf you specify an invalid resolve name, like 'fake', Pants will output all possible values.\n\nIf not specified, Pants will generate lockfiles for all resolves.", + "env_var": "PANTS_HELM_REGISTRIES", + "fromfile": true, + "help": "Configure Helm OCI registries. The schema for a registry entry is as follows:\n\n {\n \"registry-alias\": {\n \"address\": \"oci://registry-domain:port\",\n \"default\": bool,\n },\n ...\n }\n\nIf no registries are provided in either a `helm_chart` target, then all default addresses will be used, if any.\n\nThe `helm_chart.registries` may be provided with a list of registry addresses and registry alias prefixed with `@` to be used instead of the defaults.\n\nA configured registry is marked as default either by setting `default = true` or with an alias of `\"default\"`.\n\nRegistries also participate in resolving third party Helm charts uplodaded to those registries.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--generate-lockfiles-resolve"], + "scoped_cmd_line_args": [ + "--helm-registries" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--resolve"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--registries" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": {} } ] } @@ -81759,24 +110917,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]generate-lockfiles-diff", - "config_key": "diff", - "default": true, + "comma_separated_display_args": "--[no-]helm-lint-strict", + "config_key": "lint_strict", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]generate-lockfiles-diff"], - "env_var": "PANTS_GENERATE_LOCKFILES_DIFF", + "display_args": [ + "--[no-]helm-lint-strict" + ], + "env_var": "PANTS_HELM_LINT_STRICT", "fromfile": false, - "help": "Print a summary of changed distributions after generating the lockfile.", + "help": "Enables strict linting of Helm charts", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--generate-lockfiles-diff", - "--no-generate-lockfiles-diff" + "--helm-lint-strict", + "--no-helm-lint-strict" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--diff", "--no-diff"], + "unscoped_cmd_line_args": [ + "--lint-strict", + "--no-lint-strict" + ], "value_history": { "ranked_values": [ { @@ -81787,7 +110950,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } @@ -81795,26 +110958,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]generate-lockfiles-diff-include-unchanged", - "config_key": "diff_include_unchanged", - "default": false, + "comma_separated_display_args": "--helm-default-registry-repository=", + "config_key": "default_registry_repository", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]generate-lockfiles-diff-include-unchanged"], - "env_var": "PANTS_GENERATE_LOCKFILES_DIFF_INCLUDE_UNCHANGED", + "display_args": [ + "--helm-default-registry-repository=" + ], + "env_var": "PANTS_HELM_DEFAULT_REGISTRY_REPOSITORY", "fromfile": false, - "help": "Include unchanged distributions in the diff summary output. Implies `diff=true`.", + "help": "Default location where to push Helm charts in the available registries when no specific one has been given.\n\nIf no registry repository is given, charts will be pushed to the root of the OCI registry.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--generate-lockfiles-diff-include-unchanged", - "--no-generate-lockfiles-diff-include-unchanged" + "--helm-default-registry-repository" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--diff-include-unchanged", - "--no-diff-include-unchanged" + "--default-registry-repository" ], "value_history": { "ranked_values": [ @@ -81822,55 +110985,35 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Generate lockfiles for third-party dependencies.", - "is_goal": true, - "provider": "pants.core", - "scope": "generate-lockfiles" - }, - "generate-snapshots": { - "advanced": [], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Generate test snapshots.", - "is_goal": true, - "provider": "pants.core", - "scope": "generate-snapshots" - }, - "go-generate": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--go-generate-env-vars=\"['', '', ...]\"", - "config_key": "env_vars", - "default": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"], + "comma_separated_display_args": "--helm-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--go-generate-env-vars=\"['', '', ...]\"" + "--helm-args=\"[, , ...]\"", + "... -- [ [ [...]]]" ], - "env_var": "PANTS_GO_GENERATE_ENV_VARS", + "env_var": "PANTS_HELM_ARGS", "fromfile": false, - "help": "Environment variables to set when invoking generator programs. 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.", + "help": "Arguments to pass directly to helmsubsystem, e.g. `--helm-args='--dry-run'`.\n\nAdditional arguments to pass to Helm command line.\n\nOnly a subset of Helm arguments are considered valid as passthrough arguments as most of them have equivalents in the form of fields of the different target types.\n\nThe list of valid arguments is as follows:\n\n * --atomic\n * --cleanup-on-fail\n * --create-namespace\n * --debug\n * --dry-run\n * --force\n * --wait\n * --wait-for-jobs\n * --kubeconfig\n * --kube-context\n * --kube-apiserver\n * --kube-as-group\n * --kube-as-user\n * --kube-ca-file\n * --kube-token\n\nBefore attempting to use passthrough arguments, check the reference of each of the available target types to see what fields are accepted in each of them.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-generate-env-vars"], - "target_field_name": "go_generate_env_vars", + "scoped_cmd_line_args": [ + "--helm-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--env-vars"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -81881,51 +111024,51 @@ { "details": "", "rank": "HARDCODED", - "value": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"] + "value": [] } ] } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Run each command in a package described by a `//go:generate` directive. This is equivalent to running `go generate` on a Go package.\n\nNote: Just like with `go generate`, the `go-generate` goal is never run as part of the build and must be run manually to invoke the commands described by the `//go:generate` directives.\n\nSee https://go.dev/blog/generate for details.", - "is_goal": true, - "provider": "pants.backend.experimental.go", - "scope": "go-generate" + "description": "The Helm command line (https://helm.sh)", + "is_goal": false, + "provider": "pants.backend.experimental.helm", + "scope": "helm" }, - "go-test": { + "helm-k8s-parser": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--go-test-coverage-output-dir=", - "config_key": "coverage_output_dir", - "default": "{distdir}/coverage/go/{target_spec}", + "comma_separated_display_args": "--helm-k8s-parser-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--go-test-coverage-output-dir="], - "env_var": "PANTS_GO_TEST_COVERAGE_OUTPUT_DIR", + "display_args": [ + "--helm-k8s-parser-install-from-resolve=" + ], + "env_var": "PANTS_HELM_K8S_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Path to write the Go coverage reports to. Must be relative to the build root.\n\nReplacements:\n\n - `{distdir}` is replaced with the Pants `distdir`.\n - `{target_spec}` is replaced with the address of the applicable `go_package` target with `/`\n characters replaced with dots (`.`).\n - `{import_path}` is replaced with the applicable package's import path. Subdirectories will be made\n for any path components separated by `/` characters.\n - `{import_path_escaped}` is replaced with the applicable package's import path but with\n slashes converted to underscores. This is deprecated and only exists to support behavior from\n earlier versions.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--go-test-coverage-output-dir"], + "scoped_cmd_line_args": [ + "--helm-k8s-parser-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--coverage-output-dir"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "{distdir}/coverage/go/{target_spec}" } ] } @@ -81933,65 +111076,68 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-output-test-binary", - "config_key": "output_test_binary", - "default": false, + "comma_separated_display_args": "--helm-k8s-parser-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-output-test-binary"], - "env_var": "PANTS_GO_TEST_OUTPUT_TEST_BINARY", + "display_args": [ + "--helm-k8s-parser-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_K8S_PARSER_REQUIREMENTS", "fromfile": false, - "help": "Write the test binary to the test extra output directory.\n\nThis is similar to the `go test -c` option, but will still run the underlying test.", + "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.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-output-test-binary", - "--no-go-test-output-test-binary" + "--helm-k8s-parser-requirements" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--output-test-binary", - "--no-output-test-binary" + "--requirements" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--go-test-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<3.10" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--go-test-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_GO_TEST_ARGS", + "env_var": "PANTS_HELM_K8S_PARSER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Arguments to pass directly to Go test binary, e.g. `--go-test-args='-run TestFoo -v'`.\n\nKnown Go test options will be transformed into the form expected by the test binary, e.g. `-v` becomes `-test.v`. Run `go help testflag` from the Go SDK to learn more about the options supported by Go test binaries.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-args"], + "scoped_cmd_line_args": [ + "--helm-k8s-parser-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -82002,76 +111148,54 @@ { "details": "", "rank": "HARDCODED", - "value": [] - } - ] - } - }, - { - "choices": ["set", "count", "atomic"], - "comma_separated_choices": "set, count, atomic", - "comma_separated_display_args": "--go-test-cover-mode=", - "config_key": "cover_mode", - "default": "set", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--go-test-cover-mode="], - "env_var": "PANTS_GO_TEST_COVER_MODE", - "fromfile": false, - "help": "Coverage mode to use when running Go tests with coverage analysis enabled via `--test-use-coverage`. Valid values are `set`, `count`, and `atomic`:\n\n * `set`: bool: does this statement run?\n * `count`: int: how many times does this statement run?\n * `atomic`: int: count, but correct in multithreaded tests; significantly more expensive.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--go-test-cover-mode"], - "target_field_name": null, - "typ": "GoCoverMode", - "unscoped_cmd_line_args": ["--cover-mode"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "set" + "value": [ + "CPython>=3.7,<3.10" + ] } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Analyses K8S manifests rendered by Helm.", + "is_goal": false, + "provider": "pants.backend.experimental.helm", + "scope": "helm-k8s-parser" + }, + "helm-post-renderer": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-coverage-html", - "config_key": "coverage_html", - "default": true, + "comma_separated_display_args": "--helm-post-renderer-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-coverage-html"], - "env_var": "PANTS_GO_TEST_COVERAGE_HTML", + "display_args": [ + "--helm-post-renderer-install-from-resolve=" + ], + "env_var": "PANTS_HELM_POST_RENDERER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If true, then convert coverage reports to HTML format and write a `coverage.html` file next to the raw coverage data.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ - "--go-test-coverage-html", - "--no-go-test-coverage-html" + "--helm-post-renderer-install-from-resolve" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--coverage-html", "--no-coverage-html"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } @@ -82079,23 +111203,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--go-test-coverage-packages=\"['', '', ...]\"", - "config_key": "coverage_packages", + "comma_separated_display_args": "--helm-post-renderer-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--go-test-coverage-packages=\"['', '', ...]\"" + "--helm-post-renderer-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_GO_TEST_COVERAGE_PACKAGES", + "env_var": "PANTS_HELM_POST_RENDERER_REQUIREMENTS", "fromfile": false, - "help": "A list of \"import path patterns\" for determining which import paths will be instrumented for code coverage.\n\nFrom `go help packages`:\n\nAn import path is a pattern if it includes one or more \"...\" wildcards, each of which can match any string, including the empty string and strings containing slashes. Such a pattern expands to all package directories found in the GOPATH trees with names matching the patterns.\n\nTo make common patterns more convenient, there are two special cases. First, /... at the end of the pattern can match an empty string, so that net/... matches both net and packages in its subdirectories, like net/http. Second, any slash-separated pattern element containing a wildcard never participates in a match of the \"vendor\" element in the path of a vendored package, so that ./... does not match packages in subdirectories of ./vendor or ./mycode/vendor, but ./vendor/... and ./mycode/vendor/... do. Note, however, that a directory named vendor that itself contains code is not a vendored package: cmd/vendor would be a command named vendor, and the pattern cmd/... matches it. See golang.org/s/go15vendor for more about vendoring.\n\nThis option is similar to the `go test -coverpkg` option, but without support currently for reserved import path patterns like `std` and `all`.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-coverage-packages"], + "scoped_cmd_line_args": [ + "--helm-post-renderer-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--coverage-packages"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -82114,57 +111242,81 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<3.10" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-skip"], - "env_var": "PANTS_GO_TEST_SKIP", + "display_args": [ + "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_POST_RENDERER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "If true, don't use Go test binary when running `pants test`.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-skip", "--no-go-test-skip"], + "scoped_cmd_line_args": [ + "--helm-post-renderer-interpreter-constraints" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "CPython>=3.7,<3.10" + ] } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Used perform modifications to the final output produced by Helm charts when they've been fully rendered.", + "is_goal": false, + "provider": "pants.backend.experimental.helm", + "scope": "helm-post-renderer" + }, + "helm-unittest": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-force-race", - "config_key": "force_race", - "default": false, + "comma_separated_display_args": "--helm-unittest-version=", + "config_key": "version", + "default": "0.3.3", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-force-race"], - "env_var": "PANTS_GO_TEST_FORCE_RACE", + "display_args": [ + "--helm-unittest-version=" + ], + "env_var": "PANTS_HELM_UNITTEST_VERSION", "fromfile": false, - "help": "If true, then always enable the Go data race detector when running tests regardless of the test-by-test `test_race` field on the relevant `go_package` target.\n\nSee https://go.dev/doc/articles/race_detector for additional information about the Go data race detector.", + "help": "Use this version of helmunittestsubsystem.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-force-race", - "--no-go-test-force-race" + "--helm-unittest-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--force-race", "--no-force-race"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -82175,7 +111327,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "0.3.3" } ] } @@ -82183,35 +111335,56 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-force-msan", - "config_key": "force_msan", - "default": false, + "comma_separated_display_args": "--helm-unittest-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "0.3.3|linux_x86_64|8ebe20f77012a5d4e7139760cabe36dd1ea38e40b26f57de3f4165d96bd486ff|21685365", + "0.3.3|linux_arm64 |7f5e4426428cb9678f971576103df410e6fa38dd19b87fce4729f5217bd5c683|19944514", + "0.3.3|macos_x86_64|b2298a513b3cb6482ba2e42079c93ad18be8a31a230bd4dffdeb01ec2881d0f5|21497144", + "0.3.3|macos_arm64 |2365f5b3a99e6fc83218457046378b14039a3992e9ae96a4192bc2e43a33c742|20479438", + "0.2.8|linux_x86_64|d7c452559ad4406a1197435394fbcffe51198060de1aa9b4cb6feaf876776ba0|18299096", + "0.2.8|linux_arm64 |c793e241b063f0540ad9b4acc0a02e5a101bd9daea5bdf4d8562e9b2337fedb2|16943867", + "0.2.8|macos_x86_64|1dc95699320894bdebf055c4f4cc084c2cfa0133d3cb7fd6a4c0adca94df5c96|18161928", + "0.2.8|macos_arm64 |436e3167c26f71258b96e32c2877b4f97c051064db941de097cf3db2fc861342|17621648" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-force-msan"], - "env_var": "PANTS_GO_TEST_FORCE_MSAN", + "display_args": [ + "--helm-unittest-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_HELM_UNITTEST_KNOWN_VERSIONS", "fromfile": false, - "help": "If true, then always enable interoperation between Go and the C/C++ \"memory sanitizer\" when running tests regardless of the test-by-test `msan` field on the relevant `go_package` target.\n\nSee https://github.com/google/sanitizers/wiki/MemorySanitizer for additional information about the C/C++ memory sanitizer.", + "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": [ - "--go-test-force-msan", - "--no-go-test-force-msan" + "--helm-unittest-known-versions" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--force-msan", "--no-force-msan"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "0.3.3|linux_x86_64|8ebe20f77012a5d4e7139760cabe36dd1ea38e40b26f57de3f4165d96bd486ff|21685365", + "0.3.3|linux_arm64 |7f5e4426428cb9678f971576103df410e6fa38dd19b87fce4729f5217bd5c683|19944514", + "0.3.3|macos_x86_64|b2298a513b3cb6482ba2e42079c93ad18be8a31a230bd4dffdeb01ec2881d0f5|21497144", + "0.3.3|macos_arm64 |2365f5b3a99e6fc83218457046378b14039a3992e9ae96a4192bc2e43a33c742|20479438", + "0.2.8|linux_x86_64|d7c452559ad4406a1197435394fbcffe51198060de1aa9b4cb6feaf876776ba0|18299096", + "0.2.8|linux_arm64 |c793e241b063f0540ad9b4acc0a02e5a101bd9daea5bdf4d8562e9b2337fedb2|16943867", + "0.2.8|macos_x86_64|1dc95699320894bdebf055c4f4cc084c2cfa0133d3cb7fd6a4c0adca94df5c96|18161928", + "0.2.8|macos_arm64 |436e3167c26f71258b96e32c2877b4f97c051064db941de097cf3db2fc861342|17621648" + ] } ] } @@ -82219,24 +111392,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-force-asan", - "config_key": "force_asan", - "default": false, + "comma_separated_display_args": "--helm-unittest-url-template=", + "config_key": "url_template", + "default": "https://github.com/helm-unittest/helm-unittest/releases/download/v{version}/helm-unittest-{platform}-{version}.tgz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-force-asan"], - "env_var": "PANTS_GO_TEST_FORCE_ASAN", + "display_args": [ + "--helm-unittest-url-template=" + ], + "env_var": "PANTS_HELM_UNITTEST_URL_TEMPLATE", "fromfile": false, - "help": "If true, then always enable interoperation between Go and the C/C++ \"address sanitizer\" when running tests regardless of the test-by-test `asan` field on the relevant `go_package` target.\n\nSee https://github.com/google/sanitizers/wiki/AddressSanitizer for additional information about the C/C++ address sanitizer.", + "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/v2.19/docs/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": [ - "--go-test-force-asan", - "--no-go-test-force-asan" + "--helm-unittest-url-template" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--force-asan", "--no-force-asan"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -82247,7 +111423,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "https://github.com/helm-unittest/helm-unittest/releases/download/v{version}/helm-unittest-{platform}-{version}.tgz" } ] } @@ -82255,60 +111431,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-block-profile", - "config_key": "block_profile", - "default": false, + "comma_separated_display_args": "--helm-unittest-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "macos-arm64", + "macos_x86_64": "macos-amd64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-block-profile"], - "env_var": "PANTS_GO_TEST_BLOCK_PROFILE", + "display_args": [ + "--helm-unittest-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_HELM_UNITTEST_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Capture a goroutine blocking profile from the execution of the test runner. The profile will be written to the file `block.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", + "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": [ - "--go-test-block-profile", - "--no-go-test-block-profile" + "--helm-unittest-url-platform-mapping" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--block-profile", "--no-block-profile"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-amd64", + "macos_arm64": "macos-arm64", + "macos_x86_64": "macos-amd64" + } } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-cpu-profile", - "config_key": "cpu_profile", - "default": false, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--helm-unittest-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-cpu-profile"], - "env_var": "PANTS_GO_TEST_CPU_PROFILE", + "display_args": [ + "--helm-unittest-use-unsupported-version=" + ], + "env_var": "PANTS_HELM_UNITTEST_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Capture a CPU profile from the execution of the test runner. The profile will be written to the file `cpu.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", + "help": "\nWhat action to take in case the requested version of helmunittestsubsystem is not supported.\n\nSupported helmunittestsubsystem versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-cpu-profile", - "--no-go-test-cpu-profile" + "--helm-unittest-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--cpu-profile", "--no-cpu-profile"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -82319,32 +111514,39 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-mem-profile", - "config_key": "mem_profile", + "comma_separated_display_args": "--[no-]helm-unittest-color", + "config_key": "color", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-mem-profile"], - "env_var": "PANTS_GO_TEST_MEM_PROFILE", + "display_args": [ + "--[no-]helm-unittest-color" + ], + "env_var": "PANTS_HELM_UNITTEST_COLOR", "fromfile": false, - "help": "Capture an allocation profile from the execution of the test runner after tests have passed. The profile will be written to the file `mem.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", + "help": "Enforce printing colored output even if stdout is not a tty.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-mem-profile", - "--no-go-test-mem-profile" + "--helm-unittest-color", + "--no-helm-unittest-color" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--mem-profile", "--no-mem-profile"], + "unscoped_cmd_line_args": [ + "--color", + "--no-color" + ], "value_history": { "ranked_values": [ { @@ -82361,26 +111563,33 @@ } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-mutex-profile", - "config_key": "mutex_profile", - "default": false, + "choices": [ + "XUnit", + "NUnit", + "JUnit" + ], + "comma_separated_choices": "XUnit, NUnit, JUnit", + "comma_separated_display_args": "--helm-unittest-output-type=", + "config_key": "output_type", + "default": "XUnit", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-mutex-profile"], - "env_var": "PANTS_GO_TEST_MUTEX_PROFILE", + "display_args": [ + "--helm-unittest-output-type=" + ], + "env_var": "PANTS_HELM_UNITTEST_OUTPUT_TYPE", "fromfile": false, - "help": "Capture a mutex contention profile from the execution of the test runner when all tests are complete. The profile will be written to the file `mutex.out` in the test extra output directory. The test binary will also be written to the test extra output directory.", + "help": "Output type used for the test report.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--go-test-mutex-profile", - "--no-go-test-mutex-profile" + "--helm-unittest-output-type" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--mutex-profile", "--no-mutex-profile"], + "typ": "HelmUnitTestReportFormat", + "unscoped_cmd_line_args": [ + "--output-type" + ], "value_history": { "ranked_values": [ { @@ -82391,7 +111600,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "XUnit" } ] } @@ -82399,21 +111608,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]go-test-trace", - "config_key": "trace", + "comma_separated_display_args": "--[no-]helm-unittest-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]go-test-trace"], - "env_var": "PANTS_GO_TEST_TRACE", + "display_args": [ + "--[no-]helm-unittest-skip" + ], + "env_var": "PANTS_HELM_UNITTEST_SKIP", "fromfile": false, - "help": "Capture an execution trace from the execution of the test runner. The trace will be written to the file `trace.out` in the test extra output directory.", + "help": "If true, don't use helmunittestsubsystem when running `pants test`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--go-test-trace", "--no-go-test-trace"], + "scoped_cmd_line_args": [ + "--helm-unittest-skip", + "--no-helm-unittest-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--trace", "--no-trace"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -82432,43 +111649,73 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Options for Go tests.", + "description": "BDD styled unit test framework for Kubernetes Helm charts as a Helm plugin. (https://github.com/helm-unittest)", "is_goal": false, - "provider": "pants.backend.experimental.go", - "scope": "go-test" + "provider": "pants.backend.experimental.helm", + "scope": "helm-unittest" }, - "gofmt": { + "help": { "advanced": [], - "basic": [ + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Display usage message.", + "is_goal": true, + "provider": "pants.goal", + "scope": "help" + }, + "help-advanced": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Help for advanced options.", + "is_goal": true, + "provider": "pants.goal", + "scope": "help-advanced" + }, + "help-all": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Print a JSON object containing all help info.", + "is_goal": true, + "provider": "pants.goal", + "scope": "help-all" + }, + "ipython": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]gofmt-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--ipython-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]gofmt-skip"], - "env_var": "PANTS_GOFMT_SKIP", + "display_args": [ + "--ipython-install-from-resolve=" + ], + "env_var": "PANTS_IPYTHON_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If true, don't use gofmt when running `pants fmt` and `pants lint`.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--gofmt-skip", "--no-gofmt-skip"], + "scoped_cmd_line_args": [ + "--ipython-install-from-resolve" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } @@ -82476,21 +111723,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--gofmt-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--ipython-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--gofmt-args=\"[, , ...]\""], - "env_var": "PANTS_GOFMT_ARGS", + "display_args": [ + "--ipython-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_IPYTHON_REQUIREMENTS", "fromfile": false, - "help": "Arguments to pass directly to gofmt, e.g. `--gofmt-args='-s -e'`.\n\nOnly the following style related options are supported: `-e`, `-r`, `-s`.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--gofmt-args"], + "scoped_cmd_line_args": [ + "--ipython-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -82505,40 +111758,30 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Gofmt-specific options.", - "is_goal": false, - "provider": "pants.backend.experimental.go", - "scope": "gofmt" - }, - "golang": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]golang-tailor-go-mod-targets", - "config_key": "tailor_go_mod_targets", - "default": true, + "comma_separated_display_args": "--ipython-console-script=", + "config_key": "console_script", + "default": "ipython", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]golang-tailor-go-mod-targets"], - "env_var": "PANTS_GOLANG_TAILOR_GO_MOD_TARGETS", + "display_args": [ + "--ipython-console-script=" + ], + "env_var": "PANTS_IPYTHON_CONSOLE_SCRIPT", "fromfile": false, - "help": "If true, add a `go_mod` target with the `tailor` goal wherever there is a `go.mod` file.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--golang-tailor-go-mod-targets", - "--no-golang-tailor-go-mod-targets" + "--ipython-console-script" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--tailor-go-mod-targets", - "--no-tailor-go-mod-targets" + "--console-script" ], "value_history": { "ranked_values": [ @@ -82550,7 +111793,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "ipython" } ] } @@ -82558,26 +111801,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]golang-tailor-package-targets", - "config_key": "tailor_package_targets", - "default": true, + "comma_separated_display_args": "--ipython-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]golang-tailor-package-targets"], - "env_var": "PANTS_GOLANG_TAILOR_PACKAGE_TARGETS", + "display_args": [ + "--ipython-entry-point=" + ], + "env_var": "PANTS_IPYTHON_ENTRY_POINT", "fromfile": false, - "help": "If true, add a `go_package` target with the `tailor` goal in every directory with a `.go` file.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--golang-tailor-package-targets", - "--no-golang-tailor-package-targets" + "--ipython-entry-point" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--tailor-package-targets", - "--no-tailor-package-targets" + "--entry-point" ], "value_history": { "ranked_values": [ @@ -82585,11 +111828,6 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } @@ -82597,26 +111835,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]golang-tailor-binary-targets", - "config_key": "tailor_binary_targets", + "comma_separated_display_args": "--[no-]ipython-ignore-cwd", + "config_key": "ignore_cwd", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]golang-tailor-binary-targets"], - "env_var": "PANTS_GOLANG_TAILOR_BINARY_TARGETS", + "display_args": [ + "--[no-]ipython-ignore-cwd" + ], + "env_var": "PANTS_IPYTHON_IGNORE_CWD", "fromfile": false, - "help": "If true, add a `go_binary` target with the `tailor` goal in every directory with a `.go` file with `package main`.", + "help": "Whether to tell IPython not to put the CWD on the import path.\n\nNormally you want this to be True, so that imports come from the hermetic environment Pants creates.\n\nHowever IPython<7.13.0 doesn't support this option, so if you're using an earlier version (e.g., because you have Python 2.7 code) then you will need to set this to False, and you may have issues with imports from your CWD shading the hermetic environment.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--golang-tailor-binary-targets", - "--no-golang-tailor-binary-targets" + "--ipython-ignore-cwd", + "--no-ipython-ignore-cwd" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-binary-targets", - "--no-tailor-binary-targets" + "--ignore-cwd", + "--no-ignore-cwd" ], "value_history": { "ranked_values": [ @@ -82632,36 +111872,48 @@ } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "The IPython enhanced REPL (https://ipython.org/).", + "is_goal": false, + "provider": "pants.backend.python", + "scope": "ipython" + }, + "isort": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-asdf-tool-name=", - "config_key": "asdf_tool_name", - "default": "go-sdk", + "comma_separated_display_args": "--isort-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-asdf-tool-name="], - "env_var": "PANTS_GOLANG_ASDF_TOOL_NAME", + "display_args": [ + "--isort-install-from-resolve=" + ], + "env_var": "PANTS_ISORT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "The ASDF tool name to use when searching for installed Go distributions using the ASDF tool manager (https://asdf-vm.com/). The default value for this option is for the `go-sdk` ASDF plugin (https://github.com/yacchi/asdf-go-sdk.git). There are other plugins. If you wish to use one of them, then set this option to the ASDF tool name under which that other plugin was installed into ASDF.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--golang-asdf-tool-name"], + "scoped_cmd_line_args": [ + "--isort-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--asdf-tool-name"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "go-sdk" } ] } @@ -82669,32 +111921,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-asdf-bin-relpath=", - "config_key": "asdf_bin_relpath", - "default": "bin", + "comma_separated_display_args": "--isort-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-asdf-bin-relpath="], - "env_var": "PANTS_GOLANG_ASDF_BIN_RELPATH", + "display_args": [ + "--isort-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_ISORT_REQUIREMENTS", "fromfile": false, - "help": "The path relative to an ASDF install directory to use to find the `bin` directory within an installed Go distribution. The default value for this option works for the `go-sdk` ASDF plugin. Other ASDF plugins that install Go may have a different relative path to use.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-asdf-bin-relpath"], + "scoped_cmd_line_args": [ + "--isort-requirements" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--asdf-bin-relpath"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "bin" + "value": [] } ] } @@ -82702,23 +111960,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-subprocess-env-vars=\"['', '', ...]\"", - "config_key": "subprocess_env_vars", - "default": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"], + "comma_separated_display_args": "--isort-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--golang-subprocess-env-vars=\"['', '', ...]\"" + "--isort-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_GOLANG_SUBPROCESS_ENV_VARS", + "env_var": "PANTS_ISORT_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Environment variables to set when invoking the `go` tool. 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.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-subprocess-env-vars"], - "target_field_name": "golang_subprocess_env_vars", + "scoped_cmd_line_args": [ + "--isort-interpreter-constraints" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--subprocess-env-vars"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -82729,7 +111993,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["LANG", "LC_CTYPE", "LC_ALL", "PATH"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -82737,21 +112003,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-gcc-binary-name=", - "config_key": "cgo_gcc_binary_name", - "default": "gcc", + "comma_separated_display_args": "--isort-console-script=", + "config_key": "console_script", + "default": "isort", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-gcc-binary-name="], - "env_var": "PANTS_GOLANG_CGO_GCC_BINARY_NAME", + "display_args": [ + "--isort-console-script=" + ], + "env_var": "PANTS_ISORT_CONSOLE_SCRIPT", "fromfile": false, - "help": "Name of the tool to use to compile C code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-gcc-binary-name"], - "target_field_name": "golang_cgo_gcc_binary_name", + "scoped_cmd_line_args": [ + "--isort-console-script" + ], + "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--cgo-gcc-binary-name"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -82762,7 +112034,7 @@ { "details": null, "rank": "HARDCODED", - "value": "gcc" + "value": "isort" } ] } @@ -82770,32 +112042,33 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-gxx-binary-name=", - "config_key": "cgo_gxx_binary_name", - "default": "g++", + "comma_separated_display_args": "--isort-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-gxx-binary-name="], - "env_var": "PANTS_GOLANG_CGO_GXX_BINARY_NAME", + "display_args": [ + "--isort-entry-point=" + ], + "env_var": "PANTS_ISORT_ENTRY_POINT", "fromfile": false, - "help": "Name of the tool to use to compile C++ code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-gxx-binary-name"], - "target_field_name": "golang_cgo_gxx_binary_name", + "scoped_cmd_line_args": [ + "--isort-entry-point" + ], + "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--cgo-gxx-binary-name"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "g++" } ] } @@ -82803,32 +112076,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-fortran-binary-name=", - "config_key": "cgo_fortran_binary_name", - "default": "gfortran", + "comma_separated_display_args": "--isort-config=\"[, , ...]\"", + "config_key": "config", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-fortran-binary-name="], - "env_var": "PANTS_GOLANG_CGO_FORTRAN_BINARY_NAME", + "display_args": [ + "--isort-config=\"[, , ...]\"" + ], + "env_var": "PANTS_ISORT_CONFIG", "fromfile": false, - "help": "Name of the tool to use to compile fortran code included via CGo in a Go package. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", + "help": "Path to config file understood by isort (https://pycqa.github.io/isort/docs/configuration/config_files/).\n\nSetting this option will disable `[isort].config_discovery`. Use this option if the config is located in a non-standard location.\n\nIf using isort 5+ and you specify only 1 config file, Pants will configure isort's argv to point to your config file.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-fortran-binary-name"], - "target_field_name": "golang_cgo_fortran_binary_name", - "typ": "str", - "unscoped_cmd_line_args": ["--cgo-fortran-binary-name"], + "scoped_cmd_line_args": [ + "--isort-config" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "gfortran" + "value": [] } ] } @@ -82836,21 +112115,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-external-linker-binary-name=", - "config_key": "external_linker_binary_name", - "default": "gcc", + "comma_separated_display_args": "--[no-]isort-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-external-linker-binary-name="], - "env_var": "PANTS_GOLANG_EXTERNAL_LINKER_BINARY_NAME", + "display_args": [ + "--[no-]isort-config-discovery" + ], + "env_var": "PANTS_ISORT_CONFIG_DISCOVERY", "fromfile": false, - "help": "Name of the tool to use as the \"external linker\" when invoking `go tool link`. Pants will search for the tool using the paths specified by the `[golang].cgo_tool_search_paths` option.", + "help": "If true, Pants will include any relevant config files during runs (`.isort.cfg`, `pyproject.toml`, `setup.cfg`, `tox.ini` and `.editorconfig`).\n\nUse `[isort].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-external-linker-binary-name"], - "target_field_name": "golang_external_linker_binary_name", - "typ": "str", - "unscoped_cmd_line_args": ["--external-linker-binary-name"], + "scoped_cmd_line_args": [ + "--isort-config-discovery", + "--no-isort-config-discovery" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -82861,40 +112148,50 @@ { "details": null, "rank": "HARDCODED", - "value": "gcc" + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-c-flags=\"['', '', ...]\"", - "config_key": "cgo_c_flags", - "default": ["-g", "-O2"], + "comma_separated_display_args": "--[no-]isort-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-cgo-c-flags=\"['', '', ...]\""], - "env_var": "PANTS_GOLANG_CGO_C_FLAGS", + "display_args": [ + "--[no-]isort-skip" + ], + "env_var": "PANTS_ISORT_SKIP", "fromfile": false, - "help": "Compiler options used when compiling C code when Cgo is enabled. Equivalent to setting the CGO_CFLAGS environment variable when invoking `go`.", + "help": "If true, don't use isort when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-c-flags"], - "target_field_name": "golang_cgo_c_flags", - "typ": "list", - "unscoped_cmd_line_args": ["--cgo-c-flags"], + "scoped_cmd_line_args": [ + "--isort-skip", + "--no-isort-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["-g", "-O2"] + "value": false } ] } @@ -82902,23 +112199,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-cxx-flags=\"['', '', ...]\"", - "config_key": "cgo_cxx_flags", - "default": ["-g", "-O2"], + "comma_separated_display_args": "--isort-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--golang-cgo-cxx-flags=\"['', '', ...]\"" + "--isort-args=\"[, , ...]\"" ], - "env_var": "PANTS_GOLANG_CGO_CXX_FLAGS", + "env_var": "PANTS_ISORT_ARGS", "fromfile": false, - "help": "Compiler options used when compiling C++ code when Cgo is enabled. Equivalent to setting the CGO_CXXFLAGS environment variable when invoking `go`.", + "help": "Arguments to pass directly to isort, e.g. `--isort-args='--case-sensitive --trailing-comma'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-cxx-flags"], - "target_field_name": "golang_cgo_cxx_flags", + "scoped_cmd_line_args": [ + "--isort-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--cgo-cxx-flags"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -82929,42 +112230,56 @@ { "details": "", "rank": "HARDCODED", - "value": ["-g", "-O2"] + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Python import sorter tool (https://pycqa.github.io/isort/).", + "is_goal": false, + "provider": "pants.backend.python.lint.isort", + "scope": "isort" + }, + "jarjar": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-fortran-flags=\"['', '', ...]\"", - "config_key": "cgo_fortran_flags", - "default": ["-g", "-O2"], + "comma_separated_display_args": "--jarjar-version=", + "config_key": "version", + "default": "1.8.1", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--golang-cgo-fortran-flags=\"['', '', ...]\"" + "--jarjar-version=" ], - "env_var": "PANTS_GOLANG_CGO_FORTRAN_FLAGS", + "env_var": "PANTS_JARJAR_VERSION", "fromfile": false, - "help": "Compiler options used when compiling Fortran code when Cgo is enabled. Equivalent to setting the CGO_FFLAGS environment variable when invoking `go`.", + "help": "Version string for the tool. This is available for substitution in the `[jarjar].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-fortran-flags"], - "target_field_name": "golang_cgo_fortran_flags", - "typ": "list", - "unscoped_cmd_line_args": ["--cgo-fortran-flags"], + "scoped_cmd_line_args": [ + "--jarjar-version" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["-g", "-O2"] + "value": "1.8.1" } ] } @@ -82972,23 +112287,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-linker-flags=\"['', '', ...]\"", - "config_key": "cgo_linker_flags", - "default": ["-g", "-O2"], + "comma_separated_display_args": "--jarjar-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.eed3si9n.jarjar:jarjar-assembly:{version}" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--golang-cgo-linker-flags=\"['', '', ...]\"" + "--jarjar-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_GOLANG_CGO_LINKER_FLAGS", + "env_var": "PANTS_JARJAR_ARTIFACTS", "fromfile": false, - "help": "Compiler options used when linking native code when Cgo is enabled. Equivalent to setting the CGO_LDFLAGS environment variable when invoking `go`.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[jarjar].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-linker-flags"], - "target_field_name": "golang_cgo_linker_flags", + "scoped_cmd_line_args": [ + "--jarjar-artifacts" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--cgo-linker-flags"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -82999,31 +112320,37 @@ { "details": "", "rank": "HARDCODED", - "value": ["-g", "-O2"] + "value": [ + "com.eed3si9n.jarjar:jarjar-assembly:{version}" + ] } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-minimum-expected-version=", - "config_key": "minimum_expected_version", - "default": "1.17", + "comma_separated_display_args": "--jarjar-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--golang-minimum-expected-version="], - "env_var": "PANTS_GOLANG_MINIMUM_EXPECTED_VERSION", + "display_args": [ + "--jarjar-lockfile=" + ], + "env_var": "PANTS_JARJAR_LOCKFILE", "fromfile": false, - "help": "The minimum Go version the distribution discovered by Pants must support.\n\nFor example, if you set `'1.17'`, then Pants will look for a Go binary that is 1.17+, e.g. 1.17 or 1.18.\n\nYou should still set the Go version for each module in your `go.mod` with the `go` directive.\n\nDo not include the patch version.", + "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.19.0rc5/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": ["--golang-minimum-expected-version"], + "scoped_cmd_line_args": [ + "--jarjar-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--minimum-expected-version"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -83034,7 +112361,7 @@ { "details": null, "rank": "HARDCODED", - "value": "1.17" + "value": "" } ] } @@ -83042,105 +112369,120 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]golang-cgo-enabled", - "config_key": "cgo_enabled", - "default": true, + "comma_separated_display_args": "--jarjar-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]golang-cgo-enabled"], - "env_var": "PANTS_GOLANG_CGO_ENABLED", + "display_args": [ + "--jarjar-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_JARJAR_JVM_OPTIONS", "fromfile": false, - "help": "Enable Cgo support, which allows Go and C code to interact. This option must be enabled for any packages making use of Cgo to actually be compiled with Cgo support.\n\nSee https://go.dev/blog/cgo and https://pkg.go.dev/cmd/cgo for additional information about Cgo.", + "help": "List of JVM options to pass to `jarjar` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--golang-cgo-enabled", - "--no-golang-cgo-enabled" + "--jarjar-jvm-options" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--cgo-enabled", "--no-cgo-enabled"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--golang-go-search-paths=\"['', '', ...]\"", - "config_key": "go_search_paths", - "default": [""], + "comma_separated_display_args": "--[no-]jarjar-skip-manifest", + "config_key": "skip_manifest", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--golang-go-search-paths=\"['', '', ...]\"" + "--[no-]jarjar-skip-manifest" ], - "env_var": "PANTS_GOLANG_GO_SEARCH_PATHS", + "env_var": "PANTS_JARJAR_SKIP_MANIFEST", "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": "Skip the processing of the JAR manifest.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-go-search-paths"], - "target_field_name": "golang_go_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--go-search-paths"], + "scoped_cmd_line_args": [ + "--jarjar-skip-manifest", + "--no-jarjar-skip-manifest" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip-manifest", + "--no-skip-manifest" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": false } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--golang-cgo-tool-search-paths=\"['', '', ...]\"", - "config_key": "cgo_tool_search_paths", - "default": [""], + "choices": [ + "fatal", + "skip", + "omit", + "move" + ], + "comma_separated_choices": "fatal, skip, omit, move", + "comma_separated_display_args": "--jarjar-misplaced-class-strategy=", + "config_key": "misplaced_class_strategy", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--golang-cgo-tool-search-paths=\"['', '', ...]\"" + "--jarjar-misplaced-class-strategy=" ], - "env_var": "PANTS_GOLANG_CGO_TOOL_SEARCH_PATHS", + "env_var": "PANTS_JARJAR_MISPLACED_CLASS_STRATEGY", "fromfile": false, - "help": "A list of paths to search for tools needed by CGo (e.g., gcc, g++).\n\nSpecify absolute paths to directories with tools needed by CGo , 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", + "help": "The strategy to use when processing class files that are in the wrong package.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--golang-cgo-tool-search-paths"], - "target_field_name": "golang_cgo_tool_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--cgo-tool-search-paths"], + "scoped_cmd_line_args": [ + "--jarjar-misplaced-class-strategy" + ], + "target_field_name": null, + "typ": "MisplacedClassStrategy", + "unscoped_cmd_line_args": [ + "--misplaced-class-strategy" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [""] + "value": null } ] } @@ -83148,31 +112490,37 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Options for Golang support.", + "description": "The Jar Jar Abrams tool (https://github.com/eed3si9n/jarjar-abrams)", "is_goal": false, - "provider": "pants.backend.experimental.go", - "scope": "golang" + "provider": "pants.backend.experimental.java", + "scope": "jarjar" }, - "google-java-format": { + "java-avro": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--google-java-format-version=", + "comma_separated_display_args": "--java-avro-version=", "config_key": "version", - "default": "1.13.0", + "default": "1.11.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--google-java-format-version="], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_VERSION", + "display_args": [ + "--java-avro-version=" + ], + "env_var": "PANTS_JAVA_AVRO_VERSION", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[google-java-format].artifacts` option by including the string `{version}`.", + "help": "Version string for the tool. This is available for substitution in the `[java-avro].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--google-java-format-version"], + "scoped_cmd_line_args": [ + "--java-avro-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -83183,7 +112531,7 @@ { "details": null, "rank": "HARDCODED", - "value": "1.13.0" + "value": "1.11.0" } ] } @@ -83191,25 +112539,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--google-java-format-artifacts=\"['', '', ...]\"", + "comma_separated_display_args": "--java-avro-artifacts=\"['', '', ...]\"", "config_key": "artifacts", "default": [ - "com.google.googlejavaformat:google-java-format:{version}" + "org.apache.avro:avro-tools:{version}" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--google-java-format-artifacts=\"['', '', ...]\"" + "--java-avro-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_ARTIFACTS", + "env_var": "PANTS_JAVA_AVRO_ARTIFACTS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[google-java-format].version` option.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[java-avro].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--google-java-format-artifacts"], + "scoped_cmd_line_args": [ + "--java-avro-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -83221,7 +112573,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "com.google.googlejavaformat:google-java-format:{version}" + "org.apache.avro:avro-tools:{version}" ] } ] @@ -83230,21 +112582,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--google-java-format-lockfile=", + "comma_separated_display_args": "--java-avro-lockfile=", "config_key": "lockfile", "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--google-java-format-lockfile="], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_LOCKFILE", + "display_args": [ + "--java-avro-lockfile=" + ], + "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.19.0rc1/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.19.0rc5/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": ["--google-java-format-lockfile"], + "scoped_cmd_line_args": [ + "--java-avro-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -83263,23 +112621,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--google-java-format-jvm-options=\"['', '', ...]\"", + "comma_separated_display_args": "--java-avro-jvm-options=\"['', '', ...]\"", "config_key": "jvm_options", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--google-java-format-jvm-options=\"['', '', ...]\"" + "--java-avro-jvm-options=\"['', '', ...]\"" ], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_JVM_OPTIONS", + "env_var": "PANTS_JAVA_AVRO_JVM_OPTIONS", "fromfile": false, - "help": "List of JVM options to pass to `google-java-format` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "List of JVM options to pass to `java-avro` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--google-java-format-jvm-options"], + "scoped_cmd_line_args": [ + "--java-avro-jvm-options" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { @@ -83296,28 +112658,53 @@ } } ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Avro IDL compiler (https://avro.apache.org/).", + "is_goal": false, + "provider": "pants.backend.experimental.codegen.avro.java", + "scope": "java-avro" + }, + "java-dump-source-analysis": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Dump source analysis for java_source[s] targets.", + "is_goal": true, + "provider": "pants.backend.experimental.java.debug_goals", + "scope": "java-dump-source-analysis" + }, + "java-infer": { + "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]google-java-format-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--[no-]java-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]google-java-format-skip"], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_SKIP", + "display_args": [ + "--[no-]java-infer-imports" + ], + "env_var": "PANTS_JAVA_INFER_IMPORTS", "fromfile": false, - "help": "If true, don't use Google Java Format when running `pants fmt` and `pants lint`.", + "help": "Infer a target's dependencies by parsing import statements from sources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--google-java-format-skip", - "--no-google-java-format-skip" + "--java-infer-imports", + "--no-java-infer-imports" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--imports", + "--no-imports" + ], "value_history": { "ranked_values": [ { @@ -83328,7 +112715,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } @@ -83336,24 +112723,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]google-java-format-aosp", - "config_key": "aosp", - "default": false, + "comma_separated_display_args": "--[no-]java-infer-consumed-types", + "config_key": "consumed_types", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]google-java-format-aosp"], - "env_var": "PANTS_GOOGLE_JAVA_FORMAT_AOSP", + "display_args": [ + "--[no-]java-infer-consumed-types" + ], + "env_var": "PANTS_JAVA_INFER_CONSUMED_TYPES", "fromfile": false, - "help": "Use AOSP style instead of Google Style (4-space indentation). (\"AOSP\" is the Android Open Source Project.)", + "help": "Infer a target's dependencies by parsing consumed types from sources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--google-java-format-aosp", - "--no-google-java-format-aosp" + "--java-infer-consumed-types", + "--no-java-infer-consumed-types" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--aosp", "--no-aosp"], + "unscoped_cmd_line_args": [ + "--consumed-types", + "--no-consumed-types" + ], "value_history": { "ranked_values": [ { @@ -83364,79 +112756,85 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Google Java Format (https://github.com/google/google-java-format)", - "is_goal": false, - "provider": "pants.backend.experimental.java.lint.google_java_format", - "scope": "google-java-format" - }, - "grpc-python-plugin": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--grpc-python-plugin-version=", - "config_key": "version", - "default": "1.32.0", + "comma_separated_display_args": "--java-infer-third-party-import-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "third_party_import_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--grpc-python-plugin-version="], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_VERSION", + "display_args": [ + "--java-infer-third-party-import-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_JAVA_INFER_THIRD_PARTY_IMPORT_MAPPING", "fromfile": false, - "help": "Use this version of grpcpythonplugin.", + "help": "A dictionary mapping a Java package path to a JVM artifact coordinate (GROUP:ARTIFACT) without the version.\n\nSee `jvm_artifact` for more information on the mapping syntax.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--grpc-python-plugin-version"], + "scoped_cmd_line_args": [ + "--java-infer-third-party-import-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--third-party-import-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "1.32.0" + "value": {} } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options controlling which dependencies will be inferred for Java targets.", + "is_goal": false, + "provider": "pants.backend.experimental.java", + "scope": "java-infer" + }, + "java-thrift": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--grpc-python-plugin-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "1.32.0|macos_arm64 |b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", - "1.32.0|macos_x86_64|b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", - "1.32.0|linux_arm64 |9365e728c603d64735963074340994245d324712344f63557ef3630864dd9f52|5233664", - "1.32.0|linux_x86_64|1af99df9bf733c17a75cbe379f3f9d9ff1627d8a8035ea057c3c78575afe1687|4965728" - ], + "comma_separated_display_args": "--java-thrift-options=\"['', '', ...]\"", + "config_key": "options", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--grpc-python-plugin-known-versions=\"['', '', ...]\"" + "--java-thrift-options=\"['', '', ...]\"" ], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_KNOWN_VERSIONS", + "env_var": "PANTS_JAVA_THRIFT_OPTIONS", "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", + "help": "Code generation options specific to the Java code generator to pass to the Apache `thrift` binary via the `-gen java` argument. See `thrift -help` for supported values.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--grpc-python-plugin-known-versions"], + "scoped_cmd_line_args": [ + "--java-thrift-options" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--options" + ], "value_history": { "ranked_values": [ { @@ -83447,34 +112845,47 @@ { "details": "", "rank": "HARDCODED", - "value": [ - "1.32.0|macos_arm64 |b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", - "1.32.0|macos_x86_64|b2db586656463841aa2fd4aab34fb6bd3ef887b522d80e4f2f292146c357f533|6215304", - "1.32.0|linux_arm64 |9365e728c603d64735963074340994245d324712344f63557ef3630864dd9f52|5233664", - "1.32.0|linux_x86_64|1af99df9bf733c17a75cbe379f3f9d9ff1627d8a8035ea057c3c78575afe1687|4965728" - ] + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options specific to generating Java from Thrift using the Apache Thrift generator", + "is_goal": false, + "provider": "pants.backend.experimental.codegen.thrift.apache.java", + "scope": "java-thrift" + }, + "javac": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--grpc-python-plugin-url-template=", - "config_key": "url_template", - "default": "https://binaries.pantsbuild.org/bin/grpc_python_plugin/{version}/{platform}/grpc_python_plugin", + "comma_separated_display_args": "--[no-]javac-tailor-source-targets", + "config_key": "tailor_source_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--grpc-python-plugin-url-template="], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_TEMPLATE", + "display_args": [ + "--[no-]javac-tailor-source-targets" + ], + "env_var": "PANTS_JAVAC_TAILOR_SOURCE_TARGETS", "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/v2.19/docs/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": "If true, add `java_sources` and `java_tests` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--grpc-python-plugin-url-template"], + "scoped_cmd_line_args": [ + "--javac-tailor-source-targets", + "--no-javac-tailor-source-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-source-targets", + "--no-tailor-source-targets" + ], "value_history": { "ranked_values": [ { @@ -83485,122 +112896,86 @@ { "details": null, "rank": "HARDCODED", - "value": "https://binaries.pantsbuild.org/bin/grpc_python_plugin/{version}/{platform}/grpc_python_plugin" + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--grpc-python-plugin-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux/arm64", - "linux_x86_64": "linux/x86_64", - "macos_arm64": "macos/x86_64", - "macos_x86_64": "macos/x86_64" - }, - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--grpc-python-plugin-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" - ], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_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": ["--grpc-python-plugin-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", - "linux_x86_64": "linux/x86_64", - "macos_arm64": "macos/x86_64", - "macos_x86_64": "macos/x86_64" - } - } - ] - } - }, - { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--grpc-python-plugin-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "comma_separated_display_args": "--javac-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--grpc-python-plugin-use-unsupported-version=" + "--javac-args=\"[, , ...]\"" ], - "env_var": "PANTS_GRPC_PYTHON_PLUGIN_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_JAVAC_ARGS", "fromfile": false, - "help": "\nWhat action to take in case the requested version of grpcpythonplugin is not supported.\n\nSupported grpcpythonplugin versions: unspecified\n", + "help": "Arguments to pass directly to javac, e.g. `--javac-args='-g -deprecation'`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--grpc-python-plugin-use-unsupported-version" + "--javac-args" ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": [] } ] } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The gRPC Protobuf plugin for Python.", + "description": "The javac Java source compiler.", "is_goal": false, - "provider": "pants.backend.codegen.protobuf.python", - "scope": "grpc-python-plugin" + "provider": "pants.backend.experimental.java", + "scope": "javac" }, - "hadolint": { + "junit": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-version=", + "comma_separated_display_args": "--junit-version=", "config_key": "version", - "default": "v2.10.0", + "default": "5.7.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--hadolint-version="], - "env_var": "PANTS_HADOLINT_VERSION", + "display_args": [ + "--junit-version=" + ], + "env_var": "PANTS_JUNIT_VERSION", "fromfile": false, - "help": "Use this version of Hadolint.", + "help": "Version string for the tool. This is available for substitution in the `[junit].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-version"], + "scoped_cmd_line_args": [ + "--junit-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -83611,7 +112986,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v2.10.0" + "value": "5.7.2" } ] } @@ -83619,28 +112994,31 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", + "comma_separated_display_args": "--junit-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", "default": [ - "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", - "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", - "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804", - "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520" + "org.junit.platform:junit-platform-console:1.7.2", + "org.junit.jupiter:junit-jupiter-engine:{version}", + "org.junit.vintage:junit-vintage-engine:{version}" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--hadolint-known-versions=\"['', '', ...]\"" + "--junit-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_HADOLINT_KNOWN_VERSIONS", + "env_var": "PANTS_JUNIT_ARTIFACTS", "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", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[junit].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-known-versions"], + "scoped_cmd_line_args": [ + "--junit-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -83652,10 +113030,9 @@ "details": "", "rank": "HARDCODED", "value": [ - "v2.10.0|macos_x86_64|59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", - "v2.10.0|macos_arm64 |59f0523069a857ae918b8ac0774230013f7bcc00c1ea28119c2311353120867a|2514960", - "v2.10.0|linux_x86_64|8ee6ff537341681f9e91bae2d5da451b15c575691e33980893732d866d3cefc4|2301804", - "v2.10.0|linux_arm64 |b53d5ab10707a585c9e72375d51b7357522300b5329cfa3f91e482687176e128|27954520" + "org.junit.platform:junit-platform-console:1.7.2", + "org.junit.jupiter:junit-jupiter-engine:{version}", + "org.junit.vintage:junit-vintage-engine:{version}" ] } ] @@ -83664,21 +113041,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-url-template=", - "config_key": "url_template", - "default": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}", + "comma_separated_display_args": "--junit-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--hadolint-url-template="], - "env_var": "PANTS_HADOLINT_URL_TEMPLATE", + "display_args": [ + "--junit-lockfile=" + ], + "env_var": "PANTS_JUNIT_LOCKFILE", "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/v2.19/docs/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": "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.19.0rc5/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": ["--hadolint-url-template"], + "scoped_cmd_line_args": [ + "--junit-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -83689,7 +113072,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/hadolint/hadolint/releases/download/{version}/hadolint-{platform}" + "value": "" } ] } @@ -83697,107 +113080,80 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "Linux-arm64", - "linux_x86_64": "Linux-x86_64", - "macos_arm64": "Darwin-x86_64", - "macos_x86_64": "Darwin-x86_64" - }, + "comma_separated_display_args": "--junit-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--hadolint-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--junit-jvm-options=\"['', '', ...]\"" ], - "env_var": "PANTS_HADOLINT_URL_PLATFORM_MAPPING", + "env_var": "PANTS_JUNIT_JVM_OPTIONS", "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`.", + "help": "List of JVM options to pass to `junit` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--junit-jvm-options" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "linux_arm64": "Linux-arm64", - "linux_x86_64": "Linux-x86_64", - "macos_arm64": "Darwin-x86_64", - "macos_x86_64": "Darwin-x86_64" - } + "value": [] } ] } - }, + } + ], + "basic": [ { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--hadolint-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--junit-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--hadolint-use-unsupported-version=" + "--junit-args=\"[, , ...]\"", + "... -- [ [ [...]]]" ], - "env_var": "PANTS_HADOLINT_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_JUNIT_ARGS", "fromfile": false, - "help": "\nWhat action to take in case the requested version of Hadolint is not supported.\n\nSupported Hadolint versions: unspecified\n", + "help": "Arguments to pass directly to JUnit, e.g. `--junit-args='--disable-ansi-colors'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--junit-args" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-config=", - "config_key": "config", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--hadolint-config="], - "env_var": "PANTS_HADOLINT_CONFIG", - "fromfile": false, - "help": "Path to an YAML config file understood by Hadolint (https://github.com/hadolint/hadolint#configure).\n\nSetting this option will disable `[hadolint].config_discovery`. Use this option if the config is located in a non-standard location.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-config"], - "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null + "value": [] } ] } @@ -83805,26 +113161,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]hadolint-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]junit-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]hadolint-config-discovery"], - "env_var": "PANTS_HADOLINT_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]junit-skip" + ], + "env_var": "PANTS_JUNIT_SKIP", "fromfile": false, - "help": "If true, Pants will include all relevant config files during runs (`.hadolint.yaml` and `.hadolint.yml`).\n\nUse `[hadolint].config` instead if your config is in a non-standard location.", + "help": "If true, don't use JUnit when running `pants test`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--hadolint-config-discovery", - "--no-hadolint-config-discovery" + "--junit-skip", + "--no-junit-skip" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--skip", + "--no-skip" ], "value_history": { "ranked_values": [ @@ -83836,31 +113194,45 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "The JUnit test framework (https://junit.org)", + "is_goal": false, + "provider": "pants.backend.experimental.java", + "scope": "junit" + }, + "jvm": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]hadolint-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--jvm-tool-jdk=", + "config_key": "tool_jdk", + "default": "temurin:1.11", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]hadolint-skip"], - "env_var": "PANTS_HADOLINT_SKIP", + "display_args": [ + "--jvm-tool-jdk=" + ], + "env_var": "PANTS_JVM_TOOL_JDK", "fromfile": false, - "help": "If true, don't use Hadolint when running `pants lint`.", + "help": "The JDK to use when building and running Pants' internal JVM support code and other non-compiler tools. See `jvm` help for supported values.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-skip", "--no-hadolint-skip"], + "scoped_cmd_line_args": [ + "--jvm-tool-jdk" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--tool-jdk" + ], "value_history": { "ranked_values": [ { @@ -83871,7 +113243,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "temurin:1.11" } ] } @@ -83879,66 +113251,68 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--hadolint-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--jvm-jdk=", + "config_key": "jdk", + "default": "temurin:1.11", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--hadolint-args=\"[, , ...]\"" + "--jvm-jdk=" ], - "env_var": "PANTS_HADOLINT_ARGS", + "env_var": "PANTS_JVM_JDK", "fromfile": false, - "help": "Arguments to pass directly to Hadolint, e.g. `--hadolint-args='--format json'`.", + "help": "The JDK to use.\n\nThis string will be passed directly to Coursier's `--jvm` parameter. Run `cs java --available` to see a list of available JVM versions on your platform.\n\nIf the string `'system'` is passed, Coursier's `--system-jvm` option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--hadolint-args"], + "scoped_cmd_line_args": [ + "--jvm-jdk" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--jdk" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "temurin:1.11" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "A linter for Dockerfiles.", - "is_goal": false, - "provider": "pants.backend.docker.lint.hadolint", - "scope": "hadolint" - }, - "helm": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-version=", - "config_key": "version", - "default": "3.12.3", + "comma_separated_display_args": "--[no-]jvm-reproducible-jars", + "config_key": "reproducible_jars", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-version="], - "env_var": "PANTS_HELM_VERSION", + "display_args": [ + "--[no-]jvm-reproducible-jars" + ], + "env_var": "PANTS_JVM_REPRODUCIBLE_JARS", "fromfile": false, - "help": "Use this version of helmsubsystem.", + "help": "When enabled, JAR files produced by JVM tools will have timestamps stripped.\n\nBecause some compilers do not support this step as a native operation, it can have a performance cost, and is not enabled by default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-version"], + "scoped_cmd_line_args": [ + "--jvm-reproducible-jars", + "--no-jvm-reproducible-jars" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--reproducible-jars", + "--no-reproducible-jars" + ], "value_history": { "ranked_values": [ { @@ -83949,7 +113323,7 @@ { "details": null, "rank": "HARDCODED", - "value": "3.12.3" + "value": false } ] } @@ -83957,90 +113331,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "3.12.3|linux_arm64|79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088|14355040", - "3.12.3|linux_x86_64|1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5|16028423", - "3.12.3|macos_arm64|240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1|16019570", - "3.12.3|macos_x86_64|1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47|16828211", - "3.12.2|linux_arm64|cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759|14350624", - "3.12.2|linux_x86_64|2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219|16028750", - "3.12.2|macos_arm64|b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55|16021202", - "3.12.2|macos_x86_64|6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e|16824814", - "3.11.3|linux_arm64|0816db0efd033c78c3cc1c37506967947b01965b9c0739fe13ec2b1eea08f601|14475471", - "3.11.3|linux_x86_64|ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89|15489735", - "3.11.3|macos_arm64|267e4d50b68e8854b9cc44517da9ab2f47dec39787fed9f7eba42080d61ac7f8|15451086", - "3.11.3|macos_x86_64|9d029df37664b50e427442a600e4e065fa75fd74dac996c831ac68359654b2c4|16275303", - "3.11.2|linux_arm64|444b65100e224beee0a3a3a54cb19dad37388fa9217ab2782ba63551c4a2e128|14090242", - "3.11.2|linux_x86_64|781d826daec584f9d50a01f0f7dadfd25a3312217a14aa2fbb85107b014ac8ca|15026301", - "3.11.2|macos_arm64|f61a3aa55827de2d8c64a2063fd744b618b443ed063871b79f52069e90813151|14932800", - "3.11.2|macos_x86_64|404938fd2c6eff9e0dab830b0db943fca9e1572cd3d7ee40904705760faa390f|15759988", - "3.11.1|linux_arm64 |919173e8fb7a3b54d76af9feb92e49e86d5a80c5185020bae8c393fa0f0de1e8|13484900", - "3.11.1|linux_x86_64|0b1be96b66fab4770526f136f5f1a385a47c41923d33aab0dcb500e0f6c1bf7c|15023104", - "3.11.1|macos_arm64 |43d0198a7a2ea2639caafa81bb0596c97bee2d4e40df50b36202343eb4d5c46b|14934852", - "3.11.1|macos_x86_64|2548a90e5cc957ccc5016b47060665a9d2cd4d5b4d61dcc32f5de3144d103826|15757902", - "3.10.0|linux_arm64 |3b72f5f8a60772fb156d0a4ab93272e8da7ef4d18e6421a7020d7c019f521fc1|13055719", - "3.10.0|linux_x86_64|bf56beb418bb529b5e0d6d43d56654c5a03f89c98400b409d1013a33d9586474|14530566", - "3.10.0|macos_arm64 |f7f6558ebc8211824032a7fdcf0d55ad064cb33ec1eeec3d18057b9fe2e04dbe|14446277", - "3.10.0|macos_x86_64|1e7fd528482ac2ef2d79fe300724b3e07ff6f846a2a9b0b0fe6f5fa05691786b|15237557", - "3.8.0|linux_arm64 |23e08035dc0106fe4e0bd85800fd795b2b9ecd9f32187aa16c49b0a917105161|12324642", - "3.8.0|linux_x86_64|8408c91e846c5b9ba15eb6b1a5a79fc22dd4d33ac6ea63388e5698d1b2320c8b|13626774", - "3.8.0|macos_arm64 |751348f1a4a876ffe089fd68df6aea310fd05fe3b163ab76aa62632e327122f3|14078604", - "3.8.0|macos_x86_64|532ddd6213891084873e5c2dcafa577f425ca662a6594a3389e288fc48dc2089|14318316" - ], + "comma_separated_display_args": "--jvm-nailgun-remote-cache-speculation-delay=", + "config_key": "nailgun_remote_cache_speculation_delay", + "default": 1000, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_HELM_KNOWN_VERSIONS", + "display_args": [ + "--jvm-nailgun-remote-cache-speculation-delay=" + ], + "env_var": "PANTS_JVM_NAILGUN_REMOTE_CACHE_SPECULATION_DELAY", "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", + "help": "The time in milliseconds to delay speculation of nailgun processes while reading from the remote cache.\n\nWhen speculating, a remote cache hit will cancel the local copy of a process. But because nailgun does not natively support cancellation, that requires killing a nailgun server, which will mean that future processes take longer to warm up.\n\nThis setting allows for trading off waiting for potentially slow cache entries against potentially having to warm up a new nailgun server.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-known-versions"], + "scoped_cmd_line_args": [ + "--jvm-nailgun-remote-cache-speculation-delay" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--nailgun-remote-cache-speculation-delay" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "3.12.3|linux_arm64|79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088|14355040", - "3.12.3|linux_x86_64|1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5|16028423", - "3.12.3|macos_arm64|240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1|16019570", - "3.12.3|macos_x86_64|1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47|16828211", - "3.12.2|linux_arm64|cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759|14350624", - "3.12.2|linux_x86_64|2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219|16028750", - "3.12.2|macos_arm64|b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55|16021202", - "3.12.2|macos_x86_64|6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e|16824814", - "3.11.3|linux_arm64|0816db0efd033c78c3cc1c37506967947b01965b9c0739fe13ec2b1eea08f601|14475471", - "3.11.3|linux_x86_64|ca2d5d40d4cdfb9a3a6205dd803b5bc8def00bd2f13e5526c127e9b667974a89|15489735", - "3.11.3|macos_arm64|267e4d50b68e8854b9cc44517da9ab2f47dec39787fed9f7eba42080d61ac7f8|15451086", - "3.11.3|macos_x86_64|9d029df37664b50e427442a600e4e065fa75fd74dac996c831ac68359654b2c4|16275303", - "3.11.2|linux_arm64|444b65100e224beee0a3a3a54cb19dad37388fa9217ab2782ba63551c4a2e128|14090242", - "3.11.2|linux_x86_64|781d826daec584f9d50a01f0f7dadfd25a3312217a14aa2fbb85107b014ac8ca|15026301", - "3.11.2|macos_arm64|f61a3aa55827de2d8c64a2063fd744b618b443ed063871b79f52069e90813151|14932800", - "3.11.2|macos_x86_64|404938fd2c6eff9e0dab830b0db943fca9e1572cd3d7ee40904705760faa390f|15759988", - "3.11.1|linux_arm64 |919173e8fb7a3b54d76af9feb92e49e86d5a80c5185020bae8c393fa0f0de1e8|13484900", - "3.11.1|linux_x86_64|0b1be96b66fab4770526f136f5f1a385a47c41923d33aab0dcb500e0f6c1bf7c|15023104", - "3.11.1|macos_arm64 |43d0198a7a2ea2639caafa81bb0596c97bee2d4e40df50b36202343eb4d5c46b|14934852", - "3.11.1|macos_x86_64|2548a90e5cc957ccc5016b47060665a9d2cd4d5b4d61dcc32f5de3144d103826|15757902", - "3.10.0|linux_arm64 |3b72f5f8a60772fb156d0a4ab93272e8da7ef4d18e6421a7020d7c019f521fc1|13055719", - "3.10.0|linux_x86_64|bf56beb418bb529b5e0d6d43d56654c5a03f89c98400b409d1013a33d9586474|14530566", - "3.10.0|macos_arm64 |f7f6558ebc8211824032a7fdcf0d55ad064cb33ec1eeec3d18057b9fe2e04dbe|14446277", - "3.10.0|macos_x86_64|1e7fd528482ac2ef2d79fe300724b3e07ff6f846a2a9b0b0fe6f5fa05691786b|15237557", - "3.8.0|linux_arm64 |23e08035dc0106fe4e0bd85800fd795b2b9ecd9f32187aa16c49b0a917105161|12324642", - "3.8.0|linux_x86_64|8408c91e846c5b9ba15eb6b1a5a79fc22dd4d33ac6ea63388e5698d1b2320c8b|13626774", - "3.8.0|macos_arm64 |751348f1a4a876ffe089fd68df6aea310fd05fe3b163ab76aa62632e327122f3|14078604", - "3.8.0|macos_x86_64|532ddd6213891084873e5c2dcafa577f425ca662a6594a3389e288fc48dc2089|14318316" - ] + "value": 1000 } ] } @@ -84048,61 +113370,70 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-url-template=", - "config_key": "url_template", - "default": "https://get.helm.sh/helm-v{version}-{platform}.tar.gz", + "comma_separated_display_args": "--jvm-global-options=\"['', '', ...]\"", + "config_key": "global_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-url-template="], - "env_var": "PANTS_HELM_URL_TEMPLATE", + "display_args": [ + "--jvm-global-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_JVM_GLOBAL_OPTIONS", "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/v2.19/docs/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": "List of JVM options to pass to all JVM processes.\n\nOptions set here will be used by any JVM processes required by Pants, with the exception of heap memory settings like `-Xmx`, which need to be set using `[GLOBAL].process_total_child_memory_usage` and `[GLOBAL].process_per_child_memory_usage`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-url-template"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "scoped_cmd_line_args": [ + "--jvm-global-options" + ], + "target_field_name": "jvm_global_options", + "typ": "list", + "unscoped_cmd_line_args": [ + "--global-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "https://get.helm.sh/helm-v{version}-{platform}.tar.gz" + "value": [] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", + "comma_separated_display_args": "--jvm-resolves=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves", "default": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-amd64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-amd64" + "jvm-default": "3rdparty/jvm/default.lock" }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--jvm-resolves=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_HELM_URL_PLATFORM_MAPPING", + "env_var": "PANTS_JVM_RESOLVES", "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`.", + "help": "A dictionary mapping resolve names to the path of their lockfile.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--jvm-resolves" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--resolves" + ], "value_history": { "ranked_values": [ { @@ -84114,35 +113445,36 @@ "details": "", "rank": "HARDCODED", "value": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-amd64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-amd64" + "jvm-default": "3rdparty/jvm/default.lock" } } ] } }, { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--helm-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--jvm-default-resolve=", + "config_key": "default_resolve", + "default": "jvm-default", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-use-unsupported-version=" + "--jvm-default-resolve=" ], - "env_var": "PANTS_HELM_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_JVM_DEFAULT_RESOLVE", "fromfile": false, - "help": "\nWhat action to take in case the requested version of helmsubsystem is not supported.\n\nSupported helmsubsystem versions: unspecified\n", + "help": "The default value used for the `resolve` and `compatible_resolves` fields.\n\nThe name must be defined as a resolve in `[jvm].resolves`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--jvm-default-resolve" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--default-resolve" + ], "value_history": { "ranked_values": [ { @@ -84153,7 +113485,7 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": "jvm-default" } ] } @@ -84161,21 +113493,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-extra-env-vars=\"['', '', ...]\"", - "config_key": "extra_env_vars", + "comma_separated_display_args": "--jvm-debug-args=\"['', '', ...]\"", + "config_key": "debug_args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-extra-env-vars=\"['', '', ...]\""], - "env_var": "PANTS_HELM_EXTRA_ENV_VARS", + "display_args": [ + "--jvm-debug-args=\"['', '', ...]\"" + ], + "env_var": "PANTS_JVM_DEBUG_ARGS", "fromfile": false, - "help": "Additional environment variables that would be made available to all Helm processes or during value interpolation.", + "help": "Extra JVM arguments to use when running tests in debug mode.\n\nFor example, if you want to attach a remote debugger, use something like `['-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005']`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-extra-env-vars"], + "scoped_cmd_line_args": [ + "--jvm-debug-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--extra-env-vars"], + "unscoped_cmd_line_args": [ + "--debug-args" + ], "value_history": { "ranked_values": [ { @@ -84190,66 +113528,52 @@ } ] } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-tailor-charts", - "config_key": "tailor_charts", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]helm-tailor-charts"], - "env_var": "PANTS_HELM_TAILOR_CHARTS", - "fromfile": false, - "help": "If true, add `helm_chart` targets with the `tailor` goal.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": [ - "--helm-tailor-charts", - "--no-helm-tailor-charts" - ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor-charts", "--no-tailor-charts"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true - } - ] - } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for general JVM functionality.\n\nJDK strings will be passed directly to Coursier's `--jvm` parameter. Run `cs java --available` to see a list of available JVM versions on your platform.\n\nIf the string `'system'` is passed, Coursier's `--system-jvm` option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.", + "is_goal": false, + "provider": "pants.backend.experimental.java", + "scope": "jvm" + }, + "jvm-symbol-map": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Dump the JVM dependency inference symbol mapping.", + "is_goal": true, + "provider": "pants.backend.experimental.java.debug_goals", + "scope": "jvm-symbol-map" + }, + "kotlin": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-tailor-unittests", - "config_key": "tailor_unittests", + "comma_separated_display_args": "--[no-]kotlin-tailor-source-targets", + "config_key": "tailor_source_targets", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]helm-tailor-unittests"], - "env_var": "PANTS_HELM_TAILOR_UNITTESTS", + "display_args": [ + "--[no-]kotlin-tailor-source-targets" + ], + "env_var": "PANTS_KOTLIN_TAILOR_SOURCE_TARGETS", "fromfile": false, - "help": "If true, add `helm_unittest_tests` targets with the `tailor` goal.", + "help": "If true, add `kotlin_sources` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-tailor-unittests", - "--no-helm-tailor-unittests" + "--kotlin-tailor-source-targets", + "--no-kotlin-tailor-source-targets" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-unittests", - "--no-tailor-unittests" + "--tailor-source-targets", + "--no-tailor-source-targets" ], "value_history": { "ranked_values": [ @@ -84271,23 +113595,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-registries=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "registries", + "comma_separated_display_args": "--kotlin-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "version_for_resolve", "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-registries=\"{'key1': val1, 'key2': val2, ...}\"" + "--kotlin-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_HELM_REGISTRIES", - "fromfile": true, - "help": "Configure Helm OCI registries. The schema for a registry entry is as follows:\n\n {\n \"registry-alias\": {\n \"address\": \"oci://registry-domain:port\",\n \"default\": bool,\n },\n ...\n }\n\nIf no registries are provided in either a `helm_chart` target, then all default addresses will be used, if any.\n\nThe `helm_chart.registries` may be provided with a list of registry addresses and registry alias prefixed with `@` to be used instead of the defaults.\n\nA configured registry is marked as default either by setting `default = true` or with an alias of `\"default\"`.\n\nRegistries also participate in resolving third party Helm charts uplodaded to those registries.", + "env_var": "PANTS_KOTLIN_VERSION_FOR_RESOLVE", + "fromfile": false, + "help": "A dictionary mapping the name of a resolve to the Kotlin version to use for all Kotlin targets consuming that resolve.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-registries"], + "scoped_cmd_line_args": [ + "--kotlin-version-for-resolve" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--registries"], + "unscoped_cmd_line_args": [ + "--version-for-resolve" + ], "value_history": { "ranked_values": [ { @@ -84302,28 +113630,54 @@ } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Kotlin programming language (https://kotlinlang.org/).", + "is_goal": false, + "provider": "pants.backend.experimental.kotlin", + "scope": "kotlin" + }, + "kotlin-dump-source-analysis": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Dump source analysis for kotlin_source targets.", + "is_goal": true, + "provider": "pants.backend.experimental.kotlin.debug_goals", + "scope": "kotlin-dump-source-analysis" + }, + "kotlin-infer": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-lint-strict", - "config_key": "lint_strict", - "default": false, + "comma_separated_display_args": "--[no-]kotlin-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]helm-lint-strict"], - "env_var": "PANTS_HELM_LINT_STRICT", + "display_args": [ + "--[no-]kotlin-infer-imports" + ], + "env_var": "PANTS_KOTLIN_INFER_IMPORTS", "fromfile": false, - "help": "Enables strict linting of Helm charts", + "help": "Infer a target's dependencies by parsing import statements from sources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-lint-strict", - "--no-helm-lint-strict" + "--kotlin-infer-imports", + "--no-kotlin-infer-imports" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--lint-strict", "--no-lint-strict"], + "unscoped_cmd_line_args": [ + "--imports", + "--no-imports" + ], "value_history": { "ranked_values": [ { @@ -84334,7 +113688,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } @@ -84342,52 +113696,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-default-registry-repository=", - "config_key": "default_registry_repository", - "default": null, + "comma_separated_display_args": "--[no-]kotlin-infer-consumed-types", + "config_key": "consumed_types", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-default-registry-repository="], - "env_var": "PANTS_HELM_DEFAULT_REGISTRY_REPOSITORY", + "display_args": [ + "--[no-]kotlin-infer-consumed-types" + ], + "env_var": "PANTS_KOTLIN_INFER_CONSUMED_TYPES", "fromfile": false, - "help": "Default location where to push Helm charts in the available registries when no specific one has been given.\n\nIf no registry repository is given, charts will be pushed to the root of the OCI registry.", + "help": "Infer a target's dependencies by parsing consumed types from sources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-default-registry-repository"], + "scoped_cmd_line_args": [ + "--kotlin-infer-consumed-types", + "--no-kotlin-infer-consumed-types" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--default-registry-repository"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--consumed-types", + "--no-consumed-types" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options controlling which dependencies will be inferred for Kotlin targets.", + "is_goal": false, + "provider": "pants.backend.experimental.kotlin", + "scope": "kotlin-infer" + }, + "kotlinc": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-args=\"[, , ...]\", ... -- [ [ [...]]]", + "comma_separated_display_args": "--kotlinc-args=\"[, , ...]\"", "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--kotlinc-args=\"[, , ...]\"" ], - "env_var": "PANTS_HELM_ARGS", + "env_var": "PANTS_KOTLINC_ARGS", "fromfile": false, - "help": "Arguments to pass directly to helmsubsystem, e.g. `--helm-args='--dry-run'`.\n\nAdditional arguments to pass to Helm command line.\n\nOnly a subset of Helm arguments are considered valid as passthrough arguments as most of them have equivalents in the form of fields of the different target types.\n\nThe list of valid arguments is as follows:\n\n * --atomic\n * --cleanup-on-fail\n * --create-namespace\n * --debug\n * --dry-run\n * --force\n * --wait\n * --wait-for-jobs\n * --kubeconfig\n * --kube-context\n * --kube-apiserver\n * --kube-as-group\n * --kube-as-user\n * --kube-ca-file\n * --kube-token\n\nBefore attempting to use passthrough arguments, check the reference of each of the available target types to see what fields are accepted in each of them.", + "help": "Arguments to pass directly to kotlinc, e.g. `--kotlinc-args='-Werror'`.\n\nSee https://kotlinlang.org/docs/compiler-reference.html for supported arguments.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-args"], + "scoped_cmd_line_args": [ + "--kotlinc-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -84402,76 +113783,91 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The Helm command line (https://helm.sh)", - "is_goal": false, - "provider": "pants.backend.experimental.helm", - "scope": "helm" - }, - "helm-k8s-parser": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-k8s-parser-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--kotlinc-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "plugins_for_resolve", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-k8s-parser-install-from-resolve="], - "env_var": "PANTS_HELM_K8S_PARSER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--kotlinc-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_KOTLINC_PLUGINS_FOR_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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "A dictionary, whose keys are the names of each JVM resolve that requires default `kotlinc` plugins, and the value is a comma-separated string consisting of kotlinc plugin names. Each specified plugin must have a corresponding `kotlinc_plugin` target that specifies that name in either its `plugin_name` field or is the same as its target name.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-k8s-parser-install-from-resolve"], + "scoped_cmd_line_args": [ + "--kotlinc-plugins-for-resolve" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--plugins-for-resolve" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Kotlin programming language (https://kotlinlang.org/).", + "is_goal": false, + "provider": "pants.backend.experimental.kotlin", + "scope": "kotlinc" + }, + "ktlint": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-k8s-parser-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--ktlint-version=", + "config_key": "version", + "default": "0.45.2", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-k8s-parser-requirements=\"['', '', ...]\"" + "--ktlint-version=" ], - "env_var": "PANTS_HELM_K8S_PARSER_REQUIREMENTS", + "env_var": "PANTS_KTLINT_VERSION", "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": "Version string for the tool. This is available for substitution in the `[ktlint].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-k8s-parser-requirements"], + "scoped_cmd_line_args": [ + "--ktlint-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "0.45.2" } ] } @@ -84479,23 +113875,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<3.10"], + "comma_separated_display_args": "--ktlint-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.pinterest:ktlint:{version}" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"" + "--ktlint-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_HELM_K8S_PARSER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_KTLINT_ARTIFACTS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[ktlint].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-k8s-parser-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--ktlint-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -84506,46 +113908,48 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<3.10"] + "value": [ + "com.pinterest:ktlint:{version}" + ] } ] } - } - ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Analyses K8S manifests rendered by Helm.", - "is_goal": false, - "provider": "pants.backend.experimental.helm", - "scope": "helm-k8s-parser" - }, - "helm-post-renderer": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-post-renderer-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--ktlint-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-post-renderer-install-from-resolve="], - "env_var": "PANTS_HELM_POST_RENDERER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--ktlint-lockfile=" + ], + "env_var": "PANTS_KTLINT_LOCKFILE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "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.19.0rc5/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": ["--helm-post-renderer-install-from-resolve"], + "scoped_cmd_line_args": [ + "--ktlint-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "" } ] } @@ -84553,23 +113957,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-post-renderer-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--ktlint-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-post-renderer-requirements=\"['', '', ...]\"" + "--ktlint-jvm-options=\"['', '', ...]\"" ], - "env_var": "PANTS_HELM_POST_RENDERER_REQUIREMENTS", + "env_var": "PANTS_KTLINT_JVM_OPTIONS", "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": "List of JVM options to pass to `ktlint` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-post-renderer-requirements"], + "scoped_cmd_line_args": [ + "--ktlint-jvm-options" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { @@ -84584,73 +113992,84 @@ } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<3.10"], + "comma_separated_display_args": "--[no-]ktlint-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"" + "--[no-]ktlint-skip" ], - "env_var": "PANTS_HELM_POST_RENDERER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_KTLINT_SKIP", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "If true, don't use Ktlint when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-post-renderer-interpreter-constraints" + "--ktlint-skip", + "--no-ktlint-skip" ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<3.10"] + "value": false } ] } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Used perform modifications to the final output produced by Helm charts when they've been fully rendered.", + "description": "Ktlint, the anti-bikeshedding Kotlin linter with built-in formatter (https://ktlint.github.io/)", "is_goal": false, - "provider": "pants.backend.experimental.helm", - "scope": "helm-post-renderer" + "provider": "pants.backend.experimental.kotlin.lint.ktlint", + "scope": "ktlint" }, - "helm-unittest": { + "kubeconform": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-unittest-version=", + "comma_separated_display_args": "--kubeconform-version=", "config_key": "version", - "default": "0.3.3", + "default": "0.6.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-unittest-version="], - "env_var": "PANTS_HELM_UNITTEST_VERSION", + "display_args": [ + "--kubeconform-version=" + ], + "env_var": "PANTS_KUBECONFORM_VERSION", "fromfile": false, - "help": "Use this version of helmunittestsubsystem.", + "help": "Use this version of kubeconform.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-version"], + "scoped_cmd_line_args": [ + "--kubeconform-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -84661,7 +114080,7 @@ { "details": null, "rank": "HARDCODED", - "value": "0.3.3" + "value": "0.6.2" } ] } @@ -84669,32 +114088,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-unittest-known-versions=\"['', '', ...]\"", + "comma_separated_display_args": "--kubeconform-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "0.3.3|linux_x86_64|8ebe20f77012a5d4e7139760cabe36dd1ea38e40b26f57de3f4165d96bd486ff|21685365", - "0.3.3|linux_arm64 |7f5e4426428cb9678f971576103df410e6fa38dd19b87fce4729f5217bd5c683|19944514", - "0.3.3|macos_x86_64|b2298a513b3cb6482ba2e42079c93ad18be8a31a230bd4dffdeb01ec2881d0f5|21497144", - "0.3.3|macos_arm64 |2365f5b3a99e6fc83218457046378b14039a3992e9ae96a4192bc2e43a33c742|20479438", - "0.2.8|linux_x86_64|d7c452559ad4406a1197435394fbcffe51198060de1aa9b4cb6feaf876776ba0|18299096", - "0.2.8|linux_arm64 |c793e241b063f0540ad9b4acc0a02e5a101bd9daea5bdf4d8562e9b2337fedb2|16943867", - "0.2.8|macos_x86_64|1dc95699320894bdebf055c4f4cc084c2cfa0133d3cb7fd6a4c0adca94df5c96|18161928", - "0.2.8|macos_arm64 |436e3167c26f71258b96e32c2877b4f97c051064db941de097cf3db2fc861342|17621648" + "0.6.2|linux_arm64 |41c15ecbb120042bee0aca8a616e479b555084d5d14bc2e095ed96081c1e9404|5335394", + "0.6.2|linux_x86_64|d2a10db6b78d56de8fe9375b9c351bc573aa218a74da04d114767b505a675090|5739066", + "0.6.2|macos_arm64 |881e3fe2ecdb1cc41bce80013113f24da80e1bec593876ffe88668333ae69b51|5423607", + "0.6.2|macos_x86_64|88e53c2562482ed5ab7434188ca5ba03d3482088ac52d53da7499d579923f2e8|5656173" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-unittest-known-versions=\"['', '', ...]\"" + "--kubeconform-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_HELM_UNITTEST_KNOWN_VERSIONS", + "env_var": "PANTS_KUBECONFORM_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": ["--helm-unittest-known-versions"], + "scoped_cmd_line_args": [ + "--kubeconform-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -84706,14 +114125,10 @@ "details": "", "rank": "HARDCODED", "value": [ - "0.3.3|linux_x86_64|8ebe20f77012a5d4e7139760cabe36dd1ea38e40b26f57de3f4165d96bd486ff|21685365", - "0.3.3|linux_arm64 |7f5e4426428cb9678f971576103df410e6fa38dd19b87fce4729f5217bd5c683|19944514", - "0.3.3|macos_x86_64|b2298a513b3cb6482ba2e42079c93ad18be8a31a230bd4dffdeb01ec2881d0f5|21497144", - "0.3.3|macos_arm64 |2365f5b3a99e6fc83218457046378b14039a3992e9ae96a4192bc2e43a33c742|20479438", - "0.2.8|linux_x86_64|d7c452559ad4406a1197435394fbcffe51198060de1aa9b4cb6feaf876776ba0|18299096", - "0.2.8|linux_arm64 |c793e241b063f0540ad9b4acc0a02e5a101bd9daea5bdf4d8562e9b2337fedb2|16943867", - "0.2.8|macos_x86_64|1dc95699320894bdebf055c4f4cc084c2cfa0133d3cb7fd6a4c0adca94df5c96|18161928", - "0.2.8|macos_arm64 |436e3167c26f71258b96e32c2877b4f97c051064db941de097cf3db2fc861342|17621648" + "0.6.2|linux_arm64 |41c15ecbb120042bee0aca8a616e479b555084d5d14bc2e095ed96081c1e9404|5335394", + "0.6.2|linux_x86_64|d2a10db6b78d56de8fe9375b9c351bc573aa218a74da04d114767b505a675090|5739066", + "0.6.2|macos_arm64 |881e3fe2ecdb1cc41bce80013113f24da80e1bec593876ffe88668333ae69b51|5423607", + "0.6.2|macos_x86_64|88e53c2562482ed5ab7434188ca5ba03d3482088ac52d53da7499d579923f2e8|5656173" ] } ] @@ -84722,21 +114137,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-unittest-url-template=", + "comma_separated_display_args": "--kubeconform-url-template=", "config_key": "url_template", - "default": "https://github.com/helm-unittest/helm-unittest/releases/download/v{version}/helm-unittest-{platform}-{version}.tgz", + "default": "https://github.com/yannh/kubeconform/releases/download/v{version}/kubeconform-{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--helm-unittest-url-template="], - "env_var": "PANTS_HELM_UNITTEST_URL_TEMPLATE", + "display_args": [ + "--kubeconform-url-template=" + ], + "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/v2.19/docs/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": ["--helm-unittest-url-template"], + "scoped_cmd_line_args": [ + "--kubeconform-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -84747,7 +114168,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/helm-unittest/helm-unittest/releases/download/v{version}/helm-unittest-{platform}-{version}.tgz" + "value": "https://github.com/yannh/kubeconform/releases/download/v{version}/kubeconform-{platform}.tar.gz" } ] } @@ -84755,28 +114176,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--helm-unittest-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "comma_separated_display_args": "--kubeconform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", "config_key": "url_platform_mapping", "default": { "linux_arm64": "linux-arm64", "linux_x86_64": "linux-amd64", - "macos_arm64": "macos-arm64", - "macos_x86_64": "macos-amd64" + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-unittest-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--kubeconform-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_HELM_UNITTEST_URL_PLATFORM_MAPPING", + "env_var": "PANTS_KUBECONFORM_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": ["--helm-unittest-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--kubeconform-url-platform-mapping" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { @@ -84790,33 +114215,40 @@ "value": { "linux_arm64": "linux-arm64", "linux_x86_64": "linux-amd64", - "macos_arm64": "macos-arm64", - "macos_x86_64": "macos-amd64" + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-amd64" } } ] } }, { - "choices": ["error", "warning"], + "choices": [ + "error", + "warning" + ], "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--helm-unittest-use-unsupported-version=", + "comma_separated_display_args": "--kubeconform-use-unsupported-version=", "config_key": "use_unsupported_version", "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--helm-unittest-use-unsupported-version=" + "--kubeconform-use-unsupported-version=" ], - "env_var": "PANTS_HELM_UNITTEST_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_KUBECONFORM_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "\nWhat action to take in case the requested version of helmunittestsubsystem is not supported.\n\nSupported helmunittestsubsystem versions: unspecified\n", + "help": "\nWhat action to take in case the requested version of kubeconform is not supported.\n\nSupported kubeconform versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--kubeconform-use-unsupported-version" + ], "target_field_name": null, "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -84831,76 +114263,37 @@ } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-unittest-color", - "config_key": "color", - "default": false, + "comma_separated_display_args": "--kubeconform-concurrency=", + "config_key": "concurrency", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]helm-unittest-color"], - "env_var": "PANTS_HELM_UNITTEST_COLOR", + "display_args": [ + "--kubeconform-concurrency=" + ], + "env_var": "PANTS_KUBECONFORM_CONCURRENCY", "fromfile": false, - "help": "Enforce printing colored output even if stdout is not a tty.", + "help": "Number of workers used by Kubeconform to validate resources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-unittest-color", - "--no-helm-unittest-color" + "--kubeconform-concurrency" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--color", "--no-color"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false - } - ] - } - }, - { - "choices": ["XUnit", "NUnit", "JUnit"], - "comma_separated_choices": "XUnit, NUnit, JUnit", - "comma_separated_display_args": "--helm-unittest-output-type=", - "config_key": "output_type", - "default": "XUnit", - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--helm-unittest-output-type=" + "typ": "int", + "unscoped_cmd_line_args": [ + "--concurrency" ], - "env_var": "PANTS_HELM_UNITTEST_OUTPUT_TYPE", - "fromfile": false, - "help": "Output type used for the test report.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--helm-unittest-output-type"], - "target_field_name": null, - "typ": "HelmUnitTestReportFormat", - "unscoped_cmd_line_args": ["--output-type"], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "XUnit" } ] } @@ -84908,160 +114301,118 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]helm-unittest-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--kubeconform-schema-locations=\"['', '', ...]\"", + "config_key": "schema_locations", + "default": [ + "default" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]helm-unittest-skip"], - "env_var": "PANTS_HELM_UNITTEST_SKIP", + "display_args": [ + "--kubeconform-schema-locations=\"['', '', ...]\"" + ], + "env_var": "PANTS_KUBECONFORM_SCHEMA_LOCATIONS", "fromfile": false, - "help": "If true, don't use helmunittestsubsystem when running `pants test`.", + "help": "List of schema locations to use to validate the resources.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--helm-unittest-skip", - "--no-helm-unittest-skip" + "--kubeconform-schema-locations" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--schema-locations" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, - "rank": "HARDCODED", - "value": false - } - ] - } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "BDD styled unit test framework for Kubernetes Helm charts as a Helm plugin. (https://github.com/helm-unittest)", - "is_goal": false, - "provider": "pants.backend.experimental.helm", - "scope": "helm-unittest" - }, - "help": { - "advanced": [], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Display usage message.", - "is_goal": true, - "provider": "pants.goal", - "scope": "help" - }, - "help-advanced": { - "advanced": [], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Help for advanced options.", - "is_goal": true, - "provider": "pants.goal", - "scope": "help-advanced" - }, - "help-all": { - "advanced": [], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Print a JSON object containing all help info.", - "is_goal": true, - "provider": "pants.goal", - "scope": "help-all" - }, - "ipython": { - "advanced": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--ipython-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--ipython-install-from-resolve="], - "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--ipython-install-from-resolve"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null + "details": "", + "rank": "HARDCODED", + "value": [ + "default" + ] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ipython-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]kubeconform-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--ipython-requirements=\"['', '', ...]\"" + "--[no-]kubeconform-skip" ], - "env_var": "PANTS_IPYTHON_REQUIREMENTS", + "env_var": "PANTS_KUBECONFORM_SKIP", "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 true, don't use kubeconform when running `pants check`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ipython-requirements"], + "scoped_cmd_line_args": [ + "--kubeconform-skip", + "--no-kubeconform-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--ipython-console-script=", - "config_key": "console_script", - "default": "ipython", + "choices": [ + "text", + "json", + "tap", + "junit" + ], + "comma_separated_choices": "text, json, tap, junit", + "comma_separated_display_args": "--kubeconform-output-type=", + "config_key": "output_type", + "default": "text", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ipython-console-script="], - "env_var": "PANTS_IPYTHON_CONSOLE_SCRIPT", + "display_args": [ + "--kubeconform-output-type=" + ], + "env_var": "PANTS_KUBECONFORM_OUTPUT_TYPE", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Output type used by `kubeconform`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ipython-console-script"], + "scoped_cmd_line_args": [ + "--kubeconform-output-type" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "KubeconformOutput", + "unscoped_cmd_line_args": [ + "--output-type" + ], "value_history": { "ranked_values": [ { @@ -85072,7 +114423,7 @@ { "details": null, "rank": "HARDCODED", - "value": "ipython" + "value": "text" } ] } @@ -85080,27 +114431,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ipython-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]kubeconform-summary", + "config_key": "summary", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ipython-entry-point="], - "env_var": "PANTS_IPYTHON_ENTRY_POINT", + "display_args": [ + "--[no-]kubeconform-summary" + ], + "env_var": "PANTS_KUBECONFORM_SUMMARY", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Set to true to only output check summary.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ipython-entry-point"], + "scoped_cmd_line_args": [ + "--kubeconform-summary", + "--no-kubeconform-summary" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--summary", + "--no-summary" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } @@ -85108,24 +114472,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]ipython-ignore-cwd", - "config_key": "ignore_cwd", - "default": true, + "comma_separated_display_args": "--[no-]kubeconform-verbose", + "config_key": "verbose", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]ipython-ignore-cwd"], - "env_var": "PANTS_IPYTHON_IGNORE_CWD", + "display_args": [ + "--[no-]kubeconform-verbose" + ], + "env_var": "PANTS_KUBECONFORM_VERBOSE", "fromfile": false, - "help": "Whether to tell IPython not to put the CWD on the import path.\n\nNormally you want this to be True, so that imports come from the hermetic environment Pants creates.\n\nHowever IPython<7.13.0 doesn't support this option, so if you're using an earlier version (e.g., because you have Python 2.7 code) then you will need to set this to False, and you may have issues with imports from your CWD shading the hermetic environment.", + "help": "Set to true to increase output verbosity.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--ipython-ignore-cwd", - "--no-ipython-ignore-cwd" + "--kubeconform-verbose", + "--no-kubeconform-verbose" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--ignore-cwd", "--no-ignore-cwd"], + "unscoped_cmd_line_args": [ + "--verbose", + "--no-verbose" + ], "value_history": { "ranked_values": [ { @@ -85136,68 +114505,86 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The IPython enhanced REPL (https://ipython.org/).", + "description": "Kubeconform tool (https://github.com/yannh/kubeconform)", "is_goal": false, - "provider": "pants.backend.python", - "scope": "ipython" + "provider": "pants.backend.experimental.helm.check.kubeconform", + "scope": "kubeconform" }, - "isort": { + "lint": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--lint-batch-size=", + "config_key": "batch_size", + "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-install-from-resolve="], - "env_var": "PANTS_ISORT_INSTALL_FROM_RESOLVE", + "display_args": [ + "--lint-batch-size=" + ], + "env_var": "PANTS_LINT_BATCH_SIZE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "The target number of files to be included in each linter batch.\n\nLinter processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in linter processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-install-from-resolve"], + "scoped_cmd_line_args": [ + "--lint-batch-size" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--batch-size" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 128 } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--lint-only=\"['', '', ...]\"", + "config_key": "only", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-requirements=\"['', '', ...]\""], - "env_var": "PANTS_ISORT_REQUIREMENTS", + "display_args": [ + "--lint-only=\"['', '', ...]\"" + ], + "env_var": "PANTS_LINT_ONLY", "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": "Only run these linters and skip all others.\n\nThe linter names are outputted at the final summary of running this goal, e.g. `flake8` and `shellcheck`. You can also run `lint --only=fake` to get a list of all activated linters.\n\nYou can repeat this option, e.g. `lint --only=flake8 --only=shellcheck` or `lint --only=['flake8', 'shellcheck']`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-requirements"], + "scoped_cmd_line_args": [ + "--lint-only" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--only" + ], "value_history": { "ranked_values": [ { @@ -85216,34 +114603,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]lint-skip-formatters", + "config_key": "skip_formatters", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--isort-interpreter-constraints=\"['', '', ...]\"" + "--[no-]lint-skip-formatters" ], - "env_var": "PANTS_ISORT_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_LINT_SKIP_FORMATTERS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "If true, skip running all formatters in check-only mode.\n\nFYI: when running `pants fmt lint ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fmt` when running `lint` where possible.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--lint-skip-formatters", + "--no-lint-skip-formatters" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip-formatters", + "--no-skip-formatters" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": false } ] } @@ -85251,21 +114644,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-console-script=", - "config_key": "console_script", - "default": "isort", + "comma_separated_display_args": "--[no-]lint-skip-fixers", + "config_key": "skip_fixers", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-console-script="], - "env_var": "PANTS_ISORT_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]lint-skip-fixers" + ], + "env_var": "PANTS_LINT_SKIP_FIXERS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "If true, skip running all fixers in check-only mode.\n\nFYI: when running `pants fix lint ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fix` when running `lint` where possible.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-console-script"], + "scoped_cmd_line_args": [ + "--lint-skip-fixers", + "--no-lint-skip-fixers" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip-fixers", + "--no-skip-fixers" + ], "value_history": { "ranked_values": [ { @@ -85276,29 +114677,46 @@ { "details": null, "rank": "HARDCODED", - "value": "isort" + "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Run linters/formatters/fixers in check mode.", + "is_goal": true, + "provider": "pants.core", + "scope": "lint" + }, + "list": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-entry-point=", - "config_key": "entry_point", + "comma_separated_display_args": "--list-output-file=", + "config_key": "output_file", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-entry-point="], - "env_var": "PANTS_ISORT_ENTRY_POINT", + "display_args": [ + "--list-output-file=" + ], + "env_var": "PANTS_LIST_OUTPUT_FILE", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-entry-point"], + "scoped_cmd_line_args": [ + "--list-output-file" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { @@ -85312,34 +114730,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-config=\"[, , ...]\"", - "config_key": "config", - "default": [], + "comma_separated_display_args": "--list-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--isort-config=\"[, , ...]\"" + "--list-sep=" ], - "env_var": "PANTS_ISORT_CONFIG", + "env_var": "PANTS_LIST_SEP", "fromfile": false, - "help": "Path to config file understood by isort (https://pycqa.github.io/isort/docs/configuration/config_files/).\n\nSetting this option will disable `[isort].config_discovery`. Use this option if the config is located in a non-standard location.\n\nIf using isort 5+ and you specify only 1 config file, Pants will configure isort's argv to point to your config file.", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-config"], + "scoped_cmd_line_args": [ + "--list-sep" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "\\n" } ] } @@ -85347,26 +114769,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]isort-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]list-documented", + "config_key": "documented", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]isort-config-discovery"], - "env_var": "PANTS_ISORT_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]list-documented" + ], + "env_var": "PANTS_LIST_DOCUMENTED", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.isort.cfg`, `pyproject.toml`, `setup.cfg`, `tox.ini` and `.editorconfig`).\n\nUse `[isort].config` instead if your config is in a non-standard location.", + "help": "Print only targets that are documented with a description.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--isort-config-discovery", - "--no-isort-config-discovery" + "--list-documented", + "--no-list-documented" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--documented", + "--no-documented" ], "value_history": { "ranked_values": [ @@ -85378,42 +114802,51 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Lists all targets matching the file or target arguments.", + "is_goal": true, + "provider": "pants.backend.project_info", + "scope": "list" + }, + "mypy": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]isort-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--mypy-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]isort-skip"], - "env_var": "PANTS_ISORT_SKIP", + "display_args": [ + "--mypy-install-from-resolve=" + ], + "env_var": "PANTS_MYPY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If true, don't use isort when running `pants fmt` and `pants lint`.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--isort-skip", "--no-isort-skip"], + "scoped_cmd_line_args": [ + "--mypy-install-from-resolve" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } @@ -85421,21 +114854,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--isort-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--mypy-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--isort-args=\"[, , ...]\""], - "env_var": "PANTS_ISORT_ARGS", + "display_args": [ + "--mypy-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_MYPY_REQUIREMENTS", "fromfile": false, - "help": "Arguments to pass directly to isort, e.g. `--isort-args='--case-sensitive --trailing-comma'`.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--isort-args"], + "scoped_cmd_line_args": [ + "--mypy-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -85450,68 +114889,33 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The Python import sorter tool (https://pycqa.github.io/isort/).", - "is_goal": false, - "provider": "pants.backend.python.lint.isort", - "scope": "isort" - }, - "jarjar": { - "advanced": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--jarjar-version=", - "config_key": "version", - "default": "1.8.1", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--jarjar-version="], - "env_var": "PANTS_JARJAR_VERSION", - "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[jarjar].artifacts` option by including the string `{version}`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--jarjar-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": "1.8.1" - } - ] - } }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jarjar-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["com.eed3si9n.jarjar:jarjar-assembly:{version}"], + "comma_separated_display_args": "--mypy-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jarjar-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_JARJAR_ARTIFACTS", + "display_args": [ + "--mypy-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_MYPY_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[jarjar].version` option.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jarjar-artifacts"], + "scoped_cmd_line_args": [ + "--mypy-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -85522,7 +114926,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["com.eed3si9n.jarjar:jarjar-assembly:{version}"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -85530,21 +114936,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jarjar-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--mypy-console-script=", + "config_key": "console_script", + "default": "mypy", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jarjar-lockfile="], - "env_var": "PANTS_JARJAR_LOCKFILE", + "display_args": [ + "--mypy-console-script=" + ], + "env_var": "PANTS_MYPY_CONSOLE_SCRIPT", "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.19.0rc1/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": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jarjar-lockfile"], + "scoped_cmd_line_args": [ + "--mypy-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -85555,7 +114967,7 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": "mypy" } ] } @@ -85563,172 +114975,179 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jarjar-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "comma_separated_display_args": "--mypy-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jarjar-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_JARJAR_JVM_OPTIONS", + "display_args": [ + "--mypy-entry-point=" + ], + "env_var": "PANTS_MYPY_ENTRY_POINT", "fromfile": false, - "help": "List of JVM options to pass to `jarjar` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jarjar-jvm-options"], + "scoped_cmd_line_args": [ + "--mypy-entry-point" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]jarjar-skip-manifest", - "config_key": "skip_manifest", - "default": false, + "comma_separated_display_args": "--mypy-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]jarjar-skip-manifest"], - "env_var": "PANTS_JARJAR_SKIP_MANIFEST", + "display_args": [ + "--mypy-config=" + ], + "env_var": "PANTS_MYPY_CONFIG", "fromfile": false, - "help": "Skip the processing of the JAR manifest.", + "help": "Path to a config file understood by MyPy (https://mypy.readthedocs.io/en/stable/config_file.html).\n\nSetting this option will disable `[mypy].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--jarjar-skip-manifest", - "--no-jarjar-skip-manifest" + "--mypy-config" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip-manifest", "--no-skip-manifest"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } }, { - "choices": ["fatal", "skip", "omit", "move"], - "comma_separated_choices": "fatal, skip, omit, move", - "comma_separated_display_args": "--jarjar-misplaced-class-strategy=", - "config_key": "misplaced_class_strategy", - "default": null, + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]mypy-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--jarjar-misplaced-class-strategy=" + "--[no-]mypy-config-discovery" ], - "env_var": "PANTS_JARJAR_MISPLACED_CLASS_STRATEGY", + "env_var": "PANTS_MYPY_CONFIG_DISCOVERY", "fromfile": false, - "help": "The strategy to use when processing class files that are in the wrong package.", + "help": "If true, Pants will include any relevant config files during runs (`mypy.ini`, `.mypy.ini`, and `setup.cfg`).\n\nUse `[mypy].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jarjar-misplaced-class-strategy"], + "scoped_cmd_line_args": [ + "--mypy-config-discovery", + "--no-mypy-config-discovery" + ], "target_field_name": null, - "typ": "MisplacedClassStrategy", - "unscoped_cmd_line_args": ["--misplaced-class-strategy"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The Jar Jar Abrams tool (https://github.com/eed3si9n/jarjar-abrams)", - "is_goal": false, - "provider": "pants.backend.experimental.java", - "scope": "jarjar" - }, - "java-infer": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]java-infer-imports", - "config_key": "imports", - "default": true, + "comma_separated_display_args": "--mypy-source-plugins=\"[, , ...]\"", + "config_key": "source_plugins", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]java-infer-imports"], - "env_var": "PANTS_JAVA_INFER_IMPORTS", + "display_args": [ + "--mypy-source-plugins=\"[, , ...]\"" + ], + "env_var": "PANTS_MYPY_SOURCE_PLUGINS", "fromfile": false, - "help": "Infer a target's dependencies by parsing import statements from sources.", + "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/v2.19/docs/python-check-goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--java-infer-imports", - "--no-java-infer-imports" + "--mypy-source-plugins" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--source-plugins" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]java-infer-consumed-types", - "config_key": "consumed_types", - "default": true, + "comma_separated_display_args": "--[no-]mypy-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]java-infer-consumed-types"], - "env_var": "PANTS_JAVA_INFER_CONSUMED_TYPES", + "display_args": [ + "--[no-]mypy-skip" + ], + "env_var": "PANTS_MYPY_SKIP", "fromfile": false, - "help": "Infer a target's dependencies by parsing consumed types from sources.", + "help": "If true, don't use MyPy when running `pants check`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--java-infer-consumed-types", - "--no-java-infer-consumed-types" + "--mypy-skip", + "--no-mypy-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--consumed-types", "--no-consumed-types"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -85739,7 +115158,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } @@ -85747,34 +115166,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--java-infer-third-party-import-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "third_party_import_mapping", - "default": {}, + "comma_separated_display_args": "--mypy-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--java-infer-third-party-import-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--mypy-args=\"[, , ...]\"" ], - "env_var": "PANTS_JAVA_INFER_THIRD_PARTY_IMPORT_MAPPING", + "env_var": "PANTS_MYPY_ARGS", "fromfile": false, - "help": "A dictionary mapping a Java package path to a JVM artifact coordinate (GROUP:ARTIFACT) without the version.\n\nSee `jvm_artifact` for more information on the mapping syntax.", + "help": "Arguments to pass directly to MyPy, e.g. `--mypy-args='--python-version 3.7 --disallow-any-expr'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--java-infer-third-party-import-mapping"], + "scoped_cmd_line_args": [ + "--mypy-args" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--third-party-import-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [] } ] } @@ -85782,36 +115205,36 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Options controlling which dependencies will be inferred for Java targets.", + "description": "The MyPy Python type checker (http://mypy-lang.org/).", "is_goal": false, - "provider": "pants.backend.experimental.java", - "scope": "java-infer" + "provider": "pants.backend.python.typecheck.mypy", + "scope": "mypy" }, - "javac": { + "mypy-protobuf": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]javac-tailor-source-targets", - "config_key": "tailor_source_targets", - "default": true, + "comma_separated_display_args": "--mypy-protobuf-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]javac-tailor-source-targets"], - "env_var": "PANTS_JAVAC_TAILOR_SOURCE_TARGETS", + "display_args": [ + "--mypy-protobuf-install-from-resolve=" + ], + "env_var": "PANTS_MYPY_PROTOBUF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If true, add `java_sources` and `java_tests` targets with the `tailor` goal.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ - "--javac-tailor-source-targets", - "--no-javac-tailor-source-targets" + "--mypy-protobuf-install-from-resolve" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--tailor-source-targets", - "--no-tailor-source-targets" + "--install-from-resolve" ], "value_history": { "ranked_values": [ @@ -85819,35 +115242,75 @@ "details": null, "rank": "NONE", "value": null + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--mypy-protobuf-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--mypy-protobuf-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--mypy-protobuf-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--javac-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--javac-args=\"[, , ...]\""], - "env_var": "PANTS_JAVAC_ARGS", + "display_args": [ + "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_MYPY_PROTOBUF_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Arguments to pass directly to javac, e.g. `--javac-args='-g -deprecation'`.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--javac-args"], + "scoped_cmd_line_args": [ + "--mypy-protobuf-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -85858,39 +115321,48 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<4" + ] } ] } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The javac Java source compiler.", + "description": "Configuration of the mypy-protobuf type stub generation plugin.", "is_goal": false, - "provider": "pants.backend.experimental.java", - "scope": "javac" + "provider": "pants.backend.codegen.protobuf.python", + "scope": "mypy-protobuf" }, - "junit": { + "nodejs": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--junit-version=", + "comma_separated_display_args": "--nodejs-version=", "config_key": "version", - "default": "5.7.2", + "default": "v16.15.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--junit-version="], - "env_var": "PANTS_JUNIT_VERSION", + "display_args": [ + "--nodejs-version=" + ], + "env_var": "PANTS_NODEJS_VERSION", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[junit].artifacts` option by including the string `{version}`.", + "help": "Use this version of nodejs.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--junit-version"], + "scoped_cmd_line_args": [ + "--nodejs-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -85901,7 +115373,7 @@ { "details": null, "rank": "HARDCODED", - "value": "5.7.2" + "value": "v16.15.0" } ] } @@ -85909,25 +115381,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--junit-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", + "comma_separated_display_args": "--nodejs-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", "default": [ - "org.junit.platform:junit-platform-console:1.7.2", - "org.junit.jupiter:junit-jupiter-engine:{version}", - "org.junit.vintage:junit-vintage-engine:{version}" + "v16.15.0|macos_arm64|ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b|29126014", + "v16.15.0|macos_x86_64|a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8|30561503", + "v16.15.0|linux_arm64|b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56|21403276", + "v16.15.0|linux_x86_64|ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372|22031988" ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--junit-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_JUNIT_ARTIFACTS", + "display_args": [ + "--nodejs-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_NODEJS_KNOWN_VERSIONS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[junit].version` option.", + "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": ["--junit-artifacts"], + "scoped_cmd_line_args": [ + "--nodejs-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -85939,9 +115418,10 @@ "details": "", "rank": "HARDCODED", "value": [ - "org.junit.platform:junit-platform-console:1.7.2", - "org.junit.jupiter:junit-jupiter-engine:{version}", - "org.junit.vintage:junit-vintage-engine:{version}" + "v16.15.0|macos_arm64|ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b|29126014", + "v16.15.0|macos_x86_64|a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8|30561503", + "v16.15.0|linux_arm64|b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56|21403276", + "v16.15.0|linux_x86_64|ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372|22031988" ] } ] @@ -85950,21 +115430,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--junit-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--nodejs-url-template=", + "config_key": "url_template", + "default": "https://nodejs.org/dist/{version}/node-{version}-{platform}.tar", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--junit-lockfile="], - "env_var": "PANTS_JUNIT_LOCKFILE", + "display_args": [ + "--nodejs-url-template=" + ], + "env_var": "PANTS_NODEJS_URL_TEMPLATE", "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.19.0rc1/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": "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/v2.19/docs/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": ["--junit-lockfile"], + "scoped_cmd_line_args": [ + "--nodejs-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -85975,7 +115461,7 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": "https://nodejs.org/dist/{version}/node-{version}-{platform}.tar" } ] } @@ -85983,70 +115469,87 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--junit-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "comma_separated_display_args": "--nodejs-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-x64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-x64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--junit-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_JUNIT_JVM_OPTIONS", + "display_args": [ + "--nodejs-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_NODEJS_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "List of JVM options to pass to `junit` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "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": ["--junit-jvm-options"], + "scoped_cmd_line_args": [ + "--nodejs-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "linux_arm64": "linux-arm64", + "linux_x86_64": "linux-x64", + "macos_arm64": "darwin-arm64", + "macos_x86_64": "darwin-x64" + } } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--junit-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--nodejs-resolves=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--junit-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--nodejs-resolves=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_JUNIT_ARGS", + "env_var": "PANTS_NODEJS_RESOLVES", "fromfile": false, - "help": "Arguments to pass directly to JUnit, e.g. `--junit-args='--disable-ansi-colors'`.", + "help": "A mapping of names to lockfile paths used in your project.\n\nSpecifying a resolve name is optional. If unspecified, the default resolve name is calculated by taking the path from the source root to the directory containing the lockfile and replacing '/' with '.' in that path.\n\nExample: An npm lockfile located at `src/js/package/package-lock.json' will result in a resolve named `js.package`, assuming src/ is a source root.\n\nRun `pants generate-lockfiles` to generate the lockfile(s).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--junit-args"], + "scoped_cmd_line_args": [ + "--nodejs-resolves" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": {} } ] } @@ -86054,75 +115557,42 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]junit-skip", - "config_key": "skip", - "default": false, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]junit-skip"], - "env_var": "PANTS_JUNIT_SKIP", - "fromfile": false, - "help": "If true, don't use JUnit when running `pants test`.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--junit-skip", "--no-junit-skip"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false - } - ] - } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The JUnit test framework (https://junit.org)", - "is_goal": false, - "provider": "pants.backend.experimental.java", - "scope": "junit" - }, - "jvm": { - "advanced": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-tool-jdk=", - "config_key": "tool_jdk", - "default": "temurin:1.11", + "comma_separated_display_args": "--nodejs-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-tool-jdk="], - "env_var": "PANTS_JVM_TOOL_JDK", + "display_args": [ + "--nodejs-executable-search-paths=\"[, , ...]\"" + ], + "env_var": "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS", "fromfile": false, - "help": "The JDK to use when building and running Pants' internal JVM support code and other non-compiler tools. See `jvm` help for supported values.", + "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": ["--jvm-tool-jdk"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--tool-jdk"], + "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": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "temurin:1.11" + "value": [ + "" + ] } ] } @@ -86130,32 +115600,42 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-jdk=", - "config_key": "jdk", - "default": "temurin:1.11", + "comma_separated_display_args": "--nodejs-search-path=\"[, , ...]\"", + "config_key": "search_path", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-jdk="], - "env_var": "PANTS_JVM_JDK", + "display_args": [ + "--nodejs-search-path=\"[, , ...]\"" + ], + "env_var": "PANTS_NODEJS_SEARCH_PATH", "fromfile": false, - "help": "The JDK to use.\n\nThis string will be passed directly to Coursier's `--jvm` parameter. Run `cs java --available` to see a list of available JVM versions on your platform.\n\nIf the string `'system'` is passed, Coursier's `--system-jvm` option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.", + "help": "A list of paths to search for Node.js distributions.\n\nThis option is only used if a templated url download specified via [nodejs].known_versions does not contain a version matching the configured [nodejs].version range.\n\nYou can specify absolute paths to binaries and/or to directories containing binaries. The order of entries does not matter.\n\nThe following special strings are supported:\n\nFor all runtime environment types:\n\n* ``, the contents of the PATH env var\n\nWhen the environment is a `local_environment` target:\n\n* ``, all Node.js versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF binaries with the version in `BUILD_ROOT/.tool-versions`\n* ``, all NodeJS versions under $NVM_DIR/versions/node\n* ``, the nvm installation with the version in BUILD_ROOT/.nvmrc\nNote that the version in the .nvmrc file has to be on the form \"vX.Y.Z\".", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jvm-jdk"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--jdk"], + "scoped_cmd_line_args": [ + "--nodejs-search-path" + ], + "target_field_name": "nodejs_search_path", + "typ": "list", + "unscoped_cmd_line_args": [ + "--search-path" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "temurin:1.11" + "value": [ + "" + ] } ] } @@ -86163,65 +115643,67 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]jvm-reproducible-jars", - "config_key": "reproducible_jars", - "default": false, + "comma_separated_display_args": "--nodejs-corepack-env-vars=\"[, , ...]\"", + "config_key": "corepack_env_vars", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]jvm-reproducible-jars"], - "env_var": "PANTS_JVM_REPRODUCIBLE_JARS", + "display_args": [ + "--nodejs-corepack-env-vars=\"[, , ...]\"" + ], + "env_var": "PANTS_NODEJS_COREPACK_ENV_VARS", "fromfile": false, - "help": "When enabled, JAR files produced by JVM tools will have timestamps stripped.\n\nBecause some compilers do not support this step as a native operation, it can have a performance cost, and is not enabled by default.", + "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": [ - "--jvm-reproducible-jars", - "--no-jvm-reproducible-jars" + "--nodejs-corepack-env-vars" ], - "target_field_name": null, - "typ": "bool", + "target_field_name": "nodejs_corepack_env_vars", + "typ": "list", "unscoped_cmd_line_args": [ - "--reproducible-jars", - "--no-reproducible-jars" + "--corepack-env-vars" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-nailgun-remote-cache-speculation-delay=", - "config_key": "nailgun_remote_cache_speculation_delay", - "default": 1000, + "comma_separated_display_args": "--nodejs-package-manager=", + "config_key": "package_manager", + "default": "npm", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--jvm-nailgun-remote-cache-speculation-delay=" + "--nodejs-package-manager=" ], - "env_var": "PANTS_JVM_NAILGUN_REMOTE_CACHE_SPECULATION_DELAY", + "env_var": "PANTS_NODEJS_PACKAGE_MANAGER", "fromfile": false, - "help": "The time in milliseconds to delay speculation of nailgun processes while reading from the remote cache.\n\nWhen speculating, a remote cache hit will cancel the local copy of a process. But because nailgun does not natively support cancellation, that requires killing a nailgun server, which will mean that future processes take longer to warm up.\n\nThis setting allows for trading off waiting for potentially slow cache entries against potentially having to warm up a new nailgun server.", + "help": "Default Node.js package manager to use.\n\nYou can either rely on this default together with the [nodejs].package_managers option, or specify the `package.json#packageManager` tool and version in the package.json of your project.\n\nSpecifying conflicting package manager versions within a multi-package workspace is an error.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--jvm-nailgun-remote-cache-speculation-delay" + "--nodejs-package-manager" ], "target_field_name": null, - "typ": "int", + "typ": "str", "unscoped_cmd_line_args": [ - "--nailgun-remote-cache-speculation-delay" + "--package-manager" ], "value_history": { "ranked_values": [ @@ -86233,7 +115715,7 @@ { "details": null, "rank": "HARDCODED", - "value": 1000 + "value": "npm" } ] } @@ -86241,73 +115723,94 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-global-options=\"['', '', ...]\"", - "config_key": "global_options", - "default": [], + "comma_separated_display_args": "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "package_managers", + "default": { + "npm": "8.5.5" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-global-options=\"['', '', ...]\""], - "env_var": "PANTS_JVM_GLOBAL_OPTIONS", + "display_args": [ + "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_NODEJS_PACKAGE_MANAGERS", "fromfile": false, - "help": "List of JVM options to pass to all JVM processes.\n\nOptions set here will be used by any JVM processes required by Pants, with the exception of heap memory settings like `-Xmx`, which need to be set using `[GLOBAL].process_total_child_memory_usage` and `[GLOBAL].process_per_child_memory_usage`.", + "help": "A mapping of package manager versions to semver releases.\n\nMany organizations only need a single version of a package manager, which is a good default and often the simplest thing to do.\n\nThe version download is managed by Corepack. This mapping corresponds to the https://github.com/nodejs/corepack#known-good-releases setting, using the `--activate` flag.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jvm-global-options"], - "target_field_name": "jvm_global_options", - "typ": "list", - "unscoped_cmd_line_args": ["--global-options"], + "scoped_cmd_line_args": [ + "--nodejs-package-managers" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--package-managers" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "npm": "8.5.5" + } } ] } } ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Node.js Javascript runtime (including Corepack).", + "is_goal": false, + "provider": "pants.backend.experimental.javascript", + "scope": "nodejs" + }, + "nodejs-infer": { + "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-resolves=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves", - "default": { - "jvm-default": "3rdparty/jvm/default.lock" - }, + "comma_separated_display_args": "--[no-]nodejs-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--jvm-resolves=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]nodejs-infer-imports" ], - "env_var": "PANTS_JVM_RESOLVES", + "env_var": "PANTS_NODEJS_INFER_IMPORTS", "fromfile": false, - "help": "A dictionary mapping resolve names to the path of their lockfile.", + "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": ["--jvm-resolves"], + "scoped_cmd_line_args": [ + "--nodejs-infer-imports", + "--no-nodejs-infer-imports" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--imports", + "--no-imports" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "jvm-default": "3rdparty/jvm/default.lock" - } + "value": true } ] } @@ -86315,21 +115818,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-default-resolve=", - "config_key": "default_resolve", - "default": "jvm-default", + "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": ["--jvm-default-resolve="], - "env_var": "PANTS_JVM_DEFAULT_RESOLVE", + "display_args": [ + "--[no-]nodejs-infer-package-json-entry-points" + ], + "env_var": "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS", "fromfile": false, - "help": "The default value used for the `resolve` and `compatible_resolves` fields.\n\nThe name must be defined as a resolve in `[jvm].resolves`.", + "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": ["--jvm-default-resolve"], + "scoped_cmd_line_args": [ + "--nodejs-infer-package-json-entry-points", + "--no-nodejs-infer-package-json-entry-points" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--default-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--package-json-entry-points", + "--no-package-json-entry-points" + ], "value_history": { "ranked_values": [ { @@ -86340,77 +115851,87 @@ { "details": null, "rank": "HARDCODED", - "value": "jvm-default" + "value": true } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options controlling which dependencies will be inferred for javascript targets.", + "is_goal": false, + "provider": "pants.backend.experimental.javascript", + "scope": "nodejs-infer" + }, + "nodejs-test": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--jvm-debug-args=\"['', '', ...]\"", - "config_key": "debug_args", - "default": [], + "comma_separated_display_args": "--nodejs-test-coverage-output-dir=", + "config_key": "coverage_output_dir", + "default": "{distdir}/coverage/js/{target_spec}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--jvm-debug-args=\"['', '', ...]\""], - "env_var": "PANTS_JVM_DEBUG_ARGS", + "display_args": [ + "--nodejs-test-coverage-output-dir=" + ], + "env_var": "PANTS_NODEJS_TEST_COVERAGE_OUTPUT_DIR", "fromfile": false, - "help": "Extra JVM arguments to use when running tests in debug mode.\n\nFor example, if you want to attach a remote debugger, use something like `['-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005']`.", + "help": "Path to write the NodeJS coverage reports to. Must be relative to the build root.\n\nReplacements:\n\n- `{distdir}` is replaced with the Pants `distdir`.\n\n- `{target_spec}` is replaced with the address of the applicable `javascript_test` target with `/` characters replaced with dots (`.`). Additional batch information is included in `target_spec`, when batching is used.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--jvm-debug-args"], + "scoped_cmd_line_args": [ + "--nodejs-test-coverage-output-dir" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--debug-args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--coverage-output-dir" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "{distdir}/coverage/js/{target_spec}" } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "Options for general JVM functionality.\n\nJDK strings will be passed directly to Coursier's `--jvm` parameter. Run `cs java --available` to see a list of available JVM versions on your platform.\n\nIf the string `'system'` is passed, Coursier's `--system-jvm` option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.", - "is_goal": false, - "provider": "pants.backend.experimental.java", - "scope": "jvm" - }, - "kotlin": { - "advanced": [ + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]kotlin-tailor-source-targets", - "config_key": "tailor_source_targets", - "default": true, + "comma_separated_display_args": "--[no-]nodejs-test-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]kotlin-tailor-source-targets"], - "env_var": "PANTS_KOTLIN_TAILOR_SOURCE_TARGETS", + "display_args": [ + "--[no-]nodejs-test-skip" + ], + "env_var": "PANTS_NODEJS_TEST_SKIP", "fromfile": false, - "help": "If true, add `kotlin_sources` targets with the `tailor` goal.", + "help": "If true, don't use Node.js tests when running `pants test`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--kotlin-tailor-source-targets", - "--no-kotlin-tailor-source-targets" + "--nodejs-test-skip", + "--no-nodejs-test-skip" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-source-targets", - "--no-tailor-source-targets" + "--skip", + "--no-skip" ], "value_history": { "ranked_values": [ @@ -86422,80 +115943,97 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Options for package.json script configured tests.\n\nYour preferred test runner is configured via the `package.json#scripts.test` field.\n\nThe only expectation from pants is that the `test` script can accept a variadic number of path arguments, relative to the package.json, and that any configuration files are `file` dependencies to the `package_json`.\n\nSimple example:\n\nConsider a directory-layout:\n\n\u251c\u2500\u2500 BUILD\n\u251c\u2500\u2500 src/\n\u2502 \u251c\u2500\u2500 BUILD\n\u2502 \u251c\u2500\u2500 test/\n\u2502 \u2502 \u251c\u2500\u2500 BUILD\n\u2502 \u2502 \u2514\u2500\u2500 index.test.js\n\u2502 \u2514\u2500\u2500 index.js\n\u2514\u2500\u2500 package.json\n\nwhere package.json contains\n\n# package.json\n{\n ...\n \"scripts\": {\n \"test\": \"mocha\"\n },\n \"devDependencies: {\n ...\n }\n}\n\n\nExecuting `pants test src/test/index.test.js` will cause the equivalent of `mocha src/test/index.test.js` to run.", + "is_goal": false, + "provider": "pants.backend.experimental.javascript", + "scope": "nodejs-test" + }, + "openapi": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--kotlin-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "version_for_resolve", - "default": {}, + "comma_separated_display_args": "--[no-]openapi-tailor-targets", + "config_key": "tailor_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--kotlin-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]openapi-tailor-targets" ], - "env_var": "PANTS_KOTLIN_VERSION_FOR_RESOLVE", + "env_var": "PANTS_OPENAPI_TAILOR_TARGETS", "fromfile": false, - "help": "A dictionary mapping the name of a resolve to the Kotlin version to use for all Kotlin targets consuming that resolve.", + "help": "If true, add `openapi_documents` and `openapi_sources` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--kotlin-version-for-resolve"], + "scoped_cmd_line_args": [ + "--openapi-tailor-targets", + "--no-openapi-tailor-targets" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--version-for-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-targets", + "--no-tailor-targets" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": true } ] } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The Kotlin programming language (https://kotlinlang.org/).", + "description": "The OpenAPI Specification (https://swagger.io/specification/).", "is_goal": false, - "provider": "pants.backend.experimental.kotlin", - "scope": "kotlin" + "provider": "pants.backend.experimental.openapi", + "scope": "openapi" }, - "kotlin-infer": { - "advanced": [], - "basic": [ + "openapi-format": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]kotlin-infer-imports", - "config_key": "imports", - "default": true, + "comma_separated_display_args": "--openapi-format-version=", + "config_key": "version", + "default": "openapi-format@1.13.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]kotlin-infer-imports"], - "env_var": "PANTS_KOTLIN_INFER_IMPORTS", + "display_args": [ + "--openapi-format-version=" + ], + "env_var": "PANTS_OPENAPI_FORMAT_VERSION", "fromfile": false, - "help": "Infer a target's dependencies by parsing import statements from sources.", + "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--kotlin-infer-imports", - "--no-kotlin-infer-imports" + "--openapi-format-version" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -86506,7 +116044,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "openapi-format@1.13.1" } ] } @@ -86514,81 +116052,76 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]kotlin-infer-consumed-types", - "config_key": "consumed_types", - "default": true, + "comma_separated_display_args": "--openapi-format-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]kotlin-infer-consumed-types"], - "env_var": "PANTS_KOTLIN_INFER_CONSUMED_TYPES", + "display_args": [ + "--openapi-format-install-from-resolve=" + ], + "env_var": "PANTS_OPENAPI_FORMAT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Infer a target's dependencies by parsing consumed types from sources.", + "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--kotlin-infer-consumed-types", - "--no-kotlin-infer-consumed-types" + "--openapi-format-install-from-resolve" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--consumed-types", "--no-consumed-types"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "Options controlling which dependencies will be inferred for Kotlin targets.", - "is_goal": false, - "provider": "pants.backend.experimental.kotlin", - "scope": "kotlin-infer" - }, - "kotlinc": { - "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--kotlinc-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]openapi-format-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--kotlinc-args=\"[, , ...]\"" + "--[no-]openapi-format-skip" ], - "env_var": "PANTS_KOTLINC_ARGS", + "env_var": "PANTS_OPENAPI_FORMAT_SKIP", "fromfile": false, - "help": "Arguments to pass directly to kotlinc, e.g. `--kotlinc-args='-Werror'`.\n\nSee https://kotlinlang.org/docs/compiler-reference.html for supported arguments.", + "help": "If true, don't use openapi-format when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--kotlinc-args"], + "scoped_cmd_line_args": [ + "--openapi-format-skip", + "--no-openapi-format-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } @@ -86596,34 +116129,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--kotlinc-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "plugins_for_resolve", - "default": {}, + "comma_separated_display_args": "--openapi-format-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--kotlinc-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + "--openapi-format-args=\"[, , ...]\"" ], - "env_var": "PANTS_KOTLINC_PLUGINS_FOR_RESOLVE", + "env_var": "PANTS_OPENAPI_FORMAT_ARGS", "fromfile": false, - "help": "A dictionary, whose keys are the names of each JVM resolve that requires default `kotlinc` plugins, and the value is a comma-separated string consisting of kotlinc plugin names. Each specified plugin must have a corresponding `kotlinc_plugin` target that specifies that name in either its `plugin_name` field or is the same as its target name.", + "help": "Arguments to pass directly to openapi-format, e.g. `--openapi-format-args='--no-sort'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--kotlinc-plugins-for-resolve"], + "scoped_cmd_line_args": [ + "--openapi-format-args" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--plugins-for-resolve"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [] } ] } @@ -86631,31 +116168,37 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Kotlin programming language (https://kotlinlang.org/).", + "description": "Format an OpenAPI document by ordering, formatting and filtering fields (https://github.com/thim81/openapi-format).", "is_goal": false, - "provider": "pants.backend.experimental.kotlin", - "scope": "kotlinc" + "provider": "pants.backend.experimental.openapi.lint.openapi_format", + "scope": "openapi-format" }, - "ktlint": { + "openapi-generator": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ktlint-version=", + "comma_separated_display_args": "--openapi-generator-version=", "config_key": "version", - "default": "0.45.2", + "default": "5.4.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ktlint-version="], - "env_var": "PANTS_KTLINT_VERSION", + "display_args": [ + "--openapi-generator-version=" + ], + "env_var": "PANTS_OPENAPI_GENERATOR_VERSION", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[ktlint].artifacts` option by including the string `{version}`.", + "help": "Version string for the tool. This is available for substitution in the `[openapi-generator].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ktlint-version"], + "scoped_cmd_line_args": [ + "--openapi-generator-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -86666,7 +116209,7 @@ { "details": null, "rank": "HARDCODED", - "value": "0.45.2" + "value": "5.4.0" } ] } @@ -86674,21 +116217,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ktlint-artifacts=\"['', '', ...]\"", + "comma_separated_display_args": "--openapi-generator-artifacts=\"['', '', ...]\"", "config_key": "artifacts", - "default": ["com.pinterest:ktlint:{version}"], + "default": [ + "org.openapitools:openapi-generator-cli:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ktlint-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_KTLINT_ARTIFACTS", + "display_args": [ + "--openapi-generator-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_OPENAPI_GENERATOR_ARTIFACTS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[ktlint].version` option.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[openapi-generator].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ktlint-artifacts"], + "scoped_cmd_line_args": [ + "--openapi-generator-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -86699,7 +116250,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["com.pinterest:ktlint:{version}"] + "value": [ + "org.openapitools:openapi-generator-cli:{version}" + ] } ] } @@ -86707,21 +116260,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ktlint-lockfile=", + "comma_separated_display_args": "--openapi-generator-lockfile=", "config_key": "lockfile", "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ktlint-lockfile="], - "env_var": "PANTS_KTLINT_LOCKFILE", + "display_args": [ + "--openapi-generator-lockfile=" + ], + "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.19.0rc1/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.19.0rc5/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": ["--ktlint-lockfile"], + "scoped_cmd_line_args": [ + "--openapi-generator-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -86740,21 +116299,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ktlint-jvm-options=\"['', '', ...]\"", + "comma_separated_display_args": "--openapi-generator-jvm-options=\"['', '', ...]\"", "config_key": "jvm_options", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ktlint-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_KTLINT_JVM_OPTIONS", + "display_args": [ + "--openapi-generator-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_OPENAPI_GENERATOR_JVM_OPTIONS", "fromfile": false, - "help": "List of JVM options to pass to `ktlint` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "List of JVM options to pass to `openapi-generator` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ktlint-jvm-options"], + "scoped_cmd_line_args": [ + "--openapi-generator-jvm-options" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { @@ -86771,114 +116336,170 @@ } } ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "The OpenAPI Code generator (https://openapi-generator.tech)", + "is_goal": false, + "provider": "pants.backend.experimental.openapi.codegen.java", + "scope": "openapi-generator" + }, + "package": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Create a distributable package.", + "is_goal": true, + "provider": "pants.core", + "scope": "package" + }, + "paths": { + "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]ktlint-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--paths-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]ktlint-skip"], - "env_var": "PANTS_KTLINT_SKIP", + "display_args": [ + "--paths-output-file=" + ], + "env_var": "PANTS_PATHS_OUTPUT_FILE", "fromfile": false, - "help": "If true, don't use Ktlint when running `pants fmt` and `pants lint`.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ktlint-skip", "--no-ktlint-skip"], + "scoped_cmd_line_args": [ + "--paths-output-file" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Ktlint, the anti-bikeshedding Kotlin linter with built-in formatter (https://ktlint.github.io/)", - "is_goal": false, - "provider": "pants.backend.experimental.kotlin.lint.ktlint", - "scope": "ktlint" - }, - "lint": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--lint-batch-size=", - "config_key": "batch_size", - "default": 128, + "comma_separated_display_args": "--paths-from=", + "config_key": "from", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--lint-batch-size="], - "env_var": "PANTS_LINT_BATCH_SIZE", + "display_args": [ + "--paths-from=" + ], + "env_var": "PANTS_PATHS_FROM", "fromfile": false, - "help": "The target number of files to be included in each linter batch.\n\nLinter processes are batched for a few reasons:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch.\n 3. to allow for parallelism in linter processes which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly.\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" batch size (rather than an exact value).", + "help": "The path starting address", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--lint-batch-size"], + "scoped_cmd_line_args": [ + "--paths-from" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--batch-size"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--from" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--paths-to=", + "config_key": "to", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--paths-to=" + ], + "env_var": "PANTS_PATHS_TO", + "fromfile": false, + "help": "The path end address", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--paths-to" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--to" + ], + "value_history": { + "ranked_values": [ { "details": null, - "rank": "HARDCODED", - "value": 128 + "rank": "NONE", + "value": null } ] } } ], + "deprecated": [], + "deprecated_scope": null, + "description": "List the paths between two addresses. Either address may represent a group of targets, e.g. `--from=src/app/main.py --to=src/library::`.", + "is_goal": true, + "provider": "pants.backend.project_info", + "scope": "paths" + }, + "peek": { + "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--lint-only=\"['', '', ...]\"", - "config_key": "only", - "default": [], + "comma_separated_display_args": "--peek-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--lint-only=\"['', '', ...]\""], - "env_var": "PANTS_LINT_ONLY", + "display_args": [ + "--peek-output-file=" + ], + "env_var": "PANTS_PEEK_OUTPUT_FILE", "fromfile": false, - "help": "Only run these linters and skip all others.\n\nThe linter names are outputted at the final summary of running this goal, e.g. `flake8` and `shellcheck`. You can also run `lint --only=fake` to get a list of all activated linters.\n\nYou can repeat this option, e.g. `lint --only=flake8 --only=shellcheck` or `lint --only=['flake8', 'shellcheck']`.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--lint-only"], + "scoped_cmd_line_args": [ + "--peek-output-file" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--only"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } @@ -86886,26 +116507,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]lint-skip-formatters", - "config_key": "skip_formatters", + "comma_separated_display_args": "--[no-]peek-exclude-defaults", + "config_key": "exclude_defaults", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]lint-skip-formatters"], - "env_var": "PANTS_LINT_SKIP_FORMATTERS", + "display_args": [ + "--[no-]peek-exclude-defaults" + ], + "env_var": "PANTS_PEEK_EXCLUDE_DEFAULTS", "fromfile": false, - "help": "If true, skip running all formatters in check-only mode.\n\nFYI: when running `pants fmt lint ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fmt` when running `lint` where possible.", + "help": "Whether to leave off values that match the target-defined default values.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--lint-skip-formatters", - "--no-lint-skip-formatters" + "--peek-exclude-defaults", + "--no-peek-exclude-defaults" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--skip-formatters", - "--no-skip-formatters" + "--exclude-defaults", + "--no-exclude-defaults" ], "value_history": { "ranked_values": [ @@ -86925,24 +116548,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]lint-skip-fixers", - "config_key": "skip_fixers", + "comma_separated_display_args": "--[no-]peek-include-dep-rules", + "config_key": "include_dep_rules", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]lint-skip-fixers"], - "env_var": "PANTS_LINT_SKIP_FIXERS", + "display_args": [ + "--[no-]peek-include-dep-rules" + ], + "env_var": "PANTS_PEEK_INCLUDE_DEP_RULES", "fromfile": false, - "help": "If true, skip running all fixers in check-only mode.\n\nFYI: when running `pants fix lint ::`, there should be diminishing performance benefit to using this flag. Pants attempts to reuse the results from `fix` when running `lint` where possible.", + "help": "Whether to include `_dependencies_rules`, `_dependents_rules` and `_applicable_dep_rules` that apply to the target and its dependencies.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--lint-skip-fixers", - "--no-lint-skip-fixers" + "--peek-include-dep-rules", + "--no-peek-include-dep-rules" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip-fixers", "--no-skip-fixers"], + "unscoped_cmd_line_args": [ + "--include-dep-rules", + "--no-include-dep-rules" + ], "value_history": { "ranked_values": [ { @@ -86961,60 +116589,173 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Run linters/formatters/fixers in check mode.", + "description": "Display BUILD target info", "is_goal": true, - "provider": "pants.core", - "scope": "lint" + "provider": "pants.backend.project_info", + "scope": "peek" }, - "list": { - "advanced": [], - "basic": [ + "pex": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--list-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--pex-verbosity=", + "config_key": "verbosity", + "default": 0, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--list-output-file="], - "env_var": "PANTS_LIST_OUTPUT_FILE", + "display_args": [ + "--pex-verbosity=" + ], + "env_var": "PANTS_PEX_VERBOSITY", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "Set the verbosity level of PEX logging, from 0 (no logging) up to 9 (max logging).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--list-output-file"], + "scoped_cmd_line_args": [ + "--pex-verbosity" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--verbosity" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 0 + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]pex-venv-use-symlinks", + "config_key": "venv_use_symlinks", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]pex-venv-use-symlinks" + ], + "env_var": "PANTS_PEX_VENV_USE_SYMLINKS", + "fromfile": false, + "help": "When possible, use venvs whose site-packages directories are populated with symlinks.\n\nEnabling this can save space in the `--named-caches-dir` directory and lead to slightly faster execution times for Pants Python goals. Some distributions do not work with symlinked venvs though, so you may not be able to enable this optimization as a result.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pex-venv-use-symlinks", + "--no-pex-venv-use-symlinks" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--venv-use-symlinks", + "--no-venv-use-symlinks" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pex-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pex-executable-search-paths=\"[, , ...]\"" + ], + "env_var": "PANTS_PEX_EXECUTABLE_SEARCH_PATHS", + "fromfile": false, + "help": "The PATH value that will be used by the PEX subprocess and any subprocesses it spawns.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pex-executable-search-paths" + ], + "target_field_name": "pex_executable_search_paths", + "typ": "list", + "unscoped_cmd_line_args": [ + "--executable-search-paths" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "" + ] } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "How Pants uses Pex to run Python subprocesses.", + "is_goal": false, + "provider": "pants.core", + "scope": "pex" + }, + "pex-binary-defaults": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--list-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--[no-]pex-binary-defaults-emit-warnings", + "config_key": "emit_warnings", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--list-sep="], - "env_var": "PANTS_LIST_SEP", + "display_args": [ + "--[no-]pex-binary-defaults-emit-warnings" + ], + "env_var": "PANTS_PEX_BINARY_DEFAULTS_EMIT_WARNINGS", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "Whether built PEX binaries should emit PEX warnings at runtime by default.\n\nCan be overridden by specifying the `emit_warnings` parameter of individual `pex_binary` targets", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--list-sep"], + "scoped_cmd_line_args": [ + "--pex-binary-defaults-emit-warnings", + "--no-pex-binary-defaults-emit-warnings" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--emit-warnings", + "--no-emit-warnings" + ], "value_history": { "ranked_values": [ { @@ -87025,7 +116766,7 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": true } ] } @@ -87033,21 +116774,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]list-documented", - "config_key": "documented", + "comma_separated_display_args": "--[no-]pex-binary-defaults-resolve-local-platforms", + "config_key": "resolve_local_platforms", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]list-documented"], - "env_var": "PANTS_LIST_DOCUMENTED", + "display_args": [ + "--[no-]pex-binary-defaults-resolve-local-platforms" + ], + "env_var": "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS", "fromfile": false, - "help": "Print only targets that are documented with a description.", + "help": "For each of the `platforms` specified for a `pex_binary` target, attempt to find a local interpreter that matches.\n\nIf a matching interpreter is found, use the interpreter to resolve distributions and build any that are only available in source distribution form. If no matching interpreter is found (or if this option is `False`), resolve for the platform by accepting only pre-built binary distributions (wheels).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--list-documented", "--no-list-documented"], + "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": ["--documented", "--no-documented"], + "unscoped_cmd_line_args": [ + "--resolve-local-platforms", + "--no-resolve-local-platforms" + ], "value_history": { "ranked_values": [ { @@ -87064,39 +116813,51 @@ } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Lists all targets matching the file or target arguments.", - "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "list" + "description": "Default settings for creating PEX executables.", + "is_goal": false, + "provider": "pants.backend.python", + "scope": "pex-binary-defaults" }, - "mypy": { + "pex-cli": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--pex-cli-version=", + "config_key": "version", + "default": "v2.1.148", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-install-from-resolve="], - "env_var": "PANTS_MYPY_INSTALL_FROM_RESOLVE", + "display_args": [ + "--pex-cli-version=" + ], + "env_var": "PANTS_PEX_CLI_VERSION", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Use this version of pex.\n\nSupported pex versions: >=2.1.135,<3.0", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-install-from-resolve"], + "scoped_cmd_line_args": [ + "--pex-cli-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "v2.1.148" } ] } @@ -87104,21 +116865,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--pex-cli-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v2.1.148|macos_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|macos_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|linux_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|linux_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-requirements=\"['', '', ...]\""], - "env_var": "PANTS_MYPY_REQUIREMENTS", + "display_args": [ + "--pex-cli-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_PEX_CLI_KNOWN_VERSIONS", "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": "\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": ["--mypy-requirements"], + "scoped_cmd_line_args": [ + "--pex-cli-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -87129,7 +116901,12 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "v2.1.148|macos_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|macos_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|linux_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", + "v2.1.148|linux_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604" + ] } ] } @@ -87137,34 +116914,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--pex-cli-url-template=", + "config_key": "url_template", + "default": "https://github.com/pantsbuild/pex/releases/download/{version}/pex", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--mypy-interpreter-constraints=\"['', '', ...]\"" + "--pex-cli-url-template=" ], - "env_var": "PANTS_MYPY_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PEX_CLI_URL_TEMPLATE", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "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/v2.19/docs/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": ["--mypy-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--pex-cli-url-template" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": "https://github.com/pantsbuild/pex/releases/download/{version}/pex" } ] } @@ -87172,21 +116953,64 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-console-script=", - "config_key": "console_script", - "default": "mypy", + "comma_separated_display_args": "--pex-cli-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-console-script="], - "env_var": "PANTS_MYPY_CONSOLE_SCRIPT", + "display_args": [ + "--pex-cli-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PEX_CLI_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "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": ["--mypy-console-script"], + "scoped_cmd_line_args": [ + "--pex-cli-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + } + ] + } + }, + { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--pex-cli-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pex-cli-use-unsupported-version=" + ], + "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.1.135,<3.0\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pex-cli-use-unsupported-version" + ], + "target_field_name": null, + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -87197,35 +117021,60 @@ { "details": null, "rank": "HARDCODED", - "value": "mypy" + "value": "error" } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "The PEX (Python EXecutable) tool (https://github.com/pantsbuild/pex).", + "is_goal": false, + "provider": "pants.core", + "scope": "pex-cli" + }, + "preamble": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]preamble-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-entry-point="], - "env_var": "PANTS_MYPY_ENTRY_POINT", + "display_args": [ + "--[no-]preamble-skip" + ], + "env_var": "PANTS_PREAMBLE_SKIP", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "If true, don't use preamble when running `pants fmt`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-entry-point"], + "scoped_cmd_line_args": [ + "--preamble-skip", + "--no-preamble-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } @@ -87233,54 +117082,75 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--preamble-template-by-globs=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "template_by_globs", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-config="], - "env_var": "PANTS_MYPY_CONFIG", - "fromfile": false, - "help": "Path to a config file understood by MyPy (https://mypy.readthedocs.io/en/stable/config_file.html).\n\nSetting this option will disable `[mypy].config_discovery`. Use this option if the config is located in a non-standard location.", + "display_args": [ + "--preamble-template-by-globs=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PREAMBLE_TEMPLATE_BY_GLOBS", + "fromfile": true, + "help": "Which preamble template to use based on the path globs (relative to the build root).\n\nExample:\n\n {\n '*.rs': '// Copyright (c) $year\\n// Line 2\\n'\n '*.py:!__init__.py': '# Copyright (c) $year\\n# Line 2\\n',\n }\n\nIt might be helpful to load this config from a JSON or YAML file. To do that, set `[preamble].config = '@path/to/config.yaml'`, for example.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-config"], + "scoped_cmd_line_args": [ + "--preamble-template-by-globs" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--template-by-globs" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Formats files with a preamble, with the preamble looked up based on path.\n\nThis is useful for things such as copyright headers or shebang lines.\n\nPants substitutes the following identifiers (following Python's `string.Template` substitutions): - $year: The current year (only used when actually writing the year to the file).", + "is_goal": false, + "provider": "pants.backend.tools.preamble", + "scope": "preamble" + }, + "prettier": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]mypy-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--prettier-version=", + "config_key": "version", + "default": "prettier@2.6.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]mypy-config-discovery"], - "env_var": "PANTS_MYPY_CONFIG_DISCOVERY", + "display_args": [ + "--prettier-version=" + ], + "env_var": "PANTS_PRETTIER_VERSION", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`mypy.ini`, `.mypy.ini`, and `setup.cfg`).\n\nUse `[mypy].config` instead if your config is in a non-standard location.", + "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--mypy-config-discovery", - "--no-mypy-config-discovery" + "--prettier-version" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--version" ], "value_history": { "ranked_values": [ @@ -87292,7 +117162,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "prettier@2.6.2" } ] } @@ -87300,34 +117170,33 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-source-plugins=\"[, , ...]\"", - "config_key": "source_plugins", - "default": [], + "comma_separated_display_args": "--prettier-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--mypy-source-plugins=\"[, , ...]\"" + "--prettier-install-from-resolve=" ], - "env_var": "PANTS_MYPY_SOURCE_PLUGINS", + "env_var": "PANTS_PRETTIER_INSTALL_FROM_RESOLVE", "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/v2.19/docs/python-check-goal.", + "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-source-plugins"], + "scoped_cmd_line_args": [ + "--prettier-install-from-resolve" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--source-plugins"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } @@ -87337,21 +117206,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]mypy-skip", + "comma_separated_display_args": "--[no-]prettier-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]mypy-skip"], - "env_var": "PANTS_MYPY_SKIP", + "display_args": [ + "--[no-]prettier-skip" + ], + "env_var": "PANTS_PRETTIER_SKIP", "fromfile": false, - "help": "If true, don't use MyPy when running `pants check`.", + "help": "If true, don't use Prettier when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-skip", "--no-mypy-skip"], + "scoped_cmd_line_args": [ + "--prettier-skip", + "--no-prettier-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -87370,21 +117247,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-args=\"[, , ...]\"", + "comma_separated_display_args": "--prettier-args=\"[, , ...]\"", "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-args=\"[, , ...]\""], - "env_var": "PANTS_MYPY_ARGS", + "display_args": [ + "--prettier-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PRETTIER_ARGS", "fromfile": false, - "help": "Arguments to pass directly to MyPy, e.g. `--mypy-args='--python-version 3.7 --disallow-any-expr'`.", + "help": "Arguments to pass directly to Prettier, e.g. `--prettier-args='--version'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-args"], + "scoped_cmd_line_args": [ + "--prettier-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -87403,37 +117286,48 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The MyPy Python type checker (http://mypy-lang.org/).", + "description": "The Prettier utility for formatting JS/TS (and others) code (https://prettier.io/).", "is_goal": false, - "provider": "pants.backend.python.typecheck.mypy", - "scope": "mypy" + "provider": "pants.backend.experimental.javascript.lint.prettier", + "scope": "prettier" }, - "mypy-protobuf": { + "protobuf-java-grpc": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-protobuf-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--protobuf-java-grpc-version=", + "config_key": "version", + "default": "1.48.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--mypy-protobuf-install-from-resolve="], - "env_var": "PANTS_MYPY_PROTOBUF_INSTALL_FROM_RESOLVE", + "display_args": [ + "--protobuf-java-grpc-version=" + ], + "env_var": "PANTS_PROTOBUF_JAVA_GRPC_VERSION", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Version string for the tool. This is available for substitution in the `[protobuf-java-grpc].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-protobuf-install-from-resolve"], + "scoped_cmd_line_args": [ + "--protobuf-java-grpc-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "1.48.0" } ] } @@ -87441,23 +117335,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-protobuf-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--protobuf-java-grpc-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "io.grpc:protoc-gen-grpc-java:exe:linux-aarch_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:osx-aarch_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:osx-x86_64:{version}" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--mypy-protobuf-requirements=\"['', '', ...]\"" + "--protobuf-java-grpc-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_MYPY_PROTOBUF_REQUIREMENTS", + "env_var": "PANTS_PROTOBUF_JAVA_GRPC_ARTIFACTS", "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": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[protobuf-java-grpc].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-protobuf-requirements"], + "scoped_cmd_line_args": [ + "--protobuf-java-grpc-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -87468,7 +117371,12 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "io.grpc:protoc-gen-grpc-java:exe:linux-aarch_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:osx-aarch_64:{version}", + "io.grpc:protoc-gen-grpc-java:exe:osx-x86_64:{version}" + ] } ] } @@ -87476,23 +117384,66 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--protobuf-java-grpc-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"" + "--protobuf-java-grpc-lockfile=" ], - "env_var": "PANTS_MYPY_PROTOBUF_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PROTOBUF_JAVA_GRPC_LOCKFILE", "fromfile": false, - "help": "Python interpreter constraints for this 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.19.0rc5/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": [ + "--protobuf-java-grpc-lockfile" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "" + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--protobuf-java-grpc-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--protobuf-java-grpc-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_PROTOBUF_JAVA_GRPC_JVM_OPTIONS", + "fromfile": false, + "help": "List of JVM options to pass to `protobuf-java-grpc` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--mypy-protobuf-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--protobuf-java-grpc-jvm-options" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { @@ -87503,7 +117454,7 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [] } ] } @@ -87512,31 +117463,37 @@ "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Configuration of the mypy-protobuf type stub generation plugin.", + "description": "gRPC support for Java Protobuf (https://github.com/grpc/grpc-java)", "is_goal": false, - "provider": "pants.backend.codegen.protobuf.python", - "scope": "mypy-protobuf" + "provider": "pants.backend.experimental.codegen.protobuf.java", + "scope": "protobuf-java-grpc" }, - "nodejs": { + "protoc": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-version=", + "comma_separated_display_args": "--protoc-version=", "config_key": "version", - "default": "v16.15.0", + "default": "3.20.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--nodejs-version="], - "env_var": "PANTS_NODEJS_VERSION", + "display_args": [ + "--protoc-version=" + ], + "env_var": "PANTS_PROTOC_VERSION", "fromfile": false, - "help": "Use this version of nodejs.", + "help": "Use this version of protoc.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-version"], + "scoped_cmd_line_args": [ + "--protoc-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -87547,7 +117504,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v16.15.0" + "value": "3.20.1" } ] } @@ -87555,28 +117512,36 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-known-versions=\"['', '', ...]\"", + "comma_separated_display_args": "--protoc-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v16.15.0|macos_arm64|ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b|29126014", - "v16.15.0|macos_x86_64|a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8|30561503", - "v16.15.0|linux_arm64|b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56|21403276", - "v16.15.0|linux_x86_64|ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372|22031988" + "24.4|linux_arm64 |83ac000ff540e242b6a2ff221a3ac88d2d8e55443801b7a28e9697e5f40e8937|2971447", + "24.4|linux_x86_64|5871398dfd6ac954a6adebf41f1ae3a4de915a36a6ab2fd3e8f2c00d45b50dec|3005774", + "24.4|macos_arm64 |d80544480397fe8a05d966fba291cf1233ad0db0ebc24ec72d7bd077d6e7ac59|2088802", + "24.4|macos_x86_64|6c3b6bf4038d733b6d31f1cc4516a656570b5b5aafb966b650f8182afd0b98cf|2121366", + "3.20.1|linux_arm64 |8a5a51876259f934cd2acc2bc59dba0e9a51bd631a5c37a4b9081d6e4dbc7591|1804837", + "3.20.1|linux_x86_64|3a0e900f9556fbcac4c3a913a00d07680f0fdf6b990a341462d822247b265562|1714731", + "3.20.1|macos_arm64 |b362acae78542872bb6aac8dba73aaf0dc6e94991b8b0a065d6c3e703fec2a8b|2708249", + "3.20.1|macos_x86_64|b4f36b18202d54d343a66eebc9f8ae60809a2a96cc2d1b378137550bbe4cf33c|2708249" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-known-versions=\"['', '', ...]\"" + "--protoc-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_NODEJS_KNOWN_VERSIONS", + "env_var": "PANTS_PROTOC_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"], + "scoped_cmd_line_args": [ + "--protoc-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -87588,10 +117553,14 @@ "details": "", "rank": "HARDCODED", "value": [ - "v16.15.0|macos_arm64|ad8d8fc5330ef47788f509c2af398c8060bb59acbe914070d0df684cd2d8d39b|29126014", - "v16.15.0|macos_x86_64|a6bb12bbf979d32137598e49d56d61bcddf8a8596c3442b44a9b3ace58dd4de8|30561503", - "v16.15.0|linux_arm64|b4080b86562c5397f32da7a0723b95b1df523cab4c757688a184e3f733a7df56|21403276", - "v16.15.0|linux_x86_64|ebdf4dc9d992d19631f0931cca2fc33c6d0d382543639bc6560d31d5060a8372|22031988" + "24.4|linux_arm64 |83ac000ff540e242b6a2ff221a3ac88d2d8e55443801b7a28e9697e5f40e8937|2971447", + "24.4|linux_x86_64|5871398dfd6ac954a6adebf41f1ae3a4de915a36a6ab2fd3e8f2c00d45b50dec|3005774", + "24.4|macos_arm64 |d80544480397fe8a05d966fba291cf1233ad0db0ebc24ec72d7bd077d6e7ac59|2088802", + "24.4|macos_x86_64|6c3b6bf4038d733b6d31f1cc4516a656570b5b5aafb966b650f8182afd0b98cf|2121366", + "3.20.1|linux_arm64 |8a5a51876259f934cd2acc2bc59dba0e9a51bd631a5c37a4b9081d6e4dbc7591|1804837", + "3.20.1|linux_x86_64|3a0e900f9556fbcac4c3a913a00d07680f0fdf6b990a341462d822247b265562|1714731", + "3.20.1|macos_arm64 |b362acae78542872bb6aac8dba73aaf0dc6e94991b8b0a065d6c3e703fec2a8b|2708249", + "3.20.1|macos_x86_64|b4f36b18202d54d343a66eebc9f8ae60809a2a96cc2d1b378137550bbe4cf33c|2708249" ] } ] @@ -87600,21 +117569,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-url-template=", + "comma_separated_display_args": "--protoc-url-template=", "config_key": "url_template", - "default": "https://nodejs.org/dist/{version}/node-{version}-{platform}.tar", + "default": "https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--nodejs-url-template="], - "env_var": "PANTS_NODEJS_URL_TEMPLATE", + "display_args": [ + "--protoc-url-template=" + ], + "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/v2.19/docs/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": ["--nodejs-url-template"], + "scoped_cmd_line_args": [ + "--protoc-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -87625,7 +117600,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://nodejs.org/dist/{version}/node-{version}-{platform}.tar" + "value": "https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip" } ] } @@ -87633,28 +117608,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-x64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-x64" + "comma_separated_display_args": "--protoc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-aarch_64", + "linux_x86_64": "linux-x86_64", + "macos_arm64": "osx-aarch_64", + "macos_x86_64": "osx-x86_64" }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--protoc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_NODEJS_URL_PLATFORM_MAPPING", + "env_var": "PANTS_PROTOC_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": ["--nodejs-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--protoc-url-platform-mapping" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { @@ -87666,46 +117645,53 @@ "details": "", "rank": "HARDCODED", "value": { - "linux_arm64": "linux-arm64", - "linux_x86_64": "linux-x64", - "macos_arm64": "darwin-arm64", - "macos_x86_64": "darwin-x64" + "linux_arm64": "linux-aarch_64", + "linux_x86_64": "linux-x86_64", + "macos_arm64": "osx-aarch_64", + "macos_x86_64": "osx-x86_64" } } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-resolves=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves", - "default": {}, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--protoc-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-resolves=\"{'key1': val1, 'key2': val2, ...}\"" + "--protoc-use-unsupported-version=" ], - "env_var": "PANTS_NODEJS_RESOLVES", + "env_var": "PANTS_PROTOC_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "A mapping of names to lockfile paths used in your project.\n\nSpecifying a resolve name is optional. If unspecified, the default resolve name is calculated by taking the path from the source root to the directory containing the lockfile and replacing '/' with '.' in that path.\n\nExample: An npm lockfile located at `src/js/package/package-lock.json' will result in a resolve named `js.package`, assuming src/ is a source root.\n\nRun `pants generate-lockfiles` to generate the lockfile(s).", + "help": "\nWhat action to take in case the requested version of protoc is not supported.\n\nSupported protoc versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-resolves"], + "scoped_cmd_line_args": [ + "--protoc-use-unsupported-version" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": "error" } ] } @@ -87713,139 +117699,173 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [""], + "comma_separated_display_args": "--[no-]protoc-tailor", + "config_key": "tailor", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-executable-search-paths=\"[, , ...]\"" + "--[no-]protoc-tailor" ], - "env_var": "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS", + "env_var": "PANTS_PROTOC_TAILOR", "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.", + "help": "If true, add `protobuf_sources` targets with the `tailor` goal.", "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"], + "scoped_cmd_line_args": [ + "--protoc-tailor", + "--no-protoc-tailor" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-search-path=\"[, , ...]\"", - "config_key": "search_path", - "default": [""], + "comma_separated_display_args": "--[no-]protoc-dependency-inference", + "config_key": "dependency_inference", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-search-path=\"[, , ...]\"" + "--[no-]protoc-dependency-inference" ], - "env_var": "PANTS_NODEJS_SEARCH_PATH", + "env_var": "PANTS_PROTOC_DEPENDENCY_INFERENCE", "fromfile": false, - "help": "A list of paths to search for Node.js distributions.\n\nThis option is only used if a templated url download specified via [nodejs].known_versions does not contain a version matching the configured [nodejs].version range.\n\nYou can specify absolute paths to binaries and/or to directories containing binaries. The order of entries does not matter.\n\nThe following special strings are supported:\n\nFor all runtime environment types:\n\n* ``, the contents of the PATH env var\n\nWhen the environment is a `local_environment` target:\n\n* ``, all Node.js versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF binaries with the version in `BUILD_ROOT/.tool-versions`\n* ``, all NodeJS versions under $NVM_DIR/versions/node\n* ``, the nvm installation with the version in BUILD_ROOT/.nvmrc\nNote that the version in the .nvmrc file has to be on the form \"vX.Y.Z\".", + "help": "Infer Protobuf dependencies on other Protobuf files by analyzing import statements.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-search-path"], - "target_field_name": "nodejs_search_path", - "typ": "list", - "unscoped_cmd_line_args": ["--search-path"], + "scoped_cmd_line_args": [ + "--protoc-dependency-inference", + "--no-protoc-dependency-inference" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--dependency-inference", + "--no-dependency-inference" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": true } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The protocol buffer compiler (https://developers.google.com/protocol-buffers).", + "is_goal": false, + "provider": "pants.backend.codegen.protobuf.python", + "scope": "protoc" + }, + "publish": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-corepack-env-vars=\"[, , ...]\"", - "config_key": "corepack_env_vars", - "default": [], + "comma_separated_display_args": "--publish-output=", + "config_key": "output", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-corepack-env-vars=\"[, , ...]\"" + "--publish-output=" ], - "env_var": "PANTS_NODEJS_COREPACK_ENV_VARS", + "env_var": "PANTS_PUBLISH_OUTPUT", "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.", + "help": "Filename for JSON structured publish information.", "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"], + "scoped_cmd_line_args": [ + "--publish-output" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--output" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } } ], + "deprecated": [], + "deprecated_scope": null, + "description": "Publish deliverables (assets, distributions, images, etc).", + "is_goal": true, + "provider": "pants.core", + "scope": "publish" + }, + "py-constraints": { + "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-package-manager=", - "config_key": "package_manager", - "default": "npm", + "comma_separated_display_args": "--py-constraints-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--nodejs-package-manager="], - "env_var": "PANTS_NODEJS_PACKAGE_MANAGER", + "display_args": [ + "--py-constraints-output-file=" + ], + "env_var": "PANTS_PY_CONSTRAINTS_OUTPUT_FILE", "fromfile": false, - "help": "Default Node.js package manager to use.\n\nYou can either rely on this default together with the [nodejs].package_managers option, or specify the `package.json#packageManager` tool and version in the package.json of your project.\n\nSpecifying conflicting package manager versions within a multi-package workspace is an error.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-package-manager"], + "scoped_cmd_line_args": [ + "--py-constraints-output-file" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--package-manager"], + "unscoped_cmd_line_args": [ + "--output-file" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "npm" } ] } @@ -87853,38 +117873,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "package_managers", - "default": { - "npm": "8.5.5" - }, + "comma_separated_display_args": "--[no-]py-constraints-summary", + "config_key": "summary", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]py-constraints-summary" ], - "env_var": "PANTS_NODEJS_PACKAGE_MANAGERS", + "env_var": "PANTS_PY_CONSTRAINTS_SUMMARY", "fromfile": false, - "help": "A mapping of package manager versions to semver releases.\n\nMany organizations only need a single version of a package manager, which is a good default and often the simplest thing to do.\n\nThe version download is managed by Corepack. This mapping corresponds to the https://github.com/nodejs/corepack#known-good-releases setting, using the `--activate` flag.", + "help": "Output a CSV summary of interpreter constraints for your whole repository. The headers are `Target`, `Constraints`, `Transitive Constraints`, `# Dependencies`, and `# Dependents`.\n\nThis information can be useful when prioritizing a migration from one Python version to another (e.g. to Python 3). Use `# Dependencies` and `# Dependents` to help prioritize which targets are easiest to port (low # dependencies) and highest impact to port (high # dependents).\n\nUse a tool like Pandas or Excel to process the CSV. Use the option `--py-constraints-output-file=summary.csv` to write directly to a file.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--nodejs-package-managers"], + "scoped_cmd_line_args": [ + "--py-constraints-summary", + "--no-py-constraints-summary" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--package-managers"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--summary", + "--no-summary" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "npm": "8.5.5" - } + "value": false } ] } @@ -87892,46 +117914,43 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Node.js Javascript runtime (including Corepack).", - "is_goal": false, - "provider": "pants.backend.experimental.openapi.lint.spectral", - "scope": "nodejs" + "description": "Determine what Python interpreter constraints are used by files/targets.", + "is_goal": true, + "provider": "pants.backend.python.mixed_interpreter_constraints", + "scope": "py-constraints" }, - "nodejs-infer": { - "advanced": [], - "basic": [ + "pydocstyle": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]nodejs-infer-imports", - "config_key": "imports", - "default": true, + "comma_separated_display_args": "--pydocstyle-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]nodejs-infer-imports"], - "env_var": "PANTS_NODEJS_INFER_IMPORTS", + "display_args": [ + "--pydocstyle-install-from-resolve=" + ], + "env_var": "PANTS_PYDOCSTYLE_INSTALL_FROM_RESOLVE", "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.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ - "--nodejs-infer-imports", - "--no-nodejs-infer-imports" + "--pydocstyle-install-from-resolve" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } @@ -87939,117 +117958,109 @@ { "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, + "comma_separated_display_args": "--pydocstyle-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]nodejs-infer-package-json-entry-points"], - "env_var": "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS", + "display_args": [ + "--pydocstyle-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYDOCSTYLE_REQUIREMENTS", "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.", + "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.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--nodejs-infer-package-json-entry-points", - "--no-nodejs-infer-package-json-entry-points" + "--pydocstyle-requirements" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--package-json-entry-points", - "--no-package-json-entry-points" + "--requirements" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Options controlling which dependencies will be inferred for javascript targets.", - "is_goal": false, - "provider": "pants.backend.experimental.openapi.lint.spectral", - "scope": "nodejs-infer" - }, - "openapi": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]openapi-tailor-targets", - "config_key": "tailor_targets", - "default": true, + "comma_separated_display_args": "--pydocstyle-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]openapi-tailor-targets"], - "env_var": "PANTS_OPENAPI_TAILOR_TARGETS", + "display_args": [ + "--pydocstyle-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYDOCSTYLE_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "If true, add `openapi_documents` and `openapi_sources` targets with the `tailor` goal.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--openapi-tailor-targets", - "--no-openapi-tailor-targets" + "--pydocstyle-interpreter-constraints" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor-targets", "--no-tailor-targets"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "CPython>=3.7,<4" + ] } ] } - } - ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "The OpenAPI Specification (https://swagger.io/specification/).", - "is_goal": false, - "provider": "pants.backend.experimental.openapi", - "scope": "openapi" - }, - "openapi-format": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--openapi-format-version=", - "config_key": "version", - "default": "openapi-format@1.13.1", + "comma_separated_display_args": "--pydocstyle-console-script=", + "config_key": "console_script", + "default": "pydocstyle", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--openapi-format-version="], - "env_var": "PANTS_OPENAPI_FORMAT_VERSION", + "display_args": [ + "--pydocstyle-console-script=" + ], + "env_var": "PANTS_PYDOCSTYLE_CONSOLE_SCRIPT", "fromfile": false, - "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--openapi-format-version"], + "scoped_cmd_line_args": [ + "--pydocstyle-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -88060,7 +118071,7 @@ { "details": null, "rank": "HARDCODED", - "value": "openapi-format@1.13.1" + "value": "pydocstyle" } ] } @@ -88068,21 +118079,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--openapi-format-install-from-resolve=", - "config_key": "install_from_resolve", + "comma_separated_display_args": "--pydocstyle-entry-point=", + "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--openapi-format-install-from-resolve="], - "env_var": "PANTS_OPENAPI_FORMAT_INSTALL_FROM_RESOLVE", + "display_args": [ + "--pydocstyle-entry-point=" + ], + "env_var": "PANTS_PYDOCSTYLE_ENTRY_POINT", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--openapi-format-install-from-resolve"], + "scoped_cmd_line_args": [ + "--pydocstyle-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -88092,41 +118109,37 @@ } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]openapi-format-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--pydocstyle-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]openapi-format-skip"], - "env_var": "PANTS_OPENAPI_FORMAT_SKIP", + "display_args": [ + "--pydocstyle-config=" + ], + "env_var": "PANTS_PYDOCSTYLE_CONFIG", "fromfile": false, - "help": "If true, don't use openapi-format when running `pants fmt` and `pants lint`.", + "help": "Path to a Pydocstyle config file (http://www.pydocstyle.org/en/stable/usage.html#configuration-files).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--openapi-format-skip", - "--no-openapi-format-skip" + "--pydocstyle-config" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } @@ -88134,111 +118147,83 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--openapi-format-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]pydocstyle-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--openapi-format-args=\"[, , ...]\"" + "--[no-]pydocstyle-config-discovery" ], - "env_var": "PANTS_OPENAPI_FORMAT_ARGS", + "env_var": "PANTS_PYDOCSTYLE_CONFIG_DISCOVERY", "fromfile": false, - "help": "Arguments to pass directly to openapi-format, e.g. `--openapi-format-args='--no-sort'`.", + "help": "If true, Pants will include any relevant config files during runs (`setup.cfg`, `tox.ini`, `.pydocstyle`, `.pydocstyle.ini`, `.pydocstylerc`, `.pydocstylerc.ini`, and `pyproject.toml`) searching for the configuration file in this particular order.\n\nPlease note that even though `pydocstyle` keeps looking for a configuration file up the directory tree until one is found, Pants will only search for the config files in the repository root (from where you would normally run the `` command).\n\nUse `[pydocstyle].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--openapi-format-args"], + "scoped_cmd_line_args": [ + "--pydocstyle-config-discovery", + "--no-pydocstyle-config-discovery" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "Format an OpenAPI document by ordering, formatting and filtering fields (https://github.com/thim81/openapi-format).", - "is_goal": false, - "provider": "pants.backend.experimental.openapi.lint.openapi_format", - "scope": "openapi-format" - }, - "package": { - "advanced": [], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Create a distributable package.", - "is_goal": true, - "provider": "pants.core", - "scope": "package" - }, - "paths": { - "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--paths-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--[no-]pydocstyle-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--paths-output-file="], - "env_var": "PANTS_PATHS_OUTPUT_FILE", + "display_args": [ + "--[no-]pydocstyle-skip" + ], + "env_var": "PANTS_PYDOCSTYLE_SKIP", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "If true, don't use Pydocstyle when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--paths-output-file"], + "scoped_cmd_line_args": [ + "--pydocstyle-skip", + "--no-pydocstyle-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--paths-from=", - "config_key": "from", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--paths-from="], - "env_var": "PANTS_PATHS_FROM", - "fromfile": false, - "help": "The path starting address", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--paths-from"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--from"], - "value_history": { - "ranked_values": [ + }, { "details": null, - "rank": "NONE", - "value": null + "rank": "HARDCODED", + "value": false } ] } @@ -88246,66 +118231,87 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--paths-to=", - "config_key": "to", - "default": null, + "comma_separated_display_args": "--pydocstyle-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--paths-to="], - "env_var": "PANTS_PATHS_TO", + "display_args": [ + "--pydocstyle-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PYDOCSTYLE_ARGS", "fromfile": false, - "help": "The path end address", + "help": "Arguments to pass directly to Pydocstyle, e.g. `--pydocstyle-args='--select=D101,D102'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--paths-to"], + "scoped_cmd_line_args": [ + "--pydocstyle-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--to"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } } ], "deprecated": [], - "deprecated_scope": null, - "description": "List the paths between two addresses. Either address may represent a group of targets, e.g. `--from=src/app/main.py --to=src/library::`.", - "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "paths" + "deprecated_scope": null, + "description": "A tool for checking compliance with Python docstring conventions (http://www.pydocstyle.org/en/stable/).", + "is_goal": false, + "provider": "pants.backend.python.lint.pydocstyle", + "scope": "pydocstyle" }, - "peek": { - "advanced": [], - "basic": [ + "pyenv-python-provider": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--peek-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--pyenv-python-provider-version=", + "config_key": "version", + "default": "2.3.13", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--peek-output-file="], - "env_var": "PANTS_PEEK_OUTPUT_FILE", + "display_args": [ + "--pyenv-python-provider-version=" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_VERSION", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "Use this version of pyenv.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--peek-output-file"], + "scoped_cmd_line_args": [ + "--pyenv-python-provider-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "2.3.13" } ] } @@ -88313,38 +118319,48 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]peek-exclude-defaults", - "config_key": "exclude_defaults", - "default": false, + "comma_separated_display_args": "--pyenv-python-provider-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "2.3.13|macos_arm64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|macos_x86_64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|linux_x86_64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|linux_arm64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]peek-exclude-defaults"], - "env_var": "PANTS_PEEK_EXCLUDE_DEFAULTS", + "display_args": [ + "--pyenv-python-provider-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_KNOWN_VERSIONS", "fromfile": false, - "help": "Whether to leave off values that match the target-defined default values.", + "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": [ - "--peek-exclude-defaults", - "--no-peek-exclude-defaults" + "--pyenv-python-provider-known-versions" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--exclude-defaults", - "--no-exclude-defaults" + "--known-versions" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "2.3.13|macos_arm64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|macos_x86_64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|linux_x86_64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323", + "2.3.13|linux_arm64|9105de5e5cf8dc0eca2a520ed04493d183128d46a2cfb402d4cc271af1bf144b|749323" + ] } ] } @@ -88352,26 +118368,26 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]peek-include-dep-rules", - "config_key": "include_dep_rules", - "default": false, + "comma_separated_display_args": "--pyenv-python-provider-url-template=", + "config_key": "url_template", + "default": "https://github.com/pyenv/pyenv/archive/refs/tags/v{version}.tar.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]peek-include-dep-rules"], - "env_var": "PANTS_PEEK_INCLUDE_DEP_RULES", + "display_args": [ + "--pyenv-python-provider-url-template=" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_URL_TEMPLATE", "fromfile": false, - "help": "Whether to include `_dependencies_rules`, `_dependents_rules` and `_applicable_dep_rules` that apply to the target and its dependencies.", + "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/v2.19/docs/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": [ - "--peek-include-dep-rules", - "--no-peek-include-dep-rules" + "--pyenv-python-provider-url-template" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--include-dep-rules", - "--no-include-dep-rules" + "--url-template" ], "value_history": { "ranked_values": [ @@ -88383,77 +118399,71 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "https://github.com/pyenv/pyenv/archive/refs/tags/v{version}.tar.gz" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Display BUILD target info", - "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "peek" - }, - "pex": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-verbosity=", - "config_key": "verbosity", - "default": 0, + "comma_separated_display_args": "--pyenv-python-provider-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pex-verbosity="], - "env_var": "PANTS_PEX_VERBOSITY", + "display_args": [ + "--pyenv-python-provider-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Set the verbosity level of PEX logging, from 0 (no logging) up to 9 (max logging).", + "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": ["--pex-verbosity"], + "scoped_cmd_line_args": [ + "--pyenv-python-provider-url-platform-mapping" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--verbosity"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 0 + "value": {} } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pex-venv-use-symlinks", - "config_key": "venv_use_symlinks", - "default": false, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--pyenv-python-provider-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pex-venv-use-symlinks"], - "env_var": "PANTS_PEX_VENV_USE_SYMLINKS", + "display_args": [ + "--pyenv-python-provider-use-unsupported-version=" + ], + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "When possible, use venvs whose site-packages directories are populated with symlinks.\n\nEnabling this can save space in the `--named-caches-dir` directory and lead to slightly faster execution times for Pants Python goals. Some distributions do not work with symlinked venvs though, so you may not be able to enable this optimization as a result.", + "help": "\nWhat action to take in case the requested version of pyenv is not supported.\n\nSupported pyenv versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pex-venv-use-symlinks", - "--no-pex-venv-use-symlinks" + "--pyenv-python-provider-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--venv-use-symlinks", - "--no-venv-use-symlinks" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -88465,31 +118475,37 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [""], + "comma_separated_display_args": "--pyenv-python-provider-installation-extra-env-vars=\"['', '', ...]\"", + "config_key": "installation_extra_env_vars", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pex-executable-search-paths=\"[, , ...]\"" + "--pyenv-python-provider-installation-extra-env-vars=\"['', '', ...]\"" ], - "env_var": "PANTS_PEX_EXECUTABLE_SEARCH_PATHS", + "env_var": "PANTS_PYENV_PYTHON_PROVIDER_INSTALLATION_EXTRA_ENV_VARS", "fromfile": false, - "help": "The PATH value that will be used by the PEX subprocess and any subprocesses it spawns.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", + "help": "Additional environment variables to include when running `pyenv install`.\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 is especially useful if you want to use an optimized Python (E.g. setting `PYTHON_CONFIGURE_OPTS='--enable-optimizations --with-lto'` and `PYTHON_CFLAGS='-march=native -mtune=native'`) or need custom compiler flags.\n\nNote that changes to this option result in a different fingerprint for the installed Python, and therefore will cause a full re-install if changed.\n\nSee https://github.com/pyenv/pyenv/blob/master/plugins/python-build/README.md#special-environment-variables for supported env vars.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-executable-search-paths"], - "target_field_name": "pex_executable_search_paths", + "scoped_cmd_line_args": [ + "--pyenv-python-provider-installation-extra-env-vars" + ], + "target_field_name": "pyenv_python_provider_installation_extra_env_vars", "typ": "list", - "unscoped_cmd_line_args": ["--executable-search-paths"], + "unscoped_cmd_line_args": [ + "--installation-extra-env-vars" + ], "value_history": { "ranked_values": [ { @@ -88500,54 +118516,51 @@ { "details": "", "rank": "HARDCODED", - "value": [""] + "value": [] } ] } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "How Pants uses Pex to run Python subprocesses.", + "description": "A subsystem for Pants-provided Python leveraging pyenv (https://github.com/pyenv/pyenv).\n\nEnabling this subsystem will switch Pants from trying to find an appropriate Python on your system to using pyenv to install the correct Python(s).\n\nThe Pythons provided by Pyenv will be used to run any \"user\" code (your Python code as well as any Python-based tools you use, like black or pylint). The Pythons are also read-only to ensure they remain hermetic across runs of different tools and code.\n\nThe Pythons themselves are stored in your `named_caches_dir`: https://www.pantsbuild.org/docs/reference-global#named_caches_dir under `pyenv/versions/`. Wiping the relevant version directory (with `sudo rm -rf`) will force a re-install of Python. This may be necessary after changing something about the underlying system which changes the compiled Python, such as installing an optional-at-build-time dependency like `liblzma-dev` (which is used for the optional module `lzma`).\n\nBy default, the subsystem does not pass any optimization flags to the Python compilation process. Doing so would increase the time it takes to install a single Python by about an order of magnitude (E.g. ~2.5 minutes to ~26 minutes).", "is_goal": false, - "provider": "pants.core", - "scope": "pex" + "provider": "pants.backend.python.providers.experimental.pyenv", + "scope": "pyenv-python-provider" }, - "pex-binary-defaults": { + "pylint": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pex-binary-defaults-emit-warnings", - "config_key": "emit_warnings", - "default": true, + "comma_separated_display_args": "--pylint-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pex-binary-defaults-emit-warnings"], - "env_var": "PANTS_PEX_BINARY_DEFAULTS_EMIT_WARNINGS", + "display_args": [ + "--pylint-install-from-resolve=" + ], + "env_var": "PANTS_PYLINT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Whether built PEX binaries should emit PEX warnings at runtime by default.\n\nCan be overridden by specifying the `emit_warnings` parameter of individual `pex_binary` targets", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ - "--pex-binary-defaults-emit-warnings", - "--no-pex-binary-defaults-emit-warnings" + "--pylint-install-from-resolve" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--emit-warnings", "--no-emit-warnings"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } @@ -88555,73 +118568,66 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pex-binary-defaults-resolve-local-platforms", - "config_key": "resolve_local_platforms", - "default": false, + "comma_separated_display_args": "--pylint-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--[no-]pex-binary-defaults-resolve-local-platforms" + "--pylint-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS", + "env_var": "PANTS_PYLINT_REQUIREMENTS", "fromfile": false, - "help": "For each of the `platforms` specified for a `pex_binary` target, attempt to find a local interpreter that matches.\n\nIf a matching interpreter is found, use the interpreter to resolve distributions and build any that are only available in source distribution form. If no matching interpreter is found (or if this option is `False`), resolve for the platform by accepting only pre-built binary distributions (wheels).", + "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.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pex-binary-defaults-resolve-local-platforms", - "--no-pex-binary-defaults-resolve-local-platforms" + "--pylint-requirements" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--resolve-local-platforms", - "--no-resolve-local-platforms" + "--requirements" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } - } - ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Default settings for creating PEX executables.", - "is_goal": false, - "provider": "pants.backend.python", - "scope": "pex-binary-defaults" - }, - "pex-cli": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-cli-version=", - "config_key": "version", - "default": "v2.1.148", + "comma_separated_display_args": "--pylint-console-script=", + "config_key": "console_script", + "default": "pylint", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pex-cli-version="], - "env_var": "PANTS_PEX_CLI_VERSION", + "display_args": [ + "--pylint-console-script=" + ], + "env_var": "PANTS_PYLINT_CONSOLE_SCRIPT", "fromfile": false, - "help": "Use this version of pex.\n\nSupported pex versions: >=2.1.135,<3.0", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-version"], + "scoped_cmd_line_args": [ + "--pylint-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -88632,7 +118638,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v2.1.148" + "value": "pylint" } ] } @@ -88640,44 +118646,33 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-cli-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "v2.1.148|macos_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|macos_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|linux_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|linux_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604" - ], + "comma_separated_display_args": "--pylint-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pex-cli-known-versions=\"['', '', ...]\"" + "--pylint-entry-point=" ], - "env_var": "PANTS_PEX_CLI_KNOWN_VERSIONS", + "env_var": "PANTS_PYLINT_ENTRY_POINT", "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", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-known-versions"], + "scoped_cmd_line_args": [ + "--pylint-entry-point" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [ - "v2.1.148|macos_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|macos_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|linux_x86_64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604", - "v2.1.148|linux_arm64|5b1dee5a89fff25747753e917f96b8707ea62eed404d037d5f8cf8f2e80a13b7|4197604" - ] + "value": null } ] } @@ -88685,32 +118680,33 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-cli-url-template=", - "config_key": "url_template", - "default": "https://github.com/pantsbuild/pex/releases/download/{version}/pex", + "comma_separated_display_args": "--pylint-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pex-cli-url-template="], - "env_var": "PANTS_PEX_CLI_URL_TEMPLATE", + "display_args": [ + "--pylint-config=" + ], + "env_var": "PANTS_PYLINT_CONFIG", "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/v2.19/docs/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": "Path to a config file understood by Pylint (http://pylint.pycqa.org/en/latest/user_guide/run.html#command-line-options).\n\nSetting this option will disable `[pylint].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-url-template"], + "scoped_cmd_line_args": [ + "--pylint-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "https://github.com/pantsbuild/pex/releases/download/{version}/pex" } ] } @@ -88718,98 +118714,111 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pex-cli-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": {}, + "comma_separated_display_args": "--[no-]pylint-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pex-cli-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]pylint-config-discovery" ], - "env_var": "PANTS_PEX_CLI_URL_PLATFORM_MAPPING", + "env_var": "PANTS_PYLINT_CONFIG_DISCOVERY", "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`.", + "help": "If true, Pants will include any relevant config files during runs (`.pylintrc`, `pylintrc`, `pyproject.toml`, and `setup.cfg`).\n\nUse `[pylint].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--pylint-config-discovery", + "--no-pylint-config-discovery" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } }, { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--pex-cli-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pylint-source-plugins=\"[, , ...]\"", + "config_key": "source_plugins", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pex-cli-use-unsupported-version=" + "--pylint-source-plugins=\"[, , ...]\"" ], - "env_var": "PANTS_PEX_CLI_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_PYLINT_SOURCE_PLUGINS", "fromfile": false, - "help": "\nWhat action to take in case the requested version of pex is not supported.\n\nSupported pex versions: >=2.1.135,<3.0\n", + "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/v2.19/docs/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/v2.19/docs/python-lockfiles#lockfiles-for-tools.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pex-cli-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--pylint-source-plugins" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--source-plugins" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "error" + "value": [] } ] } } ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "The PEX (Python EXecutable) tool (https://github.com/pantsbuild/pex).", - "is_goal": false, - "provider": "pants.core", - "scope": "pex-cli" - }, - "preamble": { - "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]preamble-skip", + "comma_separated_display_args": "--[no-]pylint-skip", "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]preamble-skip"], - "env_var": "PANTS_PREAMBLE_SKIP", + "display_args": [ + "--[no-]pylint-skip" + ], + "env_var": "PANTS_PYLINT_SKIP", "fromfile": false, - "help": "If true, don't use preamble when running `pants fmt`.", + "help": "If true, don't use Pylint when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--preamble-skip", "--no-preamble-skip"], + "scoped_cmd_line_args": [ + "--pylint-skip", + "--no-pylint-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -88828,34 +118837,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--preamble-template-by-globs=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "template_by_globs", - "default": {}, + "comma_separated_display_args": "--pylint-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--preamble-template-by-globs=\"{'key1': val1, 'key2': val2, ...}\"" + "--pylint-args=\"[, , ...]\"" ], - "env_var": "PANTS_PREAMBLE_TEMPLATE_BY_GLOBS", - "fromfile": true, - "help": "Which preamble template to use based on the path globs (relative to the build root).\n\nExample:\n\n {\n '*.rs': '// Copyright (c) $year\\n// Line 2\\n'\n '*.py:!__init__.py': '# Copyright (c) $year\\n# Line 2\\n',\n }\n\nIt might be helpful to load this config from a JSON or YAML file. To do that, set `[preamble].config = '@path/to/config.yaml'`, for example.", + "env_var": "PANTS_PYLINT_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to Pylint, e.g. `--pylint-args='--ignore=foo.py,bar.py --disable=C0330,W0311'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--preamble-template-by-globs"], + "scoped_cmd_line_args": [ + "--pylint-args" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--template-by-globs"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [] } ] } @@ -88863,42 +118876,82 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Formats files with a preamble, with the preamble looked up based on path.\n\nThis is useful for things such as copyright headers or shebang lines.\n\nPants substitutes the following identifiers (following Python's `string.Template` substitutions): - $year: The current year (only used when actually writing the year to the file).", + "description": "The Pylint linter for Python code (https://www.pylint.org/).", "is_goal": false, - "provider": "pants.backend.tools.preamble", - "scope": "preamble" + "provider": "pants.backend.python.lint.pylint", + "scope": "pylint" }, - "protobuf-java-grpc": { + "pyoxidizer": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protobuf-java-grpc-version=", - "config_key": "version", - "default": "1.48.0", + "comma_separated_display_args": "--pyoxidizer-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--protobuf-java-grpc-version="], - "env_var": "PANTS_PROTOBUF_JAVA_GRPC_VERSION", + "display_args": [ + "--pyoxidizer-install-from-resolve=" + ], + "env_var": "PANTS_PYOXIDIZER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[protobuf-java-grpc].artifacts` option by including the string `{version}`.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--protobuf-java-grpc-version"], + "scoped_cmd_line_args": [ + "--pyoxidizer-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pyoxidizer-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pyoxidizer-requirements=\"['', '', ...]\"" + ], + "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.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pyoxidizer-requirements" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "1.48.0" + "value": [] } ] } @@ -88906,28 +118959,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protobuf-java-grpc-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", + "comma_separated_display_args": "--pyoxidizer-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", "default": [ - "io.grpc:protoc-gen-grpc-java:exe:linux-aarch_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:osx-aarch_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:osx-x86_64:{version}" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protobuf-java-grpc-artifacts=\"['', '', ...]\"" + "--pyoxidizer-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_PROTOBUF_JAVA_GRPC_ARTIFACTS", + "env_var": "PANTS_PYOXIDIZER_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[protobuf-java-grpc].version` option.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protobuf-java-grpc-artifacts"], + "scoped_cmd_line_args": [ + "--pyoxidizer-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -88939,10 +118993,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "io.grpc:protoc-gen-grpc-java:exe:linux-aarch_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:linux-x86_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:osx-aarch_64:{version}", - "io.grpc:protoc-gen-grpc-java:exe:osx-x86_64:{version}" + "CPython>=3.8,<4" ] } ] @@ -88951,56 +119002,102 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protobuf-java-grpc-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--pyoxidizer-console-script=", + "config_key": "console_script", + "default": "pyoxidizer", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pyoxidizer-console-script=" + ], + "env_var": "PANTS_PYOXIDIZER_CONSOLE_SCRIPT", + "fromfile": false, + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pyoxidizer-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "pyoxidizer" + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pyoxidizer-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--protobuf-java-grpc-lockfile="], - "env_var": "PANTS_PROTOBUF_JAVA_GRPC_LOCKFILE", + "display_args": [ + "--pyoxidizer-entry-point=" + ], + "env_var": "PANTS_PYOXIDIZER_ENTRY_POINT", "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.19.0rc1/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": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protobuf-java-grpc-lockfile"], + "scoped_cmd_line_args": [ + "--pyoxidizer-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "" } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protobuf-java-grpc-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", + "comma_separated_display_args": "--pyoxidizer-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protobuf-java-grpc-jvm-options=\"['', '', ...]\"" + "--pyoxidizer-args=\"[, , ...]\"" ], - "env_var": "PANTS_PROTOBUF_JAVA_GRPC_JVM_OPTIONS", + "env_var": "PANTS_PYOXIDIZER_ARGS", "fromfile": false, - "help": "List of JVM options to pass to `protobuf-java-grpc` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "Arguments to pass directly to PyOxidizer, e.g. `--pyoxidizer-args='--release'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protobuf-java-grpc-jvm-options"], + "scoped_cmd_line_args": [ + "--pyoxidizer-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -89017,34 +119114,39 @@ } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "gRPC support for Java Protobuf (https://github.com/grpc/grpc-java)", + "description": "The PyOxidizer utility for packaging Python code in a Rust binary (https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer.html).\n\nUsed with the `pyoxidizer_binary` target.", "is_goal": false, - "provider": "pants.backend.experimental.codegen.protobuf.java", - "scope": "protobuf-java-grpc" + "provider": "pants.backend.experimental.python.packaging.pyoxidizer", + "scope": "pyoxidizer" }, - "protoc": { + "pyright": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protoc-version=", + "comma_separated_display_args": "--pyright-version=", "config_key": "version", - "default": "3.20.1", + "default": "pyright@1.1.316", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--protoc-version="], - "env_var": "PANTS_PROTOC_VERSION", + "display_args": [ + "--pyright-version=" + ], + "env_var": "PANTS_PYRIGHT_VERSION", "fromfile": false, - "help": "Use this version of protoc.", + "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-version"], + "scoped_cmd_line_args": [ + "--pyright-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -89055,7 +119157,7 @@ { "details": null, "rank": "HARDCODED", - "value": "3.20.1" + "value": "pyright@1.1.316" } ] } @@ -89063,32 +119165,63 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protoc-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", + "comma_separated_display_args": "--pyright-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pyright-install-from-resolve=" + ], + "env_var": "PANTS_PYRIGHT_INSTALL_FROM_RESOLVE", + "fromfile": false, + "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pyright-install-from-resolve" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pyright-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", "default": [ - "24.4|linux_arm64 |83ac000ff540e242b6a2ff221a3ac88d2d8e55443801b7a28e9697e5f40e8937|2971447", - "24.4|linux_x86_64|5871398dfd6ac954a6adebf41f1ae3a4de915a36a6ab2fd3e8f2c00d45b50dec|3005774", - "24.4|macos_arm64 |d80544480397fe8a05d966fba291cf1233ad0db0ebc24ec72d7bd077d6e7ac59|2088802", - "24.4|macos_x86_64|6c3b6bf4038d733b6d31f1cc4516a656570b5b5aafb966b650f8182afd0b98cf|2121366", - "3.20.1|linux_arm64 |8a5a51876259f934cd2acc2bc59dba0e9a51bd631a5c37a4b9081d6e4dbc7591|1804837", - "3.20.1|linux_x86_64|3a0e900f9556fbcac4c3a913a00d07680f0fdf6b990a341462d822247b265562|1714731", - "3.20.1|macos_arm64 |b362acae78542872bb6aac8dba73aaf0dc6e94991b8b0a065d6c3e703fec2a8b|2708249", - "3.20.1|macos_x86_64|b4f36b18202d54d343a66eebc9f8ae60809a2a96cc2d1b378137550bbe4cf33c|2708249" + "CPython>=3.7,<4" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protoc-known-versions=\"['', '', ...]\"" + "--pyright-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_PROTOC_KNOWN_VERSIONS", + "env_var": "PANTS_PYRIGHT_INTERPRETER_CONSTRAINTS", "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", + "help": "Python interpreter constraints for Pyright (which is, itself, a NodeJS tool).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-known-versions"], + "scoped_cmd_line_args": [ + "--pyright-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -89100,37 +119233,40 @@ "details": "", "rank": "HARDCODED", "value": [ - "24.4|linux_arm64 |83ac000ff540e242b6a2ff221a3ac88d2d8e55443801b7a28e9697e5f40e8937|2971447", - "24.4|linux_x86_64|5871398dfd6ac954a6adebf41f1ae3a4de915a36a6ab2fd3e8f2c00d45b50dec|3005774", - "24.4|macos_arm64 |d80544480397fe8a05d966fba291cf1233ad0db0ebc24ec72d7bd077d6e7ac59|2088802", - "24.4|macos_x86_64|6c3b6bf4038d733b6d31f1cc4516a656570b5b5aafb966b650f8182afd0b98cf|2121366", - "3.20.1|linux_arm64 |8a5a51876259f934cd2acc2bc59dba0e9a51bd631a5c37a4b9081d6e4dbc7591|1804837", - "3.20.1|linux_x86_64|3a0e900f9556fbcac4c3a913a00d07680f0fdf6b990a341462d822247b265562|1714731", - "3.20.1|macos_arm64 |b362acae78542872bb6aac8dba73aaf0dc6e94991b8b0a065d6c3e703fec2a8b|2708249", - "3.20.1|macos_x86_64|b4f36b18202d54d343a66eebc9f8ae60809a2a96cc2d1b378137550bbe4cf33c|2708249" + "CPython>=3.7,<4" ] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protoc-url-template=", - "config_key": "url_template", - "default": "https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip", + "comma_separated_display_args": "--[no-]pyright-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--protoc-url-template="], - "env_var": "PANTS_PROTOC_URL_TEMPLATE", + "display_args": [ + "--[no-]pyright-skip" + ], + "env_var": "PANTS_PYRIGHT_SKIP", "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/v2.19/docs/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": "If true, don't use Pyright when running `pants check`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-url-template"], + "scoped_cmd_line_args": [ + "--pyright-skip", + "--no-pyright-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -89141,7 +119277,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip" + "value": false } ] } @@ -89149,79 +119285,82 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--protoc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux-aarch_64", - "linux_x86_64": "linux-x86_64", - "macos_arm64": "osx-aarch_64", - "macos_x86_64": "osx-x86_64" - }, + "comma_separated_display_args": "--pyright-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protoc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--pyright-args=\"[, , ...]\"" ], - "env_var": "PANTS_PROTOC_URL_PLATFORM_MAPPING", + "env_var": "PANTS_PYRIGHT_ARGS", "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`.", + "help": "Arguments to pass directly to Pyright, e.g. `--pyright-args='--version'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--pyright-args" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "linux_arm64": "linux-aarch_64", - "linux_x86_64": "linux-x86_64", - "macos_arm64": "osx-aarch_64", - "macos_x86_64": "osx-x86_64" - } + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Pyright utility for typechecking Python code (https://github.com/microsoft/pyright).", + "is_goal": false, + "provider": "pants.backend.experimental.python.typecheck.pyright", + "scope": "pyright" + }, + "pytest": { + "advanced": [ { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--protoc-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pytest-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--protoc-use-unsupported-version=" + "--pytest-install-from-resolve=" ], - "env_var": "PANTS_PROTOC_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_PYTEST_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "\nWhat action to take in case the requested version of protoc is not supported.\n\nSupported protoc versions: unspecified\n", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--protoc-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--pytest-install-from-resolve" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "error" } ] } @@ -89229,61 +119368,65 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]protoc-tailor", - "config_key": "tailor", - "default": true, + "comma_separated_display_args": "--pytest-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]protoc-tailor"], - "env_var": "PANTS_PROTOC_TAILOR", + "display_args": [ + "--pytest-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTEST_REQUIREMENTS", "fromfile": false, - "help": "If true, add `protobuf_sources` targets with the `tailor` goal.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--protoc-tailor", "--no-protoc-tailor"], + "scoped_cmd_line_args": [ + "--pytest-requirements" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]protoc-dependency-inference", - "config_key": "dependency_inference", - "default": true, + "comma_separated_display_args": "--pytest-console-script=", + "config_key": "console_script", + "default": "pytest", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]protoc-dependency-inference"], - "env_var": "PANTS_PROTOC_DEPENDENCY_INFERENCE", + "display_args": [ + "--pytest-console-script=" + ], + "env_var": "PANTS_PYTEST_CONSOLE_SCRIPT", "fromfile": false, - "help": "Infer Protobuf dependencies on other Protobuf files by analyzing import statements.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--protoc-dependency-inference", - "--no-protoc-dependency-inference" + "--pytest-console-script" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--dependency-inference", - "--no-dependency-inference" + "--console-script" ], "value_history": { "ranked_values": [ @@ -89295,40 +119438,35 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "pytest" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The protocol buffer compiler (https://developers.google.com/protocol-buffers).", - "is_goal": false, - "provider": "pants.backend.codegen.protobuf.python", - "scope": "protoc" - }, - "publish": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--publish-output=", - "config_key": "output", + "comma_separated_display_args": "--pytest-entry-point=", + "config_key": "entry_point", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--publish-output="], - "env_var": "PANTS_PUBLISH_OUTPUT", + "display_args": [ + "--pytest-entry-point=" + ], + "env_var": "PANTS_PYTEST_ENTRY_POINT", "fromfile": false, - "help": "Filename for JSON structured publish information.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--publish-output"], + "scoped_cmd_line_args": [ + "--pytest-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--output"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -89338,42 +119476,42 @@ } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Publish deliverables (assets, distributions, images, etc).", - "is_goal": true, - "provider": "pants.core", - "scope": "publish" - }, - "py-constraints": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--py-constraints-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--pytest-junit-family=", + "config_key": "junit_family", + "default": "xunit2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--py-constraints-output-file="], - "env_var": "PANTS_PY_CONSTRAINTS_OUTPUT_FILE", + "display_args": [ + "--pytest-junit-family=" + ], + "env_var": "PANTS_PYTEST_JUNIT_FAMILY", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "The format of generated junit XML files. See https://docs.pytest.org/en/latest/reference.html#confval-junit_family.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--py-constraints-output-file"], + "scoped_cmd_line_args": [ + "--pytest-junit-family" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "unscoped_cmd_line_args": [ + "--junit-family" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "xunit2" } ] } @@ -89381,67 +119519,61 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]py-constraints-summary", - "config_key": "summary", - "default": false, + "comma_separated_display_args": "--pytest-execution-slot-var=", + "config_key": "execution_slot_var", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]py-constraints-summary"], - "env_var": "PANTS_PY_CONSTRAINTS_SUMMARY", + "display_args": [ + "--pytest-execution-slot-var=" + ], + "env_var": "PANTS_PYTEST_EXECUTION_SLOT_VAR", "fromfile": false, - "help": "Output a CSV summary of interpreter constraints for your whole repository. The headers are `Target`, `Constraints`, `Transitive Constraints`, `# Dependencies`, and `# Dependents`.\n\nThis information can be useful when prioritizing a migration from one Python version to another (e.g. to Python 3). Use `# Dependencies` and `# Dependents` to help prioritize which targets are easiest to port (low # dependencies) and highest impact to port (high # dependents).\n\nUse a tool like Pandas or Excel to process the CSV. Use the option `--py-constraints-output-file=summary.csv` to write directly to a file.", + "help": "If a non-empty string, the process execution slot id (an integer) will be exposed to tests under this environment variable name.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--py-constraints-summary", - "--no-py-constraints-summary" + "--pytest-execution-slot-var" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--summary", "--no-summary"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--execution-slot-var" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Determine what Python interpreter constraints are used by files/targets.", - "is_goal": true, - "provider": "pants.backend.python.mixed_interpreter_constraints", - "scope": "py-constraints" - }, - "pydocstyle": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-install-from-resolve=", - "config_key": "install_from_resolve", + "comma_separated_display_args": "--pytest-config=", + "config_key": "config", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pydocstyle-install-from-resolve="], - "env_var": "PANTS_PYDOCSTYLE_INSTALL_FROM_RESOLVE", + "display_args": [ + "--pytest-config=" + ], + "env_var": "PANTS_PYTEST_CONFIG", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Path to a config file understood by Pytest (https://docs.pytest.org/en/latest/reference/customize.html#configuration-file-formats). Setting this option will disable `[pytest].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-install-from-resolve"], + "scoped_cmd_line_args": [ + "--pytest-config" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -89455,58 +119587,71 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]pytest-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pydocstyle-requirements=\"['', '', ...]\"" + "--[no-]pytest-config-discovery" ], - "env_var": "PANTS_PYDOCSTYLE_REQUIREMENTS", + "env_var": "PANTS_PYTEST_CONFIG_DISCOVERY", "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 true, Pants will include all relevant Pytest config files (e.g. `pytest.ini`) during runs. See https://docs.pytest.org/en/stable/customize.html#finding-the-rootdir for where config files should be located for Pytest to discover them.\n\nUse `[pytest].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-requirements"], + "scoped_cmd_line_args": [ + "--pytest-config-discovery", + "--no-pytest-config-discovery" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--pytest-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pydocstyle-interpreter-constraints=\"['', '', ...]\"" + "--pytest-args=\"[, , ...]\"", + "... -- [ [ [...]]]" ], - "env_var": "PANTS_PYDOCSTYLE_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYTEST_ARGS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Arguments to pass directly to Pytest, e.g. `--pytest-args='-k test_foo --quiet'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--pytest-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -89517,7 +119662,7 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [] } ] } @@ -89525,21 +119670,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-console-script=", - "config_key": "console_script", - "default": "pydocstyle", + "comma_separated_display_args": "--[no-]pytest-xdist-enabled", + "config_key": "xdist_enabled", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pydocstyle-console-script="], - "env_var": "PANTS_PYDOCSTYLE_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]pytest-xdist-enabled" + ], + "env_var": "PANTS_PYTEST_XDIST_ENABLED", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "If true, Pants will use `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/) to parallelize tests within each `python_test` target.\n\nNOTE: Enabling `pytest-xdist` can cause high-level scoped fixtures (for example `session`) to execute more than once. See the `pytest-xdist` docs for more info: https://pypi.org/project/pytest-xdist/#making-session-scoped-fixtures-execute-only-once", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-console-script"], + "scoped_cmd_line_args": [ + "--pytest-xdist-enabled", + "--no-pytest-xdist-enabled" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--xdist-enabled", + "--no-xdist-enabled" + ], "value_history": { "ranked_values": [ { @@ -89550,63 +119703,7 @@ { "details": null, "rank": "HARDCODED", - "value": "pydocstyle" - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-entry-point=", - "config_key": "entry_point", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--pydocstyle-entry-point="], - "env_var": "PANTS_PYDOCSTYLE_ENTRY_POINT", - "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-entry-point"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-config=", - "config_key": "config", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--pydocstyle-config="], - "env_var": "PANTS_PYDOCSTYLE_CONFIG", - "fromfile": false, - "help": "Path to a Pydocstyle config file (http://www.pydocstyle.org/en/stable/usage.html#configuration-files).", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--pydocstyle-config"], - "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null + "value": false } ] } @@ -89614,26 +119711,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pydocstyle-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]pytest-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pydocstyle-config-discovery"], - "env_var": "PANTS_PYDOCSTYLE_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]pytest-skip" + ], + "env_var": "PANTS_PYTEST_SKIP", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`setup.cfg`, `tox.ini`, `.pydocstyle`, `.pydocstyle.ini`, `.pydocstylerc`, `.pydocstylerc.ini`, and `pyproject.toml`) searching for the configuration file in this particular order.\n\nPlease note that even though `pydocstyle` keeps looking for a configuration file up the directory tree until one is found, Pants will only search for the config files in the repository root (from where you would normally run the `` command).\n\nUse `[pydocstyle].config` instead if your config is in a non-standard location.", + "help": "If true, don't use Pytest when running `pants test`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pydocstyle-config-discovery", - "--no-pydocstyle-config-discovery" + "--pytest-skip", + "--no-pytest-skip" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--skip", + "--no-skip" ], "value_history": { "ranked_values": [ @@ -89645,42 +119744,56 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "The pytest Python test framework (https://docs.pytest.org/).", + "is_goal": false, + "provider": "pants.backend.python", + "scope": "pytest" + }, + "python": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pydocstyle-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--python-interpreter-constraints=\"[, , ...]\"", + "config_key": "interpreter_constraints", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pydocstyle-skip"], - "env_var": "PANTS_PYDOCSTYLE_SKIP", + "display_args": [ + "--python-interpreter-constraints=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTHON_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "If true, don't use Pydocstyle when running `pants lint`.", + "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": ["--pydocstyle-skip", "--no-pydocstyle-skip"], + "scoped_cmd_line_args": [ + "--python-interpreter-constraints" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } @@ -89688,23 +119801,37 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pydocstyle-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--python-interpreter-versions-universe=\"['', '', ...]\"", + "config_key": "interpreter_versions_universe", + "default": [ + "2.7", + "3.5", + "3.6", + "3.7", + "3.8", + "3.9", + "3.10", + "3.11", + "3.12" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pydocstyle-args=\"[, , ...]\"" + "--python-interpreter-versions-universe=\"['', '', ...]\"" ], - "env_var": "PANTS_PYDOCSTYLE_ARGS", + "env_var": "PANTS_PYTHON_INTERPRETER_VERSIONS_UNIVERSE", "fromfile": false, - "help": "Arguments to pass directly to Pydocstyle, e.g. `--pydocstyle-args='--select=D101,D102'`.", + "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/v2.19/docs/python-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": ["--pydocstyle-args"], + "scoped_cmd_line_args": [ + "--python-interpreter-versions-universe" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--interpreter-versions-universe" + ], "value_history": { "ranked_values": [ { @@ -89715,45 +119842,58 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "2.7", + "3.5", + "3.6", + "3.7", + "3.8", + "3.9", + "3.10", + "3.11", + "3.12" + ] } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "A tool for checking compliance with Python docstring conventions (http://www.pydocstyle.org/en/stable/).", - "is_goal": false, - "provider": "pants.backend.python.lint.pydocstyle", - "scope": "pydocstyle" - }, - "pylint": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]python-enable-resolves", + "config_key": "enable_resolves", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-install-from-resolve="], - "env_var": "PANTS_PYLINT_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]python-enable-resolves" + ], + "env_var": "PANTS_PYTHON_ENABLE_RESOLVES", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Set to true to enable lockfiles for user code. See `[python].resolves` for an explanation of this feature.\n\nThis option is mutually exclusive with `[python].requirement_constraints`. We strongly recommend using this option because it:\n\n 1. Uses `--hash` to validate that all downloaded files are expected, which reduces the risk of supply chain attacks.\n 2. Enforces that all transitive dependencies are in the lockfile, whereas constraints allow you to leave off dependencies. This ensures your build is more stable and reduces the risk of supply chain attacks.\n 3. Allows you to have multiple lockfiles in your repository.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-install-from-resolve"], + "scoped_cmd_line_args": [ + "--python-enable-resolves", + "--no-python-enable-resolves" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--enable-resolves", + "--no-enable-resolves" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } @@ -89761,32 +119901,42 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--python-resolves=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves", + "default": { + "python-default": "3rdparty/python/default.lock" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYLINT_REQUIREMENTS", + "display_args": [ + "--python-resolves=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYTHON_RESOLVES", "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": "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/v2.19/docs/targets 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": ["--pylint-requirements"], + "scoped_cmd_line_args": [ + "--python-resolves" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "python-default": "3rdparty/python/default.lock" + } } ] } @@ -89794,21 +119944,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-console-script=", - "config_key": "console_script", - "default": "pylint", + "comma_separated_display_args": "--python-default-resolve=", + "config_key": "default_resolve", + "default": "python-default", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-console-script="], - "env_var": "PANTS_PYLINT_CONSOLE_SCRIPT", + "display_args": [ + "--python-default-resolve=" + ], + "env_var": "PANTS_PYTHON_DEFAULT_RESOLVE", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "The default value used for the `resolve` field.\n\nThe name must be defined as a resolve in `[python].resolves`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-console-script"], + "scoped_cmd_line_args": [ + "--python-default-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--default-resolve" + ], "value_history": { "ranked_values": [ { @@ -89819,7 +119975,7 @@ { "details": null, "rank": "HARDCODED", - "value": "pylint" + "value": "python-default" } ] } @@ -89827,27 +119983,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--python-pip-version=", + "config_key": "pip_version", + "default": "23.1.2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-entry-point="], - "env_var": "PANTS_PYLINT_ENTRY_POINT", + "display_args": [ + "--python-pip-version=" + ], + "env_var": "PANTS_PYTHON_PIP_VERSION", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "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/v2.19/docs/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": ["--pylint-entry-point"], + "scoped_cmd_line_args": [ + "--python-pip-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--pip-version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "23.1.2" } ] } @@ -89855,27 +120022,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--python-resolves-to-interpreter-constraints=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves_to_interpreter_constraints", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-config="], - "env_var": "PANTS_PYLINT_CONFIG", + "display_args": [ + "--python-resolves-to-interpreter-constraints=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYTHON_RESOLVES_TO_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Path to a config file understood by Pylint (http://pylint.pycqa.org/en/latest/user_guide/run.html#command-line-options).\n\nSetting this option will disable `[pylint].config_discovery`. Use this option if the config is located in a non-standard location.", + "help": "Override the interpreter constraints to use when generating a resolve's lockfile with the `generate-lockfiles` goal.\n\nBy default, each resolve from `[python].resolves` will use your global interpreter constraints set in `[python].interpreter_constraints`. With this option, you can override each resolve to use certain interpreter constraints, such as `{'data-science': ['==3.8.*']}`.\n\nWarning: this does NOT impact the interpreter constraints used by targets within the resolve, which is instead set by the option `[python].interpreter_constraints` and the `interpreter_constraints` field. It only impacts how the lockfile is generated.\n\nPants will validate that the interpreter constraints of your code using a resolve are compatible with that resolve's own constraints. For example, if your code is set to use `['==3.9.*']` via the `interpreter_constraints` field, but it's using a resolve whose interpreter constraints are set to `['==3.7.*']`, then Pants will error explaining the incompatibility.\n\nThe keys must be defined as resolves in `[python].resolves`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-config"], + "scoped_cmd_line_args": [ + "--python-resolves-to-interpreter-constraints" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves-to-interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": {} } ] } @@ -89883,38 +120061,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pylint-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--python-resolves-to-constraints-file=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves_to_constraints_file", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pylint-config-discovery"], - "env_var": "PANTS_PYLINT_CONFIG_DISCOVERY", + "display_args": [ + "--python-resolves-to-constraints-file=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYTHON_RESOLVES_TO_CONSTRAINTS_FILE", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`.pylintrc`, `pylintrc`, `pyproject.toml`, and `setup.cfg`).\n\nUse `[pylint].config` instead if your config is in a non-standard location.", + "help": "When generating a resolve's lockfile, use a constraints file to pin the version of certain requirements. This is particularly useful to pin the versions of transitive dependencies of your direct requirements.\n\nSee https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on the format of constraint files and how constraints are applied in Pex and pip.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to file paths for constraints files. For example, `{'data-science': '3rdparty/data-science-constraints.txt'}`. If a resolve is not set in the dictionary, it will not use a constraints file.\n\nYou can use the key `__default__` to set a default value for all resolves.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pylint-config-discovery", - "--no-pylint-config-discovery" + "--python-resolves-to-constraints-file" ], "target_field_name": null, - "typ": "bool", + "typ": "dict", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--resolves-to-constraints-file" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": {} } ] } @@ -89922,140 +120100,161 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-source-plugins=\"[, , ...]\"", - "config_key": "source_plugins", - "default": [], + "comma_separated_display_args": "--python-resolves-to-no-binary=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves_to_no_binary", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pylint-source-plugins=\"[, , ...]\"" + "--python-resolves-to-no-binary=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_PYLINT_SOURCE_PLUGINS", + "env_var": "PANTS_PYTHON_RESOLVES_TO_NO_BINARY", "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/v2.19/docs/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/v2.19/docs/python-lockfiles#lockfiles-for-tools.", + "help": "When generating a resolve's lockfile, do not use binary packages (i.e. wheels) for these 3rdparty project names.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to lists of project names. For example, `{'data-science': ['requests', 'numpy']}`. If a resolve is not set in the dictionary, it will have no restrictions on binary packages.\n\nYou can use the key `__default__` to set a default value for all resolves.\n\nFor each resolve, you can also use the value `:all:` to disable all binary packages: `{'data-science': [':all:']}`.\n\nNote that some packages are tricky to compile and may fail to install when this option is used on them. See https://pip.pypa.io/en/stable/cli/pip_install/#install-no-binary for details.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-source-plugins"], + "scoped_cmd_line_args": [ + "--python-resolves-to-no-binary" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--source-plugins"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves-to-no-binary" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": {} } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pylint-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--python-resolves-to-only-binary=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "resolves_to_only_binary", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pylint-skip"], - "env_var": "PANTS_PYLINT_SKIP", + "display_args": [ + "--python-resolves-to-only-binary=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_PYTHON_RESOLVES_TO_ONLY_BINARY", "fromfile": false, - "help": "If true, don't use Pylint when running `pants lint`.", + "help": "When generating a resolve's lockfile, do not use source packages (i.e. sdists) for these 3rdparty project names, e.g `['django', 'requests']`.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to lists of project names. For example, `{'data-science': ['requests', 'numpy']}`. If a resolve is not set in the dictionary, it will have no restrictions on source packages.\n\nYou can use the key `__default__` to set a default value for all resolves.\n\nFor each resolve you can use the value `:all:` to disable all source packages: `{'data-science': [':all:']}`.\n\nPackages without binary distributions will fail to install when this option is used on them. See https://pip.pypa.io/en/stable/cli/pip_install/#install-only-binary for details.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-skip", "--no-pylint-skip"], + "scoped_cmd_line_args": [ + "--python-resolves-to-only-binary" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--resolves-to-only-binary" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": {} } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--pylint-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "choices": [ + "error", + "ignore", + "warn" + ], + "comma_separated_choices": "error, ignore, warn", + "comma_separated_display_args": "--python-invalid-lockfile-behavior=", + "config_key": "invalid_lockfile_behavior", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pylint-args=\"[, , ...]\""], - "env_var": "PANTS_PYLINT_ARGS", + "display_args": [ + "--python-invalid-lockfile-behavior=" + ], + "env_var": "PANTS_PYTHON_INVALID_LOCKFILE_BEHAVIOR", "fromfile": false, - "help": "Arguments to pass directly to Pylint, e.g. `--pylint-args='--ignore=foo.py,bar.py --disable=C0330,W0311'`.", + "help": "The behavior when a lockfile has requirements or interpreter constraints that are not compatible with what the current build is using.\n\nWe recommend keeping the default of `error` for CI builds.\n\nNote that `warn` will still expect a Pants lockfile header, it only won't error if the lockfile is stale and should be regenerated.\n\nUse `ignore` to avoid needing a lockfile header at all, e.g. if you are manually managing lockfiles rather than using the `generate-lockfiles` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pylint-args"], + "scoped_cmd_line_args": [ + "--python-invalid-lockfile-behavior" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "InvalidLockfileBehavior", + "unscoped_cmd_line_args": [ + "--invalid-lockfile-behavior" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "error" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The Pylint linter for Python code (https://www.pylint.org/).", - "is_goal": false, - "provider": "pants.backend.python.lint.pylint", - "scope": "pylint" - }, - "pyoxidizer": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]python-resolves-generate-lockfiles", + "config_key": "resolves_generate_lockfiles", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyoxidizer-install-from-resolve="], - "env_var": "PANTS_PYOXIDIZER_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]python-resolves-generate-lockfiles" + ], + "env_var": "PANTS_PYTHON_RESOLVES_GENERATE_LOCKFILES", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 False, Pants will not attempt to generate lockfiles for `[python].resolves` when running the `generate-lockfiles` goal.\n\nThis is intended to allow you to manually generate lockfiles for your own code, rather than using Pex lockfiles. For example, when adopting Pants in a project already using Poetry, you can use `poetry export --dev` to create a requirements.txt-style lockfile understood by Pants, then point `[python].resolves` to the file.\n\nIf you set this to False, Pants will not attempt to validate the metadata headers for your user lockfiles. This is useful so that you can keep `[python].invalid_lockfile_behavior` to `error` or `warn` if you'd like so that tool lockfiles continue to be validated, while user lockfiles are skipped.\n\nWarning: it will likely be slower to install manually generated user lockfiles than Pex ones because Pants cannot as efficiently extract the subset of requirements used for a particular task. See the option `[python].run_against_entire_lockfile`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-install-from-resolve"], + "scoped_cmd_line_args": [ + "--python-resolves-generate-lockfiles", + "--no-python-resolves-generate-lockfiles" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--resolves-generate-lockfiles", + "--no-resolves-generate-lockfiles" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } @@ -90063,34 +120262,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]python-run-against-entire-lockfile", + "config_key": "run_against_entire_lockfile", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pyoxidizer-requirements=\"['', '', ...]\"" + "--[no-]python-run-against-entire-lockfile" ], - "env_var": "PANTS_PYOXIDIZER_REQUIREMENTS", + "env_var": "PANTS_PYTHON_RUN_AGAINST_ENTIRE_LOCKFILE", "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 enabled, when running binaries, tests, and repls, Pants will use the entire lockfile file instead of just the relevant subset.\n\nIf you are using Pex lockfiles, we generally do not recommend this. You will already get similar performance benefits to this option, without the downsides.\n\nOtherwise, this option can improve performance and reduce cache size. But it has two consequences: 1) All cached test results will be invalidated if any requirement in the lockfile\n changes, rather than just those that depend on the changed requirement.\n2) Requirements unneeded by a test/run/repl will be present on the sys.path, which\n might in rare cases cause their behavior to change.\n\nThis option does not affect packaging deployable artifacts, such as PEX files, wheels and cloud functions, which will still use just the exact subset of requirements needed.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-requirements"], + "scoped_cmd_line_args": [ + "--python-run-against-entire-lockfile", + "--no-python-run-against-entire-lockfile" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--run-against-entire-lockfile", + "--no-run-against-entire-lockfile" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } @@ -90098,34 +120303,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.8,<4"], + "comma_separated_display_args": "--python-resolver-manylinux=", + "config_key": "resolver_manylinux", + "default": "manylinux2014", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pyoxidizer-interpreter-constraints=\"['', '', ...]\"" + "--python-resolver-manylinux=" ], - "env_var": "PANTS_PYOXIDIZER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYTHON_RESOLVER_MANYLINUX", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Whether to allow resolution of manylinux wheels when resolving requirements for foreign linux platforms. The value should be a manylinux platform upper bound, e.g. `'manylinux2010'`, or else the string `'no'` to disallow.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--python-resolver-manylinux" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--resolver-manylinux" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.8,<4"] + "value": "manylinux2014" } ] } @@ -90133,21 +120342,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-console-script=", - "config_key": "console_script", - "default": "pyoxidizer", + "comma_separated_display_args": "--[no-]python-tailor-source-targets", + "config_key": "tailor_source_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyoxidizer-console-script="], - "env_var": "PANTS_PYOXIDIZER_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]python-tailor-source-targets" + ], + "env_var": "PANTS_PYTHON_TAILOR_SOURCE_TARGETS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "If true, add `python_sources`, `python_tests`, and `python_test_utils` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-console-script"], + "scoped_cmd_line_args": [ + "--python-tailor-source-targets", + "--no-python-tailor-source-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-source-targets", + "--no-tailor-source-targets" + ], "value_history": { "ranked_values": [ { @@ -90158,7 +120375,7 @@ { "details": null, "rank": "HARDCODED", - "value": "pyoxidizer" + "value": true } ] } @@ -90166,102 +120383,122 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]python-tailor-ignore-empty-init-files", + "config_key": "tailor_ignore_empty_init_files", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyoxidizer-entry-point="], - "env_var": "PANTS_PYOXIDIZER_ENTRY_POINT", + "display_args": [ + "--[no-]python-tailor-ignore-empty-init-files" + ], + "env_var": "PANTS_PYTHON_TAILOR_IGNORE_EMPTY_INIT_FILES", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "If true, don't add `python_sources` targets for `__init__.py` files that are both empty and where there are no other Python files in the directory.\n\nEmpty and solitary `__init__.py` files usually exist as import scaffolding rather than true library code, so it can be noisy to add BUILD files.\n\nEven if this option is set to true, Pants will still ensure the empty `__init__.py` files are included in the sandbox when running processes.\n\nIf you set to false, you may also want to set `[python-infer].init_files = \"always\"`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-entry-point"], + "scoped_cmd_line_args": [ + "--python-tailor-ignore-empty-init-files", + "--no-python-tailor-ignore-empty-init-files" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-ignore-empty-init-files", + "--no-tailor-ignore-empty-init-files" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyoxidizer-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]python-tailor-requirements-targets", + "config_key": "tailor_requirements_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pyoxidizer-args=\"[, , ...]\"" + "--[no-]python-tailor-requirements-targets" ], - "env_var": "PANTS_PYOXIDIZER_ARGS", + "env_var": "PANTS_PYTHON_TAILOR_REQUIREMENTS_TARGETS", "fromfile": false, - "help": "Arguments to pass directly to PyOxidizer, e.g. `--pyoxidizer-args='--release'`.", + "help": "If true, add `python_requirements`, `poetry_requirements`, and `pipenv_requirements` target generators with the `tailor` goal.\n\n`python_requirements` targets are added for any file that matches the pattern `*requirements*.txt`. You will need to manually add `python_requirements` for different file names like `reqs.txt`.\n\n`poetry_requirements` targets are added for `pyproject.toml` files with `[tool.poetry` in them.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyoxidizer-args"], + "scoped_cmd_line_args": [ + "--python-tailor-requirements-targets", + "--no-python-tailor-requirements-targets" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-requirements-targets", + "--no-tailor-requirements-targets" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "The PyOxidizer utility for packaging Python code in a Rust binary (https://pyoxidizer.readthedocs.io/en/stable/pyoxidizer.html).\n\nUsed with the `pyoxidizer_binary` target.", - "is_goal": false, - "provider": "pants.backend.experimental.python.packaging.pyoxidizer", - "scope": "pyoxidizer" - }, - "pytest": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]python-tailor-pex-binary-targets", + "config_key": "tailor_pex_binary_targets", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-install-from-resolve="], - "env_var": "PANTS_PYTEST_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]python-tailor-pex-binary-targets" + ], + "env_var": "PANTS_PYTHON_TAILOR_PEX_BINARY_TARGETS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 true, add `pex_binary` targets for Python files named `__main__.py` or with a `__main__` clause with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-install-from-resolve"], + "scoped_cmd_line_args": [ + "--python-tailor-pex-binary-targets", + "--no-python-tailor-pex-binary-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-pex-binary-targets", + "--no-tailor-pex-binary-targets" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } @@ -90269,32 +120506,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]python-tailor-py-typed-targets", + "config_key": "tailor_py_typed_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYTEST_REQUIREMENTS", + "display_args": [ + "--[no-]python-tailor-py-typed-targets" + ], + "env_var": "PANTS_PYTHON_TAILOR_PY_TYPED_TARGETS", "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 true, add `resource` targets for marker files named `py.typed` with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-requirements"], + "scoped_cmd_line_args": [ + "--python-tailor-py-typed-targets", + "--no-python-tailor-py-typed-targets" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-py-typed-targets", + "--no-tailor-py-typed-targets" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } @@ -90302,21 +120547,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-console-script=", - "config_key": "console_script", - "default": "pytest", + "comma_separated_display_args": "--[no-]python-macos-big-sur-compatibility", + "config_key": "macos_big_sur_compatibility", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-console-script="], - "env_var": "PANTS_PYTEST_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]python-macos-big-sur-compatibility" + ], + "env_var": "PANTS_PYTHON_MACOS_BIG_SUR_COMPATIBILITY", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "If set, and if running on macOS Big Sur, use `macosx_10_16` as the platform when building wheels. Otherwise, the default of `macosx_11_0` will be used. This may be required for `pip` to be able to install the resulting distribution on Big Sur.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-console-script"], + "scoped_cmd_line_args": [ + "--python-macos-big-sur-compatibility", + "--no-python-macos-big-sur-compatibility" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--macos-big-sur-compatibility", + "--no-macos-big-sur-compatibility" + ], "value_history": { "ranked_values": [ { @@ -90327,7 +120580,7 @@ { "details": null, "rank": "HARDCODED", - "value": "pytest" + "value": false } ] } @@ -90335,49 +120588,72 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]python-enable-lockfile-targets", + "config_key": "enable_lockfile_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-entry-point="], - "env_var": "PANTS_PYTEST_ENTRY_POINT", + "display_args": [ + "--[no-]python-enable-lockfile-targets" + ], + "env_var": "PANTS_PYTHON_ENABLE_LOCKFILE_TARGETS", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Create targets for all Python lockfiles defined in `[python].resolves`.\n\nThe lockfile targets will then be used as dependencies to the `python_requirement` targets that use them, invalidating source targets per resolve when the lockfile changes.\n\nIf another targets address is in conflict with the created lockfile target, it will shadow the lockfile target and it will not be available as a dependency for any `python_requirement` targets.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-entry-point"], + "scoped_cmd_line_args": [ + "--python-enable-lockfile-targets", + "--no-python-enable-lockfile-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--enable-lockfile-targets", + "--no-enable-lockfile-targets" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-junit-family=", - "config_key": "junit_family", - "default": "xunit2", + "comma_separated_display_args": "--[no-]python-default-run-goal-use-sandbox", + "config_key": "default_run_goal_use_sandbox", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-junit-family="], - "env_var": "PANTS_PYTEST_JUNIT_FAMILY", + "display_args": [ + "--[no-]python-default-run-goal-use-sandbox" + ], + "env_var": "PANTS_PYTHON_DEFAULT_RUN_GOAL_USE_SANDBOX", "fromfile": false, - "help": "The format of generated junit XML files. See https://docs.pytest.org/en/latest/reference.html#confval-junit_family.", + "help": "The default value used for the `run_goal_use_sandbox` field of Python targets. See the relevant field for more details.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-junit-family"], + "scoped_cmd_line_args": [ + "--python-default-run-goal-use-sandbox", + "--no-python-default-run-goal-use-sandbox" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--junit-family"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--default-run-goal-use-sandbox", + "--no-default-run-goal-use-sandbox" + ], "value_history": { "ranked_values": [ { @@ -90388,7 +120664,7 @@ { "details": null, "rank": "HARDCODED", - "value": "xunit2" + "value": true } ] } @@ -90396,49 +120672,70 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-execution-slot-var=", - "config_key": "execution_slot_var", - "default": null, + "comma_separated_display_args": "--[no-]python-repl-history", + "config_key": "repl_history", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytest-execution-slot-var="], - "env_var": "PANTS_PYTEST_EXECUTION_SLOT_VAR", + "display_args": [ + "--[no-]python-repl-history" + ], + "env_var": "PANTS_PYTHON_REPL_HISTORY", "fromfile": false, - "help": "If a non-empty string, the process execution slot id (an integer) will be exposed to tests under this environment variable name.", + "help": "Whether to use the standard Python command history file when running a repl.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-execution-slot-var"], + "scoped_cmd_line_args": [ + "--python-repl-history", + "--no-python-repl-history" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--execution-slot-var"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--repl-history", + "--no-repl-history" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - }, + } + ], + "deprecated": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-config=", - "config_key": "config", + "comma_separated_display_args": "--python-requirement-constraints=", + "config_key": "requirement_constraints", "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--pytest-config="], - "env_var": "PANTS_PYTEST_CONFIG", + "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--python-requirement-constraints=" + ], + "env_var": "PANTS_PYTHON_REQUIREMENT_CONSTRAINTS", "fromfile": false, - "help": "Path to a config file understood by Pytest (https://docs.pytest.org/en/latest/reference/customize.html#configuration-file-formats). Setting this option will disable `[pytest].config_discovery`. Use this option if the config is located in a non-standard location.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--pytest-config"], + "help": "When resolving third-party requirements for your own code (vs. tools you run), use this constraints file to determine which versions to use.\n\nMutually exclusive with `[python].enable_resolves`, which we generally recommend as an improvement over constraints file.\n\nSee https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on the format of constraint files and how constraints are applied in Pex and pip.\n\nThis only applies when resolving user requirements, rather than tools you run like Black and Pytest. To constrain tools, set `[tool].lockfile`, e.g. `[black].lockfile`.", + "removal_hint": "We encourage instead migrating to `[python].enable_resolves` and `[python].resolves`, which is an improvement over this option. The `[python].resolves` feature ensures that your lockfiles are fully comprehensive, i.e. include all transitive dependencies; uses hashes for better supply chain security; and supports advanced features like VCS and local requirements, along with options `[python].resolves_to_only_binary`.\n\nTo migrate, stop setting `[python].requirement_constraints` and `[python].resolve_all_constraints`, and instead set `[python].enable_resolves` to `true`. Then, run `pants generate-lockfiles`.", + "removal_version": "3.0.0.dev0", + "scoped_cmd_line_args": [ + "--python-requirement-constraints" + ], "target_field_name": null, "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "unscoped_cmd_line_args": [ + "--requirement-constraints" + ], "value_history": { "ranked_values": [ { @@ -90452,26 +120749,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pytest-config-discovery", - "config_key": "config_discovery", + "comma_separated_display_args": "--[no-]python-resolve-all-constraints", + "config_key": "resolve_all_constraints", "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]pytest-config-discovery"], - "env_var": "PANTS_PYTEST_CONFIG_DISCOVERY", + "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--[no-]python-resolve-all-constraints" + ], + "env_var": "PANTS_PYTHON_RESOLVE_ALL_CONSTRAINTS", "fromfile": false, - "help": "If true, Pants will include all relevant Pytest config files (e.g. `pytest.ini`) during runs. See https://docs.pytest.org/en/stable/customize.html#finding-the-rootdir for where config files should be located for Pytest to discover them.\n\nUse `[pytest].config` instead if your config is in a non-standard location.", - "removal_hint": null, - "removal_version": null, + "help": "(Only relevant when using `[python].requirement_constraints.`) If enabled, when resolving requirements, Pants will first resolve your entire constraints file as a single global resolve. Then, if the code uses a subset of your constraints file, Pants will extract the relevant requirements from that global resolve so that only what's actually needed gets used. If disabled, Pants will not use a global resolve and will resolve each subset of your requirements independently.\n\nUsually this option should be enabled because it can result in far fewer resolves.", + "removal_hint": "We encourage instead migrating to `[python].enable_resolves` and `[python].resolves`, which is an improvement over this option. The `[python].resolves` feature ensures that your lockfiles are fully comprehensive, i.e. include all transitive dependencies; uses hashes for better supply chain security; and supports advanced features like VCS and local requirements, along with options `[python].resolves_to_only_binary`.\n\nTo migrate, stop setting `[python].requirement_constraints` and `[python].resolve_all_constraints`, and instead set `[python].enable_resolves` to `true`. Then, run `pants generate-lockfiles`.", + "removal_version": "3.0.0.dev0", "scoped_cmd_line_args": [ - "--pytest-config-discovery", - "--no-pytest-config-discovery" + "--python-resolve-all-constraints", + "--no-python-resolve-all-constraints" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--resolve-all-constraints", + "--no-resolve-all-constraints" ], "value_history": { "ranked_values": [ @@ -90489,39 +120788,91 @@ } } ], - "basic": [ + "deprecated_scope": null, + "description": "Options for Pants's Python backend.", + "is_goal": false, + "provider": "pants.core", + "scope": "python" + }, + "python-bootstrap": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytest-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--python-bootstrap-internal-python-build-standalone-info=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "internal_python_build_standalone_info", + "default": { + "linux_arm64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", + "1ba520c0db431c84305677f56eb9a4254f5097430ed443e92fc8617f8fba973d", + 23873387 + ], + "linux_x86_64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", + "7ba397787932393e65fc2fb9fcfabf54f2bb6751d5da2b45913cb25b2d493758", + 26129729 + ], + "macos_arm64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-apple-darwin-install_only.tar.gz", + "d732d212d42315ac27c6da3e0b69636737a8d72086c980daf844344c010cab80", + 17084463 + ], + "macos_x86_64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-apple-darwin-install_only.tar.gz", + "3948384af5e8d4ee7e5ccc648322b99c1c5cf4979954ed5e6b3382c69d6db71e", + 17059474 + ] + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pytest-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--python-bootstrap-internal-python-build-standalone-info=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_PYTEST_ARGS", + "env_var": "PANTS_PYTHON_BOOTSTRAP_INTERNAL_PYTHON_BUILD_STANDALONE_INFO", "fromfile": false, - "help": "Arguments to pass directly to Pytest, e.g. `--pytest-args='-k test_foo --quiet'`.", + "help": "A map from platform to the information needed to download Python Build Standalone.\n\nPython Build Standalone is used to run Python-implemented Pants tools/scripts in docker environments (so that Python doesn't need to be installed).\n\nThe version of Python provided should match the default value's version, which is the highest Python Major/Minor version compatible with the Pants package's interpreter constraints. Additionally, the downloaded file should be extractable by `tar` using `-xvf` (most likely a `.tar.gz` file).\n\nThe schema is `: (, , )` for each possible platform.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-args"], + "scoped_cmd_line_args": [ + "--python-bootstrap-internal-python-build-standalone-info" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--internal-python-build-standalone-info" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "linux_arm64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", + "1ba520c0db431c84305677f56eb9a4254f5097430ed443e92fc8617f8fba973d", + 23873387 + ], + "linux_x86_64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", + "7ba397787932393e65fc2fb9fcfabf54f2bb6751d5da2b45913cb25b2d493758", + 26129729 + ], + "macos_arm64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-apple-darwin-install_only.tar.gz", + "d732d212d42315ac27c6da3e0b69636737a8d72086c980daf844344c010cab80", + 17084463 + ], + "macos_x86_64": [ + "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-apple-darwin-install_only.tar.gz", + "3948384af5e8d4ee7e5ccc648322b99c1c5cf4979954ed5e6b3382c69d6db71e", + 17059474 + ] + } } ] } @@ -90529,35 +120880,46 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pytest-xdist-enabled", - "config_key": "xdist_enabled", - "default": false, + "comma_separated_display_args": "--python-bootstrap-search-path=\"[, , ...]\"", + "config_key": "search_path", + "default": [ + "", + "", + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pytest-xdist-enabled"], - "env_var": "PANTS_PYTEST_XDIST_ENABLED", + "display_args": [ + "--python-bootstrap-search-path=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTHON_BOOTSTRAP_SEARCH_PATH", "fromfile": false, - "help": "If true, Pants will use `pytest-xdist` (https://pytest-xdist.readthedocs.io/en/latest/) to parallelize tests within each `python_test` target.\n\nNOTE: Enabling `pytest-xdist` can cause high-level scoped fixtures (for example `session`) to execute more than once. See the `pytest-xdist` docs for more info: https://pypi.org/project/pytest-xdist/#making-session-scoped-fixtures-execute-only-once", + "help": "A list of paths to search for Python interpreters.\n\nWhich interpreters are actually used from these paths is context-specific: the Python backend selects interpreters using options on the `python` subsystem, in particular, the `[python].interpreter_constraints` option.\n\nYou can specify absolute paths to interpreter binaries and/or to directories containing interpreter binaries. The order of entries does not matter.\n\nThe following special strings are supported:\n\nFor all runtime environment types:\n\n* ``, the contents of the PATH env var\n\nWhen the environment is a `local_environment` target:\n\n* ``, all Python versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF interpreter with the version in `BUILD_ROOT/.tool-versions`\n* ``, all Python versions under `$(pyenv root)/versions`\n* ``, the Pyenv interpreter with the version in `BUILD_ROOT/.python-version`\n* ``, paths in the `PEX_PYTHON_PATH` variable in `/etc/pexrc` or `~/.pexrc`", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--pytest-xdist-enabled", - "--no-pytest-xdist-enabled" + "--python-bootstrap-search-path" + ], + "target_field_name": "python_bootstrap_search_path", + "typ": "list", + "unscoped_cmd_line_args": [ + "--search-path" ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--xdist-enabled", "--no-xdist-enabled"], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "", + "", + "" + ] } ] } @@ -90565,132 +120927,150 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pytest-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--python-bootstrap-names=\"[, , ...]\"", + "config_key": "names", + "default": [ + "python", + "python3" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pytest-skip"], - "env_var": "PANTS_PYTEST_SKIP", + "display_args": [ + "--python-bootstrap-names=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTHON_BOOTSTRAP_NAMES", "fromfile": false, - "help": "If true, don't use Pytest when running `pants test`.", + "help": "The names of Python binaries to search for. See the `--search-path` option to influence where interpreters are searched for.\n\nThis does not impact which Python interpreter is used to run your code, only what is used to run internal tools.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytest-skip", "--no-pytest-skip"], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "scoped_cmd_line_args": [ + "--python-bootstrap-names" + ], + "target_field_name": "python_bootstrap_names", + "typ": "list", + "unscoped_cmd_line_args": [ + "--names" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "python", + "python3" + ] } ] } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The pytest Python test framework (https://docs.pytest.org/).", + "description": "Options used to locate Python interpreters.\n\nThis subsystem controls where and how Pants will locate Python, but beyond that it does not control which Python interpreter versions are actually used for your code: see the `python` subsystem for that.", "is_goal": false, - "provider": "pants.backend.python", - "scope": "pytest" + "provider": "pants.core", + "scope": "python-bootstrap" }, - "python": { - "advanced": [ + "python-dump-source-analysis": { + "advanced": [], + "basic": [ { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--python-interpreter-constraints=\"[, , ...]\"", - "config_key": "interpreter_constraints", - "default": [], + "choices": [ + "raw_dependency_inference", + "dependency_inference" + ], + "comma_separated_choices": "raw_dependency_inference, dependency_inference", + "comma_separated_display_args": "--python-dump-source-analysis-analysis-flavor=", + "config_key": "analysis_flavor", + "default": "dependency_inference", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-interpreter-constraints=\"[, , ...]\"" + "--python-dump-source-analysis-analysis-flavor=" ], - "env_var": "PANTS_PYTHON_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYTHON_DUMP_SOURCE_ANALYSIS_ANALYSIS_FLAVOR", "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": "The type of information that should be returned.\n\n* `dependency_inference`: The results of dependency inference, for every detected import in every file.\n\n* `raw_dependency_inference`: The raw intermediate results of the dependency inference process,\nat every stage they're available. Potentially useful for debugging the dependency inference process.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--python-dump-source-analysis-analysis-flavor" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "AnalysisFlavor", + "unscoped_cmd_line_args": [ + "--analysis-flavor" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "dependency_inference" } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Dump source analysis for python_source targets.", + "is_goal": true, + "provider": "pants.backend.experimental.python", + "scope": "python-dump-source-analysis" + }, + "python-infer": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-interpreter-versions-universe=\"['', '', ...]\"", - "config_key": "interpreter_versions_universe", - "default": [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - "3.10", - "3.11", - "3.12" - ], + "comma_separated_display_args": "--[no-]python-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-interpreter-versions-universe=\"['', '', ...]\"" + "--[no-]python-infer-imports" ], - "env_var": "PANTS_PYTHON_INTERPRETER_VERSIONS_UNIVERSE", + "env_var": "PANTS_PYTHON_INFER_IMPORTS", "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/v2.19/docs/python-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": "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": ["--python-interpreter-versions-universe"], + "scoped_cmd_line_args": [ + "--python-infer-imports", + "--no-python-infer-imports" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-versions-universe"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--imports", + "--no-imports" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - "3.10", - "3.11", - "3.12" - ] + "value": true } ] } @@ -90698,26 +121078,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-enable-resolves", - "config_key": "enable_resolves", + "comma_separated_display_args": "--[no-]python-infer-string-imports", + "config_key": "string_imports", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-enable-resolves"], - "env_var": "PANTS_PYTHON_ENABLE_RESOLVES", + "display_args": [ + "--[no-]python-infer-string-imports" + ], + "env_var": "PANTS_PYTHON_INFER_STRING_IMPORTS", "fromfile": false, - "help": "Set to true to enable lockfiles for user code. See `[python].resolves` for an explanation of this feature.\n\nThis option is mutually exclusive with `[python].requirement_constraints`. We strongly recommend using this option because it:\n\n 1. Uses `--hash` to validate that all downloaded files are expected, which reduces the risk of supply chain attacks.\n 2. Enforces that all transitive dependencies are in the lockfile, whereas constraints allow you to leave off dependencies. This ensures your build is more stable and reduces the risk of supply chain attacks.\n 3. Allows you to have multiple lockfiles in your repository.", + "help": "Infer a target's dependencies based on strings that look like dynamic dependencies, such as Django settings files expressing dependencies as strings or pytest plugins listed in the `pytest_plugins` variable in a test module or a conftest file.\n\nTo ignore a false positive, you can either put `# pants: no-infer-dep` on the line of the string or put `!{bad_address}` in the `dependencies` field of your target.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-enable-resolves", - "--no-python-enable-resolves" + "--python-infer-string-imports", + "--no-python-infer-string-imports" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--enable-resolves", - "--no-enable-resolves" + "--string-imports", + "--no-string-imports" ], "value_history": { "ranked_values": [ @@ -90737,38 +121119,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves", - "default": { - "python-default": "3rdparty/python/default.lock" - }, + "comma_separated_display_args": "--python-infer-string-imports-min-dots=", + "config_key": "string_imports_min_dots", + "default": 2, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves=\"{'key1': val1, 'key2': val2, ...}\"" + "--python-infer-string-imports-min-dots=" ], - "env_var": "PANTS_PYTHON_RESOLVES", + "env_var": "PANTS_PYTHON_INFER_STRING_IMPORTS_MIN_DOTS", "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/v2.19/docs/targets 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": "If `--string-imports` is True, treat valid-looking strings with at least this many dots in them as potential dynamic dependencies. E.g., `'foo.bar.Baz'` will be treated as a potential dependency if this option is set to 2 but not if set to 3.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolves"], + "scoped_cmd_line_args": [ + "--python-infer-string-imports-min-dots" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--string-imports-min-dots" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": { - "python-default": "3rdparty/python/default.lock" - } + "value": 2 } ] } @@ -90776,21 +121158,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-default-resolve=", - "config_key": "default_resolve", - "default": "python-default", + "comma_separated_display_args": "--[no-]python-infer-assets", + "config_key": "assets", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-default-resolve="], - "env_var": "PANTS_PYTHON_DEFAULT_RESOLVE", + "display_args": [ + "--[no-]python-infer-assets" + ], + "env_var": "PANTS_PYTHON_INFER_ASSETS", "fromfile": false, - "help": "The default value used for the `resolve` field.\n\nThe name must be defined as a resolve in `[python].resolves`.", + "help": "Infer a target's asset dependencies based on strings that look like Posix filepaths, such as those given to `open` or `pkgutil.get_data`.\n\nTo ignore a false positive, you can either put `# pants: no-infer-dep` on the line of the string or put `!{bad_address}` in the `dependencies` field of your target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-default-resolve"], + "scoped_cmd_line_args": [ + "--python-infer-assets", + "--no-python-infer-assets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--default-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--assets", + "--no-assets" + ], "value_history": { "ranked_values": [ { @@ -90801,7 +121191,7 @@ { "details": null, "rank": "HARDCODED", - "value": "python-default" + "value": false } ] } @@ -90809,21 +121199,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-pip-version=", - "config_key": "pip_version", - "default": "23.1.2", + "comma_separated_display_args": "--python-infer-assets-min-slashes=", + "config_key": "assets_min_slashes", + "default": 1, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-pip-version="], - "env_var": "PANTS_PYTHON_PIP_VERSION", + "display_args": [ + "--python-infer-assets-min-slashes=" + ], + "env_var": "PANTS_PYTHON_INFER_ASSETS_MIN_SLASHES", "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/v2.19/docs/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": "If `--assets` is True, treat valid-looking strings with at least this many forward slash characters as potential assets. E.g. `'data/databases/prod.db'` will be treated as a potential candidate if this option is set to 2 but not to 3.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-pip-version"], + "scoped_cmd_line_args": [ + "--python-infer-assets-min-slashes" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--pip-version"], + "typ": "int", + "unscoped_cmd_line_args": [ + "--assets-min-slashes" + ], "value_history": { "ranked_values": [ { @@ -90834,44 +121230,50 @@ { "details": null, "rank": "HARDCODED", - "value": "23.1.2" + "value": 1 } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves-to-interpreter-constraints=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves_to_interpreter_constraints", - "default": {}, + "choices": [ + "always", + "content_only", + "never" + ], + "comma_separated_choices": "always, content_only, never", + "comma_separated_display_args": "--python-infer-init-files=", + "config_key": "init_files", + "default": "content_only", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves-to-interpreter-constraints=\"{'key1': val1, 'key2': val2, ...}\"" + "--python-infer-init-files=" ], - "env_var": "PANTS_PYTHON_RESOLVES_TO_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYTHON_INFER_INIT_FILES", "fromfile": false, - "help": "Override the interpreter constraints to use when generating a resolve's lockfile with the `generate-lockfiles` goal.\n\nBy default, each resolve from `[python].resolves` will use your global interpreter constraints set in `[python].interpreter_constraints`. With this option, you can override each resolve to use certain interpreter constraints, such as `{'data-science': ['==3.8.*']}`.\n\nWarning: this does NOT impact the interpreter constraints used by targets within the resolve, which is instead set by the option `[python].interpreter_constraints` and the `interpreter_constraints` field. It only impacts how the lockfile is generated.\n\nPants will validate that the interpreter constraints of your code using a resolve are compatible with that resolve's own constraints. For example, if your code is set to use `['==3.9.*']` via the `interpreter_constraints` field, but it's using a resolve whose interpreter constraints are set to `['==3.7.*']`, then Pants will error explaining the incompatibility.\n\nThe keys must be defined as resolves in `[python].resolves`.", + "help": "Infer a target's dependencies on any `__init__.py` files in the packages it is located in (recursively upward in the directory structure).\n\nEven if this is set to `never` or `content_only`, Pants will still always include any ancestor `__init__.py` files in the sandbox. Only, they will not be \"proper\" dependencies, e.g. they will not show up in `pants dependencies` and their own dependencies will not be used.\n\nBy default, Pants only adds a \"proper\" dependency if there is content in the `__init__.py` file. This makes sure that dependencies are added when likely necessary to build, while also avoiding adding unnecessary dependencies. While accurate, those unnecessary dependencies can complicate setting metadata like the `interpreter_constraints` and `resolve` fields.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-resolves-to-interpreter-constraints" + "--python-infer-init-files" ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves-to-interpreter-constraints"], + "typ": "InitFilesInference", + "unscoped_cmd_line_args": [ + "--init-files" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": "content_only" } ] } @@ -90879,34 +121281,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves-to-constraints-file=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves_to_constraints_file", - "default": {}, + "comma_separated_display_args": "--[no-]python-infer-conftests", + "config_key": "conftests", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves-to-constraints-file=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]python-infer-conftests" ], - "env_var": "PANTS_PYTHON_RESOLVES_TO_CONSTRAINTS_FILE", + "env_var": "PANTS_PYTHON_INFER_CONFTESTS", "fromfile": false, - "help": "When generating a resolve's lockfile, use a constraints file to pin the version of certain requirements. This is particularly useful to pin the versions of transitive dependencies of your direct requirements.\n\nSee https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on the format of constraint files and how constraints are applied in Pex and pip.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to file paths for constraints files. For example, `{'data-science': '3rdparty/data-science-constraints.txt'}`. If a resolve is not set in the dictionary, it will not use a constraints file.\n\nYou can use the key `__default__` to set a default value for all resolves.", + "help": "Infer a test target's dependencies on any `conftest.py` files in the current directory and ancestor directories.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolves-to-constraints-file"], + "scoped_cmd_line_args": [ + "--python-infer-conftests", + "--no-python-infer-conftests" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves-to-constraints-file"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--conftests", + "--no-conftests" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": true } ] } @@ -90914,93 +121322,114 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves-to-no-binary=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves_to_no_binary", - "default": {}, + "comma_separated_display_args": "--[no-]python-infer-entry-points", + "config_key": "entry_points", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves-to-no-binary=\"{'key1': val1, 'key2': val2, ...}\"" + "--[no-]python-infer-entry-points" ], - "env_var": "PANTS_PYTHON_RESOLVES_TO_NO_BINARY", + "env_var": "PANTS_PYTHON_INFER_ENTRY_POINTS", "fromfile": false, - "help": "When generating a resolve's lockfile, do not use binary packages (i.e. wheels) for these 3rdparty project names.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to lists of project names. For example, `{'data-science': ['requests', 'numpy']}`. If a resolve is not set in the dictionary, it will have no restrictions on binary packages.\n\nYou can use the key `__default__` to set a default value for all resolves.\n\nFor each resolve, you can also use the value `:all:` to disable all binary packages: `{'data-science': [':all:']}`.\n\nNote that some packages are tricky to compile and may fail to install when this option is used on them. See https://pip.pypa.io/en/stable/cli/pip_install/#install-no-binary for details.", + "help": "Infer dependencies on targets' entry points, e.g. `pex_binary`'s `entry_point` field, `python_aws_lambda_function`'s `handler` field and `python_distribution`'s `entry_points` field.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolves-to-no-binary"], + "scoped_cmd_line_args": [ + "--python-infer-entry-points", + "--no-python-infer-entry-points" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves-to-no-binary"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--entry-points", + "--no-entry-points" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": true } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolves-to-only-binary=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "resolves_to_only_binary", - "default": {}, + "choices": [ + "error", + "warning", + "ignore" + ], + "comma_separated_choices": "error, warning, ignore", + "comma_separated_display_args": "--python-infer-unowned-dependency-behavior=", + "config_key": "unowned_dependency_behavior", + "default": "warning", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-resolves-to-only-binary=\"{'key1': val1, 'key2': val2, ...}\"" + "--python-infer-unowned-dependency-behavior=" ], - "env_var": "PANTS_PYTHON_RESOLVES_TO_ONLY_BINARY", + "env_var": "PANTS_PYTHON_INFER_UNOWNED_DEPENDENCY_BEHAVIOR", "fromfile": false, - "help": "When generating a resolve's lockfile, do not use source packages (i.e. sdists) for these 3rdparty project names, e.g `['django', 'requests']`.\n\nExpects a dictionary of resolve names from `[python].resolves` and Python tools (e.g. `black` and `pytest`) to lists of project names. For example, `{'data-science': ['requests', 'numpy']}`. If a resolve is not set in the dictionary, it will have no restrictions on source packages.\n\nYou can use the key `__default__` to set a default value for all resolves.\n\nFor each resolve you can use the value `:all:` to disable all source packages: `{'data-science': [':all:']}`.\n\nPackages without binary distributions will fail to install when this option is used on them. See https://pip.pypa.io/en/stable/cli/pip_install/#install-only-binary for details.", + "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 `ModuleNotFoundError`, so this option can be helpful to error more eagerly.\n\nTo ignore any false positives, either add `# pants: no-infer-dep` to the line of the import or put the import inside a `try: except ImportError:` block.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolves-to-only-binary"], + "scoped_cmd_line_args": [ + "--python-infer-unowned-dependency-behavior" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--resolves-to-only-binary"], + "typ": "UnownedDependencyUsage", + "unscoped_cmd_line_args": [ + "--unowned-dependency-behavior" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": {} + "value": "warning" } ] } }, { - "choices": ["error", "ignore", "warn"], - "comma_separated_choices": "error, ignore, warn", - "comma_separated_display_args": "--python-invalid-lockfile-behavior=", - "config_key": "invalid_lockfile_behavior", - "default": "error", + "choices": [ + "none", + "by_source_root" + ], + "comma_separated_choices": "none, by_source_root", + "comma_separated_display_args": "--python-infer-ambiguity-resolution=", + "config_key": "ambiguity_resolution", + "default": "none", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-invalid-lockfile-behavior=" + "--python-infer-ambiguity-resolution=" ], - "env_var": "PANTS_PYTHON_INVALID_LOCKFILE_BEHAVIOR", + "env_var": "PANTS_PYTHON_INFER_AMBIGUITY_RESOLUTION", "fromfile": false, - "help": "The behavior when a lockfile has requirements or interpreter constraints that are not compatible with what the current build is using.\n\nWe recommend keeping the default of `error` for CI builds.\n\nNote that `warn` will still expect a Pants lockfile header, it only won't error if the lockfile is stale and should be regenerated.\n\nUse `ignore` to avoid needing a lockfile header at all, e.g. if you are manually managing lockfiles rather than using the `generate-lockfiles` goal.", + "help": "When multiple sources provide the same symbol, how to choose the provider to use.\n\n`none`: Do not attempt to resolve this ambiguity. No dependency will be inferred, and warnings will be logged.\n\n`by_source_root`: Choose the provider with the closest common ancestor to the consumer's source root. If the provider is under the same source root then this will be the source root itself. This is useful when multiple projects in different source roots provide the same symbols (because of repeated first-party module paths or overlapping requirements.txt) and you want to resolve the ambiguity locally in each project.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-invalid-lockfile-behavior"], + "scoped_cmd_line_args": [ + "--python-infer-ambiguity-resolution" + ], "target_field_name": null, - "typ": "InvalidLockfileBehavior", - "unscoped_cmd_line_args": ["--invalid-lockfile-behavior"], + "typ": "AmbiguityResolution", + "unscoped_cmd_line_args": [ + "--ambiguity-resolution" + ], "value_history": { "ranked_values": [ { @@ -91011,7 +121440,7 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": "none" } ] } @@ -91019,38 +121448,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-resolves-generate-lockfiles", - "config_key": "resolves_generate_lockfiles", - "default": true, + "comma_separated_display_args": "--python-infer-ignored-unowned-imports=\"['', '', ...]\"", + "config_key": "ignored_unowned_imports", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-resolves-generate-lockfiles"], - "env_var": "PANTS_PYTHON_RESOLVES_GENERATE_LOCKFILES", + "display_args": [ + "--python-infer-ignored-unowned-imports=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_INFER_IGNORED_UNOWNED_IMPORTS", "fromfile": false, - "help": "If False, Pants will not attempt to generate lockfiles for `[python].resolves` when running the `generate-lockfiles` goal.\n\nThis is intended to allow you to manually generate lockfiles for your own code, rather than using Pex lockfiles. For example, when adopting Pants in a project already using Poetry, you can use `poetry export --dev` to create a requirements.txt-style lockfile understood by Pants, then point `[python].resolves` to the file.\n\nIf you set this to False, Pants will not attempt to validate the metadata headers for your user lockfiles. This is useful so that you can keep `[python].invalid_lockfile_behavior` to `error` or `warn` if you'd like so that tool lockfiles continue to be validated, while user lockfiles are skipped.\n\nWarning: it will likely be slower to install manually generated user lockfiles than Pex ones because Pants cannot as efficiently extract the subset of requirements used for a particular task. See the option `[python].run_against_entire_lockfile`.", + "help": "Unowned imports that should be ignored.\n\nIf there are any unowned import statements and adding the `# pants: no-infer-dep` to the lines of the import is impractical, you can instead provide a list of imports that Pants should ignore. You can declare a specific import or a path to a package if you would like any of the package imports to be ignored.\n\nFor example, you could ignore all the following imports of the code\n\n import src.generated.app\n from src.generated.app import load\n from src.generated.app import start\n from src.generated.client import connect\n\nby setting `ignored-unowned-imports=[\"src.generated.app\", \"src.generated.client.connect\"]`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-resolves-generate-lockfiles", - "--no-python-resolves-generate-lockfiles" + "--python-infer-ignored-unowned-imports" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--resolves-generate-lockfiles", - "--no-resolves-generate-lockfiles" + "--ignored-unowned-imports" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } @@ -91058,26 +121487,28 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-run-against-entire-lockfile", - "config_key": "run_against_entire_lockfile", - "default": false, + "comma_separated_display_args": "--[no-]python-infer-use-rust-parser", + "config_key": "use_rust_parser", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-run-against-entire-lockfile"], - "env_var": "PANTS_PYTHON_RUN_AGAINST_ENTIRE_LOCKFILE", + "display_args": [ + "--[no-]python-infer-use-rust-parser" + ], + "env_var": "PANTS_PYTHON_INFER_USE_RUST_PARSER", "fromfile": false, - "help": "If enabled, when running binaries, tests, and repls, Pants will use the entire lockfile file instead of just the relevant subset.\n\nIf you are using Pex lockfiles, we generally do not recommend this. You will already get similar performance benefits to this option, without the downsides.\n\nOtherwise, this option can improve performance and reduce cache size. But it has two consequences: 1) All cached test results will be invalidated if any requirement in the lockfile\n changes, rather than just those that depend on the changed requirement.\n2) Requirements unneeded by a test/run/repl will be present on the sys.path, which\n might in rare cases cause their behavior to change.\n\nThis option does not affect packaging deployable artifacts, such as PEX files, wheels and cloud functions, which will still use just the exact subset of requirements needed.", + "help": "Use the new Rust-based, multithreaded, in-process dependency parser.\n\nPants 2.17 introduced a new paradigm to dependency parsing for Python by leveraging a Rust-based parser that's called in the same process as Pants itself, instead of farming out to one-python-process-per-file.\n\nAs a result of the switch, cold-cache performance improved by a factor of about 12x, while hot-cache had no difference. Additionally, Pants can now infer dependencies from Python scripts with syntax errors.\n\nAfter leaving this defaulted to disabled for a release cycle, Pants 2.18 started defaulting to enabling this.\n\nIf you think the new behaviour is causing problems, it is recommended that you run `pants peek :: > before.json` and then `pants --python-infer-use-rust-parser=False peek :: > after.json` and compare the two results.\n\nIf you think there is a bug and need to disable it, please file an issue: https://github.com/pantsbuild/pants/issues/new/choose.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-run-against-entire-lockfile", - "--no-python-run-against-entire-lockfile" + "--python-infer-use-rust-parser", + "--no-python-infer-use-rust-parser" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--run-against-entire-lockfile", - "--no-run-against-entire-lockfile" + "--use-rust-parser", + "--no-use-rust-parser" ], "value_history": { "ranked_values": [ @@ -91089,40 +121520,60 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options controlling which dependencies will be inferred for Python targets.", + "is_goal": false, + "provider": "pants.backend.python", + "scope": "python-infer" + }, + "python-native-code": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-resolver-manylinux=", - "config_key": "resolver_manylinux", - "default": "manylinux2014", + "comma_separated_display_args": "--python-native-code-cpp-flags=\"['', '', ...]\"", + "config_key": "cpp_flags", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-resolver-manylinux="], - "env_var": "PANTS_PYTHON_RESOLVER_MANYLINUX", + "display_args": [ + "--python-native-code-cpp-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_NATIVE_CODE_CPP_FLAGS", "fromfile": false, - "help": "Whether to allow resolution of manylinux wheels when resolving requirements for foreign linux platforms. The value should be a manylinux platform upper bound, e.g. `'manylinux2010'`, or else the string `'no'` to disallow.", + "help": "Override the `CPPFLAGS` environment variable for any forked subprocesses. Use the value `['']` to inherit the value of the `CPPFLAGS` environment variable from your runtime environment target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-resolver-manylinux"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--resolver-manylinux"], + "scoped_cmd_line_args": [ + "--python-native-code-cpp-flags" + ], + "target_field_name": "python_native_code_cpp_flags", + "typ": "list", + "unscoped_cmd_line_args": [ + "--cpp-flags" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "manylinux2014" + "value": [ + "" + ] } ] } @@ -91130,65 +121581,82 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-source-targets", - "config_key": "tailor_source_targets", - "default": true, + "comma_separated_display_args": "--python-native-code-ld-flags=\"['', '', ...]\"", + "config_key": "ld_flags", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-source-targets"], - "env_var": "PANTS_PYTHON_TAILOR_SOURCE_TARGETS", + "display_args": [ + "--python-native-code-ld-flags=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_NATIVE_CODE_LD_FLAGS", "fromfile": false, - "help": "If true, add `python_sources`, `python_tests`, and `python_test_utils` targets with the `tailor` goal.", + "help": "Override the `LDFLAGS` environment variable for any forked subprocesses. Use the value `['']` to inherit the value of the `LDFLAGS` environment variable from your runtime environment target.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-tailor-source-targets", - "--no-python-tailor-source-targets" + "--python-native-code-ld-flags" ], - "target_field_name": null, - "typ": "bool", + "target_field_name": "python_native_code_ld_flags", + "typ": "list", "unscoped_cmd_line_args": [ - "--tailor-source-targets", - "--no-tailor-source-targets" + "--ld-flags" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "" + ] } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for building native code using Python, e.g. when resolving distributions.", + "is_goal": false, + "provider": "pants.core", + "scope": "python-native-code" + }, + "python-protobuf": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-ignore-empty-init-files", - "config_key": "tailor_ignore_empty_init_files", + "comma_separated_display_args": "--[no-]python-protobuf-infer-runtime-dependency", + "config_key": "infer_runtime_dependency", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-ignore-empty-init-files"], - "env_var": "PANTS_PYTHON_TAILOR_IGNORE_EMPTY_INIT_FILES", + "display_args": [ + "--[no-]python-protobuf-infer-runtime-dependency" + ], + "env_var": "PANTS_PYTHON_PROTOBUF_INFER_RUNTIME_DEPENDENCY", "fromfile": false, - "help": "If true, don't add `python_sources` targets for `__init__.py` files that are both empty and where there are no other Python files in the directory.\n\nEmpty and solitary `__init__.py` files usually exist as import scaffolding rather than true library code, so it can be noisy to add BUILD files.\n\nEven if this option is set to true, Pants will still ensure the empty `__init__.py` files are included in the sandbox when running processes.\n\nIf you set to false, you may also want to set `[python-infer].init_files = \"always\"`.", + "help": "If True, will add a dependency on a `python_requirement` target exposing the `protobuf` module (usually from the `protobuf` requirement). If the `protobuf_source` target sets `grpc=True`, will also add a dependency on the `python_requirement` target exposing the `grpcio` module.\n\nIf `[python].enable_resolves` is set, Pants will only infer dependencies on `python_requirement` targets that use the same resolve as the particular `protobuf_source` / `protobuf_sources` target uses, which is set via its `python_resolve` field.\n\nUnless this option is disabled, Pants will error if no relevant target is found or if more than one is found which causes ambiguity.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-tailor-ignore-empty-init-files", - "--no-python-tailor-ignore-empty-init-files" + "--python-protobuf-infer-runtime-dependency", + "--no-python-protobuf-infer-runtime-dependency" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-ignore-empty-init-files", - "--no-tailor-ignore-empty-init-files" + "--infer-runtime-dependency", + "--no-infer-runtime-dependency" ], "value_history": { "ranked_values": [ @@ -91204,30 +121672,34 @@ } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-requirements-targets", - "config_key": "tailor_requirements_targets", - "default": true, + "comma_separated_display_args": "--[no-]python-protobuf-mypy-plugin", + "config_key": "mypy_plugin", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-requirements-targets"], - "env_var": "PANTS_PYTHON_TAILOR_REQUIREMENTS_TARGETS", + "display_args": [ + "--[no-]python-protobuf-mypy-plugin" + ], + "env_var": "PANTS_PYTHON_PROTOBUF_MYPY_PLUGIN", "fromfile": false, - "help": "If true, add `python_requirements`, `poetry_requirements`, and `pipenv_requirements` target generators with the `tailor` goal.\n\n`python_requirements` targets are added for any file that matches the pattern `*requirements*.txt`. You will need to manually add `python_requirements` for different file names like `reqs.txt`.\n\n`poetry_requirements` targets are added for `pyproject.toml` files with `[tool.poetry` in them.", + "help": "Use the `mypy-protobuf` plugin (https://github.com/dropbox/mypy-protobuf) to also generate `.pyi` type stubs.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-tailor-requirements-targets", - "--no-python-tailor-requirements-targets" + "--python-protobuf-mypy-plugin", + "--no-python-protobuf-mypy-plugin" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--tailor-requirements-targets", - "--no-tailor-requirements-targets" + "--mypy-plugin", + "--no-mypy-plugin" ], "value_history": { "ranked_values": [ @@ -91239,46 +121711,60 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options related to the Protobuf Python backend.\n\nSee https://www.pantsbuild.org/v2.19/docs/protobuf-python.", + "is_goal": false, + "provider": "pants.backend.codegen.protobuf.python", + "scope": "python-protobuf" + }, + "python-repos": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-pex-binary-targets", - "config_key": "tailor_pex_binary_targets", - "default": false, + "comma_separated_display_args": "--python-repos-indexes=\"['', '', ...]\"", + "config_key": "indexes", + "default": [ + "https://pypi.org/simple/" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-pex-binary-targets"], - "env_var": "PANTS_PYTHON_TAILOR_PEX_BINARY_TARGETS", + "display_args": [ + "--python-repos-indexes=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_REPOS_INDEXES", "fromfile": false, - "help": "If true, add `pex_binary` targets for Python files named `__main__.py` or with a `__main__` clause with the `tailor` goal.", + "help": "URLs of [PEP-503 compatible](https://peps.python.org/pep-0503/) code repository indexes to look for requirements.\n\nIf set to an empty list, then Pex will use no indexes (meaning it will not use PyPI).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-tailor-pex-binary-targets", - "--no-python-tailor-pex-binary-targets" + "--python-repos-indexes" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--tailor-pex-binary-targets", - "--no-tailor-pex-binary-targets" + "--indexes" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "https://pypi.org/simple/" + ] } ] } @@ -91286,145 +121772,158 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-tailor-py-typed-targets", - "config_key": "tailor_py_typed_targets", - "default": true, + "comma_separated_display_args": "--python-repos-path-mappings=\"['', '', ...]\"", + "config_key": "path_mappings", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-tailor-py-typed-targets"], - "env_var": "PANTS_PYTHON_TAILOR_PY_TYPED_TARGETS", + "display_args": [ + "--python-repos-path-mappings=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_REPOS_PATH_MAPPINGS", "fromfile": false, - "help": "If true, add `resource` targets for marker files named `py.typed` with the `tailor` 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/v2.19/docs/python-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/v2.19/docs/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/v2.19/docs/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": [ - "--python-tailor-py-typed-targets", - "--no-python-tailor-py-typed-targets" + "--python-repos-path-mappings" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--tailor-py-typed-targets", - "--no-tailor-py-typed-targets" + "--path-mappings" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-macos-big-sur-compatibility", - "config_key": "macos_big_sur_compatibility", - "default": false, + "comma_separated_display_args": "--python-repos-find-links=\"['', '', ...]\"", + "config_key": "find_links", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-macos-big-sur-compatibility"], - "env_var": "PANTS_PYTHON_MACOS_BIG_SUR_COMPATIBILITY", + "display_args": [ + "--python-repos-find-links=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_REPOS_FIND_LINKS", "fromfile": false, - "help": "If set, and if running on macOS Big Sur, use `macosx_10_16` as the platform when building wheels. Otherwise, the default of `macosx_11_0` will be used. This may be required for `pip` to be able to install the resulting distribution on Big Sur.", + "help": "URLs and/or file paths corresponding to pip's `--find-links` option.\n\nPer [pip's documentation](https://pip.pypa.io/en/stable/cli/pip_wheel/?highlight=find%20links#cmdoption-f), URLs should be to HTML files with links to `.whl` and/or sdist files. Local paths must be absolute, and can either be to an HTML file with links or to a directory with `.whl` and/or sdist files, e.g. `file:///Users/pantsbuild/prebuilt_wheels`.\n\nFor local paths, you may want to use the option `[python-repos].path_mappings`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-macos-big-sur-compatibility", - "--no-python-macos-big-sur-compatibility" + "--python-repos-find-links" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--macos-big-sur-compatibility", - "--no-macos-big-sur-compatibility" + "--find-links" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, - "rank": "HARDCODED", - "value": false + "details": "from command-line flag", + "rank": "FLAG", + "value": [] } ] } - }, + } + ], + "deprecated": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-enable-lockfile-targets", - "config_key": "enable_lockfile_targets", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]python-enable-lockfile-targets"], - "env_var": "PANTS_PYTHON_ENABLE_LOCKFILE_TARGETS", + "comma_separated_display_args": "--python-repos-repos=\"['', '', ...]\"", + "config_key": "repos", + "default": [], + "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", + "deprecation_active": true, + "display_args": [ + "--python-repos-repos=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_REPOS_REPOS", "fromfile": false, - "help": "Create targets for all Python lockfiles defined in `[python].resolves`.\n\nThe lockfile targets will then be used as dependencies to the `python_requirement` targets that use them, invalidating source targets per resolve when the lockfile changes.\n\nIf another targets address is in conflict with the created lockfile target, it will shadow the lockfile target and it will not be available as a dependency for any `python_requirement` targets.", - "removal_hint": null, - "removal_version": null, + "help": "URLs of code repositories to look for requirements. In Pip and Pex, this option corresponds to the `--find-links` option.", + "removal_hint": "A deprecated alias for `[python-repos].find_links`.", + "removal_version": "3.0.0.dev0", "scoped_cmd_line_args": [ - "--python-enable-lockfile-targets", - "--no-python-enable-lockfile-targets" + "--python-repos-repos" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--enable-lockfile-targets", - "--no-enable-lockfile-targets" + "--repos" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } } ], - "basic": [ + "deprecated_scope": null, + "description": "External Python code repositories, such as PyPI.\n\nThese options may be used to point to custom package indexes when resolving requirements.", + "is_goal": false, + "provider": "pants.core", + "scope": "python-repos" + }, + "python-thrift": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-default-run-goal-use-sandbox", - "config_key": "default_run_goal_use_sandbox", + "comma_separated_display_args": "--[no-]python-thrift-infer-runtime-dependency", + "config_key": "infer_runtime_dependency", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-default-run-goal-use-sandbox"], - "env_var": "PANTS_PYTHON_DEFAULT_RUN_GOAL_USE_SANDBOX", + "display_args": [ + "--[no-]python-thrift-infer-runtime-dependency" + ], + "env_var": "PANTS_PYTHON_THRIFT_INFER_RUNTIME_DEPENDENCY", "fromfile": false, - "help": "The default value used for the `run_goal_use_sandbox` field of Python targets. See the relevant field for more details.", + "help": "If True, will add a dependency on a `python_requirement` target exposing the `thrift` module (usually from the `thrift` requirement).\n\nIf `[python].enable_resolves` is set, Pants will only infer dependencies on `python_requirement` targets that use the same resolve as the particular `thrift_source` / `thrift_source` target uses, which is set via its `python_resolve` field.\n\nUnless this option is disabled, Pants will error if no relevant target is found or more than one is found which causes ambiguity.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-default-run-goal-use-sandbox", - "--no-python-default-run-goal-use-sandbox" + "--python-thrift-infer-runtime-dependency", + "--no-python-thrift-infer-runtime-dependency" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--default-run-goal-use-sandbox", - "--no-default-run-goal-use-sandbox" + "--infer-runtime-dependency", + "--no-infer-runtime-dependency" ], "value_history": { "ranked_values": [ @@ -91440,63 +121939,82 @@ } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-repl-history", - "config_key": "repl_history", - "default": true, + "comma_separated_display_args": "--python-thrift-options=\"['', '', ...]\"", + "config_key": "options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-repl-history"], - "env_var": "PANTS_PYTHON_REPL_HISTORY", + "display_args": [ + "--python-thrift-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTHON_THRIFT_OPTIONS", "fromfile": false, - "help": "Whether to use the standard Python command history file when running a repl.", + "help": "Code generation options specific to the Python code generator to pass to the Apache `thift` binary via the `-gen py` argument. See `thrift -help` for supported values.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-repl-history", - "--no-python-repl-history" + "--python-thrift-options" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--repl-history", "--no-repl-history"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } } ], - "deprecated": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Options specific to generating Python from Thrift using Apache Thrift", + "is_goal": false, + "provider": "pants.backend.codegen.thrift.apache.python", + "scope": "python-thrift" + }, + "pytype": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-requirement-constraints=", - "config_key": "requirement_constraints", + "comma_separated_display_args": "--pytype-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", - "deprecation_active": true, - "display_args": ["--python-requirement-constraints="], - "env_var": "PANTS_PYTHON_REQUIREMENT_CONSTRAINTS", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pytype-install-from-resolve=" + ], + "env_var": "PANTS_PYTYPE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "When resolving third-party requirements for your own code (vs. tools you run), use this constraints file to determine which versions to use.\n\nMutually exclusive with `[python].enable_resolves`, which we generally recommend as an improvement over constraints file.\n\nSee https://pip.pypa.io/en/stable/user_guide/#constraints-files for more information on the format of constraint files and how constraints are applied in Pex and pip.\n\nThis only applies when resolving user requirements, rather than tools you run like Black and Pytest. To constrain tools, set `[tool].lockfile`, e.g. `[black].lockfile`.", - "removal_hint": "We encourage instead migrating to `[python].enable_resolves` and `[python].resolves`, which is an improvement over this option. The `[python].resolves` feature ensures that your lockfiles are fully comprehensive, i.e. include all transitive dependencies; uses hashes for better supply chain security; and supports advanced features like VCS and local requirements, along with options `[python].resolves_to_only_binary`.\n\nTo migrate, stop setting `[python].requirement_constraints` and `[python].resolve_all_constraints`, and instead set `[python].enable_resolves` to `true`. Then, run `pants generate-lockfiles`.", - "removal_version": "3.0.0.dev0", - "scoped_cmd_line_args": ["--python-requirement-constraints"], + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": [ + "--pytype-install-from-resolve" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--requirement-constraints"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -91510,126 +122028,81 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-resolve-all-constraints", - "config_key": "resolve_all_constraints", - "default": true, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", - "deprecation_active": true, - "display_args": ["--[no-]python-resolve-all-constraints"], - "env_var": "PANTS_PYTHON_RESOLVE_ALL_CONSTRAINTS", + "comma_separated_display_args": "--pytype-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pytype-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYTYPE_REQUIREMENTS", "fromfile": false, - "help": "(Only relevant when using `[python].requirement_constraints.`) If enabled, when resolving requirements, Pants will first resolve your entire constraints file as a single global resolve. Then, if the code uses a subset of your constraints file, Pants will extract the relevant requirements from that global resolve so that only what's actually needed gets used. If disabled, Pants will not use a global resolve and will resolve each subset of your requirements independently.\n\nUsually this option should be enabled because it can result in far fewer resolves.", - "removal_hint": "We encourage instead migrating to `[python].enable_resolves` and `[python].resolves`, which is an improvement over this option. The `[python].resolves` feature ensures that your lockfiles are fully comprehensive, i.e. include all transitive dependencies; uses hashes for better supply chain security; and supports advanced features like VCS and local requirements, along with options `[python].resolves_to_only_binary`.\n\nTo migrate, stop setting `[python].requirement_constraints` and `[python].resolve_all_constraints`, and instead set `[python].enable_resolves` to `true`. Then, run `pants generate-lockfiles`.", - "removal_version": "3.0.0.dev0", + "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.", + "removal_hint": null, + "removal_version": null, "scoped_cmd_line_args": [ - "--python-resolve-all-constraints", - "--no-python-resolve-all-constraints" + "--pytype-requirements" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--resolve-all-constraints", - "--no-resolve-all-constraints" + "--requirements" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } - } - ], - "deprecated_scope": null, - "description": "Options for Pants's Python backend.", - "is_goal": false, - "provider": "pants.core", - "scope": "python" - }, - "python-bootstrap": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-bootstrap-internal-python-build-standalone-info=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "internal_python_build_standalone_info", - "default": { - "linux_arm64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", - "1ba520c0db431c84305677f56eb9a4254f5097430ed443e92fc8617f8fba973d", - 23873387 - ], - "linux_x86_64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", - "7ba397787932393e65fc2fb9fcfabf54f2bb6751d5da2b45913cb25b2d493758", - 26129729 - ], - "macos_arm64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-apple-darwin-install_only.tar.gz", - "d732d212d42315ac27c6da3e0b69636737a8d72086c980daf844344c010cab80", - 17084463 - ], - "macos_x86_64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-apple-darwin-install_only.tar.gz", - "3948384af5e8d4ee7e5ccc648322b99c1c5cf4979954ed5e6b3382c69d6db71e", - 17059474 - ] - }, + "comma_separated_display_args": "--pytype-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<3.10" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-bootstrap-internal-python-build-standalone-info=\"{'key1': val1, 'key2': val2, ...}\"" + "--pytype-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_PYTHON_BOOTSTRAP_INTERNAL_PYTHON_BUILD_STANDALONE_INFO", + "env_var": "PANTS_PYTYPE_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "A map from platform to the information needed to download Python Build Standalone.\n\nPython Build Standalone is used to run Python-implemented Pants tools/scripts in docker environments (so that Python doesn't need to be installed).\n\nThe version of Python provided should match the default value's version, which is the highest Python Major/Minor version compatible with the Pants package's interpreter constraints. Additionally, the downloaded file should be extractable by `tar` using `-xvf` (most likely a `.tar.gz` file).\n\nThe schema is `: (, , )` for each possible platform.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-bootstrap-internal-python-build-standalone-info" + "--pytype-interpreter-constraints" ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--internal-python-build-standalone-info"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "linux_arm64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", - "1ba520c0db431c84305677f56eb9a4254f5097430ed443e92fc8617f8fba973d", - 23873387 - ], - "linux_x86_64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", - "7ba397787932393e65fc2fb9fcfabf54f2bb6751d5da2b45913cb25b2d493758", - 26129729 - ], - "macos_arm64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-aarch64-apple-darwin-install_only.tar.gz", - "d732d212d42315ac27c6da3e0b69636737a8d72086c980daf844344c010cab80", - 17084463 - ], - "macos_x86_64": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.9.16+20230116-x86_64-apple-darwin-install_only.tar.gz", - "3948384af5e8d4ee7e5ccc648322b99c1c5cf4979954ed5e6b3382c69d6db71e", - 17059474 - ] - } + "value": [ + "CPython>=3.7,<3.10" + ] } ] } @@ -91637,34 +122110,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-bootstrap-search-path=\"[, , ...]\"", - "config_key": "search_path", - "default": ["", "", ""], + "comma_separated_display_args": "--pytype-console-script=", + "config_key": "console_script", + "default": "pytype", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-bootstrap-search-path=\"[, , ...]\"" + "--pytype-console-script=" ], - "env_var": "PANTS_PYTHON_BOOTSTRAP_SEARCH_PATH", + "env_var": "PANTS_PYTYPE_CONSOLE_SCRIPT", "fromfile": false, - "help": "A list of paths to search for Python interpreters.\n\nWhich interpreters are actually used from these paths is context-specific: the Python backend selects interpreters using options on the `python` subsystem, in particular, the `[python].interpreter_constraints` option.\n\nYou can specify absolute paths to interpreter binaries and/or to directories containing interpreter binaries. The order of entries does not matter.\n\nThe following special strings are supported:\n\nFor all runtime environment types:\n\n* ``, the contents of the PATH env var\n\nWhen the environment is a `local_environment` target:\n\n* ``, all Python versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF interpreter with the version in `BUILD_ROOT/.tool-versions`\n* ``, all Python versions under `$(pyenv root)/versions`\n* ``, the Pyenv interpreter with the version in `BUILD_ROOT/.python-version`\n* ``, paths in the `PEX_PYTHON_PATH` variable in `/etc/pexrc` or `~/.pexrc`", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-bootstrap-search-path"], - "target_field_name": "python_bootstrap_search_path", - "typ": "list", - "unscoped_cmd_line_args": ["--search-path"], + "scoped_cmd_line_args": [ + "--pytype-console-script" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["", "", ""] + "value": "pytype" } ] } @@ -91672,72 +122149,65 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-bootstrap-names=\"[, , ...]\"", - "config_key": "names", - "default": ["python", "python3"], + "comma_separated_display_args": "--pytype-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-bootstrap-names=\"[, , ...]\"" + "--pytype-entry-point=" ], - "env_var": "PANTS_PYTHON_BOOTSTRAP_NAMES", + "env_var": "PANTS_PYTYPE_ENTRY_POINT", "fromfile": false, - "help": "The names of Python binaries to search for. See the `--search-path` option to influence where interpreters are searched for.\n\nThis does not impact which Python interpreter is used to run your code, only what is used to run internal tools.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-bootstrap-names"], - "target_field_name": "python_bootstrap_names", - "typ": "list", - "unscoped_cmd_line_args": ["--names"], + "scoped_cmd_line_args": [ + "--pytype-entry-point" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": ["python", "python3"] + "value": null } ] } } ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Options used to locate Python interpreters.\n\nThis subsystem controls where and how Pants will locate Python, but beyond that it does not control which Python interpreter versions are actually used for your code: see the `python` subsystem for that.", - "is_goal": false, - "provider": "pants.core", - "scope": "python-bootstrap" - }, - "python-dump-source-analysis": { - "advanced": [], "basic": [ { - "choices": ["raw_dependency_inference", "dependency_inference"], - "comma_separated_choices": "raw_dependency_inference, dependency_inference", - "comma_separated_display_args": "--python-dump-source-analysis-analysis-flavor=", - "config_key": "analysis_flavor", - "default": "dependency_inference", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]pytype-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-dump-source-analysis-analysis-flavor=" + "--[no-]pytype-skip" ], - "env_var": "PANTS_PYTHON_DUMP_SOURCE_ANALYSIS_ANALYSIS_FLAVOR", + "env_var": "PANTS_PYTYPE_SKIP", "fromfile": false, - "help": "The type of information that should be returned.\n\n* `dependency_inference`: The results of dependency inference, for every detected import in every file.\n\n* `raw_dependency_inference`: The raw intermediate results of the dependency inference process,\nat every stage they're available. Potentially useful for debugging the dependency inference process.", + "help": "If true, don't use Pytype when running `pants check`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-dump-source-analysis-analysis-flavor" + "--pytype-skip", + "--no-pytype-skip" ], "target_field_name": null, - "typ": "AnalysisFlavor", - "unscoped_cmd_line_args": ["--analysis-flavor"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -91748,54 +122218,46 @@ { "details": null, "rank": "HARDCODED", - "value": "dependency_inference" + "value": false } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Dump source analysis for python_source targets.", - "is_goal": true, - "provider": "pants.backend.experimental.python", - "scope": "python-dump-source-analysis" - }, - "python-infer": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-imports", - "config_key": "imports", - "default": true, + "comma_separated_display_args": "--pytype-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-imports"], - "env_var": "PANTS_PYTHON_INFER_IMPORTS", + "display_args": [ + "--pytype-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTYPE_ARGS", "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.", + "help": "Arguments to pass directly to Pytype, e.g. `--pytype-args='--version'`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-imports", - "--no-python-infer-imports" + "--pytype-args" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } @@ -91803,68 +122265,77 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-string-imports", - "config_key": "string_imports", - "default": false, + "comma_separated_display_args": "--pytype-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-string-imports"], - "env_var": "PANTS_PYTHON_INFER_STRING_IMPORTS", + "display_args": [ + "--pytype-config=" + ], + "env_var": "PANTS_PYTYPE_CONFIG", "fromfile": false, - "help": "Infer a target's dependencies based on strings that look like dynamic dependencies, such as Django settings files expressing dependencies as strings or pytest plugins listed in the `pytest_plugins` variable in a test module or a conftest file.\n\nTo ignore a false positive, you can either put `# pants: no-infer-dep` on the line of the string or put `!{bad_address}` in the `dependencies` field of your target.", + "help": "Path to an toml config file understood by Pytype (https://github.com/google/pytype#config-file).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-string-imports", - "--no-python-infer-string-imports" + "--pytype-config" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--string-imports", "--no-string-imports"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Pytype utility for typechecking Python code (https://github.com/google/pytype).", + "is_goal": false, + "provider": "pants.backend.experimental.python.typecheck.pytype", + "scope": "pytype" + }, + "pyupgrade": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-infer-string-imports-min-dots=", - "config_key": "string_imports_min_dots", - "default": 2, + "comma_separated_display_args": "--pyupgrade-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-infer-string-imports-min-dots="], - "env_var": "PANTS_PYTHON_INFER_STRING_IMPORTS_MIN_DOTS", + "display_args": [ + "--pyupgrade-install-from-resolve=" + ], + "env_var": "PANTS_PYUPGRADE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If `--string-imports` is True, treat valid-looking strings with at least this many dots in them as potential dynamic dependencies. E.g., `'foo.bar.Baz'` will be treated as a potential dependency if this option is set to 2 but not if set to 3.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--python-infer-string-imports-min-dots"], + "scoped_cmd_line_args": [ + "--pyupgrade-install-from-resolve" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--string-imports-min-dots"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": 2 } ] } @@ -91872,35 +122343,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-assets", - "config_key": "assets", - "default": false, + "comma_separated_display_args": "--pyupgrade-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-assets"], - "env_var": "PANTS_PYTHON_INFER_ASSETS", + "display_args": [ + "--pyupgrade-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYUPGRADE_REQUIREMENTS", "fromfile": false, - "help": "Infer a target's asset dependencies based on strings that look like Posix filepaths, such as those given to `open` or `pkgutil.get_data`.\n\nTo ignore a false positive, you can either put `# pants: no-infer-dep` on the line of the string or put `!{bad_address}` in the `dependencies` field of your target.", + "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.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-assets", - "--no-python-infer-assets" + "--pyupgrade-requirements" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--assets", "--no-assets"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } @@ -91908,54 +122382,70 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-infer-assets-min-slashes=", - "config_key": "assets_min_slashes", - "default": 1, + "comma_separated_display_args": "--pyupgrade-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-infer-assets-min-slashes="], - "env_var": "PANTS_PYTHON_INFER_ASSETS_MIN_SLASHES", + "display_args": [ + "--pyupgrade-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_PYUPGRADE_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "If `--assets` is True, treat valid-looking strings with at least this many forward slash characters as potential assets. E.g. `'data/databases/prod.db'` will be treated as a potential candidate if this option is set to 2 but not to 3.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-assets-min-slashes"], + "scoped_cmd_line_args": [ + "--pyupgrade-interpreter-constraints" + ], "target_field_name": null, - "typ": "int", - "unscoped_cmd_line_args": ["--assets-min-slashes"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": 1 + "value": [ + "CPython>=3.7,<4" + ] } ] } }, { - "choices": ["always", "content_only", "never"], - "comma_separated_choices": "always, content_only, never", - "comma_separated_display_args": "--python-infer-init-files=", - "config_key": "init_files", - "default": "content_only", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pyupgrade-console-script=", + "config_key": "console_script", + "default": "pyupgrade", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--python-infer-init-files="], - "env_var": "PANTS_PYTHON_INFER_INIT_FILES", + "display_args": [ + "--pyupgrade-console-script=" + ], + "env_var": "PANTS_PYUPGRADE_CONSOLE_SCRIPT", "fromfile": false, - "help": "Infer a target's dependencies on any `__init__.py` files in the packages it is located in (recursively upward in the directory structure).\n\nEven if this is set to `never` or `content_only`, Pants will still always include any ancestor `__init__.py` files in the sandbox. Only, they will not be \"proper\" dependencies, e.g. they will not show up in `pants dependencies` and their own dependencies will not be used.\n\nBy default, Pants only adds a \"proper\" dependency if there is content in the `__init__.py` file. This makes sure that dependencies are added when likely necessary to build, while also avoiding adding unnecessary dependencies. While accurate, those unnecessary dependencies can complicate setting metadata like the `interpreter_constraints` and `resolve` fields.", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-init-files"], + "scoped_cmd_line_args": [ + "--pyupgrade-console-script" + ], "target_field_name": null, - "typ": "InitFilesInference", - "unscoped_cmd_line_args": ["--init-files"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -91966,7 +122456,7 @@ { "details": null, "rank": "HARDCODED", - "value": "content_only" + "value": "pyupgrade" } ] } @@ -91974,60 +122464,65 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-conftests", - "config_key": "conftests", - "default": true, + "comma_separated_display_args": "--pyupgrade-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-conftests"], - "env_var": "PANTS_PYTHON_INFER_CONFTESTS", + "display_args": [ + "--pyupgrade-entry-point=" + ], + "env_var": "PANTS_PYUPGRADE_ENTRY_POINT", "fromfile": false, - "help": "Infer a test target's dependencies on any `conftest.py` files in the current directory and ancestor directories.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-conftests", - "--no-python-infer-conftests" + "--pyupgrade-entry-point" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--conftests", "--no-conftests"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-entry-points", - "config_key": "entry_points", - "default": true, + "comma_separated_display_args": "--[no-]pyupgrade-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-entry-points"], - "env_var": "PANTS_PYTHON_INFER_ENTRY_POINTS", + "display_args": [ + "--[no-]pyupgrade-skip" + ], + "env_var": "PANTS_PYUPGRADE_SKIP", "fromfile": false, - "help": "Infer dependencies on targets' entry points, e.g. `pex_binary`'s `entry_point` field, `python_aws_lambda_function`'s `handler` field and `python_distribution`'s `entry_points` field.", + "help": "If true, don't use pyupgrade when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-entry-points", - "--no-python-infer-entry-points" + "--pyupgrade-skip", + "--no-pyupgrade-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--entry-points", "--no-entry-points"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -92038,68 +122533,87 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } }, { - "choices": ["error", "warning", "ignore"], - "comma_separated_choices": "error, warning, ignore", - "comma_separated_display_args": "--python-infer-unowned-dependency-behavior=", - "config_key": "unowned_dependency_behavior", - "default": "warning", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pyupgrade-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-infer-unowned-dependency-behavior=" + "--pyupgrade-args=\"[, , ...]\"" ], - "env_var": "PANTS_PYTHON_INFER_UNOWNED_DEPENDENCY_BEHAVIOR", + "env_var": "PANTS_PYUPGRADE_ARGS", "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 `ModuleNotFoundError`, so this option can be helpful to error more eagerly.\n\nTo ignore any false positives, either add `# pants: no-infer-dep` to the line of the import or put the import inside a `try: except ImportError:` block.", + "help": "Arguments to pass directly to pyupgrade, e.g. `--pyupgrade-args='--py39-plus --keep-runtime-typing'`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-unowned-dependency-behavior" + "--pyupgrade-args" ], "target_field_name": null, - "typ": "UnownedDependencyUsage", - "unscoped_cmd_line_args": ["--unowned-dependency-behavior"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "warning" + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade).", + "is_goal": false, + "provider": "pants.backend.python.lint.pyupgrade", + "scope": "pyupgrade" + }, + "regex-lint": { + "advanced": [], + "basic": [ { - "choices": ["none", "by_source_root"], - "comma_separated_choices": "none, by_source_root", - "comma_separated_display_args": "--python-infer-ambiguity-resolution=", - "config_key": "ambiguity_resolution", - "default": "none", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]regex-lint-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-infer-ambiguity-resolution=" + "--[no-]regex-lint-skip" ], - "env_var": "PANTS_PYTHON_INFER_AMBIGUITY_RESOLUTION", + "env_var": "PANTS_REGEX_LINT_SKIP", "fromfile": false, - "help": "When multiple sources provide the same symbol, how to choose the provider to use.\n\n`none`: Do not attempt to resolve this ambiguity. No dependency will be inferred, and warnings will be logged.\n\n`by_source_root`: Choose the provider with the closest common ancestor to the consumer's source root. If the provider is under the same source root then this will be the source root itself. This is useful when multiple projects in different source roots provide the same symbols (because of repeated first-party module paths or overlapping requirements.txt) and you want to resolve the ambiguity locally in each project.", + "help": "If true, don't use regex-lint when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-ambiguity-resolution"], + "scoped_cmd_line_args": [ + "--regex-lint-skip", + "--no-regex-lint-skip" + ], "target_field_name": null, - "typ": "AmbiguityResolution", - "unscoped_cmd_line_args": ["--ambiguity-resolution"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -92110,7 +122624,7 @@ { "details": null, "rank": "HARDCODED", - "value": "none" + "value": false } ] } @@ -92118,61 +122632,71 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-infer-ignored-unowned-imports=\"['', '', ...]\"", - "config_key": "ignored_unowned_imports", - "default": [], + "comma_separated_display_args": "--regex-lint-config=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "config", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-infer-ignored-unowned-imports=\"['', '', ...]\"" + "--regex-lint-config=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_PYTHON_INFER_IGNORED_UNOWNED_IMPORTS", - "fromfile": false, - "help": "Unowned imports that should be ignored.\n\nIf there are any unowned import statements and adding the `# pants: no-infer-dep` to the lines of the import is impractical, you can instead provide a list of imports that Pants should ignore. You can declare a specific import or a path to a package if you would like any of the package imports to be ignored.\n\nFor example, you could ignore all the following imports of the code\n\n import src.generated.app\n from src.generated.app import load\n from src.generated.app import start\n from src.generated.client import connect\n\nby setting `ignored-unowned-imports=[\"src.generated.app\", \"src.generated.client.connect\"]`.", + "env_var": "PANTS_REGEX_LINT_CONFIG", + "fromfile": true, + "help": "Config schema is as follows:\n\n ```\n {\n 'required_matches': {\n 'path_pattern1': [content_pattern1, content_pattern2],\n 'path_pattern2': [content_pattern1, content_pattern3],\n ...\n },\n 'path_patterns': [\n {\n 'name': path_pattern1',\n 'pattern': ,\n 'inverted': True|False (defaults to False),\n 'content_encoding': (defaults to utf8)\n },\n ...\n ],\n 'content_patterns': [\n {\n 'name': 'content_pattern1',\n 'pattern': ,\n 'inverted': True|False (defaults to False)\n }\n ...\n ]\n }\n ```\n\nMeaning: if a file matches some path pattern, its content must match all the corresponding content patterns.\n\nIt's often helpful to load this config from a JSON or YAML file. To do that, set `[regex-lint].config = '@path/to/config.yaml'`, for example.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-infer-ignored-unowned-imports"], + "scoped_cmd_line_args": [ + "--regex-lint-config" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--ignored-unowned-imports"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": {} } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-infer-use-rust-parser", - "config_key": "use_rust_parser", - "default": true, + "choices": [ + "none", + "summary", + "nonmatching", + "names", + "all" + ], + "comma_separated_choices": "none, summary, nonmatching, names, all", + "comma_separated_display_args": "--regex-lint-detail-level=", + "config_key": "detail_level", + "default": "nonmatching", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-infer-use-rust-parser"], - "env_var": "PANTS_PYTHON_INFER_USE_RUST_PARSER", + "display_args": [ + "--regex-lint-detail-level=" + ], + "env_var": "PANTS_REGEX_LINT_DETAIL_LEVEL", "fromfile": false, - "help": "Use the new Rust-based, multithreaded, in-process dependency parser.\n\nPants 2.17 introduced a new paradigm to dependency parsing for Python by leveraging a Rust-based parser that's called in the same process as Pants itself, instead of farming out to one-python-process-per-file.\n\nAs a result of the switch, cold-cache performance improved by a factor of about 12x, while hot-cache had no difference. Additionally, Pants can now infer dependencies from Python scripts with syntax errors.\n\nAfter leaving this defaulted to disabled for a release cycle, Pants 2.18 started defaulting to enabling this.\n\nIf you think the new behaviour is causing problems, it is recommended that you run `pants peek :: > before.json` and then `pants --python-infer-use-rust-parser=False peek :: > after.json` and compare the two results.\n\nIf you think there is a bug and need to disable it, please file an issue: https://github.com/pantsbuild/pants/issues/new/choose.", + "help": "How much detail to include in the result.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-infer-use-rust-parser", - "--no-python-infer-use-rust-parser" + "--regex-lint-detail-level" ], "target_field_name": null, - "typ": "bool", + "typ": "DetailLevel", "unscoped_cmd_line_args": [ - "--use-rust-parser", - "--no-use-rust-parser" + "--detail-level" ], "value_history": { "ranked_values": [ @@ -92184,7 +122708,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "nonmatching" } ] } @@ -92192,33 +122716,73 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Options controlling which dependencies will be inferred for Python targets.", + "description": "Lint your code using regex patterns, e.g. to check for copyright headers.\n\nTo activate this with the `lint` goal, you must set `[regex-lint].config`.\n\nUnlike other linters, this can run on files not owned by targets, such as BUILD files.", "is_goal": false, - "provider": "pants.backend.python", - "scope": "python-infer" + "provider": "pants.backend.project_info", + "scope": "regex-lint" }, - "python-native-code": { - "advanced": [ + "repl": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-native-code-cpp-flags=\"['', '', ...]\"", - "config_key": "cpp_flags", - "default": [""], + "comma_separated_display_args": "--repl-shell=", + "config_key": "shell", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-native-code-cpp-flags=\"['', '', ...]\"" + "--repl-shell=" ], - "env_var": "PANTS_PYTHON_NATIVE_CODE_CPP_FLAGS", + "env_var": "PANTS_REPL_SHELL", "fromfile": false, - "help": "Override the `CPPFLAGS` environment variable for any forked subprocesses. Use the value `['']` to inherit the value of the `CPPFLAGS` environment variable from your runtime environment target.", + "help": "Override the automatically-detected REPL program for the target(s) specified.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-native-code-cpp-flags"], - "target_field_name": "python_native_code_cpp_flags", + "scoped_cmd_line_args": [ + "--repl-shell" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--shell" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--repl-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--repl-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_REPL_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to the repl program, e.g. `--repl-args='-i helloworld/main.py'`.\n\nCurrently supported only for the ipython shell.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--repl-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--cpp-flags"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -92229,7 +122793,7 @@ { "details": "", "rank": "HARDCODED", - "value": [""] + "value": [] } ] } @@ -92237,72 +122801,78 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-native-code-ld-flags=\"['', '', ...]\"", - "config_key": "ld_flags", - "default": [""], + "comma_separated_display_args": "--[no-]repl-restartable", + "config_key": "restartable", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-native-code-ld-flags=\"['', '', ...]\"" + "--[no-]repl-restartable" ], - "env_var": "PANTS_PYTHON_NATIVE_CODE_LD_FLAGS", + "env_var": "PANTS_REPL_RESTARTABLE", "fromfile": false, - "help": "Override the `LDFLAGS` environment variable for any forked subprocesses. Use the value `['']` to inherit the value of the `LDFLAGS` environment variable from your runtime environment target.", + "help": "True if the REPL should be restarted if its inputs have changed.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-native-code-ld-flags"], - "target_field_name": "python_native_code_ld_flags", - "typ": "list", - "unscoped_cmd_line_args": ["--ld-flags"], + "scoped_cmd_line_args": [ + "--repl-restartable", + "--no-repl-restartable" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--restartable", + "--no-restartable" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": false } ] } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Options for building native code using Python, e.g. when resolving distributions.", - "is_goal": false, + "description": "Open a REPL with the specified code loadable.", + "is_goal": true, "provider": "pants.core", - "scope": "python-native-code" + "scope": "repl" }, - "python-protobuf": { - "advanced": [ + "roots": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-protobuf-infer-runtime-dependency", - "config_key": "infer_runtime_dependency", - "default": true, + "comma_separated_display_args": "--roots-output-file=", + "config_key": "output_file", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-protobuf-infer-runtime-dependency"], - "env_var": "PANTS_PYTHON_PROTOBUF_INFER_RUNTIME_DEPENDENCY", + "display_args": [ + "--roots-output-file=" + ], + "env_var": "PANTS_ROOTS_OUTPUT_FILE", "fromfile": false, - "help": "If True, will add a dependency on a `python_requirement` target exposing the `protobuf` module (usually from the `protobuf` requirement). If the `protobuf_source` target sets `grpc=True`, will also add a dependency on the `python_requirement` target exposing the `grpcio` module.\n\nIf `[python].enable_resolves` is set, Pants will only infer dependencies on `python_requirement` targets that use the same resolve as the particular `protobuf_source` / `protobuf_sources` target uses, which is set via its `python_resolve` field.\n\nUnless this option is disabled, Pants will error if no relevant target is found or if more than one is found which causes ambiguity.", + "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-protobuf-infer-runtime-dependency", - "--no-python-protobuf-infer-runtime-dependency" + "--roots-output-file" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--infer-runtime-dependency", - "--no-infer-runtime-dependency" + "--output-file" ], "value_history": { "ranked_values": [ @@ -92310,38 +122880,34 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-protobuf-mypy-plugin", - "config_key": "mypy_plugin", - "default": false, + "comma_separated_display_args": "--roots-sep=", + "config_key": "sep", + "default": "\\n", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-protobuf-mypy-plugin"], - "env_var": "PANTS_PYTHON_PROTOBUF_MYPY_PLUGIN", + "display_args": [ + "--roots-sep=" + ], + "env_var": "PANTS_ROOTS_SEP", "fromfile": false, - "help": "Use the `mypy-protobuf` plugin (https://github.com/dropbox/mypy-protobuf) to also generate `.pyi` type stubs.", + "help": "String to use to separate lines in line-oriented output.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-protobuf-mypy-plugin", - "--no-python-protobuf-mypy-plugin" + "--roots-sep" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--mypy-plugin", "--no-mypy-plugin"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--sep" + ], "value_history": { "ranked_values": [ { @@ -92352,7 +122918,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "\\n" } ] } @@ -92360,44 +122926,43 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Options related to the Protobuf Python backend.\n\nSee https://www.pantsbuild.org/v2.19/docs/protobuf-python.", - "is_goal": false, - "provider": "pants.backend.codegen.protobuf.python", - "scope": "python-protobuf" + "description": "List the repo's registered source roots.", + "is_goal": true, + "provider": "pants.backend.project_info", + "scope": "roots" }, - "python-repos": { + "ruff": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-repos-indexes=\"['', '', ...]\"", - "config_key": "indexes", - "default": ["https://pypi.org/simple/"], + "comma_separated_display_args": "--ruff-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-repos-indexes=\"['', '', ...]\"" + "--ruff-install-from-resolve=" ], - "env_var": "PANTS_PYTHON_REPOS_INDEXES", + "env_var": "PANTS_RUFF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "URLs of [PEP-503 compatible](https://peps.python.org/pep-0503/) code repository indexes to look for requirements.\n\nIf set to an empty list, then Pex will use no indexes (meaning it will not use PyPI).", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--python-repos-indexes"], + "scoped_cmd_line_args": [ + "--ruff-install-from-resolve" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--indexes"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": ["https://pypi.org/simple/"] + "value": null } ] } @@ -92405,23 +122970,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-repos-path-mappings=\"['', '', ...]\"", - "config_key": "path_mappings", + "comma_separated_display_args": "--ruff-requirements=\"['', '', ...]\"", + "config_key": "requirements", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-repos-path-mappings=\"['', '', ...]\"" + "--ruff-requirements=\"['', '', ...]\"" ], - "env_var": "PANTS_PYTHON_REPOS_PATH_MAPPINGS", + "env_var": "PANTS_RUFF_REQUIREMENTS", "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/v2.19/docs/python-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/v2.19/docs/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/v2.19/docs/options#pantsrc-file.\n\nNote: Only takes effect if using Pex lockfiles, i.e. using the `generate-lockfiles` goal.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-repos-path-mappings"], + "scoped_cmd_line_args": [ + "--ruff-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--path-mappings"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -92436,29 +123005,33 @@ } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-repos-find-links=\"['', '', ...]\"", - "config_key": "find_links", - "default": [], + "comma_separated_display_args": "--ruff-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-repos-find-links=\"['', '', ...]\"" + "--ruff-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_PYTHON_REPOS_FIND_LINKS", + "env_var": "PANTS_RUFF_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "URLs and/or file paths corresponding to pip's `--find-links` option.\n\nPer [pip's documentation](https://pip.pypa.io/en/stable/cli/pip_wheel/?highlight=find%20links#cmdoption-f), URLs should be to HTML files with links to `.whl` and/or sdist files. Local paths must be absolute, and can either be to an HTML file with links or to a directory with `.whl` and/or sdist files, e.g. `file:///Users/pantsbuild/prebuilt_wheels`.\n\nFor local paths, you may want to use the option `[python-repos].path_mappings`.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-repos-find-links"], + "scoped_cmd_line_args": [ + "--ruff-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--find-links"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -92469,78 +123042,75 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "CPython>=3.7,<4" + ] } ] } - } - ], - "deprecated": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-repos-repos=\"['', '', ...]\"", - "config_key": "repos", - "default": [], - "deprecated_message": "Deprecated, is scheduled to be removed in version: 3.0.0.dev0.", - "deprecation_active": true, - "display_args": ["--python-repos-repos=\"['', '', ...]\""], - "env_var": "PANTS_PYTHON_REPOS_REPOS", + "comma_separated_display_args": "--ruff-console-script=", + "config_key": "console_script", + "default": "ruff", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--ruff-console-script=" + ], + "env_var": "PANTS_RUFF_CONSOLE_SCRIPT", "fromfile": false, - "help": "URLs of code repositories to look for requirements. In Pip and Pex, this option corresponds to the `--find-links` option.", - "removal_hint": "A deprecated alias for `[python-repos].find_links`.", - "removal_version": "3.0.0.dev0", - "scoped_cmd_line_args": ["--python-repos-repos"], + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--ruff-console-script" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--repos"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "ruff" } ] } - } - ], - "deprecated_scope": null, - "description": "External Python code repositories, such as PyPI.\n\nThese options may be used to point to custom package indexes when resolving requirements.", - "is_goal": false, - "provider": "pants.core", - "scope": "python-repos" - }, - "python-thrift": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]python-thrift-infer-runtime-dependency", - "config_key": "infer_runtime_dependency", - "default": true, + "comma_separated_display_args": "--ruff-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]python-thrift-infer-runtime-dependency"], - "env_var": "PANTS_PYTHON_THRIFT_INFER_RUNTIME_DEPENDENCY", + "display_args": [ + "--ruff-entry-point=" + ], + "env_var": "PANTS_RUFF_ENTRY_POINT", "fromfile": false, - "help": "If True, will add a dependency on a `python_requirement` target exposing the `thrift` module (usually from the `thrift` requirement).\n\nIf `[python].enable_resolves` is set, Pants will only infer dependencies on `python_requirement` targets that use the same resolve as the particular `thrift_source` / `thrift_source` target uses, which is set via its `python_resolve` field.\n\nUnless this option is disabled, Pants will error if no relevant target is found or more than one is found which causes ambiguity.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-thrift-infer-runtime-dependency", - "--no-python-thrift-infer-runtime-dependency" + "--ruff-entry-point" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--infer-runtime-dependency", - "--no-infer-runtime-dependency" + "--entry-point" ], "value_history": { "ranked_values": [ @@ -92548,119 +123118,124 @@ "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-thrift-options=\"['', '', ...]\"", - "config_key": "options", - "default": [], + "comma_separated_display_args": "--ruff-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-thrift-options=\"['', '', ...]\"" + "--ruff-config=" ], - "env_var": "PANTS_PYTHON_THRIFT_OPTIONS", + "env_var": "PANTS_RUFF_CONFIG", "fromfile": false, - "help": "Code generation options specific to the Python code generator to pass to the Apache `thift` binary via the `-gen py` argument. See `thrift -help` for supported values.", + "help": "Path to the `pyproject.toml` or `ruff.toml` file to use for configuration (https://github.com/charliermarsh/ruff#configuration).\n\nSetting this option will disable `[ruff].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--python-thrift-options"], + "scoped_cmd_line_args": [ + "--ruff-config" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--options"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Options specific to generating Python from Thrift using Apache Thrift", - "is_goal": false, - "provider": "pants.backend.codegen.thrift.apache.python", - "scope": "python-thrift" - }, - "pytype": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]ruff-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-install-from-resolve="], - "env_var": "PANTS_PYTYPE_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]ruff-config-discovery" + ], + "env_var": "PANTS_RUFF_CONFIG_DISCOVERY", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 true, Pants will include any relevant config files during runs (`pyproject.toml`, and `ruff.toml`).\n\nUse `[ruff].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-install-from-resolve"], + "scoped_cmd_line_args": [ + "--ruff-config-discovery", + "--no-ruff-config-discovery" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]ruff-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-requirements=\"['', '', ...]\""], - "env_var": "PANTS_PYTYPE_REQUIREMENTS", + "display_args": [ + "--[no-]ruff-skip" + ], + "env_var": "PANTS_RUFF_SKIP", "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 true, don't use Ruff when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-requirements"], + "scoped_cmd_line_args": [ + "--ruff-skip", + "--no-ruff-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } @@ -92668,23 +123243,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<3.10"], + "comma_separated_display_args": "--ruff-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pytype-interpreter-constraints=\"['', '', ...]\"" + "--ruff-args=\"[, , ...]\"" ], - "env_var": "PANTS_PYTYPE_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_RUFF_ARGS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Arguments to pass directly to Ruff, e.g. `--ruff-args='--exclude=foo --ignore=E501'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--ruff-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -92695,40 +123274,58 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<3.10"] + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The Ruff Python formatter (https://github.com/charliermarsh/ruff).", + "is_goal": false, + "provider": "pants.backend.experimental.python.lint.ruff", + "scope": "ruff" + }, + "run": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-console-script=", - "config_key": "console_script", - "default": "pytype", + "comma_separated_display_args": "--run-args=\"[, , ...]\", ... -- [ [ [...]]]", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-console-script="], - "env_var": "PANTS_PYTYPE_CONSOLE_SCRIPT", + "display_args": [ + "--run-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_RUN_ARGS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Arguments to pass directly to the executed target, e.g. `--run-args='val1 val2 --debug'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-console-script"], + "scoped_cmd_line_args": [ + "--run-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "pytype" + "value": [] } ] } @@ -92736,51 +123333,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--[no-]run-debug-adapter", + "config_key": "debug_adapter", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-entry-point="], - "env_var": "PANTS_PYTYPE_ENTRY_POINT", + "display_args": [ + "--[no-]run-debug-adapter" + ], + "env_var": "PANTS_RUN_DEBUG_ADAPTER", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Run the interactive process using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported.\n\nThe interactive process used will be immediately blocked waiting for a client before continuing.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-entry-point"], + "scoped_cmd_line_args": [ + "--run-debug-adapter", + "--no-run-debug-adapter" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--debug-adapter", + "--no-debug-adapter" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } } ], + "deprecated": [], + "deprecated_scope": null, + "description": "Runs a binary target.\n\nThis goal propagates the return code of the underlying executable.\n\nIf your application can safely be restarted while it is running, you can pass `restartable=True` on your binary target (for supported types), and the `run` goal will automatically restart them as all relevant files change. This can be particularly useful for server applications.", + "is_goal": true, + "provider": "pants.core", + "scope": "run" + }, + "rust": { + "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pytype-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--rust-toolchain=", + "config_key": "toolchain", + "default": "stable", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pytype-skip"], - "env_var": "PANTS_PYTYPE_SKIP", + "display_args": [ + "--rust-toolchain=" + ], + "env_var": "PANTS_RUST_TOOLCHAIN", "fromfile": false, - "help": "If true, don't use Pytype when running `pants check`.", + "help": "Name of a Rust toolchain to use for all builds. The toolchain name will be provided to Rustup to find the Toolchain.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-skip", "--no-pytype-skip"], + "scoped_cmd_line_args": [ + "--rust-toolchain" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--toolchain" + ], "value_history": { "ranked_values": [ { @@ -92791,7 +123416,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "stable" } ] } @@ -92799,21 +123424,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--rust-rustup-search-paths=\"['', '', ...]\"", + "config_key": "rustup_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-args=\"[, , ...]\""], - "env_var": "PANTS_PYTYPE_ARGS", + "display_args": [ + "--rust-rustup-search-paths=\"['', '', ...]\"" + ], + "env_var": "PANTS_RUST_RUSTUP_SEARCH_PATHS", "fromfile": false, - "help": "Arguments to pass directly to Pytype, e.g. `--pytype-args='--version'`.", + "help": "A list of paths to search for Rustup.\n\nSpecify absolute paths to directories with the `rustup` binary, e.g. `/usr/bin`. Earlier entries will be searched first. The special string '' will expand to the contents of the PATH env var.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-args"], + "scoped_cmd_line_args": [ + "--rust-rustup-search-paths" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--rustup-search-paths" + ], "value_history": { "ranked_values": [ { @@ -92824,35 +123457,61 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "" + ] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for Rust support.", + "is_goal": false, + "provider": "pants.backend.experimental.rust", + "scope": "rust" + }, + "rustfmt": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pytype-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--[no-]rustfmt-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pytype-config="], - "env_var": "PANTS_PYTYPE_CONFIG", + "display_args": [ + "--[no-]rustfmt-skip" + ], + "env_var": "PANTS_RUSTFMT_SKIP", "fromfile": false, - "help": "Path to an toml config file understood by Pytype (https://github.com/google/pytype#config-file).", + "help": "If true, don't use rustfmt when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pytype-config"], + "scoped_cmd_line_args": [ + "--rustfmt-skip", + "--no-rustfmt-skip" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } @@ -92860,107 +123519,153 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Pytype utility for typechecking Python code (https://github.com/google/pytype).", + "description": "Rustfmt-specific options.", "is_goal": false, - "provider": "pants.backend.experimental.python.typecheck.pytype", - "scope": "pytype" + "provider": "pants.backend.experimental.rust", + "scope": "rustfmt" }, - "pyupgrade": { + "scala": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]scala-tailor-source-targets", + "config_key": "tailor_source_targets", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyupgrade-install-from-resolve="], - "env_var": "PANTS_PYUPGRADE_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]scala-tailor-source-targets" + ], + "env_var": "PANTS_SCALA_TAILOR_SOURCE_TARGETS", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 true, add `scala_sources`, `scala_junit_tests`, and `scalatest_tests` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-install-from-resolve"], + "scoped_cmd_line_args": [ + "--scala-tailor-source-targets", + "--no-scala-tailor-source-targets" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor-source-targets", + "--no-tailor-source-targets" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--scala-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "version_for_resolve", + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pyupgrade-requirements=\"['', '', ...]\"" + "--scala-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_PYUPGRADE_REQUIREMENTS", + "env_var": "PANTS_SCALA_VERSION_FOR_RESOLVE", "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": "A dictionary mapping the name of a resolve to the Scala version to use for all Scala targets consuming that resolve.\n\nAll Scala-compiled jars on a resolve's classpath must be \"compatible\" with one another and with all Scala-compiled first-party sources from `scala_sources` (and other Scala target types) using that resolve. The option sets the Scala version that will be used to compile all first-party sources using the resolve. This ensures that the compatibility property is maintained for a resolve. To support multiple Scala versions, use multiple resolves.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-requirements"], + "scoped_cmd_line_args": [ + "--scala-version-for-resolve" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--version-for-resolve" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": {} } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Scala programming language", + "is_goal": false, + "provider": "pants.backend.experimental.scala", + "scope": "scala" + }, + "scala-dump-source-analysis": { + "advanced": [], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Dump source analysis for scala_source targets.", + "is_goal": true, + "provider": "pants.backend.experimental.scala.debug_goals", + "scope": "scala-dump-source-analysis" + }, + "scala-infer": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--[no-]scala-infer-imports", + "config_key": "imports", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pyupgrade-interpreter-constraints=\"['', '', ...]\"" + "--[no-]scala-infer-imports" ], - "env_var": "PANTS_PYUPGRADE_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_SCALA_INFER_IMPORTS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Infer a target's dependencies by parsing import statements from sources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--scala-infer-imports", + "--no-scala-infer-imports" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--imports", + "--no-imports" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": true } ] } @@ -92968,21 +123673,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-console-script=", - "config_key": "console_script", - "default": "pyupgrade", + "comma_separated_display_args": "--[no-]scala-infer-consumed-types", + "config_key": "consumed_types", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--pyupgrade-console-script="], - "env_var": "PANTS_PYUPGRADE_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]scala-infer-consumed-types" + ], + "env_var": "PANTS_SCALA_INFER_CONSUMED_TYPES", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "Infer a target's dependencies by parsing consumed types from sources.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-console-script"], + "scoped_cmd_line_args": [ + "--scala-infer-consumed-types", + "--no-scala-infer-consumed-types" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--consumed-types", + "--no-consumed-types" + ], "value_history": { "ranked_values": [ { @@ -92993,7 +123706,7 @@ { "details": null, "rank": "HARDCODED", - "value": "pyupgrade" + "value": true } ] } @@ -93001,51 +123714,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-entry-point=", - "config_key": "entry_point", - "default": null, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--pyupgrade-entry-point="], - "env_var": "PANTS_PYUPGRADE_ENTRY_POINT", - "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-entry-point"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - } - ] - } - } - ], - "basic": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pyupgrade-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--[no-]scala-infer-package-objects", + "config_key": "package_objects", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]pyupgrade-skip"], - "env_var": "PANTS_PYUPGRADE_SKIP", + "display_args": [ + "--[no-]scala-infer-package-objects" + ], + "env_var": "PANTS_SCALA_INFER_PACKAGE_OBJECTS", "fromfile": false, - "help": "If true, don't use pyupgrade when running `pants fmt` and `pants lint`.", + "help": "Add dependency on the package object to every target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-skip", "--no-pyupgrade-skip"], + "scoped_cmd_line_args": [ + "--scala-infer-package-objects", + "--no-scala-infer-package-objects" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--package-objects", + "--no-package-objects" + ], "value_history": { "ranked_values": [ { @@ -93056,7 +123747,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } @@ -93064,34 +123755,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--pyupgrade-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]scala-infer-force-add-siblings-as-dependencies", + "config_key": "force_add_siblings_as_dependencies", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--pyupgrade-args=\"[, , ...]\"" + "--[no-]scala-infer-force-add-siblings-as-dependencies" ], - "env_var": "PANTS_PYUPGRADE_ARGS", + "env_var": "PANTS_SCALA_INFER_FORCE_ADD_SIBLINGS_AS_DEPENDENCIES", "fromfile": false, - "help": "Arguments to pass directly to pyupgrade, e.g. `--pyupgrade-args='--py39-plus --keep-runtime-typing'`.", + "help": "If true, add a dependency on all `scala_source` targets generated by the same `scala_sources` target generator. If false, the dependencies will only be added if `[scala-infer].imports` is also set to false.\n\nSetting this option to true reduces the precision of dependency information. That means that you may end up compiling more than is necessary for a particular task, and that compilation will be invalidated more frequently than actually necessary. However, setting to true may be helpful if compilation fails due to missing dependencies.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--pyupgrade-args"], + "scoped_cmd_line_args": [ + "--scala-infer-force-add-siblings-as-dependencies", + "--no-scala-infer-force-add-siblings-as-dependencies" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force-add-siblings-as-dependencies", + "--no-force-add-siblings-as-dependencies" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } @@ -93099,43 +123796,49 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade).", + "description": "Options controlling which dependencies will be inferred for Scala targets.", "is_goal": false, - "provider": "pants.backend.python.lint.pyupgrade", - "scope": "pyupgrade" + "provider": "pants.backend.experimental.scala", + "scope": "scala-infer" }, - "regex-lint": { + "scalac": { "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]regex-lint-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--scalac-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]regex-lint-skip"], - "env_var": "PANTS_REGEX_LINT_SKIP", + "display_args": [ + "--scalac-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SCALAC_ARGS", "fromfile": false, - "help": "If true, don't use regex-lint when running `pants lint`.", + "help": "Arguments to pass directly to scalac, e.g. `--scalac-args='-encoding UTF-8'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--regex-lint-skip", "--no-regex-lint-skip"], + "scoped_cmd_line_args": [ + "--scalac-args" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } @@ -93143,23 +123846,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--regex-lint-config=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "config", + "comma_separated_display_args": "--scalac-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "plugins_for_resolve", "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--regex-lint-config=\"{'key1': val1, 'key2': val2, ...}\"" + "--scalac-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_REGEX_LINT_CONFIG", - "fromfile": true, - "help": "Config schema is as follows:\n\n ```\n {\n 'required_matches': {\n 'path_pattern1': [content_pattern1, content_pattern2],\n 'path_pattern2': [content_pattern1, content_pattern3],\n ...\n },\n 'path_patterns': [\n {\n 'name': path_pattern1',\n 'pattern': ,\n 'inverted': True|False (defaults to False),\n 'content_encoding': (defaults to utf8)\n },\n ...\n ],\n 'content_patterns': [\n {\n 'name': 'content_pattern1',\n 'pattern': ,\n 'inverted': True|False (defaults to False)\n }\n ...\n ]\n }\n ```\n\nMeaning: if a file matches some path pattern, its content must match all the corresponding content patterns.\n\nIt's often helpful to load this config from a JSON or YAML file. To do that, set `[regex-lint].config = '@path/to/config.yaml'`, for example.", + "env_var": "PANTS_SCALAC_PLUGINS_FOR_RESOLVE", + "fromfile": false, + "help": "A dictionary, whose keys are the names of each JVM resolve that requires default `scalac` plugins, and the value is a comma-separated string consisting of scalac plugin names. Each specified plugin must have a corresponding `scalac_plugin` target that specifies that name in either its `plugin_name` field or is the same as its target name.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--regex-lint-config"], + "scoped_cmd_line_args": [ + "--scalac-plugins-for-resolve" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--config"], + "unscoped_cmd_line_args": [ + "--plugins-for-resolve" + ], "value_history": { "ranked_values": [ { @@ -93174,75 +123881,52 @@ } ] } - }, - { - "choices": ["none", "summary", "nonmatching", "names", "all"], - "comma_separated_choices": "none, summary, nonmatching, names, all", - "comma_separated_display_args": "--regex-lint-detail-level=", - "config_key": "detail_level", - "default": "nonmatching", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--regex-lint-detail-level="], - "env_var": "PANTS_REGEX_LINT_DETAIL_LEVEL", - "fromfile": false, - "help": "How much detail to include in the result.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--regex-lint-detail-level"], - "target_field_name": null, - "typ": "DetailLevel", - "unscoped_cmd_line_args": ["--detail-level"], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "nonmatching" - } - ] - } } ], "deprecated": [], "deprecated_scope": null, - "description": "Lint your code using regex patterns, e.g. to check for copyright headers.\n\nTo activate this with the `lint` goal, you must set `[regex-lint].config`.\n\nUnlike other linters, this can run on files not owned by targets, such as BUILD files.", + "description": "The Scala compiler.", "is_goal": false, - "provider": "pants.backend.project_info", - "scope": "regex-lint" + "provider": "pants.backend.experimental.scala", + "scope": "scalac" }, - "repl": { - "advanced": [], - "basic": [ + "scalafmt": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--repl-shell=", - "config_key": "shell", - "default": null, + "comma_separated_display_args": "--scalafmt-version=", + "config_key": "version", + "default": "3.2.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--repl-shell="], - "env_var": "PANTS_REPL_SHELL", + "display_args": [ + "--scalafmt-version=" + ], + "env_var": "PANTS_SCALAFMT_VERSION", "fromfile": false, - "help": "Override the automatically-detected REPL program for the target(s) specified.", + "help": "Version string for the tool. This is available for substitution in the `[scalafmt].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--repl-shell"], + "scoped_cmd_line_args": [ + "--scalafmt-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--shell"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "3.2.1" } ] } @@ -93250,24 +123934,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--repl-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--scalafmt-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "org.scalameta:scalafmt-cli_2.13:{version}" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--repl-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--scalafmt-artifacts=\"['', '', ...]\"" ], - "env_var": "PANTS_REPL_ARGS", + "env_var": "PANTS_SCALAFMT_ARTIFACTS", "fromfile": false, - "help": "Arguments to pass directly to the repl program, e.g. `--repl-args='-i helloworld/main.py'`.\n\nCurrently supported only for the ipython shell.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalafmt].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--repl-args"], + "scoped_cmd_line_args": [ + "--scalafmt-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -93278,7 +123967,9 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "org.scalameta:scalafmt-cli_2.13:{version}" + ] } ] } @@ -93286,24 +123977,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]repl-restartable", - "config_key": "restartable", - "default": false, + "comma_separated_display_args": "--scalafmt-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]repl-restartable"], - "env_var": "PANTS_REPL_RESTARTABLE", + "display_args": [ + "--scalafmt-lockfile=" + ], + "env_var": "PANTS_SCALAFMT_LOCKFILE", "fromfile": false, - "help": "True if the REPL should be restarted if its inputs have changed.", + "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.19.0rc5/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": [ - "--repl-restartable", - "--no-repl-restartable" + "--scalafmt-lockfile" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--restartable", "--no-restartable"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -93314,68 +124008,78 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Open a REPL with the specified code loadable.", - "is_goal": true, - "provider": "pants.core", - "scope": "repl" - }, - "roots": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--roots-output-file=", - "config_key": "output_file", - "default": null, + "comma_separated_display_args": "--scalafmt-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--roots-output-file="], - "env_var": "PANTS_ROOTS_OUTPUT_FILE", + "display_args": [ + "--scalafmt-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAFMT_JVM_OPTIONS", "fromfile": false, - "help": "Output the goal's stdout to this file. If unspecified, outputs to stdout.", + "help": "List of JVM options to pass to `scalafmt` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--roots-output-file"], + "scoped_cmd_line_args": [ + "--scalafmt-jvm-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--output-file"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--roots-sep=", - "config_key": "sep", - "default": "\\n", + "comma_separated_display_args": "--[no-]scalafmt-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--roots-sep="], - "env_var": "PANTS_ROOTS_SEP", + "display_args": [ + "--[no-]scalafmt-skip" + ], + "env_var": "PANTS_SCALAFMT_SKIP", "fromfile": false, - "help": "String to use to separate lines in line-oriented output.", + "help": "If true, don't use scalafmt when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--roots-sep"], + "scoped_cmd_line_args": [ + "--scalafmt-skip", + "--no-scalafmt-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--sep"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -93386,7 +124090,7 @@ { "details": null, "rank": "HARDCODED", - "value": "\\n" + "value": false } ] } @@ -93394,37 +124098,48 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "List the repo's registered source roots.", - "is_goal": true, - "provider": "pants.backend.project_info", - "scope": "roots" + "description": "scalafmt (https://scalameta.org/scalafmt/)", + "is_goal": false, + "provider": "pants.backend.experimental.scala.lint.scalafmt", + "scope": "scalafmt" }, - "ruff": { + "scalapb": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--scalapb-version=", + "config_key": "version", + "default": "0.11.6", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-install-from-resolve="], - "env_var": "PANTS_RUFF_INSTALL_FROM_RESOLVE", + "display_args": [ + "--scalapb-version=" + ], + "env_var": "PANTS_SCALAPB_VERSION", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Version string for the tool. This is available for substitution in the `[scalapb].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-install-from-resolve"], + "scoped_cmd_line_args": [ + "--scalapb-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "0.11.6" } ] } @@ -93432,21 +124147,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--scalapb-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "com.thesamet.scalapb:scalapbc_2.13:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-requirements=\"['', '', ...]\""], - "env_var": "PANTS_RUFF_REQUIREMENTS", + "display_args": [ + "--scalapb-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAPB_ARTIFACTS", "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": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalapb].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-requirements"], + "scoped_cmd_line_args": [ + "--scalapb-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -93457,7 +124180,9 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "com.thesamet.scalapb:scalapbc_2.13:{version}" + ] } ] } @@ -93465,34 +124190,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--scalapb-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--ruff-interpreter-constraints=\"['', '', ...]\"" + "--scalapb-lockfile=" ], - "env_var": "PANTS_RUFF_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_SCALAPB_LOCKFILE", "fromfile": false, - "help": "Python interpreter constraints for this 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.19.0rc5/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": ["--ruff-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--scalapb-lockfile" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": "" } ] } @@ -93500,88 +124229,128 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-console-script=", - "config_key": "console_script", - "default": "ruff", + "comma_separated_display_args": "--scalapb-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-console-script="], - "env_var": "PANTS_RUFF_CONSOLE_SCRIPT", + "display_args": [ + "--scalapb-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAPB_JVM_OPTIONS", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "List of JVM options to pass to `scalapb` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-console-script"], + "scoped_cmd_line_args": [ + "--scalapb-jvm-options" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "ruff" + "value": [] } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--scalapb-jvm-plugins=\"['', '', ...]\"", + "config_key": "jvm_plugins", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-entry-point="], - "env_var": "PANTS_RUFF_ENTRY_POINT", + "display_args": [ + "--scalapb-jvm-plugins=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALAPB_JVM_PLUGINS", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "A list of JVM-based `protoc` plugins to invoke when generating Scala code from protobuf files. The format for each plugin specifier is `NAME=ARTIFACT` where NAME is the name of the plugin and ARTIFACT is either the address of a `jvm_artifact` target or the colon-separated Maven coordinate for the plugin's jar artifact.\n\nFor example, to invoke the fs2-grpc protoc plugin, the following option would work: `--scalapb-jvm-plugins=fs2=org.typelevel:fs2-grpc-codegen_2.12:2.3.1`. (Note: you would also need to set `--scalapb-runtime-dependencies` appropriately to include the applicable runtime libraries for your chosen protoc plugins.)", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-entry-point"], + "scoped_cmd_line_args": [ + "--scalapb-jvm-plugins" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--jvm-plugins" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The ScalaPB protocol buffer compiler (https://scalapb.github.io/).", + "is_goal": false, + "provider": "pants.backend.experimental.codegen.protobuf.scala", + "scope": "scalapb" + }, + "scalatest": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-config=", - "config_key": "config", - "default": null, + "comma_separated_display_args": "--scalatest-version=", + "config_key": "version", + "default": "3.2.10", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-config="], - "env_var": "PANTS_RUFF_CONFIG", + "display_args": [ + "--scalatest-version=" + ], + "env_var": "PANTS_SCALATEST_VERSION", "fromfile": false, - "help": "Path to the `pyproject.toml` or `ruff.toml` file to use for configuration (https://github.com/charliermarsh/ruff#configuration).\n\nSetting this option will disable `[ruff].config_discovery`. Use this option if the config is located in a non-standard location.", + "help": "Version string for the tool. This is available for substitution in the `[scalatest].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-config"], + "scoped_cmd_line_args": [ + "--scalatest-version" + ], "target_field_name": null, - "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "3.2.10" } ] } @@ -93589,62 +124358,70 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]ruff-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--scalatest-artifacts=\"['', '', ...]\"", + "config_key": "artifacts", + "default": [ + "org.scalatest:scalatest_2.13:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]ruff-config-discovery"], - "env_var": "PANTS_RUFF_CONFIG_DISCOVERY", + "display_args": [ + "--scalatest-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALATEST_ARTIFACTS", "fromfile": false, - "help": "If true, Pants will include any relevant config files during runs (`pyproject.toml`, and `ruff.toml`).\n\nUse `[ruff].config` instead if your config is in a non-standard location.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalatest].version` option.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--ruff-config-discovery", - "--no-ruff-config-discovery" + "--scalatest-artifacts" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--artifacts" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "org.scalatest:scalatest_2.13:{version}" + ] } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]ruff-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--scalatest-lockfile=", + "config_key": "lockfile", + "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]ruff-skip"], - "env_var": "PANTS_RUFF_SKIP", + "display_args": [ + "--scalatest-lockfile=" + ], + "env_var": "PANTS_SCALATEST_LOCKFILE", "fromfile": false, - "help": "If true, don't use Ruff when running `pants fmt` and `pants lint`.", + "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.19.0rc5/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": ["--ruff-skip", "--no-ruff-skip"], + "scoped_cmd_line_args": [ + "--scalatest-lockfile" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -93655,7 +124432,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "" } ] } @@ -93663,21 +124440,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--ruff-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--scalatest-jvm-options=\"['', '', ...]\"", + "config_key": "jvm_options", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--ruff-args=\"[, , ...]\""], - "env_var": "PANTS_RUFF_ARGS", + "display_args": [ + "--scalatest-jvm-options=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCALATEST_JVM_OPTIONS", "fromfile": false, - "help": "Arguments to pass directly to Ruff, e.g. `--ruff-args='--exclude=foo --ignore=E501'`.", + "help": "List of JVM options to pass to `scalatest` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--ruff-args"], + "scoped_cmd_line_args": [ + "--scalatest-jvm-options" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { @@ -93694,37 +124477,32 @@ } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "The Ruff Python formatter (https://github.com/charliermarsh/ruff).", - "is_goal": false, - "provider": "pants.backend.experimental.python.lint.ruff", - "scope": "ruff" - }, - "run": { - "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--run-args=\"[, , ...]\", ... -- [ [ [...]]]", + "comma_separated_display_args": "--scalatest-args=\"[, , ...]\", ... -- [ [ [...]]]", "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--run-args=\"[, , ...]\"", + "--scalatest-args=\"[, , ...]\"", "... -- [ [ [...]]]" ], - "env_var": "PANTS_RUN_ARGS", + "env_var": "PANTS_SCALATEST_ARGS", "fromfile": false, - "help": "Arguments to pass directly to the executed target, e.g. `--run-args='val1 val2 --debug'`.", + "help": "Arguments to pass directly to Scalatest, e.g. `--scalatest-args='-t $testname'`.\n\nSee https://www.scalatest.org/user_guide/using_the_runner for supported arguments.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--run-args"], + "scoped_cmd_line_args": [ + "--scalatest-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -93743,24 +124521,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]run-debug-adapter", - "config_key": "debug_adapter", + "comma_separated_display_args": "--[no-]scalatest-skip", + "config_key": "skip", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]run-debug-adapter"], - "env_var": "PANTS_RUN_DEBUG_ADAPTER", + "display_args": [ + "--[no-]scalatest-skip" + ], + "env_var": "PANTS_SCALATEST_SKIP", "fromfile": false, - "help": "Run the interactive process using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported.\n\nThe interactive process used will be immediately blocked waiting for a client before continuing.", + "help": "If true, don't use Scalatest when running `pants test`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--run-debug-adapter", - "--no-run-debug-adapter" + "--scalatest-skip", + "--no-scalatest-skip" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--debug-adapter", "--no-debug-adapter"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -93779,36 +124562,36 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Runs a binary target.\n\nThis goal propagates the return code of the underlying executable.\n\nIf your application can safely be restarted while it is running, you can pass `restartable=True` on your binary target (for supported types), and the `run` goal will automatically restart them as all relevant files change. This can be particularly useful for server applications.", - "is_goal": true, - "provider": "pants.core", - "scope": "run" + "description": "The Scalatest test framework (https://www.scalatest.org/)", + "is_goal": false, + "provider": "pants.backend.experimental.scala", + "scope": "scalatest" }, - "scala": { + "scc": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-tailor-source-targets", - "config_key": "tailor_source_targets", - "default": true, + "comma_separated_display_args": "--scc-version=", + "config_key": "version", + "default": "3.0.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scala-tailor-source-targets"], - "env_var": "PANTS_SCALA_TAILOR_SOURCE_TARGETS", + "display_args": [ + "--scc-version=" + ], + "env_var": "PANTS_SCC_VERSION", "fromfile": false, - "help": "If true, add `scala_sources`, `scala_junit_tests`, and `scalatest_tests` targets with the `tailor` goal.", + "help": "Use this version of SCC.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--scala-tailor-source-targets", - "--no-scala-tailor-source-targets" + "--scc-version" ], "target_field_name": null, - "typ": "bool", + "typ": "str", "unscoped_cmd_line_args": [ - "--tailor-source-targets", - "--no-tailor-source-targets" + "--version" ], "value_history": { "ranked_values": [ @@ -93820,91 +124603,56 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "3.0.0" } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scala-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "version_for_resolve", - "default": {}, + "comma_separated_display_args": "--scc-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145", + "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134", + "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037", + "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scala-version-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" + "--scc-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_SCALA_VERSION_FOR_RESOLVE", - "fromfile": false, - "help": "A dictionary mapping the name of a resolve to the Scala version to use for all Scala targets consuming that resolve.\n\nAll Scala-compiled jars on a resolve's classpath must be \"compatible\" with one another and with all Scala-compiled first-party sources from `scala_sources` (and other Scala target types) using that resolve. The option sets the Scala version that will be used to compile all first-party sources using the resolve. This ensures that the compatibility property is maintained for a resolve. To support multiple Scala versions, use multiple resolves.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--scala-version-for-resolve"], - "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--version-for-resolve"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": {} - } - ] - } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Scala programming language", - "is_goal": false, - "provider": "pants.backend.experimental.scala", - "scope": "scala" - }, - "scala-infer": { - "advanced": [], - "basic": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-infer-imports", - "config_key": "imports", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--[no-]scala-infer-imports"], - "env_var": "PANTS_SCALA_INFER_IMPORTS", + "env_var": "PANTS_SCC_KNOWN_VERSIONS", "fromfile": false, - "help": "Infer a target's dependencies by parsing import statements from sources.", + "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": [ - "--scala-infer-imports", - "--no-scala-infer-imports" + "--scc-known-versions" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--imports", "--no-imports"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [ + "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145", + "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134", + "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037", + "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341" + ] } ] } @@ -93912,24 +124660,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-infer-consumed-types", - "config_key": "consumed_types", - "default": true, + "comma_separated_display_args": "--scc-url-template=", + "config_key": "url_template", + "default": "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scala-infer-consumed-types"], - "env_var": "PANTS_SCALA_INFER_CONSUMED_TYPES", + "display_args": [ + "--scc-url-template=" + ], + "env_var": "PANTS_SCC_URL_TEMPLATE", "fromfile": false, - "help": "Infer a target's dependencies by parsing consumed types from sources.", + "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/v2.19/docs/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": [ - "--scala-infer-consumed-types", - "--no-scala-infer-consumed-types" + "--scc-url-template" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--consumed-types", "--no-consumed-types"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -93940,7 +124691,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip" } ] } @@ -93948,67 +124699,78 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-infer-package-objects", - "config_key": "package_objects", - "default": true, + "comma_separated_display_args": "--scc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "arm64-unknown-linux", + "linux_x86_64": "x86_64-unknown-linux", + "macos_arm64": "arm64-apple-darwin", + "macos_x86_64": "x86_64-apple-darwin" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scala-infer-package-objects"], - "env_var": "PANTS_SCALA_INFER_PACKAGE_OBJECTS", + "display_args": [ + "--scc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SCC_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Add dependency on the package object to every target.", + "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": [ - "--scala-infer-package-objects", - "--no-scala-infer-package-objects" + "--scc-url-platform-mapping" ], "target_field_name": null, - "typ": "bool", + "typ": "dict", "unscoped_cmd_line_args": [ - "--package-objects", - "--no-package-objects" + "--url-platform-mapping" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": { + "linux_arm64": "arm64-unknown-linux", + "linux_x86_64": "x86_64-unknown-linux", + "macos_arm64": "arm64-apple-darwin", + "macos_x86_64": "x86_64-apple-darwin" + } } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scala-infer-force-add-siblings-as-dependencies", - "config_key": "force_add_siblings_as_dependencies", - "default": false, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--scc-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--[no-]scala-infer-force-add-siblings-as-dependencies" + "--scc-use-unsupported-version=" ], - "env_var": "PANTS_SCALA_INFER_FORCE_ADD_SIBLINGS_AS_DEPENDENCIES", + "env_var": "PANTS_SCC_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "If true, add a dependency on all `scala_source` targets generated by the same `scala_sources` target generator. If false, the dependencies will only be added if `[scala-infer].imports` is also set to false.\n\nSetting this option to true reduces the precision of dependency information. That means that you may end up compiling more than is necessary for a particular task, and that compilation will be invalidated more frequently than actually necessary. However, setting to true may be helpful if compilation fails due to missing dependencies.", + "help": "\nWhat action to take in case the requested version of SCC is not supported.\n\nSupported SCC versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--scala-infer-force-add-siblings-as-dependencies", - "--no-scala-infer-force-add-siblings-as-dependencies" + "--scc-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--force-add-siblings-as-dependencies", - "--no-force-add-siblings-as-dependencies" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -94020,40 +124782,38 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "Options controlling which dependencies will be inferred for Scala targets.", - "is_goal": false, - "provider": "pants.backend.experimental.scala", - "scope": "scala-infer" - }, - "scalac": { - "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalac-args=\"[, , ...]\"", + "comma_separated_display_args": "--scc-args=\"[, , ...]\", ... -- [ [ [...]]]", "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalac-args=\"[, , ...]\""], - "env_var": "PANTS_SCALAC_ARGS", + "display_args": [ + "--scc-args=\"[, , ...]\"", + "... -- [ [ [...]]]" + ], + "env_var": "PANTS_SCC_ARGS", "fromfile": false, - "help": "Arguments to pass directly to scalac, e.g. `--scalac-args='-encoding UTF-8'`.", + "help": "Arguments to pass directly to SCC, e.g. `--scc-args='--no-cocomo'`.\n\nRefer to to https://github.com/boyter/scc.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalac-args"], + "scoped_cmd_line_args": [ + "--scc-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -94068,70 +124828,41 @@ } ] } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scalac-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "plugins_for_resolve", - "default": {}, - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--scalac-plugins-for-resolve=\"{'key1': val1, 'key2': val2, ...}\"" - ], - "env_var": "PANTS_SCALAC_PLUGINS_FOR_RESOLVE", - "fromfile": false, - "help": "A dictionary, whose keys are the names of each JVM resolve that requires default `scalac` plugins, and the value is a comma-separated string consisting of scalac plugin names. Each specified plugin must have a corresponding `scalac_plugin` target that specifies that name in either its `plugin_name` field or is the same as its target name.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--scalac-plugins-for-resolve"], - "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--plugins-for-resolve"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": {} - } - ] - } } ], "deprecated": [], "deprecated_scope": null, - "description": "The Scala compiler.", + "description": "The Succinct Code Counter, aka `scc` (https://github.com/boyter/scc).", "is_goal": false, - "provider": "pants.backend.experimental.scala", - "scope": "scalac" + "provider": "pants.backend.project_info", + "scope": "scc" }, - "scalafmt": { + "scrooge": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalafmt-version=", + "comma_separated_display_args": "--scrooge-version=", "config_key": "version", - "default": "3.2.1", + "default": "21.12.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalafmt-version="], - "env_var": "PANTS_SCALAFMT_VERSION", + "display_args": [ + "--scrooge-version=" + ], + "env_var": "PANTS_SCROOGE_VERSION", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[scalafmt].artifacts` option by including the string `{version}`.", + "help": "Version string for the tool. This is available for substitution in the `[scrooge].artifacts` option by including the string `{version}`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalafmt-version"], + "scoped_cmd_line_args": [ + "--scrooge-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -94142,7 +124873,7 @@ { "details": null, "rank": "HARDCODED", - "value": "3.2.1" + "value": "21.12.0" } ] } @@ -94150,21 +124881,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalafmt-artifacts=\"['', '', ...]\"", + "comma_separated_display_args": "--scrooge-artifacts=\"['', '', ...]\"", "config_key": "artifacts", - "default": ["org.scalameta:scalafmt-cli_2.13:{version}"], + "default": [ + "com.twitter:scrooge-generator_2.13:{version}" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalafmt-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_SCALAFMT_ARTIFACTS", + "display_args": [ + "--scrooge-artifacts=\"['', '', ...]\"" + ], + "env_var": "PANTS_SCROOGE_ARTIFACTS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalafmt].version` option.", + "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scrooge].version` option.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalafmt-artifacts"], + "scoped_cmd_line_args": [ + "--scrooge-artifacts" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--artifacts" + ], "value_history": { "ranked_values": [ { @@ -94175,7 +124914,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["org.scalameta:scalafmt-cli_2.13:{version}"] + "value": [ + "com.twitter:scrooge-generator_2.13:{version}" + ] } ] } @@ -94183,21 +124924,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalafmt-lockfile=", + "comma_separated_display_args": "--scrooge-lockfile=", "config_key": "lockfile", "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalafmt-lockfile="], - "env_var": "PANTS_SCALAFMT_LOCKFILE", + "display_args": [ + "--scrooge-lockfile=" + ], + "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.19.0rc1/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.19.0rc5/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": ["--scalafmt-lockfile"], + "scoped_cmd_line_args": [ + "--scrooge-lockfile" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--lockfile" + ], "value_history": { "ranked_values": [ { @@ -94216,23 +124963,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalafmt-jvm-options=\"['', '', ...]\"", + "comma_separated_display_args": "--scrooge-jvm-options=\"['', '', ...]\"", "config_key": "jvm_options", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scalafmt-jvm-options=\"['', '', ...]\"" + "--scrooge-jvm-options=\"['', '', ...]\"" ], - "env_var": "PANTS_SCALAFMT_JVM_OPTIONS", + "env_var": "PANTS_SCROOGE_JVM_OPTIONS", "fromfile": false, - "help": "List of JVM options to pass to `scalafmt` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "List of JVM options to pass to `scrooge` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalafmt-jvm-options"], + "scoped_cmd_line_args": [ + "--scrooge-jvm-options" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "unscoped_cmd_line_args": [ + "--jvm-options" + ], "value_history": { "ranked_values": [ { @@ -94249,79 +125000,85 @@ } } ], - "basic": [ + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "The Scrooge Thrift IDL compiler (https://twitter.github.io/scrooge/).", + "is_goal": false, + "provider": "pants.backend.experimental.codegen.thrift.scrooge.java", + "scope": "scrooge" + }, + "semgrep": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scalafmt-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--semgrep-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scalafmt-skip"], - "env_var": "PANTS_SCALAFMT_SKIP", + "display_args": [ + "--semgrep-install-from-resolve=" + ], + "env_var": "PANTS_SEMGREP_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If true, don't use scalafmt when running `pants fmt` and `pants lint`.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--scalafmt-skip", "--no-scalafmt-skip"], + "scoped_cmd_line_args": [ + "--semgrep-install-from-resolve" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "scalafmt (https://scalameta.org/scalafmt/)", - "is_goal": false, - "provider": "pants.backend.experimental.scala.lint.scalafmt", - "scope": "scalafmt" - }, - "scalapb": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-version=", - "config_key": "version", - "default": "0.11.6", + "comma_separated_display_args": "--semgrep-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-version="], - "env_var": "PANTS_SCALAPB_VERSION", + "display_args": [ + "--semgrep-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_SEMGREP_REQUIREMENTS", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[scalapb].artifacts` option by including the string `{version}`.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalapb-version"], + "scoped_cmd_line_args": [ + "--semgrep-requirements" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "0.11.6" + "value": [] } ] } @@ -94329,21 +125086,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["com.thesamet.scalapb:scalapbc_2.13:{version}"], + "comma_separated_display_args": "--semgrep-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_SCALAPB_ARTIFACTS", + "display_args": [ + "--semgrep-interpreter-constraints=\"['', '', ...]\"" + ], + "env_var": "PANTS_SEMGREP_INTERPRETER_CONSTRAINTS", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalapb].version` option.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalapb-artifacts"], + "scoped_cmd_line_args": [ + "--semgrep-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -94354,7 +125119,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["com.thesamet.scalapb:scalapbc_2.13:{version}"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -94362,21 +125129,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--semgrep-console-script=", + "config_key": "console_script", + "default": "semgrep", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-lockfile="], - "env_var": "PANTS_SCALAPB_LOCKFILE", + "display_args": [ + "--semgrep-console-script=" + ], + "env_var": "PANTS_SEMGREP_CONSOLE_SCRIPT", "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.19.0rc1/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": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalapb-lockfile"], + "scoped_cmd_line_args": [ + "--semgrep-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -94387,7 +125160,7 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": "semgrep" } ] } @@ -94395,110 +125168,119 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "comma_separated_display_args": "--semgrep-entry-point=", + "config_key": "entry_point", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-jvm-options=\"['', '', ...]\""], - "env_var": "PANTS_SCALAPB_JVM_OPTIONS", + "display_args": [ + "--semgrep-entry-point=" + ], + "env_var": "PANTS_SEMGREP_ENTRY_POINT", "fromfile": false, - "help": "List of JVM options to pass to `scalapb` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalapb-jvm-options"], + "scoped_cmd_line_args": [ + "--semgrep-entry-point" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalapb-jvm-plugins=\"['', '', ...]\"", - "config_key": "jvm_plugins", - "default": [], + "comma_separated_display_args": "--[no-]semgrep-force", + "config_key": "force", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalapb-jvm-plugins=\"['', '', ...]\""], - "env_var": "PANTS_SCALAPB_JVM_PLUGINS", + "display_args": [ + "--[no-]semgrep-force" + ], + "env_var": "PANTS_SEMGREP_FORCE", "fromfile": false, - "help": "A list of JVM-based `protoc` plugins to invoke when generating Scala code from protobuf files. The format for each plugin specifier is `NAME=ARTIFACT` where NAME is the name of the plugin and ARTIFACT is either the address of a `jvm_artifact` target or the colon-separated Maven coordinate for the plugin's jar artifact.\n\nFor example, to invoke the fs2-grpc protoc plugin, the following option would work: `--scalapb-jvm-plugins=fs2=org.typelevel:fs2-grpc-codegen_2.12:2.3.1`. (Note: you would also need to set `--scalapb-runtime-dependencies` appropriately to include the applicable runtime libraries for your chosen protoc plugins.)", + "help": "If true, semgrep is always run, even if the input files haven't changed. This can be used to run cloud rulesets like `pants lint --semgrep-force --semgrep-args='--config=p/python' ::`. Without `--semgrep-force`, using the cloud rulesets may give inconsistent results on different machines, due to caching, because the rulesets may change.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalapb-jvm-plugins"], + "scoped_cmd_line_args": [ + "--semgrep-force", + "--no-semgrep-force" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-plugins"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--force", + "--no-force" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "The ScalaPB protocol buffer compiler (https://scalapb.github.io/).", - "is_goal": false, - "provider": "pants.backend.experimental.codegen.protobuf.scala", - "scope": "scalapb" - }, - "scalatest": { - "advanced": [ + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-version=", - "config_key": "version", - "default": "3.2.10", + "comma_separated_display_args": "--semgrep-args=\"[, , ...]\"", + "config_key": "args", + "default": [ + "--quiet" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalatest-version="], - "env_var": "PANTS_SCALATEST_VERSION", + "display_args": [ + "--semgrep-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SEMGREP_ARGS", "fromfile": false, - "help": "Version string for the tool. This is available for substitution in the `[scalatest].artifacts` option by including the string `{version}`.", + "help": "Arguments to pass directly to Semgrep, e.g. `--semgrep-args='--verbose'`.\n\nThis includes --quiet by default to reduce the volume of output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-version"], + "scoped_cmd_line_args": [ + "--semgrep-args" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "3.2.10" + "value": [ + "--quiet" + ] } ] } @@ -94506,54 +125288,81 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-artifacts=\"['', '', ...]\"", - "config_key": "artifacts", - "default": ["org.scalatest:scalatest_2.13:{version}"], + "comma_separated_display_args": "--[no-]semgrep-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalatest-artifacts=\"['', '', ...]\""], - "env_var": "PANTS_SCALATEST_ARTIFACTS", + "display_args": [ + "--[no-]semgrep-skip" + ], + "env_var": "PANTS_SEMGREP_SKIP", "fromfile": false, - "help": "Artifact requirements for this tool using specified as either the address of a `jvm_artifact` target or, alternatively, as a colon-separated Maven coordinates (e.g., `group:name:version`). For Maven coordinates, the string `{version}` version will be substituted with the value of the `[scalatest].version` option.", + "help": "If true, don't use Semgrep when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-artifacts"], + "scoped_cmd_line_args": [ + "--semgrep-skip", + "--no-semgrep-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--artifacts"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["org.scalatest:scalatest_2.13:{version}"] + "value": false } ] } - }, + } + ], + "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.", + "is_goal": false, + "provider": "pants.backend.experimental.tools.semgrep", + "scope": "semgrep" + }, + "setup-py-generation": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-lockfile=", - "config_key": "lockfile", - "default": "", + "comma_separated_display_args": "--[no-]setup-py-generation-generate-setup-default", + "config_key": "generate_setup_default", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scalatest-lockfile="], - "env_var": "PANTS_SCALATEST_LOCKFILE", + "display_args": [ + "--[no-]setup-py-generation-generate-setup-default" + ], + "env_var": "PANTS_SETUP_PY_GENERATION_GENERATE_SETUP_DEFAULT", "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.19.0rc1/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": "The default value for the `generate_setup` field on `python_distribution` targets. Can be overridden per-target by setting that field explicitly. Set this to False if you mostly rely on handwritten setup files (`setup.py`, `setup.cfg` and similar). Leave as True if you mostly rely on Pants generating setup files for you.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-lockfile"], + "scoped_cmd_line_args": [ + "--setup-py-generation-generate-setup-default", + "--no-setup-py-generation-generate-setup-default" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--lockfile"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--generate-setup-default", + "--no-generate-setup-default" + ], "value_history": { "ranked_values": [ { @@ -94564,80 +125373,94 @@ { "details": null, "rank": "HARDCODED", - "value": "" + "value": true } ] } }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-jvm-options=\"['', '', ...]\"", - "config_key": "jvm_options", - "default": [], + "choices": [ + "exact", + "compatible", + "any" + ], + "comma_separated_choices": "exact, compatible, any", + "comma_separated_display_args": "--setup-py-generation-first-party-dependency-version-scheme=", + "config_key": "first_party_dependency_version_scheme", + "default": "exact", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scalatest-jvm-options=\"['', '', ...]\"" + "--setup-py-generation-first-party-dependency-version-scheme=" ], - "env_var": "PANTS_SCALATEST_JVM_OPTIONS", + "env_var": "PANTS_SETUP_PY_GENERATION_FIRST_PARTY_DEPENDENCY_VERSION_SCHEME", "fromfile": false, - "help": "List of JVM options to pass to `scalatest` JVM processes.\n\nOptions set here will be added to those set in `[jvm].global_options`. Please check the documentation for the `jvm` subsystem to see what values are accepted here.", + "help": "What version to set in `install_requires` when a `python_distribution` depends on other `python_distribution`s. If `exact`, will use `==`. If `compatible`, will use `~=`. If `any`, will leave off the version. See https://www.python.org/dev/peps/pep-0440/#version-specifiers.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-jvm-options"], + "scoped_cmd_line_args": [ + "--setup-py-generation-first-party-dependency-version-scheme" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--jvm-options"], + "typ": "FirstPartyDependencyVersionScheme", + "unscoped_cmd_line_args": [ + "--first-party-dependency-version-scheme" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "exact" } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "Options to control how setup.py is generated from a `python_distribution` target.", + "is_goal": false, + "provider": "pants.backend.python", + "scope": "setup-py-generation" + }, + "setuptools": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scalatest-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--setuptools-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scalatest-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--setuptools-install-from-resolve=" ], - "env_var": "PANTS_SCALATEST_ARGS", + "env_var": "PANTS_SETUPTOOLS_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Arguments to pass directly to Scalatest, e.g. `--scalatest-args='-t $testname'`.\n\nSee https://www.scalatest.org/user_guide/using_the_runner for supported arguments.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--scalatest-args"], + "scoped_cmd_line_args": [ + "--setuptools-install-from-resolve" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] + "value": null } ] } @@ -94645,75 +125468,83 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]scalatest-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--setuptools-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]scalatest-skip"], - "env_var": "PANTS_SCALATEST_SKIP", + "display_args": [ + "--setuptools-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_SETUPTOOLS_REQUIREMENTS", "fromfile": false, - "help": "If true, don't use Scalatest when running `pants test`.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scalatest-skip", "--no-scalatest-skip"], + "scoped_cmd_line_args": [ + "--setuptools-requirements" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The Scalatest test framework (https://www.scalatest.org/)", + "description": "Python setuptools, used to package `python_distribution` targets.", "is_goal": false, - "provider": "pants.backend.experimental.scala", - "scope": "scalatest" + "provider": "pants.backend.python", + "scope": "setuptools" }, - "scc": { + "setuptools-scm": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scc-version=", - "config_key": "version", - "default": "3.0.0", + "comma_separated_display_args": "--setuptools-scm-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scc-version="], - "env_var": "PANTS_SCC_VERSION", + "display_args": [ + "--setuptools-scm-install-from-resolve=" + ], + "env_var": "PANTS_SETUPTOOLS_SCM_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "Use this version of SCC.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--scc-version"], + "scoped_cmd_line_args": [ + "--setuptools-scm-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "3.0.0" } ] } @@ -94721,26 +125552,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scc-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145", - "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134", - "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037", - "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341" - ], + "comma_separated_display_args": "--setuptools-scm-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--scc-known-versions=\"['', '', ...]\""], - "env_var": "PANTS_SCC_KNOWN_VERSIONS", + "display_args": [ + "--setuptools-scm-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_SETUPTOOLS_SCM_REQUIREMENTS", "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", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-known-versions"], + "scoped_cmd_line_args": [ + "--setuptools-scm-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -94751,45 +125583,7 @@ { "details": "", "rank": "HARDCODED", - "value": [ - "3.0.0|macos_arm64 |846cb1b25025a0794d455719bc17cfb3f588576a58af1d95036f6c654e294f98|2006145", - "3.0.0|macos_x86_64|9c3064e477ab36e16204ad34f649372034bca4df669615eff5de4aa05b2ddf1a|2048134", - "3.0.0|linux_arm64 |04f9e797b70a678833e49df5e744f95080dfb7f963c0cd34f5b5d4712d290f33|1768037", - "3.0.0|linux_x86_64|13ca47ce00b5bd032f97f3af7aa8eb3c717b8972b404b155a378b09110e4aa0c|1948341" - ] - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--scc-url-template=", - "config_key": "url_template", - "default": "https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--scc-url-template="], - "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/v2.19/docs/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": ["--scc-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/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip" + "value": [] } ] } @@ -94797,155 +125591,167 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--scc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "arm64-unknown-linux", - "linux_x86_64": "x86_64-unknown-linux", - "macos_arm64": "arm64-apple-darwin", - "macos_x86_64": "x86_64-apple-darwin" - }, + "comma_separated_display_args": "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scc-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_SCC_URL_PLATFORM_MAPPING", + "env_var": "PANTS_SETUPTOOLS_SCM_INTERPRETER_CONSTRAINTS", "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`.", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--setuptools-scm-interpreter-constraints" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": { - "linux_arm64": "arm64-unknown-linux", - "linux_x86_64": "x86_64-unknown-linux", - "macos_arm64": "arm64-apple-darwin", - "macos_x86_64": "x86_64-apple-darwin" - } + "value": [ + "CPython>=3.7,<4" + ] } ] } }, { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--scc-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--setuptools-scm-console-script=", + "config_key": "console_script", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scc-use-unsupported-version=" + "--setuptools-scm-console-script=" ], - "env_var": "PANTS_SCC_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_SETUPTOOLS_SCM_CONSOLE_SCRIPT", "fromfile": false, - "help": "\nWhat action to take in case the requested version of SCC is not supported.\n\nSupported SCC versions: unspecified\n", + "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--setuptools-scm-console-script" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--console-script" + ], "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": "--scc-args=\"[, , ...]\", ... -- [ [ [...]]]", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--setuptools-scm-entry-point=", + "config_key": "entry_point", + "default": "setuptools_scm", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--scc-args=\"[, , ...]\"", - "... -- [ [ [...]]]" + "--setuptools-scm-entry-point=" ], - "env_var": "PANTS_SCC_ARGS", + "env_var": "PANTS_SETUPTOOLS_SCM_ENTRY_POINT", "fromfile": false, - "help": "Arguments to pass directly to SCC, e.g. `--scc-args='--no-cocomo'`.\n\nRefer to to https://github.com/boyter/scc.", + "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--scc-args"], + "scoped_cmd_line_args": [ + "--setuptools-scm-entry-point" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "setuptools_scm" } ] } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The Succinct Code Counter, aka `scc` (https://github.com/boyter/scc).", + "description": "A tool for generating versions from VCS metadata (https://github.com/pypa/setuptools_scm).", "is_goal": false, - "provider": "pants.backend.project_info", - "scope": "scc" + "provider": "pants.backend.experimental.python", + "scope": "setuptools-scm" }, - "semgrep": { + "shell-setup": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]shell-setup-dependency-inference", + "config_key": "dependency_inference", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--semgrep-install-from-resolve="], - "env_var": "PANTS_SEMGREP_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]shell-setup-dependency-inference" + ], + "env_var": "PANTS_SHELL_SETUP_DEPENDENCY_INFERENCE", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Infer Shell dependencies on other Shell files by analyzing `source` statements.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-install-from-resolve"], + "scoped_cmd_line_args": [ + "--shell-setup-dependency-inference", + "--no-shell-setup-dependency-inference" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--dependency-inference", + "--no-dependency-inference" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } @@ -94953,34 +125759,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]shell-setup-tailor", + "config_key": "tailor", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--semgrep-requirements=\"['', '', ...]\"" + "--[no-]shell-setup-tailor" ], - "env_var": "PANTS_SEMGREP_REQUIREMENTS", + "env_var": "PANTS_SHELL_SETUP_TAILOR", "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 true, add `shell_sources` and `shunit2_tests` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-requirements"], + "scoped_cmd_line_args": [ + "--shell-setup-tailor", + "--no-shell-setup-tailor" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } @@ -94988,23 +125800,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--shell-setup-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--semgrep-interpreter-constraints=\"['', '', ...]\"" + "--shell-setup-executable-search-paths=\"[, , ...]\"" ], - "env_var": "PANTS_SEMGREP_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_SHELL_SETUP_EXECUTABLE_SEARCH_PATHS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "The PATH value that will be used to find shells and to run certain processes like the shunit2 test runner. The special string `\"\"` will expand to the contents of the PATH env var.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-interpreter-constraints"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--shell-setup-executable-search-paths" + ], + "target_field_name": "shell_setup_executable_search_paths", "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--executable-search-paths" + ], "value_history": { "ranked_values": [ { @@ -95015,29 +125833,51 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "" + ] } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for Pants's Shell support.", + "is_goal": false, + "provider": "pants.backend.shell", + "scope": "shell-setup" + }, + "shell-test": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-console-script=", - "config_key": "console_script", - "default": "semgrep", + "comma_separated_display_args": "--[no-]shell-test-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--semgrep-console-script="], - "env_var": "PANTS_SEMGREP_CONSOLE_SCRIPT", + "display_args": [ + "--[no-]shell-test-skip" + ], + "env_var": "PANTS_SHELL_TEST_SKIP", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "help": "If true, don't use Test with shell scripts when running `pants test`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-console-script"], + "scoped_cmd_line_args": [ + "--shell-test-skip", + "--no-shell-test-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -95048,35 +125888,56 @@ { "details": null, "rank": "HARDCODED", - "value": "semgrep" + "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for Pants' Shell test support.", + "is_goal": false, + "provider": "pants.backend.shell", + "scope": "shell-test" + }, + "shellcheck": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-entry-point=", - "config_key": "entry_point", - "default": null, + "comma_separated_display_args": "--shellcheck-version=", + "config_key": "version", + "default": "v0.8.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--semgrep-entry-point="], - "env_var": "PANTS_SEMGREP_ENTRY_POINT", + "display_args": [ + "--shellcheck-version=" + ], + "env_var": "PANTS_SHELLCHECK_VERSION", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "help": "Use this version of Shellcheck.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--semgrep-entry-point"], + "scoped_cmd_line_args": [ + "--shellcheck-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "v0.8.0" } ] } @@ -95084,69 +125945,87 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]semgrep-force", - "config_key": "force", - "default": false, + "comma_separated_display_args": "--shellcheck-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v0.8.0|macos_arm64 |36dffd536b801c8bab2e9fa468163037e0c7f7e0a05298e5ad6299b4dde67e31|14525367", + "v0.8.0|macos_x86_64|4e93a76ee116b2f08c88e25011830280ad0d61615d8346364a4ea564b29be3f0|6310442", + "v0.8.0|linux_arm64 |8f4810485425636eadce2ec23441fd29d5b1b58d239ffda0a5faf8dd499026f5|4884430", + "v0.8.0|linux_x86_64|01d181787ffe63ebb0a2293f63bdc8455c5c30d3a6636320664bfa278424638f|2082242" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]semgrep-force"], - "env_var": "PANTS_SEMGREP_FORCE", + "display_args": [ + "--shellcheck-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_SHELLCHECK_KNOWN_VERSIONS", "fromfile": false, - "help": "If true, semgrep is always run, even if the input files haven't changed. This can be used to run cloud rulesets like `pants lint --semgrep-force --semgrep-args='--config=p/python' ::`. Without `--semgrep-force`, using the cloud rulesets may give inconsistent results on different machines, due to caching, because the rulesets may change.", + "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": ["--semgrep-force", "--no-semgrep-force"], + "scoped_cmd_line_args": [ + "--shellcheck-known-versions" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--force", "--no-force"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "v0.8.0|macos_arm64 |36dffd536b801c8bab2e9fa468163037e0c7f7e0a05298e5ad6299b4dde67e31|14525367", + "v0.8.0|macos_x86_64|4e93a76ee116b2f08c88e25011830280ad0d61615d8346364a4ea564b29be3f0|6310442", + "v0.8.0|linux_arm64 |8f4810485425636eadce2ec23441fd29d5b1b58d239ffda0a5faf8dd499026f5|4884430", + "v0.8.0|linux_x86_64|01d181787ffe63ebb0a2293f63bdc8455c5c30d3a6636320664bfa278424638f|2082242" + ] } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--semgrep-args=\"[, , ...]\"", - "config_key": "args", - "default": ["--quiet"], + "comma_separated_display_args": "--shellcheck-url-template=", + "config_key": "url_template", + "default": "https://github.com/vscode-shellcheck/shellcheck-binaries/releases/download/{version}/shellcheck-{version}.{platform}.tar.gz", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--semgrep-args=\"[, , ...]\"" + "--shellcheck-url-template=" ], - "env_var": "PANTS_SEMGREP_ARGS", + "env_var": "PANTS_SHELLCHECK_URL_TEMPLATE", "fromfile": false, - "help": "Arguments to pass directly to Semgrep, e.g. `--semgrep-args='--verbose'`.\n\nThis includes --quiet by default to reduce the volume of output.", + "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/v2.19/docs/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": ["--semgrep-args"], + "scoped_cmd_line_args": [ + "--shellcheck-url-template" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": ["--quiet"] + "value": "https://github.com/vscode-shellcheck/shellcheck-binaries/releases/download/{version}/shellcheck-{version}.{platform}.tar.gz" } ] } @@ -95154,70 +126033,78 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]semgrep-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--shellcheck-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux.aarch64", + "linux_x86_64": "linux.x86_64", + "macos_arm64": "darwin.aarch64", + "macos_x86_64": "darwin.x86_64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]semgrep-skip"], - "env_var": "PANTS_SEMGREP_SKIP", + "display_args": [ + "--shellcheck-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SHELLCHECK_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "If true, don't use Semgrep when running `pants lint`.", + "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": ["--semgrep-skip", "--no-semgrep-skip"], + "scoped_cmd_line_args": [ + "--shellcheck-url-platform-mapping" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": { + "linux_arm64": "linux.aarch64", + "linux_x86_64": "linux.x86_64", + "macos_arm64": "darwin.aarch64", + "macos_x86_64": "darwin.x86_64" + } } ] } - } - ], - "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.", - "is_goal": false, - "provider": "pants.backend.experimental.tools.semgrep", - "scope": "semgrep" - }, - "setup-py-generation": { - "advanced": [], - "basic": [ + }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]setup-py-generation-generate-setup-default", - "config_key": "generate_setup_default", - "default": true, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--shellcheck-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]setup-py-generation-generate-setup-default"], - "env_var": "PANTS_SETUP_PY_GENERATION_GENERATE_SETUP_DEFAULT", + "display_args": [ + "--shellcheck-use-unsupported-version=" + ], + "env_var": "PANTS_SHELLCHECK_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "The default value for the `generate_setup` field on `python_distribution` targets. Can be overridden per-target by setting that field explicitly. Set this to False if you mostly rely on handwritten setup files (`setup.py`, `setup.cfg` and similar). Leave as True if you mostly rely on Pants generating setup files for you.", + "help": "\nWhat action to take in case the requested version of Shellcheck is not supported.\n\nSupported Shellcheck versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--setup-py-generation-generate-setup-default", - "--no-setup-py-generation-generate-setup-default" + "--shellcheck-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--generate-setup-default", - "--no-generate-setup-default" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -95229,33 +126116,37 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "error" } ] } }, { - "choices": ["exact", "compatible", "any"], - "comma_separated_choices": "exact, compatible, any", - "comma_separated_display_args": "--setup-py-generation-first-party-dependency-version-scheme=", - "config_key": "first_party_dependency_version_scheme", - "default": "exact", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]shellcheck-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--setup-py-generation-first-party-dependency-version-scheme=" + "--[no-]shellcheck-config-discovery" ], - "env_var": "PANTS_SETUP_PY_GENERATION_FIRST_PARTY_DEPENDENCY_VERSION_SCHEME", + "env_var": "PANTS_SHELLCHECK_CONFIG_DISCOVERY", "fromfile": false, - "help": "What version to set in `install_requires` when a `python_distribution` depends on other `python_distribution`s. If `exact`, will use `==`. If `compatible`, will use `~=`. If `any`, will leave off the version. See https://www.python.org/dev/peps/pep-0440/#version-specifiers.", + "help": "If true, Pants will include all relevant `.shellcheckrc` and `shellcheckrc` files during runs. See https://www.mankier.com/1/shellcheck#RC_Files for where these can be located.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--setup-py-generation-first-party-dependency-version-scheme" + "--shellcheck-config-discovery", + "--no-shellcheck-config-discovery" ], "target_field_name": null, - "typ": "FirstPartyDependencyVersionScheme", - "unscoped_cmd_line_args": ["--first-party-dependency-version-scheme"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -95266,45 +126157,50 @@ { "details": null, "rank": "HARDCODED", - "value": "exact" + "value": true } ] } } ], - "deprecated": [], - "deprecated_scope": null, - "description": "Options to control how setup.py is generated from a `python_distribution` target.", - "is_goal": false, - "provider": "pants.backend.python", - "scope": "setup-py-generation" - }, - "setuptools": { - "advanced": [ + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]shellcheck-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-install-from-resolve="], - "env_var": "PANTS_SETUPTOOLS_INSTALL_FROM_RESOLVE", + "display_args": [ + "--[no-]shellcheck-skip" + ], + "env_var": "PANTS_SHELLCHECK_SKIP", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 true, don't use Shellcheck when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-install-from-resolve"], + "scoped_cmd_line_args": [ + "--shellcheck-skip", + "--no-shellcheck-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false } ] } @@ -95312,23 +126208,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-requirements=\"['', '', ...]\"", - "config_key": "requirements", + "comma_separated_display_args": "--shellcheck-args=\"[, , ...]\"", + "config_key": "args", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--setuptools-requirements=\"['', '', ...]\"" + "--shellcheck-args=\"[, , ...]\"" ], - "env_var": "PANTS_SETUPTOOLS_REQUIREMENTS", + "env_var": "PANTS_SHELLCHECK_ARGS", "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": "Arguments to pass directly to Shellcheck, e.g. `--shellcheck-args='-e SC20529'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-requirements"], + "scoped_cmd_line_args": [ + "--shellcheck-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -95345,75 +126245,50 @@ } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Python setuptools, used to package `python_distribution` targets.", + "description": "A linter for shell scripts.", "is_goal": false, - "provider": "pants.backend.python", - "scope": "setuptools" + "provider": "pants.backend.shell", + "scope": "shellcheck" }, - "setuptools-scm": { + "shfmt": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--shfmt-version=", + "config_key": "version", + "default": "v3.6.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-scm-install-from-resolve="], - "env_var": "PANTS_SETUPTOOLS_SCM_INSTALL_FROM_RESOLVE", + "display_args": [ + "--shfmt-version=" + ], + "env_var": "PANTS_SHFMT_VERSION", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": "Use this version of shfmt.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-scm-install-from-resolve"], + "scoped_cmd_line_args": [ + "--shfmt-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--setuptools-scm-requirements=\"['', '', ...]\"" - ], - "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.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": ["--setuptools-scm-requirements"], - "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "v3.6.0" } ] } @@ -95421,23 +126296,36 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--shfmt-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546", + "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208", + "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512", + "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568", + "v3.6.0|macos_arm64 |633f242246ee0a866c5f5df25cbf61b6af0d5e143555aca32950059cf13d91e0|3065202", + "v3.6.0|macos_x86_64|b8c9c025b498e2816b62f0b717f6032e9ab49e725a45b8205f52f66318f17185|3047552", + "v3.6.0|linux_arm64 |fb1cf0af3dbe9aac7d98e38e3c7426765208ecfe23cb2da51037bb234776fd70|2818048", + "v3.6.0|linux_x86_64|5741a02a641de7e56b8da170e71a97e58050d66a3cf485fb268d6a5a8bb74afb|2850816" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"" + "--shfmt-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_SETUPTOOLS_SCM_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_SHFMT_KNOWN_VERSIONS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "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": ["--setuptools-scm-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--shfmt-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -95448,7 +126336,16 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546", + "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208", + "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512", + "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568", + "v3.6.0|macos_arm64 |633f242246ee0a866c5f5df25cbf61b6af0d5e143555aca32950059cf13d91e0|3065202", + "v3.6.0|macos_x86_64|b8c9c025b498e2816b62f0b717f6032e9ab49e725a45b8205f52f66318f17185|3047552", + "v3.6.0|linux_arm64 |fb1cf0af3dbe9aac7d98e38e3c7426765208ecfe23cb2da51037bb234776fd70|2818048", + "v3.6.0|linux_x86_64|5741a02a641de7e56b8da170e71a97e58050d66a3cf485fb268d6a5a8bb74afb|2850816" + ] } ] } @@ -95456,27 +126353,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-console-script=", - "config_key": "console_script", - "default": null, + "comma_separated_display_args": "--shfmt-url-template=", + "config_key": "url_template", + "default": "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-scm-console-script="], - "env_var": "PANTS_SETUPTOOLS_SCM_CONSOLE_SCRIPT", + "display_args": [ + "--shfmt-url-template=" + ], + "env_var": "PANTS_SHFMT_URL_TEMPLATE", "fromfile": false, - "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", + "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/v2.19/docs/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": ["--setuptools-scm-console-script"], + "scoped_cmd_line_args": [ + "--shfmt-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}" } ] } @@ -95484,70 +126392,78 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--setuptools-scm-entry-point=", - "config_key": "entry_point", - "default": "setuptools_scm", + "comma_separated_display_args": "--shfmt-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + }, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--setuptools-scm-entry-point="], - "env_var": "PANTS_SETUPTOOLS_SCM_ENTRY_POINT", + "display_args": [ + "--shfmt-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_SHFMT_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", + "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": ["--setuptools-scm-entry-point"], + "scoped_cmd_line_args": [ + "--shfmt-url-platform-mapping" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "setuptools_scm" + "value": { + "linux_arm64": "linux_arm64", + "linux_x86_64": "linux_amd64", + "macos_arm64": "darwin_arm64", + "macos_x86_64": "darwin_amd64" + } } ] } - } - ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "A tool for generating versions from VCS metadata (https://github.com/pypa/setuptools_scm).", - "is_goal": false, - "provider": "pants.backend.experimental.python", - "scope": "setuptools-scm" - }, - "shell-setup": { - "advanced": [ + }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shell-setup-dependency-inference", - "config_key": "dependency_inference", - "default": true, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--shfmt-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shell-setup-dependency-inference"], - "env_var": "PANTS_SHELL_SETUP_DEPENDENCY_INFERENCE", + "display_args": [ + "--shfmt-use-unsupported-version=" + ], + "env_var": "PANTS_SHFMT_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Infer Shell dependencies on other Shell files by analyzing `source` statements.", + "help": "\nWhat action to take in case the requested version of shfmt is not supported.\n\nSupported shfmt versions: unspecified\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--shell-setup-dependency-inference", - "--no-shell-setup-dependency-inference" + "--shfmt-use-unsupported-version" ], "target_field_name": null, - "typ": "bool", + "typ": "UnsupportedVersionUsage", "unscoped_cmd_line_args": [ - "--dependency-inference", - "--no-dependency-inference" + "--use-unsupported-version" ], "value_history": { "ranked_values": [ @@ -95559,7 +126475,7 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": "error" } ] } @@ -95567,24 +126483,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shell-setup-tailor", - "config_key": "tailor", + "comma_separated_display_args": "--[no-]shfmt-config-discovery", + "config_key": "config_discovery", "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shell-setup-tailor"], - "env_var": "PANTS_SHELL_SETUP_TAILOR", + "display_args": [ + "--[no-]shfmt-config-discovery" + ], + "env_var": "PANTS_SHFMT_CONFIG_DISCOVERY", "fromfile": false, - "help": "If true, add `shell_sources` and `shunit2_tests` targets with the `tailor` goal.", + "help": "If true, Pants will include all relevant `.editorconfig` files during runs. See https://editorconfig.org.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--shell-setup-tailor", - "--no-shell-setup-tailor" + "--shfmt-config-discovery", + "--no-shfmt-config-discovery" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -95599,83 +126520,85 @@ } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shell-setup-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [""], + "comma_separated_display_args": "--[no-]shfmt-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shell-setup-executable-search-paths=\"[, , ...]\"" + "--[no-]shfmt-skip" ], - "env_var": "PANTS_SHELL_SETUP_EXECUTABLE_SEARCH_PATHS", + "env_var": "PANTS_SHFMT_SKIP", "fromfile": false, - "help": "The PATH value that will be used to find shells and to run certain processes like the shunit2 test runner. The special string `\"\"` will expand to the contents of the PATH env var.", + "help": "If true, don't use shfmt when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shell-setup-executable-search-paths"], - "target_field_name": "shell_setup_executable_search_paths", - "typ": "list", - "unscoped_cmd_line_args": ["--executable-search-paths"], + "scoped_cmd_line_args": [ + "--shfmt-skip", + "--no-shfmt-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [""] + "value": false } ] } - } - ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Options for Pants's Shell support.", - "is_goal": false, - "provider": "pants.backend.shell", - "scope": "shell-setup" - }, - "shell-test": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shell-test-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--shfmt-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shell-test-skip"], - "env_var": "PANTS_SHELL_TEST_SKIP", + "display_args": [ + "--shfmt-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SHFMT_ARGS", "fromfile": false, - "help": "If true, don't use Test with shell scripts when running `pants test`.", + "help": "Arguments to pass directly to shfmt, e.g. `--shfmt-args='-i 2'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shell-test-skip", "--no-shell-test-skip"], + "scoped_cmd_line_args": [ + "--shfmt-args" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } @@ -95683,31 +126606,37 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Options for Pants' Shell test support.", + "description": "An autoformatter for shell scripts (https://github.com/mvdan/sh).", "is_goal": false, - "provider": "pants.backend.shell", - "scope": "shell-test" + "provider": "pants.backend.shell.lint.shfmt", + "scope": "shfmt" }, - "shellcheck": { + "shunit2": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-version=", + "comma_separated_display_args": "--shunit2-version=", "config_key": "version", - "default": "v0.8.0", + "default": "b9102bb763cc603b3115ed30a5648bf950548097", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shellcheck-version="], - "env_var": "PANTS_SHELLCHECK_VERSION", + "display_args": [ + "--shunit2-version=" + ], + "env_var": "PANTS_SHUNIT2_VERSION", "fromfile": false, - "help": "Use this version of Shellcheck.", + "help": "Use this version of shunit2.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-version"], + "scoped_cmd_line_args": [ + "--shunit2-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -95718,7 +126647,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v0.8.0" + "value": "b9102bb763cc603b3115ed30a5648bf950548097" } ] } @@ -95726,28 +126655,32 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-known-versions=\"['', '', ...]\"", + "comma_separated_display_args": "--shunit2-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v0.8.0|macos_arm64 |36dffd536b801c8bab2e9fa468163037e0c7f7e0a05298e5ad6299b4dde67e31|14525367", - "v0.8.0|macos_x86_64|4e93a76ee116b2f08c88e25011830280ad0d61615d8346364a4ea564b29be3f0|6310442", - "v0.8.0|linux_arm64 |8f4810485425636eadce2ec23441fd29d5b1b58d239ffda0a5faf8dd499026f5|4884430", - "v0.8.0|linux_x86_64|01d181787ffe63ebb0a2293f63bdc8455c5c30d3a6636320664bfa278424638f|2082242" + "b9102bb763cc603b3115ed30a5648bf950548097|macos_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|macos_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|linux_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|linux_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shellcheck-known-versions=\"['', '', ...]\"" + "--shunit2-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_SHELLCHECK_KNOWN_VERSIONS", + "env_var": "PANTS_SHUNIT2_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": ["--shellcheck-known-versions"], + "scoped_cmd_line_args": [ + "--shunit2-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -95759,10 +126692,10 @@ "details": "", "rank": "HARDCODED", "value": [ - "v0.8.0|macos_arm64 |36dffd536b801c8bab2e9fa468163037e0c7f7e0a05298e5ad6299b4dde67e31|14525367", - "v0.8.0|macos_x86_64|4e93a76ee116b2f08c88e25011830280ad0d61615d8346364a4ea564b29be3f0|6310442", - "v0.8.0|linux_arm64 |8f4810485425636eadce2ec23441fd29d5b1b58d239ffda0a5faf8dd499026f5|4884430", - "v0.8.0|linux_x86_64|01d181787ffe63ebb0a2293f63bdc8455c5c30d3a6636320664bfa278424638f|2082242" + "b9102bb763cc603b3115ed30a5648bf950548097|macos_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|macos_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|linux_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", + "b9102bb763cc603b3115ed30a5648bf950548097|linux_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987" ] } ] @@ -95771,21 +126704,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-url-template=", + "comma_separated_display_args": "--shunit2-url-template=", "config_key": "url_template", - "default": "https://github.com/vscode-shellcheck/shellcheck-binaries/releases/download/{version}/shellcheck-{version}.{platform}.tar.gz", + "default": "https://raw.githubusercontent.com/kward/shunit2/{version}/shunit2", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shellcheck-url-template="], - "env_var": "PANTS_SHELLCHECK_URL_TEMPLATE", + "display_args": [ + "--shunit2-url-template=" + ], + "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/v2.19/docs/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": ["--shellcheck-url-template"], + "scoped_cmd_line_args": [ + "--shunit2-url-template" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -95796,7 +126735,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/vscode-shellcheck/shellcheck-binaries/releases/download/{version}/shellcheck-{version}.{platform}.tar.gz" + "value": "https://raw.githubusercontent.com/kward/shunit2/{version}/shunit2" } ] } @@ -95804,68 +126743,64 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "comma_separated_display_args": "--shunit2-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux.aarch64", - "linux_x86_64": "linux.x86_64", - "macos_arm64": "darwin.aarch64", - "macos_x86_64": "darwin.x86_64" - }, + "default": {}, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shellcheck-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--shunit2-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_SHELLCHECK_URL_PLATFORM_MAPPING", + "env_var": "PANTS_SHUNIT2_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": ["--shellcheck-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--shunit2-url-platform-mapping" + ], "target_field_name": null, "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", "value": {} - }, - { - "details": "", - "rank": "HARDCODED", - "value": { - "linux_arm64": "linux.aarch64", - "linux_x86_64": "linux.x86_64", - "macos_arm64": "darwin.aarch64", - "macos_x86_64": "darwin.x86_64" - } } ] } }, { - "choices": ["error", "warning"], + "choices": [ + "error", + "warning" + ], "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--shellcheck-use-unsupported-version=", + "comma_separated_display_args": "--shunit2-use-unsupported-version=", "config_key": "use_unsupported_version", "default": "error", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shellcheck-use-unsupported-version=" + "--shunit2-use-unsupported-version=" ], - "env_var": "PANTS_SHELLCHECK_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_SHUNIT2_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "\nWhat action to take in case the requested version of Shellcheck is not supported.\n\nSupported Shellcheck versions: unspecified\n", + "help": "\nWhat action to take in case the requested version of shunit2 is not supported.\n\nSupported shunit2 versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--shunit2-use-unsupported-version" + ], "target_field_name": null, "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -95880,30 +126815,34 @@ } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shellcheck-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--[no-]shunit2-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shellcheck-config-discovery"], - "env_var": "PANTS_SHELLCHECK_CONFIG_DISCOVERY", + "display_args": [ + "--[no-]shunit2-skip" + ], + "env_var": "PANTS_SHUNIT2_SKIP", "fromfile": false, - "help": "If true, Pants will include all relevant `.shellcheckrc` and `shellcheckrc` files during runs. See https://www.mankier.com/1/shellcheck#RC_Files for where these can be located.", + "help": "If true, don't use shunit2 when running `pants test`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--shellcheck-config-discovery", - "--no-shellcheck-config-discovery" + "--shunit2-skip", + "--no-shunit2-skip" ], "target_field_name": null, "typ": "bool", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--skip", + "--no-skip" ], "value_history": { "ranked_values": [ @@ -95915,42 +126854,76 @@ { "details": null, "rank": "HARDCODED", - "value": true + "value": false } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "shUnit2 is a xUnit framework for Bourne based shell scripts (https://github.com/kward/shunit2)", + "is_goal": false, + "provider": "pants.backend.shell", + "scope": "shunit2" + }, + "source": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shellcheck-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--source-root-patterns=\"[[\"pattern1\", \"pattern2\", ...], [\"pattern1\", \"pattern2\", ...], ...]\"", + "config_key": "root_patterns", + "default": [ + "/", + "src", + "src/python", + "src/py", + "src/thrift", + "src/protobuf", + "src/protos", + "src/scala", + "src/java" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shellcheck-skip"], - "env_var": "PANTS_SHELLCHECK_SKIP", + "display_args": [ + "--source-root-patterns=\"[[\"pattern1\", \"pattern2\", ...], [\"pattern1\", \"pattern2\", ...], ...]\"" + ], + "env_var": "PANTS_SOURCE_ROOT_PATTERNS", "fromfile": false, - "help": "If true, don't use Shellcheck when running `pants lint`.", + "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/v2.19/docs/source-roots.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-skip", "--no-shellcheck-skip"], + "scoped_cmd_line_args": [ + "--source-root-patterns" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--root-patterns" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [ + "/", + "src", + "src/python", + "src/py", + "src/thrift", + "src/protobuf", + "src/protos", + "src/scala", + "src/java" + ] } ] } @@ -95958,23 +126931,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shellcheck-args=\"[, , ...]\"", - "config_key": "args", + "comma_separated_display_args": "--source-marker-filenames=\"[filename, filename, ...]\"", + "config_key": "marker_filenames", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shellcheck-args=\"[, , ...]\"" + "--source-marker-filenames=\"[filename, filename, ...]\"" ], - "env_var": "PANTS_SHELLCHECK_ARGS", + "env_var": "PANTS_SOURCE_MARKER_FILENAMES", "fromfile": false, - "help": "Arguments to pass directly to Shellcheck, e.g. `--shellcheck-args='-e SC20529'`.", + "help": "The presence of a file of this name in a directory indicates that the directory is a source root. The content of the file doesn't matter, and may be empty. Useful when you can't or don't wish to centrally enumerate source roots via `root_patterns`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shellcheck-args"], + "scoped_cmd_line_args": [ + "--source-marker-filenames" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--marker-filenames" + ], "value_history": { "ranked_values": [ { @@ -95991,33 +126968,40 @@ } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "A linter for shell scripts.", + "description": "Configuration for roots of source trees.", "is_goal": false, - "provider": "pants.backend.shell", - "scope": "shellcheck" + "provider": "pants.core", + "scope": "source" }, - "shfmt": { + "spectral": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-version=", + "comma_separated_display_args": "--spectral-version=", "config_key": "version", - "default": "v3.6.0", + "default": "@stoplight/spectral-cli@6.5.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shfmt-version="], - "env_var": "PANTS_SHFMT_VERSION", + "display_args": [ + "--spectral-version=" + ], + "env_var": "PANTS_SPECTRAL_VERSION", "fromfile": false, - "help": "Use this version of shfmt.", + "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-version"], + "scoped_cmd_line_args": [ + "--spectral-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -96028,7 +127012,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v3.6.0" + "value": "@stoplight/spectral-cli@6.5.1" } ] } @@ -96036,154 +127020,65 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", - "default": [ - "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546", - "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208", - "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512", - "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568", - "v3.6.0|macos_arm64 |633f242246ee0a866c5f5df25cbf61b6af0d5e143555aca32950059cf13d91e0|3065202", - "v3.6.0|macos_x86_64|b8c9c025b498e2816b62f0b717f6032e9ab49e725a45b8205f52f66318f17185|3047552", - "v3.6.0|linux_arm64 |fb1cf0af3dbe9aac7d98e38e3c7426765208ecfe23cb2da51037bb234776fd70|2818048", - "v3.6.0|linux_x86_64|5741a02a641de7e56b8da170e71a97e58050d66a3cf485fb268d6a5a8bb74afb|2850816" - ], + "comma_separated_display_args": "--spectral-install-from-resolve=", + "config_key": "install_from_resolve", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shfmt-known-versions=\"['', '', ...]\"" + "--spectral-install-from-resolve=" ], - "env_var": "PANTS_SHFMT_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": ["--shfmt-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": [ - "v3.2.4|macos_arm64 |e70fc42e69debe3e400347d4f918630cdf4bf2537277d672bbc43490387508ec|2998546", - "v3.2.4|macos_x86_64|43a0461a1b54070ddc04fbbf1b78f7861ee39a65a61f5466d15a39c4aba4f917|2980208", - "v3.2.4|linux_arm64 |6474d9cc08a1c9fe2ef4be7a004951998e3067d46cf55a011ddd5ff7bfab3de6|2752512", - "v3.2.4|linux_x86_64|3f5a47f8fec27fae3e06d611559a2063f5d27e4b9501171dde9959b8c60a3538|2797568", - "v3.6.0|macos_arm64 |633f242246ee0a866c5f5df25cbf61b6af0d5e143555aca32950059cf13d91e0|3065202", - "v3.6.0|macos_x86_64|b8c9c025b498e2816b62f0b717f6032e9ab49e725a45b8205f52f66318f17185|3047552", - "v3.6.0|linux_arm64 |fb1cf0af3dbe9aac7d98e38e3c7426765208ecfe23cb2da51037bb234776fd70|2818048", - "v3.6.0|linux_x86_64|5741a02a641de7e56b8da170e71a97e58050d66a3cf485fb268d6a5a8bb74afb|2850816" - ] - } - ] - } - }, - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-url-template=", - "config_key": "url_template", - "default": "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}", - "deprecated_message": null, - "deprecation_active": false, - "display_args": ["--shfmt-url-template="], - "env_var": "PANTS_SHFMT_URL_TEMPLATE", + "env_var": "PANTS_SPECTRAL_INSTALL_FROM_RESOLVE", "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/v2.19/docs/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": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-url-template"], + "scoped_cmd_line_args": [ + "--spectral-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": "https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}" } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": { - "linux_arm64": "linux_arm64", - "linux_x86_64": "linux_amd64", - "macos_arm64": "darwin_arm64", - "macos_x86_64": "darwin_amd64" - }, - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--shfmt-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" - ], - "env_var": "PANTS_SHFMT_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": ["--shfmt-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", - "linux_x86_64": "linux_amd64", - "macos_arm64": "darwin_arm64", - "macos_x86_64": "darwin_amd64" - } - } - ] - } - }, - { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--shfmt-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "comma_separated_display_args": "--[no-]spectral-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shfmt-use-unsupported-version=" + "--[no-]spectral-skip" ], - "env_var": "PANTS_SHFMT_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_SPECTRAL_SKIP", "fromfile": false, - "help": "\nWhat action to take in case the requested version of shfmt is not supported.\n\nSupported shfmt versions: unspecified\n", + "help": "If true, don't use Spectral when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--spectral-skip", + "--no-spectral-skip" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -96194,7 +127089,7 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": false } ] } @@ -96202,62 +127097,78 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shfmt-config-discovery", - "config_key": "config_discovery", - "default": true, + "comma_separated_display_args": "--spectral-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shfmt-config-discovery"], - "env_var": "PANTS_SHFMT_CONFIG_DISCOVERY", + "display_args": [ + "--spectral-args=\"[, , ...]\"" + ], + "env_var": "PANTS_SPECTRAL_ARGS", "fromfile": false, - "help": "If true, Pants will include all relevant `.editorconfig` files during runs. See https://editorconfig.org.", + "help": "Arguments to pass directly to Spectral, e.g. `--spectral-args='--fail-severity=warn'`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--shfmt-config-discovery", - "--no-shfmt-config-discovery" + "--spectral-args" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--config-discovery", - "--no-config-discovery" + "--args" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": true + "value": [] } ] } } ], - "basic": [ + "deprecated": [], + "deprecated_scope": null, + "description": "A flexible JSON/YAML linter for creating automated style guides (https://github.com/stoplightio/spectral).", + "is_goal": false, + "provider": "pants.backend.experimental.openapi.lint.spectral", + "scope": "spectral" + }, + "stats": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shfmt-skip", - "config_key": "skip", + "comma_separated_display_args": "--[no-]stats-log", + "config_key": "log", "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shfmt-skip"], - "env_var": "PANTS_SHFMT_SKIP", + "display_args": [ + "--[no-]stats-log" + ], + "env_var": "PANTS_STATS_LOG", "fromfile": false, - "help": "If true, don't use shfmt when running `pants fmt` and `pants lint`.", + "help": "At the end of the Pants run, log all counter metrics and summaries of observation histograms, e.g. the number of cache hits and the time saved by caching.\n\nFor histogram summaries to work, you must add `hdrhistogram` to `[GLOBAL].plugins`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-skip", "--no-shfmt-skip"], + "scoped_cmd_line_args": [ + "--stats-log", + "--no-stats-log" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--log", + "--no-log" + ], "value_history": { "ranked_values": [ { @@ -96276,104 +127187,147 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shfmt-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--[no-]stats-memory-summary", + "config_key": "memory_summary", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shfmt-args=\"[, , ...]\""], - "env_var": "PANTS_SHFMT_ARGS", + "display_args": [ + "--[no-]stats-memory-summary" + ], + "env_var": "PANTS_STATS_MEMORY_SUMMARY", "fromfile": false, - "help": "Arguments to pass directly to shfmt, e.g. `--shfmt-args='-i 2'`.", + "help": "At the end of the Pants run, report a summary of memory usage.\n\nKeys are the total size in bytes, the count, and the name. Note that the total size is for all instances added together, so you can use total_size // count to get the average size.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shfmt-args"], + "scoped_cmd_line_args": [ + "--stats-memory-summary", + "--no-stats-memory-summary" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--memory-summary", + "--no-memory-summary" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } } ], + "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "An autoformatter for shell scripts (https://github.com/mvdan/sh).", + "description": "An aggregator for Pants stats, such as cache metrics.", "is_goal": false, - "provider": "pants.backend.shell.lint.shfmt", - "scope": "shfmt" + "provider": "pants.core", + "scope": "stats" }, - "shunit2": { + "subprocess-environment": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shunit2-version=", - "config_key": "version", - "default": "b9102bb763cc603b3115ed30a5648bf950548097", + "comma_separated_display_args": "--subprocess-environment-env-vars=\"['', '', ...]\"", + "config_key": "env_vars", + "default": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "SSL_CERT_FILE", + "SSL_CERT_DIR" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shunit2-version="], - "env_var": "PANTS_SHUNIT2_VERSION", + "display_args": [ + "--subprocess-environment-env-vars=\"['', '', ...]\"" + ], + "env_var": "PANTS_SUBPROCESS_ENVIRONMENT_ENV_VARS", "fromfile": false, - "help": "Use this version of shunit2.", + "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/v2.19/docs/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": ["--shunit2-version"], - "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "scoped_cmd_line_args": [ + "--subprocess-environment-env-vars" + ], + "target_field_name": "subprocess_environment_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--env-vars" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": "b9102bb763cc603b3115ed30a5648bf950548097" + "value": [ + "LANG", + "LC_CTYPE", + "LC_ALL", + "SSL_CERT_FILE", + "SSL_CERT_DIR" + ] } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Environment settings for forked subprocesses.", + "is_goal": false, + "provider": "pants.core", + "scope": "subprocess-environment" + }, + "system-binaries": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shunit2-known-versions=\"['', '', ...]\"", - "config_key": "known_versions", + "comma_separated_display_args": "--system-binaries-system-binary-paths=\"['', '', ...]\"", + "config_key": "system_binary_paths", "default": [ - "b9102bb763cc603b3115ed30a5648bf950548097|macos_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|macos_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|linux_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|linux_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987" + "/usr/bin", + "/bin", + "/usr/local/bin", + "/opt/homebrew/bin" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shunit2-known-versions=\"['', '', ...]\"" + "--system-binaries-system-binary-paths=\"['', '', ...]\"" ], - "env_var": "PANTS_SHUNIT2_KNOWN_VERSIONS", + "env_var": "PANTS_SYSTEM_BINARIES_SYSTEM_BINARY_PATHS", "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", + "help": "The PATH value that will searched for executables.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-known-versions"], - "target_field_name": null, + "scoped_cmd_line_args": [ + "--system-binaries-system-binary-paths" + ], + "target_field_name": "system_binaries_system_binary_paths", "typ": "list", - "unscoped_cmd_line_args": ["--known-versions"], + "unscoped_cmd_line_args": [ + "--system-binary-paths" + ], "value_history": { "ranked_values": [ { @@ -96385,33 +127339,49 @@ "details": "", "rank": "HARDCODED", "value": [ - "b9102bb763cc603b3115ed30a5648bf950548097|macos_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|macos_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|linux_x86_64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987", - "b9102bb763cc603b3115ed30a5648bf950548097|linux_arm64|1f11477b7948150d1ca50cdd41d89be4ed2acd137e26d2e0fe23966d0e272cc5|40987" + "/usr/bin", + "/bin", + "/usr/local/bin", + "/opt/homebrew/bin" ] } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "System binaries related settings.", + "is_goal": false, + "provider": "pants.core", + "scope": "system-binaries" + }, + "tailor": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shunit2-url-template=", - "config_key": "url_template", - "default": "https://raw.githubusercontent.com/kward/shunit2/{version}/shunit2", + "comma_separated_display_args": "--tailor-build-file-name=", + "config_key": "build_file_name", + "default": "BUILD", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--shunit2-url-template="], - "env_var": "PANTS_SHUNIT2_URL_TEMPLATE", + "display_args": [ + "--tailor-build-file-name=" + ], + "env_var": "PANTS_TAILOR_BUILD_FILE_NAME", "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/v2.19/docs/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": "The name to use for generated BUILD files.\n\nThis must be compatible with `[GLOBAL].build_patterns`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-url-template"], + "scoped_cmd_line_args": [ + "--tailor-build-file-name" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--url-template"], + "unscoped_cmd_line_args": [ + "--build-file-name" + ], "value_history": { "ranked_values": [ { @@ -96422,7 +127392,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://raw.githubusercontent.com/kward/shunit2/{version}/shunit2" + "value": "BUILD" } ] } @@ -96430,53 +127400,61 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--shunit2-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "url_platform_mapping", - "default": {}, + "comma_separated_display_args": "--tailor-build-file-header=", + "config_key": "build_file_header", + "default": null, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shunit2-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--tailor-build-file-header=" ], - "env_var": "PANTS_SHUNIT2_URL_PLATFORM_MAPPING", + "env_var": "PANTS_TAILOR_BUILD_FILE_HEADER", "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`.", + "help": "A header, e.g., a copyright notice, to add to the content of created BUILD files.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-url-platform-mapping"], + "scoped_cmd_line_args": [ + "--tailor-build-file-header" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--url-platform-mapping"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--build-file-header" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": {} + "value": null } ] } }, { - "choices": ["error", "warning"], - "comma_separated_choices": "error, warning", - "comma_separated_display_args": "--shunit2-use-unsupported-version=", - "config_key": "use_unsupported_version", - "default": "error", + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--tailor-build-file-indent=", + "config_key": "build_file_indent", + "default": " ", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--shunit2-use-unsupported-version=" + "--tailor-build-file-indent=" ], - "env_var": "PANTS_SHUNIT2_USE_UNSUPPORTED_VERSION", + "env_var": "PANTS_TAILOR_BUILD_FILE_INDENT", "fromfile": false, - "help": "\nWhat action to take in case the requested version of shunit2 is not supported.\n\nSupported shunit2 versions: unspecified\n", + "help": "The indent to use when auto-editing BUILD files.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-use-unsupported-version"], + "scoped_cmd_line_args": [ + "--tailor-build-file-indent" + ], "target_field_name": null, - "typ": "UnsupportedVersionUsage", - "unscoped_cmd_line_args": ["--use-unsupported-version"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--build-file-indent" + ], "value_history": { "ranked_values": [ { @@ -96487,86 +127465,74 @@ { "details": null, "rank": "HARDCODED", - "value": "error" + "value": " " } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]shunit2-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--tailor-alias-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "alias_mapping", + "default": {}, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]shunit2-skip"], - "env_var": "PANTS_SHUNIT2_SKIP", + "display_args": [ + "--tailor-alias-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_TAILOR_ALIAS_MAPPING", "fromfile": false, - "help": "If true, don't use shunit2 when running `pants test`.", + "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/v2.19/docs/macros).", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--shunit2-skip", "--no-shunit2-skip"], + "scoped_cmd_line_args": [ + "--tailor-alias-mapping" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--alias-mapping" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": {} }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": {} } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "shUnit2 is a xUnit framework for Bourne based shell scripts (https://github.com/kward/shunit2)", - "is_goal": false, - "provider": "pants.backend.shell", - "scope": "shunit2" - }, - "source": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--source-root-patterns=\"[[\"pattern1\", \"pattern2\", ...], [\"pattern1\", \"pattern2\", ...], ...]\"", - "config_key": "root_patterns", - "default": [ - "/", - "src", - "src/python", - "src/py", - "src/thrift", - "src/protobuf", - "src/protos", - "src/scala", - "src/java" - ], + "comma_separated_display_args": "--tailor-ignore-paths=\"['', '', ...]\"", + "config_key": "ignore_paths", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--source-root-patterns=\"[[\"pattern1\", \"pattern2\", ...], [\"pattern1\", \"pattern2\", ...], ...]\"" + "--tailor-ignore-paths=\"['', '', ...]\"" ], - "env_var": "PANTS_SOURCE_ROOT_PATTERNS", + "env_var": "PANTS_TAILOR_IGNORE_PATHS", "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/v2.19/docs/source-roots.", + "help": "Do not edit or create BUILD files at these paths.\n\nCan use literal file names and/or globs, e.g. `['project/BUILD, 'ignore_me/**']`.\n\nThis augments the option `[GLOBAL].build_ignore`, which tells Pants to also not _read_ BUILD files at certain paths. In contrast, this option only tells Pants to not edit/create BUILD files at the specified paths.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--source-root-patterns"], + "scoped_cmd_line_args": [ + "--tailor-ignore-paths" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--root-patterns"], + "unscoped_cmd_line_args": [ + "--ignore-paths" + ], "value_history": { "ranked_values": [ { @@ -96577,17 +127543,7 @@ { "details": "", "rank": "HARDCODED", - "value": [ - "/", - "src", - "src/python", - "src/py", - "src/thrift", - "src/protobuf", - "src/protos", - "src/scala", - "src/java" - ] + "value": [] } ] } @@ -96595,23 +127551,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--source-marker-filenames=\"[filename, filename, ...]\"", - "config_key": "marker_filenames", + "comma_separated_display_args": "--tailor-ignore-adding-targets=\"['', '', ...]\"", + "config_key": "ignore_adding_targets", "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--source-marker-filenames=\"[filename, filename, ...]\"" + "--tailor-ignore-adding-targets=\"['', '', ...]\"" ], - "env_var": "PANTS_SOURCE_MARKER_FILENAMES", + "env_var": "PANTS_TAILOR_IGNORE_ADDING_TARGETS", "fromfile": false, - "help": "The presence of a file of this name in a directory indicates that the directory is a source root. The content of the file doesn't matter, and may be empty. Useful when you can't or don't wish to centrally enumerate source roots via `root_patterns`.", + "help": "Do not add these target definitions.\n\nExpects a list of target addresses that would normally be added by `tailor`, e.g. `['project:tgt']`. To find these names, you can run `tailor --check`, then combine the BUILD file path with the target's name. For example, if `tailor` would add the target `bin` to `project/BUILD`, then the address would be `project:bin`. If the BUILD file is at the root of your repository, use `//` for the path, e.g. `//:bin`.\n\nDoes not work with macros.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--source-marker-filenames"], + "scoped_cmd_line_args": [ + "--tailor-ignore-adding-targets" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--marker-filenames"], + "unscoped_cmd_line_args": [ + "--ignore-adding-targets" + ], "value_history": { "ranked_values": [ { @@ -96628,34 +127588,82 @@ } } ], - "basic": [], + "basic": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]tailor-check", + "config_key": "check", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]tailor-check" + ], + "env_var": "PANTS_TAILOR_CHECK", + "fromfile": false, + "help": "Do not write changes to disk, only write back what would change. Return code 0 means there would be no changes, and 1 means that there would be.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--tailor-check", + "--no-tailor-check" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--check", + "--no-check" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + } + ], "deprecated": [], "deprecated_scope": null, - "description": "Configuration for roots of source trees.", - "is_goal": false, + "description": "Auto-generate BUILD file targets for new source files.\n\nEach specific `tailor` implementation may be disabled through language-specific options, e.g. `[python].tailor_pex_binary_targets` and `[shell-setup].tailor`.", + "is_goal": true, "provider": "pants.core", - "scope": "source" + "scope": "tailor" }, - "spectral": { + "taplo": { "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--spectral-version=", + "comma_separated_display_args": "--taplo-version=", "config_key": "version", - "default": "@stoplight/spectral-cli@6.5.1", + "default": "0.8.0", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--spectral-version="], - "env_var": "PANTS_SPECTRAL_VERSION", + "display_args": [ + "--taplo-version=" + ], + "env_var": "PANTS_TAPLO_VERSION", "fromfile": false, - "help": "Version string for the tool in the form package@version (e.g. prettier@2.6.2)", + "help": "Use this version of Taplo.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--spectral-version"], + "scoped_cmd_line_args": [ + "--taplo-version" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--version"], + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { @@ -96666,7 +127674,7 @@ { "details": null, "rank": "HARDCODED", - "value": "@stoplight/spectral-cli@6.5.1" + "value": "0.8.0" } ] } @@ -96674,51 +127682,76 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--spectral-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--taplo-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "0.8.0|macos_arm64|79c1691c3c46be981fa0cec930ec9a6d6c4ffd27272d37d1885514ce59bd8ccf|3661689", + "0.8.0|macos_x86_64|a1917f1b9168cb4f7d579422dcdf9c733028d873963d8fa3a6f499e41719c502|3926263", + "0.8.0|linux_arm64|a6a94482f125c21090593f94cad23df099c4924f5b9620cda4a8653527c097a1|3995383", + "0.8.0|linux_x86_64|3703294fac37ca9a9f76308f9f98c3939ccb7588f8972acec68a48d7a10d8ee5|4123593" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--spectral-install-from-resolve="], - "env_var": "PANTS_SPECTRAL_INSTALL_FROM_RESOLVE", + "display_args": [ + "--taplo-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_TAPLO_KNOWN_VERSIONS", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve, instead of the version configured in this subsystem.\n\nIf unspecified, the tool will use the default configured package manager [nodejs].package_manager`, and install the tool without a lockfile.", + "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": ["--spectral-install-from-resolve"], + "scoped_cmd_line_args": [ + "--taplo-known-versions" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "0.8.0|macos_arm64|79c1691c3c46be981fa0cec930ec9a6d6c4ffd27272d37d1885514ce59bd8ccf|3661689", + "0.8.0|macos_x86_64|a1917f1b9168cb4f7d579422dcdf9c733028d873963d8fa3a6f499e41719c502|3926263", + "0.8.0|linux_arm64|a6a94482f125c21090593f94cad23df099c4924f5b9620cda4a8653527c097a1|3995383", + "0.8.0|linux_x86_64|3703294fac37ca9a9f76308f9f98c3939ccb7588f8972acec68a48d7a10d8ee5|4123593" + ] } ] } - } - ], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]spectral-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--taplo-url-template=", + "config_key": "url_template", + "default": "https://github.com/tamasfe/taplo/releases/download/{version}/taplo-{platform}.gz", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]spectral-skip"], - "env_var": "PANTS_SPECTRAL_SKIP", + "display_args": [ + "--taplo-url-template=" + ], + "env_var": "PANTS_TAPLO_URL_TEMPLATE", "fromfile": false, - "help": "If true, don't use Spectral when running `pants lint`.", + "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/v2.19/docs/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": ["--spectral-skip", "--no-spectral-skip"], + "scoped_cmd_line_args": [ + "--taplo-url-template" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], "value_history": { "ranked_values": [ { @@ -96729,7 +127762,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "https://github.com/tamasfe/taplo/releases/download/{version}/taplo-{platform}.gz" } ] } @@ -96737,66 +127770,79 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--spectral-args=\"[, , ...]\"", - "config_key": "args", - "default": [], + "comma_separated_display_args": "--taplo-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "linux-aarch64", + "linux_x86_64": "linux-x86_64", + "macos_arm64": "darwin-aarch64", + "macos_x86_64": "darwin-x86_64" + }, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--spectral-args=\"[, , ...]\"" + "--taplo-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" ], - "env_var": "PANTS_SPECTRAL_ARGS", + "env_var": "PANTS_TAPLO_URL_PLATFORM_MAPPING", "fromfile": false, - "help": "Arguments to pass directly to Spectral, e.g. `--spectral-args='--fail-severity=warn'`.", + "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": ["--spectral-args"], + "scoped_cmd_line_args": [ + "--taplo-url-platform-mapping" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": [] + "value": {} }, { "details": "", "rank": "HARDCODED", - "value": [] + "value": { + "linux_arm64": "linux-aarch64", + "linux_x86_64": "linux-x86_64", + "macos_arm64": "darwin-aarch64", + "macos_x86_64": "darwin-x86_64" + } } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "A flexible JSON/YAML linter for creating automated style guides (https://github.com/stoplightio/spectral).", - "is_goal": false, - "provider": "pants.backend.experimental.openapi.lint.spectral", - "scope": "spectral" - }, - "stats": { - "advanced": [ + }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]stats-log", - "config_key": "log", - "default": false, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--taplo-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]stats-log"], - "env_var": "PANTS_STATS_LOG", + "display_args": [ + "--taplo-use-unsupported-version=" + ], + "env_var": "PANTS_TAPLO_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "At the end of the Pants run, log all counter metrics and summaries of observation histograms, e.g. the number of cache hits and the time saved by caching.\n\nFor histogram summaries to work, you must add `hdrhistogram` to `[GLOBAL].plugins`.", + "help": "\nWhat action to take in case the requested version of Taplo is not supported.\n\nSupported Taplo versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--stats-log", "--no-stats-log"], + "scoped_cmd_line_args": [ + "--taplo-use-unsupported-version" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--log", "--no-log"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -96807,7 +127853,7 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } @@ -96815,24 +127861,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]stats-memory-summary", - "config_key": "memory_summary", - "default": false, + "comma_separated_display_args": "--[no-]taplo-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]stats-memory-summary"], - "env_var": "PANTS_STATS_MEMORY_SUMMARY", + "display_args": [ + "--[no-]taplo-config-discovery" + ], + "env_var": "PANTS_TAPLO_CONFIG_DISCOVERY", "fromfile": false, - "help": "At the end of the Pants run, report a summary of memory usage.\n\nKeys are the total size in bytes, the count, and the name. Note that the total size is for all instances added together, so you can use total_size // count to get the average size.", + "help": "If true, Pants will include a `taplo.toml` or `.taplo.toml` file found in the build root during a run.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--stats-memory-summary", - "--no-stats-memory-summary" + "--taplo-config-discovery", + "--no-taplo-config-discovery" ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--memory-summary", "--no-memory-summary"], + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { @@ -96843,48 +127894,39 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": true } ] } - } - ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "An aggregator for Pants stats, such as cache metrics.", - "is_goal": false, - "provider": "pants.core", - "scope": "stats" - }, - "subprocess-environment": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--subprocess-environment-env-vars=\"['', '', ...]\"", - "config_key": "env_vars", + "comma_separated_display_args": "--taplo-glob-pattern=\"['', '', ...]\"", + "config_key": "glob_pattern", "default": [ - "LANG", - "LC_CTYPE", - "LC_ALL", - "SSL_CERT_FILE", - "SSL_CERT_DIR" + "**/*.toml", + "!.taplo.toml", + "!taplo.toml" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--subprocess-environment-env-vars=\"['', '', ...]\"" + "--taplo-glob-pattern=\"['', '', ...]\"" ], - "env_var": "PANTS_SUBPROCESS_ENVIRONMENT_ENV_VARS", + "env_var": "PANTS_TAPLO_GLOB_PATTERN", "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/v2.19/docs/options#addremove-semantics for how to add and remove Pants's default for this option.", + "help": "A list of glob patterns of files to include/exclude in formatting relative to the build root. Leading exclamation points exclude an item from formatting.\n\nExample:\n\n [\"**/*.toml\", \"**/pyproject.toml\", \"!pyproject.toml\"]\n\nThe default includes all files with a `.toml` extension recursively and excludes `.taplo.toml` or `taplo.toml` files in the build root.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--subprocess-environment-env-vars"], - "target_field_name": "subprocess_environment_env_vars", + "scoped_cmd_line_args": [ + "--taplo-glob-pattern" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--env-vars"], + "unscoped_cmd_line_args": [ + "--glob-pattern" + ], "value_history": { "ranked_values": [ { @@ -96896,53 +127938,81 @@ "details": "", "rank": "HARDCODED", "value": [ - "LANG", - "LC_CTYPE", - "LC_ALL", - "SSL_CERT_FILE", - "SSL_CERT_DIR" + "**/*.toml", + "!.taplo.toml", + "!taplo.toml" ] } ] } } ], - "basic": [], - "deprecated": [], - "deprecated_scope": null, - "description": "Environment settings for forked subprocesses.", - "is_goal": false, - "provider": "pants.core", - "scope": "subprocess-environment" - }, - "system-binaries": { - "advanced": [], "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--system-binaries-system-binary-paths=\"['', '', ...]\"", - "config_key": "system_binary_paths", - "default": [ - "/usr/bin", - "/bin", - "/usr/local/bin", - "/opt/homebrew/bin" + "comma_separated_display_args": "--[no-]taplo-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]taplo-skip" + ], + "env_var": "PANTS_TAPLO_SKIP", + "fromfile": false, + "help": "If true, don't use Taplo when running `pants fmt` and `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--taplo-skip", + "--no-taplo-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--taplo-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--system-binaries-system-binary-paths=\"['', '', ...]\"" + "--taplo-args=\"[, , ...]\"" ], - "env_var": "PANTS_SYSTEM_BINARIES_SYSTEM_BINARY_PATHS", + "env_var": "PANTS_TAPLO_ARGS", "fromfile": false, - "help": "The PATH value that will searched for executables.\n\nThe special string `\"\"` will expand to the contents of the PATH env var.", + "help": "Arguments to pass directly to Taplo, e.g. `--taplo-args='--option=align_entries=false'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--system-binaries-system-binary-paths"], - "target_field_name": "system_binaries_system_binary_paths", + "scoped_cmd_line_args": [ + "--taplo-args" + ], + "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--system-binary-paths"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -96953,12 +128023,7 @@ { "details": "", "rank": "HARDCODED", - "value": [ - "/usr/bin", - "/bin", - "/usr/local/bin", - "/opt/homebrew/bin" - ] + "value": [] } ] } @@ -96966,31 +128031,40 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "System binaries related settings.", + "description": "An autoformatter for TOML files (https://taplo.tamasfe.dev/)", "is_goal": false, - "provider": "pants.core", - "scope": "system-binaries" + "provider": "pants.backend.tools.taplo", + "scope": "taplo" }, - "tailor": { - "advanced": [ + "terraform-fmt": { + "advanced": [], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-build-file-name=", - "config_key": "build_file_name", - "default": "BUILD", + "comma_separated_display_args": "--[no-]terraform-fmt-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--tailor-build-file-name="], - "env_var": "PANTS_TAILOR_BUILD_FILE_NAME", + "display_args": [ + "--[no-]terraform-fmt-skip" + ], + "env_var": "PANTS_TERRAFORM_FMT_SKIP", "fromfile": false, - "help": "The name to use for generated BUILD files.\n\nThis must be compatible with `[GLOBAL].build_patterns`.", + "help": "If true, don't use `terraform fmt` when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tailor-build-file-name"], + "scoped_cmd_line_args": [ + "--terraform-fmt-skip", + "--no-terraform-fmt-skip" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--build-file-name"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -97001,29 +128075,45 @@ { "details": null, "rank": "HARDCODED", - "value": "BUILD" + "value": false } ] } - }, + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Terraform fmt options.", + "is_goal": false, + "provider": "pants.backend.experimental.terraform", + "scope": "terraform-fmt" + }, + "terraform-hcl2-parser": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-build-file-header=", - "config_key": "build_file_header", + "comma_separated_display_args": "--terraform-hcl2-parser-install-from-resolve=", + "config_key": "install_from_resolve", "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--tailor-build-file-header="], - "env_var": "PANTS_TAILOR_BUILD_FILE_HEADER", + "display_args": [ + "--terraform-hcl2-parser-install-from-resolve=" + ], + "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "A header, e.g., a copyright notice, to add to the content of created BUILD files.", + "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--tailor-build-file-header"], + "scoped_cmd_line_args": [ + "--terraform-hcl2-parser-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--build-file-header"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -97037,32 +128127,38 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-build-file-indent=", - "config_key": "build_file_indent", - "default": " ", + "comma_separated_display_args": "--terraform-hcl2-parser-requirements=\"['', '', ...]\"", + "config_key": "requirements", + "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--tailor-build-file-indent="], - "env_var": "PANTS_TAILOR_BUILD_FILE_INDENT", + "display_args": [ + "--terraform-hcl2-parser-requirements=\"['', '', ...]\"" + ], + "env_var": "PANTS_TERRAFORM_HCL2_PARSER_REQUIREMENTS", "fromfile": false, - "help": "The indent to use when auto-editing BUILD files.", + "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tailor-build-file-indent"], + "scoped_cmd_line_args": [ + "--terraform-hcl2-parser-requirements" + ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--build-file-indent"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": " " + "value": [] } ] } @@ -97070,67 +128166,92 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-alias-mapping=\"{'key1': val1, 'key2': val2, ...}\"", - "config_key": "alias_mapping", - "default": {}, + "comma_separated_display_args": "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"", + "config_key": "interpreter_constraints", + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--tailor-alias-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"" ], - "env_var": "PANTS_TAILOR_ALIAS_MAPPING", + "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INTERPRETER_CONSTRAINTS", "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/v2.19/docs/macros).", + "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tailor-alias-mapping"], + "scoped_cmd_line_args": [ + "--terraform-hcl2-parser-interpreter-constraints" + ], "target_field_name": null, - "typ": "dict", - "unscoped_cmd_line_args": ["--alias-mapping"], + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { "details": "", "rank": "NONE", - "value": {} + "value": [] }, { "details": "", "rank": "HARDCODED", - "value": {} + "value": [ + "CPython>=3.7,<4" + ] } ] } - }, + } + ], + "basic": [], + "deprecated": [], + "deprecated_scope": null, + "description": "Used to parse Terraform modules to infer their dependencies.", + "is_goal": false, + "provider": "pants.backend.experimental.terraform", + "scope": "terraform-hcl2-parser" + }, + "terraform-tfsec": { + "advanced": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-ignore-paths=\"['', '', ...]\"", - "config_key": "ignore_paths", - "default": [], + "comma_separated_display_args": "--terraform-tfsec-version=", + "config_key": "version", + "default": "v1.28.1", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--tailor-ignore-paths=\"['', '', ...]\""], - "env_var": "PANTS_TAILOR_IGNORE_PATHS", + "display_args": [ + "--terraform-tfsec-version=" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_VERSION", "fromfile": false, - "help": "Do not edit or create BUILD files at these paths.\n\nCan use literal file names and/or globs, e.g. `['project/BUILD, 'ignore_me/**']`.\n\nThis augments the option `[GLOBAL].build_ignore`, which tells Pants to also not _read_ BUILD files at certain paths. In contrast, this option only tells Pants to not edit/create BUILD files at the specified paths.", + "help": "Use this version of tfsec.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tailor-ignore-paths"], + "scoped_cmd_line_args": [ + "--terraform-tfsec-version" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--ignore-paths"], + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": "v1.28.1" } ] } @@ -97138,23 +128259,29 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--tailor-ignore-adding-targets=\"['', '', ...]\"", - "config_key": "ignore_adding_targets", - "default": [], + "comma_separated_display_args": "--terraform-tfsec-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v1.28.1|linux_x86_64|57b902b31da3eed12448a4e82a8aca30477e4bcd1bf99e3f65310eae0889f88d|26427634" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--tailor-ignore-adding-targets=\"['', '', ...]\"" + "--terraform-tfsec-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_TAILOR_IGNORE_ADDING_TARGETS", + "env_var": "PANTS_TERRAFORM_TFSEC_KNOWN_VERSIONS", "fromfile": false, - "help": "Do not add these target definitions.\n\nExpects a list of target addresses that would normally be added by `tailor`, e.g. `['project:tgt']`. To find these names, you can run `tailor --check`, then combine the BUILD file path with the target's name. For example, if `tailor` would add the target `bin` to `project/BUILD`, then the address would be `project:bin`. If the BUILD file is at the root of your repository, use `//` for the path, e.g. `//:bin`.\n\nDoes not work with macros.", + "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": ["--tailor-ignore-adding-targets"], + "scoped_cmd_line_args": [ + "--terraform-tfsec-known-versions" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--ignore-adding-targets"], + "unscoped_cmd_line_args": [ + "--known-versions" + ], "value_history": { "ranked_values": [ { @@ -97165,31 +128292,40 @@ { "details": "", "rank": "HARDCODED", - "value": [] + "value": [ + "v1.28.1|linux_x86_64|57b902b31da3eed12448a4e82a8aca30477e4bcd1bf99e3f65310eae0889f88d|26427634" + ] } ] } - } - ], - "basic": [ + }, { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]tailor-check", - "config_key": "check", - "default": false, + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--terraform-tfsec-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]tailor-check"], - "env_var": "PANTS_TAILOR_CHECK", + "display_args": [ + "--terraform-tfsec-use-unsupported-version=" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "Do not write changes to disk, only write back what would change. Return code 0 means there would be no changes, and 1 means that there would be.", + "help": "\nWhat action to take in case the requested version of tfsec is not supported.\n\nSupported tfsec versions: unspecified\n", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--tailor-check", "--no-tailor-check"], + "scoped_cmd_line_args": [ + "--terraform-tfsec-use-unsupported-version" + ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--check", "--no-check"], + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], "value_history": { "ranked_values": [ { @@ -97200,131 +128336,125 @@ { "details": null, "rank": "HARDCODED", - "value": false + "value": "error" } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Auto-generate BUILD file targets for new source files.\n\nEach specific `tailor` implementation may be disabled through language-specific options, e.g. `[python].tailor_pex_binary_targets` and `[shell-setup].tailor`.", - "is_goal": true, - "provider": "pants.core", - "scope": "tailor" - }, - "terraform-fmt": { - "advanced": [], - "basic": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]terraform-fmt-skip", - "config_key": "skip", - "default": false, + "comma_separated_display_args": "--terraform-tfsec-config=", + "config_key": "config", + "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]terraform-fmt-skip"], - "env_var": "PANTS_TERRAFORM_FMT_SKIP", + "display_args": [ + "--terraform-tfsec-config=" + ], + "env_var": "PANTS_TERRAFORM_TFSEC_CONFIG", "fromfile": false, - "help": "If true, don't use `terraform fmt` when running `pants fmt` and `pants lint`.", + "help": "Path to the tfsec config file (https://aquasecurity.github.io/tfsec/latest/guides/configuration/config/)\n\nSetting this option will disable `[terraform-tfsec].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--terraform-fmt-skip", - "--no-terraform-fmt-skip" + "--terraform-tfsec-config" ], "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "typ": "file_option", + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false } ] } - } - ], - "deprecated": [], - "deprecated_scope": null, - "description": "Terraform fmt options.", - "is_goal": false, - "provider": "pants.backend.experimental.terraform", - "scope": "terraform-fmt" - }, - "terraform-hcl2-parser": { - "advanced": [ + }, { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--terraform-hcl2-parser-install-from-resolve=", - "config_key": "install_from_resolve", - "default": null, + "comma_separated_display_args": "--[no-]terraform-tfsec-config-discovery", + "config_key": "config_discovery", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--terraform-hcl2-parser-install-from-resolve=" + "--[no-]terraform-tfsec-config-discovery" ], - "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INSTALL_FROM_RESOLVE", + "env_var": "PANTS_TERRAFORM_TFSEC_CONFIG_DISCOVERY", "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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 true, Pants will include all relevant config files during runs (`.tfsec/config.json` or `.tfsec/config.yml`). Note that you will have to tell Pants to include this file by adding `\"!.tfsec/\"` to `[global].pants_ignore.add`.\n\nUse `[terraform-tfsec].config` instead if your config is in a non-standard location.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--terraform-hcl2-parser-install-from-resolve" + "--terraform-tfsec-config-discovery", + "--no-terraform-tfsec-config-discovery" ], "target_field_name": null, - "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--config-discovery", + "--no-config-discovery" + ], "value_history": { "ranked_values": [ { "details": null, "rank": "NONE", "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true } ] } - }, + } + ], + "basic": [ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--terraform-hcl2-parser-requirements=\"['', '', ...]\"", - "config_key": "requirements", - "default": [], + "comma_separated_display_args": "--[no-]terraform-tfsec-skip", + "config_key": "skip", + "default": false, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--terraform-hcl2-parser-requirements=\"['', '', ...]\"" + "--[no-]terraform-tfsec-skip" ], - "env_var": "PANTS_TERRAFORM_HCL2_PARSER_REQUIREMENTS", + "env_var": "PANTS_TERRAFORM_TFSEC_SKIP", "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 true, don't use tfsec when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--terraform-hcl2-parser-requirements"], + "scoped_cmd_line_args": [ + "--terraform-tfsec-skip", + "--no-terraform-tfsec-skip" + ], "target_field_name": null, - "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": false } ] } @@ -97332,25 +128462,27 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"", - "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "comma_separated_display_args": "--terraform-tfsec-args=\"[, , ...]\"", + "config_key": "args", + "default": [], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"" + "--terraform-tfsec-args=\"[, , ...]\"" ], - "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_TERRAFORM_TFSEC_ARGS", "fromfile": false, - "help": "Python interpreter constraints for this tool.", + "help": "Arguments to pass directly to tfsec, e.g. `--terraform-tfsec-args='--minimum-severity=MEDIUM'`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--terraform-hcl2-parser-interpreter-constraints" + "--terraform-tfsec-args" ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -97361,19 +128493,18 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [] } ] } } ], - "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Used to parse Terraform modules to infer their dependencies.", + "description": "tfsec by Aqua Security", "is_goal": false, - "provider": "pants.backend.experimental.terraform", - "scope": "terraform-hcl2-parser" + "provider": "pants.backend.experimental.terraform.lint.tfsec", + "scope": "terraform-tfsec" }, "terraform-validate": { "advanced": [], @@ -97386,7 +128517,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]terraform-validate-skip"], + "display_args": [ + "--[no-]terraform-validate-skip" + ], "env_var": "PANTS_TERRAFORM_VALIDATE_SKIP", "fromfile": false, "help": "If true, don't use `terraform validate` when running `pants check`.", @@ -97398,7 +128531,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -97432,16 +128568,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-report"], + "display_args": [ + "--[no-]test-report" + ], "env_var": "PANTS_TEST_REPORT", "fromfile": false, "help": "Write test reports to `--report-dir`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-report", "--no-test-report"], + "scoped_cmd_line_args": [ + "--test-report", + "--no-test-report" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--report", "--no-report"], + "unscoped_cmd_line_args": [ + "--report", + "--no-report" + ], "value_history": { "ranked_values": [ { @@ -97465,16 +128609,22 @@ "default": "{distdir}/test/reports", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-report-dir="], + "display_args": [ + "--test-report-dir=" + ], "env_var": "PANTS_TEST_REPORT_DIR", "fromfile": false, "help": "Path to write test reports to. Must be relative to the build root.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-report-dir"], + "scoped_cmd_line_args": [ + "--test-report-dir" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--report-dir"], + "unscoped_cmd_line_args": [ + "--report-dir" + ], "value_history": { "ranked_values": [ { @@ -97498,16 +128648,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-timeout-default="], + "display_args": [ + "--test-timeout-default=" + ], "env_var": "PANTS_TEST_TIMEOUT_DEFAULT", "fromfile": false, "help": "The default timeout (in seconds) for a test target if the `timeout` field is not set on the target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-timeout-default"], + "scoped_cmd_line_args": [ + "--test-timeout-default" + ], "target_field_name": null, "typ": "int", - "unscoped_cmd_line_args": ["--timeout-default"], + "unscoped_cmd_line_args": [ + "--timeout-default" + ], "value_history": { "ranked_values": [ { @@ -97526,16 +128682,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-timeout-maximum="], + "display_args": [ + "--test-timeout-maximum=" + ], "env_var": "PANTS_TEST_TIMEOUT_MAXIMUM", "fromfile": false, "help": "The maximum timeout (in seconds) that may be used on a test target.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-timeout-maximum"], + "scoped_cmd_line_args": [ + "--test-timeout-maximum" + ], "target_field_name": null, "typ": "int", - "unscoped_cmd_line_args": ["--timeout-maximum"], + "unscoped_cmd_line_args": [ + "--timeout-maximum" + ], "value_history": { "ranked_values": [ { @@ -97554,16 +128716,22 @@ "default": 128, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-batch-size="], + "display_args": [ + "--test-batch-size=" + ], "env_var": "PANTS_TEST_BATCH_SIZE", "fromfile": false, "help": "The target maximum number of files to be included in each run of batch-enabled test runners.\n\nSome test runners can execute tests from multiple files in a single run. Test implementations will return all tests that _can_ run together as a single group - and then this may be further divided into smaller batches, based on this option. This is done:\n\n 1. to avoid OS argument length limits (in processes which don't support argument files)\n 2. to support more stable cache keys than would be possible if all files were operated on in a single batch\n 3. to allow for parallelism in test runners which don't have internal parallelism, or -- if they do support internal parallelism -- to improve scheduling behavior when multiple processes are competing for cores and so internal parallelism cannot be used perfectly\n\nIn order to improve cache hit rates (see 2.), batches are created at stable boundaries, and so this value is only a \"target\" max batch size (rather than an exact value).\n\nNOTE: This parameter has no effect on test runners/plugins that do not implement support for batched testing.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-batch-size"], + "scoped_cmd_line_args": [ + "--test-batch-size" + ], "target_field_name": null, "typ": "int", - "unscoped_cmd_line_args": ["--batch-size"], + "unscoped_cmd_line_args": [ + "--batch-size" + ], "value_history": { "ranked_values": [ { @@ -97589,16 +128757,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-debug"], + "display_args": [ + "--[no-]test-debug" + ], "env_var": "PANTS_TEST_DEBUG", "fromfile": false, "help": "Run tests sequentially in an interactive process. This is necessary, for example, when you add breakpoints to your code.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-debug", "--no-test-debug"], + "scoped_cmd_line_args": [ + "--test-debug", + "--no-test-debug" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--debug", "--no-debug"], + "unscoped_cmd_line_args": [ + "--debug", + "--no-debug" + ], "value_history": { "ranked_values": [ { @@ -97622,7 +128798,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-debug-adapter"], + "display_args": [ + "--[no-]test-debug-adapter" + ], "env_var": "PANTS_TEST_DEBUG_ADAPTER", "fromfile": false, "help": "Run tests sequentially in an interactive process, using a Debug Adapter (https://microsoft.github.io/debug-adapter-protocol/) for the language if supported.\n\nThe interactive process used will be immediately blocked waiting for a client before continuing.\n\nThis option implies `--debug`.", @@ -97634,7 +128812,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--debug-adapter", "--no-debug-adapter"], + "unscoped_cmd_line_args": [ + "--debug-adapter", + "--no-debug-adapter" + ], "value_history": { "ranked_values": [ { @@ -97658,16 +128839,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-force"], + "display_args": [ + "--[no-]test-force" + ], "env_var": "PANTS_TEST_FORCE", "fromfile": false, "help": "Force the tests to run, even if they could be satisfied from cache.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-force", "--no-test-force"], + "scoped_cmd_line_args": [ + "--test-force", + "--no-test-force" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--force", "--no-force"], + "unscoped_cmd_line_args": [ + "--force", + "--no-force" + ], "value_history": { "ranked_values": [ { @@ -97684,23 +128873,33 @@ } }, { - "choices": ["all", "failed", "none"], + "choices": [ + "all", + "failed", + "none" + ], "comma_separated_choices": "all, failed, none", "comma_separated_display_args": "--test-output=", "config_key": "output", "default": "failed", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-output="], + "display_args": [ + "--test-output=" + ], "env_var": "PANTS_TEST_OUTPUT", "fromfile": false, "help": "Show stdout/stderr for these tests.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-output"], + "scoped_cmd_line_args": [ + "--test-output" + ], "target_field_name": null, "typ": "ShowOutput", - "unscoped_cmd_line_args": ["--output"], + "unscoped_cmd_line_args": [ + "--output" + ], "value_history": { "ranked_values": [ { @@ -97724,7 +128923,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-use-coverage"], + "display_args": [ + "--[no-]test-use-coverage" + ], "env_var": "PANTS_TEST_USE_COVERAGE", "fromfile": false, "help": "Generate a coverage report if the test runner supports it.", @@ -97736,7 +128937,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--use-coverage", "--no-use-coverage"], + "unscoped_cmd_line_args": [ + "--use-coverage", + "--no-use-coverage" + ], "value_history": { "ranked_values": [ { @@ -97760,7 +128964,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-open-coverage"], + "display_args": [ + "--[no-]test-open-coverage" + ], "env_var": "PANTS_TEST_OPEN_COVERAGE", "fromfile": false, "help": "If a coverage report file is generated, open it on the local system if the system supports this.", @@ -97772,7 +128978,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--open-coverage", "--no-open-coverage"], + "unscoped_cmd_line_args": [ + "--open-coverage", + "--no-open-coverage" + ], "value_history": { "ranked_values": [ { @@ -97796,16 +129005,22 @@ "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-shard="], + "display_args": [ + "--test-shard=" + ], "env_var": "PANTS_TEST_SHARD", "fromfile": false, "help": "A shard specification of the form \"k/N\", where N is a positive integer and k is a non-negative integer less than N.\n\nIf set, the request input targets will be deterministically partitioned into N disjoint subsets of roughly equal size, and only the k'th subset will be used, with all others discarded.\n\nUseful for splitting large numbers of test files across multiple machines in CI. For example, you can run three shards with `--shard=0/3`, `--shard=1/3`, `--shard=2/3`.\n\nNote that the shards are roughly equal in size as measured by number of files. No attempt is made to consider the size of different files, the time they have taken to run in the past, or other such sophisticated measures.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-shard"], + "scoped_cmd_line_args": [ + "--test-shard" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--shard"], + "unscoped_cmd_line_args": [ + "--shard" + ], "value_history": { "ranked_values": [ { @@ -97829,16 +129044,24 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]test-timeouts"], + "display_args": [ + "--[no-]test-timeouts" + ], "env_var": "PANTS_TEST_TIMEOUTS", "fromfile": false, "help": "Enable test target timeouts. If timeouts are enabled then test targets with a `timeout=` parameter set on their target will time out after the given number of seconds if not completed. If no timeout is set, then either the default timeout is used or no timeout is configured.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-timeouts", "--no-test-timeouts"], + "scoped_cmd_line_args": [ + "--test-timeouts", + "--no-test-timeouts" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--timeouts", "--no-timeouts"], + "unscoped_cmd_line_args": [ + "--timeouts", + "--no-timeouts" + ], "value_history": { "ranked_values": [ { @@ -97862,16 +129085,22 @@ "default": 1, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-attempts-default="], + "display_args": [ + "--test-attempts-default=" + ], "env_var": "PANTS_TEST_ATTEMPTS_DEFAULT", "fromfile": false, "help": "The number of attempts to run tests, in case of a test failure. Tests that were retried will include the number of attempts in the summary output.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-attempts-default"], + "scoped_cmd_line_args": [ + "--test-attempts-default" + ], "target_field_name": null, "typ": "int", - "unscoped_cmd_line_args": ["--attempts-default"], + "unscoped_cmd_line_args": [ + "--attempts-default" + ], "value_history": { "ranked_values": [ { @@ -97895,16 +129124,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--test-extra-env-vars=\"['', '', ...]\""], + "display_args": [ + "--test-extra-env-vars=\"['', '', ...]\"" + ], "env_var": "PANTS_TEST_EXTRA_ENV_VARS", "fromfile": false, "help": "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--test-extra-env-vars"], + "scoped_cmd_line_args": [ + "--test-extra-env-vars" + ], "target_field_name": "test_extra_env_vars", "typ": "list", - "unscoped_cmd_line_args": ["--extra-env-vars"], + "unscoped_cmd_line_args": [ + "--extra-env-vars" + ], "value_history": { "ranked_values": [ { @@ -97938,16 +129173,24 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]thrift-tailor"], + "display_args": [ + "--[no-]thrift-tailor" + ], "env_var": "PANTS_THRIFT_TAILOR", "fromfile": false, "help": "If true, add `thrift_sources` targets with the `tailor` goal.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--thrift-tailor", "--no-thrift-tailor"], + "scoped_cmd_line_args": [ + "--thrift-tailor", + "--no-thrift-tailor" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--tailor", "--no-tailor"], + "unscoped_cmd_line_args": [ + "--tailor", + "--no-tailor" + ], "value_history": { "ranked_values": [ { @@ -97973,7 +129216,9 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]thrift-dependency-inference"], + "display_args": [ + "--[no-]thrift-dependency-inference" + ], "env_var": "PANTS_THRIFT_DEPENDENCY_INFERENCE", "fromfile": false, "help": "Infer Thrift dependencies on other Thrift files by analyzing import statements.", @@ -98022,16 +129267,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-install-from-resolve="], + "display_args": [ + "--twine-install-from-resolve=" + ], "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--twine-install-from-resolve"], + "scoped_cmd_line_args": [ + "--twine-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -98050,16 +129301,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-requirements=\"['', '', ...]\""], + "display_args": [ + "--twine-requirements=\"['', '', ...]\"" + ], "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-requirements"], + "scoped_cmd_line_args": [ + "--twine-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -98080,7 +129337,9 @@ "comma_separated_choices": null, "comma_separated_display_args": "--twine-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -98091,10 +129350,14 @@ "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--twine-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -98105,7 +129368,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -98118,16 +129383,22 @@ "default": "twine", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-console-script="], + "display_args": [ + "--twine-console-script=" + ], "env_var": "PANTS_TWINE_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-console-script"], + "scoped_cmd_line_args": [ + "--twine-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -98151,16 +129422,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-entry-point="], + "display_args": [ + "--twine-entry-point=" + ], "env_var": "PANTS_TWINE_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-entry-point"], + "scoped_cmd_line_args": [ + "--twine-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -98179,16 +129456,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-config="], + "display_args": [ + "--twine-config=" + ], "env_var": "PANTS_TWINE_CONFIG", "fromfile": false, "help": "Path to a .pypirc config file to use. (https://packaging.python.org/specifications/pypirc/)\n\nSetting this option will disable `[twine].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-config"], + "scoped_cmd_line_args": [ + "--twine-config" + ], "target_field_name": null, "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -98207,7 +129490,9 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]twine-config-discovery"], + "display_args": [ + "--[no-]twine-config-discovery" + ], "env_var": "PANTS_TWINE_CONFIG_DISCOVERY", "fromfile": false, "help": "If true, Pants will include all relevant config files during runs (`.pypirc`).\n\nUse `[twine].config` instead if your config is in a non-standard location.", @@ -98246,16 +129531,22 @@ "default": "", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-ca-certs-path="], + "display_args": [ + "--twine-ca-certs-path=" + ], "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/v2.19/docs/options.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-ca-certs-path"], + "scoped_cmd_line_args": [ + "--twine-ca-certs-path" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--ca-certs-path"], + "unscoped_cmd_line_args": [ + "--ca-certs-path" + ], "value_history": { "ranked_values": [ { @@ -98281,16 +129572,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]twine-skip"], + "display_args": [ + "--[no-]twine-skip" + ], "env_var": "PANTS_TWINE_SKIP", "fromfile": false, "help": "If true, don't use Twine when running `pants publish`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-skip", "--no-twine-skip"], + "scoped_cmd_line_args": [ + "--twine-skip", + "--no-twine-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -98314,16 +129613,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--twine-args=\"[, , ...]\""], + "display_args": [ + "--twine-args=\"[, , ...]\"" + ], "env_var": "PANTS_TWINE_ARGS", "fromfile": false, "help": "Arguments to pass directly to Twine, e.g. `--twine-args='--skip-existing'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--twine-args"], + "scoped_cmd_line_args": [ + "--twine-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -98358,7 +129663,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]update-build-files-check"], + "display_args": [ + "--[no-]update-build-files-check" + ], "env_var": "PANTS_UPDATE_BUILD_FILES_CHECK", "fromfile": false, "help": "Do not write changes to disk, only write back what would change. Return code 0 means there would be no changes, and 1 means that there would be.", @@ -98370,7 +129677,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--check", "--no-check"], + "unscoped_cmd_line_args": [ + "--check", + "--no-check" + ], "value_history": { "ranked_values": [ { @@ -98394,7 +129704,9 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]update-build-files-fmt"], + "display_args": [ + "--[no-]update-build-files-fmt" + ], "env_var": "PANTS_UPDATE_BUILD_FILES_FMT", "fromfile": false, "help": "Format BUILD files using Black or Yapf.\n\nSet `[black].args` / `[yapf].args`, `[black].config` / `[yapf].config` , and `[black].config_discovery` / `[yapf].config_discovery` to change Black's or Yapf's behavior. Set `[black].interpreter_constraints` / `[yapf].interpreter_constraints` and `[python].interpreter_search_path` to change which interpreter is used to run the formatter.", @@ -98406,7 +129718,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--fmt", "--no-fmt"], + "unscoped_cmd_line_args": [ + "--fmt", + "--no-fmt" + ], "value_history": { "ranked_values": [ { @@ -98423,23 +129738,32 @@ } }, { - "choices": ["yapf", "black"], + "choices": [ + "yapf", + "black" + ], "comma_separated_choices": "yapf, black", "comma_separated_display_args": "--update-build-files-formatter=", "config_key": "formatter", "default": "black", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--update-build-files-formatter="], + "display_args": [ + "--update-build-files-formatter=" + ], "env_var": "PANTS_UPDATE_BUILD_FILES_FORMATTER", "fromfile": false, "help": "Which formatter Pants should use to format BUILD files.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--update-build-files-formatter"], + "scoped_cmd_line_args": [ + "--update-build-files-formatter" + ], "target_field_name": null, "typ": "Formatter", - "unscoped_cmd_line_args": ["--formatter"], + "unscoped_cmd_line_args": [ + "--formatter" + ], "value_history": { "ranked_values": [ { @@ -98463,7 +129787,9 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]update-build-files-fix-safe-deprecations"], + "display_args": [ + "--[no-]update-build-files-fix-safe-deprecations" + ], "env_var": "PANTS_UPDATE_BUILD_FILES_FIX_SAFE_DEPRECATIONS", "fromfile": false, "help": "Automatically fix deprecations, such as target type renames, that are safe because they do not change semantics.", @@ -98512,6 +129838,99 @@ "provider": "pants.goal", "scope": "version" }, + "visibility": { + "advanced": [], + "basic": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]visibility-skip", + "config_key": "skip", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]visibility-skip" + ], + "env_var": "PANTS_VISIBILITY_SKIP", + "fromfile": false, + "help": "If true, don't use Visibility Rules when running `pants lint`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--visibility-skip", + "--no-visibility-skip" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]visibility-enforce", + "config_key": "enforce", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]visibility-enforce" + ], + "env_var": "PANTS_VISIBILITY_ENFORCE", + "fromfile": false, + "help": "Visibility rules are enforced whenever dependencies are calculated unless `enforce` is set to false.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--visibility-enforce", + "--no-visibility-enforce" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--enforce", + "--no-enforce" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "Options for the visibility rules implementation of the dependency rules API.", + "is_goal": false, + "provider": "pants.backend.experimental.visibility", + "scope": "visibility" + }, "workunit-logger": { "advanced": [], "basic": [ @@ -98523,7 +129942,9 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]workunit-logger-enabled"], + "display_args": [ + "--[no-]workunit-logger-enabled" + ], "env_var": "PANTS_WORKUNIT_LOGGER_ENABLED", "fromfile": false, "help": "Whether to enable workunit logging.", @@ -98535,7 +129956,10 @@ ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--enabled", "--no-enabled"], + "unscoped_cmd_line_args": [ + "--enabled", + "--no-enabled" + ], "value_history": { "ranked_values": [ { @@ -98559,16 +129983,22 @@ "default": ".pants.d", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--workunit-logger-logdir="], + "display_args": [ + "--workunit-logger-logdir=" + ], "env_var": "PANTS_WORKUNIT_LOGGER_LOGDIR", "fromfile": false, "help": "Where to write the log to.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--workunit-logger-logdir"], + "scoped_cmd_line_args": [ + "--workunit-logger-logdir" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--logdir"], + "unscoped_cmd_line_args": [ + "--logdir" + ], "value_history": { "ranked_values": [ { @@ -98602,16 +130032,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-install-from-resolve="], + "display_args": [ + "--yamllint-install-from-resolve=" + ], "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--yamllint-install-from-resolve"], + "scoped_cmd_line_args": [ + "--yamllint-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -98638,10 +130074,14 @@ "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-requirements"], + "scoped_cmd_line_args": [ + "--yamllint-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -98662,7 +130102,9 @@ "comma_separated_choices": null, "comma_separated_display_args": "--yamllint-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -98673,10 +130115,14 @@ "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--yamllint-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -98687,7 +130133,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -98700,16 +130148,22 @@ "default": "yamllint", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-console-script="], + "display_args": [ + "--yamllint-console-script=" + ], "env_var": "PANTS_YAMLLINT_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-console-script"], + "scoped_cmd_line_args": [ + "--yamllint-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -98733,16 +130187,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-entry-point="], + "display_args": [ + "--yamllint-entry-point=" + ], "env_var": "PANTS_YAMLLINT_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-entry-point"], + "scoped_cmd_line_args": [ + "--yamllint-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -98761,16 +130221,22 @@ "default": ".yamllint", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-config-file-name="], + "display_args": [ + "--yamllint-config-file-name=" + ], "env_var": "PANTS_YAMLLINT_CONFIG_FILE_NAME", "fromfile": false, "help": "Name of a config file understood by yamllint (https://yamllint.readthedocs.io/en/stable/configuration.html). The plugin will search the ancestors of each directory in which YAML files are found for a config file of this name.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-config-file-name"], + "scoped_cmd_line_args": [ + "--yamllint-config-file-name" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--config-file-name"], + "unscoped_cmd_line_args": [ + "--config-file-name" + ], "value_history": { "ranked_values": [ { @@ -98793,19 +130259,28 @@ "comma_separated_choices": null, "comma_separated_display_args": "--yamllint-include=\"['', '', ...]\"", "config_key": "include", - "default": ["**/*.yml", "**/*.yaml"], + "default": [ + "**/*.yml", + "**/*.yaml" + ], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-include=\"['', '', ...]\""], + "display_args": [ + "--yamllint-include=\"['', '', ...]\"" + ], "env_var": "PANTS_YAMLLINT_INCLUDE", "fromfile": false, "help": "Glob for which YAML files to lint.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-include"], + "scoped_cmd_line_args": [ + "--yamllint-include" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--include"], + "unscoped_cmd_line_args": [ + "--include" + ], "value_history": { "ranked_values": [ { @@ -98816,7 +130291,10 @@ { "details": "", "rank": "HARDCODED", - "value": ["**/*.yml", "**/*.yaml"] + "value": [ + "**/*.yml", + "**/*.yaml" + ] } ] } @@ -98829,16 +130307,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yamllint-exclude=\"['', '', ...]\""], + "display_args": [ + "--yamllint-exclude=\"['', '', ...]\"" + ], "env_var": "PANTS_YAMLLINT_EXCLUDE", "fromfile": false, "help": "Glob for which YAML files to exclude from linting.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-exclude"], + "scoped_cmd_line_args": [ + "--yamllint-exclude" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--exclude"], + "unscoped_cmd_line_args": [ + "--exclude" + ], "value_history": { "ranked_values": [ { @@ -98870,10 +130354,14 @@ "help": "Arguments to pass directly to Yamllint, e.g. `--yamllint-args='-d relaxed'`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-args"], + "scoped_cmd_line_args": [ + "--yamllint-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { @@ -98897,16 +130385,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]yamllint-skip"], + "display_args": [ + "--[no-]yamllint-skip" + ], "env_var": "PANTS_YAMLLINT_SKIP", "fromfile": false, "help": "If true, don't use Yamllint when running `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yamllint-skip", "--no-yamllint-skip"], + "scoped_cmd_line_args": [ + "--yamllint-skip", + "--no-yamllint-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -98940,16 +130436,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-install-from-resolve="], + "display_args": [ + "--yapf-install-from-resolve=" + ], "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/v2.19/docs/python-third-party-dependencies#user-lockfiles.\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.\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": ["--yapf-install-from-resolve"], + "scoped_cmd_line_args": [ + "--yapf-install-from-resolve" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--install-from-resolve"], + "unscoped_cmd_line_args": [ + "--install-from-resolve" + ], "value_history": { "ranked_values": [ { @@ -98968,16 +130470,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-requirements=\"['', '', ...]\""], + "display_args": [ + "--yapf-requirements=\"['', '', ...]\"" + ], "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.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-requirements"], + "scoped_cmd_line_args": [ + "--yapf-requirements" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--requirements"], + "unscoped_cmd_line_args": [ + "--requirements" + ], "value_history": { "ranked_values": [ { @@ -98998,7 +130506,9 @@ "comma_separated_choices": null, "comma_separated_display_args": "--yapf-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", - "default": ["CPython>=3.7,<4"], + "default": [ + "CPython>=3.7,<4" + ], "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -99009,10 +130519,14 @@ "help": "Python interpreter constraints for this tool.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-interpreter-constraints"], + "scoped_cmd_line_args": [ + "--yapf-interpreter-constraints" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--interpreter-constraints"], + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], "value_history": { "ranked_values": [ { @@ -99023,7 +130537,9 @@ { "details": "", "rank": "HARDCODED", - "value": ["CPython>=3.7,<4"] + "value": [ + "CPython>=3.7,<4" + ] } ] } @@ -99036,16 +130552,22 @@ "default": "yapf", "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-console-script="], + "display_args": [ + "--yapf-console-script=" + ], "env_var": "PANTS_YAPF_CONSOLE_SCRIPT", "fromfile": false, "help": "The console script for the tool. Using this option is generally preferable to (and mutually exclusive with) specifying an `--entry-point` since console script names have a higher expectation of staying stable across releases of the tool. Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-console-script"], + "scoped_cmd_line_args": [ + "--yapf-console-script" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--console-script"], + "unscoped_cmd_line_args": [ + "--console-script" + ], "value_history": { "ranked_values": [ { @@ -99069,16 +130591,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-entry-point="], + "display_args": [ + "--yapf-entry-point=" + ], "env_var": "PANTS_YAPF_ENTRY_POINT", "fromfile": false, "help": "The entry point for the tool. Generally you only want to use this option if the tool does not offer a `--console-script` (which this option is mutually exclusive with). Usually, you will not want to change this from the default.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-entry-point"], + "scoped_cmd_line_args": [ + "--yapf-entry-point" + ], "target_field_name": null, "typ": "str", - "unscoped_cmd_line_args": ["--entry-point"], + "unscoped_cmd_line_args": [ + "--entry-point" + ], "value_history": { "ranked_values": [ { @@ -99097,16 +130625,22 @@ "default": null, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-config="], + "display_args": [ + "--yapf-config=" + ], "env_var": "PANTS_YAPF_CONFIG", "fromfile": false, "help": "Path to style file understood by yapf (https://github.com/google/yapf#formatting-style/).\n\nSetting this option will disable `[yapf].config_discovery`. Use this option if the config is located in a non-standard location.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-config"], + "scoped_cmd_line_args": [ + "--yapf-config" + ], "target_field_name": null, "typ": "file_option", - "unscoped_cmd_line_args": ["--config"], + "unscoped_cmd_line_args": [ + "--config" + ], "value_history": { "ranked_values": [ { @@ -99125,7 +130659,9 @@ "default": true, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]yapf-config-discovery"], + "display_args": [ + "--[no-]yapf-config-discovery" + ], "env_var": "PANTS_YAPF_CONFIG_DISCOVERY", "fromfile": false, "help": "If true, Pants will include any relevant config files during runs (`.style.yapf`, `pyproject.toml`, and `setup.cfg`).\n\nUse `[yapf].config` instead if your config is in a non-standard location.", @@ -99166,16 +130702,24 @@ "default": false, "deprecated_message": null, "deprecation_active": false, - "display_args": ["--[no-]yapf-skip"], + "display_args": [ + "--[no-]yapf-skip" + ], "env_var": "PANTS_YAPF_SKIP", "fromfile": false, "help": "If true, don't use yapf when running `pants fmt` and `pants lint`.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-skip", "--no-yapf-skip"], + "scoped_cmd_line_args": [ + "--yapf-skip", + "--no-yapf-skip" + ], "target_field_name": null, "typ": "bool", - "unscoped_cmd_line_args": ["--skip", "--no-skip"], + "unscoped_cmd_line_args": [ + "--skip", + "--no-skip" + ], "value_history": { "ranked_values": [ { @@ -99199,16 +130743,22 @@ "default": [], "deprecated_message": null, "deprecation_active": false, - "display_args": ["--yapf-args=\"[, , ...]\""], + "display_args": [ + "--yapf-args=\"[, , ...]\"" + ], "env_var": "PANTS_YAPF_ARGS", "fromfile": false, "help": "Arguments to pass directly to yapf, e.g. `--yapf-args='--no-local-style'`.\n\nCertain arguments, specifically `--recursive`, `--in-place`, and `--parallel`, will be ignored because Pants takes care of finding all the relevant files and running the formatting in parallel.", "removal_hint": null, "removal_version": null, - "scoped_cmd_line_args": ["--yapf-args"], + "scoped_cmd_line_args": [ + "--yapf-args" + ], "target_field_name": null, "typ": "list", - "unscoped_cmd_line_args": ["--args"], + "unscoped_cmd_line_args": [ + "--args" + ], "value_history": { "ranked_values": [ { diff --git a/versioned_docs/version-2.19/reference/subsystems/avro.mdx b/versioned_docs/version-2.19/reference/subsystems/avro.mdx new file mode 100644 index 000000000..80b88bab5 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/avro.mdx @@ -0,0 +1,48 @@ +--- +title: avro +description: | + General Avro codegen settings. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +General Avro codegen settings. + +Backend: `pants.backend.experimental.codegen.avro.java` + +Config section: `[avro]` + + + +## Basic options + +None + +## Advanced options + +### `tailor` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/cc-external.mdx b/versioned_docs/version-2.19/reference/subsystems/cc-external.mdx new file mode 100644 index 000000000..19a50001a --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/cc-external.mdx @@ -0,0 +1,252 @@ +--- +title: cc-external +description: | + Options for downloaded `cc` toolchain. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Options for downloaded `cc` toolchain. + +Backend: `pants.backend.experimental.cc` + +Config section: `[cc-external]` + + + +## Basic options + +### `include_directories` + + + +### `c_compiler_flags` + + + +### `c_definitions` + + + +### `cxx_compiler_flags` + + + +### `cxx_definitions` + + + +### `c_executable` + + + +### `cxx_executable` + + + +## Advanced options + +### `version` + + + +### `known_versions` + + + +### `url_template` + + + +### `url_platform_mapping` + + + +### `use_unsupported_version` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/cc-infer.mdx b/versioned_docs/version-2.19/reference/subsystems/cc-infer.mdx new file mode 100644 index 000000000..e63c88300 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/cc-infer.mdx @@ -0,0 +1,66 @@ +--- +title: cc-infer +description: | + Options controlling which dependencies will be inferred for CC targets. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Options controlling which dependencies will be inferred for CC targets. + +Backend: `pants.backend.experimental.cc` + +Config section: `[cc-infer]` + + + +## Basic options + +### `includes` + + + +### `include_from_source_roots` + + + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/cc.mdx b/versioned_docs/version-2.19/reference/subsystems/cc.mdx new file mode 100644 index 000000000..86bd52322 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/cc.mdx @@ -0,0 +1,184 @@ +--- +title: cc +description: | + Options for a system-discovered `cc` toolchain. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Options for a system-discovered `cc` toolchain. + +Backend: `pants.backend.experimental.cc` + +Config section: `[cc]` + + + +## Basic options + +### `include_directories` + + + +### `c_compiler_flags` + + + +### `c_definitions` + + + +### `cxx_compiler_flags` + + + +### `cxx_definitions` + + + +### `c_executable` + + + +### `cxx_executable` + + + +### `search_paths` + + + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/clang-format.mdx b/versioned_docs/version-2.19/reference/subsystems/clang-format.mdx new file mode 100644 index 000000000..4df31f483 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/clang-format.mdx @@ -0,0 +1,156 @@ +--- +title: clang-format +description: | + The clang-format utility for formatting C/C++ (and others) code (https://clang.llvm.org/docs/ClangFormat.html). The clang-format binaries are retrieved from PyPi (https://pypi.org/project/clang-format/). +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +The clang-format utility for formatting C/C++ (and others) code (https://clang.llvm.org/docs/ClangFormat.html). The clang-format binaries are retrieved from PyPi (https://pypi.org/project/clang-format/). + +Backend: `pants.backend.experimental.cc.lint.clangformat` + +Config section: `[clang-format]` + + + +## Basic options + +### `skip` + + + +### `args` + + + +## Advanced options + +### `install_from_resolve` + + + +### `requirements` + + + +### `interpreter_constraints` + + + +### `console_script` + + + +### `entry_point` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/cue.mdx b/versioned_docs/version-2.19/reference/subsystems/cue.mdx new file mode 100644 index 000000000..0dcf5b4ba --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/cue.mdx @@ -0,0 +1,168 @@ +--- +title: cue +description: | + CUE is an open-source data validation language and inference engine with its roots in logic programming. Although the language is not a general-purpose programming language, it has many applications, such as data validation, data templating, configuration, querying, code generation and even scripting. The inference engine can be used to validate data in code or to include it as part of a code generation pipeline. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +CUE is an open-source data validation language and inference engine with its roots in logic programming. Although the language is not a general-purpose programming language, it has many applications, such as data validation, data templating, configuration, querying, code generation and even scripting. The inference engine can be used to validate data in code or to include it as part of a code generation pipeline. + +Homepage: https://cuelang.org/ + +Backend: `pants.backend.experimental.cue` + +Config section: `[cue]` + + + +## Basic options + +### `skip` + + + +### `args` + + + +## Advanced options + +### `version` + + + +### `known_versions` + + + +### `url_template` + + + +### `url_platform_mapping` + + + +### `use_unsupported_version` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/environments-preview.mdx b/versioned_docs/version-2.19/reference/subsystems/environments-preview.mdx index 8231798c1..d1e4d88f7 100644 --- a/versioned_docs/version-2.19/reference/subsystems/environments-preview.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/environments-preview.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A highly experimental subsystem to allow setting environment variables and executable search paths for different environments, e.g. macOS vs. Linux. -Backend: `` +Backend: `pants.backend.experimental.javascript` Config section: `[environments-preview]` diff --git a/versioned_docs/version-2.19/reference/subsystems/go-vet.mdx b/versioned_docs/version-2.19/reference/subsystems/go-vet.mdx new file mode 100644 index 000000000..6f9e9dee0 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/go-vet.mdx @@ -0,0 +1,48 @@ +--- +title: go-vet +description: | + `go vet`-specific options. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +`go vet`-specific options. + +Backend: `pants.backend.experimental.go.lint.vet` + +Config section: `[go-vet]` + + + +## Basic options + +### `skip` + + + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/golangci-lint.mdx b/versioned_docs/version-2.19/reference/subsystems/golangci-lint.mdx new file mode 100644 index 000000000..df968b3cb --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/golangci-lint.mdx @@ -0,0 +1,198 @@ +--- +title: golangci-lint +description: | + A fast Go linters runner +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A fast Go linters runner + +Backend: `pants.backend.experimental.go.lint.golangci_lint` + +Config section: `[golangci-lint]` + + + +## Basic options + +### `skip` + + + +### `args` + + + +## Advanced options + +### `version` + + + +### `known_versions` + + + +### `url_template` + + + +### `url_platform_mapping` + + + +### `use_unsupported_version` + + + +### `config` + + + +### `config_discovery` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/google-java-format.mdx b/versioned_docs/version-2.19/reference/subsystems/google-java-format.mdx index b8de96f17..3816419a9 100644 --- a/versioned_docs/version-2.19/reference/subsystems/google-java-format.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/google-java-format.mdx @@ -93,7 +93,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.19.0rc1/src/python/pants/backend/java/lint/google_java_format/google_java_format.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.19.0rc5/src/python/pants/backend/java/lint/google_java_format/google_java_format.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=google-java-format`. diff --git a/versioned_docs/version-2.19/reference/subsystems/jarjar.mdx b/versioned_docs/version-2.19/reference/subsystems/jarjar.mdx index 7491ec7f5..1460ba16c 100644 --- a/versioned_docs/version-2.19/reference/subsystems/jarjar.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/jarjar.mdx @@ -94,7 +94,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.19.0rc1/src/python/pants/jvm/shading/jarjar.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.19.0rc5/src/python/pants/jvm/shading/jarjar.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=jarjar`. diff --git a/versioned_docs/version-2.19/reference/subsystems/java-avro.mdx b/versioned_docs/version-2.19/reference/subsystems/java-avro.mdx new file mode 100644 index 000000000..573892b51 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/java-avro.mdx @@ -0,0 +1,104 @@ +--- +title: java-avro +description: | + Avro IDL compiler (https://avro.apache.org/). +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Avro IDL compiler (https://avro.apache.org/). + +Backend: `pants.backend.experimental.codegen.avro.java` + +Config section: `[java-avro]` + + + +## Basic options + +None + +## Advanced options + +### `version` + + + +### `artifacts` + + + +### `lockfile` + + + +### `jvm_options` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/java-thrift.mdx b/versioned_docs/version-2.19/reference/subsystems/java-thrift.mdx new file mode 100644 index 000000000..77381e4b1 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/java-thrift.mdx @@ -0,0 +1,52 @@ +--- +title: java-thrift +description: | + Options specific to generating Java from Thrift using the Apache Thrift generator +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Options specific to generating Java from Thrift using the Apache Thrift generator + +Backend: `pants.backend.experimental.codegen.thrift.apache.java` + +Config section: `[java-thrift]` + + + +## Basic options + +### `options` + + + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/junit.mdx b/versioned_docs/version-2.19/reference/subsystems/junit.mdx index 381a85fbc..d4f86847e 100644 --- a/versioned_docs/version-2.19/reference/subsystems/junit.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/junit.mdx @@ -97,7 +97,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.19.0rc1/src/python/pants/jvm/test/junit.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.19.0rc5/src/python/pants/jvm/test/junit.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=junit`. diff --git a/versioned_docs/version-2.19/reference/subsystems/ktlint.mdx b/versioned_docs/version-2.19/reference/subsystems/ktlint.mdx index 50c5eadfa..60ce86c11 100644 --- a/versioned_docs/version-2.19/reference/subsystems/ktlint.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/ktlint.mdx @@ -79,7 +79,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.19.0rc1/src/python/pants/backend/kotlin/lint/ktlint/ktlint.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.19.0rc5/src/python/pants/backend/kotlin/lint/ktlint/ktlint.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=ktlint`. diff --git a/versioned_docs/version-2.19/reference/subsystems/kubeconform.mdx b/versioned_docs/version-2.19/reference/subsystems/kubeconform.mdx new file mode 100644 index 000000000..999ffc292 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/kubeconform.mdx @@ -0,0 +1,223 @@ +--- +title: kubeconform +description: | + Kubeconform tool (https://github.com/yannh/kubeconform) +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Kubeconform tool (https://github.com/yannh/kubeconform) + +Backend: `pants.backend.experimental.helm.check.kubeconform` + +Config section: `[kubeconform]` + + + +## Basic options + +### `skip` + + + +### `output_type` + + + +### `summary` + + + +### `verbose` + + + +## Advanced options + +### `version` + + + +### `known_versions` + + + +### `url_template` + + + +### `url_platform_mapping` + + + +### `use_unsupported_version` + + + +### `concurrency` + + + +### `schema_locations` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/nodejs-infer.mdx b/versioned_docs/version-2.19/reference/subsystems/nodejs-infer.mdx index 2c3454f99..637d71f59 100644 --- a/versioned_docs/version-2.19/reference/subsystems/nodejs-infer.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/nodejs-infer.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; Options controlling which dependencies will be inferred for javascript targets. -Backend: `pants.backend.experimental.openapi.lint.spectral` +Backend: `pants.backend.experimental.javascript` Config section: `[nodejs-infer]` diff --git a/versioned_docs/version-2.19/reference/subsystems/nodejs-test.mdx b/versioned_docs/version-2.19/reference/subsystems/nodejs-test.mdx new file mode 100644 index 000000000..7822021ee --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/nodejs-test.mdx @@ -0,0 +1,99 @@ +--- +title: nodejs-test +description: | + Options for package.json script configured tests. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Options for package.json script configured tests. + +Your preferred test runner is configured via the `package.json#scripts.test` field. + +The only expectation from pants is that the `test` script can accept a variadic number of path arguments, relative to the package.json, and that any configuration files are `file` dependencies to the `package_json`. + +Simple example: + +Consider a directory-layout: + +├── BUILD +├── src/ +│ ├── BUILD +│ ├── test/ +│ │ ├── BUILD +│ │ └── index.test.js +│ └── index.js +└── package.json + +where package.json contains + +# package.json + +{ +... +"scripts": { +"test": "mocha" +}, +"devDependencies: { +... +} +} + +Executing `pants test src/test/index.test.js` will cause the equivalent of `mocha src/test/index.test.js` to run. + +Backend: `pants.backend.experimental.javascript` + +Config section: `[nodejs-test]` + + + +## Basic options + +### `skip` + + + +## Advanced options + +### `coverage_output_dir` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/nodejs.mdx b/versioned_docs/version-2.19/reference/subsystems/nodejs.mdx index a942ac47d..ef4ebda1b 100644 --- a/versioned_docs/version-2.19/reference/subsystems/nodejs.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/nodejs.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; The Node.js Javascript runtime (including Corepack). -Backend: `pants.backend.experimental.openapi.lint.spectral` +Backend: `pants.backend.experimental.javascript` Config section: `[nodejs]` diff --git a/versioned_docs/version-2.19/reference/subsystems/openapi-generator.mdx b/versioned_docs/version-2.19/reference/subsystems/openapi-generator.mdx new file mode 100644 index 000000000..e10dabc09 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/openapi-generator.mdx @@ -0,0 +1,104 @@ +--- +title: openapi-generator +description: | + The OpenAPI Code generator (https://openapi-generator.tech) +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +The OpenAPI Code generator (https://openapi-generator.tech) + +Backend: `pants.backend.experimental.openapi.codegen.java` + +Config section: `[openapi-generator]` + + + +## Basic options + +None + +## Advanced options + +### `version` + + + +### `artifacts` + + + +### `lockfile` + + + +### `jvm_options` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/prettier.mdx b/versioned_docs/version-2.19/reference/subsystems/prettier.mdx new file mode 100644 index 000000000..fcda3d5f2 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/prettier.mdx @@ -0,0 +1,94 @@ +--- +title: prettier +description: | + The Prettier utility for formatting JS/TS (and others) code (https://prettier.io/). +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +The Prettier utility for formatting JS/TS (and others) code (https://prettier.io/). + +Backend: `pants.backend.experimental.javascript.lint.prettier` + +Config section: `[prettier]` + + + +## Basic options + +### `skip` + + + +### `args` + + + +## Advanced options + +### `version` + + + +### `install_from_resolve` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/protobuf-java-grpc.mdx b/versioned_docs/version-2.19/reference/subsystems/protobuf-java-grpc.mdx index 1720fba25..49b0e8a30 100644 --- a/versioned_docs/version-2.19/reference/subsystems/protobuf-java-grpc.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/protobuf-java-grpc.mdx @@ -67,7 +67,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.19.0rc1/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.19.0rc5/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/versioned_docs/version-2.19/reference/subsystems/pydocstyle.mdx b/versioned_docs/version-2.19/reference/subsystems/pydocstyle.mdx index 1ebef6e92..b1856e0ea 100644 --- a/versioned_docs/version-2.19/reference/subsystems/pydocstyle.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/pydocstyle.mdx @@ -171,7 +171,7 @@ config_discovery = `} If true, Pants will include any relevant config files during runs (`setup.cfg`, `tox.ini`, `.pydocstyle`, `.pydocstyle.ini`, `.pydocstylerc`, `.pydocstylerc.ini`, and `pyproject.toml`) searching for the configuration file in this particular order. -Please note that even though `pydocstyle` keeps looking for a configuration file up the directory tree until one is found, Pants will only search for the config files in the repository root (from where you would normally run the `` command). +Please note that even though `pydocstyle` keeps looking for a configuration file up the directory tree until one is found, Pants will only search for the config files in the repository root (from where you would normally run the `` command). Use `[pydocstyle].config` instead if your config is in a non-standard location. diff --git a/versioned_docs/version-2.19/reference/subsystems/pyenv-python-provider.mdx b/versioned_docs/version-2.19/reference/subsystems/pyenv-python-provider.mdx new file mode 100644 index 000000000..bd84d2238 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/pyenv-python-provider.mdx @@ -0,0 +1,169 @@ +--- +title: pyenv-python-provider +description: | + A subsystem for Pants-provided Python leveraging pyenv (https://github.com/pyenv/pyenv). +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A subsystem for Pants-provided Python leveraging pyenv (https://github.com/pyenv/pyenv). + +Enabling this subsystem will switch Pants from trying to find an appropriate Python on your system to using pyenv to install the correct Python(s). + +The Pythons provided by Pyenv will be used to run any "user" code (your Python code as well as any Python-based tools you use, like black or pylint). The Pythons are also read-only to ensure they remain hermetic across runs of different tools and code. + +The Pythons themselves are stored in your `named_caches_dir`: https://www.pantsbuild.org/docs/reference-global#named_caches_dir under `pyenv/versions/`. Wiping the relevant version directory (with `sudo rm -rf`) will force a re-install of Python. This may be necessary after changing something about the underlying system which changes the compiled Python, such as installing an optional-at-build-time dependency like `liblzma-dev` (which is used for the optional module `lzma`). + +By default, the subsystem does not pass any optimization flags to the Python compilation process. Doing so would increase the time it takes to install a single Python by about an order of magnitude (E.g. ~2.5 minutes to ~26 minutes). + +Backend: `pants.backend.python.providers.experimental.pyenv` + +Config section: `[pyenv-python-provider]` + + + +## Basic options + +### `installation_extra_env_vars` + + + +## Advanced options + +### `version` + + + +### `known_versions` + + + +### `url_template` + + + +### `url_platform_mapping` + + + +### `use_unsupported_version` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/pyright.mdx b/versioned_docs/version-2.19/reference/subsystems/pyright.mdx new file mode 100644 index 000000000..00c1feb43 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/pyright.mdx @@ -0,0 +1,112 @@ +--- +title: pyright +description: | + The Pyright utility for typechecking Python code (https://github.com/microsoft/pyright). +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +The Pyright utility for typechecking Python code (https://github.com/microsoft/pyright). + +Backend: `pants.backend.experimental.python.typecheck.pyright` + +Config section: `[pyright]` + + + +## Basic options + +### `skip` + + + +### `args` + + + +## Advanced options + +### `version` + + + +### `install_from_resolve` + + + +### `interpreter_constraints` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/rust.mdx b/versioned_docs/version-2.19/reference/subsystems/rust.mdx new file mode 100644 index 000000000..358f7f9eb --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/rust.mdx @@ -0,0 +1,68 @@ +--- +title: rust +description: | + Options for Rust support. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Options for Rust support. + +Backend: `pants.backend.experimental.rust` + +Config section: `[rust]` + + + +## Basic options + +### `toolchain` + + + +### `rustup_search_paths` + + + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/rustfmt.mdx b/versioned_docs/version-2.19/reference/subsystems/rustfmt.mdx new file mode 100644 index 000000000..481b6aa75 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/rustfmt.mdx @@ -0,0 +1,48 @@ +--- +title: rustfmt +description: | + Rustfmt-specific options. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Rustfmt-specific options. + +Backend: `pants.backend.experimental.rust` + +Config section: `[rustfmt]` + + + +## Basic options + +### `skip` + + + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/scalafmt.mdx b/versioned_docs/version-2.19/reference/subsystems/scalafmt.mdx index cd8edf912..8e2f35b84 100644 --- a/versioned_docs/version-2.19/reference/subsystems/scalafmt.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/scalafmt.mdx @@ -79,7 +79,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.19.0rc1/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.19.0rc5/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/versioned_docs/version-2.19/reference/subsystems/scalapb.mdx b/versioned_docs/version-2.19/reference/subsystems/scalapb.mdx index 5d2c92b5c..7028c2dbd 100644 --- a/versioned_docs/version-2.19/reference/subsystems/scalapb.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/scalapb.mdx @@ -85,7 +85,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.19.0rc1/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.19.0rc5/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/versioned_docs/version-2.19/reference/subsystems/scalatest.mdx b/versioned_docs/version-2.19/reference/subsystems/scalatest.mdx index 9476aa8c3..d97b370d7 100644 --- a/versioned_docs/version-2.19/reference/subsystems/scalatest.mdx +++ b/versioned_docs/version-2.19/reference/subsystems/scalatest.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.19.0rc1/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.19.0rc5/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/versioned_docs/version-2.19/reference/subsystems/scrooge.mdx b/versioned_docs/version-2.19/reference/subsystems/scrooge.mdx new file mode 100644 index 000000000..8c380a1d0 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/scrooge.mdx @@ -0,0 +1,104 @@ +--- +title: scrooge +description: | + The Scrooge Thrift IDL compiler (https://twitter.github.io/scrooge/). +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +The Scrooge Thrift IDL compiler (https://twitter.github.io/scrooge/). + +Backend: `pants.backend.experimental.codegen.thrift.scrooge.java` + +Config section: `[scrooge]` + + + +## Basic options + +None + +## Advanced options + +### `version` + + + +### `artifacts` + + + +### `lockfile` + + + +### `jvm_options` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/taplo.mdx b/versioned_docs/version-2.19/reference/subsystems/taplo.mdx new file mode 100644 index 000000000..eca8cd8d9 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/taplo.mdx @@ -0,0 +1,206 @@ +--- +title: taplo +description: | + An autoformatter for TOML files (https://taplo.tamasfe.dev/) +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +An autoformatter for TOML files (https://taplo.tamasfe.dev/) + +Backend: `pants.backend.tools.taplo` + +Config section: `[taplo]` + + + +## Basic options + +### `skip` + + + +### `args` + + + +## Advanced options + +### `version` + + + +### `known_versions` + + + +### `url_template` + + + +### `url_platform_mapping` + + + +### `use_unsupported_version` + + + +### `config_discovery` + + + +### `glob_pattern` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/terraform-tfsec.mdx b/versioned_docs/version-2.19/reference/subsystems/terraform-tfsec.mdx new file mode 100644 index 000000000..5a98f76e8 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/terraform-tfsec.mdx @@ -0,0 +1,162 @@ +--- +title: terraform-tfsec +description: | + tfsec by Aqua Security +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +tfsec by Aqua Security + +Backend: `pants.backend.experimental.terraform.lint.tfsec` + +Config section: `[terraform-tfsec]` + + + +## Basic options + +### `skip` + + + +### `args` + + + +## Advanced options + +### `version` + + + +### `known_versions` + + + +### `use_unsupported_version` + + + +### `config` + + + +### `config_discovery` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/subsystems/visibility.mdx b/versioned_docs/version-2.19/reference/subsystems/visibility.mdx new file mode 100644 index 000000000..41b7041d8 --- /dev/null +++ b/versioned_docs/version-2.19/reference/subsystems/visibility.mdx @@ -0,0 +1,62 @@ +--- +title: visibility +description: | + Options for the visibility rules implementation of the dependency rules API. +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Options for the visibility rules implementation of the dependency rules API. + +Backend: `pants.backend.experimental.visibility` + +Config section: `[visibility]` + + + +## Basic options + +### `skip` + + + +### `enforce` + + + +## Advanced options + +None + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/versioned_docs/version-2.19/reference/targets/avro_source.mdx b/versioned_docs/version-2.19/reference/targets/avro_source.mdx new file mode 100644 index 000000000..7489e02d2 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/avro_source.mdx @@ -0,0 +1,106 @@ +--- +title: avro_source +description: | + A single Avro file used to generate various languages. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A single Avro file used to generate various languages. + +See https://www.pantsbuild.org/v2.19/docs/avro. + +Backend: `pants.backend.experimental.codegen.avro.java` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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/v2.19/docs/targets 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. + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `jvm_jdk` + + + +The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`. + + + +## `jvm_resolve` + + + +The resolve from `[jvm].resolves` to use when compiling this target. + +If not defined, will default to `[jvm].default_resolve`. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/avro_sources.mdx b/versioned_docs/version-2.19/reference/targets/avro_sources.mdx new file mode 100644 index 000000000..b7a1a87f6 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/avro_sources.mdx @@ -0,0 +1,134 @@ +--- +title: avro_sources +description: | + Generate a `avro_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 `avro_source` target for each file in the `sources` field. + +Backend: `pants.backend.experimental.codegen.avro.java` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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=['example.avsc', 'new_*.avpr', '!old_ignore.avdl']` + + + +## `overrides` + + + +Override the field values for generated `avro_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={ + "bar.proto": {"description": "our user model"]}, + ("foo.proto", "bar.proto"): {"tags": ["overridden"]}, +} +``` + +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 `avro_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. + + + +## `jvm_jdk` + + + +The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`. + + + +## `jvm_resolve` + + + +The resolve from `[jvm].resolves` to use when compiling this target. + +If not defined, will default to `[jvm].default_resolve`. + + + +## `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/v2.19/docs/targets 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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/cc_source.mdx b/versioned_docs/version-2.19/reference/targets/cc_source.mdx new file mode 100644 index 000000000..9d07f0d37 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/cc_source.mdx @@ -0,0 +1,90 @@ +--- +title: cc_source +description: | + A single C/C++ source file or header file. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A single C/C++ source file or header file. + +Backend: `pants.backend.experimental.cc` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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/v2.19/docs/targets 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. + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `skip_clang_format` + + + +If true, don't run clang-format on this target's code. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/cc_sources.mdx b/versioned_docs/version-2.19/reference/targets/cc_sources.mdx new file mode 100644 index 000000000..8e3414077 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/cc_sources.mdx @@ -0,0 +1,92 @@ +--- +title: cc_sources +description: | + Generate a `cc_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 `cc_source` target for each file in the `sources` field. + +Backend: `pants.backend.experimental.cc` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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=['example.cpp', 'new_*.cc', '!old_ignore.cc']` + + + +## `skip_clang_format` + + + +If true, don't run clang-format on this target's code. + + + +## `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/v2.19/docs/targets 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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/cue_package.mdx b/versioned_docs/version-2.19/reference/targets/cue_package.mdx new file mode 100644 index 000000000..2cce56830 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/cue_package.mdx @@ -0,0 +1,63 @@ +--- +title: cue_package +description: | + The `cue_package` target defines a CUE package. Within a module, CUE organizes files grouped by package. A package can be defined within the module or externally. Definitions and constraints can be split across files within a package, and even organized across directories. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +The `cue_package` target defines a CUE package. Within a module, CUE organizes files grouped by package. A package can be defined within the module or externally. Definitions and constraints can be split across files within a package, and even organized across directories. + +CUE docs: https://cuelang.org/docs/concepts/packages/ + +Backend: `pants.backend.experimental.cue` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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=['schema.cue', 'lib/**/*.cue']` + + + + diff --git a/versioned_docs/version-2.19/reference/targets/debian_package.mdx b/versioned_docs/version-2.19/reference/targets/debian_package.mdx new file mode 100644 index 000000000..77bdd77f9 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/debian_package.mdx @@ -0,0 +1,123 @@ +--- +title: debian_package +description: | + " +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +" +A Debian package containing an artifact. + +``` + This will not install the package, only create a .deb file + that you can then distribute and install, e.g. via dpkg. + + "See https://www.pantsbuild.org/v2.19/docs/debian-package. +``` + +Backend: `pants.backend.experimental.debian` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `output_path` + + + +Where the built asset should be located. + +If undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/python/project:app` would be `src.python.project/app.ext`. + +When running `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. + + + +## `sources` + + + +Paths that will be included in the package to be produced such as Debian metadata files. You must include a DEBIAN/control file. + +Paths are relative to the BUILD file's directory and all paths must belong to the same parent directory. For example, `sources=['dir/**']` is valid, but `sources=['top_level_file.txt']` and `sources=['dir1/*', 'dir2/*']` are not. + + + +## `symlinks` + + + +Symlinks to create for each target being packaged. + +For example, you could set symlinks={'command-name': 'entrypoint-name'}. + + + +## `install_prefix` + + + +Absolute path to a directory where Debian package will be installed to. + + + +## `packages` + + + +Addresses to any targets that can be built with `pants package`, e.g. `["project:app"]`. + +Pants will build the assets as if you had run `pants package`. It will include the results in your Debian package using the same name they would normally have, but without the `--distdir` prefix (e.g. `dist/`). + +You can include anything that can be uilt by `pants package`, e.g. a `pex_binary`, a `python_distribution`, or an `archive`. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/docker_environment.mdx b/versioned_docs/version-2.19/reference/targets/docker_environment.mdx index 0c6629c71..b1554c1a7 100644 --- a/versioned_docs/version-2.19/reference/targets/docker_environment.mdx +++ b/versioned_docs/version-2.19/reference/targets/docker_environment.mdx @@ -94,79 +94,79 @@ Must be an environment name from the option `[environments-preview].names`, the -## `nodejs_corepack_env_vars` +## `golang_external_linker_binary_name` -Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active. +Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active. -## `python_native_code_ld_flags` +## `nodejs_executable_search_paths` -Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active. +Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active. -## `golang_cgo_gcc_binary_name` +## `go_generate_env_vars` -Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active. +Overrides the default value from the option `[go-generate].env_vars` when this environment target is active. -## `python_bootstrap_search_path` +## `golang_cgo_gxx_binary_name` -Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active. +Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active. -## `nodejs_executable_search_paths` +## `golang_cgo_cxx_flags` -Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active. -## `golang_cgo_fortran_flags` +## `python_native_code_cpp_flags` -Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active. +Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active. -## `system_binaries_system_binary_paths` +## `pex_executable_search_paths` -Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active. +Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active. -## `shell_setup_executable_search_paths` +## `apache_thrift_thrift_search_paths` -Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active. -## `golang_cgo_c_flags` +## `test_extra_env_vars` -Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active. +Overrides the default value from the option `[test].extra_env_vars` when this environment target is active. -## `golang_cgo_tool_search_paths` +## `system_binaries_system_binary_paths` -Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active. +Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active. -## `golang_cgo_fortran_binary_name` +## `docker_env_vars` -Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active. +Overrides the default value from the option `[docker].env_vars` when this environment target is active. -## `jvm_global_options` +## `nodejs_search_path` -Overrides the default value from the option `[jvm].global_options` when this environment target is active. +Overrides the default value from the option `[nodejs].search_path` when this environment target is active. -## `docker_executable_search_paths` +## `golang_cgo_fortran_binary_name` -Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active. -## `apache_thrift_thrift_search_paths` +## `golang_cgo_fortran_flags` -Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active. -## `docker_env_vars` +## `golang_cgo_linker_flags` -Overrides the default value from the option `[docker].env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active. -## `golang_subprocess_env_vars` +## `golang_cgo_gcc_binary_name` -Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active. -## `golang_cgo_gxx_binary_name` +## `pyenv_python_provider_installation_extra_env_vars` -Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active. +Overrides the default value from the option `[pyenv-python-provider].installation_extra_env_vars` when this environment target is active. -## `nodejs_search_path` +## `golang_go_search_paths` -Overrides the default value from the option `[nodejs].search_path` when this environment target is active. +Overrides the default value from the option `[golang].go_search_paths` when this environment target is active. @@ -322,7 +322,7 @@ Overrides the default value from the option `[subprocess-environment].env_vars` -## `golang_cgo_linker_flags` +## `golang_cgo_c_flags` -Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active. +Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active. -## `golang_cgo_cxx_flags` +## `docker_executable_search_paths` -Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active. +Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active. -## `golang_go_search_paths` +## `shell_setup_executable_search_paths` -Overrides the default value from the option `[golang].go_search_paths` when this environment target is active. +Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active. -## `python_native_code_cpp_flags` +## `python_native_code_ld_flags` -Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active. +Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active. @@ -382,31 +382,31 @@ Overrides the default value from the option `[python-bootstrap].names` when this -## `golang_external_linker_binary_name` +## `golang_subprocess_env_vars` -Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active. +Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active. -## `pex_executable_search_paths` +## `jvm_global_options` -Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[jvm].global_options` when this environment target is active. -## `test_extra_env_vars` +## `python_bootstrap_search_path` -Overrides the default value from the option `[test].extra_env_vars` when this environment target is active. +Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active. -## `go_generate_env_vars` +## `nodejs_corepack_env_vars` + + + +Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active. + + + +## `golang_cgo_tool_search_paths` -Overrides the default value from the option `[go-generate].env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active. diff --git a/versioned_docs/version-2.19/reference/targets/docker_image.mdx b/versioned_docs/version-2.19/reference/targets/docker_image.mdx index 0a41d81b3..1cb973905 100644 --- a/versioned_docs/version-2.19/reference/targets/docker_image.mdx +++ b/versioned_docs/version-2.19/reference/targets/docker_image.mdx @@ -435,8 +435,6 @@ This option requires BuildKit to be enabled via the Docker subsystem options. When using `pants publish` to publish Docker images to a registry, the output type must be 'docker', as `publish` expects that the built images exist in the local image store. -Currently, multi-platform images cannot be exported with the 'docker' export type, although experimental support is available with the [containerd image store](https://docs.docker.com/desktop/containerd/) - Values may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args. diff --git a/versioned_docs/version-2.19/reference/targets/go_package.mdx b/versioned_docs/version-2.19/reference/targets/go_package.mdx index 2bb4598c6..15a401b6c 100644 --- a/versioned_docs/version-2.19/reference/targets/go_package.mdx +++ b/versioned_docs/version-2.19/reference/targets/go_package.mdx @@ -213,4 +213,28 @@ If true, don't run gofmt on this package. +## `skip_golangci_lint` + + + +If true, don't run `golangci-lint` on this target's code. + + + +## `skip_go_vet` + + + +If true, don't run `go vet` on this target's code. + + + diff --git a/versioned_docs/version-2.19/reference/targets/helm_chart.mdx b/versioned_docs/version-2.19/reference/targets/helm_chart.mdx index 27f380869..1f0710e0b 100644 --- a/versioned_docs/version-2.19/reference/targets/helm_chart.mdx +++ b/versioned_docs/version-2.19/reference/targets/helm_chart.mdx @@ -200,4 +200,88 @@ If set to true, do not run any linting in this Helm chart when running `pants li +## `kubeconform_strict` + + + +Run Kubeconform in strict mode. + + + +## `kubeconform_ignore_sources` + + + +Regular expression patterns specifying paths to ignore. + + + +## `skip_kubeconform` + + + +If set to true, do not run any kubeconform checking in this Helm target when running `pants check`. + + + +## `kubeconform_kubernetes_version` + + + +Kubernetes version to use for the validation. + + + +## `kubeconform_reject_kinds` + + + +List of kinds or GVKs to reject. + + + +## `kubeconform_skip_kinds` + + + +List of kinds or GVKs to ignore. + + + +## `kubeconform_ignore_missing_schemas` + + + +Whether to fail if there are missing schemas for custom resources. + + + diff --git a/versioned_docs/version-2.19/reference/targets/helm_deployment.mdx b/versioned_docs/version-2.19/reference/targets/helm_deployment.mdx index 2b2765b70..eb7bce18b 100644 --- a/versioned_docs/version-2.19/reference/targets/helm_deployment.mdx +++ b/versioned_docs/version-2.19/reference/targets/helm_deployment.mdx @@ -199,4 +199,88 @@ Enables DNS lookups when using the `getHostByName` template function. +## `kubeconform_strict` + + + +Run Kubeconform in strict mode. + + + +## `kubeconform_ignore_sources` + + + +Regular expression patterns specifying paths to ignore. + + + +## `skip_kubeconform` + + + +If set to true, do not run any kubeconform checking in this Helm target when running `pants check`. + + + +## `kubeconform_kubernetes_version` + + + +Kubernetes version to use for the validation. + + + +## `kubeconform_reject_kinds` + + + +List of kinds or GVKs to reject. + + + +## `kubeconform_skip_kinds` + + + +List of kinds or GVKs to ignore. + + + +## `kubeconform_ignore_missing_schemas` + + + +Whether to fail if there are missing schemas for custom resources. + + + diff --git a/versioned_docs/version-2.19/reference/targets/javascript_source.mdx b/versioned_docs/version-2.19/reference/targets/javascript_source.mdx new file mode 100644 index 000000000..6ed1dcf5a --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/javascript_source.mdx @@ -0,0 +1,90 @@ +--- +title: javascript_source +description: | + A single Javascript source file. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A single Javascript source file. + +Backend: `pants.backend.experimental.javascript` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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/v2.19/docs/targets 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. + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `skip_prettier` + + + +If true, don't run Prettier on this target's code. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/javascript_sources.mdx b/versioned_docs/version-2.19/reference/targets/javascript_sources.mdx new file mode 100644 index 000000000..48ee9b6fe --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/javascript_sources.mdx @@ -0,0 +1,121 @@ +--- +title: javascript_sources +description: | + Generate a `javascript_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 `javascript_source` target for each file in the `sources` field. + +Backend: `pants.backend.experimental.javascript` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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.js', 'subdir/*.js', '!ignore_me.js']` + + + +## `overrides` + + + +Override the field values for generated `javascript_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.js": {"skip_prettier": True}, + "bar.js": {"skip_prettier": True}, + ("foo.js", "bar.js"): {"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 `javascript_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. + + + +## `skip_prettier` + + + +If true, don't run Prettier on this target's code. + + + +## `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/v2.19/docs/targets 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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/javascript_test.mdx b/versioned_docs/version-2.19/reference/targets/javascript_test.mdx new file mode 100644 index 000000000..bc509dd94 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/javascript_test.mdx @@ -0,0 +1,130 @@ +--- +title: javascript_test +description: | + A single Javascript test file. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A single Javascript test file. + +Backend: `pants.backend.experimental.javascript` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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/v2.19/docs/targets 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. + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `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). + + + +## `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`. + + + +## `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 `javascript_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 `javascript_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 `javascript_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 `javascript_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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/javascript_tests.mdx b/versioned_docs/version-2.19/reference/targets/javascript_tests.mdx new file mode 100644 index 000000000..d63ff56d9 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/javascript_tests.mdx @@ -0,0 +1,161 @@ +--- +title: javascript_tests +description: | + Generate a `javascript_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 `javascript_test` target for each file in the `sources` field. + +Backend: `pants.backend.experimental.javascript` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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.js', 'subdir/*.test.mjs', '!ignore_me.test.js']` + + + +## `overrides` + + + +Override the field values for generated `javascript_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.js": {"timeout": 120}, + "bar.test.js": {"timeout": 200}, + ("foo.test.js", "bar.test.js"): {"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 `javascript_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. + + + +## `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/v2.19/docs/targets 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. + + + +## `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). + + + +## `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`. + + + +## `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 `javascript_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 `javascript_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 `javascript_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 `javascript_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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/jvm_artifact.mdx b/versioned_docs/version-2.19/reference/targets/jvm_artifact.mdx index 6d2a3bac9..fba611c70 100644 --- a/versioned_docs/version-2.19/reference/targets/jvm_artifact.mdx +++ b/versioned_docs/version-2.19/reference/targets/jvm_artifact.mdx @@ -97,7 +97,7 @@ The JVM packages this artifact provides for the purposes of dependency inference For example, the JVM artifact `junit:junit` might provide `["org.junit.**"]`. -Usually 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.19.0rc1/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.**"]`. +Usually 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.19.0rc5/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.**"]`. The 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. diff --git a/versioned_docs/version-2.19/reference/targets/local_environment.mdx b/versioned_docs/version-2.19/reference/targets/local_environment.mdx index 57285e437..b823c4dc5 100644 --- a/versioned_docs/version-2.19/reference/targets/local_environment.mdx +++ b/versioned_docs/version-2.19/reference/targets/local_environment.mdx @@ -77,79 +77,79 @@ Tip: when targeting Linux, it can be particularly helpful to fallback to a `dock -## `nodejs_corepack_env_vars` +## `golang_external_linker_binary_name` -Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active. +Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active. -## `python_native_code_ld_flags` +## `nodejs_executable_search_paths` -Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active. +Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active. -## `golang_cgo_gcc_binary_name` +## `go_generate_env_vars` -Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active. +Overrides the default value from the option `[go-generate].env_vars` when this environment target is active. -## `python_bootstrap_search_path` +## `golang_cgo_gxx_binary_name` -Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active. +Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active. -## `nodejs_executable_search_paths` +## `golang_cgo_cxx_flags` -Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active. -## `golang_cgo_fortran_flags` +## `python_native_code_cpp_flags` -Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active. +Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active. -## `system_binaries_system_binary_paths` +## `pex_executable_search_paths` -Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active. +Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active. -## `shell_setup_executable_search_paths` +## `apache_thrift_thrift_search_paths` -Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active. -## `golang_cgo_c_flags` +## `test_extra_env_vars` -Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active. +Overrides the default value from the option `[test].extra_env_vars` when this environment target is active. -## `golang_cgo_tool_search_paths` +## `system_binaries_system_binary_paths` -Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active. +Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active. -## `golang_cgo_fortran_binary_name` +## `docker_env_vars` -Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active. +Overrides the default value from the option `[docker].env_vars` when this environment target is active. -## `jvm_global_options` +## `nodejs_search_path` -Overrides the default value from the option `[jvm].global_options` when this environment target is active. +Overrides the default value from the option `[nodejs].search_path` when this environment target is active. -## `docker_executable_search_paths` +## `golang_cgo_fortran_binary_name` -Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active. -## `apache_thrift_thrift_search_paths` +## `golang_cgo_fortran_flags` -Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active. -## `docker_env_vars` +## `golang_cgo_linker_flags` -Overrides the default value from the option `[docker].env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active. -## `golang_subprocess_env_vars` +## `golang_cgo_gcc_binary_name` -Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active. -## `golang_cgo_gxx_binary_name` +## `pyenv_python_provider_installation_extra_env_vars` -Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active. +Overrides the default value from the option `[pyenv-python-provider].installation_extra_env_vars` when this environment target is active. -## `nodejs_search_path` +## `golang_cgo_c_flags` -Overrides the default value from the option `[nodejs].search_path` when this environment target is active. +Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active. @@ -305,7 +305,7 @@ Overrides the default value from the option `[subprocess-environment].env_vars` -## `golang_cgo_linker_flags` +## `golang_go_search_paths` -Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active. +Overrides the default value from the option `[golang].go_search_paths` when this environment target is active. -## `golang_cgo_cxx_flags` +## `docker_executable_search_paths` -Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active. +Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active. -## `golang_go_search_paths` +## `shell_setup_executable_search_paths` -Overrides the default value from the option `[golang].go_search_paths` when this environment target is active. +Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active. -## `python_native_code_cpp_flags` +## `python_native_code_ld_flags` -Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active. +Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active. @@ -365,31 +365,31 @@ Overrides the default value from the option `[python-bootstrap].names` when this -## `golang_external_linker_binary_name` +## `golang_subprocess_env_vars` -Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active. +Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active. -## `pex_executable_search_paths` +## `jvm_global_options` -Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[jvm].global_options` when this environment target is active. -## `test_extra_env_vars` +## `python_bootstrap_search_path` -Overrides the default value from the option `[test].extra_env_vars` when this environment target is active. +Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active. -## `go_generate_env_vars` +## `nodejs_corepack_env_vars` + + + +Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active. + + + +## `golang_cgo_tool_search_paths` -Overrides the default value from the option `[go-generate].env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active. diff --git a/versioned_docs/version-2.19/reference/targets/node_package.mdx b/versioned_docs/version-2.19/reference/targets/node_package.mdx new file mode 100644 index 000000000..84f06bb27 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/node_package.mdx @@ -0,0 +1,104 @@ +--- +title: node_package +description: | + A first party node package. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A first party node package. + +Backend: `pants.backend.experimental.javascript` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `package` + + + +Name of the Node package, as specified in the package.json. + +This field should not be overridden; use the value from target generation. + + + +## `version` + + + +Version of the Node package, as specified in the package.json. + +This field should not be overridden; use the value from target generation. + + + +## `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/v2.19/docs/targets 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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/node_third_party_package.mdx b/versioned_docs/version-2.19/reference/targets/node_third_party_package.mdx new file mode 100644 index 000000000..66873e38a --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/node_third_party_package.mdx @@ -0,0 +1,91 @@ +--- +title: node_third_party_package +description: | + A third party node package. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A third party node package. + +Backend: `pants.backend.experimental.javascript` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `package` + + + +Name of the Node package, as specified in the package.json. + +This field should not be overridden; use the value from target generation. + + + +## `version` + + + +Version of the Node package, as specified in the package.json. + +This field should not be overridden; use the value from target generation. + + + +## `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/v2.19/docs/targets 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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/openapi_document.mdx b/versioned_docs/version-2.19/reference/targets/openapi_document.mdx index e8e93df77..1faa65d73 100644 --- a/versioned_docs/version-2.19/reference/targets/openapi_document.mdx +++ b/versioned_docs/version-2.19/reference/targets/openapi_document.mdx @@ -87,4 +87,66 @@ If true, don't run `spectral lint` on this target's code. +## `skip_java` + + + +If true, skips generation of Java sources from this target + + + +## `jvm_resolve` + + + +The resolve from `[jvm].resolves` to use when compiling this target. + +If not defined, will default to `[jvm].default_resolve`. + + + +## `java_api_package` + + + +Root package for generated API code + + + +## `jvm_jdk` + + + +The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`. + + + +## `java_model_package` + + + +Root package for generated model code + + + diff --git a/versioned_docs/version-2.19/reference/targets/openapi_documents.mdx b/versioned_docs/version-2.19/reference/targets/openapi_documents.mdx index f36e3a1ae..138c963fd 100644 --- a/versioned_docs/version-2.19/reference/targets/openapi_documents.mdx +++ b/versioned_docs/version-2.19/reference/targets/openapi_documents.mdx @@ -70,6 +70,68 @@ If true, don't run `spectral lint` on this target's code. +## `skip_java` + + + +If true, skips generation of Java sources from this target + + + +## `jvm_resolve` + + + +The resolve from `[jvm].resolves` to use when compiling this target. + +If not defined, will default to `[jvm].default_resolve`. + + + +## `java_api_package` + + + +Root package for generated API code + + + +## `jvm_jdk` + + + +The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`. + + + +## `java_model_package` + + + +Root package for generated model code + + + ## `dependencies` `pants.backend.experimental.javascript` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `scripts` + + + +Custom node package manager scripts that should be known and ran as part of relevant goals. + +Maps the package.json#scripts section to a cacheable pants invocation. + + + +## `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/v2.19/docs/targets 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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/pants_requirements.mdx b/versioned_docs/version-2.19/reference/targets/pants_requirements.mdx index cb518bff2..1ac3a2fcf 100644 --- a/versioned_docs/version-2.19/reference/targets/pants_requirements.mdx +++ b/versioned_docs/version-2.19/reference/targets/pants_requirements.mdx @@ -53,7 +53,7 @@ Use `pants list --documented ::` to see all targets with descriptions. The PEP 440 version specifier version of Pants to target. E.g. `== 2.15.*`, or `>= 2.16.0, < 2.17.0` diff --git a/versioned_docs/version-2.19/reference/targets/protobuf_source.mdx b/versioned_docs/version-2.19/reference/targets/protobuf_source.mdx index 48d911fe0..4d219b3e2 100644 --- a/versioned_docs/version-2.19/reference/targets/protobuf_source.mdx +++ b/versioned_docs/version-2.19/reference/targets/protobuf_source.mdx @@ -90,6 +90,18 @@ Whether to generate gRPC code or not. +## `skip_buf_format` + + + +If true, don't run `buf format` on this target's code. + + + ## `python_interpreter_constraints` -## `go_mod_address` - - - -Address of the `go_mod` target representing the Go module that this target is part of. - -This field is similar to the `resolve` field used in the Python and JVM backends. If a codegen target such as `protobuf_sources` will be used in multiple Go modules, then you should use the `parametrize` built-in to parametrize that `protobuf_sources` target for each Go module. - -If there is a single `go_mod` target in the repository, then this field defaults to the address for that single `go_mod` target. - - - ## `jvm_resolve` -## `skip_buf_format` +## `go_mod_address` -If true, don't run `buf format` on this target's code. +Address of the `go_mod` target representing the Go module that this target is part of. + +This field is similar to the `resolve` field used in the Python and JVM backends. If a codegen target such as `protobuf_sources` will be used in multiple Go modules, then you should use the `parametrize` built-in to parametrize that `protobuf_sources` target for each Go module. + +If there is a single `go_mod` target in the repository, then this field defaults to the address for that single `go_mod` target. diff --git a/versioned_docs/version-2.19/reference/targets/protobuf_sources.mdx b/versioned_docs/version-2.19/reference/targets/protobuf_sources.mdx index 83683d9c7..313c7d623 100644 --- a/versioned_docs/version-2.19/reference/targets/protobuf_sources.mdx +++ b/versioned_docs/version-2.19/reference/targets/protobuf_sources.mdx @@ -87,19 +87,15 @@ You can specify the same file name in multiple keys, so long as you don't o -## `go_mod_address` +## `skip_buf_format` -Address of the `go_mod` target representing the Go module that this target is part of. - -This field is similar to the `resolve` field used in the Python and JVM backends. If a codegen target such as `protobuf_sources` will be used in multiple Go modules, then you should use the `parametrize` built-in to parametrize that `protobuf_sources` target for each Go module. - -If there is a single `go_mod` target in the repository, then this field defaults to the address for that single `go_mod` target. +If true, don't run `buf format` on this target's code. @@ -141,15 +137,32 @@ If true, don't run `buf lint` on this target's code. -## `skip_buf_format` +## `go_mod_address` -If true, don't run `buf format` on this target's code. +Address of the `go_mod` target representing the Go module that this target is part of. + +This field is similar to the `resolve` field used in the Python and JVM backends. If a codegen target such as `protobuf_sources` will be used in multiple Go modules, then you should use the `parametrize` built-in to parametrize that `protobuf_sources` target for each Go module. + +If there is a single `go_mod` target in the repository, then this field defaults to the address for that single `go_mod` target. + + + +## `python_source_root` + + + +The source root to generate Python sources under. + +If unspecified, the source root the `protobuf_sources` is under will be used. @@ -187,19 +200,6 @@ All dependencies must share the same value for their `resolve` field. -## `python_source_root` - - - -The source root to generate Python sources under. - -If unspecified, the source root the `protobuf_sources` is under will be used. - - - ## `grpc` +## `pex3_venv_create_extra_args` + + + +Any extra arguments to pass to the `pex3 venv create` invocation that is used to create the final zip file. + +For example, `pex3_venv_create_extra_args=["--collisions-ok"]`, if using packages that have colliding files that aren't required at runtime (errors like "Encountered collisions populating ..."). + + + ## `resolve` +## `pex3_venv_create_extra_args` + + + +Any extra arguments to pass to the `pex3 venv create` invocation that is used to create the final zip file. + +For example, `pex3_venv_create_extra_args=["--collisions-ok"]`, if using packages that have colliding files that aren't required at runtime (errors like "Encountered collisions populating ..."). + + + ## `resolve` +## `pex3_venv_create_extra_args` + + + +Any extra arguments to pass to the `pex3 venv create` invocation that is used to create the final zip file. + +For example, `pex3_venv_create_extra_args=["--collisions-ok"]`, if using packages that have colliding files that aren't required at runtime (errors like "Encountered collisions populating ..."). + + + ## `resolve` -## `skip_pytype` +## `skip_pydocstyle` -If true, don't run pytype on this target's code. +If true, don't run pydocstyle on this target's code. -## `skip_pydocstyle` +## `skip_autoflake` -If true, don't run pydocstyle on this target's code. +If true, don't run Autoflake on this target's code. -## `skip_black` +## `skip_flake8` -If true, don't run Black on this target's code. +If true, don't run Flake8 on this target's code. -## `skip_ruff` +## `skip_pytype` -If true, don't run ruff on this target's code. +If true, don't run pytype on this target's code. -## `skip_add_trailing_comma` +## `skip_bandit` -If true, don't run add-trailing-comma on this target's code. +If true, don't run Bandit on this target's code. -## `skip_flake8` +## `skip_pylint` -If true, don't run Flake8 on this target's code. +If true, don't run Pylint on this target's code. -## `skip_isort` +## `skip_mypy` -If true, don't run isort on this target's code. +If true, don't run MyPy on this target's code. -## `skip_bandit` +## `skip_add_trailing_comma` -If true, don't run Bandit on this target's code. +If true, don't run add-trailing-comma on this target's code. -## `skip_autoflake` +## `skip_black` -If true, don't run Autoflake on this target's code. +If true, don't run Black on this target's code. -## `skip_mypy` +## `skip_pyupgrade` -If true, don't run MyPy on this target's code. +If true, don't run pyupgrade on this target's code. -## `skip_docformatter` +## `skip_ruff` -If true, don't run Docformatter on this target's code. +If true, don't run ruff on this target's code. -## `skip_pyupgrade` +## `skip_yapf` -If true, don't run pyupgrade on this target's code. +If true, don't run yapf on this target's code. -## `skip_yapf` +## `skip_isort` -If true, don't run yapf on this target's code. +If true, don't run isort on this target's code. -## `skip_pylint` +## `skip_docformatter` -If true, don't run Pylint on this target's code. +If true, don't run Docformatter on this target's code. + + + +## `skip_pyright` + + + +If true, don't run Pyright on this target's code. diff --git a/versioned_docs/version-2.19/reference/targets/python_sources.mdx b/versioned_docs/version-2.19/reference/targets/python_sources.mdx index cd2bcc0bd..52ca9a044 100644 --- a/versioned_docs/version-2.19/reference/targets/python_sources.mdx +++ b/versioned_docs/version-2.19/reference/targets/python_sources.mdx @@ -89,171 +89,183 @@ You can specify the same file name in multiple keys, so long as you don't o -## `skip_pytype` +## `skip_pydocstyle` -If true, don't run pytype on this target's code. +If true, don't run pydocstyle on this target's code. -## `skip_pydocstyle` +## `skip_autoflake` -If true, don't run pydocstyle on this target's code. +If true, don't run Autoflake on this target's code. -## `skip_black` +## `skip_flake8` -If true, don't run Black on this target's code. +If true, don't run Flake8 on this target's code. -## `skip_ruff` +## `skip_pytype` -If true, don't run ruff on this target's code. +If true, don't run pytype on this target's code. -## `skip_add_trailing_comma` +## `skip_bandit` -If true, don't run add-trailing-comma on this target's code. +If true, don't run Bandit on this target's code. -## `skip_flake8` +## `skip_pylint` -If true, don't run Flake8 on this target's code. +If true, don't run Pylint on this target's code. -## `skip_isort` +## `skip_mypy` -If true, don't run isort on this target's code. +If true, don't run MyPy on this target's code. -## `skip_bandit` +## `skip_add_trailing_comma` -If true, don't run Bandit on this target's code. +If true, don't run add-trailing-comma on this target's code. -## `skip_autoflake` +## `skip_black` -If true, don't run Autoflake on this target's code. +If true, don't run Black on this target's code. -## `skip_mypy` +## `skip_pyupgrade` -If true, don't run MyPy on this target's code. +If true, don't run pyupgrade on this target's code. -## `skip_docformatter` +## `skip_ruff` -If true, don't run Docformatter on this target's code. +If true, don't run ruff on this target's code. -## `skip_pyupgrade` +## `skip_yapf` -If true, don't run pyupgrade on this target's code. +If true, don't run yapf on this target's code. -## `skip_yapf` +## `skip_isort` -If true, don't run yapf on this target's code. +If true, don't run isort on this target's code. -## `skip_pylint` +## `skip_docformatter` -If true, don't run Pylint on this target's code. +If true, don't run Docformatter on this target's code. + + + +## `skip_pyright` + + + +If true, don't run Pyright on this target's code. diff --git a/versioned_docs/version-2.19/reference/targets/python_test.mdx b/versioned_docs/version-2.19/reference/targets/python_test.mdx index 4ea593757..022eb67ad 100644 --- a/versioned_docs/version-2.19/reference/targets/python_test.mdx +++ b/versioned_docs/version-2.19/reference/targets/python_test.mdx @@ -244,191 +244,203 @@ Path is relative to the BUILD file's directory, e.g. `source='example.ext'` -## `skip_pytype` +## `skip_pydocstyle` -If true, don't run pytype on this target's code. +If true, don't run pydocstyle on this target's code. -## `skip_pydocstyle` +## `skip_autoflake` -If true, don't run pydocstyle on this target's code. +If true, don't run Autoflake on this target's code. -## `skip_black` +## `skip_flake8` -If true, don't run Black on this target's code. +If true, don't run Flake8 on this target's code. -## `skip_ruff` +## `skip_pytype` -If true, don't run ruff on this target's code. +If true, don't run pytype on this target's code. -## `skip_add_trailing_comma` +## `skip_bandit` -If true, don't run add-trailing-comma on this target's code. +If true, don't run Bandit on this target's code. -## `skip_flake8` +## `skip_pylint` -If true, don't run Flake8 on this target's code. +If true, don't run Pylint on this target's code. -## `skip_isort` +## `skip_mypy` -If true, don't run isort on this target's code. +If true, don't run MyPy on this target's code. -## `skip_bandit` +## `skip_add_trailing_comma` -If true, don't run Bandit on this target's code. +If true, don't run add-trailing-comma on this target's code. -## `skip_autoflake` +## `skip_black` -If true, don't run Autoflake on this target's code. +If true, don't run Black on this target's code. -## `stevedore_namespaces` +## `skip_pyupgrade` -List the stevedore namespaces required by this target. +If true, don't run pyupgrade on this target's code. -Code for all `entry_points` on `python_distribution` targets with these namespaces will be added as dependencies so that they are available on PYTHONPATH during tests. Note that this is only a subset of the `python_distribution`s dependencies, so the `entry_points` only need to be defined on one `python_distribution` even if the test only needs some of the `entry_points` namespaces on it. + -Plus, an `entry_points.txt` file will be generated in the sandbox so that each of the `python_distribution`s appear to be "installed". The `entry_points.txt` file will only include the namespaces requested on this field. Without this, stevedore would not be able to look up plugins in the setuptools `entry_points` metadata. +## `skip_ruff` -NOTE: Each `python_distribution` must opt-in to being included in this repo-wide inference by tagging the namespaces with `stevedore_namespace("my.stevedore.extension")`. + -The stevedore namespace format (`my.stevedore.extension`) is similar to a Python namespace. +If true, don't run ruff on this target's code. -## `skip_mypy` +## `skip_yapf` -If true, don't run MyPy on this target's code. +If true, don't run yapf on this target's code. -## `skip_docformatter` +## `skip_isort` -If true, don't run Docformatter on this target's code. +If true, don't run isort on this target's code. -## `skip_pyupgrade` +## `skip_docformatter` -If true, don't run pyupgrade on this target's code. +If true, don't run Docformatter on this target's code. -## `skip_yapf` +## `stevedore_namespaces` -If true, don't run yapf on this target's code. +List the stevedore namespaces required by this target. + +Code for all `entry_points` on `python_distribution` targets with these namespaces will be added as dependencies so that they are available on PYTHONPATH during tests. Note that this is only a subset of the `python_distribution`s dependencies, so the `entry_points` only need to be defined on one `python_distribution` even if the test only needs some of the `entry_points` namespaces on it. + +Plus, an `entry_points.txt` file will be generated in the sandbox so that each of the `python_distribution`s appear to be "installed". The `entry_points.txt` file will only include the namespaces requested on this field. Without this, stevedore would not be able to look up plugins in the setuptools `entry_points` metadata. + +NOTE: Each `python_distribution` must opt-in to being included in this repo-wide inference by tagging the namespaces with `stevedore_namespace("my.stevedore.extension")`. + +The stevedore namespace format (`my.stevedore.extension`) is similar to a Python namespace. -## `skip_pylint` +## `skip_pyright` -If true, don't run Pylint on this target's code. +If true, don't run Pyright on this target's code. diff --git a/versioned_docs/version-2.19/reference/targets/python_test_utils.mdx b/versioned_docs/version-2.19/reference/targets/python_test_utils.mdx index d26508920..ade170010 100644 --- a/versioned_docs/version-2.19/reference/targets/python_test_utils.mdx +++ b/versioned_docs/version-2.19/reference/targets/python_test_utils.mdx @@ -89,171 +89,183 @@ You can specify the same file name in multiple keys, so long as you don't o -## `skip_pytype` +## `skip_pydocstyle` -If true, don't run pytype on this target's code. +If true, don't run pydocstyle on this target's code. -## `skip_pydocstyle` +## `skip_autoflake` -If true, don't run pydocstyle on this target's code. +If true, don't run Autoflake on this target's code. -## `skip_black` +## `skip_flake8` -If true, don't run Black on this target's code. +If true, don't run Flake8 on this target's code. -## `skip_ruff` +## `skip_pytype` -If true, don't run ruff on this target's code. +If true, don't run pytype on this target's code. -## `skip_add_trailing_comma` +## `skip_bandit` -If true, don't run add-trailing-comma on this target's code. +If true, don't run Bandit on this target's code. -## `skip_flake8` +## `skip_pylint` -If true, don't run Flake8 on this target's code. +If true, don't run Pylint on this target's code. -## `skip_isort` +## `skip_mypy` -If true, don't run isort on this target's code. +If true, don't run MyPy on this target's code. -## `skip_bandit` +## `skip_add_trailing_comma` -If true, don't run Bandit on this target's code. +If true, don't run add-trailing-comma on this target's code. -## `skip_autoflake` +## `skip_black` -If true, don't run Autoflake on this target's code. +If true, don't run Black on this target's code. -## `skip_mypy` +## `skip_pyupgrade` -If true, don't run MyPy on this target's code. +If true, don't run pyupgrade on this target's code. -## `skip_docformatter` +## `skip_ruff` -If true, don't run Docformatter on this target's code. +If true, don't run ruff on this target's code. -## `skip_pyupgrade` +## `skip_yapf` -If true, don't run pyupgrade on this target's code. +If true, don't run yapf on this target's code. -## `skip_yapf` +## `skip_isort` -If true, don't run yapf on this target's code. +If true, don't run isort on this target's code. -## `skip_pylint` +## `skip_docformatter` -If true, don't run Pylint on this target's code. +If true, don't run Docformatter on this target's code. + + + +## `skip_pyright` + + + +If true, don't run Pyright on this target's code. diff --git a/versioned_docs/version-2.19/reference/targets/python_tests.mdx b/versioned_docs/version-2.19/reference/targets/python_tests.mdx index 81c50e94c..7f5b100a7 100644 --- a/versioned_docs/version-2.19/reference/targets/python_tests.mdx +++ b/versioned_docs/version-2.19/reference/targets/python_tests.mdx @@ -87,191 +87,203 @@ You can specify the same file name in multiple keys, so long as you don't o -## `skip_pytype` +## `skip_pydocstyle` -If true, don't run pytype on this target's code. +If true, don't run pydocstyle on this target's code. -## `skip_pydocstyle` +## `skip_autoflake` -If true, don't run pydocstyle on this target's code. +If true, don't run Autoflake on this target's code. -## `skip_black` +## `skip_flake8` -If true, don't run Black on this target's code. +If true, don't run Flake8 on this target's code. -## `skip_ruff` +## `skip_pytype` -If true, don't run ruff on this target's code. +If true, don't run pytype on this target's code. -## `skip_add_trailing_comma` +## `skip_bandit` -If true, don't run add-trailing-comma on this target's code. +If true, don't run Bandit on this target's code. -## `skip_flake8` +## `skip_pylint` -If true, don't run Flake8 on this target's code. +If true, don't run Pylint on this target's code. -## `skip_isort` +## `skip_mypy` -If true, don't run isort on this target's code. +If true, don't run MyPy on this target's code. -## `skip_bandit` +## `skip_add_trailing_comma` -If true, don't run Bandit on this target's code. +If true, don't run add-trailing-comma on this target's code. -## `skip_autoflake` +## `skip_black` -If true, don't run Autoflake on this target's code. +If true, don't run Black on this target's code. -## `stevedore_namespaces` +## `skip_pyupgrade` -List the stevedore namespaces required by this target. +If true, don't run pyupgrade on this target's code. -Code for all `entry_points` on `python_distribution` targets with these namespaces will be added as dependencies so that they are available on PYTHONPATH during tests. Note that this is only a subset of the `python_distribution`s dependencies, so the `entry_points` only need to be defined on one `python_distribution` even if the test only needs some of the `entry_points` namespaces on it. + -Plus, an `entry_points.txt` file will be generated in the sandbox so that each of the `python_distribution`s appear to be "installed". The `entry_points.txt` file will only include the namespaces requested on this field. Without this, stevedore would not be able to look up plugins in the setuptools `entry_points` metadata. +## `skip_ruff` -NOTE: Each `python_distribution` must opt-in to being included in this repo-wide inference by tagging the namespaces with `stevedore_namespace("my.stevedore.extension")`. + -The stevedore namespace format (`my.stevedore.extension`) is similar to a Python namespace. +If true, don't run ruff on this target's code. -## `skip_mypy` +## `skip_yapf` -If true, don't run MyPy on this target's code. +If true, don't run yapf on this target's code. -## `skip_docformatter` +## `skip_isort` -If true, don't run Docformatter on this target's code. +If true, don't run isort on this target's code. -## `skip_pyupgrade` +## `skip_docformatter` -If true, don't run pyupgrade on this target's code. +If true, don't run Docformatter on this target's code. -## `skip_yapf` +## `stevedore_namespaces` -If true, don't run yapf on this target's code. +List the stevedore namespaces required by this target. + +Code for all `entry_points` on `python_distribution` targets with these namespaces will be added as dependencies so that they are available on PYTHONPATH during tests. Note that this is only a subset of the `python_distribution`s dependencies, so the `entry_points` only need to be defined on one `python_distribution` even if the test only needs some of the `entry_points` namespaces on it. + +Plus, an `entry_points.txt` file will be generated in the sandbox so that each of the `python_distribution`s appear to be "installed". The `entry_points.txt` file will only include the namespaces requested on this field. Without this, stevedore would not be able to look up plugins in the setuptools `entry_points` metadata. + +NOTE: Each `python_distribution` must opt-in to being included in this repo-wide inference by tagging the namespaces with `stevedore_namespace("my.stevedore.extension")`. + +The stevedore namespace format (`my.stevedore.extension`) is similar to a Python namespace. -## `skip_pylint` +## `skip_pyright` -If true, don't run Pylint on this target's code. +If true, don't run Pyright on this target's code. diff --git a/versioned_docs/version-2.19/reference/targets/remote_environment.mdx b/versioned_docs/version-2.19/reference/targets/remote_environment.mdx index 6abe312f6..ac8db78ca 100644 --- a/versioned_docs/version-2.19/reference/targets/remote_environment.mdx +++ b/versioned_docs/version-2.19/reference/targets/remote_environment.mdx @@ -107,79 +107,79 @@ However, it is only safe to set this to `True` if the remote execution environme -## `nodejs_corepack_env_vars` +## `golang_external_linker_binary_name` -Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active. +Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active. -## `python_native_code_ld_flags` +## `nodejs_executable_search_paths` -Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active. +Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active. -## `golang_cgo_gcc_binary_name` +## `go_generate_env_vars` -Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active. +Overrides the default value from the option `[go-generate].env_vars` when this environment target is active. -## `python_bootstrap_search_path` +## `golang_cgo_gxx_binary_name` -Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active. +Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active. -## `nodejs_executable_search_paths` +## `golang_cgo_cxx_flags` -Overrides the default value from the option `[nodejs].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active. -## `golang_cgo_fortran_flags` +## `python_native_code_cpp_flags` -Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active. +Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active. -## `system_binaries_system_binary_paths` +## `pex_executable_search_paths` -Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active. +Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active. -## `shell_setup_executable_search_paths` +## `apache_thrift_thrift_search_paths` -Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active. -## `golang_cgo_c_flags` +## `test_extra_env_vars` -Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active. +Overrides the default value from the option `[test].extra_env_vars` when this environment target is active. -## `golang_cgo_tool_search_paths` +## `system_binaries_system_binary_paths` -Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active. +Overrides the default value from the option `[system-binaries].system_binary_paths` when this environment target is active. -## `golang_cgo_fortran_binary_name` +## `docker_env_vars` -Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active. +Overrides the default value from the option `[docker].env_vars` when this environment target is active. -## `jvm_global_options` +## `nodejs_search_path` -Overrides the default value from the option `[jvm].global_options` when this environment target is active. +Overrides the default value from the option `[nodejs].search_path` when this environment target is active. -## `docker_executable_search_paths` +## `golang_cgo_fortran_binary_name` -Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_fortran_binary_name` when this environment target is active. -## `apache_thrift_thrift_search_paths` +## `golang_cgo_fortran_flags` -Overrides the default value from the option `[apache-thrift].thrift_search_paths` when this environment target is active. +Overrides the default value from the option `[golang].cgo_fortran_flags` when this environment target is active. -## `docker_env_vars` +## `golang_cgo_linker_flags` -Overrides the default value from the option `[docker].env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active. -## `golang_subprocess_env_vars` +## `golang_cgo_gcc_binary_name` -Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_gcc_binary_name` when this environment target is active. -## `golang_cgo_gxx_binary_name` +## `pyenv_python_provider_installation_extra_env_vars` -Overrides the default value from the option `[golang].cgo_gxx_binary_name` when this environment target is active. +Overrides the default value from the option `[pyenv-python-provider].installation_extra_env_vars` when this environment target is active. -## `nodejs_search_path` +## `golang_go_search_paths` -Overrides the default value from the option `[nodejs].search_path` when this environment target is active. +Overrides the default value from the option `[golang].go_search_paths` when this environment target is active. @@ -335,7 +335,7 @@ Overrides the default value from the option `[subprocess-environment].env_vars` -## `golang_cgo_linker_flags` +## `golang_cgo_c_flags` -Overrides the default value from the option `[golang].cgo_linker_flags` when this environment target is active. +Overrides the default value from the option `[golang].cgo_c_flags` when this environment target is active. -## `golang_cgo_cxx_flags` +## `docker_executable_search_paths` -Overrides the default value from the option `[golang].cgo_cxx_flags` when this environment target is active. +Overrides the default value from the option `[docker].executable_search_paths` when this environment target is active. -## `golang_go_search_paths` +## `shell_setup_executable_search_paths` -Overrides the default value from the option `[golang].go_search_paths` when this environment target is active. +Overrides the default value from the option `[shell-setup].executable_search_paths` when this environment target is active. -## `python_native_code_cpp_flags` +## `python_native_code_ld_flags` -Overrides the default value from the option `[python-native-code].cpp_flags` when this environment target is active. +Overrides the default value from the option `[python-native-code].ld_flags` when this environment target is active. @@ -395,31 +395,31 @@ Overrides the default value from the option `[python-bootstrap].names` when this -## `golang_external_linker_binary_name` +## `golang_subprocess_env_vars` -Overrides the default value from the option `[golang].external_linker_binary_name` when this environment target is active. +Overrides the default value from the option `[golang].subprocess_env_vars` when this environment target is active. -## `pex_executable_search_paths` +## `jvm_global_options` -Overrides the default value from the option `[pex].executable_search_paths` when this environment target is active. +Overrides the default value from the option `[jvm].global_options` when this environment target is active. -## `test_extra_env_vars` +## `python_bootstrap_search_path` -Overrides the default value from the option `[test].extra_env_vars` when this environment target is active. +Overrides the default value from the option `[python-bootstrap].search_path` when this environment target is active. -## `go_generate_env_vars` +## `nodejs_corepack_env_vars` + + + +Overrides the default value from the option `[nodejs].corepack_env_vars` when this environment target is active. + + + +## `golang_cgo_tool_search_paths` -Overrides the default value from the option `[go-generate].env_vars` when this environment target is active. +Overrides the default value from the option `[golang].cgo_tool_search_paths` when this environment target is active. diff --git a/versioned_docs/version-2.19/reference/targets/rust_package.mdx b/versioned_docs/version-2.19/reference/targets/rust_package.mdx new file mode 100644 index 000000000..85a723e42 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/rust_package.mdx @@ -0,0 +1,75 @@ +--- +title: rust_package +description: | + A Rust package as defined in https://doc.rust-lang.org/book/ch07-01-packages-and-crates.html. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A Rust package as defined in https://doc.rust-lang.org/book/ch07-01-packages-and-crates.html. + +Expects that there is a `Cargo.toml` target in its root directory + +Backend: `pants.backend.experimental.rust` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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=['src/main.rs', 'src/new_*.rs', '!src/old_ignore.py']` + + + +## `skip_rustfmt` + + + +If true, don't run rustfmt on this crate. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/scala_artifact.mdx b/versioned_docs/version-2.19/reference/targets/scala_artifact.mdx index db20aa66a..60ec7378c 100644 --- a/versioned_docs/version-2.19/reference/targets/scala_artifact.mdx +++ b/versioned_docs/version-2.19/reference/targets/scala_artifact.mdx @@ -99,7 +99,7 @@ The JVM packages this artifact provides for the purposes of dependency inference For example, the JVM artifact `junit:junit` might provide `["org.junit.**"]`. -Usually 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.19.0rc1/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.**"]`. +Usually 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.19.0rc5/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.**"]`. The 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. diff --git a/versioned_docs/version-2.19/reference/targets/swift_source.mdx b/versioned_docs/version-2.19/reference/targets/swift_source.mdx new file mode 100644 index 000000000..25cb92236 --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/swift_source.mdx @@ -0,0 +1,78 @@ +--- +title: swift_source +description: | + A single Swift source file. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A single Swift source file. + +Backend: `pants.backend.experimental.swift` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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/v2.19/docs/targets 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. + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/swift_sources.mdx b/versioned_docs/version-2.19/reference/targets/swift_sources.mdx new file mode 100644 index 000000000..0fc4a35fb --- /dev/null +++ b/versioned_docs/version-2.19/reference/targets/swift_sources.mdx @@ -0,0 +1,80 @@ +--- +title: swift_sources +description: | + Generate a `swift_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 `swift_source` target for each file in the `sources` field. + +Backend: `pants.backend.experimental.swift` + +--- + + + +## `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. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `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.swift', 'subdir/*.swift', '!ignore_me.swift']` + + + +## `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/v2.19/docs/targets 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. + + + + diff --git a/versioned_docs/version-2.19/reference/targets/terraform_deployment.mdx b/versioned_docs/version-2.19/reference/targets/terraform_deployment.mdx index a4f9a09f1..b41ab90c3 100644 --- a/versioned_docs/version-2.19/reference/targets/terraform_deployment.mdx +++ b/versioned_docs/version-2.19/reference/targets/terraform_deployment.mdx @@ -101,4 +101,16 @@ Example: `var_files=['common.tfvars', 'prod.tfvars']` +## `skip_terraform_validate` + + + +If true, don't run `terraform validate` on this target's code. If this target is a module, `terraform validate might still be run on a `terraform_deployment that references this module. + + + diff --git a/versioned_docs/version-2.19/reference/targets/terraform_module.mdx b/versioned_docs/version-2.19/reference/targets/terraform_module.mdx index 613e3ffa8..7c645f82f 100644 --- a/versioned_docs/version-2.19/reference/targets/terraform_module.mdx +++ b/versioned_docs/version-2.19/reference/targets/terraform_module.mdx @@ -81,4 +81,28 @@ Example: `sources=['example.tf', 'new_*.tf', '!old_ignore.tf']` +## `skip_terraform_validate` + + + +If true, don't run `terraform validate` on this target's code. If this target is a module, `terraform validate might still be run on a `terraform_deployment that references this module. + + + +## `skip_tfsec` + + + +If true, don't run tfsec on this target's Terraform files. + + + diff --git a/versioned_docs/version-2.19/reference/targets/thrift_source.mdx b/versioned_docs/version-2.19/reference/targets/thrift_source.mdx index ff0ec8e79..418688dde 100644 --- a/versioned_docs/version-2.19/reference/targets/thrift_source.mdx +++ b/versioned_docs/version-2.19/reference/targets/thrift_source.mdx @@ -78,6 +78,30 @@ Path is relative to the BUILD file's directory, e.g. `source='example.ext'` +## `finagle` + + + +If True, then also generate Finagle classes for services when using Scrooge as the Thrift generator. + + + +## `jvm_jdk` + + + +The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`. + + + ## `python_resolve` +## `jvm_resolve` + + + +The resolve from `[jvm].resolves` to use when compiling this target. + +If not defined, will default to `[jvm].default_resolve`. + + + diff --git a/versioned_docs/version-2.19/reference/targets/thrift_sources.mdx b/versioned_docs/version-2.19/reference/targets/thrift_sources.mdx index e6dcb7780..8278b2ea1 100644 --- a/versioned_docs/version-2.19/reference/targets/thrift_sources.mdx +++ b/versioned_docs/version-2.19/reference/targets/thrift_sources.mdx @@ -86,6 +86,30 @@ You can specify the same file name in multiple keys, so long as you don't o +## `finagle` + + + +If True, then also generate Finagle classes for services when using Scrooge as the Thrift generator. + + + +## `jvm_jdk` + + + +The major version of the JDK that this target should be built with. If not defined, will default to `[jvm].default_source_jdk`. + + + ## `python_resolve` +## `jvm_resolve` + + + +The resolve from `[jvm].resolves` to use when compiling this target. + +If not defined, will default to `[jvm].default_resolve`. + + + ## `dependencies`