<!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:analyse-features</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:analyse-features"></a>slingfeature:analyse-features</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.apache.sling:slingfeature-maven-plugin:1.2.0:analyse-features</p>
      
<p><b>Description</b>:</p>
      
<div>Analyse the feature.</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>verify</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="#framework">&lt;framework&gt;</a></tt></td>
            
<td><tt>Dependency</tt></td>
            
<td><tt>-</tt></td>
            
<td>(no description)<br /></td>
          </tr>
          
<tr class="a">
            
<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="b">
            
<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="a">
            
<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="b">
            
<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="a">
            
<td><tt><a href="#scans">&lt;scans&gt;</a></tt></td>
            
<td><tt>List</tt></td>
            
<td><tt>-</tt></td>
            
<td>(no description)<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.3Cframework.3E"></a><b><a name="framework">&lt;framework&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <tt>org.apache.maven.model.Dependency</tt></li>
          
<li><b>Required</b>: <tt>No</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.3Cscans.3E"></a><b><a name="scans">&lt;scans&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.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>
