Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Discussion on the design of the Maven 2 plugin.

Use cases to implement:

  • Ability to start/stop a container (possibly deploying some deployables to it as it start) - cargo:start, cargo:stop. This is not the most useful use case IMO but we should support it. In this scenario Maven would be used as a convenience to start a container.
    • Make sure to support the case where the packaging is war. In that case we should support automatically including the generated WAR in the deployment.
  • Ability to deploy to a remote container. Very useful for automating deployments with Maven (cargo:deploy).
  • Ability to create a fully working custom configuration and possibly package some deployables in it. Then delivery this configuration as an artifact (cargo:package)

Note: the usage of Cargo for doing functional tests on a container do not need a m2 plugin. We should tell users to directly use the Cargo Java API from their JUnit tests (as described in


Example of m2 configuration:

  • A configuration specifies only the setting for a single container. If the user wants to run on several containers he must use the m2 <execution> element.
  • We'll define a default for all configuration element so that just typing "mvn cargo:start" without any config will work. Let's use Jetty as the default container for war packaging (because it's the fastest to load) and Orion as the default for EAR packaging (again because it's the fastest we have for now - We really need to implement support for OpenEJB though).
  • No labels