A bottom-up build tool.
Project description
Pants is an Apache2 licensed build tool written in Python.
The latest documentation can be found here.
RELEASE HISTORY
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.