<plugin>
  <description>Maven Plugins</description>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>2.2-SNAPSHOT</version>
  <goalPrefix>jar</goalPrefix>
  <isolatedRealm>false</isolatedRealm>
  <inheritedByDefault>true</inheritedByDefault>
  <mojos>
    <mojo>
      <goal>jar</goal>
      <description>Build a JAR from the current project.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>package</phase>
      <implementation>org.apache.maven.plugin.jar.JarMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>archive</name>
          <type>org.apache.maven.archiver.MavenArchiveConfiguration</type>
          <required>false</required>
          <editable>true</editable>
          <description>The maven archive configuration to use. See &lt;a href=&quot;http://maven.apache.org/ref/2.0.4/maven-archiver/apidocs/org/apache/maven/archiver/MavenArchiveConfiguration.html&quot;&gt;the Javadocs for MavenArchiveConfiguration&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>classesDirectory</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>Directory containing the classes.</description>
        </parameter>
        <parameter>
          <name>classifier</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Classifier to add to the artifact generated. If given, the artifact will be an attachment instead.</description>
        </parameter>
        <parameter>
          <name>excludes</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>List of files to exclude, fileset pattern.</description>
        </parameter>
        <parameter>
          <name>finalName</name>
          <alias>jarName</alias>
          <type>java.lang.String</type>
          <required>true</required>
          <editable>true</editable>
          <description>Name of the generated JAR.</description>
        </parameter>
        <parameter>
          <name>forceCreation</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether creating the archive should be forced.</description>
        </parameter>
        <parameter>
          <name>includes</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>List of files to include, fileset pattern.</description>
        </parameter>
        <parameter>
          <name>outputDirectory</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>Directory containing the generated JAR.</description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>false</editable>
          <description>The maven project.</description>
        </parameter>
      </parameters>
      <configuration>
        <classesDirectory implementation="java.io.File">${project.build.outputDirectory}</classesDirectory>
        <outputDirectory implementation="java.io.File">${project.build.directory}</outputDirectory>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <forceCreation implementation="boolean" default-value="false">${jar.forceCreation}</forceCreation>
        <finalName implementation="java.lang.String">${project.build.finalName}</finalName>
      </configuration>
      <requirements>
        <requirement>
          <role>org.apache.maven.project.MavenProjectHelper</role>
          <field-name>projectHelper</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.Archiver</role>
          <role-hint>jar</role-hint>
          <field-name>jarArchiver</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>sign</goal>
      <description>Signs a JAR using jarsigner.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>package</phase>
      <implementation>org.apache.maven.plugin.jar.JarSignMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>alias</name>
          <type>java.lang.String</type>
          <required>true</required>
          <editable>true</editable>
          <description>See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>basedir</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>false</editable>
          <description>Directory containing the generated JAR.</description>
        </parameter>
        <parameter>
          <name>classifier</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Classifier to use for the generated artifact. If not specified, the generated artifact becomes the primary artifact.</description>
        </parameter>
        <parameter>
          <name>finalName</name>
          <alias>jarname</alias>
          <type>java.lang.String</type>
          <required>true</required>
          <editable>true</editable>
          <description>Name of the generated JAR (without classifier and extension).</description>
        </parameter>
        <parameter>
          <name>jarPath</name>
          <alias>jarpath</alias>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>Path of the jar to sign. When specified, the finalName is ignored.</description>
        </parameter>
        <parameter>
          <name>keypass</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>keystore</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>false</editable>
          <description>The maven project.</description>
        </parameter>
        <parameter>
          <name>sigfile</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>signedjar</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;. &lt;p/&gt; Not specifying this argument will sign the jar in-place (your original jar is going to be overwritten).</description>
        </parameter>
        <parameter>
          <name>skip</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Set this to &lt;code&gt;true&lt;/code&gt; to disable signing. Useful to speed up build process in development environment.</description>
        </parameter>
        <parameter>
          <name>storepass</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>type</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>verbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Enable verbose See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>verify</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Automatically verify a jar after signing it. &lt;p/&gt; See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>workingDirectory</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>The working directory in which the jarsigner executable will be run.</description>
        </parameter>
      </parameters>
      <configuration>
        <type implementation="java.lang.String">${type}</type>
        <classifier implementation="java.lang.String">${classifier}</classifier>
        <keystore implementation="java.lang.String">${keystore}</keystore>
        <workingDirectory implementation="java.io.File" default-value="${basedir}">${workingdir}</workingDirectory>
        <keypass implementation="java.lang.String">${keypass}</keypass>
        <alias implementation="java.lang.String">${alias}</alias>
        <jarPath implementation="java.io.File" default-value="${project.build.directory}/${project.build.finalName}.${project.packaging}"/>
        <sigfile implementation="java.lang.String">${sigfile}</sigfile>
        <skip implementation="boolean" default-value="false">${maven.jar.sign.skip}</skip>
        <storepass implementation="java.lang.String">${storepass}</storepass>
        <verbose implementation="boolean" default-value="false">${verbose}</verbose>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <verify implementation="boolean" default-value="false">${verify}</verify>
        <basedir implementation="java.io.File">${project.build.directory}</basedir>
        <signedjar implementation="java.io.File">${signedjar}</signedjar>
        <finalName implementation="java.lang.String">${project.build.finalName}</finalName>
      </configuration>
      <requirements>
        <requirement>
          <role>org.apache.maven.project.MavenProjectHelper</role>
          <field-name>projectHelper</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>sign-verify</goal>
      <description>Checks the signature of a signed jar using jarsigner.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>package</phase>
      <implementation>org.apache.maven.plugin.jar.JarSignVerifyMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>basedir</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>false</editable>
          <description>Directory containing the generated JAR.</description>
        </parameter>
        <parameter>
          <name>checkCerts</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Check certificates. Requires {@link #setVerbose(boolean)}. See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>errorWhenNotSigned</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>When true will make the execute() operation fail, throwing an exception, when verifying a non signed jar Primarily to keep backwards compatibility with existing code, and allow reusing the bean in unattended operations when set to false.</description>
        </parameter>
        <parameter>
          <name>finalName</name>
          <alias>jarname</alias>
          <type>java.lang.String</type>
          <required>true</required>
          <editable>true</editable>
          <description>Name of the generated JAR (without classifier and extension).</description>
        </parameter>
        <parameter>
          <name>jarPath</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>Path of the jar to sign. When specified, the finalName is ignored.</description>
        </parameter>
        <parameter>
          <name>verbose</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Enable verbose See &lt;a href=&quot;http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>workingDirectory</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>The working directory in which the jarsigner executable will be run.</description>
        </parameter>
      </parameters>
      <configuration>
        <jarPath implementation="java.io.File">${jarpath}</jarPath>
        <errorWhenNotSigned implementation="boolean" default-value="true">${errorWhenNotSigned}</errorWhenNotSigned>
        <workingDirectory implementation="java.io.File" default-value="${basedir}">${workingdir}</workingDirectory>
        <verbose implementation="boolean" default-value="false">${verbose}</verbose>
        <checkCerts implementation="boolean" default-value="false">${checkcerts}</checkCerts>
        <basedir implementation="java.io.File">${project.build.directory}</basedir>
        <finalName implementation="java.lang.String">${project.build.finalName}</finalName>
      </configuration>
    </mojo>
    <mojo>
      <goal>test-jar</goal>
      <description>Build a JAR of the test classes for the current project.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>package</phase>
      <implementation>org.apache.maven.plugin.jar.TestJarMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <parameters>
        <parameter>
          <name>archive</name>
          <type>org.apache.maven.archiver.MavenArchiveConfiguration</type>
          <required>false</required>
          <editable>true</editable>
          <description>The maven archive configuration to use. See &lt;a href=&quot;http://maven.apache.org/ref/2.0.4/maven-archiver/apidocs/org/apache/maven/archiver/MavenArchiveConfiguration.html&quot;&gt;the Javadocs for MavenArchiveConfiguration&lt;/a&gt;.</description>
        </parameter>
        <parameter>
          <name>excludes</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>List of files to exclude, fileset pattern.</description>
        </parameter>
        <parameter>
          <name>finalName</name>
          <alias>jarName</alias>
          <type>java.lang.String</type>
          <required>true</required>
          <editable>true</editable>
          <description>Name of the generated JAR.</description>
        </parameter>
        <parameter>
          <name>forceCreation</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether creating the archive should be forced.</description>
        </parameter>
        <parameter>
          <name>includes</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>List of files to include, fileset pattern.</description>
        </parameter>
        <parameter>
          <name>outputDirectory</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>Directory containing the generated JAR.</description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>true</required>
          <editable>false</editable>
          <description>The maven project.</description>
        </parameter>
        <parameter>
          <name>testClassesDirectory</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>Directory containing the test classes.</description>
        </parameter>
      </parameters>
      <configuration>
        <testClassesDirectory implementation="java.io.File">${project.build.testOutputDirectory}</testClassesDirectory>
        <outputDirectory implementation="java.io.File">${project.build.directory}</outputDirectory>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <forceCreation implementation="boolean" default-value="false">${jar.forceCreation}</forceCreation>
        <finalName implementation="java.lang.String">${project.build.finalName}</finalName>
      </configuration>
      <requirements>
        <requirement>
          <role>org.apache.maven.project.MavenProjectHelper</role>
          <field-name>projectHelper</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.archiver.Archiver</role>
          <role-hint>jar</role-hint>
          <field-name>jarArchiver</field-name>
        </requirement>
      </requirements>
    </mojo>
  </mojos>
  <dependencies/>
</plugin>
