blob: 67b7970ecfb5d65674f50c30b26ce0d145bc9a1b [file] [log] [blame]
<!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 - NBM Maven Plugin &#x2013; NetBeansModule</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> <a href="../nb-repository/index.html">NB Repository Plugin</a> </li>
<li> <strong style='line-height: 1;margin-bottom: 0;padding: 0.7rem 1rem;display: block;' >NBM Plugin</strong> </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="buildinstexample.html">Customize installers</a></li>
<li><a href="upgrade.html">Upgrade from older versions</a></li>
</ul>
<div id="toctitle">Deprecated</div>
<ul class="sectlevel1">
<li><a href="nbm.html">Descriptor Format</a></li>
<li><a href="descriptor.html">Example Descriptor</a></li>
</ul>
</div>
<div id="preamble">
<div class="sectionbody">
<div class="section">
<h2><a name="NetBeansModule"></a>NetBeansModule</h2>
<p>Maven's model for the NetBeans module descriptor.</p>
<div class="source">
<pre>
&lt;<a href="#class_nbm">nbm</a>&gt;
&lt;moduleType/&gt;
&lt;codeNameBase/&gt;
&lt;cluster/&gt;
&lt;requiresRestart/&gt;
&lt;manifest/&gt;
&lt;homepageUrl/&gt;
&lt;distributionUrl/&gt;
&lt;author/&gt;
&lt;licenseName/&gt;
&lt;licenseFile/&gt;
&lt;libraries/&gt;
&lt;dependencies&gt;
&lt;<a href="#class_dependency">dependency</a>&gt;
&lt;id/&gt;
&lt;type/&gt;
&lt;explicitValue/&gt;
&lt;/dependency&gt;
&lt;/dependencies&gt;
&lt;nbmResources&gt;
&lt;<a href="#class_nbmResource">nbmResource</a>&gt;
&lt;baseDirectory/&gt;
&lt;relativeClusterPath/&gt;
&lt;includes/&gt;
&lt;excludes/&gt;
&lt;/nbmResource&gt;
&lt;/nbmResources&gt;
&lt;/nbm&gt;
</pre></div>
<a name="class_nbm"></a>
<div class="section">
<h3><a name="nbm"></a>nbm</h3>
<p>Describes the layout, dependencies and packaging of a NetBeans module.</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Element</th>
<th>Type</th>
<th>Description</th>
</tr>
<tr class="b">
<td>
<tt>moduleType</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>
<p>DEPRECATED, use the plugin configuration instead. Type of the module. Possible values are </p>
<p><b>autoload</b> - Such a module is automatically enabled when some other module requires it and automatically disabled otherwise.</p>
<p><b>eager</b> - This module type gets automatically enabled when all it's dependencies are satisfied. Disabled otherwise.</p>
<p><b>normal</b> - This is the default value. This kind of module is enabled/disabled manually by the user. It installs enabled.</p>
</td>
</tr>
<tr class="a">
<td>
<tt>codeNameBase</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Codenamebase of the module. Primary identification of the module. Usually the package name. Eg. &quot;org.codehaus.mevenide.project&quot;.
If not defined here, the default value is constructed from groupId and artifactId.</td>
</tr>
<tr class="b">
<td>
<tt>cluster</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Each modules should belong to a cluster. A cluster is a group of related modules. For individual modules it's not that important. Refer to netbeans.org documentation for more details.</td>
</tr>
<tr class="a">
<td>
<tt>requiresRestart</tt>
</td>
<td>
<tt>boolean</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Determines if the module requires restart of the IDE/platform upon installation.<br /><b>Default value is</b>: <tt>false</tt>.</td>
</tr>
<tr class="b">
<td>
<tt>manifest</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Location of the manifest file with NetBeans specific manifest entries.
</td>
</tr>
<tr class="a">
<td>
<tt>homepageUrl</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Homepage URL of the module. Is accessible from NetBeans UI upon installation, should point to place with additional information about the functionality. If not defined, it defaults to POM's url element.</td>
</tr>
<tr class="b">
<td>
<tt>distributionUrl</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Http URL of the location where the module can be downloaded from the internet. This value put into the NBM and used when generating the Autoupdate Site. Should point directly to the NBM download.</td>
</tr>
<tr class="a">
<td>
<tt>author</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Author of the module. Is used when generating the NBM file.</td>
</tr>
<tr class="b">
<td>
<tt>licenseName</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Name of the license. If the user already agreed to the same license before, he/she won't be asked again to agree.</td>
</tr>
<tr class="a">
<td>
<tt>licenseFile</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>DEPRECATED, use the plugin configuration instead. Path to the license agreement file.</td>
</tr>
<tr class="b">
<td>
<tt>libraries/library*</tt>
</td>
<td>
<tt>List&lt;String&gt;</tt>
</td>
<td><b>(Many)</b> groupId:artifactId of artifacts that shall become part of the module and be added on the classpath
(ClassPath: manifest entry gets created and the jar is included in the nbm file)</td>
</tr>
<tr class="a">
<td>
<tt>dependencies/<a href="#class_dependency">dependency</a>*</tt>
</td>
<td>
<tt>List&lt;Dependency&gt;</tt>
</td>
<td><b>(Many)</b> DEPRECATED, use the plugin configuration instead. List of module dependencies. The plugin will use it to Generate the OpenIDE-Module-Module-Dependencies manifest entry.</td>
</tr>
<tr class="b">
<td>
<tt>nbmResources/<a href="#class_nbmResource">nbmResource</a>*</tt>
</td>
<td>
<tt>List&lt;NbmResource&gt;</tt>
</td>
<td><b>(Many)</b> DEPRECATED, use the plugin configuration instead. List of resources that shall be also included into the Nbm file along with the module jar and library jars.</td>
</tr>
</table>
</div>
<a name="class_dependency"></a>
<div class="section">
<h3><a name="dependency"></a>dependency</h3>
<p></p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Element</th>
<th>Type</th>
<th>Description</th>
</tr>
<tr class="b">
<td>
<tt>id</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>groupId:artifactId of the dependency defined in the POM (or a transitive dependency)</td>
</tr>
<tr class="a">
<td>
<tt>type</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>
Type of module dependency. 3 possible values allowed.
<p><b>spec</b> - specification dependency, module can only use public APIs in public packages. Works with the version defined and any later version.</p>
<p><b>impl</b> - implementation dependency, module can use any class in the dependency module, but works with just the one version of the module.</p>
<p><b>loose</b> - similar to spec, but isa very loose connection, no version is required, just the module presence.</p>
<br /><b>Default value is</b>: <tt>spec</tt>.</td>
</tr>
<tr class="b">
<td>
<tt>explicitValue</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>
The plugin tries to resolve the correct module name and module specification/implementation version by examining the
dependency jar's manifest.
You can override this behaviour by explicitly defining the value here. For example org.openide.io/1 &gt; 10.1 for a &quot;spec&quot; type of dependency.
</td>
</tr>
</table>
</div>
<a name="class_nbmResource"></a>
<div class="section">
<h3><a name="nbmResource"></a>nbmResource</h3>
<p>No description.</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Element</th>
<th>Type</th>
<th>Description</th>
</tr>
<tr class="b">
<td>
<tt>baseDirectory</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>The base directory, all paths within the nbm file will be the same as paths within the base directory.</td>
</tr>
<tr class="a">
<td>
<tt>relativeClusterPath</tt>
</td>
<td>
<tt>String</tt>
</td>
<td>A relative path to be added to cluster root where the files will be copied to.</td>
</tr>
<tr class="b">
<td>
<tt>includes/include*</tt>
</td>
<td>
<tt>List&lt;String&gt;</tt>
</td>
<td><b>(Many)</b> Include pattern, what shall be included in the nbm. </td>
</tr>
<tr class="a">
<td>
<tt>excludes/exclude*</tt>
</td>
<td>
<tt>List&lt;String&gt;</tt>
</td>
<td><b>(Many)</b> Exclude pattern, what files within the basedir shall not be included. </td>
</tr>
</table>
</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>