<!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:deploy-file</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:deploy-file<a name="bundle:deploy-file"></a></h2>
      <p><b>Full name</b>:</p>
      <p>org.apache.felix:maven-bundle-plugin:2.5.0:deploy-file</p>
      <p><b>Description</b>:</p>
      <div>Deploys bundle details to a remote OBR repository (command-line
goal)</div>
      <p><b>Attributes</b>:</p>
      <ul>
        <li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>deploy</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="#repositoryId">repositoryId</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Remote repository id, used to lookup authentication settings.<br /><b>Default value is</b>: <tt>remote-repository</tt>.<br /><b>User property is</b>: <tt>repositoryId</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#url">url</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Remote OBR repository URL, where the bundle details are to be
uploaded.<br /><b>User property is</b>: <tt>url</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="#artifactId">artifactId</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>ArtifactId of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>artifactId</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#bundleUrl">bundleUrl</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Optional public URL where the bundle has been deployed.<br /><b>User property is</b>: <tt>bundleUrl</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#classifier">classifier</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Classifier type of the bundle. Defaults to none.<br /><b>User property is</b>: <tt>classifier</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#file">file</a></b></td>
            <td><tt>File</tt></td>
            <td><tt>-</tt></td>
            <td>Bundle file, defaults to the artifact in the local Maven
repository.<br /><b>User property is</b>: <tt>file</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#groupId">groupId</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>GroupId of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>groupId</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#ignoreLock">ignoreLock</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>-</tt></td>
            <td>When true, ignore remote locking.<br /><b>User property is</b>: <tt>ignoreLock</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#obrRepository">obrRepository</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Local OBR Repository.<br /><b>User property is</b>: <tt>obrRepository</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#obrXml">obrXml</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Optional XML file describing additional requirements and
capabilities.<br /><b>User property is</b>: <tt>obrXml</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#packaging">packaging</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Packaging type of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>packaging</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#pomFile">pomFile</a></b></td>
            <td><tt>File</tt></td>
            <td><tt>-</tt></td>
            <td>Location of an existing POM file.<br /><b>User property is</b>: <tt>pomFile</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#remoteOBR">remoteOBR</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Remote OBR Repository.<br /><b>User property is</b>: <tt>remoteOBR</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="#version">version</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Version of the bundle. Retrieved from POM file if specified.<br /><b>User property is</b>: <tt>version</tt>.</td>
          </tr>
        </table>
      </div>
      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
        <p><b><a name="artifactId">artifactId</a>:</b></p>
        <div>ArtifactId of the bundle. Retrieved from POM file if specified.</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>artifactId</tt></li>
        </ul><hr /><p><b><a name="bundleUrl">bundleUrl</a>:</b></p>
        <div>Optional public URL where the bundle has been deployed.</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>bundleUrl</tt></li>
        </ul><hr /><p><b><a name="classifier">classifier</a>:</b></p>
        <div>Classifier type of the bundle. Defaults to none.</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>classifier</tt></li>
        </ul><hr /><p><b><a name="file">file</a>:</b></p>
        <div>Bundle file, defaults to the artifact in the local Maven
repository.</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>file</tt></li>
        </ul><hr /><p><b><a name="groupId">groupId</a>:</b></p>
        <div>GroupId of the bundle. Retrieved from POM file if specified.</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>groupId</tt></li>
        </ul><hr /><p><b><a name="ignoreLock">ignoreLock</a>:</b></p>
        <div>When true, ignore remote locking.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>User Property</b>: <tt>ignoreLock</tt></li>
        </ul><hr /><p><b><a name="obrRepository">obrRepository</a>:</b></p>
        <div>Local OBR Repository.</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>obrRepository</tt></li>
        </ul><hr /><p><b><a name="obrXml">obrXml</a>:</b></p>
        <div>Optional XML file describing additional requirements and
capabilities.</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>obrXml</tt></li>
        </ul><hr /><p><b><a name="packaging">packaging</a>:</b></p>
        <div>Packaging type of the bundle. Retrieved from POM file if specified.</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>packaging</tt></li>
        </ul><hr /><p><b><a name="pomFile">pomFile</a>:</b></p>
        <div>Location of an existing POM file.</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>pomFile</tt></li>
        </ul><hr /><p><b><a name="remoteOBR">remoteOBR</a>:</b></p>
        <div>Remote OBR Repository.</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>remoteOBR</tt></li>
        </ul><hr /><p><b><a name="repositoryId">repositoryId</a>:</b></p>
        <div>Remote repository id, used to lookup authentication settings.</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>repositoryId</tt></li>
          <li><b>Default</b>: <tt>remote-repository</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="url">url</a>:</b></p>
        <div>Remote OBR repository URL, where the bundle details are to be
uploaded.</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>url</tt></li>
        </ul><hr /><p><b><a name="version">version</a>:</b></p>
        <div>Version of the bundle. Retrieved from POM file if specified.</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>version</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>
