Metadata-Version: 2.1
Name: pantsbuild.pants.testutil
Version: 2.17.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.17.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.17.x Release Series

## 2.17.0.dev4 (Apr 23, 2023)

### New Features

* javascript: Manage `npm` version with corepack ([#18748](https://github.com/pantsbuild/pants/pull/18748))

* `python_distribution` editable installs in exports ([#18639](https://github.com/pantsbuild/pants/pull/18639))

### User API Changes

* Default to using the entire tool lockfile. ([#18793](https://github.com/pantsbuild/pants/pull/18793))

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

* Use the resolve's ICs for tools. ([#18776](https://github.com/pantsbuild/pants/pull/18776))

* Use Self backport in `BinaryPath` factory method. ([#18763](https://github.com/pantsbuild/pants/pull/18763))

* Deprecate "Secondary Ownership" semantics ([#18737](https://github.com/pantsbuild/pants/pull/18737))

* Expand versions range for `ruff` + upgrade it ([#18707](https://github.com/pantsbuild/pants/pull/18707))

### Plugin API Changes

* Allow `BinaryPaths` to close over their type. ([#18760](https://github.com/pantsbuild/pants/pull/18760))

* Set a central default ICs for tools. ([#18714](https://github.com/pantsbuild/pants/pull/18714))

### Bug Fixes

* The `OverridesField.compute_value()` must return a hashable value. ([#18787](https://github.com/pantsbuild/pants/pull/18787))

* Dedup graph errors. ([#18770](https://github.com/pantsbuild/pants/pull/18770))

* Flush metadata to disk before renaming immutable store files ([#18768](https://github.com/pantsbuild/pants/pull/18768))

* Clear FSDB materialization cache when `remove`ing a file ([#18747](https://github.com/pantsbuild/pants/pull/18747))

* Use address as stable key when batching field sets in `lint`/`test` ([#18725](https://github.com/pantsbuild/pants/pull/18725))

* Fix `repr` for `Field`s that don't define `default`. ([#18719](https://github.com/pantsbuild/pants/pull/18719))

* Add `ruff` lint rules ([#18716](https://github.com/pantsbuild/pants/pull/18716))

* javascript: Use binary shims in nodejs sandboxes ([#18682](https://github.com/pantsbuild/pants/pull/18682))

### Documentation

* Improve error location for invalid targets/target fields. ([#18366](https://github.com/pantsbuild/pants/pull/18366))

* Add info on how to configure Docker Desktop for using `docker_environment` ([#18786](https://github.com/pantsbuild/pants/pull/18786))

* Update linter documentation to refer to `install_from_resolve` ([#18781](https://github.com/pantsbuild/pants/pull/18781))

* docs: Fix typo on requirements-overrides code snippet ([#18750](https://github.com/pantsbuild/pants/pull/18750))

* Edit Python publishing docs for clarity. ([#18718](https://github.com/pantsbuild/pants/pull/18718))

## 2.17.0.dev3 (Apr 10, 2023)

### New Features

* Helm: Add support for DNS lookups in Chart templates ([#18670](https://github.com/pantsbuild/pants/pull/18670))

* Include global Git ignore file and `.git/info/exclude` in `pants_ignore` to ignore for file watching ([#18649](https://github.com/pantsbuild/pants/pull/18649))

### User API Changes

* Remove deprecated default ICs. ([#18627](https://github.com/pantsbuild/pants/pull/18627))

### Plugin API Changes

* Move/Rename: `goals/setup_py.py` -> `{util_rules,goals}/package_dists.py` + `subsystems/setup_py_generation.py` ([#18702](https://github.com/pantsbuild/pants/pull/18702))

* Deprecate some `Request` types in favor of `Get()` with only one arg ([#18655](https://github.com/pantsbuild/pants/pull/18655))

* Add support for `Get(MyType)` syntax with no input args ([#18648](https://github.com/pantsbuild/pants/pull/18648))

### Bug fixes

* Adds a fully-qualified path to a Python interpreter for `pex_binary` `RunRequest`s ([#18699](https://github.com/pantsbuild/pants/pull/18699))

* Remove implicit conversion from `std::io::Error` to `StoreError` ([#18696](https://github.com/pantsbuild/pants/pull/18696))

* Add timeout to remote store calls, and adjust name of cache timeout. ([#18695](https://github.com/pantsbuild/pants/pull/18695))

* Makes `adhoc_tool` actually respect the `extra_env_vars` field; adds tests ([#18692](https://github.com/pantsbuild/pants/pull/18692))

* doc: Describe relevant error modes during rule compilation ([#18663](https://github.com/pantsbuild/pants/pull/18663))

* Bump minimum supported version of Pex to v2.1.129. ([#18678](https://github.com/pantsbuild/pants/pull/18678))

* Fix JVM resource JAR creation on older Mac OSes ([#18673](https://github.com/pantsbuild/pants/pull/18673))

* javascript: Do not read none mapped package.json files in javascript rules ([#18523](https://github.com/pantsbuild/pants/pull/18523))

### Documentation

* Add PEP 621 pyproject.toml file docs ([#18672](https://github.com/pantsbuild/pants/pull/18672))

* Document AWS CDK issue that multiple users have encountered. ([#18656](https://github.com/pantsbuild/pants/pull/18656))

* Error when goals used without relevant backends activated ([#18420](https://github.com/pantsbuild/pants/pull/18420))

* Improve lockfile consumption error message. ([#18638](https://github.com/pantsbuild/pants/pull/18638))

* Remove a python-specific tip from the general prereqs page. ([#18637](https://github.com/pantsbuild/pants/pull/18637))

* Make UUID message clearer ([#18561](https://github.com/pantsbuild/pants/pull/18561))

## 2.17.0.dev2 (Mar 31, 2023)

### New Features

* javascript: Test goal with package manager installed test runner support ([#18554](https://github.com/pantsbuild/pants/pull/18554))

* expose PANTS_VERSION and make it string-comparable ([#18573](https://github.com/pantsbuild/pants/pull/18573))

### User API Changes

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

### Bug fixes

* Ensure that sandboxed processes exit before their sandboxes are cleaned up ([#18632](https://github.com/pantsbuild/pants/pull/18632))

* Plumb entire lockfile/internal only code through `create_pex_from_targets` ([#18622](https://github.com/pantsbuild/pants/pull/18622))

* narrow pex_binary files warning ([#18619](https://github.com/pantsbuild/pants/pull/18619))

* Fix PexPEX invocations ([#18610](https://github.com/pantsbuild/pants/pull/18610))

* Improve debug information for docker auth, and expose an environment variable. ([#18599](https://github.com/pantsbuild/pants/pull/18599))

### Performance

* Only materialize immutable files once per process ([#18600](https://github.com/pantsbuild/pants/pull/18600))

### Documentation

* Fix a string that should have been an f-string ([#18608](https://github.com/pantsbuild/pants/pull/18608))

* Fix `./pants` -> `pants` in some docs and help strings. ([#18596](https://github.com/pantsbuild/pants/pull/18596))

## 2.17.0.dev1 (Mar 24, 2023)

### New Features

* engine: add an option to clear the destination directory when writing digest to disk ([#18534](https://github.com/pantsbuild/pants/pull/18534))

* javascript: NodeJS bootstrapping via binary paths, PATH, asdf or nvm ([#18520](https://github.com/pantsbuild/pants/pull/18520))

* javascript: Initial NPM support ([#18326](https://github.com/pantsbuild/pants/pull/18326))

* Always provide Python-for-Pants-scripts ([#18433](https://github.com/pantsbuild/pants/pull/18433))

### User API Changes

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

* Deprecate old-style custom tool lockfiles. ([#18494](https://github.com/pantsbuild/pants/pull/18494))

* Let a user resolve shadow a tool lockfile of the same name ([#18481](https://github.com/pantsbuild/pants/pull/18481))

### Bug fixes

* Ensure that a symlinked exported venv exists and is valid. ([#18575](https://github.com/pantsbuild/pants/pull/18575))

* Fail fast for attempts to use `test --debug` with a docker environment ([#18560](https://github.com/pantsbuild/pants/pull/18560))

* Declare ruff outputs as files. ([#18551](https://github.com/pantsbuild/pants/pull/18551))

* Add support for Docker registry auth ([#18541](https://github.com/pantsbuild/pants/pull/18541))

* Fix Poetry req synthesis for URLs with markers. ([#18535](https://github.com/pantsbuild/pants/pull/18535))

* Re-enable hardlinking using `fclonefileat` on macOS. ([#18501](https://github.com/pantsbuild/pants/pull/18501))

### Performance

* Materialize "large" files in a new store location and hardlink them in sandboxes ([#18153](https://github.com/pantsbuild/pants/pull/18153))

* Finish parallelizing materialization of Process inputs ([#18469](https://github.com/pantsbuild/pants/pull/18469))

### Documentation

* First pass at `adhoc_tool` documentation ([#18531](https://github.com/pantsbuild/pants/pull/18531))

* Add Tobias Nilsson to team page ([#18571](https://github.com/pantsbuild/pants/pull/18571))

* docs: fix an f-string in help ([#18539](https://github.com/pantsbuild/pants/pull/18539))

* Clarify that `experimental_` shell functions are deprecated and replaced ([#18529](https://github.com/pantsbuild/pants/pull/18529))

* Update docs on running pants from sources with scie-pants. ([#18513](https://github.com/pantsbuild/pants/pull/18513))

* Add ExoFlare to user list. ([#18496](https://github.com/pantsbuild/pants/pull/18496))

* Fix malformed pantsbuild/example-python link in documentation ([#18484](https://github.com/pantsbuild/pants/pull/18484))

* update scie-jump cache directory reference ([#18485](https://github.com/pantsbuild/pants/pull/18485))

* Expand lockfile documentation to its own page. ([#18471](https://github.com/pantsbuild/pants/pull/18471))

## 2.17.0.dev0 (Mar 10, 2023)

### New Features

* Expose environment information on process metadata ([#18458](https://github.com/pantsbuild/pants/pull/18458))

* Support running `pants` from anywhere in the project. ([#18412](https://github.com/pantsbuild/pants/pull/18412))

### User API Changes

* Audit and update requirements for Python tools. ([#18431](https://github.com/pantsbuild/pants/pull/18431))

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

### Bug fixes

* Preserve environment variables in `pantsd` to allow Docker auth. ([#18465](https://github.com/pantsbuild/pants/pull/18465))

* Only expose the equiv of `from typing import *` in prelude files ([#18452](https://github.com/pantsbuild/pants/pull/18452))

* Support type hints in prelude files. ([#18442](https://github.com/pantsbuild/pants/pull/18442))

* Synthesized lockfile targets should never err on missing lockfiles. ([#18406](https://github.com/pantsbuild/pants/pull/18406))

* Fixes to visualisations for xdot ([#18421](https://github.com/pantsbuild/pants/pull/18421))
