This page last changed on Aug 08, 2011 by alitokmen.

Mission

Cargo is a thin wrapper that allows you to manipulate Java EE containers in a standard way.  

Tools

Cargo provides the following Tools and APIs:

  • A Java API to start/stop/configure Java Containers and deploy modules into them.
  • A Java API to parse/create/merge Java EE Modules
  • Ant tasks and Maven 2/Maven 3 plugins.
    • Intellij IDEA and Netbeans plugins are in the sandbox.

Usage

Cargo is often used to deploy applications to containers from ant or maven builds.  Cargo can install the container and dependencies needed for your deployment as well.   Click here for a Maven 2 quick start!

For more use cases, please check the utilisation page.

Development Status

Current Versions

click in the status column to get release notes:

Version Status Comments
1.1.2 Released on 06/08/2011

All released versions are available here.

Container Support

List of supported containers and the extensions that are implemented for each container (Java API, Ant tasks and Maven2/Maven3 plugin). The specified version is the version of the associated Cargo module where the feature was first made available (for example 0.2 for the Maven2 plugin means version 0.2 of the Cargo Maven 2 extension release). Click on a container's name to see a detailed list of features it supports.

Container Java API (version) Ant tasks (version) Maven 2 plugin (version)
Geronimo 1.x
0.8

0.8

0.8
Geronimo 2.x
1.0.4

1.0.4

1.0.4
Glassfish 2.x
1.0.1

1.0.1

1.0.1
Glassfish 3.x
1.0.1

1.0.1

1.0.1
JBoss 3.x
0.7

0.7

0.7
JBoss 4.x
0.7

0.7

0.7
JBoss 4.2.x
1.0

1.0

1.0
JBoss 5.x
1.0

1.0

1.0
JBoss 5.1.x
1.0.1

1.0.1

1.0.1
JBoss 6.x
1.0.1

1.0.1

1.0.1
JBoss 7.x
1.1.2

1.1.2

1.1.2
Jetty 4.x
0.1

1.0

0.2
Jetty 5.x
0.8

1.0

0.2
Jetty 6.x
0.8

1.0

0.2
Jetty 7.x
1.0.1

1.0.1

1.0.1
jo! 1.x
0.5

0.5

0.1
JOnAS 4.x
1.0

1.0

1.0
JOnAS 5.x
1.0

1.0

1.0
JRun 4.x
1.0

1.0

1.0
Oc4J 9.x
0.3

0.3

0.3
Oc4j 10.x
1.0

1.0

1.0
Resin 2.x
0.1

0.1

0.1
Resin 3.x
0.1

0.1

0.1
Tomcat 4.x
0.1

0.1

0.1
Tomcat 5.x
0.1

0.1

0.1
Tomcat 6.x
1.0

1.0

1.0
Tomcat 7.x
1.0.2

1.0.2

1.0.2
WebLogic 8.x
0.3

0.3

0.1
WebLogic 9.x
1.0

1.0

1.0
WebLogic 10.x
1.0

1.0

1.0
WebLogic 10.3.x
1.0

1.0

1.0


We also encourage you to report success and failures on different versions of those containers in the Tested on section. Moreover, some containers are tested dialy on the Codehaus Cargo Continous Integration System; for these the container's page also shows which version is tested.

News

CARGO 1.1.2 now available!

Hi CARGO enthusiasts

CARGO 1.1.2 is now ready, it comes with a number of new features and bug fixes.

On the new features and improvements side:

  • CARGO now supports JBoss 7! (CARGO-1014)
  • We have added new Maven2/Maven3 archetypes:
  • Many CARGO components are now much easier to use:
    • Configuration properties can now be set using Java system properties (-Dxxx=yyy) (CARGO-1007, CARGO-1009)
    • The CARGO JBoss remote deployers are not needed to be in the classpath anymore, they're part of the JBoss container and are loaded dynamically (CARGO-1015)
  • The cargo:run mojo is now much easier to use, and in many cases requires no plugin configuration at all:
    • Configuration properties can now be set using Java system properties (-Dxxx=yyy) (CARGO-1007, CARGO-1009)
    • New attributes: containerId and containerUrl (CARGO-970)

You can read our reworked Maven2/Maven3 plugin getting started guide, http://cargo.codehaus.org/Maven2+Plugin+Getting+Started and realize how easy it now is to use CARGO on any existing Maven2/Maven3 Java EE project; no configuration is required at all!

Of course, there are also some bug fixes:

  • The Cargo Maven2/Maven3 deployer no more ignores deployables in the <configuration> element of the container (CARGO-1002)
  • Adding a configuration file to a non-existing target directory does not result in FileNotFoundException anymore (CARGO-1004)
  • The Maven2/Maven3 mojos now enable the logger in debug mode (CARGO-1010)
  • The remote deployers now get their logger from the configuration (CARGO-1012)
  • Some UberWar fixes:
    • Dollar sign in value no more breaks NodeMerge strategy (CARGO-1016)
    • Comma can now serve as a pattern end mark (CARGO-1017)
    • Left side expression no more appears twice in the merged result (CARGO-1018)
  • cargo:deploy on JBoss now works even when internet is unavailable (CARGO-1019)
  • The JOnAS installed local deployer does not show an incorrect warning anymore (CARGO-1021)

Enjoy!

Cargo Gradle plugin

Hi Cargo and Gradle lovers

A while ago Ben has released the first version of the Cargo plugin for Gradle.

The plugin provides deployment capabilities for web applications to local and remote containers in any given Gradle build by leveraging the Cargo Ant tasks. It extends the Gradle War plugin.

The plugin provides most of the functionality you might know from the Cargo Maven plugin or the Ant tasks; in fact internally it uses the Cargo tasks.

Any feedback is highly welcome and Ben announced he would love to improve the plugin to support all the functionality you were used to from other Cargo integrations. Please have a look at the README file for the current functionality.

Enjoy!


architecture.jpg (image/jpeg)
architecture.jpg (image/jpeg)
access-layers.jpg (image/jpeg)
access-layers.jpg (image/jpeg)
access-layers.jpg (image/jpeg)
Document generated by Confluence on Aug 13, 2011 20:11