<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- (1) -->
<parent>
<artifactId>snap-engine</artifactId>
<groupId>org.esa.snap</groupId>
<version>2.0.0-SNAPSHOT</version>
</parent>
<artifactId>mymod</artifactId>
<!-- (2) -->
<packaging>nbm</packaging> <artifactId>mymod</artifactId>
<name>Human<!--readable mymod name</name>(3) -->
<description>Human-readable mymod description.</description>
<dependencies>
<packaging>nbm</packaging>
<!-- The following 3rd-party dependency will result in a private
(4) -->
<name>Human-readable mymod name</name>
<!-- (5) -->
<description>Human-readable JAR located in ${cluster}/modules/ext/org.esa.snap.mymod/jdom2.jar.mymod description.</description>
<dependencies>
Another NB module depending on mymod and wanting to use jdom2
does not need to import it explicitely again as long as you export
its API as a public package(s). See below.
If you don't export the jdom2 API, a second private ext-JAR will be
created in the cluster.
-- <!-- (6) -->
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom2</artifactId>
<version>2.1</version>
</dependency>
<!-- The following are NB-module dependencies from which the manifest header
OpenIDE-Module-Module-Dependencies will be derived.
--(7) -->
<dependency>
<groupId>org.esa.snap</groupId>
<artifactId>snap-ceres-core</artifactId>
</dependency>
<dependency>
<groupId>org.esa.snap</groupId>
<artifactId>snap-core</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- (8) -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<configuration>
<publicPackages>
<!-- optionally export API from 3rd parthy JARs(9) -->
<publicPackage>org.jdom2.*</publicPackage>
<!-- optionally export API from myext (10) -->
<publicPackage>org.esa.snap.myext</publicPackage>
...
</publicPackages>
</publicPackages>configuration>
</configuration>plugin>
</plugin>!-- (11) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<useDefaultManifestFile>true</useDefaultManifestFile>
</configuration>
</plugin>
</plugins>
</build>
</project>
|