Usage

There are different ways to use the CoreMedia Application Plugin:

  • create a single application with the coremedia-application:package-inplace goal
  • package a single/merged CoreMedia Application with the coremedia-application:zip-it goal
  • merge multiple coremedia-applications with the coremedia-application:package-inplace goal

By default the goal package-inplace is bound to the prepare-package and the goal zip-it to the package phase.

To illustrate the general way of using the CoreMedia Application Plugin for coremedia-applications, here's a pom.xml of an example project:

<project>
  ...
  <groupId>com.coremedia.example.project</groupId>
  <artifactId>example-application</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>coremedia-application</packaging>

  <name>Example Application Project</name>

  <dependencies>
    <dependency>
      <groupId>com.coremedia.example.project</groupId>
      <artifactId>application-lib</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>

  <build>
  <finalName>applicationName</finalName>
   <plugins>
      <plugin>
        <groupId>com.coremedia.maven</groupId>
        <artifactId>coremedia-application-maven-plugin</artifactId>
        <extensions>true</extensions>
      </plugin>
   </plugins
  </build>
  ...
</project>

The project's structure looks like this:

 .
 |-- pom.xml
 `-- src
     `-- main
         `--app
            |--bin
            |  `--applicationName.jpif
            |--config
            |  `--applicationName
            |     `--spring
            |        `--applicationContext.xml
            `--properties
               `--corem
                  `--application.properties

Invoking

mvn package

or

mvn coremedia-application:package-inplace coremedia-application:zip-it

will generate the ZIP file target/applicationName-1.0-SNAPSHOT.zip. Here are the contents of that ZIP file:

applicationName-1.0-SNAPSHOT.zip
  |
  |--META-INF
  |  `--MANIFEST.MF
  |--bin
  |  `--applicationName.jpif
  |--config
  |  `--applicationName
  |     `--spring
  |        `--applicationContext.xml
  |--properties
  |  `--corem
  |     `-application.properties
  `--lib
     `--application-lib-1.0-SNAPSHOT.jar