<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Jun 20, 2014 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Maven Bundle Plugin - 
    bundle:manifest</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20140620" />
    <meta http-equiv="Content-Language" content="en" />
        
  </head>
  <body class="composite">
    <div id="banner">
                    <div id="bannerLeft">
                Maven Bundle Plugin
                </div>
                    <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
        
                <div class="xleft">
        <span id="publishDate">Last Published: 2014-06-20</span>
                  &nbsp;| <span id="projectVersion">Version: 2.5.0</span>
                      </div>
            <div class="xright">        
        
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
        
                                <h5>Overview</h5>
                  <ul>
                  <li class="none">
                          <a href="index.html" title="Introduction">Introduction</a>
            </li>
                  <li class="none">
                          <a href="plugin-info.html" title="Goals">Goals</a>
            </li>
                  <li class="none">
                          <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Maven+Bundle+Plugin+%28BND%29" class="externalLink" title="Wiki">Wiki</a>
            </li>
                  <li class="none">
                          <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Bundle+Plugin+FAQ" class="externalLink" title="FAQ">FAQ</a>
            </li>
                  <li class="none">
                          <a href="jira-report.html" title="Release Notes">Release Notes</a>
            </li>
          </ul>
                       <h5>Project Documentation</h5>
                  <ul>
                                                                                                                                                                                <li class="collapsed">
                          <a href="project-info.html" title="Project Information">Project Information</a>
                  </li>
                                                                                                                                            <li class="collapsed">
                          <a href="project-reports.html" title="Project Reports">Project Reports</a>
                  </li>
          </ul>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                   
        
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        
  
    <div class="section"><h2>bundle:manifest<a name="bundle:manifest"></a></h2>
      <p><b>Full name</b>:</p>
      <p>org.apache.felix:maven-bundle-plugin:2.5.0:manifest</p>
      <p><b>Description</b>:</p>
      <div>Generate an OSGi manifest for this project</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>The goal is thread-safe and supports parallel builds.</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>process-classes</tt>.</li>
      </ul>
      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
        <table class="bodyTable" border="0">
          <tr class="a">
            <th>Name</th>
            <th>Type</th>
            <th>Since</th>
            <th>Description</th>
          </tr>
          <tr class="b">
            <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>The directory for the generated JAR.<br /><b>User property is</b>: <tt>project.build.directory</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
            <td><tt>File</tt></td>
            <td><tt>-</tt></td>
            <td>The directory for the generated bundles.<br /><b>User property is</b>: <tt>project.build.outputDirectory</tt>.</td>
          </tr>
        </table>
      </div>
      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
        <table class="bodyTable" border="0">
          <tr class="a">
            <th>Name</th>
            <th>Type</th>
            <th>Since</th>
            <th>Description</th>
          </tr>
          <tr class="b">
            <td><b><a href="#archive">archive</a></b></td>
            <td><tt>MavenArchiveConfiguration</tt></td>
            <td><tt>-</tt></td>
            <td>The archive configuration to use.<br /></td>
          </tr>
          <tr class="a">
            <td><b><a href="#classifier">classifier</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Classifier type of the bundle to be installed. For example,
&quot;jdk14&quot;. Defaults to none which means this is the project's main
bundle.<br /></td>
          </tr>
          <tr class="b">
            <td><b><a href="#dumpClasspath">dumpClasspath</a></b></td>
            <td><tt>File</tt></td>
            <td><tt>-</tt></td>
            <td>File where the BND class-path will be dumped<br /><b>User property is</b>: <tt>dumpClasspath</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#dumpInstructions">dumpInstructions</a></b></td>
            <td><tt>File</tt></td>
            <td><tt>-</tt></td>
            <td>File where the BND instructions will be dumped<br /><b>User property is</b>: <tt>dumpInstructions</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#excludeDependencies">excludeDependencies</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Comma separated list of artifactIds to exclude from the dependency
classpath passed to BND (use &quot;true&quot; to exclude everything)<br /><b>User property is</b>: <tt>excludeDependencies</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#finalName">finalName</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Final name of the bundle (without classifier or extension)<br /><b>User property is</b>: <tt>project.build.finalName</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#instructions">instructions</a></b></td>
            <td><tt>Map</tt></td>
            <td><tt>-</tt></td>
            <td>The BND instructions for the bundle.<br /></td>
          </tr>
          <tr class="a">
            <td><b><a href="#manifestLocation">manifestLocation</a></b></td>
            <td><tt>File</tt></td>
            <td><tt>-</tt></td>
            <td>Directory where the manifest will be written<br /><b>Default value is</b>: <tt>${project.build.outputDirectory}/META-INF</tt>.<br /><b>User property is</b>: <tt>manifestLocation</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#niceManifest">niceManifest</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>-</tt></td>
            <td>Output a nicely formatted manifest that still respects the 72
character line limit.<br /></td>
          </tr>
          <tr class="a">
            <td><b><a href="#packaging">packaging</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
Defaults to none which means use the same packaging as the project.<br /></td>
          </tr>
          <tr class="b">
            <td><b><a href="#rebuildBundle">rebuildBundle</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>-</tt></td>
            <td>When true, generate the manifest by rebuilding the full bundle in
memory<br /><b>User property is</b>: <tt>rebuildBundle</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
            <td><tt>List</tt></td>
            <td><tt>-</tt></td>
            <td>Project types which this plugin supports.<br /></td>
          </tr>
          <tr class="b">
            <td><b><a href="#unpackBundle">unpackBundle</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>-</tt></td>
            <td>When true, unpack the bundle contents to the outputDirectory<br /><b>User property is</b>: <tt>unpackBundle</tt>.</td>
          </tr>
        </table>
      </div>
      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
        <p><b><a name="archive">archive</a>:</b></p>
        <div>The archive configuration to use.</div>
        <ul>
          <li><b>Type</b>: <tt>org.apache.maven.archiver.MavenArchiveConfiguration</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /><p><b><a name="buildDirectory">buildDirectory</a>:</b></p>
        <div>The directory for the generated JAR.</div>
        <ul>
          <li><b>Type</b>: <tt>java.lang.String</tt></li>
          <li><b>Required</b>: <tt>Yes</tt></li>
          <li><b>User Property</b>: <tt>project.build.directory</tt></li>
        </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
        <div>Classifier type of the bundle to be installed. For example,
&quot;jdk14&quot;. Defaults to none which means this is the project's main
bundle.</div>
        <ul>
          <li><b>Type</b>: <tt>java.lang.String</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /><p><b><a name="dumpClasspath">dumpClasspath</a>:</b></p>
        <div>File where the BND class-path will be dumped</div>
        <ul>
          <li><b>Type</b>: <tt>java.io.File</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>dumpClasspath</tt></li>
        </ul><hr /><p><b><a name="dumpInstructions">dumpInstructions</a>:</b></p>
        <div>File where the BND instructions will be dumped</div>
        <ul>
          <li><b>Type</b>: <tt>java.io.File</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>dumpInstructions</tt></li>
        </ul><hr /><p><b><a name="excludeDependencies">excludeDependencies</a>:</b></p>
        <div>Comma separated list of artifactIds to exclude from the dependency
classpath passed to BND (use &quot;true&quot; to exclude everything)</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>excludeDependencies</tt></li>
        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
        <div>Final name of the bundle (without classifier or extension)</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>project.build.finalName</tt></li>
        </ul><hr /><p><b><a name="instructions">instructions</a>:</b></p>
        <div>The BND instructions for the bundle.</div>
        <ul>
          <li><b>Type</b>: <tt>java.util.Map</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /><p><b><a name="manifestLocation">manifestLocation</a>:</b></p>
        <div>Directory where the manifest will be written</div>
        <ul>
          <li><b>Type</b>: <tt>java.io.File</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>manifestLocation</tt></li>
          <li><b>Default</b>: <tt>${project.build.outputDirectory}/META-INF</tt></li>
        </ul><hr /><p><b><a name="niceManifest">niceManifest</a>:</b></p>
        <div>Output a nicely formatted manifest that still respects the 72
character line limit.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
        <div>The directory for the generated bundles.</div>
        <ul>
          <li><b>Type</b>: <tt>java.io.File</tt></li>
          <li><b>Required</b>: <tt>Yes</tt></li>
          <li><b>User Property</b>: <tt>project.build.outputDirectory</tt></li>
        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
        <div>Packaging type of the bundle to be installed. For example, &quot;jar&quot;.
Defaults to none which means use the same packaging as the project.</div>
        <ul>
          <li><b>Type</b>: <tt>java.lang.String</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /><p><b><a name="rebuildBundle">rebuildBundle</a>:</b></p>
        <div>When true, generate the manifest by rebuilding the full bundle in
memory</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>rebuildBundle</tt></li>
        </ul><hr /><p><b><a name="supportedProjectTypes">supportedProjectTypes</a>:</b></p>
        <div>Project types which this plugin supports.</div>
        <ul>
          <li><b>Type</b>: <tt>java.util.List</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /><p><b><a name="unpackBundle">unpackBundle</a>:</b></p>
        <div>When true, unpack the bundle contents to the outputDirectory</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>unpackBundle</tt></li>
        </ul>
      </div>
    </div>
  

      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">Copyright &#169;                    2006-2014
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
        
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
