Metadata-Version: 2.1
Name: pantsbuild.pants.testutil
Version: 2.11.0.dev3
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://pantsbuild.slack.com/join/shared_invite/zt-d0uh0mok-RLvVosDiX6JDpvStH~bFBA#/shared-invite/email
Project-URL: YouTube, https://www.youtube.com/channel/UCCcfCbDqtqlCkFEuENsHlbQ
Project-URL: Mailing lists, https://groups.google.com/g/pants-devel
Platform: UNKNOWN
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
Description-Content-Type: text/markdown
Requires-Dist: pantsbuild.pants (==2.11.0.dev3)
Requires-Dist: pytest (<8,>=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.11.x Release Series

## 2.11.0.dev3 (Mar 04, 2022)

### New Features

* Add `[python].resolves_generate_lockfiles` to enable multiple resolves but with manual generation of lockfiles ([#14675](https://github.com/pantsbuild/pants/pull/14675))

* Add `python_resolve` field to `protobuf_source` and `thrift_source` to support multiple resolves with codegen ([#14698](https://github.com/pantsbuild/pants/pull/14698))

* JVM: add war file packaging ([#13888](https://github.com/pantsbuild/pants/pull/13888))

* Improve `export` to include pip in the venv. ([#14640](https://github.com/pantsbuild/pants/pull/14640))

### User API Changes

* Remove `[python-protobuf].runtime_dependencies` in favor of Pants discovering the dependency ([#14695](https://github.com/pantsbuild/pants/pull/14695))

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

### Plugin API Changes

* Add `SkipOption` and improve `ArgsListOption` ([#14660](https://github.com/pantsbuild/pants/pull/14660))

* Move `BinaryPath` and `BashBinary` from `pants.engine.process` to `pants.core.util_rules.system_binaries` ([#14629](https://github.com/pantsbuild/pants/pull/14629))

### Bug fixes

* Fix rendering of "Scheduling: ..." workunits introduced by workunit filtering. ([#14681](https://github.com/pantsbuild/pants/pull/14681))

* Give interactive processes a chance to gracefully shutdown ([#14580](https://github.com/pantsbuild/pants/pull/14580))

* Don't show no-op regex-lint output. ([#14656](https://github.com/pantsbuild/pants/pull/14656))

* Go: introduce cache key for compile actions ([#14661](https://github.com/pantsbuild/pants/pull/14661))

* Go: Properly disable CGo ([#14623](https://github.com/pantsbuild/pants/pull/14623))

### Performance

* Add support for rendering a summary of objects held by the graph ([#14638](https://github.com/pantsbuild/pants/pull/14638))

* Reduce memory usage by interning Tasks and RuleGraph entries. ([#14683](https://github.com/pantsbuild/pants/pull/14683))

* Skip capture of `TRACE` workunits by default ([#13483](https://github.com/pantsbuild/pants/pull/13483))

## 2.11.0.dev2 (Feb 25, 2022)

### New Features

* New `--docker-build-verbose` option to print build output to the console. ([#14557](https://github.com/pantsbuild/pants/pull/14557))

### User API Changes

* Add `output_path` field to `pyoxidizer_binary` and change its default destination ([#14607](https://github.com/pantsbuild/pants/pull/14607))

* Upgrade `terraform-hcl2-parser` to version 3.0.3 ([#14554](https://github.com/pantsbuild/pants/pull/14554))

### Plugin API Changes

* Rename `pants.python.binares` to `pants.core.subsystems.python_bootstrap` ([#14613](https://github.com/pantsbuild/pants/pull/14613))

* Add `PythonToolBase.to_pex_request()` to DRY tool installation ([#14610](https://github.com/pantsbuild/pants/pull/14610))

* Move `PythonBinary` from `python.binaries` to `core.util_rules.system_binaries` ([#14609](https://github.com/pantsbuild/pants/pull/14609))

* Add `core/util_rules/system_binaries.py` and relocate `archive.py` types like `UnzipBinary` to it ([#14601](https://github.com/pantsbuild/pants/pull/14601))

### Bug fixes

* Show a helpful error message if a 3rdparty jar isn't available. ([#14595](https://github.com/pantsbuild/pants/pull/14595))

* Fix `pyoxidizer_binary` to support `python_distribution` targets that depend on others ([#14620](https://github.com/pantsbuild/pants/pull/14620))

* Coursier caches are now determined by `-repos` configuration ([#14603](https://github.com/pantsbuild/pants/pull/14603))

* adds `--no-default` to Coursier args so that we only use user-configured maven repos ([#14581](https://github.com/pantsbuild/pants/pull/14581))

### Performance

* Fix PyOxidizer to write to `~/.cache/pants` by using a named cache ([#14582](https://github.com/pantsbuild/pants/pull/14582))

### Documentation

* Rewrite `help` for `dependencies` field to mention generated targets ([#14621](https://github.com/pantsbuild/pants/pull/14621))

* Don't leak local paths into generated docs. ([#14591](https://github.com/pantsbuild/pants/pull/14591))

## 2.11.0.dev1 (Feb 22, 2022)

### New Features

* Support for `file`/`files` in JVM tests ([#14537](https://github.com/pantsbuild/pants/pull/14537))

* Support complete_platforms for `python_awslambda`. ([#14532](https://github.com/pantsbuild/pants/pull/14532))

* Support complete_platforms for Python GCFs. ([#14530](https://github.com/pantsbuild/pants/pull/14530))

* Properly support filesystem specs in the `paths` goal. ([#14518](https://github.com/pantsbuild/pants/pull/14518))

* Plumb Pex's `--complete-platform` for pex_binary. ([#14526](https://github.com/pantsbuild/pants/pull/14526))

* Adds the plugin names field to scala sources ([#14508](https://github.com/pantsbuild/pants/pull/14508))

* jvm: teach dependency inference about multiple resolves ([#14491](https://github.com/pantsbuild/pants/pull/14491))

* scala: add implicit dependency on scala-library ([#14450](https://github.com/pantsbuild/pants/pull/14450))

* py_awslambda: pass through `include_requirements:bool` to `pex_binary` ([#14469](https://github.com/pantsbuild/pants/pull/14469))

### User API Changes

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

* Create per-parametrization aliases for generator targets ([#14529](https://github.com/pantsbuild/pants/pull/14529))

* Per-resolve scala plugins ([#14497](https://github.com/pantsbuild/pants/pull/14497))

### Plugin API Changes

* Replace `GoalSubsystem.required_union_implementations` with `GoalSubsystem.activated()` ([#14313](https://github.com/pantsbuild/pants/pull/14313))

* Add dynamic help ([#14543](https://github.com/pantsbuild/pants/pull/14543))

* Add global counters, and deprecate per-workunit counters. ([#14541](https://github.com/pantsbuild/pants/pull/14541))

### Bug fixes

* Fix PyOxidizer depending on `python_distribution` with `sdist=True` (#14394)

* Fix coverage base global report creation bug. ([#14547](https://github.com/pantsbuild/pants/pull/14547))

* Tests scala local plugins, and makes it work properly on `scala_sources` targets ([#14512](https://github.com/pantsbuild/pants/pull/14512))

* Allow use of `parametrize` with the `jdk=` field of JVM targets ([#14510](https://github.com/pantsbuild/pants/pull/14510))

* Fix address parse bug in `update-build-files --fix-python-macros`. ([#14485](https://github.com/pantsbuild/pants/pull/14485))

### Performance

* Shortcircuit source subsetting if there are no distributions. ([#14564](https://github.com/pantsbuild/pants/pull/14564))

* Calculate local distribution contents once per distribution ([#14551](https://github.com/pantsbuild/pants/pull/14551))

### Documentation

* Fix the incompatible resolve error message to include the entire checked set of targets. ([#14525](https://github.com/pantsbuild/pants/pull/14525))

* Add disclaimer about `[python].enable_resolves` and lockfile generation ([#14475](https://github.com/pantsbuild/pants/pull/14475))

## 2.11.0.dev0 (Feb 11, 2022)

### New Features

* Add support for long_description_path field in python_distribution ([#14448](https://github.com/pantsbuild/pants/pull/14448))

* Improve `export` goal to handle multiple Python resolves ([#14436](https://github.com/pantsbuild/pants/pull/14436))

* Add support for multiple compile/testing JDKs ([#14421](https://github.com/pantsbuild/pants/pull/14421))

* Add initial support for a `parametrize` builtin to generate multiple copies of a target ([#14408](https://github.com/pantsbuild/pants/pull/14408))

* scala: support multiple scala versions ([#14425](https://github.com/pantsbuild/pants/pull/14425))

### User API Changes

* Remove support for JSON-encoded JVM lockfiles. ([#14458](https://github.com/pantsbuild/pants/pull/14458))

* Remove deprecated `<stage>.tag` version values. ([#14453](https://github.com/pantsbuild/pants/pull/14453))

* Remove deprecated `[scala] version` option. ([#14455](https://github.com/pantsbuild/pants/pull/14455))

* Replace `compatible_resolves` with `resolve` for JVM targets ([#14441](https://github.com/pantsbuild/pants/pull/14441))

* `python_requirement` uses `resolve: str` field, not `compatible_resolves: list[str]` ([#14420](https://github.com/pantsbuild/pants/pull/14420))

* Remove options, goals, and backends deprecated in Pants 2.10 ([#14396](https://github.com/pantsbuild/pants/pull/14396))

* Migrate the Docker context tags version from `<stage>.tag` to `tags.<stage>`. ([#14376](https://github.com/pantsbuild/pants/pull/14376))

* Default to `use_deprecated_python_macros = false` and deprecate the option ([#14399](https://github.com/pantsbuild/pants/pull/14399))

### Plugin API Changes

* Adding DictOptions and WorkspacePathOption to the declarative options ([#14433](https://github.com/pantsbuild/pants/pull/14433))

* More declarative target generators for plugins ([#14377](https://github.com/pantsbuild/pants/pull/14377))

### Bug fixes

* Fix handling of Go version for third-party packages ([#14457](https://github.com/pantsbuild/pants/pull/14457))

* Fix issue picking up base image tag from Dockerfile with a digest present. ([#14447](https://github.com/pantsbuild/pants/pull/14447))

* Make sure `[python].enable_resolves = false` disables checking for valid resolves ([#14418](https://github.com/pantsbuild/pants/pull/14418))

* Fix `pants_requirements` target generator to use resolves ([#14417](https://github.com/pantsbuild/pants/pull/14417))

* Fix `tailor` when `--use-deprecated-python-macros=false` ([#14404](https://github.com/pantsbuild/pants/pull/14404))

### Documentation

* `help` command reminds users about `help-advanced` ([#14402](https://github.com/pantsbuild/pants/pull/14402))


