Skip to end of metadata
Go to start of metadata

Application Assembler

Generates a structure like:

bin/
conf/
ext/
repo/<maven repository>

bin contains a set of wrapper scripts that will build a classpath from repo/ and start the application.

Operation Modes

Release Mode

Builds the application by copying over all dependent artifacts and the artifact itself into repo/ and creates scripts in bin/ that will execute the application.

SNAPSHOT Mode

Includes a few Maven artifacts to enable downloading of updated artifacts. Adds a special script under bin/ to update the content of the built-in repository (repo/)

Test Mode

Generates bin scripts that builds the classpath from ~/.m2/repository instead of from repo/. This makes faster to test the application without having to reassemble the entire application.

Example Configuration

Development Proposals

Launchers

A launcher can be said to include any component that allows a java cass to interact with the native system in a way that the native system expects. On windows it might be an executable file or a shell script on a *nix platform that can launch a the java vm.

Maximum flexibility can be achieved if the launcher element can specify the platform. this also allows a single assembly to include launchers for multiple platforms:

however it might be useful to define a wrapping element that specifies the platform because there will likely be multiple configuration components that use the same platform. For example:

The same effect can be had in the second example by creating multiple "applications" and pointing them at the same target.

Application Layout

By using a layout configuration element, the layout of the final product can be controlled by the developer while still allowing the plugin to properly place the components in the correct place:

The names of the default layout don't really matter although the meaning of the different configuration elements in a layout matter (and so does keeping things so they look as expected).

element

default

meaning

bin

bin

The locationt aht the launchers and supporting code is deposited.

conf

conf

The location of configuration files for the application.

jarLib

jarLib

The location for jar libraries

nativeLib

nativeLib

The location of any native components/liraries.

jreHome

jreHome

The location of the bundles jre (if that feature is added).

repo

repo

?

ext

ext

?

Labels
  • None
  1. May 16, 2006

    I tried looking for this pluginin ibiblio but could not find out.

    Where can I get this plugin from?

  2. Dec 03, 2006

    It's still a long way from being released. If you want to play you'll have to check it out of the codehaus mojo repository.