<?xml version="1.0" encoding="UTF-8"?>

<!-- Generated by maven-plugin-tools 3.6 -->

<plugin>
  <name>API Signature Test Plugin</name>
  <description>Signature test to compare APIs of two versions of JARs of the same library.</description>
  <groupId>org.netbeans.tools</groupId>
  <artifactId>sigtest-maven-plugin</artifactId>
  <version>1.4</version>
  <goalPrefix>sigtest</goalPrefix>
  <mojos>
    <mojo>
      <goal>check</goal>
      <description>Mojo to check .class files against an existing .sigtest file.
&lt;plugin&gt;
&lt;groupId&gt;org.netbeans.tools&lt;/groupId&gt;
&lt;artifactId&gt;sigtest-maven-plugin&lt;/artifactId&gt;
&lt;version&gt;1.3&lt;/version&gt;
&lt;executions&gt;
&lt;execution&gt;
&lt;goals&gt;
&lt;goal&gt;check&lt;/goal&gt;
&lt;/goals&gt;
&lt;/execution&gt;
&lt;/executions&gt;
&lt;configuration&gt;
&lt;packages&gt;org.yourcompany.app.api,org.yourcompany.help.api&lt;/packages&gt;
&lt;releaseVersion&gt;1.3&lt;/releaseVersion&gt;
&lt;release&gt;8&lt;/release&gt; &lt;!-- specify version of JDK API to use 6,7,8,...15 --&gt;
&lt;/configuration&gt;
&lt;/plugin&gt;
</description>
      <requiresDependencyResolution>test</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>test</phase>
      <implementation>org.netbeans.apitest.SigtestCheck</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>action</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>classes</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>failOnError</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>packages</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>release</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>releaseVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>report</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>sigfile</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
      </parameters>
      <configuration>
        <action implementation="java.lang.String" default-value="check">${sigtest.check}</action>
        <classes implementation="java.io.File" default-value="${project.build.directory}/classes"/>
        <failOnError implementation="boolean" default-value="true">${sigtest.fail}</failOnError>
        <release implementation="java.lang.String">${maven.compiler.release}</release>
        <releaseVersion implementation="java.lang.String">${sigtest.releaseVersion}</releaseVersion>
        <report implementation="java.io.File" default-value="${project.build.directory}/surefire-reports/sigtest/TEST-${project.build.finalName}.xml"/>
      </configuration>
    </mojo>
    <mojo>
      <goal>compare</goal>
      <description>Mojo to compare .class files with an existing .sigtest file.</description>
      <requiresDependencyResolution>test</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>package</phase>
      <implementation>org.netbeans.apitest.SigtestCompare</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>action</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>classes</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>failOnError</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>packages</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>release</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>releaseVersion</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>report</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>sigfile</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
      </parameters>
      <configuration>
        <action implementation="java.lang.String" default-value="check">${sigtest.check}</action>
        <classes implementation="java.io.File" default-value="${project.build.outputDirectory}"/>
        <failOnError implementation="boolean" default-value="true">${sigtest.fail}</failOnError>
        <release implementation="java.lang.String">${maven.compiler.release}</release>
        <releaseVersion implementation="java.lang.String">${sigtest.releaseVersion}</releaseVersion>
        <report implementation="java.io.File" default-value="${project.build.directory}/surefire-reports/sigtest/TEST-${project.build.finalName}.xml"/>
        <sigfile implementation="java.io.File" default-value="${project.build.directory}/${project.build.finalName}.sigfile"/>
      </configuration>
    </mojo>
    <mojo>
      <goal>generate</goal>
      <description>Mojo to generate a .sigtest file.
&lt;plugin&gt;
&lt;groupId&gt;org.netbeans.tools&lt;/groupId&gt;
&lt;artifactId&gt;sigtest-maven-plugin&lt;/artifactId&gt;
&lt;version&gt;1.4&lt;/version&gt;
&lt;executions&gt;
&lt;execution&gt;
&lt;goals&gt;
&lt;goal&gt;generate&lt;/goal&gt;
&lt;/goals&gt;
&lt;/execution&gt;
&lt;/executions&gt;
&lt;configuration&gt;
&lt;release&gt;8&lt;/release&gt; &lt;!-- specify version of JDK API to use 6,7,8,...15 --&gt;
&lt;packages&gt;org.yourcompany.app.api,org.yourcompany.help.api&lt;/packages&gt;
&lt;/configuration&gt;
&lt;/plugin&gt;
</description>
      <requiresDependencyResolution>compile</requiresDependencyResolution>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>process-classes</phase>
      <implementation>org.netbeans.apitest.SigtestGenerate</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>attach</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>attach the generated file with extension .sigfile to the main artifact for deployment</description>
        </parameter>
        <parameter>
          <name>classes</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>packages</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>release</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>sigfile</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
      </parameters>
      <configuration>
        <attach implementation="boolean" default-value="true"/>
        <classes implementation="java.io.File" default-value="${project.build.outputDirectory}"/>
        <release implementation="java.lang.String">${maven.compiler.release}</release>
        <sigfile implementation="java.io.File" default-value="${project.build.directory}/${project.build.finalName}.sigfile"/>
      </configuration>
    </mojo>
  </mojos>
</plugin>