----------------- Building LibreCCM ----------------- Jens Pelzetter ----------------- 2015-06-29 ----------------- Building LibreCCM LibreCCM uses Maven 3 for building. The project itself is a multi module project. At the moment your viewing the project page of the parent project. Building LibreCCM is done using the standard Maven commands. To control some features Maven profiles are used. Especially for testing. These profiles are documented on the {{{./testing.html}Testing LibreCCM}} page. * Cheat sheet for building LibreCCM The following commands must be executed from the directory of the parent project. [Build or refresh project site] mvn clean site site:stage [Create EAR files] Due to certain limitations and restrictions for WAR files regarding class paths etc. LibreCCM is now deployed as an Enterprise Archive. There will be several bundles. These are Maven modules which are used to aggregate specific modules. Each bundle consists of two Maven modules: The WAR module which creates the WAR file and the EAR module which creates the final EAR file. The bundle are application server specific and named using the following pattern: ----------------------------------------------- ccm-bundle-${bundle-name}-${application-server} ----------------------------------------------- Where <<<${bundle-name}>>> is the name of the bundle and <<<${application-server}>>> is the application server for which the bundle is optimised. Because of some subtile differences, for example the JNDI names for data sources, it is necessary to provide bundles for specific application servers. A specific bundle including all its dependencies can be build by running --- mvn package -pl ${bundle} -am --- Replace <<<${bundle}>>> with the name of the bundle to build, for example <<>> to build the development bundle for Wildfly. The <<<-am>>> parameter causes Maven to build are Maven modules required by the bundle before the bundle is build. For specific informations about a bundle please refer to the documentation of the bundle.