<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2020-03-23 
 | 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="20200323" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Sling OSGi Feature Maven Plugin &#x2013; Plugin Documentation</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-03-23<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.1.20</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 class="active"><a href="#"><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-down"></span>Project Reports</a>
      <ul class="nav nav-list">
    <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a>  </li>
    <li><a href="surefire-report.html" title="Surefire Report"><span class="none"></span>Surefire Report</a>  </li>
    <li><a href="jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a>  </li>
    <li class="active"><a href="#"><span class="none"></span>Plugin Documentation</a>
  </li>
      </ul>
  </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="Plugin_Documentation"></a>Plugin Documentation</h2><a name="Plugin_Documentation"></a>
<p>Goals available for this plugin:</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Goal</th>
<th>Description</th></tr>
<tr class="b">
<td><a href="aggregate-features-mojo.html">slingfeature:aggregate-features</a></td>
<td>Aggregate multiple features into a single one.</td></tr>
<tr class="a">
<td><a href="analyse-features-mojo.html">slingfeature:analyse-features</a></td>
<td>Analyse the feature.</td></tr>
<tr class="b">
<td><a href="apis-jar-mojo.html">slingfeature:apis-jar</a></td>
<td>Generates the APIs JARs for each selected Feature file.</td></tr>
<tr class="a">
<td><a href="attach-featurearchives-mojo.html">slingfeature:attach-featurearchives</a></td>
<td>Create a feature model archive and attach it. An archive is created
for each feature of this project</td></tr>
<tr class="b">
<td><a href="attach-features-mojo.html">slingfeature:attach-features</a></td>
<td>Attach the feature as a project artifact.</td></tr>
<tr class="a">
<td><a href="collect-artifacts-mojo.html">slingfeature:collect-artifacts</a></td>
<td>No description.</td></tr>
<tr class="b">
<td><a href="embed-features-mojo.html">slingfeature:embed-features</a></td>
<td>Embed the features in the resources</td></tr>
<tr class="a">
<td><a href="extract-extension-mojo.html">slingfeature:extract-extension</a></td>
<td>No description.</td></tr>
<tr class="b">
<td><a href="features-diff-mojo.html">slingfeature:features-diff</a></td>
<td>Compares different versions of the same Feature Model.</td></tr>
<tr class="a">
<td><a href="help-mojo.html">slingfeature:help</a></td>
<td>Display help information on slingfeature-maven-plugin.<br />
Call <code>mvn slingfeature:help -Ddetail=true
-Dgoal=&lt;goal-name&gt;</code> to display parameter details.</td></tr>
<tr class="b">
<td><a href="include-artifact-mojo.html">slingfeature:include-artifact</a></td>
<td>This goal creates a Feature Model file that includes the Module
Artifact as bundle (or extension) so that the Artifact can be added
through a FM into a FM project. The FM file can be found in the
'build directory'/slingfeature-tmp folder. After a FM file is
created successfully this file will be installed in the local Maven
Repository as 'slingosgifeature' file under the Module's Maven Id
location (group, artifact, version). This file can then later be
used inside the 'aggregate-features' goal with:
<code>&lt;includeArtifact&gt;
&lt;groupId&gt;org.apache.sling&lt;/groupId&gt;
&lt;artifactId&gt;org.apache.sling.test.feature&lt;/artifactId&gt;
&lt;version&gt;1.0.0&lt;/version&gt;
&lt;classifier&gt;my-test-classifier&lt;/classifier&gt;
&lt;type&gt;slingosgifeature&lt;/type&gt;
&lt;/includeArtifact&gt;</code> It also can add dependencies to the
FM file if its scope is provided (normally that would be
'compile'). In addition a bundle start order can be set for these
included dependency bundles. Finally any FM files inside the Source
FM folder are embedded into the FM file. This allows to add
extension files like 'repoinit' etc to be added to provide them
with the module.</td></tr>
<tr class="a">
<td><a href="info-mojo.html">slingfeature:info</a></td>
<td>Extract information from a feature This mojo does not require a
project, it can be run by just pointing it at a feature file. When
run from within a project, the normal feature selection mechanism
can be used. This mojo supports 
<ul>
<li>Extracting the exported packages per feature and writing them
to a file</li>
<li>Detecting duplicates across features and writing a report</li>
</ul></td></tr>
<tr class="b">
<td><a href="launch-features-mojo.html">slingfeature:launch-features</a></td>
<td>Launches the given Feature File</td></tr>
<tr class="a">
<td><a href="repository-mojo.html">slingfeature:repository</a></td>
<td>Create a Maven repository structure from the referenced artifacts
in the features.</td></tr>
<tr class="b">
<td><a href="update-feature-versions-mojo.html">slingfeature:update-feature-versions</a></td>
<td>Update the bundles/artifact versions</td></tr></table>
<div class="section">
<h3><a name="System_Requirements"></a>System Requirements</h3><a name="System_Requirements"></a>
<p>The following specifies the minimum requirements to run this Maven plugin:</p>
<table border="0" class="table table-striped">
<tr class="a">
<td>Maven</td>
<td>2.0</td></tr>
<tr class="b">
<td>JDK</td>
<td>1.8</td></tr>
<tr class="a">
<td>Memory</td>
<td>No minimum requirement.</td></tr>
<tr class="b">
<td>Disk Space</td>
<td>No minimum requirement.</td></tr></table></div>
<div class="section">
<h3><a name="Usage"></a>Usage</h3><a name="Usage"></a>
<p>You should specify the version in your project's plugin configuration:</p>
<div class="source"><pre class="prettyprint">&lt;project&gt;
  ...
  &lt;build&gt;
    &lt;!-- To define the plugin version in your parent POM --&gt;
    &lt;pluginManagement&gt;
      &lt;plugins&gt;
        &lt;plugin&gt;
          &lt;groupId&gt;org.apache.sling&lt;/groupId&gt;
          &lt;artifactId&gt;slingfeature-maven-plugin&lt;/artifactId&gt;
          &lt;version&gt;1.1.20&lt;/version&gt;
        &lt;/plugin&gt;
        ...
      &lt;/plugins&gt;
    &lt;/pluginManagement&gt;
    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
    &lt;plugins&gt;
      &lt;plugin&gt;
        &lt;groupId&gt;org.apache.sling&lt;/groupId&gt;
        &lt;artifactId&gt;slingfeature-maven-plugin&lt;/artifactId&gt;
        &lt;version&gt;1.1.20&lt;/version&gt;
      &lt;/plugin&gt;
      ...
    &lt;/plugins&gt;
  &lt;/build&gt;
  ...
&lt;/project&gt;
</pre></div>
<p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></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>
