This page last changed on Nov 03, 2010 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, Maven 1, Maven 2 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.0.4 Released on 03/11/10

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 Maven plugins). 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 1 plugin(version) Maven 2 plugin(version)
Geronimo 1.x
0.8

0.8

0.8

0.2
Geronimo 2.x
1.0.4

1.0.4

1.0.4

1.0.4
Glassfish 2.x
1.0.1

1.0.1

1.0.1

1.0.1
Glassfish 3.x
1.0.1

1.0.1

1.0.1

1.0.1
JBoss 3.x
0.7

0.7

0.7

0.1
JBoss 4.x
0.7

0.7

0.7

0.1
JBoss 4.2.x
1.0

1.0

1.0

1.0
JBoss 5.x
1.0

1.0

1.0

1.0
JBoss 5.1.x
1.0.1

1.0.1

1.0.1

1.0.1
JBoss 6.x
1.0.1

1.0.1

1.0.1

1.0.1
Jetty 4.x
0.1

1.0

1.0

0.2
Jetty 5.x
0.8

1.0

1.0

0.2
Jetty 6.x
0.8

1.0

1.0

0.2
Jetty 7.x
1.0.1

1.0.1

1.0.1

1.0.1
jo! 1.x
0.5

0.5

0.5

0.1
JOnAS 4.x
1.0

1.0

1.0

1.0
JOnAS 5.x
1.0

1.0

1.0

1.0
JRun 4.x
1.0

1.0

1.0

1.0
Oc4J 9.x
0.3

0.3

0.5

0.1
Oc4j 10.x
1.0

1.0

1.0

1.0
Resin 2.x
0.1

0.1

0.5

0.1
Resin 3.x
0.1

0.1

0.5

0.1
Tomcat 4.x
0.1

0.1

0.5

0.1
Tomcat 5.x
0.1

0.1

0.5

0.1
Tomcat 6.x
1.0

1.0

1.0

1.0
Tomcat 7.x
1.0.2

1.0.2

1.0.2

1.0.2
WebLogic 8.x
0.3

0.3

0.5

0.1
WebLogic 9.x
1.0

1.0

1.0

1.0
WebLogic 10.x
1.0

1.0

1.0

1.0
WebLogic 10.3.x
1.0

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.

News

CARGO 1.0.3 now available !

Hello CARGO enthusiasts,

6 weeks after CARGO 1.0.2, CARGO 1.0.3 has been released. That new version comes with 28 bug fixes and various improvements, in particular attention has been paid to remote containers:

  • In the "CARGO samples", which run many tests on various containers and therefore guarantee a certain level of quality, we have re-enabled the testing of all Remote containers (CARGO-818).
  • For a long (looooong) time, the CARGO JBoss remote deployer could not actually deploy to remote servers: it was expecting the file to deploy to be accessible by the JBoss server (which is possible using technologies like NFS, but that's not natural is it?). With CARGO 1.0.3, the JBoss remote deployer can upload and deploy your applications remotely on your JBoss server (versions 4.0.x, 4.2.x, 5.0.x, 5.1.x and 6.0.x). Read more here: http://cargo.codehaus.org/JBoss+Remote+Deployer, issue link here: CARGO-416
  • On Jetty, the deployer helper application's path has been set to /cargo-jetty-deployer (it used to be the WAR's name, which contains version number and other non-determinictic data) (CARGO-820).
  • On JOnAS, remote authentication issues have been corrected (CARGO-836) and the CARGO JOnAS deployer now supports the "development" mode (available since JOnAS 5) (CARGO-838).
  • The Tomcat 7 remote deployer has been fixed (CARGO-817).

Moreover, CARGO 1.0.3 fixes other issues and adds interesting functionalities, of which:

  • The Maven2 plugin now has a "skip" element for skipping CARGO (CARGO-481). That property can also be passed via a system environment variable.
  • Fixed the MANIFEST of the WAR generated by CARGO uberwar (CARGO-727).
  • Stopping the container does not longer corrupt the output file (CARGO-520).

Finally, we have also started a big move under the hood: move to Nexus (see the subtasks of CARGO-810 for details). The CARGO project does no longer use the "old-style" CARGO Maven2 repository, but rather uses Nexus.

  • CARGO now uses the new Codehaus artifact release process and infrastructure
  • CARGO artifacts are now signed (with GPG keys) in addition to the pre-existing MD5 and SHA1 checksums.
  • In the future, this will give the opportunity to better manage our releases; taking advantage of the staging features of Nexus.

Enjoy this new release!

CARGO 1.0.2 released!

Hello CARGO enthusiasts

Since the release of CARGO 1.0.1 about a month ago, very important bugs have been fixed:

  • The CARGO Maven2 was unusable for configurations with datasource configurations. We've also updated the Java API and ANT tasks' documentation accordingly.
  • The CARGO ANT tasks required the CARGO uberjar to be in the ANT's $ANT_HOME/lib directory -which is not the way it was documented.

We have also made major improvements:

  • To avoid these two major bugs from showing up again, we have started adding samples for the ANT tasks and Maven2 plugin; exactly the way all containers are tested using the Java API.
  • All plugin dependencies now have their version numbers fixed. This enhances reproducibility and guarantees that CARGO can be built and will work, the exact same way, even years later.
  • The Maven2 plugin now has a help goal.
  • Tomcat 7.x has been added to the supported containers list, only weeks after its official release
  • The Jetty 7.x remote deployer has been fixed.

This new version, CARGO 1.0.2, is now available for use.

Users of the Java API and ANT tasks can download this new version from the http://cargo.codehaus.org/Downloads page.

Those who prefer Maven2 only need to update their version number. In the case the new version is not on the Maven central yet, please also add the http://repository.codehaus.org/ repository is in your Maven2 repositories list.

Everyone enjoy this new version


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 Nov 03, 2010 20:46