Metadata-Version: 2.1
Name: pantsbuild.pants.testutil
Version: 2.8.0.dev5
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
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.8.0.dev5)
Requires-Dist: pytest (<6.3,>=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.8.x Release Series

## 2.8.0.dev5 (Oct 17, 2021)

### New Features

* Add `./pants update-build-files` to automate fixing some deprecation warnings ([#13273](https://github.com/pantsbuild/pants/pull/13273))

* Add `[cli.alias]` config section for command line alias support. ([#13228](https://github.com/pantsbuild/pants/pull/13228))

* Add `run` support for new `experimental_run_shell_command` target. ([#13229](https://github.com/pantsbuild/pants/pull/13229))

* Add `azure` to default Python module mapping ([#13275](https://github.com/pantsbuild/pants/pull/13275))

* Support linux arm64 binary tools. ([#13249](https://github.com/pantsbuild/pants/pull/13249))

* Add minimal Scala backend ([#13130](https://github.com/pantsbuild/pants/pull/13130))

### User API Changes

* Fix `dir:` and `dir::` to include generated targets ([#13263](https://github.com/pantsbuild/pants/pull/13263))

* Merge Docker `image_name` into the `repository` field. ([#13225](https://github.com/pantsbuild/pants/pull/13225))

* `python_sources` and `python_tests` targets no longer use dependency inference, only `python_source` and `python_test` targets ([#13231](https://github.com/pantsbuild/pants/pull/13231))

### Plugin API Changes

* Verify each observed URL and Digest pair ([#13266](https://github.com/pantsbuild/pants/pull/13266))

### Bug fixes

* Fix pyupgrade alias name conflict ([#13282](https://github.com/pantsbuild/pants/pull/13282))

* Fix generate_all_lockfiles. ([#13280](https://github.com/pantsbuild/pants/pull/13280))

* Don't invalidate dependency inference when unrelated file names change ([#13248](https://github.com/pantsbuild/pants/pull/13248))

* Fix `./pants help targets` to not include deprecated target names ([#13236](https://github.com/pantsbuild/pants/pull/13236))

## 2.8.0.dev4 (Oct 11, 2021)

### New Features

* Add support for pyupgrade ([#13063](https://github.com/pantsbuild/pants/pull/13063))

* Support optionally restarting interactive processes when input files change ([#13178](https://github.com/pantsbuild/pants/pull/13178))

* Package dependencies for shell command. ([#13168](https://github.com/pantsbuild/pants/pull/13168))

* Add `help tools` ([#13135](https://github.com/pantsbuild/pants/pull/13135))

* Docker build args config option ([#13147](https://github.com/pantsbuild/pants/pull/13147))

* Add `[docker].env_vars` option. ([#13146](https://github.com/pantsbuild/pants/pull/13146))

* Support for directly `run`ning a Docker image ([#13120](https://github.com/pantsbuild/pants/pull/13120))

* Docker image version tag ([#13097](https://github.com/pantsbuild/pants/pull/13097))

* Docker `publish` support ([#13085](https://github.com/pantsbuild/pants/pull/13085))

* New `publish` goal ([#13057](https://github.com/pantsbuild/pants/pull/13057))

### User API Changes

* Add `[mypy].extra_type_stubs` ([#13180](https://github.com/pantsbuild/pants/pull/13180))

* Deprecate `requirements_relpath` and `pyproject_toml_relpath` in favor of `source` for `python_requirements` and `poetry_requirements` ([#13204](https://github.com/pantsbuild/pants/pull/13204))

* Deprecate `module_mapping` and `type_stubs_module_mapping` fields for `python_requirement` in favor of `modules` and `type_stub_modules` ([#13197](https://github.com/pantsbuild/pants/pull/13197))

* Deprecate `python_library`, `protobuf_library`, and `shell_library` in favor of `python_sources`, `protobuf_sources`, and `shell_sources` ([#13196](https://github.com/pantsbuild/pants/pull/13196))

* Add `scikit-learn` to the default module mapping ([#13198](https://github.com/pantsbuild/pants/pull/13198))

* Deprecate `python_requirement_library` in favor of `python_requirement` ([#13133](https://github.com/pantsbuild/pants/pull/13133))

* An explicit `generate_setup` field on `python_distribution`. ([#13111](https://github.com/pantsbuild/pants/pull/13111))

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

### Plugin API Changes

* Deprecate `Sources` in favor of `SourcesField`, `SingleSourceField`, and `MultipleSourcesField` ([#13202](https://github.com/pantsbuild/pants/pull/13202))

* Rename `ResourcesSources` and split target into generator vs. atom ([#13194](https://github.com/pantsbuild/pants/pull/13194))

* Rename `FilesSources` and split target into target generator vs. atom target ([#13190](https://github.com/pantsbuild/pants/pull/13190))

* Add `engine_error()` context manager for testing plugin exceptions ([#13108](https://github.com/pantsbuild/pants/pull/13108))

### Bug fixes

* [jvm] Ignore symbols exposed by unnamed packages. ([#13214](https://github.com/pantsbuild/pants/pull/13214))

* `f.ext` is now a file argument, not a goal ([#13212](https://github.com/pantsbuild/pants/pull/13212))

* `pantsd` falls back to socket usage if it cannot open a TTY. ([#13155](https://github.com/pantsbuild/pants/pull/13155))

* Do not change working directory when extracting archives ([#13077](https://github.com/pantsbuild/pants/pull/13077))

* Release the GIL while creating a Session. ([#13127](https://github.com/pantsbuild/pants/pull/13127))

### Performance

* Changing global options doesn't invalidate as much ([#13144](https://github.com/pantsbuild/pants/pull/13144))

### Documentation

* Improve a couple of log messages. ([#13121](https://github.com/pantsbuild/pants/pull/13121))

* [Docs] Filter out self from list of related subsystems. ([#13148](https://github.com/pantsbuild/pants/pull/13148))

## 2.8.0.dev3 (Oct 01, 2021)

### New Features

* Make the number of dots in string dep inference an option. ([#13059](https://github.com/pantsbuild/pants/pull/13059))

* Docker image name tags ([#13048](https://github.com/pantsbuild/pants/pull/13048))

* Add a `--closed` option to the dependencies goal. ([#13043](https://github.com/pantsbuild/pants/pull/13043))

* Support multiple Docker registries per image. ([#13047](https://github.com/pantsbuild/pants/pull/13047))

* Add Docker registry field ([#13017](https://github.com/pantsbuild/pants/pull/13017))

* Support for PEP-517/518 builds. ([#13012](https://github.com/pantsbuild/pants/pull/13012))

* Add autoflake unused import remover to Python lint tools. ([#13010](https://github.com/pantsbuild/pants/pull/13010))

* Support tailoring non-addressable macros. ([#12989](https://github.com/pantsbuild/pants/pull/12989))

* Implement Java dep inference mapper and rules ([#12978](https://github.com/pantsbuild/pants/pull/12978))

* Include the experimental java backend in the Pants distribution. ([#13003](https://github.com/pantsbuild/pants/pull/13003))

* Have `peek` emit expanded sources and dependencies ([#12882](https://github.com/pantsbuild/pants/pull/12882))

* New experimental_shell_command ([#12878](https://github.com/pantsbuild/pants/pull/12878))

* Support tailoring with an alternative BUILD file name ([#12979](https://github.com/pantsbuild/pants/pull/12979))

* Add Java dependency analysis types and launcher using javaparser library. ([#12890](https://github.com/pantsbuild/pants/pull/12890))

### User API Changes

* Remove Gofmt backend and activate it with `pants.experimental.go` ([#13014](https://github.com/pantsbuild/pants/pull/13014))

* Register terraform lint & validate backends when the terraform backend is registered ([#13002](https://github.com/pantsbuild/pants/pull/13002))

* Deprecate --type in the dependencies goal. ([#12998](https://github.com/pantsbuild/pants/pull/12998))

### Plugin API Changes

* Add `RuleRunner.write_digest()` ([#13044](https://github.com/pantsbuild/pants/pull/13044))

* Change `BinaryNotFoundError` constructor to be more generic ([#13001](https://github.com/pantsbuild/pants/pull/13001))

### Bug fixes

* Don't invalidate the scheduler when piping output. ([#13028](https://github.com/pantsbuild/pants/pull/13028))

* Ensure that `Tree` contents are uploaded after creation. ([#13008](https://github.com/pantsbuild/pants/pull/13008))

* Fix case sensitivity of `module_mapping` for `python_requirements` and `poetry_requirements` ([#12980](https://github.com/pantsbuild/pants/pull/12980))

* Fix spurious "Scheduling: ..." workunits with remote caching ([#12973](https://github.com/pantsbuild/pants/pull/12973))

* Fix `./pants dependencies --transitive` when run on a target generator like `python_library` ([#12956](https://github.com/pantsbuild/pants/pull/12956))

### Performance

* Use nailgun for javac and import parser ([#12982](https://github.com/pantsbuild/pants/pull/12982))

## 2.8.0.dev2 (Sep 17, 2021)

### New Features

* Build and install `python_distribution` deps for test, run, and repl ([#12573](https://github.com/pantsbuild/pants/pull/12573))

* Tailor `python_requirements` macro invocations. ([#12862](https://github.com/pantsbuild/pants/pull/12862))

* Add `script` field to `pex_binary` for console scripts ([#12849](https://github.com/pantsbuild/pants/pull/12849))

* Add option to `[python-setup]` to handle a quirk when building `python_distribution` on MacOS Big Sur. ([#12857](https://github.com/pantsbuild/pants/pull/12857))

### User API Changes

* Rename the `typecheck` goal to `check` ([#12858](https://github.com/pantsbuild/pants/pull/12858))

* Ban `#` in an address's target name ([#12940](https://github.com/pantsbuild/pants/pull/12940))

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

* Add new version of `LockfileMetadata` to support checking for identically specified requirements ([#12782](https://github.com/pantsbuild/pants/pull/12782))

### Plugin API Changes

* Add py.typed files for pantsbuild distributions in order to satisfy PEP-561 ([#12842](https://github.com/pantsbuild/pants/pull/12842))

### Bug fixes

* Fix "file-level dependencies" on `files` and `resources` targets to not pull in sibling files ([#12941](https://github.com/pantsbuild/pants/pull/12941))

* Add google_cloud_function to plugin dependencies. Fix typo. ([#12932](https://github.com/pantsbuild/pants/pull/12932))

* If `[python-setup].invalid_lockfile_behavior = ignore`, don't require Pants metadata in the lockfile ([#12900](https://github.com/pantsbuild/pants/pull/12900))

### Performance

* Don't find `tar`, `unzip`, and `zip` as frequently ([#12947](https://github.com/pantsbuild/pants/pull/12947))

## 2.8.0.dev1 (Sep 10, 2021)

### New Features

* Support --fail-under on merged coverage. ([#12778](https://github.com/pantsbuild/pants/pull/12778))

* Add python-docx to the module mapping dictionary ([#12775](https://github.com/pantsbuild/pants/pull/12775))

* Add python-pptx to the module mapping dictionary ([#12776](https://github.com/pantsbuild/pants/pull/12776))

* Add `opencv-python` to the default Python module mapping ([#12777](https://github.com/pantsbuild/pants/pull/12777))

* Add `PyMuPDF` to the default Python module mapping ([#12774](https://github.com/pantsbuild/pants/pull/12774))

### User API Changes

* Deprecate `--list-provides` option. ([#12759](https://github.com/pantsbuild/pants/pull/12759))

* Upgrade default `isort` to latest `isort==5.9.3` ([#12756](https://github.com/pantsbuild/pants/pull/12756))

* Add `version` to lockfile metadata headers ([#12788](https://github.com/pantsbuild/pants/pull/12788))

### Plugin API Changes

* `OutputPathField.value_or_default()` no longer has an `Address` argument ([#12837](https://github.com/pantsbuild/pants/pull/12837))

### Bug fixes

* Properly include file dependencies in docker build context ([#12758](https://github.com/pantsbuild/pants/pull/12758))

* DigestSubset should not short-circuit when there are ignores involved. ([#12648](https://github.com/pantsbuild/pants/pull/12648))

* Fix backports of std lib modules like `dataclasses` not working with dependency inference ([#12818](https://github.com/pantsbuild/pants/pull/12818))

### Performance

* Improve cache reuse for `./pants package` when using a constraints file or lockfile ([#12807](https://github.com/pantsbuild/pants/pull/12807))

* Upgrade to Pex 2.1.48 and leverage packed layout. ([#12808](https://github.com/pantsbuild/pants/pull/12808))

### Documentation

* Warn if `[python-repos]` is set during lockfile generation ([#12800](https://github.com/pantsbuild/pants/pull/12800))

* Fix a markdown issue in a help string. ([#12766](https://github.com/pantsbuild/pants/pull/12766))

## 2.8.0.dev0 (Sep 03, 2021)

### New Features

* Add support for creating GCP Cloud Functions. ([#12735](https://github.com/pantsbuild/pants/pull/12735))

* [experimental] Add proof-of-concept Java junit test rule. ([#12177](https://github.com/pantsbuild/pants/pull/12177))

* Support TOML tables for dict options in pants.toml ([#12707](https://github.com/pantsbuild/pants/pull/12707))

### User API Changes

* Remove undocumented `pants_version()` symbol from BUILD files ([#12745](https://github.com/pantsbuild/pants/pull/12745))

* Remove deprecated `[python-protobuf.mypy-plugin]` in favor of `[mypy-protobuf]` ([#12743](https://github.com/pantsbuild/pants/pull/12743))

* Stop interpolating `pants_supportdir` in `pants.toml` and deprecate the option ([#12705](https://github.com/pantsbuild/pants/pull/12705))

* Error, don't warn, when `--generate-lockfiles-resolve` is set to a disabled tool lockfile ([#12738](https://github.com/pantsbuild/pants/pull/12738))

* Remove deprecated `.with_binaries()`. ([#12724](https://github.com/pantsbuild/pants/pull/12724))

* Update default `[black].version` to 21.8b0 ([#12718](https://github.com/pantsbuild/pants/pull/12718))

* Update `futures` to` 0.3.17`. ([#12722](https://github.com/pantsbuild/pants/pull/12722))

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

* Remove deprecated `[pytest].pytest_plugins` in favor of `[pytest].extra_requirements` ([#12704](https://github.com/pantsbuild/pants/pull/12704))

* Remove deprecated `[grpc_python_plugin]` in favor of `[grpc-python-plugin]` ([#12706](https://github.com/pantsbuild/pants/pull/12706))

### Plugin API Changes

* Add intrinsic to produce a `DigestEntries` from a `Digest` which reference file content by hash ([#12693](https://github.com/pantsbuild/pants/pull/12693))

### Bug fixes

* Fix UI rendering when a workunit has completed children but no running children ([#12748](https://github.com/pantsbuild/pants/pull/12748))

* Improve descriptions of the process executions for `PEX_PATH` composition. ([#12736](https://github.com/pantsbuild/pants/pull/12736))

* Absolutize all of the `execute_pex_args` in the venv script. ([#12727](https://github.com/pantsbuild/pants/pull/12727))

* Include `.gitignore` in default `pantsd_invalidation_globs` ([#12711](https://github.com/pantsbuild/pants/pull/12711))

### Performance

* Simplify implementation of materialize directories ([#12696](https://github.com/pantsbuild/pants/pull/12696))

### Documentation

* Fix rendering of the ABOUT file. ([#12744](https://github.com/pantsbuild/pants/pull/12744))

* Add specific and actionable instructions to stale lockfile errors ([#12699](https://github.com/pantsbuild/pants/pull/12699))

* Link to pants slack from pypi project page ([#12701](https://github.com/pantsbuild/pants/pull/12701))


