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.1 (May 13, 2022)
The second stable release of the 2.8.x series, with no changes since the previous rc!
2.8.1rc2 (Jan 03, 2022)
Bug fixes
-
Fix
.pyitype stubs to show up inpython_distribution(cherrypick of #14033) (#14036) -
Fix bug when
docker pushing multiple tags. (cherrypick of #13764) (#14042) -
Fix
--log-levels-by-targetnot working for logs from Python code (Cherry-pick of #13939) (#13941) -
Fix
tailornot setting thenamefield (Cherry-pick of #13913) (#13923) -
Fix
.pyifiles not automatically depending on__init__.py(Cherry-pick of #13844) (#13858)
2.8.1rc1 (Nov 30, 2021)
Bug fixes
-
[bugfix] Pass Docker env vars to
docker publish. (cherrypick of #13669) (#13752) -
Make tailor generate correct fields for
python_requirements. (cherrypick of #13687) (#13688)
2.8.1rc0 (Nov 17, 2021)
Bug fixes
- Fix download URL for
grpc_python_pluginon macos (cherrypick of #13656) (#13659)
2.8.0 (Nov 17, 2021)
The first stable release of the 2.8.x series, with no changes since the previous release candidate!
2.8.0rc6 (Nov 16, 2021)
New features
- Add
[twine].ca_certs_pathoption (Cherry-pick of #13593) (#13642)
User API Changes
-
Ban
*globs and!ignores insource: strfield (Cherry-pick of #13629) (#13636) -
Bump twine to 3.6.0 and add tool lockfile (Cherry-pick of #13594) (#13640)
Bug fixes
-
Fix Python dependency inference breaking with
python_sourcetargets (Cherry-pick of #13627) (#13633) -
Register skip fields for python linters and mypy also on the
python_test_utilstarget. (Cherry-pick of #13616) (#13623)
2.8.0rc5 (Nov 10, 2021)
Performance
- Fix caching of binary lookups and avoid re-running
pytestsetup for environment changes (cherrypick of #13559) (#13561)
Documentation
- Fix
tailorconfusion with macros vs. targets (cherrypick of #13574) (#13582)
2.8.0rc4 (Nov 09, 2021)
Bug fixes
-
Don't duplicate Go error logs when dependency failed to compile (Cherry-pick of #13502) (#13538)
-
Fix
--no-print-stacktrace. (cherrypick of #13539) (#13541)
Documentation
- Fix formatting of overrides field in docs (Cherry-pick of #13549) (#13552)
2.8.0rc3 (Nov 04, 2021)
Performance
-
Go: improve performance of first-party package analysis (Cherry-pick of #13476) (#13486)
-
Fix slow performance from recursive
__repr__and__hash__for Go (Cherry-pick of #13492) (#13493)
2.8.0rc2 (Nov 02, 2021)
New Features
-
Add overrides to python_requirements and poetry_requirements (Cherry-pick of #13458) (#13475)
-
Add
--tailor-check(Cherry-pick of #13432) (#13457) -
Add
[tailor].ignore_pathsand[tailor].ignore_adding_targets(Cherry-pick of #13422) (#13454) -
Validate that
[tailor].build_file_nameis compatible with[GLOBAL].build_patterns(Cherry-pick of #13420) (#13446)
Plugin API Changes
- Fix
fmt,lint,test, andcheckplugins having to usesourcesFieldSetvalue (Cherry-pick of #13456) (#13466)
Bug fixes
-
Do not cache Docker invocations between Pants runs (Cherry-pick of #13464) (#13467)
-
Upgrade to Pex 2.1.54 (Cherry picks of 50914a5e and 189cd753) (#13459)
2.8.0rc1 (Oct 28, 2021)
Bug fixes
-
Assume version 1 for older lockfiles without
versionkey (cherrypick of #13399) (#13406) -
Removes leading whitespace when
tailoring BUILD files without header text (#13394) -
Go: don't error for unsupported third-party sources with project introspection (Cherry-pick of #13377) (#13381)
-
Don't error for invalid Go third-party packages unless building them (Cherry-pick of #13405) (#13410)
-
Fix missing field for
tffmtinlint. (cherrypick of #13355) (#13356)
Performance
-
Use
--layout=packedfor all monolithic resolves. (cherrypick of #13400) (#13403) -
Don't download Go third-party dependencies multiple times (Cherry-pick of #13352) (#13378)
Documentation
- Make
checkoutput more useful for Go and Java (cherrypick of #13379) (#13388)
2.8.0rc0 (Oct 24, 2021)
New Features
-
update-build-filesgoal formats BUILD files with Black (#13279) -
Add
overridesfield tofilesandresourcestargets (#13304) -
Add
overridesfield toshell_sources,shunit2_sources, andprotobuf_sources(#13298) -
Add
overridesfield topython_sourcesandpython_teststarget (#13270) -
Depending on a
python_distributionwithpex_binarynow includes the built dist (#13306) -
Support arbitrary PEP-517 build systems. (#13285)
User API Changes
-
Pants's CLI output uses the full address
dir:dirinstead of the shorthanddir(#13274) -
Rename
[python-setup]to[python]and move into the python backend. (#13345) -
The default
sourcesforconftest.pyand*_test.pyinow belong to new target generatorpython_test_utils, notpython_tests(#13299) -
Deprecate including
conftest.pyand.pyifiles inpython_teststarget'ssourcesfield (#13320) -
Rename
docker_imagefieldsourcestosource(#13327) -
Merge docker
versionfield into theimage_tagsfield. (#13308) -
Upgrade default black version from 21.8b0 to 21.9b0 (#13326)
-
Terraform: move
terraform validatefromlinttocheck(#13301) -
Autoflake and Pyupgrade are now activated by experimental backends (#13317)
-
Add google cloud logging to default Python module map (#13305)
Plugin API Changes
- Add support for structured output from
publishgoal. (#13292)
Bug fixes
- Do not choke on
.in tool names forexperimental_shell_commands. (#13293)
Documentation
- Fix documentation for
file:URLs, and add an assist for malformed URLs. (#13272)
2.8.0.dev5 (Oct 17, 2021)
New Features
-
Add
./pants update-build-filesto automate fixing some deprecation warnings (#13273) -
Add
[cli.alias]config section for command line alias support. (#13228) -
Add
runsupport for newexperimental_run_shell_commandtarget. (#13229) -
Add
azureto default Python module mapping (#13275) -
Support linux arm64 binary tools. (#13249)
-
Add minimal Scala backend (#13130)
User API Changes
-
Fix
dir:anddir::to include generated targets (#13263) -
Merge Docker
image_nameinto therepositoryfield. (#13225) -
python_sourcesandpython_teststargets no longer use dependency inference, onlypython_sourceandpython_testtargets (#13231)
Plugin API Changes
- Verify each observed URL and Digest pair (#13266)
Bug fixes
-
Fix pyupgrade alias name conflict (#13282)
-
Fix generate_all_lockfiles. (#13280)
-
Don't invalidate dependency inference when unrelated file names change (#13248)
-
Fix
./pants help targetsto not include deprecated target names (#13236)
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_varsoption. (#13146) -
Support for directly
running a Docker image (#13120) -
Docker image version tag (#13097)
-
Docker
publishsupport (#13085) -
New
publishgoal (#13057)
User API Changes
-
Add
[mypy].extra_type_stubs(#13180) -
Deprecate
requirements_relpathandpyproject_toml_relpathin favor ofsourceforpython_requirementsandpoetry_requirements(#13204) -
Deprecate
module_mappingandtype_stubs_module_mappingfields forpython_requirementin favor ofmodulesandtype_stub_modules(#13197) -
Deprecate
python_library,protobuf_library, andshell_libraryin favor ofpython_sources,protobuf_sources, andshell_sources(#13196) -
Add
scikit-learnto the default module mapping (#13198) -
Deprecate
python_requirement_libraryin favor ofpython_requirement(#13133) -
An explicit
generate_setupfield onpython_distribution. (#13111) -
Upgrade to Pex 2.1.51. (#13098)
Plugin API Changes
-
Deprecate
Sourcesin favor ofSourcesField,SingleSourceField, andMultipleSourcesField(#13202) -
Rename
ResourcesSourcesand split target into generator vs. atom (#13194) -
Rename
FilesSourcesand 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.extis now a file argument, not a goal (#13212) -
pantsdfalls 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
--closedoption 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
peekemit 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
BinaryNotFoundErrorconstructor to be more generic (#13001)
Bug fixes
-
Don't invalidate the scheduler when piping output. (#13028)
-
Ensure that
Treecontents are uploaded after creation. (#13008) -
Fix case sensitivity of
module_mappingforpython_requirementsandpoetry_requirements(#12980) -
Fix spurious "Scheduling: ..." workunits with remote caching (#12973)
-
Fix
./pants dependencies --transitivewhen 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_distributiondeps for test, run, and repl (#12573) -
Tailor
python_requirementsmacro invocations. (#12862) -
Add
scriptfield topex_binaryfor console scripts (#12849) -
Add option to
[python-setup]to handle a quirk when buildingpython_distributionon MacOS Big Sur. (#12857)
User API Changes
-
Rename the
typecheckgoal tocheck(#12858) -
Ban
#in an address's target name (#12940) -
Upgrade to Pex 2.1.50. (#12888)
-
Add new version of
LockfileMetadatato 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
filesandresourcestargets 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, andzipas 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-pythonto the default Python module mapping (#12777) -
Add
PyMuPDFto the default Python module mapping (#12774)
User API Changes
-
Deprecate
--list-providesoption. (#12759) -
Upgrade default
isortto latestisort==5.9.3(#12756) -
Add
versionto lockfile metadata headers (#12788)
Plugin API Changes
OutputPathField.value_or_default()no longer has anAddressargument (#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
dataclassesnot working with dependency inference (#12818)
Performance
-
Improve cache reuse for
./pants packagewhen 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_supportdirinpants.tomland deprecate the option (#12705) -
Error, don't warn, when
--generate-lockfiles-resolveis set to a disabled tool lockfile (#12738) -
Remove deprecated
.with_binaries(). (#12724) -
Update default
[black].versionto 21.8b0 (#12718) -
Update
futuresto0.3.17. (#12722) -
Upgrade to Pex 2.1.47. (#12715)
-
Remove deprecated
[pytest].pytest_pluginsin 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
DigestEntriesfrom aDigestwhich 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_PATHcomposition. (#12736) -
Absolutize all of the
execute_pex_argsin the venv script. (#12727) -
Include
.gitignorein 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pantsbuild.pants.testutil-2.8.1-py37.py38.py39-none-any.whl.
File metadata
- Download URL: pantsbuild.pants.testutil-2.8.1-py37.py38.py39-none-any.whl
- Upload date:
- Size: 25.9 kB
- Tags: Python 3.7, Python 3.8, Python 3.9
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80cc279a4e85fc824f328af7ed0a75928d2b7d5f7f58bb1855c783dfe256ae67
|
|
| MD5 |
1afe2ee33d0c2f04bea724074a734913
|
|
| BLAKE2b-256 |
d216c24aa262a4551da390a56dd5dfa92d2088ba66c4fa13634993f6eacf83f9
|