pants

The Pants Build System

APACHE-2.0 License

Downloads
117.9K
Stars
3.1K
Committers
342

Bot releases are hidden (Show)

pants -

Published by stuhood almost 3 years ago

Bug fixes

  • Fix --no-print-stacktrace. (cherrypick of #13539) (#13540)

Performance

  • Fix caching of binary lookups and avoid re-running pytest setup for environment changes (cherrypick of #13559) (#13560)
pants -

Published by jsirois almost 3 years ago

New Features

  • Add overrides to python_requirements and poetry_requirements (#13458)

  • Add --tailor-check (#13432)

  • An option to not clean up the binary chroot for the run goal. (#13427)

  • Add [tailor].ignore_paths and [tailor].ignore_adding_targets (#13422)

  • Validate that [tailor].build_file_name is compatible with [GLOBAL].build_patterns (#13420)

User API Changes

  • Remove deprecated pex_binary fields. (#13479)

  • Remove deprecated --pants-supportdir. (#13473)

  • Remove setup_py_commands from python_distribution. (#13450)

  • Remove deprecated InferredDependencies.sibling_dependencies_inferrable kwarg (#13440)

  • CheckResults no longer accepts deprecated typechecker_name kwarg (#13434)

  • Remove deprecated [pytest].junit_xml_dir option. (#13444)

  • Remove deprecated --list-provides option (#13441)

  • Remove deprecated module_mapping and type_stubs_module_mapping fields (#13442)

  • Remove entry_point=<none> for pex_binary in favor of leaving off the field (#13443)

  • Remove deprecated Sources type in favor of SourcesField (#13439)

  • Remove deprecated requirements_relpath from python_requirements macro (#13437)

  • Remove deprecated protobuf_library, python_library, shell_library, and python_requirement_library target aliases (#13429)

  • Remove deprecated --peek-output (#13433)

  • Remove dependencies goal deprecated --type option. (#13431)

  • Remove dependees --output-format option. (#13430)

  • Validate python_test and python_tests targets not used for conftest.py and test_foo.pyi (#13436)

  • Move [python] interpreter_search_paths to [python-bootstrap] search_path, and add support for sandboxed Python scripts in @rules (#13340)

Plugin API Changes

  • Fix fmt, lint, test, and check plugins having to use sources FieldSet value (#13456)

  • Add support for extracting .gz files. (#13335)

Bug fixes

  • [bugfix] Do not cache Docker invocations between pants runs. Fixes #13461. (#13464)

  • Fix Python bootstrap interpreter search. (#13278)

  • Upgrade to Pex 2.1.54. (#13426)

  • Upgrade to Pex 2.1.53. (#13423)

  • Consume the go directive when compiling (#13387)

  • Don't error for invalid Go third-party packages unless building them (#13405)

  • assume version 1 for older lockfiles without version key (#13399)

  • Removes leading whitespace when tailoring BUILD files without header text (#13375)

  • Go: don't error for unsupported third-party sources with project introspection (#13377)

  • Fix missing field for tffmt in lint. (#13355)

  • Use strict resolves by default for the JVM (#13353)

  • Parse SSH git requirements in poetry config. (#13344)

Performance

  • Check for @rule graph cycles asynchronously (#13370)

  • Use --layout=packed for all monolithic resolves. (#13400)

Documentation

  • Improve dynamic UI for Go (#13412)

  • Make check output more useful for Go and Java (#13379)

pants -

Published by jsirois almost 3 years ago

New Features

  • Add overrides to python_requirements and poetry_requirements (Cherry-pick of #13458) (#13475)

  • Add --tailor-check (Cherry-pick of #13432) (#13457)

  • Add [tailor].ignore_paths and [tailor].ignore_adding_targets (Cherry-pick of #13422) (#13454)

  • Validate that [tailor].build_file_name is compatible with [GLOBAL].build_patterns (Cherry-pick of #13420) (#13446)

Plugin API Changes

  • Fix fmt, lint, test, and check plugins having to use sources FieldSet value (Cherry-pick of #13456) (#13466)

Bug fixes

  • Do not cache Docker invocations between Pants runs (Cherry-pick of #13464) (#13467)

  • Upgrade to Pex 2.1.54 (Cherry picks of 50914a5e and 189cd753) (#13459)

pants -

Published by jsirois almost 3 years ago

Bug fixes

  • Upgrade to Pex 2.1.54 (Cherry picks of 50914a5e and 189cd753) (#13460)
pants -

Published by wisechengyi about 3 years ago

New Features

  • update-build-files goal formats BUILD files with Black (#13279)

  • Add overrides field to files and resources targets (#13304)

  • Add overrides field to shell_sources, shunit2_sources, and protobuf_sources (#13298)

  • Add overrides field to python_sources and python_tests target (#13270)

  • Depending on a python_distribution with pex_binary now includes the built dist (#13306)

  • Support arbitrary PEP-517 build systems. (#13285)

User API Changes

  • Pants's CLI output uses the full address dir:dir instead of the shorthand dir (#13274)

  • Rename [python-setup] to [python] and move into the python backend. (#13345)

  • The default sources for conftest.py and *_test.pyi now belong to new target generator python_test_utils, not python_tests (#13299)

  • Deprecate including conftest.py and .pyi files in python_tests target's sources field (#13320)

  • Rename docker_image field sources to source (#13327)

  • Merge docker version field into the image_tags field. (#13308)

  • Upgrade default black version from 21.8b0 to 21.9b0 (#13326)

  • Terraform: move terraform validate from lint to check (#13301)

  • Autoflake and Pyupgrade are now activated by experimental backends (#13317)

  • Add google cloud logging to default Python module map (#13305)

Plugin API Changes

  • Add support for structured output from publish goal. (#13292)

Bug fixes

  • Do not choke on . in tool names for experimental_shell_commands. (#13293)

Documentation

  • Fix documentation for file: URLs, and add an assist for malformed URLs. (#13272)
pants -

Published by illicitonion about 3 years ago

New Features

  • Add ./pants update-build-files to automate fixing some deprecation warnings (#13273)

  • Add [cli.alias] config section for command line alias support. (#13228)

  • Add run support for new experimental_run_shell_command target. (#13229)

  • Add azure to default Python module mapping (#13275)

  • Support linux arm64 binary tools. (#13249)

  • Add minimal Scala backend (#13130)

User API Changes

  • Fix dir: and dir:: to include generated targets (#13263)

  • Merge Docker image_name into the repository field. (#13225)

  • python_sources and python_tests targets no longer use dependency inference, only python_source and python_test targets (#13231)

Plugin API Changes

  • Verify each observed URL and Digest pair (#13266)

Bug fixes

  • Fix pyupgrade alias name conflict (#13282)

  • Fix generate_all_lockfiles. (#13280)

  • Don't invalidate dependency inference when unrelated file names change (#13248)

  • Fix ./pants help targets to not include deprecated target names (#13236)

pants -

Published by stuhood about 3 years ago

New Features

  • Add support for pyupgrade (#13063)

  • Support optionally restarting interactive processes when input files change (#13178)

  • Package dependencies for shell command. (#13168)

  • Add help tools (#13135)

  • Docker build args config option (#13147)

  • Add [docker].env_vars option. (#13146)

  • Support for directly running a Docker image (#13120)

  • Docker image version tag (#13097)

  • Docker publish support (#13085)

  • New publish goal (#13057)

User API Changes

  • Add [mypy].extra_type_stubs (#13180)

  • Deprecate requirements_relpath and pyproject_toml_relpath in favor of source for python_requirements and poetry_requirements (#13204)

  • Deprecate module_mapping and type_stubs_module_mapping fields for python_requirement in favor of modules and type_stub_modules (#13197)

  • Deprecate python_library, protobuf_library, and shell_library in favor of python_sources, protobuf_sources, and shell_sources (#13196)

  • Add scikit-learn to the default module mapping (#13198)

  • Deprecate python_requirement_library in favor of python_requirement (#13133)

  • An explicit generate_setup field on python_distribution. (#13111)

  • Upgrade to Pex 2.1.51. (#13098)

Plugin API Changes

  • Deprecate Sources in favor of SourcesField, SingleSourceField, and MultipleSourcesField (#13202)

  • Rename ResourcesSources and split target into generator vs. atom (#13194)

  • Rename FilesSources and split target into target generator vs. atom target (#13190)

  • Add engine_error() context manager for testing plugin exceptions (#13108)

Bug fixes

  • [jvm] Ignore symbols exposed by unnamed packages. (#13214)

  • f.ext is now a file argument, not a goal (#13212)

  • pantsd falls back to socket usage if it cannot open a TTY. (#13155)

  • Do not change working directory when extracting archives (#13077)

  • Release the GIL while creating a Session. (#13127)

Performance

  • Changing global options doesn't invalidate as much (#13144)

Documentation

  • Improve a couple of log messages. (#13121)

  • [Docs] Filter out self from list of related subsystems. (#13148)

pants -

Published by stuhood about 3 years ago

User API Changes

  • Add [mypy].extra_type_stubs (Cherry-pick of #13180) (#13211)

Bug fixes

  • pantsd falls back to socket usage if it cannot open a TTY. (cherrypick of #13155) (#13157)

  • Release the GIL while creating a Session. (cherrypick of #13127) (#13158)

  • Do not change working directory when extracting archives (cherrypick of #12497 and #13077) (#13159)

pants -

Published by jsirois about 3 years ago

Bug fixes

  • Upgrade to Pex 2.1.51. (#13098) (Cherry picks of 513647c1 b1d7ab9d) (#13102)

  • Upgrade to Pex 2.1.50 and leverage packed layout. (Cherry picks of 433a4dd 0d36002 7ba06a5) (#13078)

  • Don't invalidate the scheduler when piping output. (cherrypick of #13028) (#13030)

  • Ensure that Tree contents are uploaded after creation. (cherrypick of #13008) (#13009)

pants -

Published by wisechengyi about 3 years ago

New Features

  • Make the number of dots in string dep inference an option. (#13059)

  • Docker image name tags (#13048)

  • Add a --closed option to the dependencies goal. (#13043)

  • Support multiple Docker registries per image. (#13047)

  • Add Docker registry field (#13017)

  • Support for PEP-517/518 builds. (#13012)

  • Add autoflake unused import remover to Python lint tools. (#13010)

  • Support tailoring non-addressable macros. (#12989)

  • Implement Java dep inference mapper and rules (#12978)

  • Include the experimental java backend in the Pants distribution. (#13003)

  • Have peek emit expanded sources and dependencies (#12882)

  • New experimental_shell_command (#12878)

  • Support tailoring with an alternative BUILD file name (#12979)

  • Add Java dependency analysis types and launcher using javaparser library. (#12890)

User API Changes

  • Remove Gofmt backend and activate it with pants.experimental.go (#13014)

  • Register terraform lint & validate backends when the terraform backend is registered (#13002)

  • Deprecate --type in the dependencies goal. (#12998)

Plugin API Changes

  • Add RuleRunner.write_digest() (#13044)

  • Change BinaryNotFoundError constructor to be more generic (#13001)

Bug fixes

  • Don't invalidate the scheduler when piping output. (#13028)

  • Ensure that Tree contents are uploaded after creation. (#13008)

  • Fix case sensitivity of module_mapping for python_requirements and poetry_requirements (#12980)

  • Fix spurious "Scheduling: ..." workunits with remote caching (#12973)

  • Fix ./pants dependencies --transitive when run on a target generator like python_library (#12956)

Performance

  • Use nailgun for javac and import parser (#12982)
pants -

Published by stuhood about 3 years ago

The first stable release of the 2.7.x series, with no changes since the previous release candidate!

pants -

Published by stuhood about 3 years ago

Bug fixes

  • Fix case sensitivity of module_mapping for python_requirements and poetry_requirements (Cherry-pick of #12980) (#12981)

  • Fix spurious "Scheduling: ..." workunits with remote caching (cherrypick of #12973) (#12975)

pants -

Published by stuhood about 3 years ago

The second stable release of the 2.6.x series, with no changes since the previous rc!

pants -

Published by jsirois about 3 years ago

New Features

  • Support --fail-under on merged coverage. (#12778)

  • Add python-docx to the module mapping dictionary (#12775)

  • Add python-pptx to the module mapping dictionary (#12776)

  • Add opencv-python to the default Python module mapping (#12777)

  • Add PyMuPDF to the default Python module mapping (#12774)

User API Changes

  • Deprecate --list-provides option. (#12759)

  • Upgrade default isort to latest isort==5.9.3 (#12756)

  • Add version to lockfile metadata headers (#12788)

Plugin API Changes

  • OutputPathField.value_or_default() no longer has an Address argument (#12837)

Bug fixes

  • Properly include file dependencies in docker build context (#12758)

  • DigestSubset should not short-circuit when there are ignores involved. (#12648)

  • Fix backports of std lib modules like dataclasses not working with dependency inference (#12818)

Performance

  • Improve cache reuse for ./pants package when using a constraints file or lockfile (#12807)

  • Upgrade to Pex 2.1.48 and leverage packed layout. (#12808)

Documentation

  • Warn if [python-repos] is set during lockfile generation (#12800)

  • Fix a markdown issue in a help string. (#12766)

pants -

Published by jsirois about 3 years ago

User API Changes

  • Add version to lockfile metadata headers (cherry-pick of #12788) (#12816)

Bug fixes

  • Fix backports of std lib modules like dataclasses not working with dependency inference (Cherry-pick of #12818) (#12819)

  • Properly include file dependencies in docker build context (cherrypick of #12758) (#12823)

Documentation

  • Warn if [python-repos] is set during lockfile generation (cherrypick of #12800) (#12828)
pants -

Published by stuhood about 3 years ago

Bug fixes

  • Fix UI rendering when a workunit has completed children but no running children (cherrypick of #12748) (#12752)

  • Include .gitignore in default pantsd_invalidation_globs (#12711) (#12730)

Documentation

  • Fix Toolchain plugin being included in generated reference docs (Cherry-pick of #12642) (#12647)
pants -

Published by stuhood about 3 years ago

Bug fixes

  • Fix UI rendering when a workunit has completed children but no running children (cherrypick of #12748) (#12750)
pants -

Published by stuhood about 3 years ago

New Features

  • Add support for creating GCP Cloud Functions. (#12735)

  • [experimental] Add proof-of-concept Java junit test rule. (#12177)

  • Support TOML tables for dict options in pants.toml (#12707)

User API Changes

  • Remove undocumented pants_version() symbol from BUILD files (#12745)

  • Remove deprecated [python-protobuf.mypy-plugin] in favor of [mypy-protobuf] (#12743)

  • Stop interpolating pants_supportdir in pants.toml and deprecate the option (#12705)

  • Error, don't warn, when --generate-lockfiles-resolve is set to a disabled tool lockfile (#12738)

  • Remove deprecated .with_binaries(). (#12724)

  • Update default [black].version to 21.8b0 (#12718)

  • Update futures to 0.3.17. (#12722)

  • Upgrade to Pex 2.1.47. (#12715)

  • Remove deprecated [pytest].pytest_plugins in favor of [pytest].extra_requirements (#12704)

  • Remove deprecated [grpc_python_plugin] in favor of [grpc-python-plugin] (#12706)

Plugin API Changes

  • Add intrinsic to produce a DigestEntries from a Digest which reference file content by hash (#12693)

Bug fixes

  • Fix UI rendering when a workunit has completed children but no running children (#12748)

  • Improve descriptions of the process executions for PEX_PATH composition. (#12736)

  • Absolutize all of the execute_pex_args in the venv script. (#12727)

  • Include .gitignore in default pantsd_invalidation_globs (#12711)

Performance

  • Simplify implementation of materialize directories (#12696)

Documentation

  • Fix rendering of the ABOUT file. (#12744)

  • Add specific and actionable instructions to stale lockfile errors (#12699)

  • Link to pants slack from pypi project page (#12701)

pants -

Published by stuhood about 3 years ago

Bug fixes

  • Error, don't warn, when --generate-lockfiles-resolve is set to a disabled tool lockfile (cherrypick of #12738) (#12741)

  • Add specific and actionable instructions to stale lockfile errors (cherrypick of #12699). (#12717)

  • Improve descriptions of the process executions for PEX_PATH composition. (cherrypick of #12736) (#12737)

  • Absolutize all of the execute_pex_args in the venv script. (cherrypick of #12727) (#12729)

pants -

Published by stuhood about 3 years ago

Bug fixes

  • Fix shlexing of passthrough args. (cherrypick of #12547) (#12550)