<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
/* | |
* 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. | |
*/ | |
--> | |
<!-- | |
| The main goals for multi project build are: | |
| | |
| default | |
| Build all the modules | |
| | |
| clean | |
| Deletes the 'target' directory in all projects | |
| | |
| dist-bin | |
| Creates the main binary distribution | |
| | |
| dist-docs | |
| Creates the javadocs distribution (without xdocs) | |
| | |
| dist-src | |
| Creates the source distribution | |
| | |
| release | |
| Creates the 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 --> | |
<ant:echo>${ant.java.version}</ant:echo> | |
<j:if test="${ant.java.version == '1.5'}"> | |
<ant:echo> | |
JDK ${ant.java.version} detected, including the following modules: | |
${maven.multiproject.includes.requiresJDK15} | |
</ant: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"/> | |
<attainGoal name="clean-repo"/> | |
</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"> | |
<!-- Hack for now, don't fail building jar if saaj is absent --> | |
<ant:mkdir dir="modules/saaj/target/classes"/> | |
<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/saaj/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> | |
</jar> | |
</goal> | |
<goal name="create-lib"> | |
<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 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 saaj jar --> | |
<ant:copy toDir="target/temp/war/lib"> | |
<ant:fileset file="modules/saaj/target/axis2-saaj-${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 items that depend on JDK1.5 --> | |
<j:if test="${ant.java.version == '1.5'}"> | |
<ant:copy toDir="target/temp/war/lib"> | |
<ant:fileset file="modules/jaxbri/target/axis2-jaxbri-${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> | |
<!-- ================================================================ --> | |
<!--- 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/saaj/target/axis2-saaj-${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:copy> | |
<!-- Copy items that depend on JDK1.5 --> | |
<j:if test="${ant.java.version == '1.5'}"> | |
<ant:copy toDir="${std.bin.temp.dir}/lib"> | |
<ant:fileset file="modules/jaxbri/target/axis2-jaxbri-${pom.currentVersion}.jar"/> | |
</ant:copy> | |
</j:if> | |
<!--********************** creating the samples ********************** --> | |
<!-- TODO :Copy the samples.. after samples module refactoring --> | |
<!--ant:copy todir="${std.bin.temp.dir}/samples"> | |
<ant:fileset dir="modules/samples/target/samples"/> | |
</ant:copy--> | |
<!--ant:copy todir="${std.bin.temp.dir}/samples/userguide"> | |
<ant:fileset file="${std.bin.temp.dir}/samples/groovyService.aar"/> | |
</ant:copy--> | |
<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="googlespellcheck/**/*.*"/> | |
<include name="faulthandling/**/*.*"/> | |
<include name="mtom/**/*.*"/> | |
<include name="soapwithattachments/**/*.*"/> | |
<include name="version/**/*.*"/> | |
<include name="servicelifecycle/**/*.*"/> | |
<include name="pojo/**/*.*"/> | |
</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> | |
<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}/src"/> | |
<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="**/etc/**"/> | |
<ant:include name="**/modules/java2wsdl/**"/> | |
<ant:include name="**/modules/kernel/**"/> | |
<ant:include name="**/modules/adb/**"/> | |
<ant:include name="**/modules/adb-codegen/**"/> | |
<ant:include name="**/modules/codegen/**"/> | |
<ant:include name="**/modules/webapp/**"/> | |
<ant:include name="**/modules/xmlbeans/**"/> | |
<ant:include name="**/modules/jibx/**"/> | |
<ant:include name="**/modules/jaxbri/**"/> | |
<ant:include name="**/modules/addressing/**"/> | |
<ant:include name="**/modules/saaj/**"/> | |
<ant:include name="**/modules/samples/**"/> | |
<ant:include name="**/modules/soapmonitor/**"/> | |
<ant:include name="**/modules/spring/**"/> | |
<ant:include name="**/modules/tool/**"/> | |
<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:copy> | |
<ant:copy toDir="${src.temp.dir}"> | |
<ant:fileset file="README.txt"/> | |
</ant:copy> | |
<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> | |
<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}/javadocs"/> | |
<ant:copy toDir="${docs.temp.dir}/javadocs"> | |
<ant:fileset dir="target/apidocs"/> | |
</ant:copy> | |
<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 & IDEA plugins"/> | |
</goal> | |
<goal name="cache-std-deps" prereqs="init-dist"> | |
<ant:mkdir dir="${std_dep_cache}"/> | |
<j:if test="${stdDeps.uptodate != 'yes'}"> | |
<macros:copy-deps copyToDir="${std_dep_cache}" | |
mods="webapp,jibx,spring,saaj,kernel,adb"/> | |
<property name="stdDeps.uptodate" value="yes"/> | |
</j:if> | |
<!--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'}"> | |
<macros:copy-deps copyToDir="${war_dep_cache}" | |
mods="webapp,spring,jibx,saaj"/> | |
<property name="warDeps.uptodate" value="yes"/> | |
</j:if> | |
<!--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"/> | |
<ant:pathelement location="modules/saaj/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"/> | |
</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> | |
<!-- ================================================================ --> | |
<!--- 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="${ant.java.version == '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> | |