firzencode / jarjar

Automatically exported from code.google.com/p/jarjar
0 stars 0 forks source link

Class not included in jar but it should be #61

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
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/gu
ava-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.

Original issue reported on code.google.com by alexandr...@gmail.com on 22 May 2013 at 9:33

Attachments: