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 jsirois over 2 years ago

New Features

  • Add support for long_description_path field in python_distribution (#14448)

  • Improve export goal to handle multiple Python resolves (#14436)

  • Add support for multiple compile/testing JDKs (#14421)

  • Add initial support for a parametrize builtin to generate multiple copies of a target (#14408)

  • scala: support multiple scala versions (#14425)

User API Changes

  • Remove support for JSON-encoded JVM lockfiles. (#14458)

  • Remove deprecated <stage>.tag version values. (#14453)

  • Remove deprecated [scala] version option. (#14455)

  • Replace compatible_resolves with resolve for JVM targets (#14441)

  • python_requirement uses resolve: str field, not compatible_resolves: list[str] (#14420)

  • Remove options, goals, and backends deprecated in Pants 2.10 (#14396)

  • Migrate the Docker context tags version from <stage>.tag to tags.<stage>. (#14376)

  • Default to use_deprecated_python_macros = false and deprecate the option (#14399)

Plugin API Changes

  • Adding DictOptions and WorkspacePathOption to the declarative options (#14433)

  • More declarative target generators for plugins (#14377)

Bug fixes

  • Fix handling of Go version for third-party packages (#14457)

  • Fix issue picking up base image tag from Dockerfile with a digest present. (#14447)

  • Make sure [python].enable_resolves = false disables checking for valid resolves (#14418)

  • Fix pants_requirements target generator to use resolves (#14417)

  • Fix tailor when --use-deprecated-python-macros=false (#14404)

Documentation

  • help command reminds users about help-advanced (#14402)
pants -

Published by wisechengyi over 2 years ago

New Features

  • Support multiple disjoint Python resolves via [python].experimental_resolves (#14299)

  • Optionally render the --dynamic-ui with Prodash (#14221)

  • Add context_root field to docker_image and default_context_root option to [docker] scope. (#14165)

User API Changes

  • Deprecate generate-user-lockfile and [python].experimental_lockfile in favor of [python].experimental_resolves (#14288)

  • Bump versions & regenerate lockfiles for several Python tools, including Twine, PyUpgrade, and MyPy Protobuf (#14277)

  • Upgrade Pex to 2.1.65. (#14256)

Plugin API Changes

  • Remove PexFromTargetsRequest(direct_deps_only: bool) (#14291)

  • Rename GenerateToolLockfileSentinel.options_scope to resolve_name (#14231)

  • Rename PythonModule to PythonModuleOwnersRequest (#14276)

Bug fixes

  • Fix plugin resolution running twice. (#14294)

  • Fix Pylint to consider transitive third-party dependencies (#14289)

  • Fix bad default module mapping for PyMongo (#14284)

  • go: filter out vendor directories in tailor (#14259)

  • Fix packaged file names for pex_binaries target generator (#14269)

  • Cap number of UI bars to terminal height (#14228)

  • Fix executability of materialized files for non-owners. (#14298)

Performance

  • Dynamically choose per-process concurrency for supported processes (#14184)

Documentation

  • Add some missing backends to generated docs (#14290)
pants - 2.10.0.dev2

Published by illicitonion almost 3 years ago

New Features

  • JVM lockfile invalidation headers and verification (#14185)

  • Add new api-types help goal (#14081)

  • Add line numbers to --unowned-dependency-behavior errors (#14169)

  • Add Flake8 first-party plugin support (#14027)

  • add runtime dependencies field for Apache Thrift for Python (#14158)

  • Add #pants: no-infer-dep pragma for ignoring imports (#14059 and #14225)

  • Add local .pants.rc support (#14142)

  • thrift: add scrooge java backend (#14043)

  • add Avro codegen support for Java (#13990)

User API Changes

  • add timeout for remote cache lookups (#14224)

  • Replace coursier-resolve goal with generate-lockfiles (#14211)

  • Replace jvm-generate-lockfiles goal with generate-lockfiles (#14176)

  • Deprecate sourcefile-validation in favor of regex-lint (#14173)

  • Deprecate python_requirements and poetry_requirements using old macro in favor of target generation (#14075)

  • Add try/except parsing to import_parser to avoid failing strict checks for optional imports (#14216)

  • Don't error on string imports with [python-infer].unowned_dependency_behavior (#14179)

Plugin API Changes

  • Remove per-language indirection for formatter plugins. (#14166)

Bug fixes

  • Fix complex __import__ statements failing to parse with Python 2.7 - 3.7 (#14232)

  • LockfileMetadata - Replace flaky _header_dict() mechanism with more robust header_attrs mechanism (#14229)

  • More accurate reported runtime when pantsd is in use. (#14177)

  • Fix Pylint to run on transitive dependencies to avoid underreporting issues (#13918)

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

  • Fix immutable inputs DCL bug. (#14016)

Performance

  • Batching of lint and fmt invokes (#14186)

Documentation

  • [Doc] Include backend source for goals, subsystems and targets in generated docsite. (#14126)
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)