FindBugs pants plugin
Project description
Pants is an Apache2 licensed build tool written in Python.
The latest documentation can be found here.
Master Pre-Releases
This document describes pre releases which occur weekly from master, and which do not undergo the vetting associated with stable releases.
1.1.0-pre4 (06/03/2016)
This is the fifth 1.1.0-pre release on the way to the 1.1.0 stable branch
API Changes
New Features
Bugfixes
New Engine Work
[engine] Don’t compute a cache key for things we aren’t going to cache RB #3971
[engine] Repair scope binding issue in BUILD parsing. RB #3969
[engine] Fix support for TargetMacros in the new parser, and support default names RB #3966
[engine] Make follow_links kwarg to globs non-fatal. RB #3964
[engine] Directly use entries while scheduling RB #3953
[engine] Optionally inline inlineable Nodes RB #3931
[engine] skip hanging multiprocess engine tests RB #3940 RB #3941
[engine] clean up non in-memory storage usage, only needed for LocalMultiprocessEngine RB #3940
Refactoring, Improvements, and Tooling
Update jdk paths reference in jvm_projects documentation RB #3942
Make JvmAppAdaptor compatible with bare bundle() form. RB #3965
Update junit-runner to version 1.0.9 and test new experimental runner logic RB #3925
Make BaseGlobs.from_sources_field() work for sets and strings. RB #3961
Advance JVM bundle options, and enable them in jvm_app target as well RB #3910
Rename PARALLEL_BOTH to PARALLEL_CLASSES_AND_METHODS inside JUnit Runner RB #3925 RB #3962
Update contributors.sh script not to count publish commits RB #3946
Don’t fail running virtualenv inside of a git hook RB #3945
Prepare 1.0.1 RB #3960
During releases, only publish the docsite from master RB #3956
Decode Watchman file event filenames to UTF-8. RB #3951
Bump pex requirement to 1.1.10. Issue #265 RB #3949
Refactor and simplify go fetcher code. Issue #3439 Issue #3427 Issue #2018 RB #3902
1.1.0-pre3 (05/27/2016)
This is the fourth 1.1.0-pre release on the way to the 1.1.0 stable branch
Bugfixes
Fix hardcoded pants ignore from ‘dist/’ to ‘/rel_distdir/’. Use pants_ignore: +[…] in pants.ini RB #3927
New Engine Work
Refactoring, Improvements, and Tooling
Adding a special ‘$JAVA_HOME’ symbol for use in jvm platforms args. RB #3924
Defaulting to Node 6.2.0 Issue #3478 RB #3918
Add documentation on deploy_jar_rules for Maven experts RB #3937
Bump pex requirement to pex==1.1.9. RB #3935
1.1.0-pre2 (05/21/2016)
This is the third 1.1.0-pre release on the way to the 1.1.0 stable branch.
API Changes
Deprecate ambiguous options scope name components. RB #3893
New Features
Make NodeTest task use the TestRunnerTaskMixin to support timeouts Issue #3453 RB #3870
Support Scrooge generation of additional languages. RB #3823
Bugfixes
Refactoring, Improvements, and Tooling
New Engine Work
[engine] yield only addresses associated with target specs, so list goal will work RB #3873
1.1.0-pre1 (05/17/2016)
This is the second 1.1.0-pre release on the way to the 1.1.0 stable branch.
It adds support for JDK8 javac plugins to the core, adds a Java FindBugs module to contrib, and improves the convenience of dict typed options.
API Changes
New Features
Allow updating dict option values instead of replacing them. RB #3896
Add FindBugs plugin to contrib RB #3847
Implement options scope name deprecation. RB #3884
Find custom jar manifests in added directories. RB #3886
Support for javac plugins. RB #3839
Making the permissions of the local artifact cache configurable. RB #3869
Bugfixes
Refactoring, Improvements, and Tooling
Link the Go doc to the site toc. RB #3891
Make pants a good example of Go contrib usage. RB #3889
Add a command line option for meta tag resolution RB #3882
Add a note about fixing PANTS_VERSION mismatch. RB #3887
Add a Go Plugin README. RB #3866
Add the start of a Jenkins runbook. RB #3871
Update packer docs to include canary process. RB #3862
Move thrift language/rpc validation to codegen implementations RB #3823 RB #3876
Enhance options scope deprecation test. RB #3901
New Engine Work
1.1.0-pre0 (05/09/2016)
The 1.1.0-preN releases start here.
Pants is building to the 1.1.0 release candidates and is N releases towards that milestone.
This release has several changes to tooling, lots of documentation updates, and some minor api changes.
API Changes
Add ‘transitve’ and ‘scope’ attributes to export of target RB #3582 RB #3845
Add Support for “exclude” to globs in BUILD files RB #3828
Add support for pants-ignore to ProjectTree RB #3698
New -default-concurrency parameter to junit-runner RB #3707 RB #3753
Make :API: public types useable. RB #3752
Add public API markers to targets and base tasks used by plugins. RB #3746
De-publicize a FAPP private method. RB #3750
New Features
Introduce idea-plugin goal to invoke intellij pants plugin via CLI Issue #58 RB #3664
Enhance parallel testing junit_tests Issue #3209 RB #3707
Bugfixes
Use JarBuilder to build jars. RB #3851
Ensure DistributionLocator is _reset after tests. RB #3832
Handle values for list options that end with quotes RB #3813
Addresses should not equal things that are not addresses. RB #3791
Add transitive dep required by javac 8. RB #3808
Fix distribution tests in the face of many javas. RB #3778
Use NailgunTask’s Java distribution consistently. RB #3793
The thrift dep is indirect but required under JDK8. RB #3787
Fix relative path in publish script. RB #3789
Remove a failing test for deleted functionality. RB #3783
Fixup PythonChrootTest.test_thrift_issues_2005. RB #3774
Fix JDK 8 javadoc errors. RB #3773
Fix DIST_ROOT trample in test_distribution.py. RB #3747
Skip flaky pytest timeout failure ITs. RB #3748
Refactoring, Improvements, and Tooling
Convert from JNLP to ssh. RB #3855
Skip test_pantsd_run_with_watchman on Linux. RB #3853
Fixup jenkins-slave-connect.service pre-reqs. RB #3849
Expose JENKINS_LABELS to slaves. RB #3844
Move node info to a script. RB #3842
Retry git operations up to 2 times. RB #3841
Add instance debug data to shard output. RB #3837
Improve jenkins-slave-connect.service robustness. RB #3836
Use env and pwd() to get rid of $ escaping. RB #3835
Improve the packer docs. RB #3834
Isolate Jenkins CI ivy caches. RB #3829
Comment on release concurrency in the docs RB #3827
Update plugin doc. RB #3811
Use packer to create the jenkins linux slave AMI. RB #3825
Upgrade cloc to 1.66. RB #3820
Add an explicit legal exception to deprecation policy RB #3809
Add a Jenkins2.0 CI configuration. RB #3799
Scrooge gen: Cache resolved scrooge deps RB #3790
Front Page update RB #3807
remove ‘staging’ url from 1.0 release
Fix various hardwired links to point to pantsbuild.org. RB #3805
Push the docsite to benjyw.github.io as well as pantsbuild.github.io. RB #3802
Add -L to allow curl to redirect in case we decide to move website later RB #3804
Merge back in some content from the options page RB #3767 RB #3795
Update the community page RB #3801
Updates for documentation followon from Radical site redesign RB #3794
Use a set for the contains check in topo order path for invalidation RB #3786
Rework ScalaPlatform. RB #3779
Pants 1.0 Release announcement RB #3781
Revisit the ‘Why Use Pants’ doc RB #3788
Move src/python/pants/docs to src/docs. RB #3782
Adding managed_jar_dependencies docs to 3rdparty_jvm.md. RB #3776
Radical makeover of docsite. RB #3767
Add changelog items from 1.0.x branch RB #3772
Upgrade to pex 1.1.6. RB #3768
convert RequestException into a more standard NonfatalArtifactCacheError RB #3754
[docs] Remove setup difficulty caveat, and highlight install script RB #3764
add JUnit XML tests for a TestSuite and a Parameterized Test RB #3758
Adding Grapeshot to the Powered by page, approved by Katie Lucas of Grapeshot RB #3760
Upgrade default go from 1.6.1 to 1.6.2. RB #3755
Upgrade to pex 1.1.5. RB #3743
New Engine Work
[engine] Don’t cycle-detect into completed Nodes RB #3848
Migrate pants.engine.exp to pants.engine.v2. RB #3798 RB #3800
[pantsd] Build graph caching via v2 engine integration. RB #3798
[engine] Walk references in the ProductGraph RB #3803
[engine] Add support for collection wrapping a class RB #3769
[engine] Simplify ProductGraph.walk RB #3792
[engine] Make ScmProjectTree pickable and fix most GitFSTest tests Issue #3281 RB #3770
[engine] bug fix: to pickle/unpickle within the proper context RB #3751 RB #3761
[engine] Support for synthetic target injection RB #3738
1.0.0-rc1 (04/22/2016)
This release has several changes related to documentation, CI fixes and work in preparation for the 1.0 release.
CI work to enable us to move to jenkins
Documentation leading up to 1.0
Engine work around handling of symlinks
Set a global -Xmx default for JVMs
improve cache hit rate with eager caching of zinc
Add public api markers RB #3727
Bugfixes
A few fixes to config path computation, esp. in tests. RB #3709
Fix built-in graph_info backend BUILD deps. RB #3726
Improve android install robustness. RB #3725
Fix jvm_app fingerprinting for bundles with non-existing files. RB #3654
Fix PEP8Error Nit subclass line_range. RB #3714
Fix import order issue.
Some fixes to make tests more robust around jvm_options. RB #3706
Fix a typo that caused problems with REPL in custom scala RB #3703
Refactoring, Improvements, and Tooling
Write artifacts to the cache when vt.update() is called. RB #3722
Bump the open file ulimit on OSX. RB #3733
Skip intermittently failing test_multiprocess_engine_multi. RB #3731
Doc running pants from sources in other repos. RB #3715
Add quiz-up to the powered by page RB #3732
Point Node preinstalled-project at a better URL. RB #3710
Show details in the builddict. RB #3708
Add the Phabricator .arcconfig file. RB #3728
Use requests/Fetcher to fetch Node pre-installed’s. RB #3711
- Add –bootstrap-ivy-settings option
Prioritize command line option error and add ConfigValidationError for option error differentiation. RB #3721
Set a global -Xmx default for JVMs RB #3705
Enforce that an option name isn’t registered twice in a scope. Issue #3200) RB #3695
New Engine Work
[engine] Split engine docs from example docs RB #3734
[engine] Only request literal Variants for Address objects RB #3724
[engine] Implement symlink handling Issue #3189)) RB #3691
0.0.82 (04/15/2016)
This release has several changes to tooling, bugfixes relating to symlinks, and some minor api changes.
Downgraded the version of pex to fix a bug.
Upgraded the version of zinc to fix a bug.
Added “preferred_jvm_distributions” to the pants export data, deprecating “jvm_distributions”. This way the IntelliJ plugin (and other tooling) can easily configure the project sdk that pants is actually using.
Changed some option defaults for jvm_compile, zinc_compile, and the –ignore-patterns global option.
API Changes
Bugfixes
Refactoring, Improvements, and Tooling
New Engine Work
[engine] Limit matches for FilesystemNode to only cases where lhs/rhs match Issue #3117 RB #3688
0.0.81 (04/10/2016)
This release is primarily minor internal and engine improvements.
The pants workspace lock has been renamed. If you’ve been having issues with deadlocks after switching back and forth between old and new versions of pants, this release should fix that and remain backward compatible.
Because of the lock rename, ensure that .pants.workdir.file_lock and .pants.workdir.file_lock.lock_message are ignored by your SCM (e.g. in .gitignore).
The junit option –suppress-output has been removed following a deprecation cycle. Use –output-mode instead.
Several internal ivy utility methods have been removed following a deprecation cycle.
API Changes
Bugfixes
New Features
Refactoring, Improvements, and Tooling
Remove ivy utils deprecated methods and update test RB #3675
Scrub some old migration code. RB #3672
Rename the global lock from pants.run to pants.workdir.file_lock RB #3633 RB #3668
Deprecate action=’store_true’/’store_false’ options. RB #3667
Give a hint on how to disable the Invalid config entries detected message RB #3642
Mark an integration test as such. RB #3659
Replace all action=’store_true’ options with type=bool. RB #3661
pythonstyle: Fix suppression support; improve SyntaxError reporting; Only report each nit once RB #3647
Import zincutils RB #3657
Squelch message from scm RB #3645
Skip generating reports for empty resolves RB #3625
Export manifest jar for external junit run RB #3626
New Engine Work
[engine] bug fix: ensure we catch all exceptions in subprocess Issue #3149 Issue #3149 RB #3656
[engine] Move the visualizer into LocalScheduler. RB #3649
[pantsd] Repair watchman startup flakiness. RB #3644
0.0.80 (04/01/2016)
This release brings scopes for jvm dependencies. Proper documentation has not been added yet, but check out the review description for more info: https://rbcommons.com/s/twitter/r/3582
The following deprecated items were removed:
Options:
–scala-platform-runtime: Option is no longer used, –version is used to specify the major version. The runtime is created based on major version. The runtime target will be defined at the address //:scala-library unless it is overriden by the option –runtime-spec and a –version is set to custom.
–spec-excludes: Use –ignore-patterns instead. Use .gitignore syntax for each item, to simulate old behavior prefix each item with “/”.
PANTS_DEFAULT_*: Use PANTS_GLOBAL_* instead of PANTS_DEFAULT_*
BUILD Files:
python_requirement(…, version_filter): The version_filter argument has been removed with no replacement.
API Changes
Bugfixes
New Features
Refactoring, Improvements, and Tooling
Speed up node repl integration test by using smaller targets RB #3584
New Engine Work
0.0.79 (03/26/2016)
This is the regularly scheduled release that would have been 0.0.78. Due to an upload issue and a desire for immutable versions, the 0.0.78 version number was skipped: all deprecations have been extended by one release to account for that.
Bugfixes
Only mark a build incremental if it is successfully cloned RB #3613
Avoid pathological regex performance when linkifying large ivy output. RB #3603
Convert ivy lock to use OwnerPrintingPIDLockFile RB #3598
Fix errors due to iterating over None-types in ivy resolve. RB #3596
Do not return directories from BUILD file’s globs implementation RB #3590
Fix unicode parsing of ini files. RB #3595
Fix ‘compute_hashes’ for ‘Page’ target type RB #3591
Fix globs for empty SourcesField RB #3614
New Features
Validate command line options regardless whether goals use them. RB #3594
Refactoring, Improvements, and Tooling
Verify config by default. RB #3636
Fix, document, or mark xfail tests that fail in Jenkins. RB #3632
Allow a period in a namedver for publishing RB #3611
Bump the junit runner release to 1.0.4 to pick up latest code changes RB #3599
Re-add the ConsoleRunnerOutputTests and consolodate them into ConsoleRunnerTest, also move test clases used for testing into junit/lib directory RB #2406 RB #3588
Add the Android SDK to the linux CI and turn on Android tests. RB #3538
Update pyflakes to 1.1.0, enable pyflakes checks and fix all warnings RB #3601
New Engine Work
[engine] Calculate legacy target sources using the engine Issue #3058 RB #3474 RB #3592
Split literal from netrc credentials to allow pickling Issue #3058 RB #3605
Make shader classes top-level to allow for pickling RB #3606
[engine] no longer content address subject Issue #3066 RB #3593 RB #3604
Hide cycle in testprojects RB #3600
[engine] Eliminate non-determinism computing cache keys RB #3593
0.0.77 (03/18/2016)
Bugfixes
New Features
Refactoring, Improvements, and Tooling
Bump junit-runner to 1.0.3 RB #3585
Remove unneeded args4j handler registrations that cause failures in tests and rename TestParser
Set public API markers for subsystem, process, reporting and scm RB #3551
Create and use stable symlinks for the target results dir RB #3553
Split Ivy Resolve into Resolve / Fetch steps Issue #3052 Issue #3053 Issue #3054 Issue #3055 RB #3555
[pantsd] Add support for fetching watchman via BinaryUtil. RB #3557
Only bootstrap the zinc worker pool if there is work to do RB #3559
Bump pex requirement to 1.1.4. RB #3568
New Engine Work
[engine] Introduce ProductGraph invalidation. RB #3578
[engine] skip caching for native nodes RB #3581
[engine] More pickle cleanups RB #3577
[engine] cache StepResult under StepRequest RB #3494
[engine] turn off pickle memoization Issue #2969 RB #3574
[engine] Add support for directory matches to PathGlobs, and use for inference RB #3567
0.0.76 (03/11/2016)
This release features:
The removal of the –fail-slow option to pytest. This is now the default, use –fail-fast for the opposite behavior.
Moving the Android backend into contrib.
Support for a special append syntax for list options: +=.
Tightening up of some aspects of option type conversion. There may be options in plugins that were relying on broken behavior (such as when using a string where an int was expected), and that will now (correctly) break.
Deprecation of the PANTS_DEFAULT_* env vars in favor of PANTS_GLOBAL_*.
Lots of engine work.
A fix to task implementation versions so that bumping the task version will also invalidate artifacts it produced (not just invalidate .pants.d entries).
API Changes
Bugfixes
fix typo introduced in https://rbcommons.com/s/twitter/r/3531/ RB #3531 RB #3552
New Features
Refactoring, Improvements, and Tooling
Adds support for golang meta info for imports Issue #2378 RB #3443
Update export TODO to point to the relevant intellij-plugin issue; rm ref to non-existent option RB #3558
Use the task implementation version in the fingerprint of a task, to cause cache invalidation for TaskIdentityFingerprintStrategy. RB #3546
Deprecate version_filter from python_requirement RB #3545
Add _copy_target_attributes implementation to antlr RB #3352 RB #3402 RB #3547
Make synthetic jar_library targets dependencies of android_binary. RB #3526
New Engine Work
[engine] Move storage out of scheduler to engine RB #3554
[engine] Add native filesystem node type. RB #3550
[engine] Implement support for recursive path globs RB #3540
[engine] Extract scheduler test setup to a helper RB #3548
[bugfix] Properly opt out of zinc’s fingerprinting of Resources. RB #3185
[engine] switch content addressable storage from dict to a embedded db RB #3517
0.0.75 (03/07/2016)
This release completes the deprecation cycle for several options:
–scala-platform-runtime: The –scala-platform-version is now used to configure the scala runtime lib.
–use-old-naming-style for the export-classpath goal: The old naming style is no longer supported.
–spec-excludes: Use –ignore-patterns instead.
API Changes
Remove deprecated code planned to remove in 0.0.74 and 0.0.75 versions RB #3527
Bugfixes
New Features
allow list-owners to accept multiple source files and output JSON RB #2755 RB #3534
add JSON output-format option to dependees RB #3534 RB #3536
Allow running prep_commands in goals other than test RB #3519
When using ./pants options, hide options from super-scopes. RB #3528
zinc: optionize fatal-warnings compiler args RB #3509
An option to set the location of config files. RB #3500
Refactoring, Improvements, and Tooling
Fix failing test on CI after ‘Remove deprecated code planned to remove in 0.0.74 and 0.0.75 versions’ change RB #3527 RB #3533
Set public API markers for task and util RB #3520
Set public api markers for jvm backend RB #3515
pythonstyle perf: dont parse the exclusions file for every source file. RB #3518
Extract a BuildGraph interface Issue #2979 RB #3514
increase compile.zinc integration test timeout RB #3507
fix zinc testing instructions RB #3513
New Engine Work
[engine] Implement the BuildGraph interface via the engine RB #3516
0.0.74 (02/27/2016)
This release changes how pants detects the buildroot from using the location of a ‘pants.ini’ file, to using the location of a file named ‘pants’ (usually the name of the pants executable script at the root of a repo). This is in service of allowing for zero-or-more pants.ini/config files in the future.
Additionally, there is now support for validating that all options defined in a pants.ini file are valid options. Passing or configuring ‘–verify-config’ will trigger this validation. To allow global options to be verified, a new [GLOBAL] section is now the recommend place to specify global options. This differentiates them from [DEFAULT] options, which may be used as template values in other config sections, and thus cannot be verified.
API Changes
Bugfixes
New Features
Refactoring, Improvements, and Tooling
Change ivy resolve ordering to attempt load first and fall back to full resolve if load fails. RB #3501
Clean up extraneous code in jvm_compile. RB #3504
Retrieve jars from IvyInfo using a collection of coordinates instead of jar_library targets. RB #3495
Document the ‘timeout’ parameter to junit_tests and python_tests RB #3492
When a timeout triggers, first do SIGTERM, then wait a bit, and then do SIGKILL RB #3479
New Engine Work
[engine] Introduce content-addressability Issue #2968 Issue #2956 RB #3498
[engine] First round of work for ‘native’ filesystem support Issue #2946, RB #3488
[engine] Implement recursive address walking RB #3485
0.0.73 (02/19/2016)
This release features more formal public API docstrings for many modules and classes.
API Changes
Bugfixes
New Features
Allow for random build ordering RB #3462
Refactoring, Improvements, and Tooling
New Engine Work
[engine] Noop only a cyclic dependency, and not an entire Node RB #3478
[engine] Tighten input validation Issue #2525 Issue #2526 RB #3245 RB #3448
0.0.72 (02/16/2016)
This release concludes the deprecation cycle for the old API for scanning BUILD files.
The following classes were removed:
FilesystemBuildFile (Create BuildFile with IoFilesystem instead.)
ScmBuildFile (Create BuildFile with ScmFilesystem instead.)
The following methods were removed:
BuildFile.scan_buildfiles (Use BuildFile.scan_build_files instead.)
BuildFile.from_cache
BuildFile.file_exists
BuildFile.descendants
BuildFile.ancestors
BuildFile.siblings
BuildFile.family (Use get_build_files_family instead.)
BuildFileAddressMapper.from_cache
BuildFileAddressMapper.scan_buildfiles
BuildFileAddressMapper.address_map_from_build_file (Use address_map_from_build_files instead.)
BuildFileAddressMapper.parse_build_file_family (Use parse_build_files instead.)
This release features formal public API docstrings for many modules and classes. It also includes many bugfixes and minor improvements.
API Changes
Bugfixes
Fix ./pants list without arguments output RB #3464
jar-tool properly skipping Manifest file using entry’s jarPath RB #3437
fix pathdeps for synthetic targets. RB #3454
Add param to fingerprint_strategy __eq__ RB #3446
Increase resolution from .1 second to 1 second RB #3311
Fix build break due to missing whitespace
Fix linkify for relative paths pointing outside the buildroot RB #3441
New Features
Options goal to show only functioning options instead of all. RB #3455
Refactoring, Improvements, and Tooling
Skip hashing in ivy fingerprint strategy if target doesn’t need fingerprinting RB #3447
Add ‘Deprecation Policy’ docs for 1.0.0. RB #3457
Adding a newline symbol for unary shading rules. RB #3452
Make IvyTaskMixin.ivy_resolve private, introduce ivy_classpath; clean up some ivy resolve tests RB #3450
Move namedtuple declarations out of IvyUtils._generate_jar_template RB #3451
Adjust type comment for targets param in JarDependencyManagement.targets_by_artifact_set RB #3449
Only invalidate haskell-project targets. RB #3445
Polishing –ignore-patterns change RB #3438
New Engine Work
[engine] Minor import cleanups RB #3458
0.0.71 (02/05/2016)
This release is primarily comprised of bugfixes, although there was also removal of support for the deprecated –use-old-naming-style flag for the export-classpath goal.
If you use pants with custom plugins you’ve developed, you should be interested in the first appearance of a means of communicating the public APIs you can rely on. You can read https://rbcommons.com/s/twitter/r/3417 to get a peek at what’s to come.
API Changes
Remove deprecated –use-old-naming-style flag. RB #3427
Bugfixes
bug fix: remove duplicate 3rdparty jars in the bundle RB #3329 RB #3412
Fix __metaclass__ T605:WARNING. RB #3424
Retain file permissions when shading monolithic jars. RB #3420
Bump jarjar. The new version is faster and fixes a bug. RB #3405
If the junit output file doesn’t exist, it should still count as an error on the target RB #3407
When a python test fails outside of a function, the resultslog message is just [EF] file.py, without the double-colons RB #3397
Fix “ValueError: too many values to unpack” when parsing interpreter versions. RB #3411
Update how_to_develop.md’s examples RB #3408
bug fix: is_app filter not applied when using wildcard RB #3272 RB #3398
Add validations to jvm_app bundles; Fix typo in BundleProps construction; fix relative globs RB #3396
Add process-level buildroot validation to NailgunExecutor. RB #3393
Adding support for multiline param help descriptions in Pants BUILD Dictionary RB #3399
New Features
Refactoring, Improvements, and Tooling
Fix bad test target deps. RB #3425
add public api markers RB #3417
Attempt a fix for flaky zinc compile failures under Travis-CI. RB #3413 RB #3426
Cleanup: rename ivy_resolve kwarg custom_args to extra_args; move / rm unnecessary conf or defaults; rm unnecessary extra_args RB #3416
Use one zinc worker per core by default. RB #3413
Add sublime text project/workspace extensions to pants .gitignore. RB #3409
Refactor IvyTaskMixin’s ivy_resolve and functions it depends on RB #3371
New Engine Work
[engine] Implement BUILD file parsing inside the engine RB #3377
0.0.70 (01/29/2016)
This release contains a few big steps towards 1.0.0! The last known issues with build caching are fixed, so this release enables using a local build cache by default. The release also includes ‘task implementation versioning’, so that cached artifacts will automatically be invalidated as the implementations of Tasks change between pants releases.
API Changes
Bugfixes
Don’t error in export when a target does not have an alias RB #3379 RB #3383
Permits creation of StatsDB in a directory that does not yet exist. RB #3384
Don’t skip writing <artifact>s to ivy.xml even if there’s only one. RB #3388
Add and use an invalidation-local use_cache setting in IvyTaskMixin RB #3386
New Features
Enable releasing the scalajs plugin RB #3340
Allow failover for remote cache RB #3374
Enable local caching by default, but disable within pantsbuild/pants. RB #3391
Multiple dependency_managements with multiple ivy resolves. RB #3336 RB #3367
A managed_jar_libraries factory to reduce 3rdparty duplication. RB #3372
Refactoring, Improvements, and Tooling
Add a command line option to turn off prompting before publishing RB #3387
Update help message for failed publishing RB #3385
Add is_synthetic in pants export RB #3239
BuildFile refactoring: rename scan_project_tree_build_files to scan_build_files, get_project_tree_build_files_family to get_build_files_family RB #3382
BuildFile refactoring: add more constraints to BuildFile constructor RB #3376
BuildFile refactoring: remove usages and deprecate of BuildFile’s family, ancestors, siblings and descendants methods RB #3368
build_file_alias Perf Improvement: Move class declaration out of method target_macro RB #3361
New Engine Work
[engine] Eager execution and fully declarative dependencies RB #3339
0.0.69 (01/22/2016)
Release Notes
This release contains the new managed_dependencies() target which allows you to pin the versions of transitive dependencies on jvm artifacts. This is equivalent to the <dependencyManagement> feature in Maven.
Bugfixes
New Features
First pass at dependency management implementation. RB #3336
Small improvements, Refactoring and Tooling
New Engine Work
[engine] Move dependencies onto configuration RB #3316
0.0.68 (01/15/2016)
Release Notes
This release concludes the deprecation cycle for backend/core, which has been removed. It also simplifies the output directories for internal and external jars when creating jvm bundles.
API Changes
bundle_create cleanup: merge internal-libs and libs RB #3261 RB #3329
Get rid of backend/authentication. RB #3335
Kill the build.manual annotation and the old source_roots.py. RB #3333
Remove backend core. RB #3324
Add a method call to allow adding a new goal to jvm_prep_command in a custom plugin RB #3325
add –jvm-distributions-{min,max}imum-version options Issue #2396 RB #3310
Bugfixes
New Features
Support go test blackbox tests. RB #3327
Small improvements, Refactoring and Tooling
0.0.67 (01/08/2016)
Release Notes
This release brings an upgrade to pex 1.1.2 for faster python chroot generation as well as bug fixes that get ./pants repl working for scala 2.11 and ./pants test now handling exceptions in junit @BeforeClass methods.
There is also a glimpse into the future where a pants daemon awaits. Try it out by adding –enable-pantsd to your command line - run times are 100ms or so faster for many operations.
API Changes
Bugfixes
Turn on redirects when retrieving a URL in the fetcher API RB #3275 RB #3317
Remove jline dep for scala 2.11 repl RB #3318
Start the timeout after the process is spawned, drop the mutable process handler variable RB #3202
Fix exception in test mechanism in case of exception in @BeforeClass method. RB #3293
New Features
Small improvements, Refactoring and Tooling
Logs the SUCCESS/FAILURE/ABORTED status of each workunit with stats in run_tracker. RB #3307
Simplify build dict/reference information extraction. RB #3301
Move Sources to a target’s configurations, and add subclasses for each language RB #3274
Convert loose directories in bundle classpath into jars RB #3297
Update pinger timeout in test_pinger_timeout_config and test_global_pinger_memo. RB #3292
Adding sanity check for locale setting RB #3296
Create a complete product graph for the experimentation engine, and use it to validate inputs Issue #2525 RB #3245
Add Unit Test for artifact caching to replace test_scalastyle_cached in test_scalastyle_integration.py, and test_checkstyle_cached in test_checkstyle_integration.py. RB #3284
0.0.66 (01/02/2016)
Release Notes
This release comes after a long and relatively quiet holiday break, but it represents a significant milestone towards pants 1.0.0: it is no longer necessary to explicitly configure any tool versions (as was usually done with BUILD.tools); all tools, including scalac, have default classpaths.
This release also includes beta support for scala.js via the scalajs contrib module.
Happy Holidays!
API Changes
Bugfixes
New Features
Preliminary support for scala.js RB #2453
Small improvements, Refactoring and Tooling
Convert binary_util to use fetcher like the ivy bootstrapper RB #3275
0.0.65 (12/18/2015)
Release Notes
This release concludes the deprecation cycle of the following items, now removed:
–excludes to DuplicateDetector. Use –exclude-files, –exclude-patterns, or –exclude-dirs instead.
timeout=0 on test targets. To use the default timeout, remove the timeout parameter from your test target.
API Changes
Bugfixes
Fixup GoFetch to respect transitive injections. RB #3270
Make jvm_compile’s subsystem dependencies global to fix ignored options Issue #2739 RB #3238
New Features
Go Checkstyle: run checkstyle, add tests, fix examples RB #3223
Small improvements, Refactoring and Tooling
Go: Allow users to specify known import prefixes for import paths. RB #3120
Explains how append-style arguments work in pants RB #3268
Allow specification of extra env vars for junit_tests runs. RB #3140 RB #3267
Refactor help scope computation logic. RB #3264
Make it easy for tests to use the “real” python interpreter cache. RB #3257
Pass –confcutdir to py.test invocation to restrict conftest.py scanning to paths in the pants buildroot. RB #3258
Remove stale :all alias used by plugin integration test RB #3254
Move conflicting python test targets to testprojects. RB #3252
Add convenience script for running unit tests, update docs RB #3233 RB #3248
0.0.64 (12/11/2015)
Release Notes
This release concludes the deprecation cycle of the following items, now removed:
dependencies and python_test_suite target aliases BUILD file authors should use target instead.
pants.backend.core.tasks.{Task,ConsoleTask,ReplTaskMixin} Custom task authors can update imports to the new homes in pants.task
The test.junit –no-suppress-output option You now specify –output-mode=ALL in the test.junit scope instead.
This release also fixes issues using the Scala REPL via ./pants repl for very large classpaths.
API Changes
Bugfixes
Fixup the NodePreinstalledModuleResolver. RB #3240
Prepend ‘//’ to Address.spec when the spec_path is empty. RB #3234
Fix problem with too long classpath while starting scala repl: python part RB #3195
Fix problem with too long classpath while starting scala repl: java part RB #3194
Fixing instrumentation classpath mutation to support multiple targets and entries. RB #3108
Use target.id to create the stable classpath for bundle and export-classpath RB #3211
New Features
Add an option to write build stats into a local json file. RB #3218
Make incremental compile optional for zinc RB #3226
Create a test timeout_maximum flag so that we can prevent people from setting an insanely huge timeout RB #3219
Add a jvm_prep_command that can work in compile, test, and binary goals RB #3209
Small improvements, Refactoring and Tooling
A docgen backend. RB #3242
Add formatting of choices to help output RB #3241
Remove test target aliases for pants’ tests RB #3233
Move resources() and prep_command() out of backend/core. RB #3235
[pantsd] Implement PantsDaemon et al. RB #3224
New implementation of ./pants targets. RB #3214
Allow alternate_target_roots to specify an empty collection RB #3216
Remove group task and register zinc_compile directly RB #3215
Bump the default Go distribution to 1.5.2. RB #3208
0.0.63 (12/04/2015)
Release Notes
This release contains a few deprecations and refactorings to help prepare for 1.0.0. It also includes the first release of the new Haskell module contributed by Gabriel Gonzalez. Thanks Gabriel!
API Changes
Deprecate calling with_description() when registering a task. RB #3207
Create a core_tasks top-level dir. RB #3197
Move more tasks to core_tasks. RB #3199
Move remaining core tasks to core_tasks. RB #3204
Upgrade PEX to 1.1.1 RB #3200
Properly deprecate the Dependencies alias. RB #3196
Move the rwbuf code under util/. RB #3193
Bugfixes
Fix cache_setup.py so build doesn’t fail if configured cache is empty. RB #3142
New Features
Small improvements, Refactoring and Tooling
0.0.62 (11/30/2015)
Release Notes
This release is primarily small bug fixes and minor improvements.
The following modules have been moved, with their old locations now deprecated:
MutexTaskMixin and ReplTaskMixin from pants.backend.core -> pants.task
API Changes
Bugfixes
Jvm compile counter should increment for double check cache hits RB #3188
Exit with non-zero status when help fails RB #3184
When a pytest errors rather than failures, make that target also show up in TestTaskFailedError Issue #2623 RB #3175
Add the -no-header argument to jaxb generator to give deterministic output RB #3179
Fix bug that recognized “C” as a remote package. RB #3170
Fix jvm_compile product publishing for cached builds RB #3161
New Features
Small improvements, Refactoring and Tooling
Update the dependencies returned from ivy to be in a stable (sorted) order. RB #3168
Refactor detect_duplicates with some user friendly features RB #3178
Updating some documentation for pants.ini Update some settings in pants.ini which used = instead of : RB #3189
Add the compile.zinc options to the options reference RB #3186
include_dependees no longer an optional argument. RB #1997
Relocate task tests from tests/python/pants_test/task/ to the appropriate backend RB #3183
Move tests corresponding to pants/task code. RB #3182
Add error message when a JDK is not installed, add minimum requirements to documentation. RB #3136
0.0.61 (11/23/2015)
Release Notes
This is a hotfix release to fix two regressions in 0.0.60. It also happens to include a small UX improvement for the console output of isolated compiles.
Bugfixes
Make sure the deprecated pants.backend.core.tasks.task module is bundled. RB #3164
Revert “Isolate .pex dir” Issue #2610 RB #3135 RB #3163
Small improvements, Refactoring and Tooling
During a jvm compile, include a running count in the printed log. RB #3153
0.0.60 (11/21/2015)
Release Notes
This release is primarily small bug fixes and minor improvements. It also removes several deprecated options and methods:
ReverseDepmap.type.
pants.backend.maven_layout.
Depmap.path_to.
SourceRoot.find.
SourceRoot.find_by_path.
pants.bin.goal_runner.SourceRootBootstrapper and its option [goals] bootstrap_buildfiles.
pants.build_graph.target._set_no_cache.
The following modules have been moved, with their old locations now deprecated:
pants.backend.core.tasks.console_task -> pants.task.console_task.
pants.backend.core.tasks.task -> pants.task.task.
API Changes
Bugfixes
Add a helper staticmethod closure() to BuildGraph. RB #3160
Fix a bug preventing re-upload artifacts that encountered read-errors RB #1361 RB #3141
Fix gopkg.in fetcher to handle subpackages. RB #3139
Update scalac_plugin_args call to the new option name. RB #3132
Fix cases where transitivity is required despite strict_deps; enable within the repo for Java RB #3125
Small improvements, Refactoring and Tooling
Isolate .pex dir RB #3135
Group cache hits/misses by their task names RB #3137
Add back the –[no-]color flag as deprecated. RB #3150
Add support for extra_jvm_options to java_tests Issue #2383 RB #3140
Removed Wire 2.0 support. Update default Wire library to 1.8.0 RB #3124
Remove legacy code in wire_gen and protobuf_gen designed for global codegen strategy RB #3123
0.0.59 (11/15/2015)
Release Notes
This is a hotfix release that pins an internal pants python requirement to prevent failures running ./pants test against python_tests targets. See more details here: http://github.com/pantsbuild/pants/issues#issue/2566
Bugfixes
Fixup floating pytest-timeout dep. RB #3126
New Features
Small improvements, Refactoring and Tooling
0.0.58 (11/13/2015)
Release Notes
This release completes the deprecated cycle for two options and removes them:
–infer-test-from-siblings for eclipse and idea goals
–strategy for various code generation tasks like protoc
Two existing tasks not installed by default have been moved from pantsbuild.pants to pantsbuild.pants.contrib.python.checks. You can add pantsbuild.pants.contrib.python.checks to your plugins list in pants.ini to get these tasks installed and start verifying your python BUILD deps and to check that your python code conforms to pep8 and various other lints.
API Changes
Bugfixes
New Features
Small improvements, Refactoring and Tooling
Fixup invoking.md to refer to –config-override. RB #3115
docfix: pants.ini must exist with that name. Not some other name. RB #3110
Inline twitter.common.config.Properties and remove t.c.config dep RB #3113
Run coverage instrumentation once for each target, streamline command line parameters RB #3107
Break out core runtime logic into a PantsRunner RB #3054
Improve exception handling for bad option values, such as when PANTS_CONFIG_OVERRIDE=”pants.ini” exists in the environment. RB #3087
0.0.57 (11/09/2015)
Release Notes
This is a hotfix release that fixes a bug preventing repos using plugins in the DEFAULT section of pants.ini from upgrading to 0.0.56.
API Changes
API Change: Move graph walking out of classpath_(util|products) RB #3036
Bugfixes
New Features
Small improvements, Refactoring and Tooling
Better error message for classpath entries outside the working directory RB #3099
0.0.56 (11/06/2015)
Release Notes
This release squashes a bunch of bugs in various area of the codebase, and improves the performance of both the options and reporting systems.
API Changes
Remove support for type_ in jar_dependency. It has been superceded by the ‘ext’ argument Issue #2442 RB #3038
Prevent option shadowing, and deprecate/remove some shadowed options. RB #3035
Synthetic jars always created when invoking the JVM (Argument list too long revisited) RB #2672 RB #3003
New Features
The ./pants junit runner now works with Cucumber scenarios. RB #3090
New compile task to publish symlinks to jars with class files to pants_distdir RB #3059
Add new –fail-floating option to GoBuildgen. RB #3073
Add go and go-env goals. RB #3060
Adding NpmRun and NpmTest RB #3048
Add –compile-zinc-debug-symbols option RB #3013
Bugfixes
Fix test_multiple_source_roots, ignore ordering. RB #3089
Change JarPublish.fingerprint to JarPublish.entry_fingerprint to ensure task fingerprint can change RB #3078
Deprecate/remove broken path-to option in depmap RB #3079
Fix buildgen.go to be non-lossy for remote revs. RB #3077
Fixup NailgunClient-related OSX CI break RB #3069
Fix bench goal, include integration test Issue #2303 RB #3072
Fix missing newline at end of pants output. RB #3019 RB #3063
For prepare.services, avoid empty classpath entries by only selecting jvm targets that have services defined RB #3058
Safeguard against stale ProcessManager metadata re-use. RB #3047
Fix test timeout implementation by adding abort handlers RB #2979
Allow for sourceless codegen based purely on target parameters RB #3044
Fix a copy-paste error in migrate_config.py. RB #3039
Fix issue with trailing newlines in Python checkstyle RB #3033
Make profiling cover the init sequence too. RB #3022
Unshade org.pantsbuild.junit.annotation so that @TestParallel works RB #3012
Small improvements, Refactoring and Tooling
Remove pytest helpers where unittest will do. RB #3091
Remove a hack in IvyResolve. Issue #2177 RB #3088
Get rid of argparse usage entirely. RB #3074
Upgrade to RBTools 0.7.5. RB #3076
Improve handling of -v, -V, –version and –pants-version. RB #3071
Turn off ng under OSX-CI like we do for linux. RB #3067
Cache npm resolves in CI. RB #3065
Refactor the python checkstyle plugin system. RB #3061
Better implementation of the reporting emitter thread. RB #3057
Preparation to allow locating the workdir outside of the build root RB #3050 RB #3050
Create the argparse.ArgParser instance only on demand. RB #3056
Fix implementation of shallow copy on OptionValueContainer. RB #3041
Defer argparse registration to the last possible moment. RB #3049
Pave the way for server-side python nailgun components RB #3030
Don’t resolve node_remote_module targets by themselves and modify how REPL works RB #2997
Remove mustache use from the reporting system. RB #3018
New Engine Work
0.0.55 (10/23/2015)
Release Notes
This release has many experimental engine features, as well as general bug fixes and performance improvements.
API Changes
Remove the deprecated modules, pants.base.address and pants.base.address_lookup_error.
New Features
Bugfixes
Include JarDependency.excludes when creating cache_key. Add unittest. RB #3001
Added junit.framework to excludes for shading RB #3017
fix failure in test_global_pinger_memo RB #3007
Handle case where only transitive dependencies have changed during an incremental build Issue #2446 RB #3028
New Engine Work
Add support for config selectors in dep addresses. RB #3025
Support Configurations extending one, merging N. RB #3023
Refactor engine experiment module organization. RB #3004
Implement a custom pickle for Serializables. RB #3002
Introduce the new engine and two implementations. RB #3000
Introduce the 1st cut at the new engine frontend. RB #2989
Prepare the 1st test for the new engine front end. RB #2988
Add a visualization tool for execution plans. RB #3010
Small improvements, Refactoring and Tooling
Overwrite timing stat report files less frequently. RB #3021
Make sure we emit the timing/stats epilog even for quiet tasks. RB #3019
Add a fixed source root for the go_remote dir in contrib/go. RB #3027
Restore Sources custom types per extension. RB #3010 RB #3011
[coverage] Removing emma after its deprecation cycle. RB #3009
Kill _JUnitRunner and move code to the JUnitRun task RB #2994
Make ‘list-owners’ faster by not instantiating already injected targets RB #2967 RB #2968
Get rid of all bootstrap BUILD files in our repo. RB #2996
Run python checkstyle only on invalidated targets. RB #2995
Switch all internal code to use the new source roots mechanism. RB #2987
Remove jmake and apt members from JvmCompile RB #2990
Leverage fast_relpath in BuildFileAddressMapper. RB #2981
Simplify fetcher regexes; doc the ‘^’ assumption. RB #2980
Remove the global codegen strategy from simple_codegen_task RB #2985
Added an explanation to the docs re: who can be added to a review. RB #2983
0.0.54 (10/16/2015)
Release Notes
This release features several improvements to Go support and a refactored SourceRoot API, as well as several bug fixes and small refactors.
API Changes
Move address.py/address_lookup_error.py from base to build_graph RB #2954
Deprecate –infer-test-from-sibling argument to ide_gen.py. RB #2966
Several deprecated methods and modules were removed: src/python/pants/base/target.py src/python/pants/base/build_file_aliases.py JarDependency._maybe_set_ext JarDependency.exclude The Repository build file alias
New Features
Add support for golang.org/x remote libs. Issue #2378 Issue #2379 Issue #2378 Issue #2379 RB #2976
Bugfixes
Fix buildgen.go –materialize to act globally. RB #2977
Fix BuildFileAddressMapper.scan_addresses. RB #2974
Fix catchall except statments RB #2971
Fix pinger cache bug and add test. RB #2948
Fix mixed classpaths where internal-only is needed. Issue #2358 Issue #2359 RB #2964
Reproduces problem with deploy_excludes() RB #2961
Add missing BUILD dep introduced by d724e2414.
Small improvements, Refactoring and Tooling
0.0.53 (10/9/2015)
Release Notes
Due to the hotfix release on Wednesday, this is a fairly light release. But because it addresses two potential correctness issues related to JVM tooling, it is well worth picking up!
API Changes
Move address.py/address_lookup_error.py from base to build_graph RB #2954
New Features
Bugfixes
Small improvements, Refactoring and Tooling
Upgrade to pex 1.1.0 RB #2956
[exp] Support for scanning addresses, implement list RB #2952
[exp] Optimize python parsers RB #2947
[exp] Switch from ‘typename’ to ‘type_alias’. RB #2945
[exp] Support a non-inlined lazy resolve mode in Graph. RB #2944
Emit a nice error message if the compiler used to bootstrap pants isn’t functional RB #2949
Eliminate travis-ci cache thrash. RB #2957
0.0.52 (10/7/2015)
Release Notes
This is a hotfix release that unpins pants own six requirement from ‘==1.9’ to ‘>=1.9,<2’ to allow folks depending on pantsbuild sdists in their own pants built/tested code to successfully resolve six. The underlying issue is yet to be fixed, but is tracked here.
API Changes
Bugfixes
Allow six to float a bit. RB #2942
Add the include and exclude patterns to the payload so they will make it into the fingerprint RB #2927
Ensure GOPATH is always controlled by pants. RB #2933
Stopped ivy from failing if an artifact has a url specified. RB #2905
Test-cases that passed are now properly omitted the junit summary. RB #2916 RB #2930
Small improvements, Refactoring and Tooling
Kill the checkstyle jvm tool override in pants.ini. RB #2941
Only request the classes_by_source product if it is necessary RB #2939
Fixup android local resolvers. RB #2934
Simplify cobertura source paths for reporting RB #2918
Upgrade the default Go distribution to 1.5.1. RB #2936
Normalize AddressMapper paths for parse/forget. RB #2935
Create test task mixin RB #2902
Make sure tests/python/pants_test:all runs all the tests RB #2932
Seperate out AddressMapper from Graph. RB #2931
Add timeout configuration to Pinger and add unittest. RB #2912
Adding Node examples RB #2900
0.0.51 (10/2/2015)
Release Notes
This release moves some packages commonly used in plugins from pants.base to pants.build_graph. The old packages still work, but have been deprecated and will be removed in 0.0.53.
API Changes
Bugfixes
New Features
Introduce instrument_classpath, and modify cobertura to use native class filtering RB #2893
Implement deprecation messages for entire modules. RB #2904
Upstream the scala_jar and scala_artifact helpers to suffix the scala platform version. RB #2891
Adding the bootstrapped node/npm to the PATH when executing commands RB #2883
Update path(s) tasks, add tests, extract pluralize to strutil RB #2892
Fix duplicate changelog link. RB #2890
Small improvements, Refactoring and Tooling
Extract Config as Configuration to its own module. RB #2924
Define a lifecycle for Config objects. RB #2920
Add baseline functionality for engine experiments. RB #2914
Reformatting the junit output to be consistent with pants. RB #2917 RB #2925
Allow junit tests to have empty sources RB #2923
Adding a summary list of failing testcases to junit_run. RB #2916
Adding the java language level to the IdeaGen module output. RB #2911
Make a nicer diagnostic on parse error in pants.ini RB #2907
Shorten long target ids by replacing superfluous characters with a hash RB #2894
Migrate scrooge to SimpleCodegenTask RB #2808
0.0.50 (9/25/2015)
Release Notes
This release removes the ‘global’ jvm compile strategy in favor of the ‘isolated’ strategy and switches the default java incremental compilation frontend from jmake to zinc. If you were using ‘global’ and/or jmake you’ll have some pants.ini cleanup to do. You can run the migration tool from the pantsbuild/pants repository by cloning the repo and running the following command from there against your own repo’s pants.ini:
pantsbuild/pants $ ./pants run migrations/options/src/python:migrate_config -- [path to your repo's pants.ini]
There have been several additional deprecated APIs removed in this release, please review the API Changes section below.
API Changes
Remove artifacts from JarDependency; Kill IvyArtifact. RB #2858
Kill deprecated BuildFileAliases.create method. RB #2888
Remove the deprecated SyntheticAddress class. RB #2886
Slim down the API of the Config class and move it to options/. RB #2865
Remove the JVM global compile strategy, switch default java compiler to zinc RB #2852
Support arbitrary expressions in option values. RB #2860
Bugfixes
Change jar-tool to use CONCAT_TEXT by default for handling duplicates under META-INF/services RB #2881
Upgrade to jarjar 1.6.0. RB #2880
Improve error handling for nailgun client connection attempts RB #2869
Fix Go targets to glob more than ‘.go’ files. RB #2873
Defend against concurrent bootstrap of the zinc compiler interface RB #2872 RB #2867 RB #2866
Fix missing underscore, add simple unit test RB #2805 RB #2862
Fix a protocol bug in GopkgInFetcher for v0’s. RB #2857
New Features
Small improvements, Refactoring and Tooling
0.0.49 (9/21/2015)
Release Notes
This is a hotfix release that includes a fix for resolving remote go libraries that use relative imports.
Bugfixes
New Features
Enhancements to the dep-usage goal RB #2851
0.0.48 (9/18/2015)
Release Notes
There is a new UI in the ./pants server web interface that shows ‘Timing Stats’ graphs. These graphs show where time is spent on a daily-aggregation basis in various tasks. You can drill down into a task to see which sub-steps are most expensive. Try it out!
We also have a few new metadata goals to help figure out what’s going on with file ownership and options.
If you want to find out where options are coming from, the options goal can help you out:
$ ./pants -q options --only-overridden --scope=compile compile.apt.jvm_options = ['-Xmx1g', '-XX:MaxPermSize=256m'] (from CONFIG in pants.ini) compile.java.jvm_options = ['-Xmx2G'] (from CONFIG in pants.ini) compile.java.partition_size_hint = 1000000000 (from CONFIG in pants.ini) compile.zinc.jvm_options = ['-Xmx2g', '-XX:MaxPermSize=256m', '-Dzinc.analysis.cache.limit=0'] (from CONFIG in pants.ini)
If you’re not sure which target(s) own a given file:
$ ./pants -q list-owners -- src/python/pants/base/target.py src/python/pants/build_graph
The latter comes from new contributor Tansy Arron-Walker.
API Changes
Bugfixes
Upgrade to jarjar 1.5.2. RB #2847
Don’t modify globs excludes argument value. RB #2841
Whitelist the appropriate filter option name for zinc RB #2839
Ensure stale classes are removed during isolated compile by cleaning classes directory prior to handling invalid targets RB #2805
Fix linecount estimator for dep-usage goal RB #2828
Fix resource handling for the python backend. RB #2817
Fix coordinates of resolved jars in IvyInfo. RB #2818
Fix NailgunExecutor to support more than one connect attempt RB #2822
Fixup AndroidIntegrationTest broken by Distribution refactor. RB #2811
Backport sbt java output fixes into zinc RB #2810
Align ivy excludes and ClasspathProducts excludes. RB #2807
New Features
Small improvements, Refactoring and Tooling
Deprecate ‘Repository’ alias in favor of ‘repo’. RB #2845
Fix indents (checkstyle) RB #2844
Use list comprehension in jvm_compile to calculate valid targets RB #2843
Transition IvyImports to ‘compile_classpath’. RB #2840
Migrate JvmBinaryTask to ‘compile_classpath’. RB #2832
Add support for snapshotting ClasspathProducts. RB #2837
Lazily load zinc analysis RB #2827
Add support for whitelisting of zinc options RB #2835
Kill the unused JvmTarget.configurations field. RB #2834
Kill ‘jvm_build_tools_classpath_callbacks’ deps. RB #2831
Add :scalastyle_integration test to :integration test target RB #2830
Use fast_relpath in JvmCompileIsolatedStrategy.compute_classes_by_source RB #2826
Enable New Style class check RB #2820
Remove –quiet flag from pip RB #2809
Move AptCompile to zinc RB #2806
Add a just-in-time check of the artifact cache to the isolated compile strategy RB #2690
0.0.47 (9/11/2015)
Release Notes
By defaulting the versions of most built-in tools, this release makes pants significantly easier to configure! Tools like antlr, jmake, nailgun, etc, will use default classpaths unless override targets are provided.
Additionally, this release adds native support for shading JVM binaries, which helps to isolate them from their deployment environment.
Thanks to all contributors!
API Changes
Bugfixes
Don’t create directory entries in the isolated compile context jar RB #2775
Bump jar-tool release version to 0.0.7 to pick up double-slashed directory fixes RB #2763 RB #2779
junit_run now parses errors (in addition to failures) to correctly set failing target RB #2782
Fix the zinc name-hashing flag for unicode symbols RB #2776
New Features
Small improvements, Refactoring and Tooling
Added migration of –jvm-jdk-paths to –jvm-distributions-paths RB #2677 RB #2781
Example of problem with annotation processors that reference external dependencies. RB #2777
Replace eval use with a parse_literal util. RB #2787
Move Shader from pants.java to the jvm backend. RB #2788
Move BuildFileAliases validation to BuildFileAliases. RB #2790
Centralize finding target types for an alias. RB #2796
Store timing stats in a structured way, instead of as json. RB #2797
Documentation
0.0.46 (9/4/2015)
Release Notes
This release includes more support for Node.js!
Support for the environment variables PANTS_VERBOSE and PANTS_BUILD_ROOT have been removed in this release. Instead, use –level to turn on debugging in pants. Pants recursively searches from the current directory to the root directory until it finds the pants.ini file in order to find the build root.
The pants() syntax in BUILD files has been removed (deprecated since 0.0.29).
API Changes
Kill PANTS_VERBOSE and PANTS_BUILD_ROOT. RB #2760
[classpath products] introduce ResolvedJar and M2Coordinate and use them for improved exclude handling RB #2654
Kill the pants() pointer, per discussion in Slack: https://pantsbuild.slack.com/archives/general/p1440451305004760 RB #2650
Make Globs classes and Bundle stand on their own. RB #2740
Rid all targets of sources_rel_path parameters. RB #2738
Collapse SyntheticAddress up into Address. [API] RB #2730
Bugfixes
Fix + test 3rd party missing dep for zinc RB #2764
Implement a synthetic jar that sets Class-Path to bypass ARG_MAX limit RB #2672
Fixed changed goal for BUILD files in build root RB #2749
Refactor / bug-fix for checking jars during dep check RB #2739
PytestRun test failures parsing is broken for tests in a class RB #2714
Make nailgun_client error when the client socket is closed. RB #2727
New Features
Initial support for resolve.npm. RB #2723
Add support for repl.node. RB #2766
Setup the node contrib for release. RB #2768
Add annotation processor settings to goal idea RB #2753
Introduce job prioritization to ExecutionGraph RB #2601
Provide include paths to thrift-linter to allow for more complex checks RB #2712
JVM dependency usage task RB #2757
Small improvements, Refactoring and Tooling
Re-work REPL mutual exclusion. RB #2765
Return cached_chroots instead of yielding them. RB #2762
Normalize and decompose GoalRunner initialization and setup RB #2715
Fixed pre-commit hook for CI RB #2758
Code added check valid arguments for glob, test added as well RB #2750
Fix newline style nits and enable newline check in pants.ini RB #2756
Add the class name and scope name to the uninitialized subsystem error message RB #2698
Make nailgun killing faster. RB #2685
Switch JVM missing dep detection to use compile_classpath RB #2729
Add transitive flag to ClasspathProduct.get_for_target[s] RB #2744
Add transitive parameter to UnionProducts.get_for_target[s] RB #2741
Tighten up the node target hierarchy. RB #2736
Ensure pipeline failuires fail CI. RB #2731
Record the BUILD target alias in BuildFileAddress. RB #2726
Use BaseCompileIT to double-check missing dep failure and whitelist success. RB #2732
Use Target.subsystems to expose UnknownArguments. RB #2725
Populate classes_by_target using the context jar for the isolated strategy RB #2720
Push OSX CI’s over to pantsbuild-osx. RB #2724
Documentation
0.0.45 (8/28/2015)
Release Notes
In this release, the methods with_sources(), with_docs() and with_artifact() were removed from the jar() syntax in BUILD files. They have been deprecated since Pants version 0.0.29.
API Changes
Remove with_artifact(), with_sources(), and with_docs() from JarDependency RB #2687
Bugfixes
Upgrade zincutils to 0.3.1 for parse_deps bug fix RB #2705
Fix PythonThriftBuilder to operate on 1 target. RB #2696
Ensure stdlib check uses normalized paths. RB #2693
Hack around a few Distribution issues in py tests. RB #2692
Fix GoBuildgen classname and a comment typo. RB #2689
Making –coverage-open work for cobertura. RB #2670
New Features
Implementing support for Wire 2.0 multiple proto paths. RB #2717
[pantsd] PantsService, FSEventService & WatchmanLauncher RB #2686
Add NodeDistribution to seed a node backend. RB #2703
Created DistributionLocator subsystem with jvm-distributions option-space. RB #2677
Added support for wire 2.0 arguments and beefed up tests RB #2688
Initial commit of checkstyle RB #2593
Small improvements, Refactoring and Tooling
Removed scan workunit; mapping workunits now debug RB #2721
Implement caching for the thrift linter. RB #2718
Refactor JvmDependencyAnalyzer into a task RB #2668
Refactor plugin system to allow for easier extension by others RB #2706
Indented code which prints warnings for unrecognized os’s. RB #2713
Fixup existing docs and add missing docs. RB #2708
Requiring explicit dependency on the DistributionLocator subsystem. RB #2707
Reorganize option help. RB #2695
Set ‘pants-reviews’ as the default group. RB #2702
Update to zinc 1.0.9 and sbt 0.13.9 RB #2658
Test the individual style checks and only disable the check that is currently failing CI RB #2697
0.0.44 (8/21/2015)
Release Notes
In this release Go support should be considered beta. Most features you’d expect are implemented including a buildgen.go task that can maintain your Go BUILD files as inferred from just go_binary target definitions. Yet to come is doc goal integration and an option to wire in-memory buildgen.go as an implicit bootstrap task in any pants run that includes Go targets.
Also in this release is improved control over the tools pants uses, in particular JVM selection control.
API Changes
Remove deprecated [compile.java] options. RB #2678
Bugfixes
New Features
Small improvements, Refactoring and Tooling
[pantsd] Watchman & StreamableWatchmanClient RB #2649
Upgrade the default Go distribution to 1.5. RB #2669
Align JmakeCompile error messages with reality. RB #2682
Fixing BUILD files which had integration tests running in :all. RB #2664
Remove log options from the zinc Setup to fix performance issue RB #2666
0.0.43 (8/19/2015)
Release Notes
This release makes the isolated jvm compile strategy viable out-of-the-box for use with large dependency graphs. Without it, test.junit and run.jvm performance slows down significantly due to the large number of loose classfile directories.
Please try it out in your repo by grabbing a copy of pants.ini.isolated and using a command like:
./pants --config-override=pants.ini.isolated test examples/{src,tests}/{scala,java}/::
You’ll like the results. Just update your own pants.ini with the pants.ini.isolated settings to use it by default!
In the medium term, we’re interested in making the isolated strategy the default jvm compilation strategy, so your assistance and feedback is appreciated!
Special thanks to Stu Hood and Nick Howard for lots of work over the past months to get this point.
API Changes
A uniform way of expressing Task and Subsystem dependencies. Issue #1957 RB #2653
Remove some coverage-related options from test.junit. RB #2639
Bump mock and six 3rdparty versions to latest RB #2633
Re-implement suppression of output from compiler workunits RB #2590
Bugfixes
Improved go remote library support. RB #2655
Shorten isolation generated jar paths RB #2647
Fix duplicate login options when publishing. RB #2560
Fixed no attribute exception in changed goal. RB #2645
Fix goal idea issues with mistakenly identifying a test folder as regular code, missing resources folders, and resources folders overriding code folders. RB #2046 RB #2642
New Features
Small improvements, Refactoring and Tooling
Filter zinc compilation warnings at the Reporter level RB #2656
Update to sbt 0.13.9. RB #2629
Speeding up jvm-platform-validate step. Issue #1972 RB #2626
Added test that failed HTTP responses do not raise exceptions in artifact cache RB #2624 RB #2644
Tweak to option default extraction for help display. RB #2640
A few small install doc fixes. RB #2638
Detect new package when doing ownership checks. RB #2637
Use os.path.realpath on test tmp dirs to appease OSX. RB #2635
Update the pants install documentation. #docfixit RB #2631
0.0.42 (8/14/2015)
Release Notes
This was #docfixit week, so the release contains more doc and help improvements than usual. Thanks in particular to Benjy for continued ./pants help polish!
This release also add support for golang in the contrib/go package. Thanks to Cody Gibb and John Sirois for that work.
API Changes
Bugfixes
Ignore ‘NonfatalArtifactCacheError’ when calling the artifact cache in the background RB #2624
Re-Add debug option to benchmark run task, complain on no jvm targets, add test RB #2619
Fixed what_changed for removed files RB #2589
Disable jvm-platform-analysis by default Issue #1972 RB #2618
Fix ./pants help_advanced RB #2616
Fix some more missing globs in build-file-rev mode. RB #2591
Make jvm bundles output globs in filedeps with –globs. RB #2583
Fix more realpath issues Issue #1933 RB #2582
New Features
Allow plaintext-reporter to be able to respect a task’s –level and –colors options. RB #2580 RB #2614
contrib/go: Support for Go RB #2544
contrib/go: Setup a release sdist RB #2609
contrib/go: Introduce GoDistribution RB #2595
contrib/go: Integrate GoDistribution with GoTask RB #2600
Add support for android compilation with contrib/scrooge RB #2553
Small improvements, Refactoring and Tooling
Added more testimonials to the Powered By page. #docfixit RB #2625
Fingerprint more task options; particularly scalastyle configs RB #2628
Fingerprint jvm tools task options by default RB #2620
Make most compile-related options advanced. #docfixit RB #2617
Make almost all global options advanced. #docfixit RB #2602
Improve cmd-line help output. #docfixit RB #2599
Default -Dscala.usejavacp=true for ScalaRepl. RB #2613
Additional Option details for the Task developers guide. #docfixit RB #2594 RB #2612
Improve subsystem testing support in subsystem_util. RB #2603
Cleanups to the tasks developer’s guide #docfixit RB #2594
Add the optionable class to ScopeInfo. #docfixit RB #2588
Add pants_plugin and contrib_plugin targets. RB #2615
0.0.41 (8/7/2015)
Release Notes
Configuration for specifying scala/java compilation using zinc has changed in this release.
You may need to combine [compile.zinc-java] and [compile.scala] into the new section [compile.zinc]
The migrate_config tool will help you migrate your pants.ini settings for this new release. Download the pants source code and run:
./pants run migrations/options/src/python:migrate_config -- <path to your pants.ini>
API Changes
Upgrade pex to 1.0.2. RB #2571
Bugfixes
New Features
Add “omnivorous” ZincCompile to consume both java and scala sources RB #2561
Small improvements, Refactoring and Tooling
Do fewer classpath calculations in junit_run. RB #2576
Resurrect the –[no-]lock global flag RB #2563
Avoid caching volatile ~/.cache/pants/stats dir. RB #2574
remove unused imports RB #2556
Moved logic which validates jvm platform dependencies. RB #2565
Bypass the pip cache when testing released sdists. RB #2555
Add an affordance for 1 flag implying another. RB #2562
Make artifact cache max-entries-per-target option name match its behaviour RB #2550
Improve stats upload. RB #2554
0.0.40 (7/31/2015)
Release Notes
The apache thrift gen for java code now runs in -strict mode by default, requiring all struct fields declare a field id. You can use the following configuration in pants.ini to retain the old default behavior and turn strict checking off:
[gen.thrift]
strict: False
The psutil dependency used by pants has been upgraded to 3.1.1. Supporting eggs have been uploaded to https://github.com/pantsbuild/cheeseshop/tree/gh-pages/third_party/python/dist. Please note that beyond this update, no further binary dependency updates will be provided at this location.
API Changes
Integrate the Android SDK, android-library RB #2528
Bugfixes
Guard against NoSuchProcess in the public API. RB #2551
Fixup psutil.Process attribute accesses. RB #2549
Removes type=Option.list from –compile-jvm-args option and –compile-scala-plugins RB #2536 RB #2547
Prevent nailgun on nailgun violence when using symlinked java paths RB #2538
Declaring product_types for simple_codegen_task. RB #2540
Fix straggler usage of legacy psutil form RB #2546
New Features
Added JvmPlatform subsystem and added platform arg to JvmTarget. RB #2494
Small improvements, Refactoring and Tooling
Resolve targets before creating PayloadField RB #2496 RB #2536
Upgrade psutil to 3.1.1 RB #2543
Move thrift utils only used by scrooge to contrib/scrooge. RB #2535
docs: add link to slackin self-invite RB #2537
Add Clover Health to the Powered By page RB #2539
Add Powered By page RB #2532
Create test for java_antlr_library RB #2504
Migrate ApacheThriftGen to SimpleCodegenTask. RB #2534
Covert RagelGen to SimpleCodeGen. RB #2531
Shade the Checkstyle task tool jar. RB #2533
Support eggs for setuptools and wheel. RB #2529
0.0.39 (7/23/2015)
API Changes
Disallow jar_library targets without jars RB #2519
Bugfixes
Fixup PythonChroot to ignore synthetic targets. RB #2523
Exclude provides clauses regardless of soft_excludes RB #2524
Fixed exclude id when name is None + added a test for excludes by just an org #1857 RB #2518
Fixup SourceRoot to handle the buildroot. RB #2514
Fixup SetupPy handling of exported thrift. RB #2511
New Features
Small improvements, Refactoring and Tooling
0.0.38 (7/21/2015)
Release Notes
A quick hotfix release to pick up a fix related to incorrectly specified scala targets.
API Changes
Remove the with_description method from target. RB #2507
Bugfixes
Handle the case where there are no classes for a target. RB #2489
New Features
None.
Small improvements, Refactoring and Tooling
Refactor AntlrGen to use SimpleCodeGen. RB #2487
0.0.37 (7/20/2015)
Release Notes
This is the regularly scheduled release for 7/17/2015 (slightly behind schedule!)
API Changes
Bugfixes
New Features
Small improvements, Refactoring and Tooling
0.0.36 (7/14/2015)
Release Notes
This is a quick release following up on 0.0.35 to make available internal API changes made during options refactoring.
API Changes
Bugfixes
Stops unit tests in test_simple_codegen_task.py in master from failing. RB #2469
Helpful error message when ‘sources’ is specified for jvm_binary. Issue #871 RB #2455
Fix failure in test_execute_fail under python>=2.7.10 for test_simple_codegen_task.py. RB #2461
New Features
Small improvements, Refactoring and Tooling
0.0.35 (7/10/2015)
Release Notes
With this release, if you use the isolated jvm compile strategy, java annotation processers that emit java sourcefiles or classfiles will be handled correctly and the generated code will be bundled appropriately in jars. In particular, this makes libraries like Google’s AutoValue useable in a pants build. See: RB #2451.
API Changes
Deprecate with_description. RB #2444
Bugfixes
Fixup BuildFile must_exist logic. RB #2441
Upgrade to pex 1.0.1. Issue #1658 RB #2438
New Features
Small improvements, Refactoring and Tooling
Record all output classes for the jvm isolated compile strategy. RB #2451
Robustify the pants ivy configuration. Issue #1779 RB #2450
Some refactoring of global options. RB #2446
Improved error messaging for unknown Target kwargs. RB #2443
Remove Nailgun specific classes from zinc, since pants invokes Main directly. RB #2439
0.0.34 (7/6/2015)
Release Notes
Configuration for specifying cache settings and jvm options for some tools have changed in this release.
The migrate_config tool will help you migrate your pants.ini settings for this new release. Download the pants source code and run:
./pants run migrations/options/src/python:migrate_config -- <path
to your pants.ini>
API Changes
Bugfixes
Change the xml report to use the fingerprint of the targets, not just their names. RB #2435
Using linear-time BFS to sort targets topologically and group them by the type. RB #2413
Fix isort in git hook context. RB #2430
When using soft-excludes, ignore all target defined excludes RB #2340
Fix bash-completion goal when run from sdist/pex. Also add tests, and beef up ci.sh & release.sh. RB #2403
[junit tool] fix suppress output emits jibberish on console. Issue #1657 RB #2183
In junit-runner, fix an NPE in testFailure() for different scenarios RB #2385 RB #2398 RB #2396
Scrub timestamp from antlr generated files to have stable fp for cache RB #2382
JVM checkstyle should obey jvm_options RB #2391
Fix bad logger.debug call in artifact_cache.py RB #2386
Fixed a bug where codegen would crash due to a missing flag. RB #2368
Fixup the Git Scm detection of server_url. RB #2379
Repair depmap –graph RB #2345
Documentation
Documented how to enable caching for tasks. RB #2420
Remove comments that said these classes returned something. RB #2419
Publishing doc fixes RB #2407
Bad rst now fails the MarkdownToHtml task. RB #2394
typo in the changelog for 0.0.33 release, fixed formatting of globs and rglobs RB #2376
Documentation update for debugging a JVM tool RB #2365
New Features
Small improvements, Refactoring and Tooling
Enhance the error output in simple_codegen_task.py when unable to generate target(s) RB #2427
Add a get_rank() method to OptionValueContainer. RB #2431
Pass jvm_options to scalastyle RB #2428
Kill custom repos and cross-platform pex setup. RB #2402
Add debugging for problem with invalidation and using stale report file in ivy resolve. Issue #1747 RB #2424
Enabled caching for scalastyle and checkstyle RB #2416 RB #2414
Make sure all Task mixins are on the left. RB #2421
Adds a more verbose description of tests when running the -per-test-timer command. (Junit) RB #2418 RB #2408
Re-add support for reading from a local .m2 directory RB #2409
Replace a few references to basestring with six. RB #2410
Promote PANTS_DEV=1 to the only ./pants mode. RB #2401
Add task meter to protoc step in codegen RB #2392
Simplify known scopes computation. RB #2389
Robustify the release process. RB #2388
A common base class for things that can register options. RB #2387
Fixed the error messages in assert_list(). RB #2370
Simplify subsystem option scoping. RB #2380
0.0.33 (6/13/2015)
Release Notes
The migrate config tool will help you migrate your pants.ini settings for this new release. Download the pants source code and run:
./pants run migrations/options/src/python:migrate_config -- <path
to your pants.ini>
Folks who use a custom ivysettings.xml but have no ivy.ivy_settings option defined in pants.ini pointing to it must now add one like so:
[ivy]
ivy_settings: %(pants_supportdir)s/ivy/ivysettings.xml
API Changes
Removed –project-info flag from depmap goal RB #2363
Deprecate PytestRun env vars. RB #2299
Add Subsystems for options that live outside a single task, use them to replace config settings in pants.ini RB #2288 RB #2276 RB #2226 RB #2176 RB #2174 RB #2139 RB #2122 RB #2100 RB #2081 RB #2063
Read backend and bootstrap BUILD file settings from options instead of config. RB #2229
Migrating internal tools into the pants repo and renaming to org.pantsbuild RB #2278 RB #2211 RB #2207 RB #2205 RB #2186 RB #2195 RB #2193 RB #2192 RB #2191 RB #2191 RB #2137 RB #2071 RB #2043
Kill scala specs support. RB #2208
Use the default ivysettings.xml provided by ivy. RB #2204
Eliminate the globs.__sub__ use in option package. RB #2082 RB #2197
Kill obsolete global publish.properties file. RB #994 RB #2069
Upgrade zinc to latest for perf wins. RB #2355 RB #2194 RB #2168 RB #2154 RB #2154 RB #2149 RB #2125
Migrate jar_publish config scope. RB #2175
Add a version number to the export format and a page with some documentation. RB #2162
Make exclude_target_regexp option recursive RB #2136
Kill pantsbuild dependence on maven.twttr.com. RB #2019
Fold PythonTestBuilder into the PytestRun task. RB #1993
Bugfixes
Fixed errors in how arguments are passed to wire_gen. RB #2354
Compute exclude_patterns first when unpacking jars RB #2352
Add INDEX.LIST to as a Skip JarRule when creating a fat jar RB #2342
wrapped-globs: make rglobs output git-compatible RB #2332
Add a coherent error message when scrooge has no sources. RB #2329
Only run junit when there are junit_test targets in the graph. RB #2291
Fix bootstrap local cache. RB #2336
Added a hash to a jar name for a bootstrapped jvm tool RB #2334
Raise TaskError to exit non-zero if jar-tool fails RB #2150
Fix java zinc isolated compile analysis corruption described github issue #1626 RB #2325
Upstream analysis fix RB #2312
Two changes that affect invalidation and artifact caching. RB #2269
Add java_thrift_library fingerprint strategy RB #2265
Moved creation of per test data to testStarted method. RB #2257
Updated zinc to use sbt 0.13.8 and new java compilers that provide a proper log level with their output. RB #2248
Apply excludes consistently across classpaths RB #2247
Put all extra classpath elements (e.g., plugins) at the end (scala compile) RB #2210
Fix missing import in git.py RB #2202
Move a comment to work around a pytest bug. RB #2201
More fixes for working with classifiers on jars. Issue #1489 RB #2163
Have ConsoleRunner halt(1) on exit(x) RB #2180
Fix scm_build_file in symlinked directories RB #2152 RB #2157
Added support for the ivy cache being under a symlink’ed dir RB #2085 RB #2129 RB #2148
Make subclasses of ChangedTargetTask respect spec_excludes RB #2146
propagate keyboard interrupts from worker threads RB #2143
Cleanup analysis left behind from failed isolation compiles RB #2127
test glob operators, fix glob + error RB #2104
Wrap lock around nailgun spawning to protect against worker threads racing to spawn servers RB #2102
Force some files to be treated as binary. RB #2099
Convert JarRule and JarRules to use Payload to help fingerprint its configuration RB #2096
Fix ./pants server output RB #2067
Fix issue with isolated strategy and sources owned by multiple targets RB #2061
Handle broken resource mapping files (by throwing exceptions). RB #2038
Change subproc sigint handler to exit more cleanly RB #2024
Include classifier in JarDependency equality / hashing RB #2029
Migrating more data to payload fields in jvm_app and jvm_binary targets RB #2011
Fix ivy_resolve message: Missing expected ivy output file …/.ivy2/pants/internal-…-default.xml RB #2015
Fix ignored invalidation data in ScalaCompile RB #2018
Don’t specify the jmake depfile if it doesn’t exist RB #2009 RB #2012
Force java generation on for protobuf_gen, get rid of spurious warning RB #1994
Fix typo in ragel-gen entries (migrate-config) RB #1995
Fix include dependees options. RB #1760
Documentation
Be explicit that pants requires python 2.7.x to run. RB #2343
Update documentation on how to develop and document a JVM tool used by Pants RB #2318
Updates to changelog since 0.0.32 in preparation for next release. RB #2294
Document the pantsbuild jvm tool release process. RB #2289
Fix publishing docs for new ‘publish.jar’ syntax RB #2255
Example configuration for the isolated strategy. RB #2185
doc: uploading timing stats RB #1700
Add robots.txt to exclude crawlers from walking a ‘staging’ test publishing dir RB #2072
Add a note indicating that pants bootstrap requires a compiler RB #2057
Fix docs to mention automatic excludes. RB #2014
New Features
Add a global –tag option to filter targets based on their tags. RB #2362
Add support for ServiceLoader service providers. RB #2331
Implemented isolated code-generation strategy for simple_codegen_task. RB #2322
Add options for specifying python cache dirs. RB #2320
Invoke jvm doc tools via java. RB #2313
Add -log-filter option to the zinc task RB #2315
Adds a product to bundle_create RB #2254
Add flag to disable automatic excludes RB #2252
Find java distributions in well known locations. RB #2242
Added information about excludes to export goal RB #2238
In process java compilation in Zinc #1555 RB #2206
Add support for extra publication metadata. RB #2184 RB #2240
Extract the android plugin as an sdist. RB #2249
Adds optional output during zinc compilation. RB #2233
Jvm Tools release process RB #2292
Make it possible to create xml reports and output to console at the same time from ConsoleRunner. RB #2183
Adding a product to binary_create so that we can depend on it in an external plugin. RB #2172
Provide global option to look up BUILD files in git history RB #2121 RB #2164
Compile Java with Zinc RB #2156
Add BuildFileManipulator implementation and tests to contrib RB #977
Add option to suppress printing the changelog during publishing RB #2140
Filtering by targets’ tags RB #2106
Adds the ability to specify explicit fields in MANIFEST.MF in a jvm_binary target. RB #2199 RB #2084 RB #2119 RB #2005
Parallelize isolated jvm compile strategy’s chunk execution. RB #2109
Make test tasks specify which target failed in exception. RB #2090 RB #2113 RB #2112
Support glob output in filedeps. RB #2092
Export: support export of sources and globs RB #2082 RB #2094
Classpath isolation: make ivy resolution locally accurate. RB #2064
Add support for a postscript to jar_publish commit messages. RB #2070
Add optional support for auto-shading jvm tools. RB #2052 RB #2073
Introduce a jvm binary shader. RB #2050
Open source the spindle plugin for pants into contrib. RB #2306 RB #2301 RB #2304 RB #2282 RB #2033
Implement an exported ownership model. RB #2010
Small improvements, Refactoring and Tooling
Support caching chroots for reuse across pants runs. RB #2349
Upgrade RBT to the latest release RB #2360
Make sure arg to logRaw and log are only eval’ed once. (zinc) RB #2338
Clean up unnecessary code RB #2339
Exclude the com.example org from travis ivy cache. RB #2344
Avoid ivy cache thrash due to ivydata updates. RB #2333
Various refactoring of PythonChroot and related code. RB #2327
Have pytest_run create its chroots via its base class. RB #2314
Add a set of memoization decorators for functions. RB #2308 RB #2317
Allow jvm tool tests to bootstrap from the artifact cache. RB #2311
Fixed ‘has no attribute’ exception + better tests for export goal RB #2305
Refactoring ProtobufGen to use SimpleCodeGen. RB #2302
Refactoring JaxbGen to use SimpleCodeGen. RB #2303
Add pants header to assorted python files RB #2298
Remove unused imports from python files RB #2295
Integrating Patrick’s SimpleCodegenTask base class with WireGen. RB #2274
Fix bad log statement in junit_run.py. RB #2290
Provide more specific value parsing errors RB #2283
Dry up incremental-compiler dep on sbt-interface. RB #2279
Use BufferedOutputStream in jar-tool RB #2270
Add relative_symlink to dirutil for latest run report RB #2271
Shade zinc. RB #2268
rm Exception.message calls RB #2245
sanity check on generated cobertura xml report RB #2231
[pants/jar] Fix a typo RB #2230
Convert validation.assert_list isinstance checking to be lazy RB #2228
use workunit output for cpp command running RB #2223
Remove all global config state. RB #2222 RB #2181 RB #2160 RB #2159 RB #2151 RB #2142 RB #2141
Make the version of specs in BUILD.tools match the one in 3rdparty/BUILD. RB #2203
Handle warnings in BUILD file context. RB #2198
Replace custom softreference cache with a guava cache. (zinc) RB #2190
Establish a source_root for pants scala code. RB #2189
Zinc patches to improve roundtrip time RB #2178
cache parsed mustache templates as they are requested RB #2171
memoize linkify to reduce reporting file stat calls RB #2170
Refactor BuildFile and BuildFileAdressMapper RB #2110
fix whitespace in workerpool test, rm unused import RB #2144
Use jvm-compilers as the parent of isolation workunits instead of ‘isolation’, add workunits for analysis RB #2134
Improve the error message when a tool fails to bootstrap. RB #2135
Fix rglobs-to-filespec code. RB #2133
Send workunit output to stderr during tests RB #2108
Changes to zinc analysis split/merge test data generation: RB #2095
Add a dummy workunit to the end of the run to print out a timestamp that includes the time spent in the last task. RB #2054
Add ‘java-resource’ and ‘java-test-resource’ content type for Resources Roots. RB #2046
Upgrade virtualenv from 12.0.7 to 12.1.1. RB #2047
convert all % formatted strings under src/ to str.format format RB #2042
Move overrides for registrations to debug. RB #2023
Split jvm_binary.py into jvm_binary.py and jvm_app.py. RB #2006
Validate analysis earlier, and handle it explicitly RB #1999
Switch to importlib RB #2003
Some refactoring and tidying-up in workunit. RB #1981
Remove virtualenv tarball from CI cache. RB #2281
Moved testing of examples and testprojects to tests RB #2158
Share the python interpreter/egg caches between tests. RB #2256
Add support for python test sharding. RB #2243
Fixup OSX CI breaks. RB #2241
fix test class name c&p error RB #2227
Remove the pytest skip tag for scala publish integration test as it uses –doc-scaladoc-skip RB #2225
Use 2 IT shards to avoid OSX CI timeouts. RB #2217
Don’t have JvmToolTaskTestBase require access to “real” option values. RB #2213
There were two test_export_integration.py tests. RB #2215
Do not include integration tests in non-integration tests. RB #2173
Streamline some test setup. RB #2167
Ensure that certain test cleanup always happens, even if setUp fails. RB #2166
Added a test of the bootstrapper logic with no cached bootstrap.jar RB #2126
Remove integration tests from default targets in test BUILD files RB #2086
Cap BootstrapJvmTools mem in JvmToolTaskTestBase. RB #2077
Further cleanup of test context setup. RB #2053
Remove plumbing for custom test config. RB #2051
Use a fake context when testing. RB #2049
Remove old TaskTest base class. RB #2039 RB #2031 RB #2027 RB #2022 RB #2017 RB #2016
Refactor com.pants package to org.pantsbuild in examples and testprojects RB #2037
Added a simple ‘HelloWorld’ java example. RB #2028
Place the workdir below the pants_workdir RB #2007
0.0.32 (3/26/2015)
Bugfixes
Fixup minified_dependencies Issue #1329 RB #1986
Don`t mutate options in the linter RB #1978
Fix a bad logic bug in zinc analysis split code RB #1969
always use relpath on –test file args RB #1976
Fixup resources drift in the sdist package RB #1974
Fix publish override flag Issue #1277 RB #1959
API Changes
Remove open_zip64 in favor of supporting zip64 everywhere RB #1984
Documentation
New Features
Small improvements, Refactoring and Tooling
Rid pantsbuild.pants of an un-needed antlr dep RB #1989
Kill the BUILD.transitional targets Issue #1126 RB #1983
Convert ragel-gen.py to use new options and expunge config from BinaryUtil RB #1970
Add the JvmCompileIsolatedStrategy RB #1898
Move construction of PythonChroot to PythonTask base class RB #1965
Delete the PythonBinaryBuilder class RB #1964
Removing dead code RB #1960
Make the test check that the return code is propagated RB #1966
Cleanup RB #1962
Get rid of almost all direct config access in python-building code RB #1954
0.0.31 (3/20/2015)
Bugfixes
API Changes
Use the publically released 2.1.1 version of Cobertura RB #1933
Documentation
Update docs for ‘prep_command()’ RB #1940
New Features
Small improvements, Refactoring and Tooling
0.0.30 (3/18/2015)
Bugfixes
Fix missing deps from global switch to six range RB #1931 RB #1937
Fix python_repl to work for python_requirement_libraries RB #1934
Move count variable outside loop RB #1926
Fix regression in synthetic target context handling RB #1921
Try to fix the .rst render of the CHANGELOG on pypi RB #1911
To add android.jar to the classpath, create a copy under task’s workdir RB #1902
walk synthetic targets dependencies when constructing context.target() RB #1863 RB #1914
Mix the value of the zinc name-hashing flag into cache keys RB #1912
Allow multiple ivy artifacts distinguished only by classifier RB #1905
Fix Git.detect_worktree to fail gracefully RB #1903
API Changes
Documentation
New Features
Support spec_excludes in what_changed. Prior art: https://rbcommons.com/s/twitter/r/1795/ RB #1930
Add a new ‘export’ goal for use by IDE integration RB #1917 RB #1929
Add ability to detect HTTP_PROXY or HTTPS_PROXY in environment and pass it along to ivy RB #1877
Pants publish to support publishing extra publish artifacts as individual artifacts with classifier attached RB #1879 RB #1889
Small improvements, Refactoring and Tooling
Move AptCompile to its own file RB #1935
use six.moves.range everywhere RB #1931
Port scrooge/linter config to the options system RB #1927
Fixes for import issues in JvmCompileStrategy post https://rbcommons.com/s/twitter/r/1885/ RB #1900
Moving stuff out of jvm and into project info backend RB #1917
Provides is meant to have been deprecated a long time ago RB #1915
Move JVM debug config functionality to the new options system RB #1924
Remove the –color option from specs_run. See https://rbcommons.com/s/twitter/r/1814/ RB #1916
Remove superfluous ‘self.conf’ argument to self.classpath RB #1913
Update ivy_utils error messages: include classifier and switch interpolation from % to format RB #1908
Added a python helper for check_header.sh in git pre-commit script RB #1910
Remove direct config access in scalastyle.py RB #1897
Replace all instances of xrange with range, as xrange is deprecated in Python 3 RB #1901
Raise a better exception on truncated Zinc analysis files RB #1896
Fail fast for OSX CI runs RB #1894
Upgrade to the latest rbt release RB #1893
Use cmp instead of a file hash RB #1892
Split out a JvmCompileStrategy interface RB #1885
Decouple WorkUnit from RunTracker RB #1928
Add Scm.add, change publish to add pushdb explicitly, move scm publish around RB #1868
0.0.29 (3/9/2015)
CI
Support local pre-commit checks RB #1883
Fix newline to fix broken master build RB #1888
Shard out OSX CI RB #1873
Update travis’s pants cache settings RB #1875
Fixup contrib tests on osx CI RB #1867
Reduce number of test shards from 8 to 6 on Travis-ci RB #1804
Cache the isort venv for ci runs RB #1740
Fixup ci isort check RB #1728
Tests
Add jar Publish integration tests to test the generated pom and ivy.xml files RB #1879
Added test that shows that nested scope inherits properly from cmdline, config, and env RB #1851 RB #1865
Improve AndroidDistribution coverage RB #1861
Modernize the protobuf and wire task tests RB #1854
Replace python_test_suite with target RB #1821
Switch test_jvm_run.py to the new TaskTestBase instead of the old TaskTest RB #1829
Remove two non-useful tests RB #1828
Fix a python run integration test RB #1810
Work around py test_runner issue with ns packages RB #1813
Add a test for the Git changelog RB #1792
Create a directory with no write perms for TestAndroidConfigUtil RB #1796
Relocated some tests (no code changes) from tests/python/pants_test/tasks into tests/python/pants_test/backend/codegen/tasks to mirror the source location RB #1746
Docs
New language: C++
API Changes
Kill the global –ng-daemons flag RB #1852
Removed parallel_test_paths setting from pants.ini. It isn’t needed in the pants repo any more RB #1846
BUILD file format cleanup:
An attempt to deprecate some old methods RB #1720
Options refactor work
Make option registration recursion optional RB #1870
Remove all direct config uses from jar_publish.py RB #1844
Read pants_distdir from options instead of config RB #1842
Remove direct config references in thrift gen code RB #1839
Android backend now exclusively uses the new option system RB #1819
Replace config use in RunTracker with options RB #1823
Add pants_bootstradir and pants_configdir to options bootstrapper RB #1835
Remove all direct config access in task.py RB #1827
Convert config-only options in goal idea and eclipse to use new options format RB #1805
Remove config_section from some tasks RB #1806
Disallow –no- on the name of boolean flags, refactor existing ones Issue #34 RB #1799
Migrating pants.ini config values for protobuf-gen to advanced registered options under gen.protobuf RB #1741
Add a way to deprecate options with ‘deprecated_version’ and ‘deprecated_hint’ kwargs to register() RB #1799 RB #1814
Implement compile_classpath using UnionProducts RB #1761
Introduce a @deprecated decorator RB #1725
Update jar-tool to 0.1.9 and switch to use @argfile calling convention RB #1798
Pants to respect XDB spec for global storage on unix systems RB #1817
Adds a mixin (ImportJarsMixin) for the IvyImports task RB #1783
Added invalidation check to UnpackJars task RB #1776
Enable python-eval for pants source code RB #1773
adding xml output for python coverage Issue #1105 RB #1770
Optionally adds a path value onto protoc’s PATH befor launching it RB #1756
Add progress information to partition reporting RB #1749
Add SignApk product and Zipalign task RB #1737
Add an ‘advanced’ parameter to registering options RB #1739
Add an env var for enabling the profiler RB #1305
Bugfixes and features
Kill the .saplings split RB #1886
Update our requests library to something more recent RB #1884
Make a nicer looking name for workunit output RB #1876
Fixup DxCompile jvm_options to be a list RB #1878
Make sure <?xml starts at the beginning of the file when creating an empty xml report RB #1856
Set print_exception_stacktrace in pants.ini RB #1872
Handle –print-exception-stacktrace and –version more elegantly RB #1871
Improve AndroidDistribution caching RB #1861
Add zinc to the platform_tools for zinc_utils RB #1779 RB #1858
Fix WARN/WARNING confusion RB #1866
Fixup Config to find DEFAULT values for missing sections RB #1851
Get published artifact classfier from config RB #1857
Make Context.targets() include synthetic targets RB #1840 RB #1863
Fix micros to be left 0 padded to 6 digits RB #1849
Setup logging before plugins are loaded RB #1820
Introduce pants_setup_py and contrib_setup_py helpers RB #1822
Support zinc name hashing RB #1779
Actually generate a depfile from t.c.tools.compiler and use it in jmake RB #1824 RB #1825
Ivy Imports now has a cache RB #1785
Get rid of some direct config uses in python_repl.py RB #1826
Add check if jars exists before registering products RB #1808
shlex the python run args RB #1782
Convert t.c.log usages to logging RB #1815
Kill unused twitter.common reqs and deps RB #1816
Check import sorting before checking headers RB #1812
Fixup typo accessing debug_port option RB #1811
Allow the dependees goal and idea to respect the –spec_excludes option RB #1795
Copy t.c.lang.{AbstractClass,Singleton} to pants RB #1803
Replace all t.c.lang.Compatibility uses with six RB #1801
Fix sp in java example readme.md RB #1800
Add util.XmlParser and AndroidManifestParser RB #1757
Replace Compatibility.exec_function with six.exec_ RB #1742 RB #1794
Take care of stale pidfiles for pants server RB #1791
Fixup the scrooge release RB #1793
Extract scrooge tasks to contrib/ RB #1780
Fixup JarPublish changelog rendering RB #1787
Preserve dictionary order in the anonymizer RB #1779 RB #1781
Fix a test file leak to the build root RB #1771
Replace all instances of compatibility.string RB #1764
Upgrade pex to 0.8.6 RB #1778
Introduce a PythonEval task RB #1772
Add an elapsed timestamp to the banner for CI RB #1775
Trying to clean up a TODO in IvyTaskMixin RB #1753
rm double_dag RB #1711
Add skip / target invalidation to thrift linting RB #1755
Fixup Task.invalidated UI RB #1758
Improve the implementation of help printing RB #1739 RB #1744
Fix TestAndroidBase task_type override miss RB #1751
Pass the BUILD file path to compile RB #1742
Bandaid leaks of global Config state in tests RB #1750
Fixing cobertura coverage so that it actually works RB #1704
Restore the ability to bootstrap Ivy with a custom configuration file RB #1709
Kill BUILD file bytecode compilation RB #1736
Kill ‘goal’ usage in the pants script RB #1738
Fixup ivy report generation and opening RB #1735
Fixup pants sys.excepthook for pex context RB #1733 RB #1734
Adding long form of help arguments to the help output RB #1732
Simplify isort config RB #1731
Expand scope of python file format checks RB #1729
Add path-to option to depmap RB #1545
Fix a stragler .is_apt usage RB #1724
Introduce isort to check *.py import ordering RB #1726
Upgrade to pex 0.8.5 RB #1721
cleanup is_xxx checks: is_jar_library RB #1719
Avoid redundant traversal in classpath calculation RB #1714
Fixup the release script RB #1715
‘./pants goal’ -> ‘./pants’ RB #1617
Add new function open_zip64 which defaults allowZip64=True for Zip files RB #1708
Fix a bug that –bundle-archive=tar generates .tar.gz instead of a .tar RB #1707
Remove 3rdparty debug.keystore RB #1703
Keystore no longer a target, apks signed with SignApkTask RB #1690
remove this jar_rule I accidentally added RB #1701
Require pushdb migration to specify a destination directory RB #1684
0.0.28 (2/1/2015)
Bugfixes
Numerous doc improvements & generation fixes
Steal some info from options docstring
Document –config-override & PANTS_ environment vars
Document JDK_HOME & JAVA_HOME use when choosing a java distribution
Rename “Goals Reference” page -> “Options Reference”
Document when to use isrequired
Fix Google indexing to ignore test sites
Update the code layout section of Pants Internals
Show changelog & for that support page(source=’something.rst’)
Add a reminder that you can do set-like math on FileSets
Hacking on Pants itself, update –pdb doc
Start of a “Why Choose Pants?” section
Highlight plugin examples from twitter/commons
Add a blurb about deploy_jar_rules to the JVM docs
Show how to pass -s to pytest
When to use java_sources, when not to
Start of a Pants-with-scala page
Publish page now shows provides= example
Add a flag to omit “internal” things
Slide tweaks based on class feedback
Document argument splitting for options
Issue #897 RB #1092 RB #1490 RB #1532 RB #1544 RB #1546 RB #1548 RB #1549 RB #1550 RB #1554 RB #1555 RB #1559 RB #1560 RB #1565 RB #1575 RB #1580 RB #1583 RB #1584 RB #1593 RB #1607 RB #1608 RB #1609 RB #1618 RB #1622 RB #1633 RB #1640 RB #1657 RB #1658 RB #1563 RB #1564 RB #1677 RB #1678 RB #1694 RB #1695
Add calls to relpath so that we don’t generate overlong filenames on mesos RB #1528 RB #1612 RB #1644
Regularize headers RB #1691
Pants itself uses python2.7, kill unittest2 imports RB #1689
Make ‘setup-py’ show up in ‘./pants goal goals’ RB #1466
Test that CycleException happens for cycles (instead of a stack overflow) RB #1686
Replace t.c.collection.OrderedDict with 2.7+ stdlib RB #1687
Make ide_gen a subclass of Task to avoid depending on compile and resources tasks Issue #997 RB #1679
Remove with_sources() from 3rdparty/BUILD RB #1674
Handle thrift inclusion for python in apache_thrift_gen RB #1656 RB #1675
Make beautifulsoup4 dep fixed rather than floating RB #1670
Fixes for unpacked_jars RB #1624
Fix spurious Products requirements RB #1662
Fixup the options bootstrapper to support boolean flags RB #1660 RB #1664
Change Distribution.cached to compare using Revision objects RB #1653
Map linux i686 arch to i386 Issue #962 RB #1659
bump virtualenv version to 12.0.5 RB #1621
Bugfixes in calling super methods in traversable_specs and traversable_dependency_specs RB #1611
Raise TaskError on python antlr generation failure RB #1604
Fix topological ordering + chunking bug in jvm_compile RB #1598
Fix CI from RB 1604 (and change a test name as suggested by nhoward) RB #1606
Mark some missing-deps testprojects as expected to fail RB #1601
Fix scalac plugin support broken in a refactor RB #1596
Do not insert an error message as the “main” class in jvm_binary_task RB #1590
Remove variable shadowing from method in archive.py RB #1589
Cache ivy report dependency traversals consistently RB #1557
Print the traceback when there is a problem loading or calling a backend module RB #1582
Kill unused Engine.execution_order method and test RB #1576
Support use of pytest’s –pdb mode RB #1570
fix missing dep. allows running this test on its own RB #1561
Remove dead code and no longer needed topo sort from cache_manager RB #1553
Use Travis CIs new container based builds and caching RB #1523 RB #1537 RB #1538
API Changes
Improvements and extensions of WhatChanged functionality
Skip loading graph if no changed targets
Filter targets from changed using exclude_target_regexp
Compile/Test “changed” targets
Optionally include direct or transitive dependees of changed targets
Add changes-in-diffspec option to what-changed
Refactor WhatChanged into base class, use LazySourceMapper
Introduce LazySourceMapper and test
RB #1526 RB #1534 RB #1535 RB #1542 RB #1543 RB #1567 RB #1572 RB #1595 RB #1600
More options migration, improvements and bugfixes
Centralize invertible arg logic
Support loading boolean flags from pants.ini
Add a clarifying note in migrate_config
Some refactoring of IvyUtils
Rename the few remaining “jvm_args” variables to “jvm_options”
./pants –help-all lists all options
Add missing stanza in the migration script
Switch artifact cache setup from config to new options
Migrate jvm_compile’s direct config accesses to the options system
Added some formatting to parse errors for dicts and lists in options
s/new_options/options/g
Re-implement the jvm tool registration mechanism via the options system
Make JvmRun support passthru args
RB #1347 RB #1495 RB #1521 RB #1527 RB #1552 RB #1569 RB #1585 RB #1599 RB #1626 RB #1630 RB #1631 RB #1646 RB #1680 RB #1681 RB #1696
Upgrade pex dependency to 0.8.4
Pick up several perf wins
Pick up fix that allows pex to read older pexes
Upgrade jmake to org.pantsbuild releases
Upgrade jmake to version with isPackagePrivateClass fix
Upgrade jmake to version that works with java 1.5+
Fix ivy resolve args + added ability to provide custom ivy configurations RB #1671
Allow target specs to come from files RB #1669
Remove obsolete twitter-specific hack ‘is_classpath_artifact’ RB #1676
Improve RoundEngine lifecycle RB #1665
Changed Scala version from 2.9.3 to 2.10.3 because zinc was using 2.10.3 already RB #1610
Prevent “round trip” dependencies RB #1603
Edit Config.get_required so as to raise error for any blank options RB #1638
Don’t plumb an executor through when bootstrapping tools RB #1634
Print jar_dependency deprecations to stderr RB #1632
Add configuration parameter to control the requirements cache ttl RB #1627
Got ivy to map in javadoc and source jars for pants goal idea RB #1613 RB #1639
Remove the ‘^’ syntax for the command line spec parsing RB #1616
Kill leftover imports handling from early efforts RB #592 RB #1614
Adding the ability to pull in a Maven artifact and extract its contents RB #1210
Allow FingerprintStrategy to opt out of fingerprinting RB #1602
Remove the ivy_home property from context RB #1592
Refactor setting of PYTHONPATH in pants.ini RB #1586
Relocate ‘to_jar_dependencies’ method back to jar_library RB #1574
Update protobuf_gen to be able to reference sources outside of the subdirectory of the BUILD file RB #1573
Kill goal dependencies RB #1577
Move excludes logic into cmd_line_spec_parser so it can filter out broken build targets RB #930 RB #1566
Replace exclusives_groups with a compile_classpath product RB #1539
Allow adding to pythonpath via pant.ini RB #1457
0.0.27 (12/19/2014)
Bugfixes
0.0.26 (12/17/2014)
Bugfixes
Fix the ScroogeGen target selection predicate RB #1497
0.0.25 (12/17/2014)
API Changes
Flesh out and convert to the new options system introduced in pantsbuild.pants 0.0.24
Support loading config from multiple files
Support option reads via indexing
Add a migrate_config tool
Migrate tasks to the option registration system
Get rid of the old config registration mechanism
Add passthru arg support in the new options system
Support passthru args in tasks
Allow a task type know its own options scope
Support old-style flags even in the new flag system
RB #1093 RB #1094 RB #1095 RB #1096 RB #1097 RB #1102 RB #1109 RB #1114 RB #1124 RB #1125 RB #1127 RB #1129 RB #1131 RB #1135 RB #1138 RB #1140 RB #1146 RB #1147 RB #1170 RB #1175 RB #1183 RB #1186 RB #1192 RB #1195 RB #1203 RB #1211 RB #1212 RB #1214 RB #1218 RB #1223 RB #1225 RB #1229 RB #1230 RB #1231 RB #1232 RB #1234 RB #1236 RB #1244 RB #1248 RB #1251 RB #1258 RB #1269 RB #1270 RB #1276 RB #1281 RB #1286 RB #1289 RB #1297 RB #1300 RB #1308 RB #1309 RB #1317 RB #1320 RB #1323 RB #1328 RB #1341 RB #1343 RB #1351 RB #1357 RB #1373 RB #1375 RB #1385 RB #1389 RB #1399 RB #1409 RB #1435 RB #1441 RB #1442 RB #1443 RB #1451
Kill Commands and move all actions to Tasks in the goal infrastructure
Kill pants own use of the deprecated goal command
Restore the deprecation warning for specifying ‘goal’ on the cmdline
Get rid of the Command class completely
Enable passthru args for python run
RB #1321 RB #1327 RB #1394 RB #1402 RB #1448 RB #1453 RB #1465 RB #1471 RB #1476 RB #1479
Add support for loading plugins via standard the pkg_resources entry points mechanism RB #1429 RB #1444
Many performance improvements and bugfixes to the artifact caching subsystem
Use a requests Session to enable connection pooling
Make CacheKey hash and pickle friendly
Multiprocessing Cache Check and Write
Skip compressing/writing artifacts that are already in the cache
Add the ability for JVM targets to refuse to allow themselves to be cached in the artifact cache
Fix name of non-fatal cache exception
Fix the issue of seeing “Error while writing to artifact cache: an integer is required” during [cache check]
Fix all uncompressed artifacts stored as just .tar
RB #981 RB #986 RB #1022 RB #1197 RB #1206 RB #1233 RB #1261 RB #1264 RB #1265 RB #1272 RB #1274 RB #1249 RB #1310
More enhancements to the depmap goal to support IDE plugins:
Add Pants Target Type to depmap to identify scala target VS java target
Add java_sources to the depmap info
Add transitive jar dependencies to depmap project info goal for intellij plugin
Port pants to pex 0.8.x Issue #10 Issue #19 Issue #21 Issue #22 RB #778 RB #785 RB #1303 RB #1378 RB #1421
Remove support for __file__ in BUILDs RB #1419
Allow setting the cwd for goals run.jvm and test.junit RB #1344
Subclasses of Exception have strange deserialization RB #1395
Remove outer (pants_exe) lock and serialized cmd RB #1388
Make all access to Context’s lock via helpers RB #1391
Allow adding entries to source_roots RB #1359
Re-upload artifacts that encountered read-errors RB #1361
Cache files created by (specially designed) annotation processors RB #1250
Turn dependency dupes into errors RB #1332
Add support for the Wire protobuf library RB #1275
Pin pants support down to python2.7 - dropping 2.6 RB #1278
Add a new param for page target, links, a list of hyperlinked-to targets RB #1242
Add git root calculation for idea goal RB #1189
Minimal target “tags” support RB #1227
Include traceback with failures (even without fail-fast) RB #1226
Add support for updating the environment from prep_commands RB #1222
Read arguments for thrift-linter from pants.ini RB #1215
Configurable Compression Level for Cache Artifacts RB #1194
Add a flexible directory re-mapper for the bundle RB #1181
Adds the ability to pass a filter method for ZIP extraction RB #1199
Print a diagnostic if a BUILD file references a source file that does not exist RB #1198
Add support for running a command before tests RB #1179 RB #1177
Add PantsRunIntegrationTest into pantsbuild.pants.testinfra package RB #1185
Refactor jar_library to be able to unwrap its list of jar_dependency objects RB #1165
When resolving a tool dep, report back the pants.ini section with a reference that is failing RB #1162
Add a list assertion for python_requirement_library’s requirements RB #1142
Adding a list of dirs to exclude from the ‘::’ scan in the CmdLineSpecParser RB #1091
Protobuf and payload cleanups RB #1099
Coalesce errors when parsing BUILDS in a spec RB #1061
Refactor Payload RB #1063
Add support for publishing plugins to pants RB #1021
Bugfixes
Numerous doc improvements & generation fixes
Updates to the pants essentials tech talk based on another dry-run
On skinny displays, don’t show navigation UI by default
Handy rbt status tip from RBCommons newsletter
Document how to create a simple plugin
Update many bash examples that used old-style flags
Update Pants+IntelliJ docs to say the Plugin’s the new hotness, link to plugin’s README
Publish docs the new way
Update the “Pants Essentials” tech talk slides
Convert .rst files -> .md files
For included code snippets, don’t just slap in a pre, provide syntax highlighting
Add notes about JDK versions supported
Dust off the Task Developer’s Guide and rm the “pagerank” example
Add a sitegen task, create site with better navigation
For ‘goal builddict’, generate .rst and .html, not just .rst
Narrow setup ‘Operating System’ classfiers to known-good
Issue #16 Issue #461 Issue #739 RB #891 RB #1074 RB #1075 RB #1079 RB #1084 RB #1086 RB #1088 RB #1090 RB #1101 RB #1126 RB #1128 RB #1134 RB #1136 RB #1154 RB #1155 RB #1164 RB #1166 RB #1176 RB #1178 RB #1182 RB #1191 RB #1196 RB #1205 RB #1241 RB #1263 RB #1277 RB #1284 RB #1292 RB #1295 RB #1296 RB #1298 RB #1299 RB #1301 RB #1314 RB #1315 RB #1326 RB #1348 RB #1355 RB #1356 RB #1358 RB #1363 RB #1370 RB #1377 RB #1386 RB #1387 RB #1401 RB #1407 RB #1427 RB #1430 RB #1434 RB #1440 RB #1446 RB #1464 RB #1484 RB #1491
CmdLineProcessor uses binary class name RB #1489
Use subscripting for looking up targets in resources_by_products RB #1380
Fix/refactor checkstyle RB #1432
Fix missing import RB #1483
Make ./pants help and ./pants help <goal> work properly Issue #839 RB #1482
Cleanup after custom options bootstrapping in reflect RB #1468
Handle UTF-8 in thrift files for python RB #1459
Optimize goal changed RB #1470
Fix a bug where a request for help wasn’t detected RB #1467
Always relativize the classpath where possible RB #1455
Gracefully handle another run creating latest link RB #1396
Properly detect existence of a symlink RB #1437
Avoid throwing in ApacheThriftGen.__init__ RB #1428
Fix error message in scrooge_gen RB #1426
Fixup BuildGraph to handle mixes of synthetic and BUILD targets RB #1420
Fix antlr package derivation RB #1410
Exit workers on sigint rather than ignore RB #1405
Fix error in string formatting RB #1416
Add missing class RB #1414
Add missing import for dedent in resource_mapping.py RB #1403
Replace twitter commons dirutil Lock with lockfile wrapper RB #1390
Make interpreter_cache a property, acquire lock in accessor Issue #819 RB #1392
Fix .proto files with unicode characters in the comments RB #1330
Make pants goal run for Python exit with error code 1 if the python program exits non-zero RB #1374
Fix a bug related to adding sibling resource bases RB #1367
Support for the –kill-nailguns option was inadvertently removed, this puts it back RB #1352
fix string formatting so test -h does not crash RB #1353
Fix java_sources missing dep detection RB #1336
Fix a nasty bug when injecting target closures in BuildGraph RB #1337
Switch src/* usages of Config.load to use Config.from_cache instead RB #1319
Optimize what_changed, remove un-needed extra sort RB #1291
Fix DetectDuplicate’s handling of an append-type flag RB #1282
Deeper selection of internal targets during publishing RB #1213
Correctly parse named_is_latest entries from the pushdb RB #1245
Fix error message: add missing space RB #1266
WikiArtifact instances also have provides; limit ivy to jvm RB #1259
Fix [run.junit] -> [test.junit] RB #1256
Fix signature in goal targets and BUILD dictionary RB #1253
Fix the regression introduced in https://rbcommons.com/s/twitter/r/1186 RB #1254
Temporarily change stderr log level to silence log.init if –quiet RB #1243
Add the environment’s PYTHONPATH to sys.path when running dev pants RB #1237
Remove java_sources as target roots for scala library in depmap project info Issue #670 RB #1190
Allow UTF-8 characters in changelog RB #1228
Ensure proper semantics when replacing all tasks in a goal RB #1220 RB #1221
Fix reading of scalac plugin info from config RB #1217
Dogfood bintray for pants support binaries RB #1208
In the event of an exception in jvmdoc_gen, call get() on the remaining futures RB #1202
Move workdirs creation from __init__ to pre_execute in jvm_compile & Remove QuietTaskMixin from several tasks RB #1173
Switch from os.rename to shutil.move to support cross-fs renames when needed RB #1157
Fix scalastyle task, wire it up, make configs optional RB #1145
Fix issue 668: make release.sh execute packaged pants without loading internal backends during testing Issue #668 RB #1158
Add payload.get_field_value() to fix KeyError from pants goal idea testprojects:: RB #1150
Remove debug_args from pants.ini Issue #650 RB #1137
When a jvm doc tool (e.g. scaladoc) fails in combined mode, throw an exception RB #1116
Remove hack to add java_sources in context RB #1130
Memoize Address.__hash__ computation RB #1118
Add missing coverage deps RB #1117
get goal targets using similar codepath to goal builddict RB #1112
Memoize fingerprints by the FPStrategy hash RB #1119
Factor in the jvm version string into the nailgun executor fingerprint RB #1122
Fix some error reporting issues RB #1113
Retry on failed scm push; also, pull with rebase to increase the odds of success RB #1083
Make sure that ‘option java_package’ always overrides ‘package’ in protobuf_gen RB #1108
Fix order-dependent force handling: if a version is forced in one place, it is forced everywhere RB #1085
Survive targets without derivations RB #1066
Make internal_backend plugins 1st class local pants plugins RB #1073
0.0.24 (9/23/2014)
API Changes
Add a whitelist to jvm dependency analyzer RB #888
Refactor exceptions in build_file.py and build_file_parser.py to derive from a common baseclass and eliminate throwing IOError. RB #954
Support absolute paths on the command line when they start with the build root RB #867
Make :: fail for an invalid dir much like : does for a dir with no BUILD file Issue #484 RB #907
Deprecate pants & dependencies aliases and remove config, goal, phase, get_scm & set_scm aliases RB #899 RB #903 RB #912
Export test infrastructure for plugin writers to use in pantsbuild.pants.testinfra sdist Issue #539 RB #997 RB #1004
Publishing improvements:
Add support for doing remote publishes with an explicit snapshot name
One publish/push db file per artifact
Several improvements to IdeGen derived goals:
Adds the –<goal>-use-source-root for IDE project generation tasks
Added –idea-exclude-maven-target to keep IntelliJ from indexing ‘target’ directories
Changes the behavior of goal idea to create a subdirectory named for the project name
Added exclude-folders option in pants.ini, defaulted to excluding a few dirs in .pants.d
Enhancements to the depmap goal to support IDE plugins:
Add flag to dump project info output to file
Add missing resources to targets
Add content type to project Info
Make SourceRoot fundamentally understand a rel_path RB #1036
Added thrift-linter to pants RB #1044
Support limiting coverage measurements globally by module or path Issue #328 Issue #369 RB #1034
Update interpreter_cache.py to support a repo-wide interpreter requirement RB #1025
Changed goal markdown:
Writes output to ./dist/markdown/
Pages can include snippets from source files http://pantsbuild.github.io/page.html#include-a-file-snippet
Rename Phase -> Goal RB #856 RB #879 RB #880 RB #887 RB #890 RB #910 RB #913 RB #915 RB #931
Android support additions:
Add AaptBuild task
Add JarsignerTask and Keystore target
Git/Scm enhancements:
Allow the buildroot to be a subdirectory of the git worktree
Support getting the commit date of refs
Add merge-base and origin url properties to git
Bugfixes
Numerous doc improvements & generation fixes Issue #397 Issue #451 Issue #475 RB #863 RB #865 RB #873 RB #876 RB #885 RB #938 RB #953 RB #960 RB #965 RB #992 RB #995 RB #1007 RB #1008 RB #1018 RB #1020 RB #1048
Fixup missing ‘page.mustache’ resource for markdown goal Issue #498 RB #918
Publishing fixes:
Fix credentials fetching during publishing
Skipping a doc phase should result in transitive deps being skipped as well
Several IdeGen derived task fixes:
Fix eclipse_gen & idea_gen for targets with both java and scala
Fixup EclipseGen resources globs to include prefs.
When a directory contains both java_library and junit_tests targets, make sure the IDE understands this is a test path, not a lib path
Fixes to the depmap goal to support IDE plugins:
Fixed source roots in project info in case of ScalaLibrary with java_sources
Fix –depmap-project-info for scala sources with the same package_prefix
Fix depmap KeyError
Make a better error message when os.symlink fails during bundle RB #1037
Faster source root operations - update the internal data structure to include a tree RB #1003
The goal filter’s –filter-ancestor parameter works better now Issue #506 RB #925
Fix: goal markdown failed to load page.mustache Issue #498 RB #918
Fix the changed goal so it can be run in a repo with a directory called ‘build’ RB #872
Patch JvmRun to accept JvmApp`s `RB #893
Add python as default codegen product RB #894
Fix the filedeps goal - it was using a now-gone .expand_files() API Issue #437, RB #939
Put back error message that shows path to missing BUILD files RB #929
Make sure the junit_run task only runs on targets that are junit compatible Issue #508 RB #924
Fix ./pants goal targets Issue #333 RB #796 RB #914
Add derived_from to ScroogeGen synthetic targets RB #926
Properly order resources for pants goal test and pants goal run RB #845
Fixup Dependencies to be mainly target-type agnostic Issue #499 RB #920
Fixup JvmRun only-write-cmd-line flag to accept relative paths Issue #494 RB #908 RB #911
Fix the –ivy-report option and add integration test RB #976
Fix a regression in Emma/Cobertura and add tests Issue #508 RB #935
0.0.23 (8/11/2014)
API Changes
Remove unused Task.invalidate_for method and unused extra_data variable RB #849
Add DxCompile task to android backend RB #840
Change all Task subclass constructor args to (*args, **kwargs) RB #846
The public API for the new options system Issue #425 RB #831 RB #819
Rename pants.goal.goal.Goal to pants.goal.task_registrar.TaskRegistrar Issue #345 RB #843
Bugfixes
Better validation for AndroidTarget manifest field RB #860
Remove more references to /BUILD:target notation in docs RB #855 RB #853
Fix up the error message when attempting to publish without any configured repos RB #850
Miscellaneous fixes to protobuf codegen including handling collisions deterministically RB #720
Migrate some reasonable default values from pants.ini into ‘defaults’ in the pants source Issue #455 Issue #456 Issue #458 RB #852
Updated the basename and name of some targets to prevent colliding bundles in dist/ RB #847
Provide a better error message when referencing the wrong path to a BUILD file RB #841
Add assert_list to ensure an argument is a list - use this to better validate many targets RB #811
Update front-facing help and error messages for Android targets/tasks RB #837
Use JvmFingerprintStrategy in cache manager RB #835
0.0.22 (8/4/2014)
API Changes
Upgrade pex dependency from twitter.common.python 0.6.0 to pex 0.7.0 RB #825
Added a –spec-exclude command line flag to exclude specs by regular expression RB #747
Upgrade requests, flip to a ranged requirement to help plugins RB #771
New goal ensime to generate Ensime projects for Emacs users RB #753
Bugfixes
goal repl consumes targets transitively RB #781
Fixup JvmCompile to always deliver non-None products that were required by downstream RB #794
Relativize classpath for non-ng java execution RB #804
Added some docs and a bugfix on debugging a JVM tool (like jar-tool or checkstyle) locally RB #791
Added an excludes attribute that is set to an empty set for all SourcePayload subclasses Issue #414 RB #793
Add binary fetching support for OSX 10.10 and populate thrift and protoc binaries RB #789
Fix the pants script exit status when bootstrapping fails RB #779
Added benchmark target to maven_layout() RB #780
Fixup a hole in external dependency listing wrt encoding RB #776
Force parsing for filtering specs RB #775
Fix a scope bug for java agent manifest writing RB #768 RB #770
Plumb ivysettings.xml location to the publish template RB #764
Fix goal markdown: README.html pages clobbered each other RB #750
0.0.21 (7/25/2014)
Bugfixes
Fixup NailgunTasks with missing config_section overrides RB # 762
0.0.20 (7/25/2014)
API Changes
Hide stack traces by default Issue #326 RB #655
Upgrade to twitter.common.python 0.6.0 and adjust to api change RB #746
Validate that junit_tests targets have non-empty sources RB #619
Add support for the Ragel state-machine generator Issue #353 RB #678
Bugfixes
Numerous doc fixes Issue #385 Issue #387 Issue #395 RB #728 RB #729 RB #730 RB #738
Expose types needed to specify jvm_binary.deploy_jar_rules Issue #383 RB #727
Require information about jars in depmap with --depmap-project-info RB #721
0.0.19 (7/23/2014)
API Changes
Enable Nailgun Per Task RB #687
Bugfixes
Fixup broken bundle alias Issue #375 RB #722
Remove dependencies on twitter.common.{dirutil,contextutils} RB #710 RB #713 RB #717 RB #718 RB #719 RB #726
Fixup missing JunitRun resources requirement RB #709
Fix transitive dependencies for GroupIterator/GroupTask RB #706
Ensure resources are prepared after compile Issue #373 RB #708
Upgrade to twitter.common.python 0.5.10 to brings in the following bugfix:
Update the mtime on retranslation of existing distributions. 1bff97e stopped existing distributions from being overwritten, to prevent subtle errors. However without updating the mtime these distributions will appear to be permanently expired wrt the ttl.
Resurrected pants goal idea with work remaining on source and javadoc jar mapping RB #695
Fix BinaryUtil raise of BinaryNotFound Issue #367 RB #705
0.0.18 (7/16/2014)
API Changes
Lock globs into rootdir and below Issue #348 RB #686
Bugfixes
0.0.17 (7/15/2014)
Initial published version of pantsbuild.pants
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
File details
Details for the file pantsbuild.pants.contrib.findbugs-1.1.0-pre4.tar.gz.
File metadata
- Download URL: pantsbuild.pants.contrib.findbugs-1.1.0-pre4.tar.gz
- Upload date:
- Size: 202.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2348a9ba010ce8c560998e679710ad51267f14a43940e1647c43344fea6d69af
|
|
| MD5 |
b438cd3b93a6a4c0ccbcfb4bbeddbc96
|
|
| BLAKE2b-256 |
69306e4aa29df82874b796b469333582128debf378b4f4eb456efe7b7f676fa0
|