This page last changed on Apr 26, 2005 by vmassol.

Definition

Cargo provides a Maven plugin to perform operations available from Ant support.

Installation

Warning

This plugin is not yet published.
The first plugin release will be available with Cargo 0.5.

To automatically install the plugin, type the following on a single line:

 
maven plugin:download
  -DgroupId=cargo
  -DartifactId=cargo-maven-plugin
  -Dversion=X.X(.X)

where X.X(.X) is the release number you want to install.

Plugin goals

Goal name Description
cargo:start Starts all containers defined by the cargo.containers property
cargo:startAndWait Starts all containers defined by thecargo.containers property and wait for user's input. Without this, Maven stops and the started containers stop as the JVM exits
cargo:stop Stops all containers defined by the cargo.containers property

Plugin properties

Property name Required? Description Default
cargo.containers A list of containers ids that specifies on which containers to apply the goal. If this property is empty the Maven plugin will do nothing. You must define for each containerId the corresponding settings.
cargo.containers = myresin,myorion,myjetty
empty
cargo.zipUrlInstaller.<installerId>.installUrl URL from where the container archive can be downloaded.
cargo.zipUrlInstaller.myresin.installUrl = http://www.caucho.com/download/resin-3.0.9.zip
empty
cargo.zipUrlInstaller.<installerId>.installDir The path where the container will be downloaded and extracted.
cargo.zipUrlInstaller.myresin.installDir = ${maven.build.dir}/installs
empty
cargo.proxy.host Proxy hostname (IP or server name).
cargo.proxy.host = myproxy.mycompany.com
${maven.proxy.host}
cargo.proxy.port Proxy port.
cargo.proxy.port = 1080
${maven.proxy.port}
cargo.proxy.user Proxy username.
cargo.proxy.user = vmassol
${maven.proxy.user}
cargo.proxy.password Proxy password.
cargo.proxy.password = somepassword
${maven.proxy.password}
cargo.proxy.excludehosts A list of hosts to bypass the proxy on (if any). These should be separated with the vertical bar character '|'. Only in Java 1.4 does FTP use this list.
cargo.proxy.excludehosts = fozbot.corp.sun.com\|\*.eng.sun.com
empty
cargo.container.<containerId>.containerKey The container type. Valid values are: jo1x | resin2x | resin3x | orion1x | orion2x | oc4j9x | tomcat3x | tomcat4x | tomcat5x | weblogic8x.
cargo.container.myresin.containerKey = resin3x
empty

Property : cargo.container.<containerId>.homeDir
Supported : since 0.5
Valid values : string (directory path)
Description : The path where the container is installed.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.homeDir = c:/apps/jakarta-tomcat/

Exactly one of cargo.container.<containerId>.homeDir and cargo.container.<containerId>.zipUrlInstaller must defined.

Property : cargo.container.<containerId>.zipUrlInstaller
Supported : since 0.5
Valid values : string
Description : The id of a zipUrLInstaller
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.zipUrlInstaller = myContainerInstallerId

Exactly one of cargo.container.<containerId>.homeDir and cargo.container.<containerId>.zipUrlInstaller must defined.

Property : cargo.container.<containerId>.output
Supported : since 0.5
Valid values : string (file path)
Description : The path for the file to which output of the container should be written.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.output = ${maven.build.dir}/myContainerId/logs/container.log

Property : cargo.container.<containerId>.log
Supported : since 0.5
Valid values : string (file path)
Description : The path for the cargo log file.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.log = ${maven.build.dir}/myContainerId/logs/cargo.log

Property : cargo.container.<containerId>.deployables
Supported : since 0.5
Valid values : string (comma separated list)
Description : A list of deployable Ids. Each deployable must be defined using the deployables settings.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.deployables = myEarId, myWarId

Property : cargo.container.<containerId>.config.hint
Supported : since 0.5
Valid values : standalone
Description : The hint to differentiate the configuration from others for the specified container
Optional ? : no.
Default value : empty
Example : cargo.container.myContainerId.config.hint = standalone

Currently the only hint supported by cargo is : standalone.

Property : cargo.container.<containerId>.config.dir
Supported : since 0.5
Valid values : string (directory path)
Description : The home directory for the configuration of the container.
Optional ? : no.
Default value : empty
Example : cargo.container.myContainerId.config.dir = ${maven.build.dir}/myContainerId/config

Property : cargo.container.<containerId>.config.standalone.servlet.port
Supported : since 0.5
Valid values : integer
Description : Port on which the Servlet/JSP container will listen to.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.config.standalone.servlet.port = 8280

Property : cargo.container.<containerId>.config.standalone.hostname
Supported : since 0.5
Valid values : string
Description : Host name on which the container will listen to .
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.config.standalone.hostname = myserver

Property : cargo.container.<containerId>.config.standalone.logging
Supported : since 0.5
Valid values : low | medium | high
Description : Level representing the quantity of information we wish to log.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.config.standalone.logging = high

Property : cargo.container.<containerId>.config.standalone.jvmargs
Supported : since 0.5
Valid values : string
Description : JVM args to be used when starting/stopping containers.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.config.standalone.jvmargs = -Xmx64m -Xms2m

Property : cargo.container.<containerId>.start.output
Supported : since 0.5
Valid values : string (file path)
Description : The path for the file to which output of the container should be written when it starts.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.start.output = ${maven.build.dir}/myContainerId/logs/container-start.log

Property : cargo.container.<containerId>.start.log
Supported : since 0.5
Valid values : string (file path)
Description : The path for the cargo log file when the start action is called for this container.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.start.log = ${maven.build.dir}/myContainerId/logs/cargo-start.log

Property : cargo.container.<containerId>.stop.output
Supported : since 0.5
Valid values : string (file path)
Description : The path for the file to which output of the container should be written when it stops.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.stop.output = ${maven.build.dir}/myContainerId/logs/container-stop.log

Property : cargo.container.<containerId>.stop.log
Supported : since 0.5
Valid values : string (file path)
Description : The path for the cargo log file when the stop action is called for this container.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.stop.log = ${maven.build.dir}/myContainerId/logs/cargo-stop.log

Specific settings

Orion 1x, 2x or Oc4j 9x

Property : cargo.container.<containerId>.config.standalone.orion.rmi.port
Supported : since 0.5
Valid values : integer
Description : Port for the Orion RMI server.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.config.standalone.orion.rmi.port = 25791

Tomcat 4x or 5x

Property : cargo.container.<containerId>.config.standalone.tomcat.shutdown.port
Supported : since 0.5
Valid values : integer
Description : TCP/IP port number on which this server waits for a shutdown command.
Optional ? : yes.
Default value : empty
Example : cargo.container.myContainerId.config.standalone.tomcat.shutdown.port = 8205

Deployables settings

Property : cargo.deployable.<deployableId>.type
Supported : since 0.5
Valid values : war | ear
Description : deployable type.
Optional ? : no.
Default value : empty
Example : cargo.deployable.myDeployableId.type = war

Property : cargo.deployable.<deployableId>.warfile
Supported : since 0.5
Valid values : string (file path to a war or directory path for an expanded webapp)
Description : Absolute path to the war or the webapp.
Optional ? : no if cargo.deployable.<deployableId>.type = war, otherwise yes.
Default value : empty
Example : cargo.deployable.myDeployableId.warfile = ${maven.war.build.dir}/${maven.war.final.name}

Property : cargo.deployable.<deployableId>.earfile
Supported : since 0.5
Valid values : string (file path to an ear)
Description : Absolute path to the ear.
Optional ? : no if cargo.deployable.<deployableId>.type = ear, otherwise yes.
Default value : empty
Example : cargo.deployable.myDeployableId.earfile = ${maven.build.dir}/${maven.ear.final.name}

Full samples

Minimal settings to start and stop a container

Example with tomcat already installed:

maven.xml
<preGoal name="cargo:start">
  <ant:mkdir dir="${maven.build.dir}/myTomcat/config"/>
</preGoal>
project.properties
cargo.containers = myTomcat

cargo.container.myTomcat.containerKey = tomcat5x
cargo.container.myTomcat.homeDir = C:/Programs/web/jakarta-tomcat-5.0
cargo.container.myTomcat.config.hint = standalone
cargo.container.myTomcat.config.dir = ${maven.build.dir}/myTomcat/config
cargo.container.myTomcat.config.standalone.servlet.port = 8280
cargo.container.myTomcat.config.standalone.logging = high
Document generated by Confluence on Jul 21, 2005 06:52