# -------------------------------------------------------------------
# Copyright 2001-2006 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.
# -------------------------------------------------------------------


# -------------------------------------------------------------------
#                Project Information
# -------------------------------------------------------------------
version_number=1.2
#version_affix=
axis2_version=${version_number}
addressing_version=1.2
ping_version=1.2
soapmonitor_version=1.2
mex_version=1.2

# -------------------------------------------------------------------
#                Dependency Repositories
# -------------------------------------------------------------------
maven.repo.remote=\
http://mirrors.ibiblio.org/pub/mirrors/maven,\
http://people.apache.org/repo/m1-snapshot-repository/,\
http://repo1.maven.org/maven/,\
http://ws.zones.apache.org/repository/,\
http://people.apache.org/repo/m1-ibiblio-rsync-repository/,\
http://jibx.sourceforge.net/maven/,\
http://fisheye5.cenqua.com/browse/fi/repo

# -------------------------------------------------------------------
#                Multiproject includes and excludes
# -------------------------------------------------------------------

optional.includes=

maven.multiproject.includes=\
modules/common/project.xml,\
modules/java2wsdl/project.xml,\
modules/adb/project.xml,\
modules/adb-codegen/project.xml,\
modules/codegen/project.xml,\
modules/xmlbeans/project.xml,\
modules/java2wsdl/project.xml,\
modules/kernel/project.xml,\
modules/addressing/project.xml,\
modules/tool/project.xml,\
modules/samples/project.xml,\
modules/spring/project.xml,\
modules/soapmonitor/project.xml,\
modules/integration/project.xml,\
modules/jibx/project.xml,\
modules/mex/project.xml,\
modules/mtompolicy/project.xml,\
modules/ping/project.xml,\
modules/json/project.xml,\
modules/fastinfoset/project.xml,\
${optional.includes}

#maven.multiproject.excludes=modules/tool/project.xml

maven.multiproject.includes.requiresJDK15=\
modules/metadata/project.xml,\
modules/jaxbri/project.xml,\
modules/jaxws/project.xml,\
modules/jaxws-api/project.xml,\
modules/saaj-api/project.xml,\
modules/saaj/project.xml,\
modules/scripting/project.xml
#modules/clustering/project.xml

# -------------------------------------------------------------------
#                JUnit
# -------------------------------------------------------------------
maven.junit.jvmargs=-Xmx256m -Djava.awt.headless=true
maven.junit.fork=true

# -------------------------------------------------------------------
#                Compile
# -------------------------------------------------------------------
maven.compile.optimize=false
maven.compile.fork=true
maven.compile.target=1.4
maven.compile.source=1.4

# -------------------------------------------------------------------
#                Versions of dependencies
# -------------------------------------------------------------------
activation.version=1.1
annogen.version=0.1.0
ant.version=1.6.5
axiom.version=1.2.4
backport_util_concurrent.version=2.2
bcel.version=5.2
bcprov.version=jdk13-133
commons.codec.version=1.3
commons.fileupload.version=1.1.1
commons.io.version=1.2
commons.httpclient.version=3.0.1
commons.logging.version=1.1
fastinfoset.version=1.2.1
geronimo.spec.jms.version=1.1-rc4
groovy.all.version=1.0-jsr-06
jakarta.httpcore.version=4.0-alpha4
javamail.version=1.4
jaxbri.version=2.0.2
jaxen.version=1.1-beta-10
jaxme.version=0.5.2
jibx.version=1.1.4
junit.version=3.8.2
maven.itest.plugin.version=1.0
maven.jar.plugin.version=1.8
maven.multiproject.plugin.version=1.5
maven.plugin.plugin.version=1.7
maven.test.plugin.version=1.8
neethi.version=2.0.1
servletapi.version=2.3
spring.version=1.2.8
stax.api.version=1.0.1
stax.impl.artifactid=wstx
stax.impl.groupid=org.codehaus.woodstox
stax.impl.version=asl-3.2.1
stax_utils.version=20060915 
woden.version=1.0-incubating-M7a
wsdl4j.version=1.6.2
xalan.version=2.7.0
xbean.version=2.2.0
xerces.version=2.8.1
xml_apis.version=1.3.03
XmlSchema.version=1.3.1
xmlunit.version=1.0
log4j.version=1.2.13
jettison.version=1.0-RC1
tomcat.tribes.version=6.0.8
tomcat.juli.version=6.0.8

# ------------------------------------------------------------------------
# M A V E N  J A R  O V E R R I D E
# ------------------------------------------------------------------------
maven.jar.override =off

# ------------------------------------------------------------------------
# Jars set explicity by path.
# ------------------------------------------------------------------------

dependencies.dir=${basedir}/../../lib

maven.jar.annogen=${dependencies.dir}/annogen-${annogen.version}.jar
maven.jar.ant=${dependencies.dir}/ant-${ant.version}.jar
maven.jar.axiom-api=${dependencies.dir}/axiom-api-${axiom.version}.jar
maven.jar.axiom-dom=${dependencies.dir}/axiom-dom-${axiom.version}.jar
maven.jar.axiom-impl=${dependencies.dir}/axiom-impl-${axiom.version}.jar
maven.jar.backport-util-concurrent=${dependencies.dir}/backport-util-concurrent-${backport_util_concurrent.version}.jar
maven.jar.bcel=${dependencies.dir}/bcel-${bcel.version}.jar
maven.jar.bcprov=${dependencies.dir}/bcprov-${bcprov.version}.jar
maven.jar.commons-codec=${dependencies.dir}/commons-codec-${commons.codec.version}.jar
maven.jar.commons-fileupload=${dependencies.dir}/commons-fileupload-${commons.fileupload.version}.jar
maven.jar.commons-httpclient=${dependencies.dir}/commons-httpclient-${commons.httpclient.version}.jar
maven.jar.commons-logging=${dependencies.dir}/commons-logging-${commons.logging.version}.jar
maven.jar.geronimo-spec-activation=${dependencies.dir}/geronimo-spec-activation-${geronimo.spec.activation.version}.jar
maven.jar.geronimo-spec-javamail=${dependencies.dir}/geronimo-spec-javamail-${geronimo.spec.javamail.version}.jar
maven.jar.geronimo-spec-jms=${dependencies.dir}/geronimo-spec-jms-${geronimo.spec.jms.version}.jar
maven.jar.groovy-all=${dependencies.dir}/groovy-all-${groovy.all.version}.jar
maven.jar.jakarta-httpcore=${dependencies.dir}/jakarta-httpcore-${jakarta.httpcore.version}.jar
maven.jar.jaxen=${dependencies.dir}/jaxen-${jaxen.version}.jar
maven.jar.jaxme2=${dependencies.dir}/jaxme2-${jaxme.version}.jar
maven.jar.jaxmeapi=${dependencies.dir}/jaxmeapi-${jaxme.version}.jar
maven.jar.jaxmejs=${dependencies.dir}/jaxmejs-${jaxme.version}.jar
maven.jar.jaxmexs=${dependencies.dir}/jaxmexs-${jaxme.version}.jar
maven.jar.jibx-bind=${dependencies.dir}/jibx-bind-${jibx.version}.jar
maven.jar.jibx-run=${dependencies.dir}/jibx-run-${jibx.version}.jar
maven.jar.junit=${dependencies.dir}/junit-${junit.version}.jar
maven.jar.log4j=${dependencies.dir}/log4j-${log4j.version}.jar
maven.jar.maven-itest-plugin=${dependencies.dir}/maven-itest-plugin-${maven.itest.plugin.version}.jar
maven.jar.opensaml=${dependencies.dir}/opensaml-${opensaml.version}.jar
maven.jar.policy=${dependencies.dir}/neethi-${policy.version}.jar
maven.jar.servletapi=${dependencies.dir}/servletapi-${servletapi.version}.jar
maven.jar.spring=${dependencies.dir}/spring-${spring.version}.jar
maven.jar.stax-api=${dependencies.dir}/stax-api-${stax.api.version}.jar
maven.jar.wsdl4j=${dependencies.dir}/wsdl4j-${wsdl4j.version}.jar
maven.jar.wss4j=${dependencies.dir}/wss4j-${wss4j.version}.jar
maven.jar.wstx=${dependencies.dir}/${stax.impl.artifactid}-${stax.impl.version}.jar
maven.jar.xalan=${dependencies.dir}/xalan-${xalan.version}.jar
maven.jar.xbean=${dependencies.dir}/xbean-${xbean.version}.jar
maven.jar.xercesImpl=${dependencies.dir}/xercesImpl-${xerces.version}.jar
maven.jar.xml-apis=${dependencies.dir}/xml-apis-${xml_apis.version}.jar
maven.jar.XmlSchema=${dependencies.dir}/XmlSchema-${XmlSchema.version}.jar
maven.jar.xmlsec=${dependencies.dir}/xmlsec-${xmlsec.version}.jar
maven.jar.xmlunit=${dependencies.dir}/xmlunit-${xmlunit.version}.jar

# -------------------------------------------------------------------
#                Clover
# -------------------------------------------------------------------
maven.clover.build = ${maven.build.dir}
#maven.clover.includes=**/org/apache/**.java
maven.clover.excludes=sample/**/*.java,userguide/**/*.java, test/**/*.java
maven.clover.license.path=clover.license

# -------------------------------------------------------------------
#                xdoc
# -------------------------------------------------------------------
maven.xdoc.date=left
maven.xdoc.version=${pom.currentVersion}
maven.xdoc.includeProjectDocumentation=no
maven.html2xdoc.enabled=false
maven.html2xdoc.dir=./xdocs
maven.pdf.navigationFile=navigation-pdf.xml
maven.allreports.disable=true
maven.xdoc.axis_doc_folder_name=1_2


