Metadata-Version: 2.1
Name: pantsbuild.pants.testutil
Version: 2.14.0.dev4
Summary: Test support for writing Pants plugins.
Home-page: https://github.com/pantsbuild/pants
License: Apache License, Version 2.0
Project-URL: Documentation, https://www.pantsbuild.org/
Project-URL: Source, https://github.com/pantsbuild/pants
Project-URL: Tracker, https://github.com/pantsbuild/pants/issues
Project-URL: Changelog, https://www.pantsbuild.org/docs/changelog
Project-URL: Twitter, https://twitter.com/pantsbuild
Project-URL: Slack, https://www.pantsbuild.org/docs/getting-help
Project-URL: YouTube, https://www.youtube.com/channel/UCCcfCbDqtqlCkFEuENsHlbQ
Project-URL: Mailing lists, https://www.pantsbuild.org/docs/getting-help
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.7,<3.10
Description-Content-Type: text/markdown
Requires-Dist: pantsbuild.pants (==2.14.0.dev4)
Requires-Dist: pytest (<7.1.0,>=6.2.4)

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

The latest documentation can be found at [pantsbuild.org](https://www.pantsbuild.org/).


# 2.14.x Release Series

## 2.14.0.dev4 (Aug 05, 2022)

### New Features

* Add `[pytest].config` to set custom config file paths ([#16423](https://github.com/pantsbuild/pants/pull/16423))

* java/protobuf: add support for grpc-java codegen ([#16350](https://github.com/pantsbuild/pants/pull/16350))

### User API Changes

* Deprecate `[python].lockfile_generator` ([#16418](https://github.com/pantsbuild/pants/pull/16418))

* Replace `--[no-]process-cleanup` with `--keep-sandboxes={always,never,on_failure}` ([#16415](https://github.com/pantsbuild/pants/pull/16415))

* Add a few popular python packages to default modules mapping ([#16330](https://github.com/pantsbuild/pants/pull/16330))

* Deprecate `[python].tailor_ignore_solitary_init_files` in favor of more useful `[python].tailor_ignore_empty_init_files` ([#16305](https://github.com/pantsbuild/pants/pull/16305))

* Upgrade Pex to 2.1.102. ([#16313](https://github.com/pantsbuild/pants/pull/16313))

* Enable `[python-infer].unowned_dependency_behavior="warning"` by default. ([#16281](https://github.com/pantsbuild/pants/pull/16281))

* Upgrade Pex to 2.1.101. ([#16297](https://github.com/pantsbuild/pants/pull/16297))

### Plugin API Changes

* Add entry point support for remote auth plugin ([#16212](https://github.com/pantsbuild/pants/pull/16212))

* Provide foundations for a deploy goal ([#16335](https://github.com/pantsbuild/pants/pull/16335))

### Bug fixes

* Fix docker invalidation bug. ([#16419](https://github.com/pantsbuild/pants/pull/16419))

* Add missing `help` message to experimental backends ([#16403](https://github.com/pantsbuild/pants/pull/16403))

* Set immutable_input_digests on a docker RunRequest. ([#16385](https://github.com/pantsbuild/pants/pull/16385))

* go: pass -p option to `go tool asm` on Go v1.19+ ([#16381](https://github.com/pantsbuild/pants/pull/16381))

* jvm: fix fetching artifacts with non-jar packaging ([#16358](https://github.com/pantsbuild/pants/pull/16358))

* [internal] Add missing timeout field to target generators ([#16314](https://github.com/pantsbuild/pants/pull/16314))

* Include Helm chart dependency inference rules ([#16368](https://github.com/pantsbuild/pants/pull/16368))

* [internal] Use `f_globals` instead of `inspect.getmodule` in `collect_rules` ([#16357](https://github.com/pantsbuild/pants/pull/16357))

* Silence mkdir, cp, and mv commands with MyPy caching ([#16340](https://github.com/pantsbuild/pants/pull/16340))

* fix kotlin tailor for junit tests ([#16333](https://github.com/pantsbuild/pants/pull/16333))

* Leverage a multiprocess-safe strategy for MyPy's cache ([#16290](https://github.com/pantsbuild/pants/pull/16290))

* Eagerly error for symlink loops ([#16319](https://github.com/pantsbuild/pants/pull/16319))

* Add a newline at the end of `paths` output ([#16302](https://github.com/pantsbuild/pants/pull/16302))

* Consume inits part of package object within the inner scope ([#16282](https://github.com/pantsbuild/pants/pull/16282))

* Explicitly add directory entries to resources JARs  ([#16264](https://github.com/pantsbuild/pants/pull/16264))

### Performance

* Implement a `validate` mode to reduce network usage for remote caches ([#16398](https://github.com/pantsbuild/pants/pull/16398))

### Documentation

* Document how to use Pylint reports ([#16399](https://github.com/pantsbuild/pants/pull/16399))

* Fix source roots docs. ([#16363](https://github.com/pantsbuild/pants/pull/16363))

* Show advanced options with `help` if there are no basic options ([#16352](https://github.com/pantsbuild/pants/pull/16352))

* Improve a docker backend warning. ([#16355](https://github.com/pantsbuild/pants/pull/16355))

* Link to dev.to post on resource hub. ([#16331](https://github.com/pantsbuild/pants/pull/16331))

* Only show the deprecated option section with `help` if there are deprecated options ([#16339](https://github.com/pantsbuild/pants/pull/16339))

* add tailor docs for kotlin backend ([#16332](https://github.com/pantsbuild/pants/pull/16332))

* Fix the experimental_run_shell_command example. ([#16286](https://github.com/pantsbuild/pants/pull/16286))

* Fix typo in backend name ([#16312](https://github.com/pantsbuild/pants/pull/16312))

* docs: add initial Kotlin docs ([#16304](https://github.com/pantsbuild/pants/pull/16304))

* Document test sharding and update plugin docs with 2.13 changes ([#16293](https://github.com/pantsbuild/pants/pull/16293))

## 2.14.0.dev3 (Jul 22, 2022)

### New Features

* add Go ASDF support ([#16246](https://github.com/pantsbuild/pants/pull/16246))

* Add `[python].default_run_goal_use_sandbox` ([#16239](https://github.com/pantsbuild/pants/pull/16239))

* Add `include_sources` to `pex_binary` target ([#16215](https://github.com/pantsbuild/pants/pull/16215))

* allow JVM sources to have files dependencies ([#16203](https://github.com/pantsbuild/pants/pull/16203))

* Optionally strip metadata and timestamps from JVM jars ([#16134](https://github.com/pantsbuild/pants/pull/16134))

* Support timeouts in Helm unittest targets ([#16181](https://github.com/pantsbuild/pants/pull/16181))

* Allow for dependency inference plugins to provide excludes ([#16155](https://github.com/pantsbuild/pants/pull/16155))

* Add support for strict and color flags in Helm unittest ([#15947](https://github.com/pantsbuild/pants/pull/15947))

### User API Changes

* Ban `../` in `source` and `sources` fields ([#16227](https://github.com/pantsbuild/pants/pull/16227))

* Warn users if they set remote cache and or/execution via config while  the values are provided by the auth plugin. ([#16165](https://github.com/pantsbuild/pants/pull/16165))

* Upgrade Pex to 2.1.99. ([#16184](https://github.com/pantsbuild/pants/pull/16184))

* Upgrade python reqs, upgrade default setuptools to 63.1.0 ([#16168](https://github.com/pantsbuild/pants/pull/16168))

* Add test timeouts to JUnit and Scalatest targets. ([#16126](https://github.com/pantsbuild/pants/pull/16126))

### Plugin API Changes

* Generically compute dynamic defaults for `Field`s ([#16206](https://github.com/pantsbuild/pants/pull/16206))

* Add support for auth plugin setting its name ([#16171](https://github.com/pantsbuild/pants/pull/16171))

* Fold dep injection into inference, and use FieldSet ([#16107](https://github.com/pantsbuild/pants/pull/16107))

### Bug fixes

* Allow using `--import` option with Autoflake ([#16192](https://github.com/pantsbuild/pants/pull/16192))

* Dont use PEX as an API to fix `ModuleNotFoundError` for `--debug-adapter` ([#16263](https://github.com/pantsbuild/pants/pull/16263))

* Apply parameter filling for `parametrize`d dependencies to excludes, and fix accommodation for file-addressed atom targets ([#16249](https://github.com/pantsbuild/pants/pull/16249))

* [internal] Refactors `output_field` to default to something that disambiguates on parametrized fields ([#16232](https://github.com/pantsbuild/pants/pull/16232))

* fix scala plugins args order causing cache issues ([#16228](https://github.com/pantsbuild/pants/pull/16228))

* Fix explicit dependencies of `parametrize`d targets not working for some target types ([#16197](https://github.com/pantsbuild/pants/pull/16197))

* Add `overrides` field to Scala targets ([#16204](https://github.com/pantsbuild/pants/pull/16204))

* Fill address parameters in all cases, rather than only when a consumer is `parametrize`d. ([#16198](https://github.com/pantsbuild/pants/pull/16198))

* Use filelists to make archive creation tasks more reliable ([#16183](https://github.com/pantsbuild/pants/pull/16183))

* Allow macros to raise builtin Errors ([#16174](https://github.com/pantsbuild/pants/pull/16174))

* Fix defaulting of parameters in explicitly specified deps on `parametrize`d targets for AsyncFieldMixin ([#16176](https://github.com/pantsbuild/pants/pull/16176))

* java: add proper inference of Scrooge Java Thrift dependencies ([#16130](https://github.com/pantsbuild/pants/pull/16130))

* Fix "dependency" pluralization ([#16150](https://github.com/pantsbuild/pants/pull/16150))

* Improve memoization of interpreter constraints, Python parsing, and request classes ([#16141](https://github.com/pantsbuild/pants/pull/16141))

* Add support for `InteractiveProcess` consuming inputs while `run_in_workspace=True` ([#16093](https://github.com/pantsbuild/pants/pull/16093))

* Optimize `get_expanded_specs` for `StreamingWorkunit` plugins ([#16106](https://github.com/pantsbuild/pants/pull/16106))

### Performance

* Port `@rule` `Get`s to rust ([#16160](https://github.com/pantsbuild/pants/pull/16160))

### Documentation

* Add Vicara Solutions to the users page. ([#16221](https://github.com/pantsbuild/pants/pull/16221))

* Document the "fromfile" feature. ([#16205](https://github.com/pantsbuild/pants/pull/16205))

* Document `--filter` options working with any goal ([#16090](https://github.com/pantsbuild/pants/pull/16090))

* Updates installation docs to refer to the 1-step setup script ([#16149](https://github.com/pantsbuild/pants/pull/16149))

* Add 2.12 changelog to docsite ([#16136](https://github.com/pantsbuild/pants/pull/16136))

## 2.14.0.dev2 (Jul 11, 2022)

### User API Changes

* Revert "Upgrade Pex to 2.1.95. (#16110)" ([#16125](https://github.com/pantsbuild/pants/pull/16125))

* Add a lock for the Poetry tool. ([#16117](https://github.com/pantsbuild/pants/pull/16117))

* Upgrade Pex to 2.1.95. ([#16110](https://github.com/pantsbuild/pants/pull/16110))

* Fix poetry locks missing hashes. ([#16112](https://github.com/pantsbuild/pants/pull/16112))

* java/avro: inject runtime library dependency ([#15904](https://github.com/pantsbuild/pants/pull/15904))

### Bug fixes

* Fix issue with `__defaults__` not propagating over gaps in the tree of BUILD files. ([#16089](https://github.com/pantsbuild/pants/pull/16089))

* Write to caches during backtracking ([#16078](https://github.com/pantsbuild/pants/pull/16078))

* Record ongoing backtrack attempts ([#16075](https://github.com/pantsbuild/pants/pull/16075))

### Documentation

* New doc explaining vcs_version. ([#16092](https://github.com/pantsbuild/pants/pull/16092))

* Fix typo in warning for `[python].resolve_all_constraints` ([#16068](https://github.com/pantsbuild/pants/pull/16068))

## 2.14.0.dev1 (Jul 05, 2022)

### New Features

* Add support for extra env variables in go tests ([#16013](https://github.com/pantsbuild/pants/pull/16013))

* Add ability to `run` any `PythonSourceField` ([#15849](https://github.com/pantsbuild/pants/pull/15849))

* Add `--debug-adapter` flag to `run` ([#15829](https://github.com/pantsbuild/pants/pull/15829))

### User API Changes

* Correct deprecation warning for addressing `pex_binary` targets by filename to 2.15 ([#16056](https://github.com/pantsbuild/pants/pull/16056))

* Default `scala-infer` `force_add_siblings_as_dependencies` to False. ([#16031](https://github.com/pantsbuild/pants/pull/16031))

* Upgrade Pex to 2.1.94. ([#16029](https://github.com/pantsbuild/pants/pull/16029))

* Remove `python-infer` `inits` option. ([#16036](https://github.com/pantsbuild/pants/pull/16036))

* Remove `golang` `expected_version` option. ([#16033](https://github.com/pantsbuild/pants/pull/16033))

* Remove the `filter` goal. ([#16032](https://github.com/pantsbuild/pants/pull/16032))

* Default `--use-deprecated-pex-binary-run-semantics` to `False`. ([#16034](https://github.com/pantsbuild/pants/pull/16034))

* Default `python` `tailor_pex_binary_targets` to `False`. ([#16035](https://github.com/pantsbuild/pants/pull/16035))

* Deprecate not setting `tailor_pex_binary_targets` explictly ([#15962](https://github.com/pantsbuild/pants/pull/15962))

* `tailor` and `update-build-files` require specifying CLI arguments ([#15941](https://github.com/pantsbuild/pants/pull/15941))

* Upgrade default version of black to 22.6.0 ([#15960](https://github.com/pantsbuild/pants/pull/15960))

* Upgrade default version of pyupgrade to 2.34.0 ([#15956](https://github.com/pantsbuild/pants/pull/15956))

### Plugin API Changes

* `fmt` plugins can add new files ([#15846](https://github.com/pantsbuild/pants/pull/15846))

* Pants internally uses dedicated Sources and Dependencies fields ([#16037](https://github.com/pantsbuild/pants/pull/16037))

### Bug fixes

* Fix pantsd TTY handling. ([#16038](https://github.com/pantsbuild/pants/pull/16038))

* revert REAPI batch API PRs ([#16016](https://github.com/pantsbuild/pants/pull/16016))

* Backtrack through calls from `@rules` to synchronous engine methods ([#15979](https://github.com/pantsbuild/pants/pull/15979))

### Documentation

* Fix CI provider table rendering. ([#16051](https://github.com/pantsbuild/pants/pull/16051))

* Update docs with 2.12 changes: default Pex lockfile generator, `pants.toml` env var interpolation, pip VCS requirements, and Python interpreter constraints ([#16000](https://github.com/pantsbuild/pants/pull/16000))

* Fix alpha release email template typo. ([#16027](https://github.com/pantsbuild/pants/pull/16027))

* Document Docker registries configuration options for `skip_push` and `extra_image_tags`. ([#16015](https://github.com/pantsbuild/pants/pull/16015))

* Update Python documentation with 2.11 changes ([#15857](https://github.com/pantsbuild/pants/pull/15857))

* Update the docs for `fmt` and test report changes ([#15968](https://github.com/pantsbuild/pants/pull/15968))

* Use Markdown h3 for ToC support ([#15964](https://github.com/pantsbuild/pants/pull/15964))

* Direct people to a quick form before they join Slack. ([#15957](https://github.com/pantsbuild/pants/pull/15957))

## 2.14.0.dev0 (Jun 25, 2022)

### New Features

* Add repository config option to Docker registries. ([#15884](https://github.com/pantsbuild/pants/pull/15884))

* Add `__defaults__` BUILD file symbol ([#15836](https://github.com/pantsbuild/pants/pull/15836))

### User API Changes

* Deprecate `--use-deprecated-directory-cli-args-semantics` and default to false ([#15939](https://github.com/pantsbuild/pants/pull/15939))

* Remove deprecated `[golang].expected_version` in favor of `[golang].minimum_expected_version` ([#15942](https://github.com/pantsbuild/pants/pull/15942))

* Upgrade default iPython to 7.34, which drops Python 3.6 ([#15934](https://github.com/pantsbuild/pants/pull/15934))

* Remove deprecated `--excluded-target-regexp`, `--files-not-found-behavior`, and `--owners-not-found-behavior` global options ([#15929](https://github.com/pantsbuild/pants/pull/15929))

* Deprecate implicit setting of `--remote-cache-{read,write,eager-fetch}` with `--remote-execution` ([#15900](https://github.com/pantsbuild/pants/pull/15900))

* Upgrade Pex to 2.1.100. ([#16285](https://github.com/pantsbuild/pants/pull/16285))

### Plugin API Changes

* Plugin fields should propagate to subclassed target types. ([#15876](https://github.com/pantsbuild/pants/pull/15876))

* Introduce a plugin API to provide all thread local state, and deprecate stdio-specific methods ([#15890](https://github.com/pantsbuild/pants/pull/15890))

### Bug fixes

* Assorted remote metrics fixes. ([#15914](https://github.com/pantsbuild/pants/pull/15914))

* Fix bad "<infallible>" description in invalid addresses error messages ([#15859](https://github.com/pantsbuild/pants/pull/15859))

* Allow JVM memory controls to bound the process pool size to less than the process parallelism ([#15903](https://github.com/pantsbuild/pants/pull/15903))

* Upgrade to `nails` `0.13.0` to pick up support for `JDK >=13`. ([#15899](https://github.com/pantsbuild/pants/pull/15899))

* Increment the missing-digest backtracking level once per attempt ([#15889](https://github.com/pantsbuild/pants/pull/15889))

* Scala: should visit ctor args of base type ([#15880](https://github.com/pantsbuild/pants/pull/15880))

* Scala: mark an object that extends another type as recursive ([#15865](https://github.com/pantsbuild/pants/pull/15865))

* Fix reporting of time spent downloading files ([#15873](https://github.com/pantsbuild/pants/pull/15873))

### Performance

* Dedupe `load_bytes_with` calls to a remote Store ([#15901](https://github.com/pantsbuild/pants/pull/15901))

* Improve mypy runs by adding the "incremental" mypy cache ([#16276](https://github.com/pantsbuild/pants/pull/16276))

### Documentation

* Add test debugging doc ([#15948](https://github.com/pantsbuild/pants/pull/15948))

* Update certificate environment variable advice for #14808. ([#15943](https://github.com/pantsbuild/pants/pull/15943))

* Clarify deprecation messages for `tailor` and `update-build-files` requiring CLI arguments ([#15932](https://github.com/pantsbuild/pants/pull/15932))

* Fix GCF Handler documentation. ([#16284](https://github.com/pantsbuild/pants/pull/16284))
