Building Shale with Maven
Examples
From the 'framework' directory of the Shale source code:
|
$ mvn |
Default build. Includes the framework jars. |
|
$ mvn clean -P apps,dist,designtime |
Deletes the 'target' directory from every module |
|
$ mvn -Papps,itest |
Builds the framework and example apps, executes the integration tests [1] |
[1] Set the cargo.container.home property with -Dcargo.container.home=/path/to/tomcat5 or in settings.xml
Profiles
Build profiles allow conditional inclusion of additional items. Shale's build profiles can be enabled either with -P and a comma delimited list: -P<profile1>,<profile2> or with individual system properties: -D<profile1> -D<profile2>.
apps - Builds the shale-apps module, which includes all of the example apps: shale-blank, shale-usecases, etc.
itest - Runs the system integration tests for the example apps. Requires the 'cargo.container.home' system property to be set to (usually) the path to a locall installation of Tomcat 5.
designtime - Builds the designtime module.
dist - Includes the shale-dist module, which contains the release assemblies. Not necessary for the build, but useful when generating IDE config files.
NOTE: To build the dist project you must have already built the site by running mvn site from the framework project.
Integration Testing
The Maven
build lifecycle includes a phase for integration testing. See
MNG-1381 and the
Testing Strategies wiki page for more information.
Each Shale example app contains integration tests in its o.a.s.<appname>.systest package.
To execute these tests, enable the itest profile