blob: 865ee13d9fb0765f48a786bf7f372e79b05e0db6 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");dis
* 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.
*/
-->
<!--
| The main goals for multi project build are:
|
| default
| Build all the modules
|
| clean
| Deletes the 'target' directory in all projects
|
| clean-repo
| Deletes the 'target' directory in all projects
|
| dist-bin
| Creates the main binary distribution
|
| dist-src
| Creates the source distribution
|
| dist-docs
| Creates the docs distribution
|
| release
| Creates the complete release (dist-bin, dist-src, dist-docs, war)
| war
| Build the war
-->
<project default="jar"
xmlns:j="jelly:core"
xmlns:u="jelly:util"
xmlns:deploy="deploy"
xmlns:modules="local:modules"
xmlns:ant="jelly:ant"
xmlns:plugin="plugin"
xmlns:macros="macros"
xmlns:maven="jelly:maven"
xmlns:define="jelly:define">
<j:set var="dist.name" value="${pom.artifactId}-${pom.currentVersion}"/>
<j:set var="dist.dir" value="target/dist"/>
<tstamp>
<format property="release_date" pattern="MMMM d, yyyy" locale="en"/>
</tstamp>
<!-- Test for >= JDK 1.5 to determine whether to include modules that require it -->
<echo message="Current Java Version is: ${java.specification.version}"/>
<j:set var="javaVersion" value="${java.specification.version}"/>
<j:if test="${javaVersion == '1.5'}">
<echo>
JDK ${java.specification.version} detected, including the following modules:
${maven.multiproject.includes.requiresJDK15}
</echo>
<j:set var="maven.multiproject.includes"
value="${maven.multiproject.includes},${maven.multiproject.includes.requiresJDK15}"/>
</j:if>
<j:set var="modules" value="*"/>
<preGoal name="modules:reactor:init">
<j:set var="groupId" value="maven-itest-plugin"/>
<j:set var="artifactId" value="maven-itest-plugin"/>
<j:set var="version" value="1.0"/>
<attainGoal name="plugin:download-artifact"/>
<maven:installPlugin
file="${maven.repo.local}/${groupId}/plugins/${artifactId}-${version}.jar"
cache="true"/>
</preGoal>
<!-- ======= -->
<!-- Modules -->
<!-- ======= -->
<goal name="modules:reactor:init">
<!--
| Determine the includes which the reactor will use.
|
| Uses 4 properties to control which modules will be include:
|
| module.types Comma seperated list of module types (ie. specs or modules)
| module.includes Comma seperated list of module names (ie. kernel, adb, ...)
| modules Same as module.includes, module.includes initializes to this value
| module.excludes Comma seperated list of module names to exclude
|
| The end result is that modules.reactor.includes is set to the project.xml files
| to include. This is the value the reactor will use.
|
| Example, to only build the kernel and adb modules:
|
| maven -Dmodules=kernel, adb
-->
<j:if test="${context.getVariable('module.types') == null}">
<j:set var="module.types" value="modules,applications,plugins"/>
</j:if>
<j:if test="${context.getVariable('modules') == null}">
<!-- The default is to build everything -->
<j:set var="modules" value="${modules}"/>
</j:if>
<j:if test="${context.getVariable('module.includes') == null}">
<j:set var="module.includes" value="${modules}"/>
</j:if>
<j:if test="${context.getVariable('module.excludes') == null}">
<j:set var="module.excludes" value=""/>
</j:if>
<u:tokenize var="types" delim=",">${module.types}</u:tokenize>
<ant:fileScanner var="scanner">
<ant:fileset dir="${basedir}">
<j:forEach var="type" items="${types}">
<j:choose>
<j:when test="${context.getVariable('module.includes') == '*'}">
<ant:include name="${type}/*/project.xml"/>
</j:when>
<j:otherwise>
<u:tokenize var="includes" delim=",">${module.includes}</u:tokenize>
<j:forEach var="include" items="${includes}">
<u:available file="${basedir}/${type}/${include}/project.xml">
<ant:include name="${type}/${include}/project.xml"/>
</u:available>
</j:forEach>
</j:otherwise>
</j:choose>
<j:choose>
<j:when test="${context.getVariable('module.excludes') == '*'}">
<ant:exclude name="${type}/*/project.xml"/>
</j:when>
<j:otherwise>
<u:tokenize var="excludes" delim=",">${module.excludes}</u:tokenize>
<j:forEach var="exclude" items="${excludes}">
<u:available file="${basedir}/${type}/${exclude}/project.xml">
<ant:exclude name="${type}/${exclude}/project.xml"/>
</u:available>
</j:forEach>
</j:otherwise>
</j:choose>
</j:forEach>
</ant:fileset>
</ant:fileScanner>
<!-- Init/Reinit this variable -->
<j:set var="modules.reactor.includes" value=""/>
<!-- Setup the includes which will be used by the reactor -->
<j:forEach var="file" items="${scanner.iterator()}">
<!--
| Would be nice if reactor would take a file set, but for now just remove
| the baseddir portion of the file's name. So this will essentially strip off
| ${basedir}
-->
<j:set var="directory"
value="${file.parentFile.parentFile.name}/${file.parentFile.name}"/>
<j:set var="filename" value="${directory}/${file.name}"/>
<ant:echo>Adding to modules.reactor.includes: ${filename}</ant:echo>
<j:choose>
<j:when test="${context.getVariable('modules.reactor.includes') == null}">
<j:set var="modules.directories" value="${directory}"/>
<j:set var="modules.reactor.includes" value="${filename}"/>
</j:when>
<j:otherwise>
<j:set var="modules.directories" value="${modules.directories},${directory}"/>
<j:set var="modules.reactor.includes"
value="${modules.reactor.includes},${filename}"/>
</j:otherwise>
</j:choose>
</j:forEach>
</goal>
<!-- Helper tags for modules -->
<define:taglib uri="local:modules">
<define:tag name="reactor">
<attainGoal name="modules:reactor:init"/>
<j:choose>
<j:when test="${goals != null}">
<maven:reactor
basedir="${basedir}"
includes="${modules.reactor.includes}"
banner="Executing (${goals}):"
ignoreFailures="false"
goals="${goals}"
postProcessing="true"
/>
</j:when>
<j:when test="${goals == null}">
<maven:reactor
basedir="${basedir}"
includes="${modules.reactor.includes}"
banner="Executing (${goals}):"
ignoreFailures="false"
postProcessing="true"
/>
</j:when>
</j:choose>
<!-- Set reactor projects in parent scope so goals have access to it -->
<j:set var="reactorProjects" value="${reactorProjects}" scope="parent"/>
</define:tag>
</define:taglib>
<goal name="m:init">
<ant:fileScanner var="scanner">
<ant:fileset dir="${basedir}">
<u:tokenize var="includes" delim=",">${maven.multiproject.includes}</u:tokenize>
<j:forEach var="include" items="${includes}">
<ant:include name="${include}"/>
</j:forEach>
<u:tokenize var="excludes" delim=",">${maven.multiproject.excludes}</u:tokenize>
<j:forEach var="exclude" items="${excludes}">
<ant:exclude name="${exclude}"/>
</j:forEach>
</ant:fileset>
</ant:fileScanner>
<j:set var="maven.multiproject.includes" value=""/>
<j:set var="maven.multiproject.excludes" value=""/>
<j:set var="modules.directories" value=""/>
<u:tokenize var="moduleList" delim=",">${modules}</u:tokenize>
<j:set var="currentDir" value="${basedir}/"/>
<j:forEach var="file" items="${scanner.iterator()}">
<j:set var="directory" value="${file.parentFile.absolutePath}"/>
<j:set var="include" value="${file.absolutePath.substring(currentDir.length())}"/>
<j:if test="${moduleList.isEmpty() || moduleList.contains(file.parentFile.name)}">
<j:choose>
<j:when test="${context.getVariable('maven.multiproject.includes') == ''}">
<j:set var="modules.directories" value="${directory}"/>
<j:set var="maven.multiproject.includes" value="${include}"/>
</j:when>
<j:otherwise>
<j:set var="modules.directories"
value="${modules.directories},${directory}"/>
<j:set var="maven.multiproject.includes"
value="${maven.multiproject.includes},${include}"/>
</j:otherwise>
</j:choose>
</j:if>
</j:forEach>
</goal>
<goal name="jar:jar">
<attainGoal name="create-jar"/>
<ant:copy file="target/lib/axis2-${pom.currentVersion}.jar"
toDir="target/"/>
</goal>
<goal name="jar">
<attainGoal name="multiproject:install"/>
<attainGoal name="jar:install"/>
</goal>
<goal name="init">
<ant:mkdir dir="target"/>
<ant:mkdir dir="${dist.dir}"/>
<ant:mkdir dir="target/lib"/>
<uptodate property="jars.uptodate" targetfile="target/axis2-${pom.currentVersion}.war">
<srcfiles dir="modules">
<include name="**/*.java"/>
<include name="**/*.xml"/>
<include name="**/*.wsdl"/>
<exclude name="**/target/**"/>
</srcfiles>
</uptodate>
<echo message="the files are up to date = ${jars.uptodate}"></echo>
</goal>
<goal name="modules:clean">
<attainGoal name="modules:reactor:init"/>
<u:tokenize var="directories" delim=",">${modules.directories}</u:tokenize>
<j:forEach var="directory" items="${directories}">
<ant:echo>+----------------------------------------</ant:echo>
<ant:echo>| Cleaning: ${directory}</ant:echo>
<ant:echo>+----------------------------------------</ant:echo>
<ant:delete dir="${directory}/target"/>
<ant:delete quiet="false" failonerror="false">
<ant:fileset dir="${directory}">
<ant:include name="maven.log"/>
<ant:include name="velocity.log*"/>
<ant:include name="junit*.properties"/>
<ant:include name="axis.log"/>
<ant:include name="junit*.properties"/>
<ant:include name="temp.properties"/>
</ant:fileset>
</ant:delete>
<ant:echo></ant:echo>
</j:forEach>
<ant:echo>+----------------------------------------</ant:echo>
<ant:echo>| Cleaning: target and etc/target</ant:echo>
<ant:echo>+----------------------------------------</ant:echo>
<ant:delete dir="target"/>
<ant:delete dir="etc/target"/>
</goal>
<goal name="clean">
<ant:delete dir="${user.home}/.axis2"/>
<ant:delete dir="${user.home}/.axis2home"/>
<attainGoal name="modules:clean"/>
</goal>
<!-- ================================================================ -->
<!--- Clean the Repository -->
<!-- ================================================================ -->
<goal name="clean-repo">
<ant:delete>
<ant:fileset dir="${maven.repo.local}">
<ant:include name="org.apache.axis2/jars/axis2*.jar"/>
</ant:fileset>
</ant:delete>
</goal>
<goal name="all-tests">
<modules:reactor goals="jar:install,test,itest"/>
</goal>
<goal name="cleanse-sources">
<modules:reactor goals="cleanse-sources"/>
</goal>
<goal name="clover">
<modules:reactor goals="clover:on,jar:install,test"/>
<attainGoal name="clover:merge"/>
<attainGoal name="clover:report"/>
</goal>
<goal name="create-jar" prereqs="init">
<jar destfile="target/lib/axis2-${pom.currentVersion}.jar">
<fileset dir="modules/java2wsdl/target/classes"/>
<fileset dir="modules/kernel/target/classes"/>
<!-- adding the tool classes. This is needed to get the ant task -->
<fileset dir="modules/tool/target/classes"/>
<fileset dir="modules/addressing/target/classes"/>
<fileset dir="modules/codegen/target/classes"/>
<fileset dir="modules/adb/target/classes"/>
<fileset dir="modules/adb-codegen/target/classes"/>
<fileset dir="modules/xmlbeans/target/classes"/>
<fileset dir="modules/addressing/target/">
<include name="modules/addressing-${addressing_version}.mar"/>
</fileset>
<!-- Copy items that depend on JDK1.5 -->
<j:if test="${javaVersion == '1.5'}">
<fileset dir="modules/saaj/target/classes"/>
<fileset dir="modules/saaj-api/target/classes"/>
<fileset dir="modules/jaxbri/target/classes"/>
<fileset dir="modules/metadata/target/classes"/>
<fileset dir="modules/jaxws/target/classes"/>
<fileset dir="modules/jaxws-api/target/classes"/>
</j:if>
</jar>
</goal>
<goal name="create-lib" prereqs="jar">
<attainGoal name="download-libs"/>
</goal>
<goal name="refresh-libs">
<attainGoal name="download-libs"/>
<ant:copy toDir="target/temp/war/lib" flatten="true">
<ant:fileset dir="modules/">
<include name="**/target/axis2-*-${pom.currentVersion}.jar"/>
</ant:fileset>
</ant:copy>
</goal>
<goal name="download-libs">
<macros:copy-deps copyToDir="target/lib" mods="*"/>
</goal>
<!-- ================================================================ -->
<!--- Create the War -->
<!-- ================================================================ -->
<goal name="war" prereqs="jar,init-dist,cache-war-deps">
<ant:mkdir dir="target/temp/war/toWEB-INF/modules"/>
<ant:mkdir dir="target/temp/war/toWEB-INF/services"/>
<ant:mkdir dir="target/temp/war/toWEB-INF/conf"/>
<!-- let's now remove un-necessary jars. Please refer -->
<!-- http://marc.theaimsgroup.com/?l=axis-dev&m=116047407714969&w=2, if you wanna know-->
<!-- why I removed this. -->
<ant:delete>
<fileset dir="${war_dep_cache}">
<include name="bcel-${bcel.version}.jar"/>
<include name="jibx-bind-${jibx.version}.jar"/>
</fileset>
</ant:delete>
<!-- Copy the java2wsdl jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/java2wsdl/target/axis2-java2wsdl-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the kernel jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/kernel/target/axis2-kernel-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the adb jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/adb/target/axis2-adb-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the adb codegen jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset
file="modules/adb-codegen/target/axis2-adb-codegen-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the json jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset
file="modules/json/target/axis2-json-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the java2wsdl jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/java2wsdl/target/axis2-java2wsdl-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the codegen jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/codegen/target/axis2-codegen-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the xmlbeans jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/xmlbeans/target/axis2-xmlbeans-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the spring jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/spring/target/axis2-spring-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the jibx jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/jibx/target/axis2-jibx-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy the fastinfoset jar -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/fastinfoset/target/axis2-fastinfoset-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy items that depend on JDK1.5 -->
<j:if test="${javaVersion == '1.5'}">
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/jaxbri/target/axis2-jaxbri-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/metadata/target/axis2-metadata-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/jaxws/target/axis2-jaxws-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/jaxws-api/target/axis2-jaxws-api-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/saaj-api/target/axis2-saaj-api-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="target/temp/war/lib">
<ant:fileset file="modules/saaj/target/axis2-saaj-${pom.currentVersion}.jar"/>
</ant:copy>
</j:if>
<!-- Copy the soapmonitor jar - the servlet classes -->
<ant:copy toDir="target/temp/war/lib">
<ant:fileset
file="modules/soapmonitor/target/axis2-soapmonitor-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- copy the soapmonitor mar -->
<ant:copy toDir="target/temp/war/toWEB-INF/modules">
<ant:fileset file="modules/soapmonitor/target/soapmonitor-${soapmonitor_version}.mar"/>
</ant:copy>
<!-- copy the addressing mar -->
<ant:copy toDir="target/temp/war/toWEB-INF/modules">
<ant:fileset file="modules/addressing/target/addressing-${addressing_version}.mar"/>
</ant:copy>
<echo file="target/temp/war/toWEB-INF/modules/modules.list" append="false">
addressing-${addressing_version}.mar
soapmonitor-${soapmonitor_version}.mar
</echo>
<!-- copy the sample services -->
<ant:copy toDir="target/temp/war/toWEB-INF/services">
<ant:fileset file="modules/samples/target/toWar/services/version.aar"/>
</ant:copy>
<echo file="target/temp/war/toWEB-INF/services/services.list" append="false">version.aar
</echo>
<!-- copy the axis2.xml into conf directoy -->
<ant:copy toDir="target/temp/war/toWEB-INF/conf">
<ant:fileset file="modules/kernel/conf/axis2.xml"/>
</ant:copy>
<ant:copy toDir="target/temp/war/axis2-web">
<ant:fileset dir="modules/webapp">
<ant:exclude name="project.xml"/>
<ant:exclude name="**/*.iml"/>
<ant:exclude name="**/.*"/>
<ant:exclude name="**/conf/**"/>
</ant:fileset>
</ant:copy>
<ant:war destfile="target/dist/axis2.war"
webxml="modules/webapp/conf/web.xml">
<ant:lib dir="target/temp/war/lib">
<ant:include name="**"/>
<ant:exclude name="**servlet**"/>
<ant:exclude name="ant*.jar"/>
</ant:lib>
<ant:lib dir="${war_dep_cache}">
<ant:include name="**"/>
<ant:exclude name="**servlet**"/>
<ant:exclude name="ant*.jar"/>
</ant:lib>
<ant:classes dir="modules/kernel/conf">
<ant:include name="*.properties"/>
</ant:classes>
<!-- <ant:webinf dir="modules/kernel/src/org/apache/axis2/deployment">
<ant:include name="*.xml"/>
</ant:webinf> -->
<ant:webinf dir="target/temp/war/toWEB-INF"/>
<ant:fileset dir="target/temp/war">
<ant:include name="**/axis2-web/**"/>
</ant:fileset>
</ant:war>
</goal>
<!-- to transform htmls to xdocs -->
<preGoal name="xdoc:jelly-transform">
<attainGoal name="html2xdoc"/>
</preGoal>
<goal name="dist">
<attainGoal name="release"/>
</goal>
<!-- ================================================================ -->
<!--- Create the Release -->
<!-- ================================================================ -->
<goal name="release"
prereqs="jar,dist-bin,dist-src,dist-docs,war">
<ant:echo>+----------------------------------------------</ant:echo>
<ant:echo>| Creating: Axis2 Distributions</ant:echo>
<ant:echo>+----------------------------------------------</ant:echo>
<ant:copy toFile="target/dist/addressing-${addressing_version}.mar"
file="modules/addressing/target/addressing-${addressing_version}.mar"/>
<ant:copy toFile="target/dist/soapmonitor-${soapmonitor_version}.mar"
file="modules/soapmonitor/target/soapmonitor-${soapmonitor_version}.mar"/>
<ant:delete dir="target/temp"/>
<ant:delete dir="target/apidocs"/>
</goal>
<goal name="init-dist">
<ant:filter token="axis2_version" value="${pom.currentVersion}"/>
<ant:filter token="release_date" value="${release_date}"/>
<property name="std_dep_cache" value="target/temp/cache/std"/>
<property name="war_dep_cache" value="target/temp/cache/war"/>
<ant:mkdir dir="target/dist"/>
</goal>
<goal name="dist-bin" prereqs="jar,init-dist,cache-std-deps">
<ant:echo>+----------------------------------------------</ant:echo>
<ant:echo>| Creating: Axis2 Main Binary Distribution</ant:echo>
<ant:echo>+----------------------------------------------</ant:echo>
<ant:property name="std.bin.temp.dir" value="target/temp/main/axis2-${pom.currentVersion}"/>
<ant:mkdir dir="${std.bin.temp.dir}/repository"/>
<ant:mkdir dir="${std.bin.temp.dir}/repository/modules"/>
<ant:mkdir dir="${std.bin.temp.dir}/repository/services"/>
<ant:mkdir dir="${std.bin.temp.dir}/bin"/>
<ant:mkdir dir="${std.bin.temp.dir}/conf"/>
<ant:mkdir dir="${std.bin.temp.dir}/webapp"/>
<ant:mkdir dir="${std.bin.temp.dir}/webapp/WEB-INF"/>
<ant:mkdir dir="${std.bin.temp.dir}/webapp/WEB-INF/classes"/>
<ant:mkdir dir="${std.bin.temp.dir}/webapp/axis2-web"/>
<ant:mkdir dir="${std.bin.temp.dir}/lib"/>
<ant:mkdir dir="${std.bin.temp.dir}/samples"/>
<!--********************** creating the repository ********************** -->
<!-- copy the soapmonitor mar -->
<ant:copy toDir="${std.bin.temp.dir}/repository/modules">
<ant:fileset file="modules/soapmonitor/target/soapmonitor-${soapmonitor_version}.mar"/>
</ant:copy>
<!-- copy the addressing mar -->
<ant:copy toDir="${std.bin.temp.dir}/repository/modules">
<ant:fileset file="modules/addressing/target/addressing-${addressing_version}.mar"/>
</ant:copy>
<echo file="${std.bin.temp.dir}/repository/modules/modules.list" append="false">
addressing-${addressing_version}.mar
soapmonitor-${soapmonitor_version}.mar
</echo>
<!-- copy the sample services -->
<!-- TODO copy other sample-XXX.aar too -->
<ant:copy toDir="${std.bin.temp.dir}/repository/services">
<ant:fileset file="modules/samples/target/toWar/services/version.aar"/>
</ant:copy>
<echo file="${std.bin.temp.dir}/repository/services/services.list" append="false">
version.aar
</echo>
<!--********************** creating the bin ********************** -->
<!-- Copy bin scripts -->
<ant:copy todir="${std.bin.temp.dir}/bin">
<ant:fileset dir="modules/tool/script"/>
</ant:copy>
<!--********************** creating the conf ********************** -->
<!-- copy the axis2.xml into conf directoy -->
<ant:copy toDir="${std.bin.temp.dir}/conf">
<ant:fileset file="modules/kernel/conf/axis2.xml"/>
</ant:copy>
<!--********************** creating the webappp ********************** -->
<!-- copy the web.xml into webapp/WEB-INF directory -->
<ant:copy toDir="${std.bin.temp.dir}/webapp/WEB-INF">
<ant:fileset file="modules/webapp/conf/web.xml"/>
</ant:copy>
<!-- copy the build.xml into webapp directory -->
<ant:copy toDir="${std.bin.temp.dir}/webapp">
<ant:fileset file="modules/webapp/scripts/build.xml"/>
</ant:copy>
<!-- copy *.properties to webapp/WEB-INF/classes directory -->
<ant:copy toDir="${std.bin.temp.dir}/webapp/WEB-INF/classes">
<ant:fileset dir="modules/kernel/conf">
<ant:include name="*.properties"/>
</ant:fileset>
</ant:copy>
<!-- copy contents of the webapp module to webapp/axis2-web directory -->
<ant:copy toDir="${std.bin.temp.dir}/webapp/axis2-web">
<ant:fileset dir="modules/webapp">
<ant:exclude name="project.xml"/>
<ant:exclude name="**/*.iml"/>
<ant:exclude name="**/.*"/>
<ant:exclude name="**/conf/**"/>
<ant:exclude name="**/scripts/**"/>
</ant:fileset>
</ant:copy>
<!--********************** creating the lib ********************** -->
<!-- Copy the 3rd party libs -->
<ant:copy toDir="${std.bin.temp.dir}/lib">
<ant:fileset dir="${std_dep_cache}"/>
</ant:copy>
<!-- Deleting bcel, jaxme, spring jars -->
<ant:delete>
<fileset dir="${std.bin.temp.dir}/lib">
<include name="bcel-${bcel.version}.jar"/>
<include name="spring*.*"/>
<include name="jaxme*.*"/>
</fileset>
</ant:delete>
<!-- Delete tesing jars -->
<echo message="Deleting Unwanted testing jars"/>
<ant:delete>
<fileset dir="${std.bin.temp.dir}/lib">
<include name="**/ant*.jar"/>
<include name="**/xmlunit*.jar"/>
<include name="**/junit*.jar"/>
</fileset>
</ant:delete>
<ant:copy toDir="${std.bin.temp.dir}/lib">
<ant:fileset file="modules/java2wsdl/target/axis2-java2wsdl-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/kernel/target/axis2-kernel-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/adb/target/axis2-adb-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/codegen/target/axis2-codegen-${pom.currentVersion}.jar"/>
<ant:fileset
file="modules/adb-codegen/target/axis2-adb-codegen-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/xmlbeans/target/axis2-xmlbeans-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/jibx/target/axis2-jibx-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/json/target/axis2-json-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/tool/target/axis2-tools-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/spring/target/axis2-spring-${pom.currentVersion}.jar"/>
<ant:fileset
file="modules/soapmonitor/target/axis2-soapmonitor-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/fastinfoset/target/axis2-fastinfoset-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy items that depend on JDK1.5 -->
<j:if test="${javaVersion == '1.5'}">
<ant:copy toDir="${std.bin.temp.dir}/lib">
<ant:fileset file="modules/jaxbri/target/axis2-jaxbri-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="${std.bin.temp.dir}/lib">
<ant:fileset file="modules/metadata/target/axis2-metadata-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="${std.bin.temp.dir}/lib">
<ant:fileset file="modules/jaxws/target/axis2-jaxws-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="${std.bin.temp.dir}/lib">
<ant:fileset file="modules/jaxws-api/target/axis2-jaxws-api-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="${std.bin.temp.dir}/lib">
<ant:fileset file="modules/saaj-api/target/axis2-saaj-api-${pom.currentVersion}.jar"/>
</ant:copy>
<ant:copy toDir="${std.bin.temp.dir}/lib">
<ant:fileset file="modules/saaj/target/axis2-saaj-${pom.currentVersion}.jar"/>
</ant:copy>
</j:if>
<!--********************** creating the samples ********************** -->
<!-- If you want to add a new sample, put your content in modules/samples and add an entry below
to be copied in to the standard release -->
<ant:mkdir dir="${std.bin.temp.dir}/samples/faulthandling"/>
<ant:copy todir="${std.bin.temp.dir}/samples/">
<ant:fileset dir="modules/samples/">
<include name="yahoorestsearch/**/*.*"/>
<include name="yahoojsonsearch/**/*.*"/>
<include name="databinding/**/*.*"/>
<include name="faulthandling/**/*.*"/>
<include name="mtom/**/*.*"/>
<include name="soapwithattachments/**/*.*"/>
<include name="version/**/*.*"/>
<include name="servicelifecycle/**/*.*"/>
<include name="wsdl/*.*"/>
<include name="pojo/**/*.*"/>
<!-- Docs related samples -->
<include name="userguide/**/*.*"/>
<include name="pojoguide/**/*.*"/>
<include name="pojoguidespring/**/*.*"/>
<include name="quickstart/**/*.*"/>
<include name="quickstartaxiom/**/*.*"/>
<include name="quickstartadb/**/*.*"/>
<include name="quickstartxmlbeans/**/*.*"/>
<include name="quickstartjibx/**/*.*"/>
<include name="jaxws-calculator/**/*.*"/>
</ant:fileset>
</ant:copy>
<ant:delete file="${std.bin.temp.dir}/samples/groovyService.aar"/>
<!--copy NOTICE.txt file-->
<ant:copy toFile="${std.bin.temp.dir}/NOTICE.txt" filtering="on">
<ant:fileset file="NOTICE.txt"/>
</ant:copy>
<!--copy NOTICE.txt file-->
<ant:copy toFile="${std.bin.temp.dir}/INSTALL.txt" filtering="on">
<ant:fileset file="release-docs/readme-files/installation-std-bin.txt"/>
</ant:copy>
<!-- Copy the release documents -->
<macros:copy-release-docs toDir="${std.bin.temp.dir}"
readmeFile="release-docs/readme-files/README-std-bin.txt"/>
<ant:zip file="${dist.dir}/axis2-${pom.currentVersion}.zip"
basedir="target/temp/main"/>
<ant:delete dir="target/temp/main"/>
</goal>
<goal name="dist-src" prereqs="init-dist">
<ant:echo>+----------------------------------------------</ant:echo>
<ant:echo>| Creating: Axis2 Standard Source Distribution</ant:echo>
<ant:echo>+----------------------------------------------</ant:echo>
<ant:property name="src.temp.dir" value="target/temp/src/axis2-${pom.currentVersion}"/>
<ant:mkdir dir="target/temp/src"/>
<ant:mkdir dir="target/temp/src/axis2-${pom.currentVersion}"/>
<ant:mkdir dir="${src.temp.dir}"/>
<ant:copy toDir="${src.temp.dir}">
<ant:fileset dir=".">
<ant:include name="**/modules/adb/**"/>
<ant:include name="**/modules/adb-codegen/**"/>
<ant:include name="**/modules/addressing/**"/>
<ant:include name="**/modules/codegen/**"/>
<ant:include name="**/modules/fastinfoset/**"/>
<ant:include name="**/modules/java2wsdl/**"/>
<ant:include name="**/modules/jaxbri/**"/>
<ant:include name="**/modules/ping/**"/>
<ant:include name="**/modules/jaxws/**"/>
<ant:include name="**/modules/jaxws-api/**"/>
<ant:include name="**/modules/jibx/**"/>
<ant:include name="**/modules/json/**"/>
<ant:include name="**/modules/kernel/**"/>
<ant:include name="**/modules/metadata/**"/>
<ant:include name="**/modules/mtompolicy/**"/>
<ant:include name="**/modules/parent/**"/>
<ant:include name="**/modules/saaj/**"/>
<ant:include name="**/modules/saaj-api/**"/>
<ant:include name="**/modules/samples/**"/>
<ant:include name="**/modules/soapmonitor/**"/>
<ant:include name="**/modules/spring/**"/>
<ant:include name="**/modules/tool/**"/>
<ant:include name="**/modules/webapp/**"/>
<ant:include name="**/modules/xmlbeans/**"/>
<ant:include name="**/etc/**"/>
<ant:include name="**/legal/**"/>
<ant:include name="**/xdocs/**"/>
<ant:include name="**/release-docs/**"/>
<ant:exclude name="**/SameServiceAddingTest.java"/>
<!-- TODO: This is failing in the distros. Must Fix it. -->
<ant:exclude name="**/target/**"/>
<ant:exclude name="**/modules/samples/eventing/**"/>
<ant:exclude name="**/modules/samples/security/**"/>
<ant:exclude name="xdocs/**"/>
<ant:exclude name="**/*.class*/**"/>
<ant:exclude name="**/.svn/**"/>
<ant:exclude name="**/bin/**"/>
<ant:exclude name="**/*.log"/>
<ant:exclude name=".*"/>
<ant:exclude name="**/*.license"/>
<ant:exclude name="**/*.iml"/>
</ant:fileset>
</ant:copy>
<ant:copy toDir="${src.temp.dir}/etc" overwrite="true" filtering="on"
file="etc/project.properties"/>
<ant:copy toDir="${src.temp.dir}" overwrite="true" filtering="on" file="NOTICE.txt"/>
<!-- Copy the master maven files for the standard src distro -->
<ant:copy toFile="${src.temp.dir}/maven.xml">
<ant:fileset file="maven.xml"/>
</ant:copy>
<ant:copy toDir="${src.temp.dir}">
<ant:fileset file="project.xml"/>
<ant:fileset file="pom.xml"/>
</ant:copy>
<!-- Copy the release documents -->
<macros:copy-release-docs toDir="${src.temp.dir}"
readmeFile="release-docs/readme-files/README-std-src.txt"/>
<ant:zip file="${dist.dir}/axis2-${pom.currentVersion}-src.zip">
<ant:fileset dir="target/temp/src"/>
</ant:zip>
<ant:delete dir="target/temp/src"/>
</goal>
<goal name="dist-war" prereqs="war">
<ant:echo>+----------------------------------------------</ant:echo>
<ant:echo>| Creating: Axis2 WAR Distribution</ant:echo>
<ant:echo>+----------------------------------------------</ant:echo>
</goal>
<!--creates a backup of xdocs folder(xdocs-original) & apply the filter to the
xdocs folder.This filter applied xdocs folder will be used by maven site goal.
Once site generation is completed, the original content will be replaced, so
svn diff will not see any difference.
@see preGoal name="site"
@see postGoal name="site" -->
<preGoal name="site">
<!--copy the content of the xdocs folder into a backup folder -->
<!--This backed up copy will be copied into xdocs @ postGoal="site" -->
<ant:mkdir dir="target/xdocs-original"/>
<copy todir="target/xdocs-original">
<fileset dir="xdocs"/>
</copy>
<ant:filter filtersfile="target/xdocs-original/dynamic-labels.properties" />
<ant:copy toDir="xdocs" filtering="on" overwrite="true" >
<ant:fileset dir="target/xdocs-original">
<exclude name="images/**"/>
<exclude name="@axis2_version_dir@/images/**"/>
</ant:fileset>
</ant:copy>
<ant:move toDir="xdocs/${maven.xdoc.axis_doc_folder_name}">
<ant:fileset dir="xdocs/@axis2_version_dir@"/>
</ant:move>
</preGoal>
<postGoal name="site">
<echo message="Replacing the original xdocs folder..."></echo>
<ant:delete dir="xdocs/${maven.xdoc.axis_doc_folder_name}"/>
<ant:copy toDir="xdocs" overwrite="true" >
<ant:fileset dir="target/xdocs-original"/>
</ant:copy>
<!-- Delete the backup of xdocs folder. @see preGoal name="site" -->
<ant:delete dir="target/xdocs-original"/>
<ant:delete dir="target/docs/@axis2_version_dir@"/>
</postGoal>
<goal name="dist-docs" prereqs="init-dist, javadocs">
<ant:echo>+----------------------------------------------</ant:echo>
<ant:echo>| Creating: Axis2 Docs Distribution</ant:echo>
<ant:echo>+----------------------------------------------</ant:echo>
<ant:mkdir dir="target/dist"/>
<ant:property name="docs.temp.dir"
value="target/temp/docs/axis2-${pom.currentVersion}/docs"/>
<ant:mkdir dir="${docs.temp.dir}"/>
<ant:mkdir dir="${docs.temp.dir}/xdocs"/>
<ant:mkdir dir="${docs.temp.dir}/javadocs"/>
<echo message="Applying dynamic label filter..."></echo>
<ant:copy toDir="xdocs/${maven.xdoc.axis_doc_folder_name}">
<ant:fileset dir="xdocs/@axis2_version_dir@"/>
</ant:copy>
<ant:filter filtersfile="xdocs/dynamic-labels.properties" />
<ant:copy toDir="${docs.temp.dir}/xdocs" filtering="on" overwrite="true" >
<ant:fileset dir="xdocs">
<ant:exclude name="@axis2_version_dir@/**"/>
<!--exclude the images from going through the filter
https://issues.apache.org/jira/browse/AXIS2-2412
-->
<ant:exclude name="**/*.gif"/>
<ant:exclude name="**/*.jpg"/>
</ant:fileset>
</ant:copy>
<!-- copy the imaged seperately -->
<ant:copy toDir="${docs.temp.dir}/xdocs" filtering="off" overwrite="true" >
<ant:fileset dir="xdocs">
<ant:exclude name="@axis2_version_dir@/**"/>
<ant:include name="**/*.gif"/>
<ant:include name="**/*.jpg"/>
</ant:fileset>
</ant:copy>
<!--delete renamed folder from xdocs folder-->
<ant:delete dir="xdocs/${maven.xdoc.axis_doc_folder_name}"/>
<ant:copy toDir="${docs.temp.dir}/javadocs">
<ant:fileset dir="target/apidocs"/>
</ant:copy>
<macros:copy-release-docs toDir="${docs.temp.dir}"
readmeFile="release-docs/readme-files/README-docs.txt"/>
<ant:zip file="${dist.dir}/axis2-${pom.currentVersion}-docs.zip">
<ant:fileset dir="target/temp/docs"/>
</ant:zip>
<!--ant:delete dir="target/temp/docs"/-->
<ant:echo message="***** IMPORTANT: Please manually copy the Eclipse &amp; IDEA plugins"/>
</goal>
<goal name="cache-std-deps" prereqs="init-dist">
<ant:mkdir dir="${std_dep_cache}"/>
<j:if test="${stdDeps.uptodate != 'yes'}">
<j:if test="${javaVersion == '1.5'}">
<macros:copy-deps copyToDir="${std_dep_cache}"
mods="webapp,jibx,spring,saaj-api,saaj,kernel,adb,json,jaxbri"/>
</j:if>
<j:if test="${javaVersion == '1.4'}">
<macros:copy-deps copyToDir="${std_dep_cache}"
mods="webapp,jibx,spring,kernel,adb,json,jaxbri"/>
</j:if>
<property name="stdDeps.uptodate" value="yes"/>
</j:if>
<!--copy the license files also-->
<ant:copy toDir="${std_dep_cache}">
<ant:fileset dir="legal/std">
<ant:include name="*.txt"/>
</ant:fileset>
</ant:copy>
<!--remove testing jars-->
<ant:delete dir="${std_dep_cache}">
<ant:include name="junit*.jar"/>
<ant:include name="xmlunit*.jar"/>
<ant:include name="maven-itest*.jar"/>
</ant:delete>
</goal>
<!--<goal name="cache-war-deps" prereqs="init-dist,cache-std-deps">-->
<goal name="cache-war-deps" prereqs="init-dist">
<ant:mkdir dir="${war_dep_cache}"/>
<j:if test="${warDeps.uptodate != 'yes'}">
<j:if test="${javaVersion == '1.5'}">
<macros:copy-deps copyToDir="${war_dep_cache}"
mods="webapp,spring,jibx,saaj-api,saaj"/>
</j:if>
<j:if test="${javaVersion == '1.4'}">
<macros:copy-deps copyToDir="${war_dep_cache}"
mods="webapp,spring,jibx"/>
</j:if>
<property name="warDeps.uptodate" value="yes"/>
</j:if>
<!--copy the license files also-->
<ant:copy toDir="${war_dep_cache}">
<ant:fileset dir="legal/war">
<ant:include name="*.txt"/>
</ant:fileset>
<ant:fileset dir="legal/std">
<ant:include name="*.txt"/>
</ant:fileset>
</ant:copy>
<!--remove testing jars-->
<ant:delete dir="${war_dep_cache}">
<ant:include name="junit*.jar"/>
<ant:include name="xmlunit*.jar"/>
</ant:delete>
</goal>
<!-- ================================================================ -->
<!--- Create the Java Docs -->
<!-- ================================================================ -->
<goal name="javadocs" prereqs="jar,init, create-lib">
<ant:javadoc packagenames="org.apache.axis2.*"
defaultexcludes="yes"
destdir="target/apidocs"
author="true"
breakiterator="true"
version="true"
use="true"
windowtitle="Axis2 API">
<ant:arg
line="-J-Dhttp.proxy.port=${maven.proxy.port} -J-Dhttp.proxy.host=${maven.proxy.host}"/>
<ant:sourcepath>
<ant:pathelement location="modules/adb/src"/>
<ant:pathelement location="modules/adb-codegen/src"/>
<ant:pathelement location="modules/addressing/src"/>
<ant:pathelement location="modules/codegen/src"/>
<ant:pathelement location="modules/java2wsdl/src"/>
<!-- Cannot run the build in jdk1.4 when jaxbri is included -->
<!--ant:pathelement location="modules/jaxbri/src"/-->
<ant:pathelement location="modules/jibx/src"/>
<ant:pathelement location="modules/kernel/src"/>
<!-- we are not shipping jaxws with 1.1 -->
<!--ant:pathelement location="modules/jaxws/src"/-->
<ant:pathelement location="modules/soapmonitor/src"/>
<ant:pathelement location="modules/spring/src"/>
<ant:pathelement location="modules/xmlbeans/src"/>
<!-- Copy items that depend on JDK1.5 -->
<j:if test="${javaVersion == '1.5'}">
<ant:pathelement location="modules/saaj/src"/>
<ant:pathelement location="modules/saaj-api/src"/>
<ant:pathelement location="modules/jaxbri/src"/>
</j:if>
</ant:sourcepath>
<ant:classpath>
<ant:fileset dir="target/lib">
<ant:include name="**/*.jar"/>
</ant:fileset>
</ant:classpath>
<ant:excludepackage name="org.apache.axis2.tool.codegen.*"/>
<ant:excludepackage name="org.apache.axis2.tool.service.*"/>
<ant:link href="http://java.sun.com/j2se/1.4.2/docs/api/"/>
<ant:link href="http://java.sun.com/webservices/docs/1.5/api/"/>
<ant:link href="http://xerces.apache.org/xerces-j/apiDocs/"/>
<ant:link href="http://xml.apache.org/xalan-j/apidocs/"/>
<ant:link href="http://xmlbeans.apache.org/docs/2.1.0/reference/"/>
</ant:javadoc>
</goal>
<postGoal name="site">
<ant:copy toDir="target/docs/style" overwrite="true">
<ant:fileset dir="xdocs/style">
<ant:include name="*.css"/>
</ant:fileset>
</ant:copy>
</postGoal>
<!-- ================================================================ -->
<!--- Reports -->
<!-- ================================================================ -->
<!-- Conditionally disable linkcheck based on a property. -->
<postGoal name="xdoc:register-reports">
<j:if test="${maven.allreports.disable}">
<echo>Reports are disabled. Deregistering all the reports ....</echo>
<attainGoal name="maven-linkcheck-plugin:deregister"/>
<echo>linkcheck is disabled.</echo>
<attainGoal name="maven-checkstyle-plugin:deregister"/>
<echo>checkstyle is disabled.</echo>
<attainGoal name="maven-changes-plugin:deregister"/>
<echo>changes is disabled.</echo>
<attainGoal name="maven-changelog-plugin:deregister"/>
<echo>changelog is disabled.</echo>
<attainGoal name="maven-license-plugin:deregister"/>
<echo>license is disabled.</echo>
<attainGoal name="maven-javadoc-plugin:deregister"/>
<echo>javadoc is disabled.</echo>
<attainGoal name="maven-junit-report-plugin:deregister"/>
<echo>junit-report is disabled.</echo>
<attainGoal name="maven-tasklist-plugin:deregister"/>
<echo>tasklist is disabled.</echo>
</j:if>
</postGoal>
<!-- ================================================================ -->
<!--- Create JUnit test reports -->
<!-- ================================================================ -->
<goal name="test-reports">
<mkdir dir="${basedir}/target/test-reports"/>
<ant:junitreport todir="${basedir}/target/test-reports">
<ant:fileset dir="${basedir}/">
<ant:include name="**/test-reports/TEST-*.xml"/>
<ant:include name="**/itest-reports/TEST-*.xml"/>
</ant:fileset>
<ant:report format="frames" todir="${basedir}/target/test-reports"
styledir="${basedir}/etc"/>
</ant:junitreport>
</goal>
<!-- ================================================================ -->
<!--- Create all the distributable jars -->
<!-- ================================================================ -->
<goal name="all-jars" prereqs="jar">
<ant:echo>+----------------------------------------------</ant:echo>
<ant:echo>| Creating: JARs</ant:echo>
<ant:echo>+----------------------------------------------</ant:echo>
<ant:property name="destdir" value="target/jars"/>
<ant:mkdir dir="${destdir}"/>
<ant:copy toDir="${destdir}">
<ant:fileset file="modules/java2wsdl/target/axis2-java2wsdl-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/kernel/target/axis2-kernel-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/adb/target/axis2-adb-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/codegen/target/axis2-codegen-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/codegen/target/axis2-adb-codegen-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/xmlbeans/target/axis2-xmlbeans-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/jibx/target/axis2-jibx-${pom.currentVersion}.jar"/>
<ant:fileset file="modules/java2wsdl/target/axis2-java2wsdl-${pom.currentVersion}.jar"/>
</ant:copy>
<!-- Copy items that depend on JDK1.5 -->
<j:if test="${javaVersion == '1.5'}">
<ant:copy toDir="${destdir}">
<ant:fileset file="modules/jaxbri/target/axis2-jaxbri-${pom.currentVersion}.jar"/>
</ant:copy>
</j:if>
</goal>
<define:taglib uri="macros">
<define:tag name="copy-deps">
<!--
PLEASE don't check in with these lines enabled.
<ant:echo message="######## MODULES=${mods}"/>
<ant:echo message="######## Copy2Dir=${copyToDir}"/>
-->
<j:set var="modules" value="${mods}"/>
<!-- ######################### REACTOR INIT ##########################################-->
<j:if test="${context.getVariable('module.types') == null}">
<j:set var="module.types" value="modules,applications,plugins"/>
</j:if>
<j:set var="module.includes" value="${modules}"/>
<j:if test="${context.getVariable('module.excludes') == null}">
<j:set var="module.excludes" value=""/>
</j:if>
<u:tokenize var="types" delim=",">${module.types}</u:tokenize>
<ant:fileScanner var="scanner">
<ant:fileset dir="${basedir}">
<j:forEach var="type" items="${types}">
<j:choose>
<j:when test="${context.getVariable('module.includes') == '*'}">
<ant:include name="${type}/*/project.xml"/>
</j:when>
<j:otherwise>
<u:tokenize var="includes" delim=",">${module.includes}</u:tokenize>
<j:forEach var="include" items="${includes}">
<u:available file="${basedir}/${type}/${include}/project.xml">
<ant:include name="${type}/${include}/project.xml"/>
</u:available>
</j:forEach>
</j:otherwise>
</j:choose>
<j:choose>
<j:when test="${context.getVariable('module.excludes') == '*'}">
<ant:exclude name="${type}/*/project.xml"/>
</j:when>
<j:otherwise>
<u:tokenize var="excludes" delim=",">${module.excludes}</u:tokenize>
<j:forEach var="exclude" items="${excludes}">
<u:available file="${basedir}/${type}/${exclude}/project.xml">
<ant:exclude name="${type}/${exclude}/project.xml"/>
</u:available>
</j:forEach>
</j:otherwise>
</j:choose>
</j:forEach>
</ant:fileset>
</ant:fileScanner>
<j:set var="modules.reactor.includes" value=""/>
<!-- Setup the includes which will be used by the reactor -->
<j:forEach var="file" items="${scanner.iterator()}">
<j:set var="directory"
value="${file.parentFile.parentFile.name}/${file.parentFile.name}"/>
<j:set var="filename" value="${directory}/${file.name}"/>
<j:choose>
<j:when test="${context.getVariable('modules.reactor.includes') == null}">
<j:set var="modules.directories" value="${directory}"/>
<j:set var="modules.reactor.includes" value="${filename}"/>
</j:when>
<j:otherwise>
<j:set var="modules.directories"
value="${modules.directories},${directory}"/>
<j:set var="modules.reactor.includes"
value="${modules.reactor.includes},${filename}"/>
</j:otherwise>
</j:choose>
</j:forEach>
<!-- #################### END OF REACTOR INIT #######################################-->
<ant:echo message="Fetching Dependencies for modules: ${modules.reactor.includes}"/>
<maven:reactor
basedir="${basedir}"
postProcessing="true"
includes="${modules.reactor.includes}"
banner="Executing (${goals}):"
ignoreFailures="false"/>
<j:forEach var="x" items="${reactorProjects}">
<ant:echo message="Copying ${x} to ${copyToDir}"/>
<deploy:copy-deps todir="${copyToDir}"
projectDescriptor="${x.getFile()}"/>
</j:forEach>
<property name="modules" value="*"/>
</define:tag>
<define:tag name="copy-release-docs">
<filter token="axisVersion" value="${pom.currentVersion}"/>
<filter token="TODAY" value="${TODAY}"/>
<ant:copy toFile="${toDir}/README.txt" filtering="on">
<ant:fileset file="${readmeFile}"/>
</ant:copy>
<ant:copy toFile="${toDir}/release-notes.html" filtering="on">
<ant:fileset file="release-notes.html"/>
</ant:copy>
<ant:copy toFile="${toDir}/LICENSE.txt" filtering="on">
<ant:fileset file="LICENSE.txt"/>
</ant:copy>
</define:tag>
</define:taglib>
</project>