<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2020-04-18 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20200418" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Sling OSGi Feature Maven Plugin &#x2013; slingfeature:repository</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
      <script type="text/javascript" src="./js/apache-maven-fluido-1.6.min.js"></script>
      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><div id="bannerLeft"><h2>Apache Sling OSGi Feature Maven 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: 2020-04-18<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.2.0</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">Overview</li>
    <li><a href="index.html" title="Introduction"><span class="none"></span>Introduction</a>  </li>
    <li><a href="plugin-info.html" title="Goals"><span class="none"></span>Goals</a>  </li>
          <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a>  </li>
    <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-right"></span>Project Reports</a>  </li>
  </ul>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <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>
        </div>
        <div id="bodyColumn"  class="span10" >

  
    <div class="section">
<h2><a name="slingfeature:repository"></a>slingfeature:repository</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.apache.sling:slingfeature-maven-plugin:1.2.0:repository</p>
      
<p><b>Description</b>:</p>
      
<div>Create a Maven repository structure from the referenced artifacts
in the features.</div>
      
<p><b>Attributes</b>:</p>
      
<ul>
        
<li>Requires a Maven project to be executed.</li>
        
<li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
        
<li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>package</tt>.</li>
      </ul>
      
<div class="section">
<h3><a name="Required_Parameters"></a>Required 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><tt><a href="#features">&lt;features&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>Directory containing feature files<br /><b>Default value is</b>: <tt>src/main/features</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#testFeatures">&lt;testFeatures&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>Directory containing test feature files.<br /><b>Default value is</b>: <tt>src/test/features</tt>.<br /></td>
          </tr>
        </table>
      </div>
      
<div class="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><tt><a href="#featuresExcludes">&lt;featuresExcludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of excludes for the feature files. Feature
files excluded by this configuration are not processed at all.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#featuresIncludes">&lt;featuresIncludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of includes for the feature files in the
configured directory. Only feature files specified by this include
are processed.<br /><b>Default value is</b>: <tt>**/*.json</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#generatedFeatures">&lt;generatedFeatures&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>Directory containing generated feature files<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#generatedFeaturesExcludes">&lt;generatedFeaturesExcludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of excludes for the generated feature files.
Feature files excluded by this configuration are not processed at
all.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#generatedFeaturesIncludes">&lt;generatedFeaturesIncludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of includes for the generated feature files in
the configured directory. Only feature files specified by this
include are processed.<br /><b>Default value is</b>: <tt>**/*.json</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#jarStartOrder">&lt;jarStartOrder&gt;</a></tt></td>
            
<td><tt>int</tt></td>
            
<td><tt>-</tt></td>
            
<td>The start level for the attached jar/bundle.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#repositories">&lt;repositories&gt;</a></tt></td>
            
<td><tt>List</tt></td>
            
<td><tt>-</tt></td>
            
<td>(no description)<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#repositoryDir">&lt;repositoryDir&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The directory to store the artifacts into.<br /><b>Default value is</b>: <tt>artifacts</tt>.<br /><b>User property is</b>: <tt>repositoryDir</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#skipAddFeatureDependencies">&lt;skipAddFeatureDependencies&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the artifacts from the feature are not
as dependencies to the project.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#skipAddJarToFeature">&lt;skipAddJarToFeature&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the main jar artifact is not added to
the feature.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#skipAddJarToTestFeature">&lt;skipAddJarToTestFeature&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the main jar artifact is not added to
the test feature.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#skipAddTestFeatureDependencies">&lt;skipAddTestFeatureDependencies&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the artifacts from the test feature are
not as dependencies to the project.<br /><b>Default value is</b>: <tt>true</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#testFeaturesExcludes">&lt;testFeaturesExcludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of excludes for the test features.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#testFeaturesIncludes">&lt;testFeaturesIncludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of includes for the test features.<br /><b>Default value is</b>: <tt>**/*.json</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#validateFeatures">&lt;validateFeatures&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the features are validated against the
JSON schema.<br /><b>Default value is</b>: <tt>true</tt>.<br /></td>
          </tr>
        </table>
      </div>
      
<div class="section">
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
        
<div class="section">
<h4><a name="a.3Cfeatures.3E"></a><b><a name="features">&lt;features&gt;</a></b></h4>
        
<div>Directory containing feature files</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>Yes</tt></li>
          
<li><b>Default</b>: <tt>src/main/features</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CfeaturesExcludes.3E"></a><b><a name="featuresExcludes">&lt;featuresExcludes&gt;</a></b></h4>
        
<div>Comma separated list of excludes for the feature files. Feature
files excluded by this configuration are not processed at all.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CfeaturesIncludes.3E"></a><b><a name="featuresIncludes">&lt;featuresIncludes&gt;</a></b></h4>
        
<div>Comma separated list of includes for the feature files in the
configured directory. Only feature files specified by this include
are processed.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>**/*.json</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CgeneratedFeatures.3E"></a><b><a name="generatedFeatures">&lt;generatedFeatures&gt;</a></b></h4>
        
<div>Directory containing generated feature files</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CgeneratedFeaturesExcludes.3E"></a><b><a name="generatedFeaturesExcludes">&lt;generatedFeaturesExcludes&gt;</a></b></h4>
        
<div>Comma separated list of excludes for the generated feature files.
Feature files excluded by this configuration are not processed at
all.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CgeneratedFeaturesIncludes.3E"></a><b><a name="generatedFeaturesIncludes">&lt;generatedFeaturesIncludes&gt;</a></b></h4>
        
<div>Comma separated list of includes for the generated feature files in
the configured directory. Only feature files specified by this
include are processed.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>**/*.json</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CjarStartOrder.3E"></a><b><a name="jarStartOrder">&lt;jarStartOrder&gt;</a></b></h4>
        
<div>The start level for the attached jar/bundle.</div>
        
<ul>
          
<li><b>Type</b>: <tt>int</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3Crepositories.3E"></a><b><a name="repositories">&lt;repositories&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.util.List</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CrepositoryDir.3E"></a><b><a name="repositoryDir">&lt;repositoryDir&gt;</a></b></h4>
        
<div>The directory to store the artifacts into.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>repositoryDir</tt></li>
          
<li><b>Default</b>: <tt>artifacts</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CskipAddFeatureDependencies.3E"></a><b><a name="skipAddFeatureDependencies">&lt;skipAddFeatureDependencies&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the artifacts from the feature are not
as dependencies to the project.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CskipAddJarToFeature.3E"></a><b><a name="skipAddJarToFeature">&lt;skipAddJarToFeature&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the main jar artifact is not added to
the feature.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CskipAddJarToTestFeature.3E"></a><b><a name="skipAddJarToTestFeature">&lt;skipAddJarToTestFeature&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the main jar artifact is not added to
the test feature.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CskipAddTestFeatureDependencies.3E"></a><b><a name="skipAddTestFeatureDependencies">&lt;skipAddTestFeatureDependencies&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the artifacts from the test feature are
not as dependencies to the project.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>true</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CtestFeatures.3E"></a><b><a name="testFeatures">&lt;testFeatures&gt;</a></b></h4>
        
<div>Directory containing test feature files.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>Yes</tt></li>
          
<li><b>Default</b>: <tt>src/test/features</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CtestFeaturesExcludes.3E"></a><b><a name="testFeaturesExcludes">&lt;testFeaturesExcludes&gt;</a></b></h4>
        
<div>Comma separated list of excludes for the test features.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CtestFeaturesIncludes.3E"></a><b><a name="testFeaturesIncludes">&lt;testFeaturesIncludes&gt;</a></b></h4>
        
<div>Comma separated list of includes for the test features.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>**/*.json</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CvalidateFeatures.3E"></a><b><a name="validateFeatures">&lt;validateFeatures&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the features are validated against the
JSON schema.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>true</tt></li>
        </ul>
      </div></div>
    </div>
  

        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2007&#x2013;2020
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>
