JVM tools can now carry their own classpath.

Review Request #2778 - Created Sept. 6, 2015 and submitted

Information
John Sirois
pants
jsirois/issues/2142
2141, 2142, 2146
1423
b7ae6f3...
Reviewers
pants-reviews
mateor, stuhood, zundel
This adds support for JVM tool registrations that define the default
classpath for the tool, and thus require no BUILD.tools targets.

All existing non-scala tool registrations are converted and their
BUILD.tools entries deleted.  The scala tools will require some more
thought and effort to get the standardized platform jar dependency hack
plumbed correctly.

 BUILD.tools                                                           | 112 ------------------------------------
 contrib/spindle/src/python/pants/contrib/spindle/tasks/BUILD          |   1 +
 contrib/spindle/src/python/pants/contrib/spindle/tasks/spindle_gen.py |   9 ++-
 src/docs/setup_repo.md                                                |   6 +-
 src/python/pants/backend/codegen/tasks/BUILD                          |   2 +-
 src/python/pants/backend/codegen/tasks/antlr_gen.py                   |  23 +++++---
 src/python/pants/backend/codegen/tasks/wire_gen.py                    |  17 ++++--
 src/python/pants/backend/jvm/subsystems/BUILD                         |   2 +-
 src/python/pants/backend/jvm/subsystems/jar_tool.py                   |   7 ++-
 src/python/pants/backend/jvm/subsystems/jvm_tool_mixin.py             |  76 +++++++++++++++++--------
 src/python/pants/backend/jvm/subsystems/scala_platform.py             |   2 +-
 src/python/pants/backend/jvm/tasks/BUILD                              |   9 ++-
 src/python/pants/backend/jvm/tasks/benchmark_run.py                   |  23 ++++++--
 src/python/pants/backend/jvm/tasks/bootstrap_jvm_tools.py             | 153 +++++++++++++++++++++++++++++---------------------
 src/python/pants/backend/jvm/tasks/checkstyle.py                      |  11 ++++
 src/python/pants/backend/jvm/tasks/ivy_resolve.py                     |   7 ++-
 src/python/pants/backend/jvm/tasks/junit_run.py                       |  36 ++++++++++--
 src/python/pants/backend/jvm/tasks/jvm_compile/java/java_compile.py   |  15 ++++-
 src/python/pants/backend/jvm/tasks/jvm_compile/scala/zinc_compile.py  |   3 +-
 src/python/pants/backend/jvm/tasks/nailgun_task.py                    |   9 ++-
 src/python/pants/backend/jvm/tasks/scala_repl.py                      |   2 +-
 tests/python/pants_test/backend/jvm/tasks/test_bootstrap_jvm_tools.py |  20 ++++---
 tests/python/pants_test/backend/jvm/tasks/test_junit_run.py           |   6 +-
 tests/python/pants_test/jvm/jvm_tool_task_test_base.py                |   3 +
 24 files changed, 306 insertions(+), 248 deletions(-)
I killed my local artifact cache to sanity check tool shading
re-bootstrapped fine.

CI went green here:
  https://travis-ci.org/pantsbuild/pants/builds/79380185
John Sirois
John Sirois
John Sirois
Eric Ayers
Larry Hosken
Eric Ayers
John Sirois
John Sirois
John Sirois
John Sirois
Eric Ayers
John Sirois
John Sirois
John Sirois
John Sirois
Eric Ayers
Larry Hosken
John Sirois
Benjy Weinberger
John Sirois
John Sirois
John Sirois
John Sirois
Benjy Weinberger
John Sirois
John Sirois
Review request changed

Status: Closed (submitted)

Stu Hood
Ship It!
Loading...