# -------------------------------------------------------------------
# Copyright 2001-2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -------------------------------------------------------------------

axis2_version=0.90
#freehep.nar.arch=i386
#freehep.nar.os=Linux
#freehep.nar.c.compiler=gcc
#freehep.nar.c.linker=gcc
#freehep.nar.c.compiler.arg.mid=-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -O2 -pthread
#freehep.nar.compile.includepath=${cutest.home}/include/ ${apr.home}/include/apr-1
#freehep.nar.linker.arg.start=-L${cutest.home}/lib/ -lcutest -L${apr.home}/lib -lapr-1 
maven.xdoc.date=left
maven.xdoc.version=${pom.currentVersion}
maven.xdoc.includeProjectDocumentation=no
maven.html2xdoc.enabled=true
maven.html2xdoc.dir=./xdocs
maven.pdf.navigationFile=navigation-pdf.xml
maven.allreports.disable=true
maven.xdoc.theme=classic
maven.ui.navcol.background=#fff
maven.ui.navcol.background.ns4=#fff
maven.ui.banner.border.top=#fff
maven.ui.banner.border.bottom=#fff
maven.ui.banner.background=#fff
