Skip to main content

A scalable build tool for large, complex, heterogeneous repos.

Project description

Pants is an Apache2 licensed build tool written in Python.

The latest documentation can be found at pantsbuild.

1.23.x Stable Releases

This document describes releases leading up to the 1.23.x stable series.

1.23.0 (12/10/2019)

New Features

  • [IntelliJ] Export source jars of dependencies in export-dep-as-jar (#8723) PR #8723
  • Add –dep-as-jar option for idea-plugin (#8632) PR #8632
  • [experimental] Add export-dep-as-jar task (#8628) PR #8628

1.23.0rc0 (11/22/2019)

API Changes

  • Move Black into a plugin to enable turning it on and off via backend_plugins (#8683) Issue #8346 PR #8683
  • Bump default Pytest to 4.6 and add warning for future change to Pytest 5 (#8648) PR #8648
  • Deprecate using default –fmt-transitive and –lint-transitive in preparation for switching default to –no-{fmt,lint}-transitive (#8666) Issue #8345 PR #8666
  • Allow async/await syntax in @rules to enable mypy type checking (#8639) PR #8639
  • Deprecate not setting –python-setup-interpreter-constraints in preparation for default changing to Python 3.6+ (#8655) PR #8655
  • Add flags to differentiate thrift py namespace lint issues (#8622) PR #8622
  • Deprecate not explicitly setting –chroot and –fast for test goal (#8644) PR #8644
  • Add –version and –pytest-plugins options to Pytest and deprecate old options (#8619) PR #8619
  • Improve signature of run_rule() test util to be more explicit (#8633) PR #8633
  • Update cfii to 1.13.2 (#8641) PR #8641

New Features

Bugfixes

Refactoring, Improvements, and Tooling

  • Skip two flaky tests and tweak more test timeouts (#8687) Issue #8127 Issue #8405 PR #8687
  • Rewrite Black tests from PantsRunIntegrationTest to rules-style integration tests (#8684) PR #8684 PR #8683
  • Refactor FileContent to use default argument for is_executable (#8682) PR #8682
  • Improve stability of CI through retries and tweaked timeouts (#8677) PR #8677
  • Refactor V2 Black implementation (#8671) PR #8671
  • Add tests to lint-v2 and fmt-v2 (#8668) PR #8668
  • Move V2 rules tests from tests to src (#8667) PR #8667
  • Remove some outdated pantsd info + utils (#8653) PR #8653
  • Rewrite test_base.py to use per-test setup instead of per-class (#8621) Issue #6282 PR #8621
  • Rename some test files from test_foo.py to foo_test.py (#8659) Issue #7489 PR #8659
  • Convert tests/python to use f-strings (#8617) PR #8617
  • Retry more remote execution internal errors (#8650) PR #8650
  • Try RBE’s Maven mirror before going to Maven Central. (#8647) PR #8647
  • Partially type check help, ivy, task, and backend target and subsystem folders (#8635) PR #8635

1.23.0.dev2 (11/18/2019)

API Changes

  • Bump to the latest versions of various self-published JVM 3rdparty dependencies. (#8634) PR #8634
  • Change RscCompile –workflow-override flag to –scala-workflow-override. (#8575) PR #8575

New Features

  • Allow console_rule to request a single BuildFileAddress (#8586) PR #8586
  • Allow test sharding on scalatest classes (#8609) PR #8609
  • Use timeouts for V2 local execution (#8582) Issue #5833 PR #8582
  • Add –transitive-only option to export-classpath (#8605) PR #8605

Bugfixes

  • Fix sorting of junit tests in presence of a timeout. (#8600) PR #8600

Refactoring, Improvements, and Tooling

  • Bump to rust 1.39.0. (#8627) PR #8627
  • Move ivy and coursier bootstrapping to BinaryUtil. (#8637) PR #8637
  • Prep for 1.22.0 (#8623) PR #8623
  • Port cloc to v2 (#8251) PR #8251
  • Fix PluginResolverTest: isolate the plugin cache. (#8615) PR #8615
  • Move materialization of dirs for Nailgun server to NailgunPool (#8587) PR #8587
  • Allow coursier use local cache (#8608) PR #8608
  • Options parsing shouldn’t care that positional args are specs. (#8602) PR #8602
  • Gitignore rust logs (#8610) PR #8610
  • Add tags and scope attribute passthrough to ScroogeGen (#8599) PR #8599
  • Partially type check auth, build_graph, goal, java, process, and reporting (#8604) PR #8604

Documentation

  • Fix some typos in documentation (#8636) PR #8636

1.23.0.dev1 (11/08/2019)

API Changes

  • Deprecate pantsbuild.pants.testinfra in favor of pantsbuild.pants.testutil (#8583) PR #8583
  • Remove datatype() and TypedCollection (#8576) PR #8576
  • Replace Collection.of(T) with typed Collection[T] (#8574) PR #8574

New Features

  • Add options to fast-filedeps to bring it close to parity with V1 filedeps (#8184) PR #8184
  • v2 ./pants run (#8573) PR #8573
  • A mixin for v2 goals that have non-line-oriented output. (#8565) PR #8565
  • add compiler_option_sets_enabled_scalac_plugins option to JvmCompile (#8567) PR #8567

Bugfixes

  • Respect a target’s specified timeout with V2 Pytest runner (#8278) PR #8278
  • Fix V2 pytest caching issues from using FrozenSet (#8591) PR #8591
  • Fix fingerprint dict with files (#8569) PR #8569

Refactoring, Improvements, and Tooling

  • Partially type check binaries, source, fs, net, and more of engine (#8596) PR #8596
  • Remove duplicate target name for backend/python/targets (#8598) PR #8598
  • Prep for 1.22.0rc2 (#8595) PR #8595
  • v2-only mode should not acknowledge v1 goals (#8518) PR #8518
  • Partially type check core base, engine, option, and subsystem code (#8590) PR #8590
  • Move testinfra code from tests/python/pants_tests to src/python/pants/testutil (#8400) PR #8400
  • Add a buffer for queueing process execution to remote timeout (#8432) PR #8432
  • Eagerly fail deprecated options (#8556) PR #8556
  • Directly use option.scope instead of re-exports (#8578) PR #8578
  • Deduplicate requirements in V2 pex generation rule (#8577) PR #8577
  • Set user agent header on auth requests too. (#8562) PR #8562

1.23.0.dev0 (11/03/2019)

New Features

  • Add Zinc for outlining support (#8560) PR #8560
  • Create infrastructure for running interactive local process (#8495) PR #8495
  • Add lint-v2 implementation for python with black, and script to be used in pre-commit hook (#8553) PR #8553
  • Implement Nailgun in V2 hermetic execution (#8371) PR #8371
  • An option to pass in the name of the pants binary. (#8517) PR #8517
  • Add workflow option for -Youtline as an outliner (#8427) PR #8427

API Changes

  • Allow users to override compile.rsc workflows via env var and add –allow-public-inference option (#8537) PR #8537

Bugfixes

  • Add lock around bootstrap compiler bridge jar (#8535) PR #8535
  • Fix assertion on hydrate_missing_directory_digest (#8534) PR #8534
  • Fix zinc jar missing digest on double check cache hit (#8532) PR #8532
  • Ensure node build products added to the classpath have been snapshotted (#8514) PR #8514
  • Avoid globbing jdk home with symlinks (#8484) PR #8484

Refactoring, Improvements, and Tooling

  • Create Python workunit value using separate function (#8559) PR #8559
  • Rust nails client for local hermetic nailgun execution. (#8564) PR #8564
  • Fix typo: “PythonInterpreterCon*s*traints” (#8566) PR #8566
  • Render cyclic path in node error to avoid –print-exception-stacktrace (#8422) PR #8422
  • Temporarily disable speculation in travis. (#8546) PR #8546
  • Trim travis cache. (#8545) PR #8545
  • Revert “Squashed commit of the following: (#8302)” (#8551) PR #8551
  • Reduce boilerplate in FFI scheduler initialization (#8522) PR #8522
  • Ability to manually turn off pants pex creation for test running. (#8525) PR #8525
  • Bump the default watchman startup timeout to 60 seconds. (#8544) PR #8544
  • Don’t display a ubiquitous warning triggered on python 3.7. (#8523) PR #8523
  • Increase our client count and sync bootstrapped files. (#8536) PR #8536
  • Move CallOption construction to common location (#8529) PR #8529
  • Move rust tests into their own files (#8512) PR #8512
  • Update to pantsbuild/grpc-rs:pants-use latest. (#8507) PR #8507
  • pin cryptography lib to 2.7 (#8515) PR #8515
  • Digest can be deserialized as well as serialized (#8497) PR #8497
  • Upgrade pex to 1.6.12. (#8493) PR #8493

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pantsbuild.pants, version 1.23.0
Filename, size File type Python version Upload date Hashes
Filename, size pantsbuild.pants-1.23.0-cp36-abi3-macosx_10_11_x86_64.whl (7.0 MB) File type Wheel Python version cp36 Upload date Hashes View hashes
Filename, size pantsbuild.pants-1.23.0-cp36-abi3-manylinux1_x86_64.whl (37.3 MB) File type Wheel Python version cp36 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page