Building Shale with Maven
Examples
From the 'framework' directory of the Shale source code:
$ |
Default build. Includes the framework jars. |
||
$ |
Deletes the 'target' directory from every module |
||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6c14bd00-f4cc-4b24-8fea-a642775fb38b"><ac:plain-text-body><![CDATA[ |
$ |
Builds the framework and example apps, executes the integration tests [1] |
]]></ac:plain-text-body></ac:structured-macro> |
[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