Add support for jar'ing compile outputs

Review Request #2643 - Created Aug. 16, 2015 and submitted

Information
Stu Hood
pants
322cbbc...
Reviewers
pants-reviews
benjyw, fkorotkov, jsirois, nhoward_tw, zundel

Add support for jar'ing compile outputs in the isolated strategy. This change makes the isolated 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.

  • Split CompileContext out into its own file and add a specialized implementation for the isolated strategy.
  • Add support for replacing classpath entries.
  • Added a finalize_execute method to GroupMember to play a role symmetrical to prepare_execute, which runs only if a member has relevant targets.

This helps Twitter replace a nasty hack whereby the compile_classpath was repeatedly re-jar'd by a task that (without assuming too much about the internals of jvm_compile) attempted to consolidate all directories on the classpath into jars.

https://github.com/pantsbuild/pants/pull/2002

Issues

  • 0
  • 1
  • 0
  • 1
Description From Last Updated
Benjy Weinberger
Eric Ayers
Eric Ayers
Nick Howard (Twitter)
Stu Hood
Nick Howard (Twitter)
Stu Hood
Review request changed

Status: Closed (submitted)

Change Summary:

Merged as cc5ac002b70fd906eea3b2a130005dfcfe7440b9

Loading...