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.9.x Release Series
2.9.0.dev4 (Dec 13, 2021)
New Features
-
[jvm] Hook up the ability to run JUnit tests written in Scala (#13868)
-
scala: add
scalafmt
support forfmt
andlint
goals (#13814) -
scala: add protobuf codegen support via
scalapb
(#13853) -
Add support for global
scalac
plugins. (#13827) -
JVM: Adds
jar
field tojvm_artifact
(#13834)
User API Changes
-
relocate_files
no longer used withexport-codegen
goal (#13829) -
Include
shell_source(s)
indocker_image
build context. (#13761)
Plugin API Changes
-
Codegen plugins can turn off
export-codegen
integration. (#13828) -
Deprecate
testutil.RuleRunner.create_files()
.create_file()
and.add_to_build_file()
(#13817)
Bug fixes
- Fix
.pyi
files not automatically depending on__init__.py
(#13844)
Performance
- [jvm] Use
immutable_inputs
to provide the compiletime classpath (#13862)
Documentation
-
Improve Docker undefined build arg behavior (#13723)
-
Add missing backtick (#13861)
-
Do not log extra deprecation info when there are no changes for
update-build-files --check
. (#13855)
2.9.0.dev3 (Dec 06, 2021)
New Features
-
java: add support for Google Java Format (#13811)
-
Adds support for remote jvm artifact urls (#13793)
-
Go tests can depend on
file
targets (e.g.testdata
folder) (#13781) -
An option to test/run/repl against the entire lockfile. (#13732)
-
Add
test_timeout
fields togo_package
(#13707) -
Added the
paths
goal to render all paths between two targets (#13778) -
Add support for inferring relative imports from Scala (#13775)
-
go: add
go vet
linter (#13438) -
Support interpolating Docker build args into the
repository
field ofdocker_image
targets. (#13721) -
Expose Pex
--resolve-local-platforms
option. (#13715) -
Expose Pex
--layout
option forpex_binary
. (#13714) -
Add
skip_tests
field togo_package
andshunit2_test
(#13708) -
JVM: Support strong first-party declarations of provided types (#13698)
-
scala: add
repl
support (#13576) -
Capture pylint reports. (#13689)
User API Changes
-
Rename
pypi_repositories
field torepositories
(#13794) -
Add
--local-cache
and--process-cleanup
to replace--process-execution-local-cache
and--process-execution-local-cleanup
(#13769) -
Add
pants_requirements
target generator and deprecatepants_requirement
macro (#13512) -
Stop generating
go_package
targets fromgo_mod
(#13702) -
Rename
go_first_party_package
target togo_package
(#13681) -
Upgrade default version of Black from 21.9b0 to 21.12b0 (#13816)
-
Upgrade to Pex 2.1.56. (#13713)
Plugin API Changes
IntField
andFloatField
can ban negative numbers and zero (#13705)
Bug fixes
-
Support materializing files through file symlinks. (#13789)
-
Fix duplicate error message for
publish
with no matching targets (#13776) -
Fix bug when
docker push
ing multiple tags. (#13764) -
Fix Java / Scala cycle artifact filename collision. (#13759)
-
Fix
run
goal forpex_binary
with a script entry point from a 3rdparty dependency. (#13748) -
Fix hadolint SIGSEGV. (#13736)
-
Fix
--resolve-local-platforms
help. (#13722) -
Avoid calling disabled stream handlers. (#13680)
-
Fix Go compilation failures causing
test
goal to error (#13711) -
Fix UI rendering of Go packages with no tests (#13710)
-
Fix dup 3rdparty dists introduced by local dists. (#13690)
-
Make tailor generate correct fields for python_requirements. (#13687)
-
Interactive processes kill the process and its children on Ctrl+C. (#13678)
2.9.0.dev2 (Nov 18, 2021)
New Features
-
[jvm] Add support for compiling cycles between Java and Scala (#13653)
-
[jvm]: Add Export types to dependency inference code and include exports in compile results for Java sources (#13603)
-
Allow tailor to pick up
docker_image
targets for any file with "Dockerfile" in it (#13601) -
[jvm] Add Scala consumed-symbols inference. (#13632)
-
[jvm] Add basic extraction of consumed symbols for Scala (#13628)
User API Changes
-
Report standard backends in anonymous telemetry (#13670)
-
Add
[twine].ca_certs_path
option. (#13593) -
Bump twine to 3.6.0 and add tool lockfile (#13594)
-
Ban
*
globs and!
ignores insource: str
field (#13629)
Bug fixes
-
Pass Docker env vars to
docker publish
. (#13669) -
Fix download URL for
grpc_python_plugin
on macos. (#13656) -
Fix Python dependency inference breaking with
python_source
targets (#13627) -
Fix swallowing of git stderr. (#13626)
-
Register skip fields for python linters and mypy also on the
python_test_utils
target. (#13616)
2.9.0.dev1 (Nov 13, 2021)
New Features
-
Add
instructions
field todocker_image
to support generating the Dockerfile (#13386) -
Add
--unowned-dependency-behavior
option for Python (#13491)
User API Changes
- Upgrade default pylint to v2.11.1 (#13585)
Plugin API Changes
- [plugin-api] Add
default_glob_match_error_behavior
toSourcesField
. (#13578)
Bug fixes
- Fix
--no-print-stacktrace
. (#13539)
Performance
-
Do not invalidate parent paths when only file content has changed (#13566)
-
Fix caching of binary lookups and avoid re-running
pytest
setup for environment changes (#13559) -
Fix slow performance from recursive
__repr__
and__hash__
for Go (#13492) -
Go: improve performance of first-party package analysis (#13476)
Documentation
- Fix
tailor
confusion with macros vs. targets (#13574)
2.9.0.dev0 (Nov 03, 2021)
New Features
-
Add overrides to python_requirements and poetry_requirements (#13458)
-
Add
--tailor-check
(#13432) -
An option to not clean up the binary chroot for the run goal. (#13427)
-
Add
[tailor].ignore_paths
and[tailor].ignore_adding_targets
(#13422) -
Validate that
[tailor].build_file_name
is compatible with[GLOBAL].build_patterns
(#13420)
User API Changes
-
Remove deprecated
pex_binary
fields. (#13479) -
Remove deprecated --pants-supportdir. (#13473)
-
Remove setup_py_commands from python_distribution. (#13450)
-
Remove deprecated
InferredDependencies.sibling_dependencies_inferrable
kwarg (#13440) -
CheckResults
no longer accepts deprecatedtypechecker_name
kwarg (#13434) -
Remove deprecated
[pytest].junit_xml_dir
option. (#13444) -
Remove deprecated
--list-provides
option (#13441) -
Remove deprecated
module_mapping
andtype_stubs_module_mapping
fields (#13442) -
Remove
entry_point=<none>
forpex_binary
in favor of leaving off the field (#13443) -
Remove deprecated
Sources
type in favor ofSourcesField
(#13439) -
Remove deprecated
requirements_relpath
frompython_requirements
macro (#13437) -
Remove deprecated
protobuf_library
,python_library
,shell_library
, andpython_requirement_library
target aliases (#13429) -
Remove deprecated
--peek-output
(#13433) -
Remove dependencies goal deprecated --type option. (#13431)
-
Remove dependees
--output-format
option. (#13430) -
Validate
python_test
andpython_tests
targets not used forconftest.py
andtest_foo.pyi
(#13436) -
Move
[python] interpreter_search_paths
to[python-bootstrap] search_path
, and add support for sandboxed Python scripts in@rule
s (#13340)
Plugin API Changes
-
Fix
fmt
,lint
,test
, andcheck
plugins having to usesources
FieldSet
value (#13456) -
Add support for extracting
.gz
files. (#13335)
Bug fixes
-
[bugfix] Do not cache Docker invocations between pants runs. Fixes #13461. (#13464)
-
Fix Python bootstrap interpreter search. (#13278)
-
Upgrade to Pex 2.1.54. (#13426)
-
Upgrade to Pex 2.1.53. (#13423)
-
Consume the
go
directive when compiling (#13387) -
Don't error for invalid Go third-party packages unless building them (#13405)
-
assume version 1 for older lockfiles without
version
key (#13399) -
Removes leading whitespace when
tailor
ing BUILD files without header text (#13375) -
Go: don't error for unsupported third-party sources with project introspection (#13377)
-
Fix missing field for
tffmt
inlint
. (#13355) -
Use strict resolves by default for the JVM (#13353)
-
Parse SSH git requirements in poetry config. (#13344)
Performance
-
Check for
@rule
graph cycles asynchronously (#13370) -
Use
--layout=packed
for all monolithic resolves. (#13400)
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.9.0.dev4-py37.py38.py39-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b632c68f4b08d2c91ba21494ab3113ae4f7e586462ec46568bddb1002f79db09 |
|
MD5 | ac78746f891de9bb11b1931e6cb4cba9 |
|
BLAKE2b-256 | 73089daddf768827c635821567988d6eeebce2c293ba07824751d6a643aa2694 |