Shale Framework Build ===================== This directory contains the Maven build files for the Shale Framework NOTE: Shale depends on SNAPSHOT builds of both the Struts Mailreader DAO and Stand-alone Tiles. After allowing Maven to retrieve these files from Apache's internal Maven repository, please use the "-o" (offline) switch on the command line. NOTE: You can skip the unit tests by specifying -maven.test.skip on the command line To build the entire project and install the .jar files into your local repository (and build the binary and source distributions,) execute the default 'build-all' goal: $ maven or $ maven build-all To build and test all of the sub-projects without building the distributions: $ maven multiproject:goal -Dgoal=jar To clean the project, which deletes all of the 'target' directories: $ maven multiproject:clean To build and install the .jar artifact for a sub-project, change to the directory (such as shale/build/clay-plugin) and execute: $ maven jar:install Shale Website ------------- Note: The following commands must be run from /struts/current/shale/build/ To build the site locally to preview: $ maven site (top level only) $ maven multiproject:site (entire site) (The generated site will be in target/docs.) To build _and_ deploy the site: $ maven site:deploy (top level only) $ maven multiproject:site site:sshdeploy (entire site) Note: To deploy the site, you must either specify -Dmaven.username=yourid on the command line, or set maven.username in a properties file visible to Maven. Consult the documentation for the Maven Site Plugin for more information: http://maven.apache.org/maven-1.x/reference/plugins/site/index.html Choosing a JSF Implementation ----------------------------- The Shale Framework can be built with either Apache MyFaces or the JSF Reference Implementation from Sun. To switch implementations, set the 'maven.shale.jsf.impl' property to either 'jsfri' or 'myfaces'. (Or leave it blank and the build will default to MyFaces.) Example: $ maven -Dmaven.shale.jsf.impl=jsfri or build.properties: maven.shale.jsf.impl=myfaces Known Issues ------------ * The checkstyle report is disabled because it breaks the build of any sub-project containing . FAQs ---- Q: What does 'x.y.z.Class' mean in ? A: Because the core-library sub-project includes the source for the shale-core, shale-tiles, and shale-spring artifacts, it's necessary to tell Maven to include and exclude the right source code files. The are triggered when the named class is *NOT* found, so we use a class that doesn't exist. Q: How can I avoid running out of memory when building the website? A: Set the environment variable MAVEN_OPTS=-Xmx1024m