Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Automatic manipulation of BUILD dependencies based on source analysis.

Project description

Pants is an Apache2 licensed build tool written in Python.

The latest documentation can be found here.

1.9.x Stable Releases

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

1.9.0 (09/17/2018)

The first stable release of the 1.9.x series, with no changes since rc3.

1.9.0rc3 (09/10/2018)

Bugfixes

  • Cherry-pick setup_py fixes (#6472) Issue #8315 PR #6472
  • Work around production coverage float. (#6452) PR #6452
  • Cancel running work when entering the fork context (#6464) PR #6464

1.9.0rc2 (08/30/2018)

New features

  • Add –output-dir flag to ScalaFmt task (#6134) PR #6134

Bugfixes

  • Fix –binaries-path-by-id fingerprinting error (#6413) PR #6413
  • added fullpath to fix path concat issue with files when not in git root (#6331) PR #6331
  • Link requirements targets to their source. (#6405) PR #6405
  • Move fork context management to rust (#5521) PR #5521
  • Bound pytest below 3.7 to avoid a ZipImportError (#6285) PR #6285
  • Fix pydist native sources selection (#6205) PR #6205
  • Fix spurious deprecation warning for fatal_warnings (#6237) PR #6237

Refactoring, Improvements, and Tooling

  • Add basic native task unit tests. (#6179) PR #6179
  • Associate cli arguments with executables and refactor llvm/gcc c/c++ toolchain selection (#6217) PR #6217

1.9.0rc1 (07/20/2018)

  • 1.9.0rc0 failed due to a pypi error (#6192) Issue 6192

1.9.0rc0 (07/19/2018)

New features

  • Conan (third party) support for ctypes native libraries (#5998) PR #5998 PR #5815
  • Early support for @console_rule. (#6088) PR #6088

Bugfixes

  • Fix incorrect use of bytes() when invoking the daemon in a tty (#6181) PR #6181
  • rustfmt check more reliably works (#6172) PR #6172
  • Fix isort issues (#6174) PR #6174
  • add the target fingerprint to the version of each local dist so that we don’t use the first cached one (#6022) PR #6022
  • Eliminate obsolete PANTS_ARGS from ci. (#6141) PR #6141
  • Preserve output directories if process execution failed (#6152) PR #6152

Refactoring, Improvements, and Tooling

  • Upgrade to isort 4.3.4. (#6166) PR #6166
  • fs_util can list the recursive files in a Directory (#6153) PR #6153
  • Support output directory saving in remote execution (#6167) PR #6167
  • Move each EntryState in the graph under its own Mutex (#6095) PR #6095

Documentation Updates

  • Impose a consistent sort on CONTRIBUTORS.md. (#6125) PR #6125

Python 3 porting (#6062)

  • Port engine to Python 3 (#6133) PR #6133
  • Port go to py3 (#6139) PR #6139
  • Port init package to Python 3 (#6145) PR #6145
  • Port help package to Python 3 (#6144) PR #6144
  • Port invalidation to Python 3 (#6147) PR #6147
  • port cpp to py3 (#6116) PR #6116
  • Port ivy to Python 3 (#6154) PR #6154
  • Port java to Python 3 (#6159) PR #6159
  • Port contrib/scalajs to py3 (#6164) PR #6164
  • port scrooge to py3 (#6165) PR #6165
  • Add missing future dependency to BUILD (#6135) PR #6135
  • Port binaries package to Python 3 (#6127) PR #6127
  • Port option package to python3 (#6117) PR #6117
  • Port to mypy to py3 (#6140) PR #6140
  • Port goal package to Python 3 (#6138) Issue #6062 PR #6138
  • Port findbugs to py3 (#6137) PR #6137
  • Port backend project info to Python 3 (#6132) PR #6132
  • Port backend graph info to Python 3 (#6131) PR #6131
  • Port core tasks to Python 3 (#6130) PR #6130

1.9.0.dev1 (07/14/2018)

New features

  • Add support for reusing Graph node values if their inputs haven’t changed (#6059) PR #6059
  • Compile a VERY simple java source remotely (no dependencies or inner classes) (#5999) PR #5999
  • Expose materialize_directory as an intrinsic function on the scheduler (#6028) PR #6028
  • Targets always have a Snapshot (#5994) PR #5994
  • Add an execution strategy flag (#5981) PR #5981
  • Enable passing option sets to the compiler and deprecate fatal_warnings (#6065) PR #6065

API Changes

  • Upgrade to v2 of bazel protobuf (#6027) PR #6027
  • Add PrimitivesSetField and deprecate SetOfPrimitivesField (#6087) PR #6087
  • Update to rust 1.27, implicitly requiring OSX 10.11 (#6035) PR #6035

Bugfixes

  • Fix local execution of hermetic integration tests (#6101) PR #6101
  • Use PrimitivesSetField in ScalaJs target and minor help text fixup (#6113) PR #6113
  • Fix ‘current’ platform handling. (#6104) PR #6104
  • Make RUST_BACKTRACE sniffing less specific (#6107) PR #6107
  • Improve source field deprecations (#6097) PR #6097
  • Remove and prevent inaccurate __eq__ implementations on datatype (#6061) PR #6061
  • Ensure correct toolchain per clone. (#6054) PR #6054
  • Have pantsbuild-ci-bot do deploys. (#6053) PR #6053
  • Fix go-import meta tag ends with /> #6036 (#6037) PR #6037
  • Fix bad exclusion introduced during rushed change. (#6034) PR #6034
  • Fix unicode handling in Exiters (#6032) PR #6032
  • [pantsd] Improve environment unicode handling. (#6031) PR #6031
  • Actually return execution options (#6019) PR #6019
  • Ignore the logs/ dir. (#6021) PR #6021
  • Fix edge removal in Graph that could make invalidation inaccurate (#6123) PR #6123

Refactoring, Improvements, and Tooling

  • Port errorprone to py3 (#6118) PR #6118
  • Port console to Python 3 (#6121) PR #6121
  • Port buildgen to py3 (#6110) PR #6110
  • Add release metadata to boxfuture (#6106) PR #6106
  • Port engine/fs.py datatype() instances (#6103) PR #6103 PR #6098 PR #6092
  • Port findbugs to py3. (#6120) PR #6120
  • Port codeanalysis to py3. (#6111) PR #6111
  • Port buildrefactor to py3. (#6109) PR #6109
  • Switch from output_async to spawn_async, and buffer output. (#6105) PR #6105
  • Allow Rust to store unicode as well as bytes (#6108) PR #6108 PR #6103
  • Remove unnecessary __future__ imports (#6096) PR #6096
  • Port fs to python 3 compatibility (#6091) PR #6091
  • Nodes output cheaply-cloneable values (#6078) PR #6078
  • execution_strategy is a memoized_property (#6052) PR #6052
  • Port backend/python to Python 3 (#6086) Issue #6062 PR #6086
  • Port backend/native to Python 3 (#6084) Issue #6062 PR #6084
  • Port majority of pants/util to Python 3 (#6073) Issue #6062 PR #6073
  • Port backend/codegen and backend/docgen to Python 3 (#6083) PR #6083
  • Port util/process_handler.py and util/tarutil.py to Python 3 (#6082) PR #6082 PR #6073
  • Add -ltrace and requests debug logging. (#6070) PR #6070
  • Port util metaprogramming files to Python3 (#6072) Issue #6062 PR #6072
  • Add future lib and port src/base to Python3 (#6067) Issue #6062), PR #6067
  • Run futurize –stage1 to make safe changes for python 3 compatibility. (#6063) PR #6063 Issue #6062
  • Switch to a per-entry state machine in Graph (#6013) PR #6013
  • Log more in rust tests (#6060) PR #6060
  • Introduce libc subsystem to find crti.o on linux hosts and unskip the native backend subsystem tests (#5943) PR #5943
  • Clean up process execution python API (#6051) PR #6051
  • Skip pyprep and pytest-prep if there are no python targest (#6039) PR #6039
  • Simplify rust code (#6043) PR #6043
  • [remoting] Move local process execution tempdirs into the workdir, add option to not delete them (#6023) PR #6023
  • Many rust lints (#5982) PR #5982
  • Include type name in TypedDataType construction errors (#6015) PR #6015
  • Consolidate src/python/pants/python -> src/python/pants/backend/python (#6025) PR #6025
  • Extract and genericize Graph for easier testing (#6010) PR #6010
  • Add libc search noop option (#6122) PR #6122
  • Fix test_objects handling of dataclass() py2-py3 compatibility (#6098) PR #6098 Issue #6062

1.9.0.dev0 (06/25/2018)

New features

  • Release Pants as a pex. (#6014) PR #6014
  • C/C++ targets which can be compiled/linked and used in python_dist() with ctypes (#5815) PR #5815

API Changes

  • Deprecate sources except EagerFilesetWithSpec (#5993) PR #5993
  • source attribute is automatically promoted to sources (#5908) PR #5908

Bugfixes

  • Run scalafix before scalafmt (#6011) PR #6011

Refactoring, Improvements, and Tooling

  • Add .vscode/ folder to .gitignore (#6020) PR #6020
  • [engine] Selecting for ExecuteProcessResult will Throw on non-zero exit (#6000) PR #6000
  • Context always has a scheduler in tests (#5997) PR #5997
  • Engine looks up default sources when parsing (#5989) PR #5989
  • Fix TestSetupPyInterpreter.test_setuptools_version (#5988) PR #5988
  • Caching tests are parsed through the engine (#5985) PR #5985
  • Override get_sources for pants plugins (#5984) PR #5984
  • make_target upgrades sources to EagerFilesetWithSpec (#5974) PR #5974
  • Robustify test_namespace_effective PYTHONPATH. (#5976) PR #5976

Documentation Updates

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
pantsbuild.pants.contrib.buildgen-1.9.0-py27-none-any.whl (18.0 kB) Copy SHA256 hash SHA256 Wheel py27 Sep 19, 2018

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 SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page