libreccm/src/site/apt/building.apt

55 lines
2.2 KiB
Plaintext

-----------------
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
<<<ccm-bundle-devel-wildfly>>> 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.