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

<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[

$ mvn -Papps,itest

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

  • No labels