Naggregator, just like the other BugWerk subprojects, utilizes Apache Maven for the compilation, packaging, site generation and database scheme creation. Despite the higher complexity (compared to Apache Ant), it eases the build due to the build-in handling of dependency files which it automatically downloads from the net - resulting in a much easier build for external developers. So much for the theorie... unfortunately, there are 4 dependencies that you will have to download manually due to license requirements but at least this has to be done only once.
BugWerk`s maven build relies on a couple of build properties that control the actual build output. These properties can be controlled via ~/.m2/settings.xml (a settings.xml template is available); the different properties are grouped into usage scenarios (so called profiles) which can be enabled at the command line when executing the build.
Example: settings.xml defines two profiles named mailing-disabled and mailing-enabled. By executing
mvn -P mailing-disabled clean install
the created build artifact will contain a configuration that disables the internal mailing capabilities which might me interesting for development builds.
You can also declare the different profiles to be active by default in settings.xml in the following section:
<activeProfiles> <activeProfile>codehaus-plugins</activeProfile> <activeProfile>common-properties</activeProfile> <activeProfile>mailing-disabled</activeProfile> <activeProfile>postgres-properties</activeProfile> <activeProfile>bind-hsqldb</activeProfile> </activeProfiles>
Note: please make sure that the different profiles contain valid values for your environment (e.g. the location of your JWSDP install).
As soon as these libraries are present, the build process can be restarted and will run until finished.