<!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:baseline</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:baseline<a name="bundle:baseline"></a></h2>
      <p><b>Full name</b>:</p>
      <p>org.apache.felix:maven-bundle-plugin:2.5.0:baseline</p>
      <p><b>Description</b>:</p>
      <div>BND Baseline check between two bundles.</div>
      <p><b>Attributes</b>:</p>
      <ul>
        <li>Requires a Maven project to be executed.</li>
        <li>The goal is thread-safe and supports parallel builds.</li>
        <li>Since version: <tt>2.4.1</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>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="#failOnError">failOnError</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>2.4.1</tt></td>
            <td>Whether to fail on errors.<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>baseline.failOnError</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#failOnWarning">failOnWarning</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>2.4.1</tt></td>
            <td>Whether to fail on warnings.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>baseline.failOnWarning</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#filters">filters</a></b></td>
            <td><tt>String[]</tt></td>
            <td><tt>2.4.1</tt></td>
            <td>A list of packages filter, if empty the whole bundle will be
traversed. Values are specified in OSGi package instructions
notation, e.g. <tt>!org.apache.felix.bundleplugin</tt>.<br /></td>
          </tr>
          <tr class="a">
            <td><b><a href="#logResults">logResults</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>2.4.1</tt></td>
            <td>Whether to log the results to the console or not, true by default.<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>logResults</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#skip">skip</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>2.4.1</tt></td>
            <td>Flag to easily skip execution.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>baseline.skip</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#supportedProjectTypes">supportedProjectTypes</a></b></td>
            <td><tt>List</tt></td>
            <td><tt>2.4.1</tt></td>
            <td>Project types which this plugin supports.<br /></td>
          </tr>
          <tr class="b">
            <td><b><a href="#xmlOutputFile">xmlOutputFile</a></b></td>
            <td><tt>File</tt></td>
            <td><tt>2.4.1</tt></td>
            <td>An XML output file to render to
<tt>${project.build.directory}/baseline.xml</tt>.<br /></td>
          </tr>
        </table>
      </div>
      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
        <p><b><a name="failOnError">failOnError</a>:</b></p>
        <div>Whether to fail on errors.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Since</b>: <tt>2.4.1</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>baseline.failOnError</tt></li>
          <li><b>Default</b>: <tt>true</tt></li>
        </ul><hr /><p><b><a name="failOnWarning">failOnWarning</a>:</b></p>
        <div>Whether to fail on warnings.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Since</b>: <tt>2.4.1</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>baseline.failOnWarning</tt></li>
          <li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /><p><b><a name="filters">filters</a>:</b></p>
        <div>A list of packages filter, if empty the whole bundle will be
traversed. Values are specified in OSGi package instructions
notation, e.g. <tt>!org.apache.felix.bundleplugin</tt>.</div>
        <ul>
          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
          <li><b>Since</b>: <tt>2.4.1</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /><p><b><a name="logResults">logResults</a>:</b></p>
        <div>Whether to log the results to the console or not, true by default.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Since</b>: <tt>2.4.1</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>logResults</tt></li>
          <li><b>Default</b>: <tt>true</tt></li>
        </ul><hr /><p><b><a name="skip">skip</a>:</b></p>
        <div>Flag to easily skip execution.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Since</b>: <tt>2.4.1</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>baseline.skip</tt></li>
          <li><b>Default</b>: <tt>false</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>Since</b>: <tt>2.4.1</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /><p><b><a name="xmlOutputFile">xmlOutputFile</a>:</b></p>
        <div>An XML output file to render to
<tt>${project.build.directory}/baseline.xml</tt>.</div>
        <ul>
          <li><b>Type</b>: <tt>java.io.File</tt></li>
          <li><b>Since</b>: <tt>2.4.1</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>Expression</b>: <tt>${project.build.directory}/baseline.xml</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>
