Skip to main content

Test support for writing Pants plugins.

Project description

Pants is an Apache2 licensed build tool written in Python and Rust.

The latest documentation can be found at pantsbuild.org.

2.8.x Release Series

2.8.0.dev4 (Oct 11, 2021)

New Features

  • Add support for pyupgrade (#13063)

  • Support optionally restarting interactive processes when input files change (#13178)

  • Package dependencies for shell command. (#13168)

  • Add help tools (#13135)

  • Docker build args config option (#13147)

  • Add [docker].env_vars option. (#13146)

  • Support for directly running a Docker image (#13120)

  • Docker image version tag (#13097)

  • Docker publish support (#13085)

  • New publish goal (#13057)

User API Changes

  • Add [mypy].extra_type_stubs (#13180)

  • Deprecate requirements_relpath and pyproject_toml_relpath in favor of source for python_requirements and poetry_requirements (#13204)

  • Deprecate module_mapping and type_stubs_module_mapping fields for python_requirement in favor of modules and type_stub_modules (#13197)

  • Deprecate python_library, protobuf_library, and shell_library in favor of python_sources, protobuf_sources, and shell_sources (#13196)

  • Add scikit-learn to the default module mapping (#13198)

  • Deprecate python_requirement_library in favor of python_requirement (#13133)

  • An explicit generate_setup field on python_distribution. (#13111)

  • Upgrade to Pex 2.1.51. (#13098)

Plugin API Changes

  • Deprecate Sources in favor of SourcesField, SingleSourceField, and MultipleSourcesField (#13202)

  • Rename ResourcesSources and split target into generator vs. atom (#13194)

  • Rename FilesSources and split target into target generator vs. atom target (#13190)

  • Add engine_error() context manager for testing plugin exceptions (#13108)

Bug fixes

  • [jvm] Ignore symbols exposed by unnamed packages. (#13214)

  • f.ext is now a file argument, not a goal (#13212)

  • pantsd falls back to socket usage if it cannot open a TTY. (#13155)

  • Do not change working directory when extracting archives (#13077)

  • Release the GIL while creating a Session. (#13127)

Performance

  • Changing global options doesn't invalidate as much (#13144)

Documentation

  • Improve a couple of log messages. (#13121)

  • [Docs] Filter out self from list of related subsystems. (#13148)

2.8.0.dev3 (Oct 01, 2021)

New Features

  • Make the number of dots in string dep inference an option. (#13059)

  • Docker image name tags (#13048)

  • Add a --closed option to the dependencies goal. (#13043)

  • Support multiple Docker registries per image. (#13047)

  • Add Docker registry field (#13017)

  • Support for PEP-517/518 builds. (#13012)

  • Add autoflake unused import remover to Python lint tools. (#13010)

  • Support tailoring non-addressable macros. (#12989)

  • Implement Java dep inference mapper and rules (#12978)

  • Include the experimental java backend in the Pants distribution. (#13003)

  • Have peek emit expanded sources and dependencies (#12882)

  • New experimental_shell_command (#12878)

  • Support tailoring with an alternative BUILD file name (#12979)

  • Add Java dependency analysis types and launcher using javaparser library. (#12890)

User API Changes

  • Remove Gofmt backend and activate it with pants.experimental.go (#13014)

  • Register terraform lint & validate backends when the terraform backend is registered (#13002)

  • Deprecate --type in the dependencies goal. (#12998)

Plugin API Changes

  • Add RuleRunner.write_digest() (#13044)

  • Change BinaryNotFoundError constructor to be more generic (#13001)

Bug fixes

  • Don't invalidate the scheduler when piping output. (#13028)

  • Ensure that Tree contents are uploaded after creation. (#13008)

  • Fix case sensitivity of module_mapping for python_requirements and poetry_requirements (#12980)

  • Fix spurious "Scheduling: ..." workunits with remote caching (#12973)

  • Fix ./pants dependencies --transitive when run on a target generator like python_library (#12956)

Performance

  • Use nailgun for javac and import parser (#12982)

2.8.0.dev2 (Sep 17, 2021)

New Features

  • Build and install python_distribution deps for test, run, and repl (#12573)

  • Tailor python_requirements macro invocations. (#12862)

  • Add script field to pex_binary for console scripts (#12849)

  • Add option to [python-setup] to handle a quirk when building python_distribution on MacOS Big Sur. (#12857)

User API Changes

  • Rename the typecheck goal to check (#12858)

  • Ban # in an address's target name (#12940)

  • Upgrade to Pex 2.1.50. (#12888)

  • Add new version of LockfileMetadata to support checking for identically specified requirements (#12782)

Plugin API Changes

  • Add py.typed files for pantsbuild distributions in order to satisfy PEP-561 (#12842)

Bug fixes

  • Fix "file-level dependencies" on files and resources targets to not pull in sibling files (#12941)

  • Add google_cloud_function to plugin dependencies. Fix typo. (#12932)

  • If [python-setup].invalid_lockfile_behavior = ignore, don't require Pants metadata in the lockfile (#12900)

Performance

  • Don't find tar, unzip, and zip as frequently (#12947)

2.8.0.dev1 (Sep 10, 2021)

New Features

  • Support --fail-under on merged coverage. (#12778)

  • Add python-docx to the module mapping dictionary (#12775)

  • Add python-pptx to the module mapping dictionary (#12776)

  • Add opencv-python to the default Python module mapping (#12777)

  • Add PyMuPDF to the default Python module mapping (#12774)

User API Changes

  • Deprecate --list-provides option. (#12759)

  • Upgrade default isort to latest isort==5.9.3 (#12756)

  • Add version to lockfile metadata headers (#12788)

Plugin API Changes

  • OutputPathField.value_or_default() no longer has an Address argument (#12837)

Bug fixes

  • Properly include file dependencies in docker build context (#12758)

  • DigestSubset should not short-circuit when there are ignores involved. (#12648)

  • Fix backports of std lib modules like dataclasses not working with dependency inference (#12818)

Performance

  • Improve cache reuse for ./pants package when using a constraints file or lockfile (#12807)

  • Upgrade to Pex 2.1.48 and leverage packed layout. (#12808)

Documentation

  • Warn if [python-repos] is set during lockfile generation (#12800)

  • Fix a markdown issue in a help string. (#12766)

2.8.0.dev0 (Sep 03, 2021)

New Features

  • Add support for creating GCP Cloud Functions. (#12735)

  • [experimental] Add proof-of-concept Java junit test rule. (#12177)

  • Support TOML tables for dict options in pants.toml (#12707)

User API Changes

  • Remove undocumented pants_version() symbol from BUILD files (#12745)

  • Remove deprecated [python-protobuf.mypy-plugin] in favor of [mypy-protobuf] (#12743)

  • Stop interpolating pants_supportdir in pants.toml and deprecate the option (#12705)

  • Error, don't warn, when --generate-lockfiles-resolve is set to a disabled tool lockfile (#12738)

  • Remove deprecated .with_binaries(). (#12724)

  • Update default [black].version to 21.8b0 (#12718)

  • Update futures to 0.3.17. (#12722)

  • Upgrade to Pex 2.1.47. (#12715)

  • Remove deprecated [pytest].pytest_plugins in favor of [pytest].extra_requirements (#12704)

  • Remove deprecated [grpc_python_plugin] in favor of [grpc-python-plugin] (#12706)

Plugin API Changes

  • Add intrinsic to produce a DigestEntries from a Digest which reference file content by hash (#12693)

Bug fixes

  • Fix UI rendering when a workunit has completed children but no running children (#12748)

  • Improve descriptions of the process executions for PEX_PATH composition. (#12736)

  • Absolutize all of the execute_pex_args in the venv script. (#12727)

  • Include .gitignore in default pantsd_invalidation_globs (#12711)

Performance

  • Simplify implementation of materialize directories (#12696)

Documentation

  • Fix rendering of the ABOUT file. (#12744)

  • Add specific and actionable instructions to stale lockfile errors (#12699)

  • Link to pants slack from pypi project page (#12701)

Project details


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.8.0.dev4-py37.py38.py39-none-any.whl (23.5 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