# -------------------------------------------------------------------
# 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.1.1-SNAPSHOT
#version_affix=
axis2_version=${version_number}
addressing_version=${axis2_version}
rampart_version=${axis2_version}
rahas_version=${axis2_version}
soapmonitor_version=${axis2_version}
savan_version=${axis2_version}

# -------------------------------------------------------------------
#                Dependency Repositories
# -------------------------------------------------------------------
maven.repo.remote=\
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/

# -------------------------------------------------------------------
#                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/security/project.xml,\
modules/spring/project.xml,\
modules/soapmonitor/project.xml,\
modules/integration/project.xml,\
modules/saaj/project.xml,\
modules/jibx/project.xml,\
modules/savan/project.xml,\
modules/rahas/project.xml,\
modules/secpolicy/project.xml,\
${optional.includes}

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

maven.multiproject.includes.requiresJDK15=\
modules/jaxbri/project.xml,\
modules/jaxws/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=SNAPSHOT
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
geronimo.spec.jms.version=1.1-rc4
groovy.all.version=1.0-jsr-06
jakarta.httpcore.version=4.0-alpha2
javamail.version=1.4
jaxbri.version=2.0.2
jaxen.version=1.1-beta-10
jaxme.version=0.5.2
jibx.version=1.1.2
junit.version=3.8.2
maven.itest.plugin.version=1.0
maven.jar.plugin.version=1.8-SNAPSHOT
maven.multiproject.plugin.version=1.5-SNAPSHOT
maven.plugin.plugin.version=1.8-SNAPSHOT
maven.test.plugin.version=1.8.1-SNAPSHOT
opensaml.version=1.1
neethi.version=SNAPSHOT
servletapi.version=2.3
spring.version=1.2.8
stax.api.version=1.0.1
stax.impl.artifactid=wstx
stax.impl.groupid=woodstox
stax.impl.version=asl-3.1.0
stax_utils.version=20060915 
woden.version=1.0-incubating-SNAPSHOT
wsdl4j.version=1.6.2
wss4j.version=SNAPSHOT
xalan.version=2.7.0
xbean.version=2.2.0
xerces.version=2.8.1
xml_apis.version=1.3.03
XmlSchema.version=1.2
xmlsec.version=1.4-SNAPSHOT
xmlunit.version=1.0
log4j.version=1.2.13

# ------------------------------------------------------------------------
# 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
