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
ZipUrlInstallernow reuses the proxy settings from Maven (CARGO-517) - Container distributions can now be directory installed from a Maven2/Maven3 artifact definition (CARGO-449)
ZipUrlInstallernow 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).- The CARGO ANT tasks can now do remote deployment (CARGO-962)
Deployable.pingUrlnow supports authentication (CARGO-813)- All deployment methods now accept a
DeployableMonitorparameter (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.stopmethod 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'
reloadableparameter 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
asadminwrapper 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:startdoes 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
waitparameter on the ANT and Maven2/Maven3 plugins is nowfalse(CARGO-896)- This means you will need to run
mvn cargo:start -Dwait=truewhen you want to run manual tests. - This change in fact renders the creation of automated integration tests easier.
- This means you will need to run
ZipUrlInstallernow has different download and extraction directories (CARGO-907), which makes theinstallDirproperty obsolete: it is replaced bydownloadDirandextractDir, the old property set them both but will probably removed in CARGO 1.2.0.TomcatPropertySet.MANAGER_URLhas been deprecated in favor ofRemotePropertySet.URI(CARGO-964).TomcatLocalInstalledLocalDeployer.shouldCopyWars()is set totrueby default (used to befalse) (CARGO-963)Deployable.isExpanded()andDeployable.isExpanded*()have been consolidated, obsoleting theDeployable.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()andAbstractCopyingInstalledLocalDeployer.setShouldDeployExpanded()have been consolidated, obsoleting theAbstractCopyingInstalledLocalDeployer.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!