Skip to main content

Go language support for pants.

Project description

Pants is an Apache2 licensed build tool written in Python.

The latest documentation can be found here.

1.16.x Stable Releases

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

1.16.0 (7/01/2019)

The first stable release of the 1.16.0 series, with no changes since the previous rc.

1.16.0rc6 (6/22/2019)

Bugfixes

  • Fix zipkin multithreading issue #7415 (#7826) PR #7826
  • Fix rsc compile transitive dep bug introduced in #7742 (#7825) PR #7825
  • Fix py-thrift-namespace-clash-check type issue when logging with –no-strict mode (#7864) PR #7864

Refactoring, Improvements, and Tooling

  • Use –no-enabled-shared for Linux wheel-builder interpreter so that the released PEX works with statically built interpreters (#7794) PR #7794
  • Avoid redundant work while hackily_snapshot()ing. (#7829) PR #7829

1.16.0rc5 (5/29/2019)

Bugfixes

  • Force sequential runs under pantsd (#7781) PR #7781
  • make assorted rsc task fixes (#7742) PR #7742
  • Always use the global interpreter for PythonExecutionTaskBase. (#7801) PR #7801

New Features

  • Rsc native image support (#7809) PR #7809
  • Hermetic zinc runs with a native-image (#7796) PR #7796

1.16.0rc4 (5/22/2019)

Bugfixes

  • Have the daemon wait until we stop writing to the socket. (#7782) PR #7782

Refactoring, Improvements, and Tooling

  • Create Pipe wrapper around pipes (#7740) PR #7740

1.16.0rc3 (5/21/2019)

Refactoring, Improvements, and Tooling

  • Only python_binary’s constraint should be included in a built pex (#7776) PR #7776
  • Revert v2 zipkin support due to #7415. (#7773) PR #7773

1.16.0rc2 (5/20/2019)

Refactoring, Improvements, and Tooling

  • Memoize graph walks on Context (#7758) PR #7758
  • Hash an entire json input in one call. (#7759) PR #7759

Bugfixes

  • Use global instance of PythonSetup for resolve requirements task base (#7672) PR #7672

1.16.0rc1 (5/17/2019)

Bugfixes

  • Confluence publishing uses correct text types (#7746) PR #7746
  • Fix ‘current’ platform check for python_dist() targets with C/C++ sources (#7687) PR #7687
  • Fix ordering of args from compiler_option_sets and add test for scalac profiling (#7683) PR #7683

Version updates

1.16.0rc0 (5/7/2019)

API Changes

  • allow configuration of the subsystems to initialize in a test (#7665) PR #7665
  • Replace GracefulTerminationException with PantsRunFinishedWithFailureException (#7671) PR #7671

Bugfixes

  • Fix for reference cycle from Target to BuildGraph (#7666) PR #7666
  • Put all arguments to javac in safe_args not just the source paths (#7651) PR #7651
  • convert to text_type() for external repos running pants py2 (#7664) PR #7664
  • Small logging update to java executor and fix undefined var in release.sh (#7667) PR #7667 PR #7370

Refactoring, Improvements, and Tooling

  • Short-circuit primitive encoding on CoercingEncoder (#7655) PR #7655

1.16.0.dev4 (5/06/2019)

New Features

  • Remote Execution allows extra platform properties to be set (#7650) PR #7650
  • add suffix and Levenshtein matching for invalid option names (#7637) PR #7637

Bugfixes

  • Apply timeouts to pex resolves (#7659) PEX Issue #26 PR #7659
  • pin the PEX_PYTHON{,_PATH} running the pytest pex to avoid using incompatible pytest requirements (#7563) PR #7563
  • Fix hasattr on Payload (#7432) PR #7432
  • Two targets can swap positions with pantsd (again) (#7642) PR #7642

Refactoring, Improvements, and Tooling

  • pantsd runs no longer fork (#7596) PR #7596
  • Replace externs::eval with externs::none (#7646) PR #7646
  • Add the possibility to ignore sigint from other threads (#7623) PR #7623
  • Name threads that the daemon starts (#7639) PR #7639
  • Add testing for improved error message from #7628 when no valid interpreter can be resolved (#7630) PR #7630
  • Extend pantsd test timeout (#7527) PR #7527
  • Skip flaky test (#7638) PR #7638
  • Use TryInto instead of custom types (#7542) PR #7542
  • use upstream rustup init script download workaround for old curl version on CentOS6 (#7619) PR #7619

1.16.0.dev3 (4/27/2019)

Bugfixes

  • PythonTests force default platform resolves (#7618) PR #7618
  • Fix to decode bytes to unicode in server when reading file from disk (#7610) PR #7610
  • Two targets can swap positions with pantsd (#7583) (#7617) PR #7583
  • Fix empty failed target to ensure pants raises the error if python test fails (#7570) PR #7570

Refactoring, Improvements, and Tooling

  • Modernize check_pants_pex_abi.py script to Python 3 (#7631) PR #7631
  • unify precedence logic for options which may be overridden on targets (#7594) PR #7594
  • fix –owner-of path matching to remove repeated directory separators (#7588) PR #7588
  • fix cron job by wrapping the python binary in text_type() (#7611) PR #7611
  • download rustup-init without –proto to work around outdated centos6 curl version (#7615) PR #7615
  • Default release script to use Python 3 in preparation for dropping Python 2 release (#7608) PR #7608
  • Better support –test-junit-test with classname, remove support for file path (#7589) PR #7589
  • Refactor uses of dirutil.py to use the new default Unicode semantics (#7604) PR #7604
  • Ensure test symlink is always seen by engine. (#7605) PR #7605
  • pantsd auto invalidates pants.ini and all pythonpath of pants (#7599) PR #7599

Documentation

  • Improve error message when no valid Python interpreter can be resolved (#7628) PR #7628
  • Fix typo in How to Contribute docs (#7614) PR #7614

1.16.0.dev2 (4/22/2019)

New features

  • Add support for v2-only goals, and replace list with a @console_rule (#6880) PR #6880
  • make deprecations respect warnings filters and add –ignore-pants-warnings option (#7496) PR #7496

Bugfixes

  • Rerun select-interpreter if global Python interpreter constraints have changed (#7586) PR #7586
  • Fix help info output for option choices (#7569) PR #7569
  • Directory materialization is visible to others. (#7562) PR #7562
  • Coerce argv for JavacCompile to text_type. (#7560) PR #7560
  • Fix doc generation rendering byte literals with Python 3 (#7556) PR #7556
  • fix go test flags bug and add integration test (#7539) PR #7539

Documentation

  • Fix link for common_task/target_aggregate (#7574) PR #7574
  • Update install guide to use ./pants generate-pants-ini and pants_runtime_python_version (#7453) PR #7453

Refactoring, Improvements, and Tooling

  • Hotfix #7591 breaking OSX Rust tests shard due to Pyenv global issue (#7602) PR #7602 PR #7591
  • Pin OSX wheel release shards to pyenv. (#7591) PR #7591
  • Replace the goals goal with a help plugin which supports both v1 and v2 (#7598) PR #7598
  • Remove unused migrations folder (#7592) PR #7592
  • Collection subclasses correctly coerce to bools (#7584) PR #7584
  • Use ci.sh instead of travis-ci.sh (#7582) PR #7582
  • Cleanup run_python_test rule. (#7577) PR #7577
  • Improve –pantsd-invalidation-globs using Snapshot fingerprints (#7531) Issue #5567 PR #7531
  • Restore support for pantsbuild.pants wheel using Python 3.7+ by removing abi3 workaround (#7578) Issue #7459 PR #7578
  • Bootstrap py36 in cron as well (#7579) PR #7579
  • protobuf gen triggers less often (#7565) PR #7565
  • Skip more flaky tests in TestPantsDaemonIntegration. (#7575) PR #7575
  • Allow 3rdparty rust crate logging to be hidden (#7530) PR #7530
  • Add debug_log macro for one-off debugging (#7566) PR #7566
  • Enable pantsd in Travis (#7440) PR #7440
  • Skip flaky tests in TestPantsDaemonIntegration. (#7558) PR #7558
  • Don’t assume a local master branch point. (#7557) PR #7557
  • Kill unused env vars in our pre-commit hook. (#7555) PR #7555
  • Remove un-needed travis-ci.sh ci wrapper. (#7548) PR #7548
  • Build pexes that work on all Python patch versions. (#7550) PR #7550
  • Fix abi3 pex check to allow abi3 wheels. (#7549) PR #7549
  • Only add the CI skipping label on initial commit. (#7545) PR #7545
  • Prepare 1.15.0 (#7544) PR #7544
  • Don’t run CI for doc-only changes. (#7537) PR #7537

Version updates

1.16.0.dev1 (4/12/2019)

API Changes

  • Set the fromfile option arg’s default to True (#7513) PR #7513
  • Bump cffi (1.11.1 => 1.11.5) (#7484) PR #7484
  • Add run tracker option for versioning stats (#7481) PR #7481
  • Replace SingletonRule with zero-parameter @rules (#7479) PR #7479
  • Remove @rule Select syntax (#7477) PR #7477
  • Switch to twitter.common 0.3.11 to fix DeprecationWarning when using Pants as a PEX (#7461) PR #7461

New features

  • A @console_rule for validating source files against regexes. (#7515) PR #7515
  • Support JSON and YAML option fromfiles. (#7500) PR #7500
  • add a deprecation_start_version argument to warn_or_error() (#7494) PR #7494
  • Add more pants run information to the json reporter (#7474) PR #7474
  • unrevert go test upgrades to test transitively after fixing issues (#7326) PR #7326
  • Improve error message for isort failure in IsortRun (#7462) PR #7462

Bugfixes

  • Increase strictness of type checking for ExecuteProcessRequest args (#7529) PR #7529
  • Improve Get errors for unhashable or mismatched types (#7502) PR #7502
  • Don’t consider strings as collections for TypedCollection (#7521) PR #7521
  • Invalidate dependency targets for jvmdoc if –combined. (#7455) PR #7455
  • allow python tools to specify a noop predicate and use it for conan (#7498) PR #7498
  • Remove console_rule_integration.py from Python 3 CI blacklist (#7466) PR #7466
  • Fix flaky ./pants idea-plugin when using Python 3 by properly using ConsoleTask interface (#7460) PR #7460
  • Fix ./pants server not working with Python 3 (#7458) PR #7458
  • Fix crash if pants.ini is missing in the buildroot (#7452) PR #7452

Refactoring, Improvements, and Tooling

  • fix TestPantsDaemonIntegration.test_signal_pailgun_stream_timeout flakiness (#7533) PR #7533
  • Restore cron CI run from #7534 to adjust the time it starts (#7538) PR #7538
  • Temporarily turn off cron CI run to adjust the time it starts (#7534) PR #7534
  • Label messages of docs-only commits with SKIP_FULL_CI (#7526) PR #7526
  • Fuse hydrated and unhydrated Struct parsing (#7523) PR #7523
  • Move logging to Rust (#6817) PR #6817
  • Run tests in src dirs in ci. (#7524) PR #7524
  • avoid running a clean-all in integration tests, which are in a new buildroot (#7522) PR #7522
  • make pantsd signal integration tests more reliable by setting the timeout (#7504) PR #7504
  • add some comments to the example CI script in orgs.md (#7478) PR #7478
  • Pass interpreter constraints to the Pex we release (#7511) PR #7511
  • remove pyenv bootstrapping from travis_ci/Dockerfile (#7505) PR #7505
  • Improve logging of build-support/isort.sh helper script (#7503) PR #7503
  • Tweak Pytest logging in CI for less overwhelming logging of successful tests (#7501) PR #7501
  • Install Python 2.7 and 3.6 on Centos6 base image through Pyenv (#7064) PR #7064
  • Add a basic test for pantsd memory leaks. (#7488) PR #7488
  • convert –skip to –strict in py thrift namespace clash check task (#7493) PR #7493
  • Ensure Python 3.6 or 3.7 is installed on all CI shards (#7483) PR #7483
  • Prepare Linux UCS2 shard for upgrade to Centos6 base image in #7064 (#7418) PR #7418
  • Cache AWS CLI install in CI (#7472) PR #7472
  • Remove StatsDb / Timing stats views (#7475) PR #7475
  • Cache pyenv in CI (#7470) PR #7470
  • Consolidate JSON stats recording in RunTracker (#7446) PR #7446
  • Fix issues with deploy shards not properly setting Python version (#7471) PR #7471
  • No longer pin pants_runtime_python_version with ./pants generate-pants-ini (#7469) PR #7469 PR #49
  • Remove Python 3 CI blacklist mechanism (#7468) PR #7468
  • Remove backend/python/tasks tests from Python 3 CI blacklist and refactor their BUILD entries to be more granular (#7463) PR #7463
  • Fix typo from #7424 to properly fix TensorFlow test during Python 3.7 cron job (#7464) PR #7464
  • hack default compiler option sets to fix tensorflow 1.13.1 on python 3.7 (#7424) PR #7424

1.16.0.dev0 (3/29/2019)

New features

  • Add ./pants generate-pants-ini for first time users to generate pants.ini with sensible defaults (#7448) PR #7448
  • Allow alternate nodejs binaries (#7405) PR #7405
  • Add JSON Reporter for more detailed workunit stats (#7392) PR #7392
  • Collect Zipkin spans for v2 engine (#7342) PR #7342

Refactoring, Improvements, and Tooling

  • Revert unnecessary runtime check for valid Python interpreter (#7451) PR #7451
  • Make abstract classproperty error message nicer (#7429) PR #7429
  • remove inspect.stack() from @rule parsing to fix import time regression in py3 (#7447) PR #7447
  • Just ignore source arg (with a comment) (#7430) PR #7430
  • Cache resolution of Node targets via fingerprinting lockfiles. (#7414) PR #7414
  • Handle signals gracefully (#6574) PR #6574
  • Fix resolve test failing on Python 3.7 due to test using outdated cffi version (#7413) PR #7413
  • Loosen constraints for TensorFlow used in example code to work with Python 3.7 (#7410) PR #7410
  • Allow usage of pants2 script from other directories (#7409) PR #7409
  • Specify the python version to use in the unstable pex deploy shard. (#7411) PR #7411
  • Bump default MyPy version to 0.670 (#7407) PR #7407
  • Release pants as both a Python 2.7 PEX and a Python 3.6 PEX (#7401) PR #7401
  • add a non-numeric prefix before the unstable version to avoid getting parsed and truncated as a number (#7400) PR #7400
  • Refactor travis.yml to deduplicate Pyenv and AWS pex code (#7397) PR #7397

Bugfixes

  • nailgun connect timeout error message fix (#7437) PR #7437
  • Add Python 3.7 tests to nightly cron CI run (#7261) PR #7261
  • Better message on tool interpreter selection failure. (#7438) PR #7438
  • fix for pantsrc-files option (#7427) PR #7427
  • Move with_overwritten_file_context to PantsRunIntegrationTest (#7408) PR #7408
  • Fix locale test failing on Python 3.7 due to forced UTF-8 mode (#7412) PR #7412
  • Simplify glob matching and directly match in-memory globs as Patterns. (#7402) PR #7402
  • Allow reporters to see the correct end_time for a workunit (#7389) PR #7389

Documentation

  • Document pantsd startup and Pailgun behaviours (#7376) PR #7376
  • Explain in contributing doc that macOS users must brew install OpenSSL (#7396) PR #7396

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.go-1.16.0-py27.py36.py37-none-any.whl (62.9 kB) Copy SHA256 hash SHA256 Wheel py27.py36.py37

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