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

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

<plugin>
  <name>p2 Extras Plugin</name>
  <description>Additional tools for Tycho</description>
  <groupId>org.eclipse.tycho.extras</groupId>
  <artifactId>tycho-p2-extras-plugin</artifactId>
  <version>1.5.1-SNAPSHOT</version>
  <goalPrefix>tycho-p2-extras</goalPrefix>
  <isolatedRealm>false</isolatedRealm>
  <inheritedByDefault>true</inheritedByDefault>
  <mojos>
    <mojo>
      <goal>compare-version-with-baselines</goal>
      <description>This mojo compares versions the output artifacts of your module build with the version of the
same artifacts available in configured baselines, in order to detect version inconsistencies
(version moved back, or not correctly bumped since last release).

Rules for &quot;illegal&quot; versions are:
&lt;li&gt;version decreased compared to baseline&lt;/li&gt;
&lt;li&gt;same fully-qualified version as baseline, but with different binary content&lt;/li&gt;
&lt;li&gt;same major.minor.micro as baseline, with different qualifier (at least micro should be
increased)&lt;/li&gt;

This mojo doesn&apos;t allow to use qualifier as a versioning segment and will most likely drive to
false-positive errors if your qualifier has means to show versioniterations.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>false</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <phase>verify</phase>
      <implementation>org.eclipse.tycho.plugins.p2.extras.CompareWithBaselineMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>baselines</name>
          <type>java.util.List</type>
          <required>false</required>
          <editable>true</editable>
          <description>A list of p2 repositories to be used as baseline. Those are typically the most recent released
versions of your project.</description>
        </parameter>
        <parameter>
          <name>comparator</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>false</editable>
          <description>The hint of an available {@link ArtifactComparator} component to use for comparison of artifacts
with same version.</description>
        </parameter>
        <parameter>
          <name>execution</name>
          <type>org.apache.maven.plugin.MojoExecution</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>onIllegalVersion</name>
          <type>org.eclipse.tycho.plugins.p2.extras.CompareWithBaselineMojo$ReportBehavior</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>skip</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
      </parameters>
      <configuration>
        <baselines implementation="java.util.List">${baselines}</baselines>
        <comparator implementation="java.lang.String" default-value="bytes"/>
        <execution implementation="org.apache.maven.plugin.MojoExecution">${mojoExecution}</execution>
        <onIllegalVersion implementation="org.eclipse.tycho.plugins.p2.extras.CompareWithBaselineMojo$ReportBehavior" default-value="fail">${onIllegalVersion}</onIllegalVersion>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <skip implementation="boolean">${skip}</skip>
      </configuration>
      <requirements>
        <requirement>
          <role>org.eclipse.tycho.artifactcomparator.ArtifactComparator</role>
          <field-name>artifactComparators</field-name>
        </requirement>
        <requirement>
          <role>org.eclipse.sisu.equinox.EquinoxServiceFactory</role>
          <field-name>equinox</field-name>
        </requirement>
        <requirement>
          <role>org.codehaus.plexus.logging.Logger</role>
          <field-name>plexusLogger</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>mirror</goal>
      <description>Maven plugin front-end for org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication.
Intended as a replacement for the &lt;a href=
&quot;http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_repositorytasks.htm&quot;
&gt;p2.mirror ant task&lt;/a&gt;.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.eclipse.tycho.plugins.p2.extras.MirrorMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>append</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether to append to an existing destination repository. Note that appending an IU which
already exists in the destination repository will cause the mirror operation to fail.</description>
        </parameter>
        <parameter>
          <name>compress</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether to compress the destination repository metadata files (artifacts.xml, content.xml).</description>
        </parameter>
        <parameter>
          <name>currentModuleAsSource</name>
          <type>boolean</type>
          <since>1.1.0</since>
          <required>false</required>
          <editable>true</editable>
          <description>&lt;p&gt;
Whether the current build p2 output should be added as source. Ignored for non-Tycho
packaging types. Ignored if {@link #targetPlatformAsSource} == false;
&lt;/p&gt;</description>
        </parameter>
        <parameter>
          <name>destination</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The destination directory to mirror to.</description>
        </parameter>
        <parameter>
          <name>filter</name>
          <type>java.util.Map</type>
          <required>false</required>
          <editable>true</editable>
          <description>Filter properties. In particular, a platform filter can be specified by using keys
&lt;code&gt;osgi.os, osgi.ws, osgi.arch&lt;/code&gt;.</description>
        </parameter>
        <parameter>
          <name>followOnlyFilteredRequirements</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Follow only requirements which match the filter specified.</description>
        </parameter>
        <parameter>
          <name>followStrictOnly</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Set to true if only strict dependencies should be followed. A strict dependency is defined by
a version range only including exactly one version (e.g. [1.0.0.v2009, 1.0.0.v2009]). In
particular, plugins/features included in a feature are normally required via a strict
dependency from the feature to the included plugin/feature.</description>
        </parameter>
        <parameter>
          <name>ignoreErrors</name>
          <type>boolean</type>
          <since>1.1.0</since>
          <required>false</required>
          <editable>true</editable>
          <description>&lt;p&gt;
If set to true, mirroring continues to run in the event of an error during the mirroring
process and will just log an info message.
&lt;/p&gt;</description>
        </parameter>
        <parameter>
          <name>includeFeatures</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether or not to include features.</description>
        </parameter>
        <parameter>
          <name>includeNonGreedy</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether or not to follow non-greedy requirements.</description>
        </parameter>
        <parameter>
          <name>includeOptional</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether or not to follow optional requirements.</description>
        </parameter>
        <parameter>
          <name>includePacked</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether or not to include pack200 artifacts.</description>
        </parameter>
        <parameter>
          <name>ius</name>
          <type>java.util.List</type>
          <required>false</required>
          <editable>true</editable>
          <description>(Optional) Which IUs to mirror. If omitted, all IUs available in the source repositories will
be mirrored. An IU must specify an id and may specify a version. If version is omitted, the
latest available version will be queried. By default, IUs required by the specified IUs will
also be mirrored. See also {@link #followStrictOnly}, {@link #followOnlyFilteredRequirements}
, {@link #includeOptional}, {@link #includeNonGreedy}, {@link #includeFeatures}.</description>
        </parameter>
        <parameter>
          <name>keepNonXzIndexFiles</name>
          <type>boolean</type>
          <since>0.25.0</since>
          <required>false</required>
          <editable>true</editable>
          <description>&lt;p&gt;
If {@link #xzCompress} is &lt;code&gt;true&lt;/code&gt;, whether jar or xml index files should be kept in
addition to XZ-compressed index files. This fallback provides backwards compatibility for
pre-Mars p2 clients which cannot read XZ-compressed index files.
&lt;/p&gt;</description>
        </parameter>
        <parameter>
          <name>latestVersionOnly</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Set to &lt;code&gt;true&lt;/code&gt; to filter the resulting set of IUs to only include the latest
version of each Installable Unit only. By default, all versions satisfying dependencies are
included.</description>
        </parameter>
        <parameter>
          <name>mirrorMetadataOnly</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Whether to mirror metadata only (no artifacts).</description>
        </parameter>
        <parameter>
          <name>name</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The target repository name.</description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>session</name>
          <type>org.apache.maven.execution.MavenSession</type>
          <required>false</required>
          <editable>false</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>source</name>
          <type>java.util.List</type>
          <required>false</required>
          <editable>true</editable>
          <description>Source repositori(es) to mirror from.</description>
        </parameter>
        <parameter>
          <name>targetPlatformAsSource</name>
          <type>boolean</type>
          <since>1.1.0</since>
          <required>false</required>
          <editable>true</editable>
          <description>&lt;p&gt;
Whether to add the target-platform content as a source. Ignored for non-Tycho packaging
types.
&lt;/p&gt;</description>
        </parameter>
        <parameter>
          <name>xzCompress</name>
          <type>boolean</type>
          <since>0.25.0</since>
          <required>false</required>
          <editable>true</editable>
          <description>&lt;p&gt;
Add XZ-compressed repository index files. XZ offers better compression ratios esp. for highly
redundant file content.
&lt;/p&gt;</description>
        </parameter>
      </parameters>
      <configuration>
        <append implementation="boolean" default-value="true"/>
        <compress implementation="boolean" default-value="true"/>
        <currentModuleAsSource implementation="boolean" default-value="true"/>
        <destination implementation="java.io.File" default-value="${project.build.directory}/repository"/>
        <followOnlyFilteredRequirements implementation="boolean" default-value="false"/>
        <followStrictOnly implementation="boolean" default-value="false"/>
        <ignoreErrors implementation="boolean" default-value="false"/>
        <includeFeatures implementation="boolean" default-value="true"/>
        <includeNonGreedy implementation="boolean" default-value="true"/>
        <includeOptional implementation="boolean" default-value="true"/>
        <includePacked implementation="boolean" default-value="true"/>
        <keepNonXzIndexFiles implementation="boolean" default-value="true"/>
        <latestVersionOnly implementation="boolean" default-value="false"/>
        <mirrorMetadataOnly implementation="boolean" default-value="false"/>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <session implementation="org.apache.maven.execution.MavenSession">${session}</session>
        <targetPlatformAsSource implementation="boolean" default-value="false"/>
        <xzCompress implementation="boolean" default-value="true"/>
      </configuration>
      <requirements>
        <requirement>
          <role>org.eclipse.sisu.equinox.EquinoxServiceFactory</role>
          <field-name>p2</field-name>
        </requirement>
        <requirement>
          <role>org.eclipse.tycho.core.TychoProject</role>
          <field-name>projectTypes</field-name>
        </requirement>
        <requirement>
          <role>org.eclipse.tycho.p2.facade.RepositoryReferenceTool</role>
          <field-name>repositoryReferenceTool</field-name>
        </requirement>
      </requirements>
    </mojo>
    <mojo>
      <goal>publish-features-and-bundles</goal>
      <description>This goal invokes the feature and bundle publisher on a folder.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.eclipse.tycho.plugins.p2.extras.PublishFeaturesAndBundlesMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>additionalArgs</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Optional line of additional arguments passed to the p2 application launcher.</description>
        </parameter>
        <parameter>
          <name>append</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Optional flag to append artifacts to an existing repository</description>
        </parameter>
        <parameter>
          <name>artifactRepositoryLocation</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Location of the artifact repository to write. Note: The AssembleRepositoryMojo of
tycho-p2-repository-plugin will only work with the predefined default
${project.build.directory}/repository.</description>
        </parameter>
        <parameter>
          <name>compress</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Create compressed jars rather than plain xml</description>
        </parameter>
        <parameter>
          <name>forkedProcessTimeoutInSeconds</name>
          <type>int</type>
          <required>false</required>
          <editable>true</editable>
          <description>Kill the forked process after a certain number of seconds. If set to 0, wait forever for the
process, never timing out.</description>
        </parameter>
        <parameter>
          <name>metadataRepositoryLocation</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Location of the metadata repository to write. The AssembleRepositoryMojo of
tycho-p2-repository-plugin will only work with the predefined default
${project.build.directory}/repository.</description>
        </parameter>
        <parameter>
          <name>project</name>
          <type>org.apache.maven.project.MavenProject</type>
          <required>false</required>
          <editable>true</editable>
          <description></description>
        </parameter>
        <parameter>
          <name>publishArtifacts</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Publish artifacts to repository</description>
        </parameter>
        <parameter>
          <name>reusePack200Files</name>
          <type>boolean</type>
          <required>false</required>
          <editable>true</editable>
          <description>Optional flag to include .pack.gz files</description>
        </parameter>
        <parameter>
          <name>sourceLocation</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Location with features and/or plugins directories on which the features and bundles publisher
shall be called.</description>
        </parameter>
      </parameters>
      <configuration>
        <append implementation="boolean" default-value="false"/>
        <artifactRepositoryLocation implementation="java.lang.String" default-value="${project.build.directory}/repository"/>
        <compress implementation="boolean" default-value="true"/>
        <forkedProcessTimeoutInSeconds implementation="int" default-value="0">${p2.timeout}</forkedProcessTimeoutInSeconds>
        <metadataRepositoryLocation implementation="java.lang.String" default-value="${project.build.directory}/repository"/>
        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
        <publishArtifacts implementation="boolean" default-value="true"/>
        <reusePack200Files implementation="boolean" default-value="false"/>
        <sourceLocation implementation="java.lang.String" default-value="${project.build.directory}/source"/>
      </configuration>
      <requirements>
        <requirement>
          <role>org.eclipse.sisu.equinox.launching.internal.P2ApplicationLauncher</role>
          <field-name>launcher</field-name>
        </requirement>
      </requirements>
    </mojo>
  </mojos>
  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
      <type>jar</type>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-p2-facade</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160539-1</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-component-annotations</artifactId>
      <type>jar</type>
      <version>1.7.1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-core</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160441-1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <type>jar</type>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-archiver</artifactId>
      <type>jar</type>
      <version>3.4</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-io</artifactId>
      <type>jar</type>
      <version>2.7.1</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <type>jar</type>
      <version>2.5</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-compress</artifactId>
      <type>jar</type>
      <version>1.18</version>
    </dependency>
    <dependency>
      <groupId>org.iq80.snappy</groupId>
      <artifactId>snappy</artifactId>
      <type>jar</type>
      <version>0.4</version>
    </dependency>
    <dependency>
      <groupId>org.tukaani</groupId>
      <artifactId>xz</artifactId>
      <type>jar</type>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.platform</groupId>
      <artifactId>org.eclipse.osgi.compatibility.state</artifactId>
      <type>jar</type>
      <version>1.1.600</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-metadata-model</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160420-1</version>
    </dependency>
    <dependency>
      <groupId>de.pdark</groupId>
      <artifactId>decentxml</artifactId>
      <type>jar</type>
      <version>1.3</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-embedder-api</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160423-1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>org.eclipse.tycho.embedder.shared</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160116-1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>sisu-equinox-embedder</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160413-1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.platform</groupId>
      <artifactId>org.eclipse.osgi</artifactId>
      <type>jar</type>
      <version>3.15.0</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>org.eclipse.tycho.p2.resolver.shared</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160126-1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>org.eclipse.tycho.p2.tools.shared</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160127-1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-artifactcomparator</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160704-1</version>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm-tree</artifactId>
      <type>jar</type>
      <version>7.1</version>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm</artifactId>
      <type>jar</type>
      <version>7.1</version>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm-util</artifactId>
      <type>jar</type>
      <version>7.1</version>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm-analysis</artifactId>
      <type>jar</type>
      <version>7.1</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <type>jar</type>
      <version>3.0.24</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <type>jar</type>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-settings-builder</artifactId>
      <type>jar</type>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-repository-metadata</artifactId>
      <type>jar</type>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-aether-provider</artifactId>
      <type>jar</type>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-impl</artifactId>
      <type>jar</type>
      <version>1.7</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-api</artifactId>
      <type>jar</type>
      <version>1.7</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-util</artifactId>
      <type>jar</type>
      <version>1.7</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-classworlds</artifactId>
      <type>jar</type>
      <version>2.2.3</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.plexus</groupId>
      <artifactId>plexus-sec-dispatcher</artifactId>
      <type>jar</type>
      <version>1.3</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>org.eclipse.tycho.core.shared</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160122-1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>sisu-equinox-launching</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160444-1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>sisu-equinox-api</artifactId>
      <type>jar</type>
      <version>1.5.1-20191024.160408-1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-exec</artifactId>
      <type>jar</type>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.plexus</groupId>
      <artifactId>plexus-cipher</artifactId>
      <type>jar</type>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.sisu</groupId>
      <artifactId>sisu-inject-plexus</artifactId>
      <type>jar</type>
      <version>1.4.2</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.sisu</groupId>
      <artifactId>sisu-inject-bean</artifactId>
      <type>jar</type>
      <version>1.4.2</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.sisu</groupId>
      <artifactId>sisu-guice</artifactId>
      <type>jar</type>
      <version>2.1.7</version>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-spi</artifactId>
      <type>jar</type>
      <version>1.7</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-settings</artifactId>
      <type>jar</type>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-interpolation</artifactId>
      <type>jar</type>
      <version>1.14</version>
    </dependency>
  </dependencies>
</plugin>