When using the zipUrlInstaller, the default folder where the downloaded zip is stored as well as where the container is unpacked (installed) is java.io.tmp/something. This does not work with some containers (GlassFish 3.x, JOnAS 5.x, JBoss 5+ and probably others) and requires the installDir to be overriden, which is not good as defaults should just work our of a Maven perspective.
Also, overriding the installDir to something like "installs/cargo", requires the zip to be downloadedfor every project where it is used (which it is not if the default java.io.tmp is used). Bad for performance.
My suggestion is that the place where the zip is downloaded is separated from where the container is installed/unpacked. The place where the zip is stored could be viewed as a temporary place and could stay as java.io.tmp. However, the unpacked container should probably by default be placed in the target folder when used with Maven.
This will also work well when we support some type of zipGavInstaller (or whatever we call it) where Cargo will retrieve the zip from a maven repo via GAV. In that case the zip will be in the local repo and shouldn't need to be copied anywhere. But the unpacked installation could be placed in the target folder.
When it comes to the ant tasks I have no opinion. Suggestions appreciated. I would assume that the current issues with some platforms and the defaults also exist there. But I haven't verified.