<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2019-05-09 
 | Rendered using Apache Maven Fluido Skin 1.3.1
-->
<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="20190509" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Maven Bundle Plugin &#x2013; bundle:deploy-file</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.1.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.3.1.min.js"></script>

    
                  </head>
        <body class="topBarDisabled">
          
        
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                <div id="bannerLeft">
                <h2>Maven Bundle 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: 2019-05-09
                      <span class="divider">|</span>
                   </li>
                  <li id="projectVersion">Version: 4.2.0
                      </li>
                      
                
                    
      
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span3">
          <div class="well sidebar-nav">
                
                    
                <ul class="nav nav-list">
                    <li class="nav-header">Overview</li>
                              
      <li>
  
                          <a href="index.html" title="Introduction">
          <i class="none"></i>
        Introduction</a>
            </li>
                
      <li>
  
                          <a href="plugin-info.html" title="Goals">
          <i class="none"></i>
        Goals</a>
            </li>
                
      <li>
  
                          <a href="../../documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html" title="Documentation">
          <i class="none"></i>
        Documentation</a>
            </li>
                
      <li>
  
                          <a href="../../documentation/faqs/apache-felix-bundle-plugin-faq.html" title="FAQ">
          <i class="none"></i>
        FAQ</a>
            </li>
                
      <li>
  
                          <a href="jira-report.html" title="Release Notes">
          <i class="none"></i>
        Release Notes</a>
            </li>
                              <li class="nav-header">Project Documentation</li>
                                                                                                                                                                          
      <li>
  
                          <a href="project-info.html" title="Project Information">
          <i class="icon-chevron-right"></i>
        Project Information</a>
                  </li>
                                                                                                                                          
      <li>
  
                          <a href="project-reports.html" title="Project Reports">
          <i class="icon-chevron-right"></i>
        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="span9" >
                                  
            
  
    <div class="section">
<h2><a name="bundle:deploy-file"></a>bundle:deploy-file</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.apache.felix:maven-bundle-plugin:4.2.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><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><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><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><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><a name="Parameter_Details"></a>Parameter Details</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>

    <hr/>

    <footer>
            <div class="container-fluid">
                      <div class="row-fluid">
                              <p >Copyright &copy;                    2006&#x2013;2019
                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.      
                    
      </p>
        </div>

        
        
                </div>
    </footer>
        </body>
</html>
