pants

The Pants Build System

APACHE-2.0 License

Downloads
117.9K
Stars
3.1K
Committers
342

Bot releases are visible (Hide)

pants -

Published by stuhood almost 3 years ago

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

pants -

Published by stuhood almost 3 years ago

Bug fixes

  • [Docker] Fix bug when a putative target address did not exist. (#14125) (#14131)
pants -

Published by stuhood almost 3 years ago

New Features

  • JVM Resources support (#13908)

  • Expose Docker build context hash for image tag interpolation. (#13959)

  • Add Thrift IDL codegen using Apache Thrift for Python and Java and Scrooge for Scala (#13987)

  • Add new image_labels field to docker_image. (#13973)

User API Changes

  • Deprecate [validate].detail_level in favor of [sourcefile-validation].detail_level (#14103)

  • Upgrade Hadolint (dockerfile linter) to from 2.6.0 to 2.8.0 (#14110)

  • Change third party module mapping to consider resolves (#14034)

Plugin API Changes

  • Fix @rule effect validation for not cacheable types. (#14069)

  • Allow plugins to use range requirements by applying constraints to plugin resolution (#14058)

Bug fixes

  • Reduce output from scalafmt, and lower reflective access option threshold for Google Java Format. (#14109)

  • Hook up Scalafmt and Google Java Format to ./pants lint (#14108)

  • Fix validate goal crashing if not configured (#14104)

  • Fix dropped output race during UI teardown (#14093)

  • Fix incorrectly setting name on python_requirements macro (#14065)

  • [jvm] Use appropriate coordinate serialization for Coursier CLI inputs. (#14038)

  • Fix .pyi type stubs to show up in python_distribution (#14033)

  • Fix file sources codegen for the Docker build context. (#14024)

  • [jvm] Parse maven coordinates using regular expression (#14010)

  • [jvm] Fix use of multiple scalac plugins when one plugin has multiple classpath entries (#14012)

Documentation

  • Include provider info in help output for subsystems and target types. (#13993)

  • Fix help strings which were accidentally tuples, and add a validation. (#14057)

pants -

Published by stuhood almost 3 years ago

Bug fixes

  • Hook up Scalafmt and Google Java Format to ./pants lint (cherrypick of #14108) (#14117)

  • Reduce output from scalafmt, and lower reflective access option threshold for Google Java Format. (cherrypick of #14109) (#14118)

pants -

Published by stuhood almost 3 years ago

New Features

  • JVM Resources support (cherrypick of #13908) (#14088)
pants -

Published by stuhood almost 3 years ago

Bug fixes

  • Fix incorrectly setting name on python_requirements macro (Cherry-pick of #14065) (#14067)

  • Fix help strings which were accidentally tuples, and add a validation. (cherrypick of #14057) (#14068)

pants -

Published by stuhood almost 3 years ago

New Features

  • Add duration and cache source to test output. (cherrypick of #13889) (#14002)

  • Support Docker build target stage (Cherry pick of #13956) (#13997)

  • Support test --debug with scalatest and junit. (cherrypick of #13958 and #13966) (#14000)

  • Docker context troubleshooter (Cherry pick of #13896) (#13953)

User API Changes

  • Upgrade to Pex 2.1.61 and use --venv copies. (Cherry pick of #13979) (#13980)

Bug fixes

  • Fix .pyi type stubs to show up in python_distribution (cherrypick of #14033) (#14035)

  • Restore the pants namespace package. (Cherry picked from #13972) (#13977)

  • Fix deprecated [python-setup].interpreter_search_paths and [pex].bootstrap_interpreter_names not working (#14009)

  • Fix file sources codegen for the Docker build context. (Cherry pick of #14024) (#14025)

  • [jvm] Use appropriate coordinate serialization for Coursier CLI inputs. (cherrypick of #14038) (#14046)

  • [jvm] Parse maven coordinates using regular expression (cherrypick of #14010) (#14015)

  • [jvm] Fix parsing of Coursier report coordinates when packaging is reported. (cherrypick of #13996) (#13998)

  • [jvm] Fix use of multiple scalac plugins when one plugin has multiple classpath entries (cherrypick of #14012) (#14014)

pants -

Published by stuhood almost 3 years ago

User API Changes

  • Set a default for [jvm].resolves and [jvm].default_resolve (cherrypick of #13925) (#13930)

  • [jvm] Normalize the layout of JVM subsystems and add support for compiler options (cherrypick of #13926) (#13931)

  • Upgrade Pex to 2.1.59. (#13932) (#13933)

Bug fixes

  • Fix tailor not setting the name field (Cherry-pick of #13913) (#13924)

  • Fix --log-levels-by-target not working for logs from Python code (Cherry-pick of #13939) (#13940)

  • Revert "Turn off validation for unset SourcesField if required=False" (#13856) (cherrypick of #13944) (#13946)

  • [jvm] Expose additional JVM backends and symbols (cherrypick of #13943) (#13947)

pants -

Published by jsirois almost 3 years ago

New Features

  • Add --docker-run-args option to support docker run [args] <image>. (#13818)

  • An include_requirements field on pex_binary. (#13894)

  • Add new secrets field to docker_image. (#13830)

  • [jvm] Add support for Scalatest (#13872)

Bug fixes

  • [jvm] Apply the resolve for deploy_jar and restore validation of resolve compatibility (#13911)

  • Fix java_junit_test and scala_junit_test targets to use resolve instead of compatible_resolves (#13870)

  • [jvm] Fix tailor for the addition of Scalatest. (#13887)

  • Fix setup_py resource packaging. (#13878)

Documentation

  • Fix rendering of default field values in reference docs. (#13891)

  • Provide helpful error message in case of undefined Docker build arg. (#13880)

  • [docs] Enable Java and Scala backends on the docsite. (#13909)

  • Update the project description. (#13906)

  • Add warning when building AWS Lambdas and Google Cloud Functions on macOS. (#13790)

pants -

Published by wisechengyi almost 3 years ago

New Features

  • [jvm] Hook up the ability to run JUnit tests written in Scala (#13868)

  • scala: add scalafmt support for fmt and lint goals (#13814)

  • scala: add protobuf codegen support via scalapb (#13853)

  • Add support for global scalac plugins. (#13827)

  • JVM: Adds jar field to jvm_artifact (#13834)

User API Changes

  • relocate_files no longer used with export-codegen goal (#13829)

  • Include shell_source(s) in docker_image build context. (#13761)

Plugin API Changes

  • Codegen plugins can turn off export-codegen integration. (#13828)

  • Deprecate testutil.RuleRunner.create_files() .create_file() and .add_to_build_file() (#13817)

Bug fixes

  • Fix .pyi files not automatically depending on __init__.py (#13844)

Performance

  • [jvm] Use immutable_inputs to provide the compiletime classpath (#13862)

Documentation

  • Improve Docker undefined build arg behavior (#13723)

  • Add missing backtick (#13861)

  • Do not log extra deprecation info when there are no changes for update-build-files --check. (#13855)

pants -

Published by jsirois almost 3 years ago

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

pants -

Published by stuhood almost 3 years ago

New Features

  • java: add support for Google Java Format (#13811)

  • Adds support for remote jvm artifact urls (#13793)

  • Go tests can depend on file targets (e.g. testdata folder) (#13781)

  • An option to test/run/repl against the entire lockfile. (#13732)

  • Add test_timeout fields to go_package (#13707)

  • Added the paths goal to render all paths between two targets (#13778)

  • Add support for inferring relative imports from Scala (#13775)

  • go: add go vet linter (#13438)

  • Support interpolating Docker build args into the repository field of docker_image targets. (#13721)

  • Expose Pex --resolve-local-platforms option. (#13715)

  • Expose Pex --layout option for pex_binary. (#13714)

  • Add skip_tests field to go_package and shunit2_test (#13708)

  • JVM: Support strong first-party declarations of provided types (#13698)

  • scala: add repl support (#13576)

  • Capture pylint reports. (#13689)

User API Changes

  • Rename pypi_repositories field to repositories (#13794)

  • Add --local-cache and --process-cleanup to replace --process-execution-local-cache and --process-execution-local-cleanup (#13769)

  • Add pants_requirements target generator and deprecate pants_requirement macro (#13512)

  • Stop generating go_package targets from go_mod (#13702)

  • Rename go_first_party_package target to go_package (#13681)

  • Upgrade default version of Black from 21.9b0 to 21.12b0 (#13816)

  • Upgrade to Pex 2.1.56. (#13713)

Plugin API Changes

  • IntField and FloatField can ban negative numbers and zero (#13705)

Bug fixes

  • Support materializing files through file symlinks. (#13789)

  • Fix duplicate error message for publish with no matching targets (#13776)

  • Fix bug when docker pushing multiple tags. (#13764)

  • Fix Java / Scala cycle artifact filename collision. (#13759)

  • Fix run goal for pex_binary with a script entry point from a 3rdparty dependency. (#13748)

  • Fix hadolint SIGSEGV. (#13736)

  • Fix --resolve-local-platforms help. (#13722)

  • Avoid calling disabled stream handlers. (#13680)

  • Fix Go compilation failures causing test goal to error (#13711)

  • Fix UI rendering of Go packages with no tests (#13710)

  • Fix dup 3rdparty dists introduced by local dists. (#13690)

  • Make tailor generate correct fields for python_requirements. (#13687)

  • Interactive processes kill the process and its children on Ctrl+C. (#13678)

pants -

Published by stuhood almost 3 years ago

Bug fixes

  • [bugfix] Pass Docker env vars to docker publish. (cherrypick of #13669) (#13752)

  • Make tailor generate correct fields for python_requirements. (cherrypick of #13687) (#13688)

pants -

Published by stuhood almost 3 years ago

New Features

  • [jvm] Add support for compiling cycles between Java and Scala (#13653)

  • [jvm]: Add Export types to dependency inference code and include exports in compile results for Java sources (#13603)

  • Allow tailor to pick up docker_image targets for any file with "Dockerfile" in it (#13601)

  • [jvm] Add Scala consumed-symbols inference. (#13632)

  • [jvm] Add basic extraction of consumed symbols for Scala (#13628)

User API Changes

  • Report standard backends in anonymous telemetry (#13670)

  • Add [twine].ca_certs_path option. (#13593)

  • Bump twine to 3.6.0 and add tool lockfile (#13594)

  • Ban * globs and ! ignores in source: str field (#13629)

Bug fixes

  • Pass Docker env vars to docker publish. (#13669)

  • Fix download URL for grpc_python_plugin on macos. (#13656)

  • Fix Python dependency inference breaking with python_source targets (#13627)

  • Fix swallowing of git stderr. (#13626)

  • Register skip fields for python linters and mypy also on the python_test_utils target. (#13616)

pants -

Published by benjyw almost 3 years ago

Bug fixes

  • Fix download URL for grpc_python_plugin on macos (cherrypick of #13656) (#13659)
pants -

Published by benjyw almost 3 years ago

New Features

  • Add instructions field to docker_image to support generating the Dockerfile (#13386)

  • Add --unowned-dependency-behavior option for Python (#13491)

User API Changes

  • Upgrade default pylint to v2.11.1 (#13585)

Plugin API Changes

  • [plugin-api] Add default_glob_match_error_behavior to SourcesField. (#13578)

Bug fixes

  • Fix --no-print-stacktrace. (#13539)

Performance

  • Do not invalidate parent paths when only file content has changed (#13566)

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

  • Fix slow performance from recursive __repr__ and __hash__ for Go (#13492)

  • Go: improve performance of first-party package analysis (#13476)

Documentation

  • Fix tailor confusion with macros vs. targets (#13574)
pants -

Published by stuhood almost 3 years ago

Performance

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

Documentation

  • Fix tailor confusion with macros vs. targets (cherrypick of #13574) (#13582)
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)