Blog

Blog

Dear CARGO enthusiasts

CARGO 1.2.1 is now available; and no this is definitely not an April fool!

Of course, all of you are wondering what that release brings in... As usual, we have a certain number of fixes and improvements; major highlights are:

  • 12 bug fixes, be it for core components but also for containers.
  • CARGO now supports starting an installed local container independently from the starting instance (Java API, ANT or Maven2/Maven3 plugin); so that the started container can "outlive". This new feature is called spawning.
  • The Jetty container now supports existing local configuration.
  • JBoss 7.1.0 and 7.1.1 (Final versions) are supported.
  • The XML merger (i.e., uberwar) now does a much more careful work when it comes to merging duplicate XML entities.

To use this new version:

  • Users of the Java API and/or ANT tasks can download the CARGO uberjar and ANT tasks from the download page: http://cargo.codehaus.org/Downloads
  • Maven2/Maven3 users simply need to change the plugin's <version> to 1.2.1, and Maven2/Maven3 will download the new version automatically.

Please share your good (and bad) findings on the user@cargo.codehaus.org mailing list.

As usual, for those who are wondering, please find below the full change list:

  • The following issues with the XML merger (i.e., uberwar) have been fixed:
    • [CARGO-1078] - Duplicate entries when merging <filter-mapping>
    • [CARGO-1080] - Duplicate entries when merging servlet mappings
    • [CARGO-1081] - Duplicate entries when merging security constraints
    • [CARGO-1094] - Duplicate init-param element when merging filter
    • [CARGO-1096] - XML merger adds xmlns="" entries
  • JBoss-specific fixes:
    • [CARGO-1086] - CARGO doesn't work with JBoss 7.1.0.Final
    • [CARGO-1087] - remote deployment to JBoss AS 7.1.0.Final in standalone configuration leads to javax.security.sasl.SaslException
    • [CARGO-1088] - Undeploy fails with a non-farm configuration
  • Jetty-specific fixes:
    • [CARGO-1085] - WAR authentication does not work with embedded Jetty 7.6.x and 8.1.x
  • GlassFish-specific fixes:
    • [CARGO-1077] - Standalone GlassFish configuration deletes all existing GlassFish domain when started
  • Tomcat-specific fixes:
    • [CARGO-1082] - CARGO does not create the list of roles in the Tomcat users XML
  • Fixes relating to the Maven2/Maven3 plugin:

 

  • General improvements:
    • [CARGO-364] - Allow spawned execution of an local containers to enable the app server to outlive the calling CARGO application (Java API, ANT or Maven2/Maven3)
  • XML merger (i.e., uberwar) improvements:
    • [CARGO-1079] - Add support for merging <mime-mapping>
  • Jetty-specific improvements:
    • [CARGO-1083] - Add Jetty support to existing local configuration for installed container
    • [CARGO-1093] - Allow jetty existing local container to start using only configuration on the server
  • GlassFish-specific improvements:
    • [CARGO-1071] - Allow to start GlassFish domain in debug mode
    • [CARGO-1072] - Allow to set GlassFish debugger port
  • Improvements on the Maven2/Maven3 plugin
    • [CARGO-1097] - Make use of maven artifact when computing location for deployable and dependency

You can also see the HTML release notes via https://jira.codehaus.org/secure/ReleaseNote.jspa?version=18290&styleName=Html&projectId=10730

Enjoy!

CARGO 1.2.0 now available!

Dear CARGO enthusiasts

First of all, happy New Year!

Since the last release of CARGO a bit more than one month and a half ago, we have had the opportunity of fixing some bugs and adding the functionalities:

  • CARGO Maven2/Maven3 plugin fixes and improvements:
    • ContainerStopMojo now can resolve dependencies with scope <test>, the same way ContainerRunMojo and ContainerStartMojo can (CARGO-1069 and CARGO-527).
    • The functional-tests artifact of the Separate Functional Test Module Archetype now uses packaging=jar and is compatible with m2e (CARGO-1065).
    • The CARGO plugin now resolves the required container JARs automatically (CARGO-975), meaning that if you're for example only using CARGO with the Jetty container than the other containers' JARs will not be downloaded.
  • Fixed a bug where the JSR-88 deployers' (used by the GlassFish remote deployer) undeploy method ignored the EAR's name ( CARGO-1076).
  • All CARGO JBoss containers, from the 10-year-old JBoss 3.x to the brand-new JBoss 7.1.x, now support datasources (CARGO-426). You can therefore now use CARGO to deploy datasources to any JBoss container; the bigger advantage being that the datasource definitions don't need to change between JBoss versions nor between all containers that CARGO can deploy datasources to.
  • The JOnAS remote deployer now works with Windows for XML deployment plans (CARGO-1067).
  • The Resin container has been improved:
  • Last but not least, the new XML replacement API introduced in CARGO 1.1.4, which avoids having CARGO-specific container configuration files in the distribution, is now used more extensively; as the Jetty (CARGO-1060), Resin (CARGO-1075) and Tomcat (CARGO-1061) container also make use of it.
    • This way, not only we won't have to maintain these CARGO-specific files manually anymore, but also new versions will be supported "out of the box" and CARGO will also work with different flavours of containers.

CARGO 1.2.0 is therefore now ready. Please note that on the API side, this new minor version comes with some behavioural changes and the removal of some elements (which have been deprecated for over 6 months now):

  • To achieve automatic resolution of container JARs in the Maven2/Maven3 container, a small change has been done in the ResourceUtils: it now loads resources using a class loader (as opposed to a class, which was the case in the past), hence AbstractLocalConfiguration.RESOURCE_PATH has been changed from "/org/codehaus/cargo/container/internal/resources/" to "org/codehaus/cargo/container/internal/resources/" (without the slash at the beginning). If your code uses the same constant, make sure you update it properly.
  • The Deployable.isExpanded* and AbstractCopyingInstalledLocalDeployer.setShouldDeployExpanded*s methods have been removed (CARGO-905 and CARGO-940). As a replacement:
    • The Deployable type has a generic isExpanded method.
    • AbstractCopyingInstalledLocalDeployer has a generic method setShouldDeployExpanded with two arguments.
  • File handling methods that manipulate texts now need to specify the encoding (CARGO-909).
  • In the Maven2/Maven3 plugin, the <zipUrlInstaller> and <artifactInstaller> don't have the <installDir> attribute anymore, replaced by <downloadDir> and <extractDir> attributes (CARGO-916).
  • TomcatPropertySet.MANAGER_URL (i.e. cargo.tomcat.manager.url) has been removed (CARGO-965), please use the generic RemotePropertySet.URI (i.e. cargo.remote.uri) instead.

You can access the full release notes by visiting https://jira.codehaus.org/secure/ReleaseNote.jspa?version=17088&styleName=Html&projectId=10730

To use this new version:

  • Users of the Java API and/or ANT tasks can download the CARGO uberjar and ANT tasks from the download page: http://cargo.codehaus.org/Downloads
  • Maven2/Maven3 users simply need to change the plugin's <version> to 1.2.0, and Maven2/Maven3 will download the new version automatically.

Please share your good (and bad) findings on the user@cargo.codehaus.org mailing list.

Enjoy!

CARGO 1.1.4 now available!

Dear CARGO enthusiasts

About 8 weeks have passed since the last CARGO release. During these weeks, some fixes and improvements have been implemented in CARGO and the new version 1.1.4 is now ready. These changes include:

  • General:
    • Harmonized the behaviour when copying configuration files, now both <file> and <configfiles> can copy directories [CARGO-1045]
    • Improved the module hierarchy and dependencies [CARGO-1011]
      • This way, the CARGO Maven2 plugin doesn't use the uberjar anymore but rather the individual artifacts
    • Cleaned notes about old CARGO versions from documentation [CARGO-997]
    • Corrected Javadoc for MergeStrategy.inRight() [CARGO-1046]
  • JBoss:
    • JBoss 7.1.0 beta 1 is now supported [CARGO-1063]
    • The JBoss 5.x and 6.x remote deployers now take into account username and password [CARGO-1058]
    • JBoss 5.x, 5.1.x, 6.x, 6.1.x and 7.x local containers don't have cargo-specific XML files anymore [CARGO-839]
  • Jetty:
    • Fixed compatibility issues between the remote Jetty deployer and jetty-hightide (Jetty@Codehaus) [CARGO-983]
    • Remote Jetty deployer now works with Jetty 8.x with the default OPTIONS [CARGO-1049]
    • Fixed the default CARGO OPTIONS for the Jetty 8.x container [CARGO-1050]
  • JOnAS:
    • Remote deployer can now undeploy deployment plans on JOnAS 5.x [CARGO-1047]
    • The standalone JOnAS container can now set any JOnAS configurator property [CARGO-1054]
    • The modular ANT tasks are used when configuring the latest JOnAS 5.3 milestones [CARGO-1057]
    • The JOnAS remote deployer has a new "ignore version" option [CARGO-1048]
  • GlassFish:
    • GlassFish2xAsAdmin now takes into account the timeout set in the container [CARGO-1055]
  • Maven2/Maven3 plugin:
    • Different executions can now have different configuration options [CARGO-1053]

You can access the full release notes by visiting https://jira.codehaus.org/secure/ReleaseNote.jspa?version=17845&styleName=Html&projectId=10730

To use this new version:

  • Users of the Java API and/or ANT tasks can download the CARGO uberjar and ANT tasks from the download page: http://cargo.codehaus.org/Downloads
  • Maven2/Maven3 users simply need to change the plugin's <version> to 1.1.4, and Maven2/Maven3 will download the new version automatically.

Please share your good (and bad) findings on the user@cargo.codehaus.org mailing list.

Enjoy!

CARGO 1.1.3 now available!

Dear CARGO enthusiasts

CARGO 1.1.3 is now ready. You're probably wondering what's in it for you; so here is a quick overview:

  • The pingURL is no more ignored when using redeploy [CARGO-1036]
  • All deployers now support the redeploy method (with and without monitor) [CARGO-1038]
  • The JBoss container has gained in functionality and stability:
    • JBoss 6.1.x support has been added [CARGO-1043]
    • Corrected the capabilities of the JBoss 7.x remote container [CARGO-1044]
    • Shared classpath does not cause java.net.MalformedURLException on Windows anymore [CARGO-1024]
    • JBoss standalone local configuration creation now works even with deployables with certain names [CARGO-1037]
  • Jetty-specific fixes and improvements:
    • The latest version of Jetty, version 8, is now supported. [CARGO-1028]
    • You can now provide your own Jetty context XML file [CARGO-1027] on Jetty 6.x, 7.x and 8.x
  • The GlassFish container has been improved:
    • Extra classpath support has been added [CARGO-1034]
    • In addition, GlassFish containers now also support Datasources [CARGO-1035]
    • That's not all: you can now use Existing Local Configuration for an installed GlassFish container [CARGO-1039]
    • Finally, the GlassFish deployer has been improved to recognize failures correctly [CARGO-1032]
  • The Tomcat container has two bugs corrected:
    • A bug making the Tomcat container throw a ClassNotFoundException with default logging properties has been fixed [CARGO-1031]
    • Deployment of a WAR with a subcontext works back again [CARGO-1041]
  • In the containers' documentation's "properties" part, the "comments" column has been replaced with a link to Javadoc [CARGO-1029]

The full release notes can be found on: https://jira.codehaus.org/secure/ReleaseNote.jspa?version=17504&styleName=Html&projectId=10730

Enjoy!

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!

CARGO 1.1.1 is here!

Hi CARGO enthusiasts;

CARGO 1.1.0 has been out for just over a month now, and we have had important bug fixes and improvements since. We therefore are very happy to announce CARGO 1.1.1.

Wonder what has changed? Here is a short list:

  • A certain number of user inquiries made us realize that there has been a confusion around the wait parameter of the start ANT task and Maven goal of CARGO. Indeed, most other similar tools have a clearer separation:
    • A "run" task/goal, which starts the container and waits until the user decides to stop it.
    • A "start" task/goal, which starts the container and hands over to the next task/goal (run integration tests, for example).
    • With version 1.1.1, CARGO also implements that behaviour.
    • Of course the wait parameter remains available AND will remain so until CARGO version 1.3.0 at least.
  • The various installers (introduced with CARGO 1.1.0) now have homogeneous parameters and default values.
  • Fixes and improvements on various containers:
    • The JBoss remote deployer now supports a wider range of configurations.
    • Jetty 7.x and Tomcat 7.x remote deployers are now better documented to avoid some mistakes.
    • Various improvements on the JOnAS containers:
      • Added datasource support on JOnAS 4.x and 5.x.
      • Added extra classpath support on JOnAS 5.x.
      • Added undeploy and redeploy capabilities to the JOnAS 5.x local deployer.
    • The webapp directory of Tomcat containers is now configurable.

And, the full changelog:

Fixed bugs:

  • [CARGO-974] - default extraction dir for artifactInstaller is different from zipUrlInstaller
  • [CARGO-978] - Broken link in site (Local Container)
  • [CARGO-983] - cargo-jetty-7-and-onwards-deployer fails perform remote deploy on jetty-hightide (Jetty@Codehaus)
  • [CARGO-984] - Remote redeploy does not work for Tomcat 7
  • [CARGO-992] - Jonas 5.2: "mvn cargo:redeploy" don't work with the local deployer

Improvements and new features:

  • [CARGO-973] - Add support for extractDir to artifactInstaller
  • [CARGO-979] - Allow specifying the profile name when remotely deploying to a JBoss 5.1.X-server
  • [CARGO-981] - Configuring Tomcat webapps Dir
  • [CARGO-985] - Implement cargo:run
  • [CARGO-989] - Implement run task
  • [CARGO-994] - Add datasource support to JOnAS
  • [CARGO-995] - Add extra classpath support to JOnAS 5.x

Other changes:

  • [CARGO-987] - Deprecate cargo:start's -Dwait argument
  • [CARGO-990] - Deprecate the ANT start task's wait argumen

Enjoy!

CARGO 1.1.0

Hi CARGO enthusiasts;

It has been more than usual since we did not come up with any new versions, and it is for a good reason: we have been working on CARGO's version 1.1.0. As usual, we have many bug fixes; but most notably we have very interesting new features.

Some of the interesting new features would perhaps be the following:

  • The Maven2/Maven3 ZipUrlInstaller now reuses the proxy settings from Maven (CARGO-517)
  • Container distributions can now be directory installed from a Maven2/Maven3 artifact definition (CARGO-449)
  • ZipUrlInstaller now has different download and extraction directories (CARGO-907), and the default extraction directory for the Maven2/Maven3 plugin is the project's build directory (CARGO-908).
    • This way, all containers can use the default directories of the ZipUrlInstaller (CARGO-895, CARGO-959 and others).
  • The CARGO ANT tasks can now do remote deployment (CARGO-962)
  • Deployable.pingUrl now supports authentication (CARGO-813)
  • All deployment methods now accept a DeployableMonitor parameter (CARGO-414)
  • The steps to follow in order to remotely debug a container is now documented (CARGO-447); you can check http://cargo.codehaus.org/Debugging for details

As for some of the improvements:

  • Remote deployment on Jetty is now much faster (CARGO-884)
  • Remote deployers can now change the WAR context (CARGO-331)
  • The Container.stop method now waits for the whole server to stop (CARGO-918), which results in more stable tests if containers are started and stopped one after the other.
  • Different timeouts can be defined when starting and stopping a container (CARGO-713)
  • The JBoss remote deployer can now deploy to clusters (CARGO-899)
  • Tomcat contexts' reloadable parameter can now be configured (CARGO-461)
  • TomcatLocalInstalledLocalDeployer.shouldCopyWars() has been made configurable (CARGO-963)
  • Container pages now include a link to the downloadable container used for tests (CARGO-313) as well as a link to the CI
  • The Maven archetypes now use the failsafe plugin (CARGO-883)

And some fixes:

  • CARGO now takes into account the encoding of your configuration and resource files (CARGO-900, CARGO-903 and CARGO-945)
  • The GlassFish container's asadmin wrapper now correctly reports back errors (CARGO-914)
  • The JBoss 4.x remote deployer now works with large files (CARGO-892)
  • The Tomcat 7.x container now supports the latest Tomcat 7.x releases (CARGO-923)
  • cargo:start does not fail with some versions of JBoss deployables when there's no internet connection (CARGO-956)
  • The shared and extra classpath functionalities have been fixed (CARGO-928)
  • Various fixes around Windows-configurations: CARGO-934, CARGO-893 and CARGO-939

And, finally, some major changes that you probably won't notice (but which are one of the reasons why we changed the version number to 1.1.0):

  • CARGO can now be built with Maven3 (CARGO-789), which this also results in the removal of the Maven1 support (CARGO-793).
  • All the code now uses Java 5 APIs and style (CARGO-656), moreover we have enforced the use of generics. We have also added checkstyle to all the code, including tests (CARGO-891).
  • Java API users can now change the JVM launching method they like (CARGO-898), for example Eclipse instead of the default ANT.

... as well as some major changes you should take a note of:

  • The default value for the wait parameter on the ANT and Maven2/Maven3 plugins is now false (CARGO-896)
    • This means you will need to run mvn cargo:start -Dwait=true when you want to run manual tests.
    • This change in fact renders the creation of automated integration tests easier.
  • ZipUrlInstaller now has different download and extraction directories (CARGO-907), which makes the installDir property obsolete: it is replaced by downloadDir and extractDir, the old property set them both but will probably removed in CARGO 1.2.0.
  • TomcatPropertySet.MANAGER_URL has been deprecated in favor of RemotePropertySet.URI (CARGO-964).
  • TomcatLocalInstalledLocalDeployer.shouldCopyWars() is set to true by default (used to be false) (CARGO-963)
  • Deployable.isExpanded() and Deployable.isExpanded*() have been consolidated, obsoleting the Deployable.isExpanded*() methods (CARGO-902).
  • All API methods for copying configuration and resource files that specify no encoding are deprecated (CARGO-900, CARGO-903 and CARGO-945)
  • AbstractCopyingInstalledLocalDeployer.setShouldDeployExpanded*s() and AbstractCopyingInstalledLocalDeployer.setShouldDeployExpanded() have been consolidated, obsoleting the AbstractCopyingInstalledLocalDeployer.setShouldDeployExpanded*() methods.

For a full list, you can always check the release notes: http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10730&version=16436 -we have more than 80 changes!

To use this new version:

  • Users of the Java API and/or ANT tasks can download the CARGO uberjar and ANT tasks from the download page: http://cargo.codehaus.org/Downloads
  • Maven2/Maven3 users simply need to change the plugin's <version> to 1.1.0, and Maven2/Maven3 will download the new version automatically.

Please share your good (and bad) findings on the user@cargo.codehaus.org mailing list.

Enjoy!

Hello CARGO lovers

CARGO version 1.0.6 is now ready! As with all previous versions of CARGO, we have new features.

  • CARGO can now deploy to remote GlassFish 3.x servers (see CARGO-828)! That support is based on the brand-new JSR88 Deployer.
  • The abstract JSR88 deployer for CARGO, which closes one of the oldest JIRA tickets: CARGO-146. This will ease a lot the implementation of any JSR88-compliant container for CARGO.

Moreover, this version being a maintenance release, it also ships with the fix for the following issues:

  • (CARGO-581) - A '/' in context path gets converted to %20
  • (CARGO-875) - java.lang.StringIndexOutOfBoundsException: String index out of range: 5 at createJBossFilterChain(JBoss51xStandaloneLocalConfiguration.java:56)
  • (CARGO-877) - Remote deployment on Jetty 7.1.6 using cargo-jetty-7-and-onwards-deployer fails
  • (CARGO-879) - Cannot set JVM arguments in GlassFish
  • (CARGO-880) - cargo-maven2-plugin - blank property value in container systemProperties causes NullPointerException

This version is also expected to be the last 1.0.x version of CARGO. Indeed, we will then be focusing our efforts on CARGO 1.1.0, which will have many changes and drop of dusty parts (such as the Maven1 plugin).

Enjoy!

CARGO 1.0.5 now available!

Hello, CARGO enthusiasts!

Just after the 1.0.4 release, I have sent the announcements I had been talking about, and we've had interesting reactions. Having taken the most important ones into account quikcly, we are happy to announce the immediate availability of CARGO 1.0.5. This time, CARGO did not change much and only includes bug fixes. Here is a short summary of the most interesting ones:

  • [CARGO-863] - The maven2 plugin gives as extension ".bundle" to OSGi bundles (instead of .jar)
  • [CARGO-865] - The remote cargo-jetty-deployer does not work with Jetty 7.2.0
  • [CARGO-869] - Issues with the Maven archetypes

With this new version, the CARGO archetypes are compatible with Maven 2.x as well as Maven 3.x. Moreover, on the OSGi side, both GlassFish 3.x and OW2 JOnAS 5.x support bundle deployment.

CARGO users that prefer the Java API and/or the ANT tasks can download this new version via http://cargo.codehaus.org/Downloads

Those who use the Maven2 plugin simply have to change their plugin version in their POMs -the artifacts are already on the Maven2 central repository.

Enjoy this new release!

CARGO 1.0.4 released!

Hello, CARGO enthusiasts!

We are happy to announce the immediate availability of CARGO 1.0.4. This new version comes with 26 bug fixes, improvements and bug fixes, here is a short summary of the most interesting ones:

  • The Apache Geronimo container is back again! Both versions 1.x (these are more than 4 years old, now!) and 2.x are supported, please see the documentation pages on http://cargo.codehaus.org/Geronimo+1.x and http://cargo.codehaus.org/Geronimo+2.x (I'll not list the JIRA tickets here, we have many of them!)
  • Added support for the OSGi Bundle deployable type (CARGO-850 and some others). Currently, only the OW2 JOnAS 5.x container can handle bundles, hopefully that list should expand with the new versions of GlassFish and Geronimo.
  • Made the new JBoss deployers, introduced in CARGO 1.0.3, work with big (tens of megabytes) files (CARGO-859); which actually is the filesize of real-life applications
  • Various documentation updates (Documentation for pingTimeout, JBoss naming ports, missing property names, etc.)
  • Made the FILE deployable actually support all types of files
  • ... and more!

We have also finely tuned our release process, and CARGO 1.0.4 is the first CARGO version ever that has been tagged, staged, checked for quality and voted for during 72 hours before being released. Bravo, team! (smile)

CARGO users that prefer the Java API and/or the ANT tasks can download this new version via http://cargo.codehaus.org/Downloads

Those who use the Maven2 plugin simply have to change their plugin version in their POMs -the artifacts are already on the Maven2 central repository.

Also, I will be sending nice e-mails on various application servers' mailing lists in order to introduce them CARGO. The current version can be seen on the "let's make some noise" page and all comments, corrections and ideas are most welcome.

Enjoy this new release!

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 (smile)
  • 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

Hello, CARGO enthusiasts;

A few days after the CARGO 1.0.1 release, two important bugs have been submitted to us in the CARGO Maven2 plugin (and only in the Maven2 plugin, the rest is not affected):

  • CARGO-776 makes the CARGO Maven2 plugin unable to take into account datasource configurations.
  • CARGO-777 makes the CARGO Maven2 plugin unusable in some cases using the mvn cargo:* goals.

These two nasty bugs have been corrected, and the CARGO Maven2 plugin version 1.0.1-sr-1 (1.0.1 Service Release 1) released. If you're experiencing difficulties with the CARGO Maven2 plugin, please upgrade to that version.

Sorry for the inconvenience... :s

Enjoy !

CARGO 1.0.1 is now available !

1 year and 3 months after CARGO 1.0, the CARGO team is proud to announce the immediate availability of CARGO 1.0.1.

This new version fixed 36 bugs, takes into account 13 improvements and 7 new features.

New containers

CARGO 1.0.1 supports new containers:

  • Glassfish 3.x
  • JBoss 5.1 and 6.0 milestones
  • Jetty 7.x from eclipse.org

Also, support of existing containers has been improved. For example:

  • JBoss 5 is now stable
  • All JBoss versions support the username and password arguments
  • JOnAS 5 supports the modern JOnAS 5.1 releases
  • Memory-related arguments are now taken into account for all containers
  • The "username" attribute bug on modern Tomcat versions has been fixed
  • ...

New features

Apart from new containers, CARGO 1.0.1 has two main new features:

  • ANT tasks can now also be used for configuring a container (without start)
  • CARGO can now start and stop remote containers via ssh. Note that we did not completely finish that feature yet, try at your own risk (smile)

Improvements

On the improvements side, we have:

  • All container implementations now rely on the discovery mechanisms, instead of having manual entries in the CARGO core
  • The samples and Maven plugin now just use the uberjar. This ensures that the uberjar is complete.
  • When running the samples, they now all use random ports.
  • When running cargo:start and then cargo:stop, CARGO doesn't display logs twice anymore.
  • ...

You can get the full release notes via http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10730&version=15230

To download CARGO, please visit http://cargo.codehaus.org/Downloads

Finally, Maven users actually don't care about downloading CARGO; Maven can do everything by itself:

Enjoy !