Class PackageJavaFragmentMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
com.tibco.ep.buildmavenplugin.PackageJavaFragmentMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="package-java-fragment", defaultPhase=PACKAGE, threadSafe=true) public class PackageJavaFragmentMojo extends org.apache.maven.plugin.AbstractMojo

Build a java fragment zip archive.

The packaging rules are as follows :-

  1. A mainifest file is created at /META-INF/MANIFEST.MF containing :-
    • Archiver-Version: Plexus Archiver
    • Built-By: build user
    • Build-Jdk: jdk version
    • Package-Title: project groupId and name
    • Package-Version: project version and buildNumber
    • Package-Vendor: project organization name (if set)
    • Main-Class: mainClass parameter (if set)
    • TIBCO-EP-Build-Product-Version: product version
    • Any additional headers or entries defined by an <archive> configuration
  2. pom.xml copied to /META-INF/maven/groupId/artifactId/pom.xml
  3. pom.properties created in /META-INF/maven/groupId/artifactId/pom.properties
  4. The project's built java classes files are copied into /classes
  5. The project's resource files are copied into /
  6. Java runtime dependencies are copied into /dependencies/java/

The plexus archiver is used to create the archive via the maven assembly plugin.

Native archives (nar) are included - in this case a mapping is included from the nar AOL values (http://maven-nar.github.io/aol.html) to internal values.

The generated filename is <artifactId>-<version>-ep-java-fragment.zip