<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-site/xdoc/mirror-mojo.xml at 2022-02-28
 | Rendered using Apache Maven Fluido Skin 1.10.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
    <title>Tycho p2 Extras Plugin &#x2013; tycho-p2-extras:mirror</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.10.0.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.10.0.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><div id="bannerLeft"><h2>Tycho p2 Extras Plugin</h2>
</div>
</div>
          <div class="pull-right"></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2022-02-28<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.7.0</li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header">Tycho</li>
    <li><a href="../../index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li><a href="../../target-platform-configuration/plugin-info.html" title="Target Platform Configuration"><span class="none"></span>Target Platform Configuration</a></li>
    <li><a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin"><span class="none"></span>Compiler Plugin</a></li>
    <li><a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin"><span class="none"></span>Packaging Plugin</a></li>
    <li><a href="../../tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin"><span class="none"></span>Surefire Plugin</a></li>
    <li><a href="../../tycho-p2/tycho-p2-publisher-plugin/plugin-info.html" title="p2 Publisher Plugin"><span class="none"></span>p2 Publisher Plugin</a></li>
    <li><a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="p2 Repository Plugin"><span class="none"></span>p2 Repository Plugin</a></li>
    <li><a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="p2 Director Plugin"><span class="none"></span>p2 Director Plugin</a></li>
    <li><a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin"><span class="none"></span>Source Plugin</a></li>
    <li><a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin"><span class="none"></span>Versions Plugin</a></li>
    <li><a href="../../tycho-pomgenerator-plugin/plugin-info.html" title="POM Generator Plugin"><span class="none"></span>POM Generator Plugin</a></li>
    <li><a href="" title="Properties"><span class="icon-chevron-down"></span>Properties</a>
     <ul class="nav nav-list">
      <li><a href="../../BuildProperties.html" title="Build Properties"><span class="none"></span>Build Properties</a></li>
      <li><a href="../../TychoProperties.html" title="Tycho Properties"><span class="none"></span>Tycho Properties</a></li>
     </ul></li>
   <li class="nav-header">Tycho Extras</li>
    <li><a href="../../tycho-extras/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li><a href="../../tycho-extras/tycho-p2-extras-plugin/plugin-info.html" title="P2 Extras Plugin"><span class="none"></span>P2 Extras Plugin</a></li>
    <li><a href="../../tycho-extras/target-platform-validation-plugin/plugin-info.html" title="Target Platform Validation Plugin"><span class="none"></span>Target Platform Validation Plugin</a></li>
    <li><a href="../../tycho-extras/tycho-eclipserun-plugin/plugin-info.html" title="Eclipserun Plugin"><span class="none"></span>Eclipserun Plugin</a></li>
    <li><a href="../../tycho-extras/tycho-document-bundle-plugin/plugin-info.html" title="Document Bundle Plugin"><span class="none"></span>Document Bundle Plugin</a></li>
    <li><a href="../../tycho-extras/tycho-source-feature-plugin/plugin-info.html" title="Source Feature Generation Plugin"><span class="none"></span>Source Feature Generation Plugin</a></li>
    <li><a href="../../tycho-extras/tycho-pack200/index.html" title="Pack200 Plugins"><span class="icon-chevron-down"></span>Pack200 Plugins</a>
     <ul class="nav nav-list">
      <li><a href="../../tycho-extras/tycho-pack200/tycho-pack200a-plugin/plugin-info.html" title="Normalization Plugin"><span class="none"></span>Normalization Plugin</a></li>
      <li><a href="../../tycho-extras/tycho-pack200/tycho-pack200b-plugin/plugin-info.html" title="Pack Plugin"><span class="none"></span>Pack Plugin</a></li>
     </ul></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
            </div>
          </div>
        </header>
        <main id="bodyColumn"  class="span10" >

  
    <section>
<h2><a name="tycho-p2-extras:mirror"></a>tycho-p2-extras:mirror</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.eclipse.tycho.extras:tycho-p2-extras-plugin:2.7.0:mirror</p>
      
<p><b>Description</b>:</p>
      
<div>Maven plugin front-end for
org.eclipse.equinox.p2.internal.repository.tools.MirrorApplication.
Intended as a replacement for the <a class="externalLink" href="https://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_repositorytasks.htm">p2.mirror
ant task</a>.</div>
      
<p><b>Attributes</b>:</p>
      
<ul>
        
<li>Requires a Maven project to be executed.</li>
        
<li>The goal is not marked as thread-safe and thus does not support parallel builds.</li>
      </ul>
      <section>
<h3><a name="Optional_Parameters"></a>Optional Parameters</h3>
        
<table class="table table-striped" border="0">
          
<tr class="a">
            
<th>Name</th>
            
<th>Type</th>
            
<th>Since</th>
            
<th>Description</th>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#append">&lt;append&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>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.<br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#compress">&lt;compress&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether to compress the destination repository metadata files
(artifacts.xml, content.xml).<br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#currentModuleAsSource">&lt;currentModuleAsSource&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>1.1.0</code></td>
            
<td>
<p>Whether the current build p2 output should be added as source.
Ignored for non-Tycho packaging types. Ignored if
<code>targetPlatformAsSource</code> == false;</p><br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#destination">&lt;destination&gt;</a></code></td>
            
<td><code>File</code></td>
            
<td><code>-</code></td>
            
<td>The destination directory to mirror to.<br /><b>Default value is</b>: <code>${project.build.directory}/repository</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#filter">&lt;filter&gt;</a></code></td>
            
<td><code>Map</code></td>
            
<td><code>-</code></td>
            
<td>Filter properties. In particular, a platform filter can be
specified by using keys <code>osgi.os, osgi.ws, osgi.arch</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#followOnlyFilteredRequirements">&lt;followOnlyFilteredRequirements&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Follow only requirements which match the filter specified.<br /><b>Default value is</b>: <code>false</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#followStrictOnly">&lt;followStrictOnly&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>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.<br /><b>Default value is</b>: <code>false</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#ignoreErrors">&lt;ignoreErrors&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>1.1.0</code></td>
            
<td>
<p>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.</p><br /><b>Default value is</b>: <code>false</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#includeFeatures">&lt;includeFeatures&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether or not to include features.<br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#includeNonGreedy">&lt;includeNonGreedy&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether or not to follow non-greedy requirements.<br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#includeOptional">&lt;includeOptional&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether or not to follow optional requirements.<br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#includePacked">&lt;includePacked&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether or not to include pack200 artifacts.<br /><b>Default value is</b>: <code>false</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#ius">&lt;ius&gt;</a></code></td>
            
<td><code>List</code></td>
            
<td><code>-</code></td>
            
<td>(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
<code>followStrictOnly</code>,
<code>followOnlyFilteredRequirements</code> ,
<code>includeOptional</code>, <code>includeNonGreedy</code>,
<code>includeFeatures</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#keepNonXzIndexFiles">&lt;keepNonXzIndexFiles&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>0.25.0</code></td>
            
<td>
<p>If <code>xzCompress</code> is <code>true</code>, 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.</p><br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#latestVersionOnly">&lt;latestVersionOnly&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Set to <code>true</code> 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.<br /><b>Default value is</b>: <code>false</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#mirrorMetadataOnly">&lt;mirrorMetadataOnly&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether to mirror metadata only (no artifacts).<br /><b>Default value is</b>: <code>false</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#name">&lt;name&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>The target repository name.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#source">&lt;source&gt;</a></code></td>
            
<td><code>List</code></td>
            
<td><code>-</code></td>
            
<td>Source repositori(es) to mirror from.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#targetPlatformAsSource">&lt;targetPlatformAsSource&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>1.1.0</code></td>
            
<td>
<p>Whether to add the target-platform content as a source. Ignored
for non-Tycho packaging types.</p><br /><b>Default value is</b>: <code>false</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#xzCompress">&lt;xzCompress&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>0.25.0</code></td>
            
<td>
<p>Add XZ-compressed repository index files. XZ offers better
compression ratios esp. for highly redundant file content.</p><br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
        </table>
      </section>
      <section>
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
        <section>
<h4><a name="a.3Cappend.3E"></a><b><a name="append">&lt;append&gt;</a></b></h4>
        
<div>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.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Ccompress.3E"></a><b><a name="compress">&lt;compress&gt;</a></b></h4>
        
<div>Whether to compress the destination repository metadata files
(artifacts.xml, content.xml).</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CcurrentModuleAsSource.3E"></a><b><a name="currentModuleAsSource">&lt;currentModuleAsSource&gt;</a></b></h4>
        
<div>
<p>Whether the current build p2 output should be added as source.
Ignored for non-Tycho packaging types. Ignored if
<code>targetPlatformAsSource</code> == false;</p></div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Since</b>: <code>1.1.0</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cdestination.3E"></a><b><a name="destination">&lt;destination&gt;</a></b></h4>
        
<div>The destination directory to mirror to.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.io.File</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>${project.build.directory}/repository</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cfilter.3E"></a><b><a name="filter">&lt;filter&gt;</a></b></h4>
        
<div>Filter properties. In particular, a platform filter can be
specified by using keys <code>osgi.os, osgi.ws, osgi.arch</code>.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.Map</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CfollowOnlyFilteredRequirements.3E"></a><b><a name="followOnlyFilteredRequirements">&lt;followOnlyFilteredRequirements&gt;</a></b></h4>
        
<div>Follow only requirements which match the filter specified.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CfollowStrictOnly.3E"></a><b><a name="followStrictOnly">&lt;followStrictOnly&gt;</a></b></h4>
        
<div>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.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CignoreErrors.3E"></a><b><a name="ignoreErrors">&lt;ignoreErrors&gt;</a></b></h4>
        
<div>
<p>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.</p></div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Since</b>: <code>1.1.0</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CincludeFeatures.3E"></a><b><a name="includeFeatures">&lt;includeFeatures&gt;</a></b></h4>
        
<div>Whether or not to include features.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CincludeNonGreedy.3E"></a><b><a name="includeNonGreedy">&lt;includeNonGreedy&gt;</a></b></h4>
        
<div>Whether or not to follow non-greedy requirements.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CincludeOptional.3E"></a><b><a name="includeOptional">&lt;includeOptional&gt;</a></b></h4>
        
<div>Whether or not to follow optional requirements.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CincludePacked.3E"></a><b><a name="includePacked">&lt;includePacked&gt;</a></b></h4>
        
<div>Whether or not to include pack200 artifacts.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cius.3E"></a><b><a name="ius">&lt;ius&gt;</a></b></h4>
        
<div>(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
<code>followStrictOnly</code>,
<code>followOnlyFilteredRequirements</code> ,
<code>includeOptional</code>, <code>includeNonGreedy</code>,
<code>includeFeatures</code>.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.List</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CkeepNonXzIndexFiles.3E"></a><b><a name="keepNonXzIndexFiles">&lt;keepNonXzIndexFiles&gt;</a></b></h4>
        
<div>
<p>If <code>xzCompress</code> is <code>true</code>, 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.</p></div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Since</b>: <code>0.25.0</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3ClatestVersionOnly.3E"></a><b><a name="latestVersionOnly">&lt;latestVersionOnly&gt;</a></b></h4>
        
<div>Set to <code>true</code> 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.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CmirrorMetadataOnly.3E"></a><b><a name="mirrorMetadataOnly">&lt;mirrorMetadataOnly&gt;</a></b></h4>
        
<div>Whether to mirror metadata only (no artifacts).</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cname.3E"></a><b><a name="name">&lt;name&gt;</a></b></h4>
        
<div>The target repository name.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Csource.3E"></a><b><a name="source">&lt;source&gt;</a></b></h4>
        
<div>Source repositori(es) to mirror from.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.List</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CtargetPlatformAsSource.3E"></a><b><a name="targetPlatformAsSource">&lt;targetPlatformAsSource&gt;</a></b></h4>
        
<div>
<p>Whether to add the target-platform content as a source. Ignored
for non-Tycho packaging types.</p></div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Since</b>: <code>1.1.0</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CxzCompress.3E"></a><b><a name="xzCompress">&lt;xzCompress&gt;</a></b></h4>
        
<div>
<p>Add XZ-compressed repository index files. XZ offers better
compression ratios esp. for highly redundant file content.</p></div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Since</b>: <code>0.25.0</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul>
      </section></section>
    </section>
  

        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>&#169;      2008&#x2013;2022
<a href="http://www.eclipse.org/">Eclipse Foundation</a>
</p>
        </div>
      </div>
    </footer>
<script>
	if(anchors) {
	  anchors.add();
	}
</script>
  </body>
</html>
