Class PackageApplicationMojo

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

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

Build an application 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)
    • TIBCO-EP-Application-Format-Version: 1
    • 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. Discovered application definition file is copied into /META-INF/application.conf
  5. The project's resourcedirectory/artifactId/ files are copied to /app-config/fragmentname/
  6. The project's resourcedirectory/groupId-artifact/ files are copied to /app-config/fragmentname/
  7. The project's resourcedirectory/groupId-artifact-version/ files are copied to /app-config/fragmentname/
  8. Remaining resource files are copied into /
  9. Dependent fragments are copied into /

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

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