Add ivy resolved classpaths as a unit.

Review Request #130 — Created March 21, 2014 and submitted

jsirois
commons
jsirois/pants/respect_cp_resolve_order
263
pants-reviews
benjyw, travis
commit 7b0414a1b63e9406cacad9186f6977cde60c93dc
Author: John Sirois <jsirois@twitter.com>
Date:   Fri Mar 21 13:45:00 2014 -0600

    Add ivy resolved classpaths as a unit.

 src/python/twitter/pants/tasks/ivy_resolve.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
I observed the classpath passed to javac was inverted in the ivy portion from what the .pants.d/classpath/.../classpath.raw was.

Internally this caused projects where both log4j and slf4j-over-log4j were involved to blow up.  In these cases the leaf project beeing compiled declared a dep on log4j and some interior transitive node that was not it used slf4j.  The resolve order was ...:log4j:...:slf4j-over-log4j:..., but the command line classpath order was inverted in the jars leaving sl4j's neutered log4j stubs 1st on the cp order and thus failing direct log4j api calls not in the neutered set.

$ ./pants.bootstrap tests/python/twitter/pants/tasks/ -v
BE
  1. 
      
  2. 
      
JS
  1. Thanks - merged.
  2. 
      
JS
Review request changed

Status: Closed (submitted)

Loading...