Development: Build Environment
Instead of some variant of the make
utility the Java
based Ant tool is used as build tool within this project. See the
resources for more information on
Ant. There is a so-called build file (named build.xml
)
for building and running parts of the project.
Due to the fact that Ant always has to be configured (e.g. by
environment variables) and enriched by additional libraries (such as
a XSLT processor or additional tasks as XDoclet) a complete Ant
runtime environment is included in the project directory. In the
tools
directory the Jar archives of Ant, the used
XSLT processor and all needed additional tasks are located.
To start Ant there is a script in the top level directory of the
project (build.sh
for Unix/Mac OS X and
build.cmd
for Windows). This script is not named
ant
to prevent naming conflicts with other versions of
Ant that are already installed on your system.
The available targets and their descriptions is listed in the
following table, but it can also be printed by running build
-projecthelp
.
MuliFex master build file.
This file has been designed to work with the Ant script in this
directory and the ant files in the 'tool' directory.
Target |
Description |
build-info |
Interactively updates the build information of various components. |
clean |
Removes all compilation files and directories. |
compile |
Compiles the sources of all modules. |
data |
Generates all data resource files. |
doc |
Generates all documentation in the build folder. |
lib |
Creates all distribution archives. |
native |
Builds the native robots for the current platform. |
verify |
Checks all project files and sources for validity. |
world
|
Builds the complete project. |
Build file for the MuliFex ant support tools.
The ant-tools package has been designed so that it might
prove useful in other projects. (As a matter of fact there are already
a few other projects which use these tools, that's why they are
versioned independently.)
Target |
Description |
ant-tools.dist |
Builds the ant-tools contributed by this project. |
ant-tools.sync |
Synchronizes the built-in ant-tools with the current build. |
FreeMind mind mapping tool support.
Target |
Description |
freemind |
Launches the FreeMind mind mapping tool. |
freemind.structure |
Launches the FreeMind with the project structure. |
freemind.todo |
Launches the FreeMind with the ToDo list. |
Besides the main build file build.xml
sources
a couple of support files in the following order:
-
env/user.xml
containing user specific settings.
-
env/site.xml
containing site settings.
-
env/defaults.xml
containing project defaults.
Ant uses always the first definition of a variable it
encounters. Therefore the above list suggests that
user settings in env/user.xml
override site
specific settings in env/site.xml
, and
site settings override the project defaults in
env/defaults.xml
.
Checkout the Development Setup page for
more information about configuring your build environment.