Have a single internal classes dir even in a non-deployjar bundle.

Review Request #358 — Created May 15, 2014 and submitted

benjyw
pants
pants-reviews
jsirois
This restores the status quo ante.

This turns out to make the code a lot simpler too.

The terminology 'deployjar' is confusing, so I changed the name
of the internal method deployjar() to loose_classfiles_jar(), which
is more descriptive. However I left the term 'deployjar' in the
cmd-line flag name, for backwards compatibility.
All unittests pass.

Manually ran binary and bundle creation with and without deployjar flag.  Inspected jar and MANIFEST.MF contents manually to ensure that they're as expected.

We should really buff up the tests for these...
JS
  1. Small stuff.  I'm fine if you want to kill the binary & bundle goals' jar goal dependency / use in a follow up.
  2. src/python/pants/tasks/bundle_create.py (Diff revision 1)
     
     
    This is a lie, there is no such thing as a bundle's classes dir.  Needs some rewording, maybe:
    Create a single jar with all internal and 3rdparty classfiles at the root of the bundle.  If unset, the root jar will contain internal classfiles only and link 3rdparty jars via a Class-Path manifest entry to copies in the bundle libs/ dir.
    1. Changed the help text to be more sensible.
  3. fat_jar, mono_jar ... all jars are loose classfile jars.  I cannot come up with a name I like either :/
    1. Changed to 'monolithic_jar'.
  4. Yes!  Kill the bundle and binary goal dependencies on jar please too!
  5. 
      
BE
Review request changed

Status: Closed (submitted)

Loading...