Maven2 has a powerful feature called Archetype.
As part of the Cargo project we have created some Archetype that you can use to get a working project sample using the Cargo Maven2 plugin.
Single Webapp Module Archetype
Shows how to configure Cargo and Maven2 to run functional tests directly from a single webapp module. To run it, execute:
- <version> is the version of the Cargo Archetype, as a result the CARGO version to use (for example 1.0.1)
- <application groupId> is the Maven groupId of the application that will be generated
- <application artifactId> is the Maven artifactId of the application that will be generated
- <application version> is the Maven version of the application that will be generated
Once your Maven project is generated, simply run
in order to generate the Web application, configure and start an embedded Jetty container, deploy your Web application on it, run some tests and stop the Jetty container.
That archetype also demonstrates another powerful feature of CARGO: if you now run
the same steps will be done with Tomcat 6.x instead of Jetty
The archetype actually ships with Maven profiles for the jetty6x, tomcat6x, jonas5x, jboss51x and glassfish3x containers. You can of course add and use any other containers from the Containers list.
Separate Functional Test Module Archetype
Shows how to configure Cargo and Maven2 to run functional tests by creating a functional tests module next to the webapp module. To run it, execute: