I'm running proguard on a single class file but the output.jar file is not created.
$ javap -c java-8-classes/BinaryNode.class | sed -n "139,150p;151q"
public int hashCode();
Code:
0: aload_0
1: getfield #2 // Field _data:[B
4: ifnonnull 11
7: iconst_m1
8: goto 16
11: aload_0
12: getfield #2 // Field _data:[B
15: arraylength
16: ireturn
So unless I'm mistaken(?) it seems that BinaryNode::hashCode only needs _data field.
$ javap -c java-8-classes/BinaryNode.class | sed -n "5,6p;7q"
protected final byte[] _data;
So I edited my config.pro accordingly:
$ cat config.pro
-injars java-8-classes/BinaryNode.class
-outjars output.jar
-verbose
-keep class com.fasterxml.jackson.databind.node.BinaryNode
{
protected final byte[] _data;
public int hashCode();
}
-allowaccessmodification
When I run proguard, output jar does not get created:
$ java -jar ../proguard/lib/proguard.jar -dontwarn @config.pro
ProGuard, version 7.1.0-beta2
Reading input...
Reading program directory [/home/oren/Documents/java-8-classes/BinaryNode.class] (filtered) # <---- OK??
Initializing...
<...>
Preparing output jar [/home/oren/Documents/output.jar] (filtered) # <---- WHY ???