title: Proguard with Maven
body: <p>I am trying to use Proguard to shrink the jar size.</p>
  
  <p>I configured Proguard in Maven pom.xml. It failed to find all the embedded dependency jars.
  It can read and parse out all dependency jars which is referenced in the current module, but for dependencies which are embedded in the other modules, it failed to find it.</p>
  
  <p>For example, My current module is moduleA and it depends another module moduleB. And module B has a dependency moduleC.  It can find all classes which are directly inside moduleB, but it failed to parse out all classes which are inside moduleC. My configuration for proguard is as following:</p>
  
  <pre><code>&lt;plugin&gt;
              &lt;!--groupId&gt;com.pyx4me&lt;/groupId--&gt;
              &lt;groupId&gt;com.github.wvengen&lt;/groupId&gt;
              &lt;artifactId&gt;proguard-maven-plugin&lt;/artifactId&gt;
              &lt;executions&gt;
                &lt;execution&gt;
                  &lt;id&gt;proguard&lt;/id&gt;
                  &lt;phase&gt;package&lt;/phase&gt;
                  &lt;goals&gt;
                    &lt;goal&gt;proguard&lt;/goal&gt;
                  &lt;/goals&gt;
                &lt;/execution&gt;
              &lt;/executions&gt;
              &lt;configuration&gt;
                &lt;injar&gt;MyInput-${project.version}.jar&lt;/injar&gt;
                &lt;outjar&gt;MyInput-Processed-${project.version}.jar&lt;/outjar&gt;
                &lt;options&gt;
                  &lt;option&gt;-keep public class * { *; }&lt;/option&gt;
                  &lt;option&gt;-ignorewarnings&lt;/option&gt;
                &lt;/options&gt;
                &lt;libs&gt;
                  &lt;!--lib&gt;${java.bootstrap.classes}&lt;/lib&gt;
                  &lt;lib&gt;${java.cryptographic.extension.classes}&lt;/lib&gt;
                  &lt;lib&gt;${java.secure.socket.extension.classes}&lt;/lib--&gt;
                &lt;/libs&gt;
              &lt;/configuration&gt;
              &lt;dependencies&gt;
                &lt;dependency&gt;
                  &lt;groupId&gt;net.sf.proguard&lt;/groupId&gt;
                  &lt;artifactId&gt;proguard-base&lt;/artifactId&gt;
                  &lt;version&gt;4.10&lt;/version&gt;
                  &lt;scope&gt;runtime&lt;/scope&gt;
                &lt;/dependency&gt;
              &lt;/dependencies&gt;
          &lt;/plugin&gt;
  </code></pre>