Skip to main content

Test support for writing Pants plugins.

Project description

Pants is an Apache2 licensed build tool written in Python.

The latest documentation can be found at pantsbuild <https://www.pantsbuild.org/>_.

2.5.x Stable Releases

See https://www.pantsbuild.org/v2.5/docs/release-notes-2-5 for an overview of the changes in this release series.

2.5.2rc3 (Aug 16, 2021)

Bug fixes

  • Fix shlexing of passthrough args. (cherrypick of #12547) (#12550)

2.5.2rc2 (Aug 06, 2021)

Bug fixes

  • Resolve plugins using the PEX --python option. (cherrypick of #12500) (#12505)

2.5.2rc1 (Jul 28, 2021)

New Features

  • Add option for async completion of StreamingWorkunitHandlers, disable by default in containers (Cherry-pick of #12392) (#12398)

Performance

  • Skip preparation of workunit log messages which will never be rendered. (Cherry-pick of #12396) (#12401)

Documentation

  • Clarify when we are subsetting the lockfile for 3rdparty dependencies (Cherry-pick of #12435) (#12440)

  • Fix the content type for Pants' wheel long_descriptions. (Cherry-pick of #12391) (#12403)

2.5.2rc0 (Jul 20, 2021)

Bug fixes

  • Fix anonymous telemetry logging. (#12345)

2.5.1 (Jul 12, 2021)

The second stable release of the 2.5.x series, with no changes since the previous rc.

2.5.1rc6 (Jul 08, 2021)

Bug fixes

  • Set up pants to use the latest version of humbug (#12309)

  • Hash the repo_id in the tag. (#12306)

2.5.1rc5 (Jul 7, 2021)

Bug fixes

  • Do not use [python-setup].resolve_all_constraints when using platforms (Cherry-pick of #12268) (#12270)

2.5.1rc4 (Jun 30, 2021)

Bug fixes

  • Fix dependency inference to be ambiguous when >1 type stub for same module (Cherry-pick of #12244) (#12245)

  • Fix skip_tool not working with ./pants fmt if all files are skipped (Cherry-pick of #12230) (#12233)

2.5.1rc3 (Jun 16, 2021)

Bug fixes

  • Fix Process output capture re: working_directory. (#12197) (#12198)

2.5.1rc2 (Jun 02, 2021)

Bug fixes

  • Fix Key interning race causing panic while processing panic failure (Cherry-pick of #12152) (#12158)

2.5.1rc1 (May 28, 2021)

Bug fixes

  • Fix [python-setup].resolver_jobs default value to recognize containers (Cherry-pick of #12139) (#12140)

  • Fix [coverage-py].global_report for >9 test files. (Cherry-pick of #12144) (#12146)

Performance

  • Add retries for reads and writes from remote CAS (Cherry pick of #12132) (#12136)

2.5.1rc0 (May 25, 2021)

New Features

  • Add support for global coverage reports. (Cherry-pick of #12080) (#12088)

User API Changes

  • Change Docformatter to not try to use Python 2 and Python 3.5 by default (Cherry-pick of #12099) (#12101)

Performance

  • Halve memory usage for remote cache writes. (Cherry-pick of #12083) (#12084)

  • Fix remote cache writes memory exhaustion. (Cherry-pick of #12087) (#12089)

  • Add retries with exponential back-off for remote cache (Cherry pick of #12102) (#12124)

Documentation

  • Rewrite error message when Pantsd is shut down during run (Cherry-pick of #12107) (#12116)

  • Clarify the default values for parallelism options (Cherry-pick of #12119) (#12126)

  • Make timeouts in tests less confusing (Cherry-pick of #12120) (#12125)

  • Fix scheduler initialization log (Cherry-pick of #12105) (#12111)

2.5.0 (May 15, 2021)

The first stable release of the 2.5.x series, with no changes since the previous rc.

2.5.0rc3 (May 14, 2021)

Bug fixes

  • Fix constraints resolves to pass additional args. (Cherry-pick of #12076) (#12077)

  • Fix skip_tool fields not working with ./pants fmt (Cherry-pick of #12073) (#12074)

2.5.0rc2 (May 12, 2021)

Bug fixes

  • Fix module_mapping to work regardless of capitalization and - vs _ (Cherry-pick of #12068) (#12070)

  • Fix PEX_ROOT leak for run and repl goals. (Cherry-pick of #12066) (#12067)

  • Fix Python run for apps that re-exec themselves (Cherry-pick of #12060) (#12063)

  • Fix Shell dependency inference not caching (Cherry-pick of #12052) (#12056)

2.5.0rc1 (May 10, 2021)

New Features

  • Add extra_env_vars field to python_tests target (Cherry-pick of #12022) (#12023)

Plugin API Changes

  • Auth plugins can inspect the prior result, set an expiration, and override --remote-{store,execution}-address (Cherry-pick of #12029) (#12046)

Bug fixes

  • Fix --remote-auth-plugin and --remote-oauth-bearer-token-path to execute every run with Pantsd (#12020) (#12031)

2.5.0rc0 (May 04, 2021)

New Features

  • Allow skipping linters/formatters/typecheckers by target (#12008)

  • Add runtime_package_dependencies field to shunit2_tests (#11997)

  • Tell isort to use the config file at [isort].config when safe to do so (#11994)

  • Support [coverage.py] config files using pyproject.toml, setup.cfg, and tox.ini (#11993)

  • Check parent directories too for config files for tools Pants runs (#11992)

User API Changes

  • Make python-setup resolve_all_constraints a bool. (#11985)

  • Add back interpreter_constraints field to python_awslambda (#11982)

  • Add back interpreter_constraints field to pex_binary (#11977)

Plugin API Changes

  • Add mechanism for targets to opt out of field sets (#12002)

  • Add TriBoolField field template (#12004)

  • Discover config files automatically for tools Pants runs (#11995)

  • Don't require a kwarg for Target and Field constructors (#11984)

Performance

  • Don't parse string imports if not enabled (#11975)

Documentation

  • Don't include file name in deprecation warnings (#12007)

  • Stop falling back to docstring for help messages for Target and Field (#12003)

  • Suggest using ./pants tailor when target doesn't exist for a file argument (#11996)

  • Make remote cache warning less chatty for missing files (#11976)

2.5.0.dev3 (Apr 23, 2021)

User API Changes

  • Upgrade the default mypy to a version that works with namespace packages (#11945)

  • Run MyPy only on specified files, not transitive closure (#11936)

Plugin API Changes

  • Upgrade Pants to Pex 2.1.40. (#11964)

Bug fixes

  • Release pants.pex in --unzip mode to workaround not loading properly (#11955)

  • Fix remote cache writes to not block the Pants run (#11947)

  • Fix python process name extraction. (#11966)

2.5.0.dev2 (Apr 16, 2021)

New Features

  • Handle URL requirements with constraints files. (#11907)

  • Release Pants with Python 3.9 (#11858)

  • Allow Python files without a file ending (#11905)

Bug fixes

  • Wait for all Sessions during pantsd shutdown (#11929)

  • Fix bug in Python 2.7 string dep inference. (#11900)

  • Fix remote cache storing of output_directories (#11895)

Documentation

  • Finesse some docgen markdown<->html issues. (#11927)

2.5.0.dev1 (Apr 10, 2021)

New Features

  • Add dependency inference for Shell (#11857)

  • Add Shell support with Shellcheck, shmft, and shunit2 test runner (#11844)

  • Warn if config files detected but not wired up to Pants (#11852)

  • Warn when dependency inference fails for protobuf_library targets due to ambiguity (#11849)

User API Changes

  • Remove deprecated unzip field for pex_binary (#11868)

  • Deprecate --ignore-pants-warnings in favor of --ignore-warnings (#11851)

Plugin API changes

  • Require WorkunitsCallback to set can_finish_async (#11687)

Documentation

  • Fix type in tags help message (#11836)

2.5.0.dev0 (Apr 02, 2021)

New Features

  • Subset lockfile resolves. (#11773)

User API Changes

  • Remove deprecated --process-execution-cleanup-local-dirs, --process-execution-use-local-cache, and --process-execution-local-enable-nailgun (#11821)

  • Always use new pip resolver and remove deprecated [python-setup].resolver_version (#11819)

  • Remove deprecated [setuptools].entry_point and [setuptools].interpreter_constraints (#11822)

  • Remove deprecated --mypy-plugin-version, pantsd.log file, --plugin-cache-dir

Plugin API Changes

  • Remove deprecated InteractiveProcess.hermetic_env.

  • Add RuleRunner.write_files() for more declarative tests (#11817)

  • Upgrade Pex to 2.1.38. (#11829)

Bug fixes

  • Fix transitive excludes for generating setup.py (#11811)

  • Fix workunit visibility calculation. (#11816)

  • Fix __run.sh to respect working_directory. (#11814)

Documentation

  • Fix misleading docs for [mypy].skip (#11810)

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pantsbuild.pants.testutil-2.5.2rc3-py37.py38.py39-none-any.whl (20.8 kB view hashes)

Uploaded Python 3.7 Python 3.8 Python 3.9

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page