| <!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 – nbm:manifest</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="nbm:manifest"></a>nbm:manifest</h2> |
| |
| <p><b>Full name</b>:</p> |
| |
| <p>org.netbeans.maven:nbm-maven-plugin:4.2-SNAPSHOT:manifest</p> |
| |
| <p><b>Description</b>:</p> |
| |
| <div>Goal for generating NetBeans module system specific manifest |
| entries, part of <tt>nbm</tt> lifecycle/packaging. In order to |
| have the generated manifest picked up by the maven-jar-plugin, one |
| shall add the following configuration snippet to maven-jar-plugin. |
| |
| <div> |
| <pre> |
| <tt> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>3.0.2</version> |
| <configuration> |
| <archive> |
| <manifestFile>${project.build.outputDirectory</tt>/META-INF/MANIFEST.MF</manifestfile> |
| </archive> |
| </configuration> |
| </plugin> |
| } |
| </pre></div></div> |
| |
| <p><b>Attributes</b>:</p> |
| |
| <ul> |
| |
| <li>Requires a Maven project to be executed.</li> |
| |
| <li>Requires dependency resolution of artifacts in scope: <tt>runtime</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>process-classes</tt>.</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="#sourceManifestFile">sourceManifestFile</a></b></td> |
| |
| <td><tt>File</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>Path to manifest file that will be used as base and enhanced with |
| generated content. Any entry specified in the original file will |
| not be overwritten<br /><b>Default value is</b>: <tt>${basedir}/src/main/nbm/manifest.mf</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="#codeNameBase">codeNameBase</a></b></td> |
| |
| <td><tt>String</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>codename base of the module, uniquely identifying the module within |
| the NetBeans runtime. usually the package name equivalent. Can |
| include the major release version. See <a class="externalLink" href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#how-manifest">NetBeans |
| Module system docs</a><br /><b>Default value is</b>: <tt>${project.groupId}.${project.artifactId}</tt>.<br /></td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#descriptor">descriptor</a></b></td> |
| |
| <td><tt>File</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td><b>Deprecated.</b> all content from the module descriptor can be defined as plugin |
| configuration now, will be removed in 4.0 entirely<br /><b>Default value is</b>: <tt>${basedir}/src/main/nbm/module.xml</tt>.<br /></td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#moduleDependencies">moduleDependencies</a></b></td> |
| |
| <td><tt>Dependency[]</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>List of explicit module dependency declarations overriding the |
| default specification dependency. Useful when depending on a range |
| of major versions, depending on implementation version etc. |
| |
| <p>The format is:</p> |
| |
| <div> |
| <pre> |
| <dependency> |
| <id>groupId:artifactId</id> |
| <type>spec|impl|loose</type> |
| <explicitValue>the entire dependency token</explicitValue> |
| </dependency> |
| </pre></div> |
| |
| <br /> |
| <br /> |
| |
| |
| <p>where <tt>id</tt> is composed of grouId and artifactId of a |
| dependency defined in effective pom, separated by double colon. |
| This is mandatory.</p> |
| |
| <p>Then there are 2 exclusively optional fields <tt>type</tt> |
| and <tt>explicitValue</tt>, if both are defined |
| <tt>explicitValue</tt> gets applied.</p> |
| |
| <p><tt>type</tt> values: <tt>spec</tt> means specification |
| dependency.That's the default. <tt>impl</tt> means |
| implementation dependency, only the exact version match will |
| satisfy the constraint. <tt>loose</tt> means loose dependency, |
| no requirement on version, the module just has to be present. Not |
| very common option.</p><br /></td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#moduleType">moduleType</a></b></td> |
| |
| <td><tt>String</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>Deployment type of the module, allowed values are |
| <tt>normal</tt>,<tt>eager</tt>,<tt>autoload</tt>, |
| <tt>disabled</tt>. |
| |
| <p><tt>autoload</tt> - Such a module is automatically enabled |
| when some other module requires it and automatically disabled |
| otherwise.</p> |
| |
| <p><tt>eager</tt> - This module type gets automatically enabled |
| when all it's dependencies are satisfied. Disabled otherwise.</p> |
| |
| <p><tt>normal</tt> - This is the default value. This kind of |
| module is enabled/disabled manually by the user. It installs |
| enabled.</p> |
| |
| <p><tt>disabled</tt> - This kind of module is enabled/disabled |
| manually by the user. It installs disabled. Since 3.11</p> |
| For details, see <a class="externalLink" href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#enablement">Netbeans |
| Module system docs</a> Since 3.14, for autoload and eager modules, |
| we automatically set AutoUpdate-Show-In-Client manifest entry to |
| false, if not defined already otherwise in the manifest. See issue |
| <a class="externalLink" href="http://jira.codehaus.org/browse/MNBMODULE-194">MNBMODULE-194</a><br /><b>Default value is</b>: <tt>normal</tt>.<br /></td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#nbmBuildDir">nbmBuildDir</a></b></td> |
| |
| <td><tt>File</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>NetBeans module assembly build directory. directory where the the |
| NetBeans jar and nbm file get constructed.<br /><b>Default value is</b>: <tt>${project.build.directory}/nbm</tt>.<br /><b>User property is</b>: <tt>maven.nbm.buildDir</tt>.<br /></td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#nbmJavahelpSource">nbmJavahelpSource</a></b></td> |
| |
| <td><tt>File</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>The location of JavaHelp sources for the project. The documentation |
| itself is expected to be in the directory structure based on |
| codenamebase of the module. eg. if your codenamebase is |
| "org.netbeans.modules.apisupport", then the actual docs files shall |
| go to |
| ${basedir}/src/main/javahelp/org/netbeans/modules/apisupport/docs. |
| Obsolete as of NetBeans 7.0 with @HelpSetRegistration.<br /><b>Default value is</b>: <tt>${basedir}/src/main/javahelp</tt>.<br /></td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#publicPackages">publicPackages</a></b></td> |
| |
| <td><tt>List</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>A list of module's public packages. If not defined, no packages are |
| exported as public. Allowed values are single package names or |
| package names ending with .* which represent the package and all |
| subpackages. Eg. "org.kleint.milos.api" designates just the one |
| package, while "org.kleint.milos.spi.*" denotes the spi package an |
| all it's subpackages.<br /></td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#useOSGiDependencies">useOSGiDependencies</a></b></td> |
| |
| <td><tt>boolean</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>When encountering an OSGi bundle among dependencies, the plugin |
| will generate a direct dependency on the bundle and will not |
| include the bundle's jar into the nbm. Will only work with NetBeans |
| 6.9+ runtime. Therefore it is off by default. WARNING: Additionally |
| existing applications/modules need to check modules wrapping |
| external libraries for library jars that are also OSGi bundles. |
| Such modules will no longer include the OSGi bundles as part of the |
| module but will include a modular dependency on the bundle. Modules |
| depending on these old wrappers shall depend directly on the |
| bundle, eventually rendering the old library wrapper module |
| obsolete.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#verifyRuntime">verifyRuntime</a></b></td> |
| |
| <td><tt>String</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>Verify the runtime NetBeans module dependencies and Class-Path |
| items generated from Maven dependencies. The check is done by |
| matching classes used in current project. Allowed values for the |
| parameter are <tt>fail</tt>, <tt>warn</tt> and |
| <tt>skip</tt>. The default is <tt>fail</tt> in which case |
| the validation failure results in a failed build, in the vast |
| majority of cases the module would fail at runtime anyway.<br /><b>Default value is</b>: <tt>fail</tt>.<br /><b>User property is</b>: <tt>maven.nbm.verify</tt>.<br /></td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="section"> |
| <h3><a name="Parameter_Details"></a>Parameter Details</h3> |
| |
| <p><b><a name="codeNameBase">codeNameBase</a>:</b></p> |
| |
| <div>codename base of the module, uniquely identifying the module within |
| the NetBeans runtime. usually the package name equivalent. Can |
| include the major release version. See <a class="externalLink" href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#how-manifest">NetBeans |
| Module system docs</a></div> |
| |
| <ul> |
| |
| <li><b>Type</b>: <tt>java.lang.String</tt></li> |
| |
| <li><b>Required</b>: <tt>No</tt></li> |
| |
| <li><b>Default</b>: <tt>${project.groupId}.${project.artifactId}</tt></li> |
| </ul><hr /> |
| <p><b><a name="descriptor">descriptor</a>:</b></p> |
| |
| <div><b>Deprecated.</b> all content from the module descriptor can be defined as plugin |
| configuration now, will be removed in 4.0 entirely</div> |
| |
| <div>a NetBeans module descriptor containing dependency information and |
| more</div> |
| |
| <ul> |
| |
| <li><b>Type</b>: <tt>java.io.File</tt></li> |
| |
| <li><b>Required</b>: <tt>No</tt></li> |
| |
| <li><b>Default</b>: <tt>${basedir}/src/main/nbm/module.xml</tt></li> |
| </ul><hr /> |
| <p><b><a name="moduleDependencies">moduleDependencies</a>:</b></p> |
| |
| <div>List of explicit module dependency declarations overriding the |
| default specification dependency. Useful when depending on a range |
| of major versions, depending on implementation version etc. |
| |
| <p>The format is:</p> |
| |
| <div> |
| <pre> |
| <dependency> |
| <id>groupId:artifactId</id> |
| <type>spec|impl|loose</type> |
| <explicitValue>the entire dependency token</explicitValue> |
| </dependency> |
| </pre></div> |
| |
| <br /> |
| <br /> |
| |
| |
| <p>where <tt>id</tt> is composed of grouId and artifactId of a |
| dependency defined in effective pom, separated by double colon. |
| This is mandatory.</p> |
| |
| <p>Then there are 2 exclusively optional fields <tt>type</tt> |
| and <tt>explicitValue</tt>, if both are defined |
| <tt>explicitValue</tt> gets applied.</p> |
| |
| <p><tt>type</tt> values: <tt>spec</tt> means specification |
| dependency.That's the default. <tt>impl</tt> means |
| implementation dependency, only the exact version match will |
| satisfy the constraint. <tt>loose</tt> means loose dependency, |
| no requirement on version, the module just has to be present. Not |
| very common option.</p></div> |
| |
| <ul> |
| |
| <li><b>Type</b>: <tt>org.netbeans.nbm.model.Dependency[]</tt></li> |
| |
| <li><b>Required</b>: <tt>No</tt></li> |
| </ul><hr /> |
| <p><b><a name="moduleType">moduleType</a>:</b></p> |
| |
| <div>Deployment type of the module, allowed values are |
| <tt>normal</tt>,<tt>eager</tt>,<tt>autoload</tt>, |
| <tt>disabled</tt>. |
| |
| <p><tt>autoload</tt> - Such a module is automatically enabled |
| when some other module requires it and automatically disabled |
| otherwise.</p> |
| |
| <p><tt>eager</tt> - This module type gets automatically enabled |
| when all it's dependencies are satisfied. Disabled otherwise.</p> |
| |
| <p><tt>normal</tt> - This is the default value. This kind of |
| module is enabled/disabled manually by the user. It installs |
| enabled.</p> |
| |
| <p><tt>disabled</tt> - This kind of module is enabled/disabled |
| manually by the user. It installs disabled. Since 3.11</p> |
| For details, see <a class="externalLink" href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#enablement">Netbeans |
| Module system docs</a> Since 3.14, for autoload and eager modules, |
| we automatically set AutoUpdate-Show-In-Client manifest entry to |
| false, if not defined already otherwise in the manifest. See issue |
| <a class="externalLink" href="http://jira.codehaus.org/browse/MNBMODULE-194">MNBMODULE-194</a></div> |
| |
| <ul> |
| |
| <li><b>Type</b>: <tt>java.lang.String</tt></li> |
| |
| <li><b>Required</b>: <tt>No</tt></li> |
| |
| <li><b>Default</b>: <tt>normal</tt></li> |
| </ul><hr /> |
| <p><b><a name="nbmBuildDir">nbmBuildDir</a>:</b></p> |
| |
| <div>NetBeans module assembly build directory. directory where the the |
| NetBeans jar and nbm file get constructed.</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>maven.nbm.buildDir</tt></li> |
| |
| <li><b>Default</b>: <tt>${project.build.directory}/nbm</tt></li> |
| </ul><hr /> |
| <p><b><a name="nbmJavahelpSource">nbmJavahelpSource</a>:</b></p> |
| |
| <div>The location of JavaHelp sources for the project. The documentation |
| itself is expected to be in the directory structure based on |
| codenamebase of the module. eg. if your codenamebase is |
| "org.netbeans.modules.apisupport", then the actual docs files shall |
| go to |
| ${basedir}/src/main/javahelp/org/netbeans/modules/apisupport/docs. |
| Obsolete as of NetBeans 7.0 with @HelpSetRegistration.</div> |
| |
| <ul> |
| |
| <li><b>Type</b>: <tt>java.io.File</tt></li> |
| |
| <li><b>Required</b>: <tt>No</tt></li> |
| |
| <li><b>Default</b>: <tt>${basedir}/src/main/javahelp</tt></li> |
| </ul><hr /> |
| <p><b><a name="publicPackages">publicPackages</a>:</b></p> |
| |
| <div>A list of module's public packages. If not defined, no packages are |
| exported as public. Allowed values are single package names or |
| package names ending with .* which represent the package and all |
| subpackages. Eg. "org.kleint.milos.api" designates just the one |
| package, while "org.kleint.milos.spi.*" denotes the spi package an |
| all it's subpackages.</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="sourceManifestFile">sourceManifestFile</a>:</b></p> |
| |
| <div>Path to manifest file that will be used as base and enhanced with |
| generated content. Any entry specified in the original file will |
| not be overwritten</div> |
| |
| <ul> |
| |
| <li><b>Type</b>: <tt>java.io.File</tt></li> |
| |
| <li><b>Required</b>: <tt>Yes</tt></li> |
| |
| <li><b>Default</b>: <tt>${basedir}/src/main/nbm/manifest.mf</tt></li> |
| </ul><hr /> |
| <p><b><a name="useOSGiDependencies">useOSGiDependencies</a>:</b></p> |
| |
| <div>When encountering an OSGi bundle among dependencies, the plugin |
| will generate a direct dependency on the bundle and will not |
| include the bundle's jar into the nbm. Will only work with NetBeans |
| 6.9+ runtime. Therefore it is off by default. WARNING: Additionally |
| existing applications/modules need to check modules wrapping |
| external libraries for library jars that are also OSGi bundles. |
| Such modules will no longer include the OSGi bundles as part of the |
| module but will include a modular dependency on the bundle. Modules |
| depending on these old wrappers shall depend directly on the |
| bundle, eventually rendering the old library wrapper module |
| obsolete.</div> |
| |
| <ul> |
| |
| <li><b>Type</b>: <tt>boolean</tt></li> |
| |
| <li><b>Required</b>: <tt>No</tt></li> |
| |
| <li><b>Default</b>: <tt>false</tt></li> |
| </ul><hr /> |
| <p><b><a name="verifyRuntime">verifyRuntime</a>:</b></p> |
| |
| <div>Verify the runtime NetBeans module dependencies and Class-Path |
| items generated from Maven dependencies. The check is done by |
| matching classes used in current project. Allowed values for the |
| parameter are <tt>fail</tt>, <tt>warn</tt> and |
| <tt>skip</tt>. The default is <tt>fail</tt> in which case |
| the validation failure results in a failed build, in the vast |
| majority of cases the module would fail at runtime anyway.</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>maven.nbm.verify</tt></li> |
| |
| <li><b>Default</b>: <tt>fail</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 © 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> |