C++ pants plugin.
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
Temporarily restore recursive behaviour for bundle filesets (#4630) PR #4630 PR #4624 PR #4624
Check that test case attribute exists in junit xml file before converting it (#4623) Issue #4619 PR #4623
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
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
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
Bugfixes
Refactoring, Improvements, and Tooling
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
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
Documentation Updates
1.3.0.dev19 (4/28/2017)
A weekly unstable release.
API Changes
Bugfixes
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
1.3.0.dev17 (4/15/2017)
A weekly unstable release, highlighted by setting the new python backend as the default.
API Changes
Bugfixes
Refactoring, Improvements, and Tooling
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
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
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
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
Bugfixes
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
Bugfixes
Refactoring, Improvements, and Tooling
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
Bugfixes
Fix missed native_engine_version. Commit cbdb97515
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
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
API Changes
New Features
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
Refactoring, Improvements, and Tooling
1.3.0.dev8 (1/20/2017)
API Changes
New Features
Scrooge codegen improvements (#4177) PR #4177
Refactoring, Improvements, and Tooling
Bugfixes
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
Add contrib module for Error Prone http://errorprone.info/ (#4163) PR #4163
Refactoring, Improvements, and Tooling
Bugfixes
fix a small bug in ApacheThriftGenBase class (#4181) PR #4181
1.3.0.dev6 (1/06/2017)
API Changes
Refactoring, Improvements, and Tooling
1.3.0.dev5 (12/30/2016)
API Changes
Upgrade default go to 1.7.4. (#4149) PR #4149
Bugfixes
Documentation
Refactoring, Improvements, and Tooling
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
Bugfixes
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
1.3.0dev2 (11/20/2016)
A return to the regular schedule of weekly unstable releases.
API Changes
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
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
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for pantsbuild.pants.contrib.cpp-1.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd375b96524c373168da981ea5c95c79605a08d32cd5ea647d5cfc15dc3000d4 |
|
MD5 | e72994748717d8706a264a5599850e22 |
|
BLAKE2b-256 | d658f3acc9d438d33708de13d200e87c73bb765cec3dab30404c2574985e6ddf |