<!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; Tag List report</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="Tag_List_Report"></a>Tag List Report</h2>
<p>The following document contains the listing of user tags found in the code. Below is the summary of the occurrences per tag.</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Tag Class</th>
<th>Total number of occurrences</th>
<th>Tag strings used by tag class</th></tr>
<tr class="b">
<td>@todo</td>
<td>0</td>
<td>@todo</td></tr>
<tr class="a">
<td><a href="#tag_class_2">TODO</a></td>
<td>16</td>
<td>TODO</td></tr></table>
<p>Each tag is detailed below:</p>
<div class="section">
<h3><a name="TODO"></a><a name="tag_class_2">TODO</a></h3>
<p><b>Number of occurrences found in the code: 16</b></p>
<table border="0" class="bodyTable">
<tr class="b">
<th>org.netbeans.nbm.AbstractNbmMojo</th>
<th>Line</th></tr>
<tr class="a">
<td>I can see how someone might want to include an osgi bundle as library, not dependency. I guess it won't matter much in 6.9+, in older versions it could be a problem.</td>
<td><a href="./xref/org/netbeans/nbm/AbstractNbmMojo.html#81">81</a></td></tr>
<tr class="b">
<td>, it would be nice to have a check to see if the &quot;to-be-created&quot; module nbm artifact is actually already in the list of dependencies (as &quot;nbm-file&quot;) or not.. that would be a timesaver</td>
<td><a href="./xref/org/netbeans/nbm/AbstractNbmMojo.html#383">383</a></td></tr>
<tr class="a">
<th>org.netbeans.nbm.CreateClusterAppMojo</th>
<th>Line</th></tr>
<tr class="b">
<td>--No comment--</td>
<td><a href="./xref/org/netbeans/nbm/CreateClusterAppMojo.html#234">234</a></td></tr>
<tr class="a">
<td>examine netbeans/config/Modules to see if the module is autoload/eager in verifyIntegrity these could be handled more gracefully than regular modules. eager is simpler, does not need to have module dependencies satisfied. autoload needs checking if any of the other modules declares a dependency on it. if not, also safe to ignore?</td>
<td><a href="./xref/org/netbeans/nbm/CreateClusterAppMojo.html#326">326</a></td></tr>
<tr class="b">
<td>still some free room there, what if they don't directly depend on each other but still are related</td>
<td><a href="./xref/org/netbeans/nbm/CreateClusterAppMojo.html#1074">1074</a></td></tr>
<tr class="a">
<th>org.netbeans.nbm.CreateClusterMojo</th>
<th>Line</th></tr>
<tr class="b">
<td>how to figure where the the buildDir/nbm directory is</td>
<td><a href="./xref/org/netbeans/nbm/CreateClusterMojo.html#83">83</a></td></tr>
<tr class="a">
<th>org.netbeans.nbm.CreateStandaloneMojo</th>
<th>Line</th></tr>
<tr class="b">
<td>- somehow check for last modified content to see if we shall be recreating the zip file.</td>
<td><a href="./xref/org/netbeans/nbm/CreateStandaloneMojo.html#90">90</a></td></tr>
<tr class="a">
<th>org.netbeans.nbm.CreateUpdateSiteMojo</th>
<th>Line</th></tr>
<tr class="b">
<td>check for bundles</td>
<td><a href="./xref/org/netbeans/nbm/CreateUpdateSiteMojo.html#226">226</a></td></tr>
<tr class="a">
<td>how to figure where the the buildDir/nbm directory is</td>
<td><a href="./xref/org/netbeans/nbm/CreateUpdateSiteMojo.html#239">239</a></td></tr>
<tr class="b">
<td>optimize and only do once per execution.</td>
<td><a href="./xref/org/netbeans/nbm/CreateUpdateSiteMojo.html#401">401</a></td></tr>
<tr class="a">
<th>org.netbeans.nbm.CreateWebstartAppMojo</th>
<th>Line</th></tr>
<tr class="b">
<td>, how to figure verify excludes..</td>
<td><a href="./xref/org/netbeans/nbm/CreateWebstartAppMojo.html#270">270</a></td></tr>
<tr class="a">
<td>is it really netbeans/</td>
<td><a href="./xref/org/netbeans/nbm/CreateWebstartAppMojo.html#319">319</a></td></tr>
<tr class="b">
<th>org.netbeans.nbm.NetBeansManifestUpdateMojo</th>
<th>Line</th></tr>
<tr class="a">
<td>report</td>
<td><a href="./xref/org/netbeans/nbm/NetBeansManifestUpdateMojo.html#520">520</a></td></tr>
<tr class="b">
<td>really UTF-8??</td>
<td><a href="./xref/org/netbeans/nbm/NetBeansManifestUpdateMojo.html#578">578</a></td></tr>
<tr class="a">
<td>how to extract the public packages in osgi bundles easily..</td>
<td><a href="./xref/org/netbeans/nbm/NetBeansManifestUpdateMojo.html#866">866</a></td></tr>
<tr class="b">
<th>org.netbeans.nbm.RunNetBeansMojo</th>
<th>Line</th></tr>
<tr class="a">
<td>--jdkhome</td>
<td><a href="./xref/org/netbeans/nbm/RunNetBeansMojo.html#211">211</a></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>