• 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2006
  • 2005
  • 2004

Blog from May, 2011

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 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: -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:
  • 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 mailing list.