Skip to main content

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.13.x Release Series

2.13.0.dev3 (May 23, 2022)

New Features

  • dir: and dir:: work on target-less goals like count-loc (#15577)

  • --changed-since works on target-less goals like count-loc (#14434)

  • Add --no-use-deprecated-directory-cli-args-semantics so that directory arguments match all files/targets in the directory (#15589)

  • filter options work with any goal now, not only the filter goal (#15599)

  • Use new, consistent CLI args semantics for tailor if use_deprecated_cli_args_semantics = false (#15612)

  • Support JVM options per tool (#15505)

  • Allow turning off export of Python tools like black (#15509)

  • Adding file downloading support to asset targets (#15457)

User API Changes

  • Deprecate filter goal now that filter options can be used from any goal (#15600)

  • Tailor __main__.py files as pex binaries (#15598)

  • update-build-files now takes CLI args for which BUILD files to change (#15581)

  • Don't error when dir: and dir:: have no targets, as long as the directories exist (#15570)

  • Deprecate --owners-not-found-behavior and set default to ignore (#15560)

  • Add --unmatched-cli-globs, which before was controlled by --owners-not-found-behavior (#15556)

  • Deprecate files_not_found_behavior in favor of unmatched_build_file_globs (#15555)

  • Remove undocumented CLI file arguments ignore syntax (#15534)

  • go_third_party_package targets now depend on their go.mod and go.sum (#15521)

  • --changed-dependees no longer runs on sibling targets from same target generator (#15396)

  • Change _generator_sources_helper to use source: str rather than sources: list[str] (#15475)

  • Upgrade Pex to 2.1.88. (#15484)

  • Revert "Deprecate [python].tailor_ignore_solitary_init_files in favor of more useful [python].tailor_ignore_empty_init_files (#15469)" (#15492)

Plugin API Changes

  • Replace SpecsSnapshot with lazier SpecsPaths (#15593)

  • Rename classes in specs.py for unification of specs semantics (#15538)

  • Remove addressable= kwarg from tailor (#15504)

  • Remove AbstractTestGenerator from pantsbuild.pants.testutil (#15464)

Bug fixes

  • Fix incorrect digest for JVM multiple jvm_artifact(.., jar=..) entries (#15571)

  • Record Scala package object as provided name (#15582)

  • Fix deprecation message for --filter-target-type with deprecated target alias (#15596)

  • Fix scala inference doesn't infer name after function call (#15565)

  • Fix JVM resource classification and artifact grouping (#15567)

  • Apply --tag filtering to target-less goals like count-loc (#15479)

  • Fix tag filtering with --changed-dependees (#15546)

  • Fix non-deterministic order of jvm_artifact(.., excludes=..) (#15542)

  • Support transitive file dependencies in Scalatest/JUnit (#15501)

  • Improve name= used for Python requirement target generators with tailor (#15507)

  • don't generate default tool lockfiles (#15488)

  • Don't give a subsequent formatter an empty snapshot after skipping (#15483)

  • jvm: fix incorrect check for root-only ClasspathEntryRequest implementations (#15494)

Performance

  • lint only finds targets and files if the relevant linters were specified (#15579)

  • regex-lint only reads files that will be checked (#15580)

Documentation

  • Freshen up deprecated option formatting (#15590)

  • Make required fields sort first on the docsite and in the './pants help target' output (#15587)

  • Add a few default_help_reprs (#15588)

  • Suggest a UUID when erroring about missing UUID (#15550)

  • Tweak docs to include no-infer-dep in a few more places (#15547)

2.13.0.dev2 (May 14, 2022)

New Features

  • Adds JDK autoconfiguration support to scala BSP metadata setup (#15408)

  • Add lint --skip-formatters option (#15427)

  • Support for sharding tests. (#15417)

  • Add clang-format support for the experimental c/cpp plugin (#15395)

  • Support setting env vars in individual distribution builds. (#15422)

  • kotlin: add support for junit tests (#15382)

User API Changes

  • Upgrade Pex to 2.1.87. (#15472)

  • Deprecate [python].tailor_ignore_solitary_init_files in favor of more useful [python].tailor_ignore_empty_init_files (#15469)

  • Upgrade default Protoc version to 3.20.1 (native Apple Silicon support) (#15424)

  • Require that a target's interpreter_constraints are a subset of their dependencies' (#15373)

  • Add [python-infer].init_files as more intuitive replacement for [python-infer].inits (#15397)

Plugin API Changes

  • Move get_git deprecation to start in 2.14.0.dev0 (#15423)

Bug fixes

  • Only infer an init.py dep on a python_sources-generated target. (#15471)

  • kotlin: the plugin_id field on kotlinc_plugin target is optional (#15459)

  • support relative address syntax for JVM compiler plugin artifacts (#15462)

  • Fix lockfile generation for Docker, Terraform, and Clang-format to not require Python backend (#15453)

  • Fix boolean logic when merging interpreter constraints. (#15414)

  • Fix tags to work with filesystem arguments, overrides field, and python_tests (#15394)

  • Support the {chroot} env placeholder for all interactive processes that are not executed in the workspace. (#15401)

  • Fix [] in file names with target generators (#15383)

  • BSP consumes thirdparty artifacts via their classpath entries, rather than directly from the lockfile. (#15392)

Documentation

  • Improve error message for dependencies on incompatible Python resolves (#15416)

2.13.0.dev1 (May 10, 2022)

New Features

  • Initial support for building dists using mypyc. (#15380)

  • Support dependency inference on vcs_version targets. (#15385)

  • Support for getting a version string from git. (#15374)

  • Add tailor for poetry_requirements and pipenv_requirements (#15352)

User API Changes

  • Add default mapping for pygithub (#15361)

Bug fixes

  • Generalize Docker dep inference for all packageables. (#15375)

  • Fix tailor detection of existing python_requirements targets (#15363)

  • Add the "named args explanation" to other relevant parametrize error messages. (#15362)

  • Use abspath to sandbox in PATH for docker tool shims. (#15341)

Documentation

  • Improve help and error message for [python-infer].unowned_dependency_behavior (#15334)

  • Disallow ! patterns in build_ignore. (#15366)

2.13.0.dev0 (May 05, 2022)

New Features

  • BSP compile exposes loose classfiles to allow IntelliJ to invoke tests (#15347)

  • Add options to turn off tailor on a per-language basis (#15335)

  • Add lz4 support to archive extraction (#15245)

  • Implement tailor goal for Helm charts (#15191)

  • Write virtualenvs for Python tools as part of export (#15098)

User API Changes

  • Upgrade hadolint to 2.10.0 and add linux arm64 support (#15317)

  • Remove [test].xml_dir, [update-build-files].fix_python_macros, and [java-infer].third_party_imports (#15311)

  • Deprecate [golang].expected_version in favor of more flexible [golang].minimum_expected_version (#15306)

  • Upgrade Pex to 2.1.84. (#15288)

Plugin API Changes

  • Add update_env to process_execution::local. (#15340)

  • Allow for arbitrary suffixes when extracting (#15257)

Bug fixes

  • Fix error output of parametrize() (#15339)

  • Don't strip source roots when building dists with an existing setup.py (#15303)

  • Fix a bug in the python venv export logic. (#15294)

  • Fix non-determinism of package_data in generated setup.py files (#15292)

  • Simplify BSP metadata merging, and handle the empty list. (#15283)

  • BSP resolve filtering observes computed default values of resolve fields (#15282)

  • Memoize equality for CoarsenedTarget(s) to avoid exponential runtime in check. (#15277)

  • Fix ambiguity of Scala package objects with class or object definitions (#15265)

  • Fix issue with Docker publish when using [docker] tools. (#15255)

  • Do not lowercase Docker image tags. (#15254)

  • Fix the placement of the pex verbosity args. (#15243)

  • Fix use of @ in path names. (#15226)

  • Fix lockfile generation for duplicate jvm_artifact targets with jar fields. (#15219)

  • Support poetry wildcard requirements. (#15213)

  • golang: add more cache keys based on tool IDs (#15205)

Performance

  • Eagerly skip tools with default lockfiles in export-lockfiles goal (#15304)

  • MyPy and Pylint partition inputs via CoarsenedTarget (#15141)

Documentation

  • Improve error message for resolves x interpreter constraints issues (#15314)

  • Fix ProtobufSourcesOverridesField help message (#15272)

  • Update help for python resolves with recent improvements (#15228)

  • Don't log set up of binary shims (#15203)

  • Mention resolve when partitioning Mypy and Pylint (#15172)

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

File details

Details for the file pantsbuild.pants.testutil-2.13.0.dev3-py3-none-any.whl.

File metadata

File hashes

Hashes for pantsbuild.pants.testutil-2.13.0.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 e242b930f51e7e41e4dc22d0917d1f097f25edaecf9e1d12d5459b1490870348
MD5 e35c688d87ba29b3dd7c93d8c2a5a4e5
BLAKE2b-256 3a0a951e9fc5b35a1a3df419b596422c2a18c8922735f12f0709610e94d0f3a5

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page