# -------------------------------------------------------------------
# P R O J E C T  P R O P E R T I E S
#
# $Id$
#
# Do not change this file. Please use build.properties in this directory
# to do site or installation specific changes to the project build.
# -------------------------------------------------------------------

# display the date on the site
maven.xdoc.date = bottom
maven.xdoc.locale.default = en

# No ideology without asking
maven.xdoc.developmentProcessUrl= 
maven.xdoc.includeProjectDocumentation= no
maven.xdoc.theme= velocity

# No version here
maven.xdoc.version=
