Plugin Documentation

Goals available for this plugin:

Goal Description
proguard:liberate 'liberates' the jar artifact, in advance of its creation (by the jar plug-in), from specified library dependencies which are typically large and only sparsely populated with the classes which are actually required. This is achieved by copying those classes, together with the contents of the project's output directory, to the liberatedClassesDirectory[1], and specifying this as the jar:jar goal's classesDirectory. Other dependencies which also depend on the above ones may also be specified, so that the classes which they themselves require will also be included.

[1] Prior to version 1.1, the classes were written to the project's output directory itself.

System Requirements

The following specifies the minimum requirements to run this Maven plugin:

Maven 2.0
JDK 1.5
Memory No minimum requirement.
Disk Space No minimum requirement.

Usage

You should specify the version in your project's plugin configuration:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.lafros.maven.plugins</groupId>
          <artifactId>maven-proguard-plugin</artifactId>
          <version>1.2</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>com.lafros.maven.plugins</groupId>
        <artifactId>maven-proguard-plugin</artifactId>
        <version>1.2</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

For more information, see "Guide to Configuring Plug-ins"