<!DOCTYPE html>

<html class="no-js" lang="en" dir="ltr">
<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>Apache NetBeans Maven Utilities - NB Repository Plugin &#x2013; nb-repository:populate</title>
  <link rel="stylesheet" href="./css/netbeans.css" />
  <link href="https://fonts.googleapis.com/css?family=Lato:400,700" rel="stylesheet">   
</head>
<body>
<div class="top-bar" id="responsive-menu">
    <div class='top-bar-left'>
        <a class='title' href="http://netbeans.apache.org"><img src='/images/apache-netbeans.svg' style='padding: 8px; height: 48px;'>Apache NetBeans (incubating)</a>
    </div>
    <div class="top-bar-right">
        <ul class="vertical medium-horizontal menu" style="right: 90px;" data-responsive-menu="drilldown medium-dropdown">
            <li> <strong style='line-height: 1;margin-bottom: 0;padding: 0.7rem 1rem;display: block;' >NB Repository Plugin</strong> </li>
            <li> <a href="../nbm-maven-plugin/index.html">NBM Plugin</a> </li>
            <li> <a href="../shared/index.html">Shared</a> </li>
            <li> <a href="../parent/index.html">Parent</a> </li>
        </ul>
    </div>
</div>
<div class='grid-container main-content'>
            <div id="toc" class="toc">
<div id="toctitle">Overview</div>
<ul class="sectlevel1">
<li><a href="index.html">Usage</a></li>
<li><a href="plugin-info.html">Plugin Goals</a></li>
</ul>
<div id="toctitle">HOWTOs</div>
<ul class="sectlevel1">
<li><a href="repository.html">Populate repository</a></li>
</ul>
</div>
<div id="preamble">
<div class="sectionbody">

  
    <div class="section">
<h2><a name="nb-repository:populate"></a>nb-repository:populate</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.netbeans.maven:nb-repository-plugin:1.4-SNAPSHOT:populate</p>
      
<p><b>Description</b>:</p>
      
<div>A goal for identifying NetBeans modules from the installation and
populating the local repository with them. Optionally you can also
deploy to a remote repository. 

<p>If you are looking for an existing remote repository for
NetBeans artifacts, check out <a class="externalLink" href="http://bits.netbeans.org/nexus/content/groups/netbeans/">http://bits.netbeans.org/nexus/content/groups/netbeans/</a>,
it contains API artifacts for multiple releases. <a class="externalLink" href="http://bits.netbeans.org/netbeans/trunk/maven-snapshot/">http://bits.netbeans.org/netbeans/trunk/maven-snapshot/</a>
may also be used for <tt>SNAPSHOT</tt> artifacts if you wish to
test development builds.</p>

<p>See this <a class="externalLink" href="http://mojo.codehaus.org/nbm-maven/nbm-maven-plugin/repository.html">HOWTO</a>
on how to generate the NetBeans binaries required by this goal.</p></div>
      
<p><b>Attributes</b>:</p>
      
<ul>
        
<li>Executes as an aggregator plugin.</li>
      </ul>
      
<div class="section">
<h3><a name="Required_Parameters"></a>Required Parameters</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="#netbeansInstallDirectory">netbeansInstallDirectory</a></b></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>Location of NetBeans installation<br /><b>User property is</b>: <tt>netbeansInstallDirectory</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><b><a href="#netbeansNbmDirectory">netbeansNbmDirectory</a></b></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>If defined, will match the nbm files found in the designated folder
with the modules and upload the nbm file next to the module jar in
local and remote repositories. Assumes a folder with
&lt;code-name-base&gt;.nbm files containing nbm files for modules.<br /><b>User property is</b>: <tt>netbeansNbmDirectory</tt>.<br /></td>
          </tr>
        </table>
      </div>
      
<div class="section">
<h3><a name="Optional_Parameters"></a>Optional Parameters</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="#defineCluster">defineCluster</a></b></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Whether to create cluster POMs in the
<tt>org.netbeans.cluster</tt> group. Only meaningful when
<tt>forcedVersion</tt> is defined.<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>defineCluster</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><b><a href="#dependencyRepositoryId">dependencyRepositoryId</a></b></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Repository ID to use when inspecting remote dependencies. Only
meaningful when <tt>dependencyRepositoryUrl</tt> is defined.<br /><b>Default value is</b>: <tt>temp</tt>.<br /><b>User property is</b>: <tt>dependencyRepositoryId</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><b><a href="#dependencyRepositoryUrl">dependencyRepositoryUrl</a></b></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Optional remote repository to use for inspecting remote
dependencies. This may be used to populate just part of an
installation, when base modules are already available in Maven
format. Currently only supported when <tt>forcedVersion</tt> is
defined.<br /><b>User property is</b>: <tt>dependencyRepositoryUrl</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><b><a href="#deployUrl">deployUrl</a></b></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>an url where to deploy the NetBeans artifacts. Optional, if not
specified, the artifacts will be only installed in local
repository, if you need to give credentials to access remote repo,
the id of the server is hardwired to &quot;netbeans&quot;.<br /><b>User property is</b>: <tt>deployUrl</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><b><a href="#forcedVersion">forcedVersion</a></b></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>When specified, will force all modules to have the designated
version. Good when depending on releases. Then you would for
example specify RELEASE50 in this parameter and all modules get
this version in the repository. If not defined, the maven version
is derived from the OpenIDE-Module-Specification-Version manifest
attribute. 

<p>Highly Recommended!</p><br /><b>User property is</b>: <tt>forcedVersion</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><b><a href="#groupIdPrefix">groupIdPrefix</a></b></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>a prefix for groupId of generated content, eg. for org.netbeans
value will generate org.netbeans.cluster groupId for clusters and
org.netbeans.modules for module artifacts.<br /><b>Default value is</b>: <tt>org.netbeans</tt>.<br /><b>User property is</b>: <tt>groupIdPrefix</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><b><a href="#netbeansJavadocDirectory">netbeansJavadocDirectory</a></b></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>If you want to install/deploy also NetBeans api javadocs, download
the javadoc zip file from netbeans.org expand it to a directory, it
should contain multiple zip files. Define this parameter as
absolute path to the zip files folder.<br /><b>User property is</b>: <tt>netbeansJavadocDirectory</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><b><a href="#netbeansSourcesDirectory">netbeansSourcesDirectory</a></b></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>Assumes a folder with &lt;code-name-base&gt;.zip files containing
sources for modules.<br /><b>User property is</b>: <tt>netbeansSourcesDirectory</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><b><a href="#nexusIndexDirectory">nexusIndexDirectory</a></b></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>When specified it points to a directory containing a Maven Indexer
(Nexus) Lucene index. This index will be used to find external
libraries that are referenced by NetBeans modules and populate the
POM metadata with correct dependencies. Any dependencies not found
this way, will be generated with a unique id under the
org.netbeans.external groupId. Use the <tt>download</tt> goal
to retrieve the index.<br /><b>User property is</b>: <tt>nexusIndexDirectory</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><b><a href="#skipLocalInstall">skipLocalInstall</a></b></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>By default the generated metadata is installed in local repository.
Setting this parameter to false will avoid installing the bits.
Only meaningful together with a defined &quot;deployUrl&quot; parameter.<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>skipInstall</tt>.<br /></td>
          </tr>
        </table>
      </div>
      
<div class="section">
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
        
<p><b><a name="defineCluster">defineCluster</a>:</b></p>
        
<div>Whether to create cluster POMs in the
<tt>org.netbeans.cluster</tt> group. Only meaningful when
<tt>forcedVersion</tt> is defined.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>defineCluster</tt></li>
          
<li><b>Default</b>: <tt>true</tt></li>
        </ul><hr />
<p><b><a name="dependencyRepositoryId">dependencyRepositoryId</a>:</b></p>
        
<div>Repository ID to use when inspecting remote dependencies. Only
meaningful when <tt>dependencyRepositoryUrl</tt> is defined.</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>dependencyRepositoryId</tt></li>
          
<li><b>Default</b>: <tt>temp</tt></li>
        </ul><hr />
<p><b><a name="dependencyRepositoryUrl">dependencyRepositoryUrl</a>:</b></p>
        
<div>Optional remote repository to use for inspecting remote
dependencies. This may be used to populate just part of an
installation, when base modules are already available in Maven
format. Currently only supported when <tt>forcedVersion</tt> is
defined.</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>dependencyRepositoryUrl</tt></li>
        </ul><hr />
<p><b><a name="deployUrl">deployUrl</a>:</b></p>
        
<div>an url where to deploy the NetBeans artifacts. Optional, if not
specified, the artifacts will be only installed in local
repository, if you need to give credentials to access remote repo,
the id of the server is hardwired to &quot;netbeans&quot;.</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>deployUrl</tt></li>
        </ul><hr />
<p><b><a name="forcedVersion">forcedVersion</a>:</b></p>
        
<div>When specified, will force all modules to have the designated
version. Good when depending on releases. Then you would for
example specify RELEASE50 in this parameter and all modules get
this version in the repository. If not defined, the maven version
is derived from the OpenIDE-Module-Specification-Version manifest
attribute. 

<p>Highly Recommended!</p></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>forcedVersion</tt></li>
        </ul><hr />
<p><b><a name="groupIdPrefix">groupIdPrefix</a>:</b></p>
        
<div>a prefix for groupId of generated content, eg. for org.netbeans
value will generate org.netbeans.cluster groupId for clusters and
org.netbeans.modules for module artifacts.</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>groupIdPrefix</tt></li>
          
<li><b>Default</b>: <tt>org.netbeans</tt></li>
        </ul><hr />
<p><b><a name="netbeansInstallDirectory">netbeansInstallDirectory</a>:</b></p>
        
<div>Location of NetBeans installation</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>netbeansInstallDirectory</tt></li>
        </ul><hr />
<p><b><a name="netbeansJavadocDirectory">netbeansJavadocDirectory</a>:</b></p>
        
<div>If you want to install/deploy also NetBeans api javadocs, download
the javadoc zip file from netbeans.org expand it to a directory, it
should contain multiple zip files. Define this parameter as
absolute path to the zip files folder.</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>netbeansJavadocDirectory</tt></li>
        </ul><hr />
<p><b><a name="netbeansNbmDirectory">netbeansNbmDirectory</a>:</b></p>
        
<div>If defined, will match the nbm files found in the designated folder
with the modules and upload the nbm file next to the module jar in
local and remote repositories. Assumes a folder with
&lt;code-name-base&gt;.nbm files containing nbm files for modules.</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>netbeansNbmDirectory</tt></li>
        </ul><hr />
<p><b><a name="netbeansSourcesDirectory">netbeansSourcesDirectory</a>:</b></p>
        
<div>Assumes a folder with &lt;code-name-base&gt;.zip files containing
sources for modules.</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>netbeansSourcesDirectory</tt></li>
        </ul><hr />
<p><b><a name="nexusIndexDirectory">nexusIndexDirectory</a>:</b></p>
        
<div>When specified it points to a directory containing a Maven Indexer
(Nexus) Lucene index. This index will be used to find external
libraries that are referenced by NetBeans modules and populate the
POM metadata with correct dependencies. Any dependencies not found
this way, will be generated with a unique id under the
org.netbeans.external groupId. Use the <tt>download</tt> goal
to retrieve the index.</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>nexusIndexDirectory</tt></li>
        </ul><hr />
<p><b><a name="skipLocalInstall">skipLocalInstall</a>:</b></p>
        
<div>By default the generated metadata is installed in local repository.
Setting this parameter to false will avoid installing the bits.
Only meaningful together with a defined &quot;deployUrl&quot; parameter.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>skipInstall</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul>
      </div>
    </div>
  

</div>
</div>
</div>
<div class='grid-container incubator-area' style='margin-top: 64px'>
    <div class='grid-x grid-padding-x'>
        <div class='large-auto cell text-center'>
            <a href="https://www.apache.org/">
                <img style="width: 320px" title="Apache Software Foundation" src="/images/asf_logo_wide.svg" />
            </a>
        </div>
        <div class='large-auto cell text-center'>
            <a href="https://www.apache.org/events/current-event.html">
               <img style="width:234px; height: 60px;" title="Apache Software Foundation current event" src="https://www.apache.org/events/current-event-234x60.png"/>
            </a>
        </div>
    </div>
</div>
<div class='footer-disclaimer'>
    <div class="footer-disclaimer-content">
        <p>Copyright &copy; 2017-2018 <a href="https://www.apache.org">The Apache Software Foundation</a>.</p>
        <p>Licensed under the Apache <a href="https://www.apache.org/licenses/">license</a>, version 2.0</p>
        <p><a href="https://incubator.apache.org/" alt="Apache Incubator"><img src='/images/incubator_feather_egg_logo_bw_crop.png' title='Apache Incubator'></img></a></p>
        <div style='max-width: 40em; margin: 0 auto'>
            <p>Apache NetBeans is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p>
            <p>Apache Incubator, Apache, the Apache feather logo, the Apache NetBeans logo, and the Apache Incubator project logo are trademarks of <a href="https://www.apache.org">The Apache Software Foundation</a>.</p>
            <p>Oracle and Java are registered trademarks of Oracle and/or its affiliates.</p>
        </div>
        
    </div>
</div>
<a href="https://github.com/apache/incubator-netbeans-mavenutils"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_green_007200.png" alt="Fork me on GitHub"></a>



        <script src="/js/vendor/jquery-3.2.1.min.js"></script>
        <script src="/js/vendor/what-input.js"></script>
        <script src="/js/vendor/jquery.colorbox-min.js"></script>
        <script src="/js/vendor/foundation.min.js"></script>
        <script src="/js/netbeans.js"></script>
        <script>
            
            $(function(){ $(document).foundation(); });
        </script>
</body>