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
run
ning 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
andpyproject_toml_relpath
in favor ofsource
forpython_requirements
andpoetry_requirements
(#13204) -
Deprecate
module_mapping
andtype_stubs_module_mapping
fields forpython_requirement
in favor ofmodules
andtype_stub_modules
(#13197) -
Deprecate
python_library
,protobuf_library
, andshell_library
in favor ofpython_sources
,protobuf_sources
, andshell_sources
(#13196) -
Add
scikit-learn
to the default module mapping (#13198) -
Deprecate
python_requirement_library
in favor ofpython_requirement
(#13133) -
An explicit
generate_setup
field onpython_distribution
. (#13111) -
Upgrade to Pex 2.1.51. (#13098)
Plugin API Changes
-
Deprecate
Sources
in favor ofSourcesField
,SingleSourceField
, andMultipleSourcesField
(#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
forpython_requirements
andpoetry_requirements
(#12980) -
Fix spurious "Scheduling: ..." workunits with remote caching (#12973)
-
Fix
./pants dependencies --transitive
when run on a target generator likepython_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 topex_binary
for console scripts (#12849) -
Add option to
[python-setup]
to handle a quirk when buildingpython_distribution
on MacOS Big Sur. (#12857)
User API Changes
-
Rename the
typecheck
goal tocheck
(#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
andresources
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
, andzip
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 latestisort==5.9.3
(#12756) -
Add
version
to lockfile metadata headers (#12788)
Plugin API Changes
OutputPathField.value_or_default()
no longer has anAddress
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
inpants.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
to0.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 aDigest
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 defaultpantsd_invalidation_globs
(#12711)
Performance
- Simplify implementation of materialize directories (#12696)
Documentation
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
Built Distribution
Hashes for pantsbuild.pants.testutil-2.8.0.dev4-py37.py38.py39-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42bab3233a3d70470fc0c47f1ba6eb9b2a0cb6cb00e6aab9f61d2a7fd78003ab |
|
MD5 | 7d9a0fe0aaae711eeca1142cb68ebc63 |
|
BLAKE2b-256 | 2be9414abd5641ecfeca0ecf3df83d1438450896832b18a3e58fab122f2bc454 |