-
Notifications
You must be signed in to change notification settings - Fork 1
DevFaqMavenHowToMigrateFromANT
The following list was created while converting a simple plugin with less than 20 classes, so the migration steps of large projects might vary. But you should get the basic idea.
-
create a new maven based NBM using the “New Project”-wizard (to reuse a working configuration)
-
copy the folder src and pom.xml to the old project
-
in pom.xml
-
define a groupId
-
set the name from OpenIDE-Module-Name entry in Bundle.properties
-
set the artifactid from OpenIDE-Module entry in MANIFEST.MF
-
set the version from OpenIDE-Module-Specification-Version entry in MANIFEST.MF
-
remove the line with OpenIDE-Module-Specification-Version entry from MANIFEST.MF
-
remove the line with OpenIDE-Module entry from MANIFEST.MF
-
remove nbproject/genfiles.properties
-
remove nbproject/platform.properties
-
remove nbproject/build-impl.xml
-
remove build.xml
-
move manifest.mf to folder src/main/nbm
-
move your sources (*.java) to src/main/java (or src/test/java) (GIT is very useful here, the commit history isn’t lost)
-
move your resources (not *.java) to src/main/resources (or src/test/resources) (especially Bundle.properties)
-
add dependencies (the most annoying part)
-
foreach dependency entry (code-name-base) in nbproject/project.xml add a dependency via the “Add dependency” dialog OR add a dependency manually to pom.xml
For example use
<dependency>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-modules-projectapi</artifactId>
<version>RELEASE73</version>
</dependency>
for
<dependency>
<code-name-base>org.netbeans.modules.projectapi</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.46.1</specification-version>
</run-dependency>
</dependency>
(!) Note that the dots in the dependency name have to replaced by a dashes
-
add test dependenciesFor example use
<dependency> <groupId>org.netbeans.api</groupId> <artifactId>org-netbeans-libs-junit4</artifactId> <version>RELEASE73</version> <scope>test</scope> </dependency>
for
<test-dependencies>
<test-type>
<name>unit</name>
<test-dependency>
<code-name-base>org.netbeans.libs.junit4</code-name-base>
<compile-dependency/>
</test-dependency>
</test-type>
</test-dependencies>
There is still more to do. Like to configure export packages, signing, homepage and so one. Most of these configuration settings defined in the original project.properties have a counterpart in the plugin configuration of the nbm-maven-plugin. See the detailed goal documentation at http://mojo.codehaus.org/nbm-maven/nbm-maven-plugin/nbm-mojo.html
Copied from http://benkiew.wordpress.com/2013/10/21/how-convert-an-ant-based-netbeans-module-to-a-maven-based-netbeans-module/. Tested with NB7.4
The content in this page was kindly donated by Oracle Corp. to the Apache Software Foundation.
This page was exported from http://wiki.netbeans.org/DevFaqMavenHowToMigrateFromANT , that was last modified by NetBeans user Markiewb on 2013-10-22T19:52:24Z.
NOTE: This document was automatically converted to the AsciiDoc format on 2018-01-26, and needs to be reviewed.
Apache NetBeans is an effort undergoing incubation at The Apache Software Foundation (ASF).
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.
This wiki is an experiment pending Apache NetBeans Community approval.