<!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; Maven 2 NB Repository Plugin</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="HOWTO:_Upload_NetBeans_release_binaries_to_a_Maven_repository"></a>HOWTO: Upload NetBeans release binaries to a Maven repository</h2>
<p>There is a goal that converts the NetBeans module information into Maven metadata and is capable of uploading the module jar file, javadoc, sources and nbm files to local and remote repositories. See <a href="./populate-mojo.html"><tt>populate</tt> goal</a> description.</p>
<p>For a binary-only upload (jar files and nbm files only), it's possible to download the bits from official sites. See below for URLs. For the complete upload, you will need to checkout the sources of the IDE/Platform you want to upload. See this FAQ entry on <a class="externalLink" href="http://wiki.netbeans.org/DevFaqAccessSourcesUsingMercurial">HowTo checkout sources from Hg</a></p>
<p>To have external dependencies correctly identified by their real GAV, you will need to download the index from central (or other) repository. See <a href="./download-mojo.html"><tt>download</tt> goal</a></p>
<p>The goal has multiple input parameters that link the goal to binaries prepared beforehand.</p>
<ul>
<li><b>netbeansInstallDirectory</b> designates the base directory where resides the NetBeans installation that shall be uploaded. It can be either <a class="externalLink" href="http://www.netbeans.org/downloads/index.html">downloaded as zip</a> or built from sources. Run <tt>ant</tt> in your local hg clone to build the distribution at <tt>nbbuild/netbeans</tt> sundirectory.</li>
<li><b>netbeansNbmDirectory</b> designates the base directory where the nbm files are located. Run <tt>ant build-nbms</tt> in your local <tt>hg clone</tt> to build the nbms at <tt>nbbuild/nbms</tt> directory or download it from the <a class="externalLink" href="http://updates.netbeans.org/netbeans">http://updates.netbeans.org/netbeans</a> space eg. final <b>6.5</b> version at <a class="externalLink" href="http://updates.netbeans.org/netbeans/6.5/final/uc/">http://updates.netbeans.org/netbeans/<b>6.5</b>/final/uc/</a>. Use a tool like <tt>wget</tt> to download the complete directory tree to a directory designated by the <b>netbeansNbmDirectory</b> parameter.</li></ul>
<ul>
<li><b>netbeansSourcesDirectory</b> designates the base directory containing zip files with module jar sources. Run <tt>ant build-source-zips</tt> in your local hg clone to build the nbms at <tt>nbbuild/build/source-zips</tt> directory.</li>
<li><b>netbeansJavadocDirectory</b> designates the base directory containing zip files with javadoc zips for modules with public apis. Run <tt>ant build-javadoc</tt> in your local hg clone to build the nbms at <tt>nbbuild/build/javadoc</tt> directory.</li></ul></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>