| <!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 – Maven 2 NBM 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> <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="HOWTO:_Customize_installers_generated_by_nbm:build-installers"></a>HOWTO: Customize installers generated by nbm:build-installers</h2> |
| <p>Generated installers can be customized by providing user-defined customized templateFile and pass parameters to it with userSettings parameter. See <a href="./build-installers-mojo.html"><tt>build-installers</tt> goal</a> description.</p> |
| <p>User defined template can be used to modify generated installer behavior, e.g. branding of installation environment etc.</p> |
| <div class="section"> |
| <h3><a name="Example_1:_Simple_change_in_installer_code"></a>Example 1: Simple change in installer code</h3> |
| <p>Simple changes into original Harness installer code can be made by filtering corresponding file using Ant in templateFile.</p> |
| <p>Following code added into <tt>prepare-sources</tt> target takes rid of the "Run application when installer finished" checkbox at the last page of installer wizard:</p> |
| <div class="source"> |
| <pre><replace file="${installer.build.dir}/ext/engine/src/org/mycompany/installer/wizard/components/panels/PostInstallSummaryPanel.java" encoding="utf-8"> |
| <replacefilter token="runAppNow.doClick();" value="runAppNow.setVisible(false);"/> |
| </replace></pre></div></div> |
| <div class="section"> |
| <h3><a name="Example_2:_More_complex_installer_code_changes"></a>Example 2: More complex installer code changes</h3> |
| <p>If the code changes become more complex better solution is to replace entire Harness files with modified versions.</p> |
| <p>For example, you would like to register file associations for your application.</p> |
| <p>First of all, prepare your modified version of the file ConfigurationLogic.java according to the instructions at <a class="externalLink" href="http://wiki.netbeans.org/NBIFileAssosiations">http://wiki.netbeans.org/NBIFileAssosiations</a>.</p> |
| <p>As a next step add a copy task into <tt>prepare-sources</tt> target in your templateFile:</p> |
| <div class="source"> |
| <pre><copy file="${configuration.logic.file}" overwrite="true" tofile="${installer.build.dir}/ext/components/products/helloworld/src/org/mycompany/ConfigurationLogic.java"/></pre></div> |
| <p>and finally define <tt>configuration.logic.file</tt> parameter in the application's pom:</p> |
| <div class="source"> |
| <pre><plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>nbm-maven-plugin</artifactId> |
| <configuration> |
| <templateFile>${basedir}/installer/template.xml</templateFile> |
| <userSettings> |
| <configuration.logic.file>${basedir}/installer/ConfigurationLogic.java</configuration.logic.file> |
| </userSettings> |
| </configuration> |
| </plugin></pre></div></div> |
| <div class="section"> |
| <h3><a name="Example_3:_Branding_of_installer_images"></a>Example 3: Branding of installer images</h3> |
| <p>If installer left corner image has to be branded, following code can be added to templateFile target <tt>prepare-sources</tt>:</p> |
| <div class="source"> |
| <pre><condition property="ilc.path" value="${nbi.instleftcorner.file}"> |
| <and> |
| <isset property="nbi.instleftcorner.file"/> |
| <available file="${nbi.instleftcorner.file}"/> |
| </and> |
| </condition> |
| <condition property="ilc.defined"> |
| <and> |
| <isset property="nbi.instleftcorner.file"/> |
| <available file="${nbi.instleftcorner.file}"/> |
| </and> |
| </condition> |
| <antcall target="-prepare-ilc"/></pre></div> |
| <p>In addition, new target <tt>-prepare-ilc</tt> has to be defined, e.g. at the end of templateFile:</p> |
| <div class="source"> |
| <pre><target name="-prepare-ilc" if="ilc.defined"> |
| <copy file="${ilc.path}" tofile="${installer.build.dir}/ext/engine/src/org/mycompany/installer/wizard/wizard-description-background-left.png" overwrite="true"/> |
| </target></pre></div> |
| <p>which effectively replaces the desired image.</p> |
| <p>Finally, update application's pom:</p> |
| <div class="source"> |
| <pre><plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>nbm-maven-plugin</artifactId> |
| <configuration> |
| <templateFile>${basedir}/installer/template.xml</templateFile> |
| <userSettings> |
| <nbi.instleftcorner.file>${basedir}/installer/ilc.png</nbi.instleftcorner.file> |
| </userSettings> |
| </configuration> |
| </plugin></pre></div> |
| <p>More information: <a class="externalLink" href="http://wiki.netbeans.org/NBI">http://wiki.netbeans.org/NBI</a></p></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> |