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 here.

1.3.x Stable Releases

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

1.3.0 (06/06/2017)

The 1.3.0 stable release, with no addition changes since the rc4 release!

A quick summary of exciting changes since the 1.2.x branch:

  • Pants’ python backend has been overhauled and modernized to support caching, and to lower the latency of re-running tests after a code edit.

  • Pants now uses a native code ‘engine’ implemented in rust, which unlocks significant performance improvements in the future.

  • A daemon that caches BUILD file parsing and file fingerprinting (and more to follow!) is now ready for alpha testing (with two significant caveats).

  • A default set of implicit_sources can now be manually enabled to further reduce BUILD file boilerplate. This option should become the default in the next stable release.

  • The Zinc incremental scala compiler is now at 1.0.0, with improved incremental behaviour.

  • Style-related tasks that used to be in the compile goal have moved to a new lint goal.

  • The fmt goal was added, with support for scalafmt, gofmt, and python isort to start.

  • Support for yarnpkg in the node contrib module.

  • Support for relative ‘jar’ declarations, to allow for committing jars in your repo (if that’s your bag!)

  • A contrib module for errorprone was added.

  • Direct support for scalatest tests in the pants JVM test runner.

See the rest of this page for the complete list of changes.

1.3.0rc4 (05/27/2017)

The fifth release candidate for 1.3.0, with fixes for two more user reported issues.

Bugfixes

1.3.0rc3 (05/23/2017)

The fourth release candidate for 1.3.0, which fixes an issue that caused spurious cache misses cross platform in the v2 engine.

Bugfixes

  • [engine] Check for duplicate deps in v2 graph construction. (#4616) PR #4616

  • Improve Snapshot determinism (#4614) PR #4614

Refactoring, Improvements, and Tooling

  • Remove Oracle Java6, which is now 404ing in Travis. (#4615) PR #4615

1.3.0rc2 (05/19/2017)

The third release candidate for 1.3.0. This fixes a few more issues discovered during very thorough testing by the community. Thank you everyone!

API Changes

  • Change method of reporting target data (#4593) PR #4593

  • Include API that will store target info in run_tracker (#4561) PR #4561

  • Switch to a conditional deprecation for the list-targets behaviour change. (#4600) PR #4600

Bugfixes

  • Revert “Enable –compile-zinc-use-classpath-jars by default” (#4607) PR #4607

  • Pass env vars through in ./pants run for python (#4606) PR #4606

  • Fix broken export-classpath (#4603) PR #4603

  • Fix export-classpaths exclude behavior (#4592) PR #4592

  • Fix splitting of the build_flags for golang. (#4580) PR #4580

Refactoring, Improvements, and Tooling

  • Don’t register newpython tasks in the oldpython backend (#4602) PR #4602

1.3.0rc1 (05/12/2017)

The second release candidate for 1.3.0! Thanks to excellent reports from a bunch of folks, a few issues have been shaken out of the new codepaths introduced by the v2 engine.

It’s possible that this will be the final release candidate for 1.3.0: please help give it a thorough testing to help discover any more issues!

API Changes

  • Support “exports” for thrift targets (#4564) PR #4564

  • Make setup_py tasks provide ‘python_dists’ product. (#4498) PR #4498

  • Include transitive Resources targets in PrepareResources. (#4569) PR #4569

Bugfixes

  • Fix built-in macros for the mutable ParseContext (#4583) PR #4583

  • Exclude only roots for exclude-target-regexp in v2 (#4578) PR #4578

  • Fix a pytest path mangling bug. (#4565) PR #4565

Refactoring, Improvements, and Tooling

  • Specify a workunit for node.js test and run. (#4572) PR #4572

  • [engine] Don’t recreate a graph just for validation (#4566) PR #4566

1.3.0rc0 (05/08/2017)

The first release candidate for the 1.3.0 stable release branch! Almost 7 months in the making, this release brings a huge set of changes, which will be summarized for the 1.3.0 final release.

Please test this release candidate to help ensure a stable stable 1.3.0 release!

API Changes

  • [engine] Deprecate and replace traversable_dependency_specs. (#4542) PR #4542

  • Move scalastyle and java checkstyle into the lint goal (#4540) PR #4540

Bugfixes

  • Warn when implicit_sources would be used, but is disabled (#4559) PR #4559

  • Ignore dot-directories by default (#4556) PR #4556

  • Dockerize native engine builds. (#4554) PR #4554

  • Make “changed” tasks work with deleted files (#4546) PR #4546

  • Fix tag builds after the more-complete isort edit. (#4532) PR #4532

Refactoring, Improvements, and Tooling

  • [engine] Support tracebacks in engine traces; only show them w/ flag (#4549) PR #4549

  • Fix two usages of Address.build_file that avoided detection during the deprecation. (#4538) PR #4538

Documentation Updates

  • Update target scope docs (#4553) PR #4553

  • [engine] use rust doc comments instead of javadoc style comments (#4550) PR #4550

1.3.0.dev19 (4/28/2017)

A weekly unstable release.

API Changes

  • Add support for ‘deployable_archives’ for go and cpp rules. (#4518) PR #4518

  • Deprecate BuildFileAddress.build_file (#4511) PR #4511

  • Make usage of pantsd imply usage of watchman. (#4512) PR #4512

  • Enable –compile-zinc-use-classpath-jars by default (#4525) PR #4525

Bugfixes

  • Fix the kythe bootclasspath. (#4527) PR #4527

  • Revert the zinc 1.0.0-X7 upgrade (#4510) PR #4510

  • Invoke setup-py using an interpreter that matches the target. (#4482) PR #4482

Refactoring, Improvements, and Tooling

  • [pantsd] Ensure rust panics surface in output or daemon logs (#4522) PR #4522

  • Make the release script more idempotent. (#4504) PR #4504

  • [engine] pass on ResolveErrors during address injection (#4523) PR #4523

  • [engine] Improve error messages for missing/empty dirs (#4517) PR #4517

  • Render failed junit tests with no target owner. (#4521) PR #4521

  • [engine] Better error messages for missing targets (#4509) PR #4509

  • Options should only default to –color=True when sys.stdout isatty (#4503) PR #4503

Documentation Updates

  • Add a scala specs2 example (#4516) PR #4516

1.3.0.dev18 (4/21/2017)

A weekly unstable release.

API Changes

  • Create a lint goal and put checkstyle tasks in it. (#4481) PR #4481

Bugfixes

  • Fix some incorrectly formatted dev release semvers. (#4501) PR #4501

  • Make go targets work with v2 changed. (#4500) PR #4500

  • Fix pytest fixture registration bug. (#4497) PR #4497

  • Don’t trigger deprecated scope warnings for options from the DEFAULT section (#4487) PR #4487

  • Ensure that incomplete scalac plugin state doesn’t get memoized. (#4480) PR #4480

Refactoring, Improvements, and Tooling

  • [engine] Skip re-creating copy of address if no variants (#4032) PR #4032

  • Default Fetcher.ProgressListener to stderr. (#4499) PR #4499

  • A contrib plugin to run the Kythe indexer on Java source. (#4457) PR #4457

  • Keep failed target mapping free from None key. (#4493) PR #4493

  • Bring back –no-fast mode in pytest run. (#4491) PR #4491

  • [engine] Use enum for RuleEdges keys, add factory for Selects w/o variants (#4461) PR #4461

  • Bump scala platform versions to 2.11.11 and 2.12.2 (#4488) PR #4488

  • Get rid of the ‘2’ registrations of the new python tasks. (#4486) PR #4486

  • Make pytest report sources paths relative to the buildroot. (#4472) PR #4472

Documentation Updates

  • [docs] fix broken link to certifi (#3508) PR #3508

  • [docs] Fix links in Go README (#3719) PR #3719

  • Update globs.md (#4476) PR #4476

  • Fix some compiler plugin documentation nits. (#4462) PR #4462

  • Convert readthedocs link for their .org -> .io migration for hosted projects (#3542) PR #3542

1.3.0.dev17 (4/15/2017)

A weekly unstable release, highlighted by setting the new python backend as the default.

API Changes

  • Upgrade pants to current versions of pytest et al. (#4410) PR #4410

  • Add ParseContext singleton helper (#4466) PR #4466

  • Make the new python backend the default. (#4441) PR #4441

Bugfixes

  • Correctly inject Yarn into the Node path when it is in use (#4455) PR #4455

  • Fix resource loading issue in the python eval task. (#4452) PR #4452

Refactoring, Improvements, and Tooling

  • [engine] Use RuleGraph for task lookup instead of Tasks (#4371) PR #4371

  • Re-use pre-built Linux engine binaries for bintray upload. (#4454) PR #4454

  • Replace indices with indexes in docs (#4453) PR #4453

  • Avoid re-walking for every target root in minimize (#4463) PR #4463

1.3.0.dev16 (4/08/2017)

A weekly unstable release.

This release brings the new pantsbuild.pants.contrib.jax_ws plugin that can generate Java client stubs from WSDL sources. Thanks to Chris Heisterkamp for this!

The release also pulls in a few fixes for python requirement resolution in the PEX library used by pants. In the past, the python-setup.resolver_allow_prereleases configuration option would not always be resepected; it now is. Additionally, a longstanding bug in transitive requirement resolution that would lead to erroneous ‘Ambiguous resolvable’ errors has now been fixed. Thanks to Todd Gardner and Nathan Butler for these fixes!

New Features

  • Add JAX-WS plugin to generate client stub files from WSDL files (#4411) PR #4411

API Changes

  • Disable unused deps by default (#4440) PR #4440

  • Bump pex version to 1.2.6 (#4442) PR #4442

  • Upgrade to pex 1.2.5. (#4434) PR #4434

  • Update 3rdparty jars: args4j to 2.33, jsr305 to 3.0.2, easymock to 3.4, burst-junit4 to 1.1.1, commons-io to 2.5, and mockito-core to 2.7.21 (#4421) PR #4421

Bugfixes

  • Default –resolver-allow-prereleases to None. (#4445) PR #4445

  • Fully hydrate a BuildGraph for the purposes of ChangedCalculator. (#4424) PR #4424

  • Upgrade zinc to 1.0.0-X7 (python portion) (#4419) Issue #75 Issue #218 PR #4419

Refactoring, Improvements, and Tooling

1.3.0.dev15 (4/03/2017)

A weekly unstable release, delayed by a week!

This release contains multiple significant new features, including the “exports” literal on JVM targets (to better support common cases in repositories using “strict_deps”), the initial release of the new python backend with caching support, a new “outdated.ivy” goal to report which JVM dependencies are out of date, speedups for go builds, and last but not least: the first release with the v2 engine enabled by default (to enable stabilization of the pants daemon before the 1.3.x stable releases).

Thanks to the contributors!

New Features

  • Add outdated.ivy command that looks for 3rd party jar updates with Ivy (#4386) PR #4386

  • Implement exports literal in jvm_target (#4329) PR #4329

  • Make jar_library target export all its dependencies (#4395) PR #4395

  • A temporary python2 backend with just the new python pipeline tasks. (#4378) PR #4378

  • [engine] include rule graph in dot files generated with –visualize-to (#4367) PR #4367

  • Speed up typical go builds. (#4362) PR #4362

  • Enable v2 engine by default. (#4340) PR #4340

API Changes

  • Use released ivy-dependency-update-checker jar tool for outdated.ivy command (#4406) PR #4406

  • Improve our use of gofmt. (#4379) PR #4379

  • Bump the default scala 2.12 minor version to 2.12.1. (#4383) PR #4383

Bugfixes

  • [pantsd] Lazily initialize CpuPool for Core and PosixFS to address SchedulerService crash on Linux. (#4412) PR #4412

  • [pantsd] Address pantsd-runner hang on Linux and re-enable integration test. (#4407) PR #4407

  • Switch the new PytestRun task to use junitxml output. (#4403) Issue #3837 PR #4403

  • [contrib/go] only pass go sources to gofmt (#4402) PR #4402

  • Remove Address/BuildFileAddress ambiguity and fix list-owners (#4399) PR #4399

  • Avoid creating deprecated resources in JavaAgent’s constructor (#4400) PR #4400

  • Invalidate all go compiles when the go version changes. (#4382) PR #4382

  • Repair handling on resources kwargs for changed. (#4396) PR #4396

  • python-binary-create task maps all product directories to the same target (#4390) PR #4390

  • Fix Go source excludes; Cleanup old filespec matching (#4350) PR #4350

  • inserted a www. into some pantsbuild links to un-break them (#4388) PR #4388

  • Switch to using the new PythonEval task instead of the old one. (#4374) PR #4374

  • Adding pragma back in the default coverage config (#4232) PR #4232

  • decode compile logs (#4368) PR #4368

  • Skip cycle detection test (#4361) PR #4361

  • [engine] Fix whitelisting of files in pants_ignore (#4357) PR #4357

  • Revert the shared workaround (#4354) PR #4348 PR #4354

Refactoring, Improvements, and Tooling

  • Cleanup and give better debug output for exclude patterns in findbugs and errorprone (#4408) PR #4408

  • [engine] Rules as decorators (#4369) PR #4369

  • [engine] Move snapshots from /tmp to pants workdir. (#4373) PR #4373

  • [engine] Init Tasks before Scheduler (#4381) PR #4381

  • TravisCI tuning. (#4385) PR #4385

  • Switch the pants repo entirely over to the new python pipeline. (#4316) PR #4316

  • Fix missing deps. (#4372) PR #4372

  • A PythonEval task that uses the new pipeline. (#4341) PR #4341

  • Create a pants.init package. (#4356) PR #4356

  • [engine] short circuit native engine build failures (#4353) PR #4353

  • Check for stale native_engine_version. (#4360) PR #4360

  • [engine] Improving performance by iteratively expanding products within SelectTransitive (#4349) PR #4349

  • Move all logic out of Context (#4343) PR #4343

  • Add support for subprojects in v2 (#4346) PR #4346

  • Fix missing and circular deps. (#4345) Issue #4138 PR #4345

1.3.0.dev14 (3/17/2017)

A weekly unstable release.

API Changes

  • [pantsd] Add an option to configure the watchman startup timeout. (#4332) PR #4332

  • Relativize jar_dependency.base_path (#4326) PR #4326

Bugfixes

  • Fix bad import from race commits (#4335) PR #4335

  • Misc fixes to python tasks: (#4323) PR #4323

Refactoring, Improvements, and Tooling

  • Fix product mapping for ivy resolve when libraries are not jar files (#4339) PR #4339

  • Refactor the new SelectInterpreter and GatherSources tasks. (#4337) PR #4337

  • Lock down the native-engine-version (#4338) PR #4338

  • [engine] Inline execution of Select/Dependencies/Projection/Literal (#4331) PR #4331

  • Upgrade to mock 2.0.0. (#4336) PR #4336

  • [engine] Improve memory layout for Graph (#4333) PR #4333

  • [engine] Split SelectDependencies into SelectDependencies and SelectTransitive (#4334) PR #4334

  • Simplify PythonSetup usage (#4328) PR #4328

  • Bump native engine version. (#4330) PR #4330

  • [engine] Move to new-style CFFI callbacks. (#4324) PR #4324

  • Profile the pants invocations in integration tests. (#4325) PR #4325

1.3.0.dev13 (3/10/2017)

A weekly unstable release.

API Changes

  • Bump pex version to latest. (#4314) PR #4314

New Features

  • Binary builder task for the new python pipeline. (#4313) PR #4313

  • [engine] rm python graphmaker; create dot formatted display (#4295) PR #4295

  • A setup_py task for the new python pipeline. (#4308) PR #4308

Bugfixes

  • scrooge_gen task copy strict_deps field (#4321) PR #4321

  • [jvm-compile] Copy compile classpath into runtime classpath even if already defined (#4310) PR #4310

Refactoring, Improvements, and Tooling

  • Fix reliance on symlinks in testdata. (#4320) PR #4320

  • Introduce SUPPRESS_LABEL on workunit’s console output and have thrift-linter and jar-tool adopt it (#4318) PR #4318

1.3.0.dev12 (3/3/2017)

A weekly unstable release.

API Changes

  • Completely revamp how we support JVM compiler plugins. (#4287) PR #4287

New Features

  • A PytestRun task for the new Python pipeline. (#4252) PR #4252

  • Add ability to specify subprojects (#4088) PR #4088

Bugfixes

Refactoring, Improvements, and Tooling

  • [engine] Rust IO (#4265) PR #4265

  • [engine] Support implicit sources in v2 engine (#4294) PR #4294

  • SelectLiteral isn’t tied to the requester’s subject: it has its own. (#4293) PR #4293

  • Include Javascript files in JVM binary (#4264) PR #4264

  • Update errorprone to version 2.0.17 (#4291) PR #4291

  • node_modules and node_test support yarnpkg as package manager (#4255) PR #4255

1.3.0.dev11 (2/24/2017)

A weekly unstable release.

API Changes

  • Support local jar with relative path in JarDependency (#4279) PR #4279

Refactoring, Improvements, and Tooling

  • Upgrade default jarjar to 1.6.4. (#4271) Issue #26 PR #4271

  • Memoize validation of deprecated versions (#4273) PR #4273

  • [engine] Remove type_id field from Value (#4274) PR #4274

  • [New Python Pipeline] Add resources to PEXes correctly. (#4275) PR #4275

  • Upgrade default go to 1.8. (#4272) PR #4272

  • Fix missed native_engine_version commit. Commit d966f9592

  • Make options fingerprinting very difficult to disable (#4262) PR #4262

  • Bump pex requirement to 1.2.3 (#4277) PR #4277

  • Strip the root-level __init__.py that apache thrift generates. (#4281) PR #4281

  • Small tweak to the Dockerfile. (#4263) PR #4263

  • Make “./pants changed” output correct results when BUILD files are modified (#4282) PR #4282

  • [engine] minor clean up engine.close usage in visualizer (#4284) PR #4284

1.3.0.dev10 (2/17/2017)

Bugfixes

  • Treat PythonTarget dependencies on Resources targets appropriately. (#4249) PR #4249

  • [engine] fix address node creation in v2 build graph; fix filedeps (#4235) PR #4235

  • Repair Broken pipe on pantsd thin client execution when piped to a non-draining reader. (#4230) PR #4230

API Changes

  • Deprecate Python target resources= and resource_targets=. (#4251) PR #4251

  • Deprecate use of resources= in JVM targets. (#4248) PR #4248

New Features

  • New python repl task. (#4219) PR #4219

  • Add a node bundle goal (#4212) PR #4212

  • A task to generate Python code from ANTLR3 grammars. PR #4206

Documentation

  • Fixing grammatical error in why use pants doc page (#4239) PR #4239

Refactoring, Improvements, and Tooling

  • Work around native engine/tag chicken-egg. (#4270) PR #4270

  • [engine] Make Graph.get generic and make Externs static (#4261) PR #4261

  • A Dockerfile for building a pants development image. (#4260) PR #4260

  • [engine] Use Value in invoke_runnable as the function instead of Function (#4258) PR #4258

  • [engine] Storage clean ups (#4257) PR #4257

  • [engine] remove Field type in favor of using String directly (#4256) PR #4256

  • Remove our use of resources= and resource_targets= in python targets. (#4250) PR #4250

  • Get rid of resources=[] stanzas in our JVMTargets. (#4247) PR #4247

  • Change engine visual graph layout from LR to TB (#4245) PR #4245

  • Simplify ci script test running stanzas. (#4209) PR #4209

  • [engine] Porting validation to Rust pt ii (#4243) PR #4243

  • Require dev-suffixed deprecation versions (#4216) PR #4216

  • [engine] Begin port of engine rule graph validation to Rust (#4227) PR #4227

  • Derive object id used in the native context from object’s content (#4233) PR #4233

  • [engine] Use futures for scheduling (#4221) PR #4221

  • Add a ‘current’ symlink to the task-versioned prefix of the workdir. (#4220) PR #4220

  • Improve BUILD file matching in the v2 path. (#4226) PR #4226

  • Batch address injections in dependees task. (#4222) PR #4222

1.3.0.dev9 (1/27/2017)

Bugfixes

  • Removes the slf4j implementation from the classpath when running Cobertura (#4198) PR #4198

  • Make open_zip print realpath when raising BadZipfile. (#4186) PR #4186

Refactoring, Improvements, and Tooling

  • Shard testprojects integration tests (#4205) PR #4205

  • Resolve only stable releases by default. (#4201) PR #4201

1.3.0.dev8 (1/20/2017)

API Changes

  • Bump pex version to 1.1.20 (#4191) PR #4191

  • Ban some characters in target name (#4180) PR #4180

New Features

  • Scrooge codegen improvements (#4177) PR #4177

Refactoring, Improvements, and Tooling

  • Kill review tooling remnants. (#4192) PR #4192

  • Only release native-engine for pants releases. (#4189) PR #4189

  • Add some useful tips to the release documentation. (#4183) PR #4183

Bugfixes

  • Add __init__.py for tests/python directories (#4193) PR #4193

  • Fix str-typed options with int defaults. (#4184) PR #4184

1.3.0.dev7 (1/13/2017)

API Changes

  • Upgrade zinc and default scala-platform in pants repo to 2.11 (#4176) PR #4176

New Features

Refactoring, Improvements, and Tooling

  • add various codegen packages to default backend packages (#4175) PR #4175

  • Suggest missing dependencies from target’s transitive dependencies (#4171) PR #4171

  • Reduce compilation invalidation scope of targets with strict_deps=True (#4143) PR #4143

  • Fork to post_stat (#4170) PR #4170

Bugfixes

  • fix a small bug in ApacheThriftGenBase class (#4181) PR #4181

1.3.0.dev6 (1/06/2017)

API Changes

  • Refactor the thrift codegen task. (#4155) PR #4155

  • Finish splitting up the codegen backend. (#4147) PR #4147

Refactoring, Improvements, and Tooling

  • Fix import order issues introduced by a previous commit. (#4156) PR #4156

  • Bump default nodejs version to 6.9.1 from 6.2.0 (#4161) PR #4161

  • Make post_stat async (#4157) PR #4157

  • Fix release script owners check. Commit

1.3.0.dev5 (12/30/2016)

API Changes

  • Upgrade default go to 1.7.4. (#4149) PR #4149

Bugfixes

  • Fix instructions for ivy debug logging (#4141) PR #4141

  • Handle unicode in classpath entries (#4136) PR #4136

  • Ensure that invalid vts have results_dir cleaned before passing to ta… (#4139) PR #4139

Documentation

  • [docs] Update the cache section on the Task developer page. (#4152) PR #4152

  • Prepare notes for 1.2.1.rc0 (#4146) PR #4146

Refactoring, Improvements, and Tooling

  • Start breaking up the codegen backend. (#4147) PR #4147

  • Cleanup unused cffi handles to free memory (#4135) PR #4135

  • A new Python run task. (#4142) PR #4142

1.3.0.dev4 (12/08/2016)

Bugfixes

  • Redirect bootstrapping calls in pants binary to stderr (#4131) PR #4131

  • Ensure that the protoc root import path is examined first (#4129) PR #4129

  • Allow the buildroot to be a source root (#4093) PR #4093

  • A flag to add the buildroot to protoc’s import path (#4122) PR #4122

  • Drop libc dependency from native engine (#4124) PR #4124

  • Execute traces for all non-Return values (#4118) PR #4118

Refactoring, Improvements, and Tooling

  • directly invoke runnable from native code (#4128) PR #4128

  • Bump pex version.

  • [engine] model snapshots in validation, make root rules a dict instead of a set (#4125) PR #4125

  • classmap: a jvm console task that outputs mapping from class products to their targets (#4081) PR #4081

  • Update bintray deploys to use a shared account. (#4126) PR #4126

  • Plumb a configurable worker count to thrift linter. (#4121) PR #4121

Documentation

  • [docs] Add section for building multiplatform python binaries with native dependencies (#4119) PR #4119

1.3.0.dev3 (12/02/2016)

A weekly unstable release.

API Changes

  • Bump pex and setuptools to latest. (#4111) PR #4111

  • Bump setuptools version. (#4103) PR #4103

Bugfixes

  • Update junit-runner to 1.0.17 (#4113) PR #4113 PR #4106

  • Don’t exit the JUnitRunner with number of failures because Java will mod the exit code. (#4106) PR #4106

  • Allow for using the native engine from-source in another repo (#4105) PR #4105

  • Un-publish the jar goal. (#4095) PR #4095

  • Restore compile-zinc-name-hashing option to follow deprecation cycle (#4091) PR #4091

  • Fix a Python requirement resolution test bug. (#4087) PR #4087

Refactoring, Improvements, and Tooling

  • [engine] Remove variant selecting from native engine (#4108) PR #4108

  • Reduce hashing during v2 transitive graph walks (#4109) PR #4109

  • Add a native engine release check. (#4096) PR #4096

  • Remove coveralls from CI. (#4099) PR #4099

  • Run the proto compiler in workunit. (#4092) PR #4092

  • Restore propagation of thrown exceptions between rust and python (#4083) PR #4083

  • Make cargo build –release the default for native engine bootstrapping. (#4090) PR #4090

Documentation

  • Remove stale example from 3rdparty_jvm.md (#4112) PR #4112

  • Add “common tasks” docs (#4060) PR #4060

  • Fix typo in docs (#4097) PR #4097

1.3.0dev2 (11/20/2016)

A return to the regular schedule of weekly unstable releases.

API Changes

  • Move SimpleCodegenTask into the pants core. PR #4079

  • Move the pytest-related runtime requirement specs into a subsystem. PR #4071

  • Add the scala 2.12 platform RB #4388

Refactoring, Improvements, and Tooling

  • Fixup OSX bintray prep. (#4086) PR #4086

  • Task to gather local python sources into a pex. PR #4084

  • [engine] Initial Trace implementation for rust engine (#4076) Issue #4025 PR #4076

  • Propose a github review workflow RB #4333

  • Spelling mistake in first_tutorial (#4045) PR #4045

  • Replace instances of pantsbuild.github.io in the docs with pantsbuild.org. PR #4074

  • A task to resolve python requirements. PR #4065

  • Upgrade zinc’s sbt dependency to 1.0.0: python portion RB #4064 RB #4340 RB #4342

  • Skip failing tests to get CI green. RB #4391

  • Avoid using expensive bootstrap artifacts from temporary cache location RB #4342 RB #4368

1.3.0dev1 (11/16/2016)

There has been a month gap between master releases and a corresponding large number of changes. Most notably:

  • Pants now ships with a new native engine core that is the future of pants scalability work.

  • Pants has adopted a code of conduct

API Changes

  • Make findbugs task not transitive by default and modify findbugs progress output RB #4376

  • Adding a Code of Conduct RB #4354

  • Surface –dereference-symlinks flag to task caching level RB #4338

  • support mutually_exclusive_group paramater in option registration RB #4336

  • Deprecate the java_tests alias in favor of junit_tests. RB #4322

  • Add a target-types option to scalafmt to avoid formatting all targets RB #4328

  • Adding scalafmt formatting to fmt goal RB #4312

Bugfixes

  • Capture testcase for unknown test failures in the JUnit Xml RB #4377

  • Correction on [resolve.node] RB #4362 RB #4364

  • Remove safe_mkdir on results_dir in [resolve.node] RB #4362

  • Improve python_binary target fingerprinting. RB #4353

  • Bugfix: when synthesizing remote libraries in Go, pin them to the same rev as adjacent libs. RB #4325

  • Fix the SetupPy target ownership check. RB #4315

  • Update junit runner to 1.0.15 to get java 7 compatibility RB #4324

  • Fix erroneous deprecated scope warnings. RB #4323

  • Back down the minimum required java version for running Pants tools to java 7 RB #4127 RB #4253 RB #4314

  • Fix exlucde_target_regexp breakage in test-changed and –files option breakage in changed with diffspec RB #4321

  • Prevent cleanup error at end of pants test with –test-junit-html-report option, update safe_rmtree to be symlink aware RB #4319

Refactoring, Improvements, and Tooling

  • Format / Sort COMMITTERS.md; Add Yujie Chen to Active list RB #4382

  • Bump junit-runner to 1.0.16 RB #4381

  • Patch to make scala tests work RB #4361

  • Kill un-used pants.jenkins.ini. RB #4369

  • Kill unused Jenkins experiment. RB #4366

  • Split test_zinc_compile_integration into two smaller tests RB #4365

  • Upgrade zinc’s sbt dependency to 1.0.0: JVM portion Issue #144 Issue #151 Issue #185 RB #3658 RB #4342 RB #4340

  • Perf improvement: rebase analyis file once instead of multiple times Issue #8 RB #4352

  • Leverage default sources where possible. RB #4358

  • [python-ng] A task to select a python interpreter. RB #4346

  • Parallize thrift linter RB #4351

  • normalize filespec exclude usage RB #4348

  • clean up deprecated global_subsystems and task_subsystems RB #4349

  • [jvm-compile] Ensure all invalid dependencies of targets are correctly represented in compile graph RB #4136 RB #4343

  • Change default ./pants fmt.isort <empty> behavior to no-op; Add sources check for isort. RB #4327

  • Allow targets to have sensible defaults for sources=. RB #4300

  • Remove the long-deprecated Target.is_codegen(). RB #4318

  • Add one more shard to travis ci RB #4320

New Engine Work

  • Revert “Revert “Generate 32 bit native engine binaries.”” RB #4380 Issue #4035

  • Add contrib, 3rdparty to copy list for mock buildroot as v2 engine to pass prefix checks. RB #4379

  • Generate 32 bit native engine binaries. RB #4373

  • Add support for publishing for OSX 10.7+. RB #4371

  • Wire up native binary deploy to bintray. RB #4370

  • Re-work native engine version. RB #4367

  • First round of native engine feedback Issue #4020 RB #4270 RB #4359

  • [engine] Native scheduler implementation RB #4270

  • Bootstrap the native engine from live sources. RB #4345

1.3.0dev0 (10/14/2016)

The first unstable release of the 1.3.x series.

API Changes

  • Add subsystem_utils to test_infra RB #4303

Bugfixes

  • Switch default deference back to True for tarball artifact RB #4304

  • Filter inactive goals from Goal.all. RB #4298

  • JUnit runner fix for len(args) > max_args in argfile.safe_args RB #4294

  • Fix –changed-files option RB #4309

Refactoring, Improvements, and Tooling

  • Migrate changed integration tests to isolated temp git repos and add an environment variable to override buildroot RB #4295

  • Get rid of the “Skipped X files” messages from isort output. RB #4301

  • Version clarification RB #4299

  • Fix isort to run ./pants fmt.isort once. RB #4297

  • Dogfood ./pants fmt.isort. RB #4289

  • Extract the junit xml report parser. RB #4292

  • Leverage default targets throughout pants BUILDs. RB #4287

New Engine Work

  • [engine] Improve daemon run profiling. RB #4293

Project details


Release history Release notifications | RSS feed

This version

1.3.0

Download files

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

Source Distribution

pantsbuild.pants-1.3.0.tar.gz (952.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page