<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> <!-- (2) --> <artifactId>mymod</artifactId> <!-- (3) --> <packaging>nbm</packaging> <!-- (4) --> <name>Human-readable mymod name</name> <!-- (5) --> <description>Human-readable mymod description.</description> <dependencies> <!-- (6) --> <dependency> <groupId>jdom</groupId> <artifactId>jdom2</artifactId> <version>2.1</version> </dependency> <!-- (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> <!-- (9) --> <publicPackage>org.jdom2.*</publicPackage> <!-- (10) --> <publicPackage>org.esa.snap.myext</publicPackage> </publicPackages> </configuration> </plugin> <!-- (11) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <useDefaultManifestFile>true</useDefaultManifestFile> </configuration> </plugin> </plugins> </build> </project> |
artifactId
will be used with the groupId
to generate the manifest header OpenIDE-Module
. The groupId
and version
are inherited from parent in this case. version
will generate the manifest headers OpenIDE-Module-Specification-Version
and OpenIDE-Module-Implementation-Version
, the latter will include a timestamp.OpenIDE-Module-Name
.OpenIDE-Module-Short-Description
OpenIDE-Module-Module-Dependencies
will be derived.org.esa.snap.myext
only exports classes in the myext
package, while the value org.esa.snap.myext.*
exports myext
plus all subpackages, recursively.useDefaultManifestFile
must be set to true
.