What steps will reproduce the problem?
mkdir -p test/build/compiled cd test
wget "http://search.maven.org/remotecontent?filepath=com/google/guava/guava/14.0.1/guava-14.0.1.jar" wget "https://jarjar.googlecode.com/files/jarjar-1.3.jar" echo "keep com.test.GuideManifest" > rules
Compile GuideManifest.java, add it to a copy of the guava jar,
javac src/com/test/GuideManifest.java -classpath guava-14.0.1.jar -d build/compiled cp guava-14.0.1.jar build/guavaPlusClass.jar jar uvf build/guavaPlusClass.jar -C build/compiled/ .
Use jarjar to keep the class
java -jar jarjar-1.3.jar process rules build/guavaPlusClass.jar build/app.zip
What is the expected output? What do you see instead? I expect app.zip to contain com.google.common.io.CharStreams, as it's used by the GuideManifest class, but it's not included in app.zip.
What version of the product are you using? On what operating system?
$ java -version java version "1.7.0_21" OpenJDK Runtime Environment (IcedTea 2.3.9) (ArchLinux build 7.u21_2.3.9-4-x86_64) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
jarjar-1.3.jar
Please provide any additional information below.
I noticed that if I remove the equals method (which should have nothing to do with this) then the CharStreams class (along with other com.google.common classes) is included in app.zip. The same if I remove the "&& other != null" part. It does not make any sense.
Status: New
Labels:
Type-Defect
Priority-Medium