| <?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 |
| |
| | clean-repo |
| | Deletes the 'target' directory in all projects |
| | |
| | war |
| | Build the war |
| | |
| | maven war-withsamples |
| | build the war with the default samples |
| | |
| | release |
| | Creates the complete release |
| --> |
| |
| <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> |
| |
| <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. common, core, ...) |
| | 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 common and core modules: |
| | |
| | maven -Dmodules=common,core |
| --> |
| |
| <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}"/> |
| <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="axis/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/core/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/common/target/classes"/> |
| <fileset dir="modules/addressing/target/classes"/> |
| <fileset dir="modules/codegen/target/classes"/> |
| <fileset dir="modules/adb/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> |
| |
| <goal name="create-kernel"> |
| <ant:mkdir dir="target/temp/war/lib"/> |
| <!-- Create axis2-core.jar --> |
| <jar destfile="target/temp/war/lib/axis2-kernel-${pom.currentVersion}.jar"> |
| <fileset dir="modules/java2wsdl/target/classes"/> |
| <fileset dir="modules/core/target/classes/"/> |
| <fileset dir="modules/common/target/classes/"/> |
| </jar> |
| </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"/> |
| |
| <attainGoal name="create-kernel"/> |
| |
| <!-- Create axis2-core.jar --> |
| <jar destfile="target/temp/war/lib/axis2-kernel-${pom.currentVersion}.jar"> |
| <fileset dir="modules/java2wsdl/target/classes"/> |
| <fileset dir="modules/core/target/classes/"/> |
| <fileset dir="modules/common/target/classes/"/> |
| </jar> |
| |
| <!-- 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 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 jibx jar --> |
| <ant:copy toDir="target/temp/war/lib"> |
| <ant:fileset file="modules/jibx/target/axis2-jibx-${pom.currentVersion}.jar"/> |
| </ant:copy> |
| |
| <!-- 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> |
| |
| <!-- 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> |
| |
| <!-- copy the axis2.xml into conf directoy --> |
| <ant:copy toDir="target/temp/war/toWEB-INF/conf"> |
| <ant:fileset file="modules/core/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/core/conf"> |
| <ant:include name="*.properties"/> |
| </ant:classes> |
| <!-- <ant:webinf dir="modules/core/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-min-bin,dist-min-src,dist-std-bin,dist-std-src,dist-war,dist-docs"> |
| <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/rampart-${rampart_version}.mar" |
| file="modules/security/target/rampart-${rampart_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="min_dep_cache" value="target/temp/cache/min"/> |
| <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-min-bin" prereqs="init-dist,cache-min-deps"> |
| <ant:echo>+----------------------------------------------</ant:echo> |
| <ant:echo>| Creating: Axis2 Minimal Binary Distribution</ant:echo> |
| <ant:echo>+----------------------------------------------</ant:echo> |
| |
| <ant:mkdir dir="target/dist"/> |
| <ant:mkdir dir="target/temp/min/bin/lib"/> |
| |
| <!-- Copy the 3rd party libs --> |
| <ant:copy toDir="target/temp/min/bin/lib"> |
| <ant:fileset dir="${min_dep_cache}"/> |
| </ant:copy> |
| |
| <!-- Delete testing jars --> |
| <echo message="Deleting Unwanted testing jars"/> |
| <ant:delete> |
| <fileset dir="target/temp/min/bin/lib"> |
| <include name="**/ant*.jar"/> |
| <include name="**/xmlunit*.jar"/> |
| <include name="**/junit*.jar"/> |
| </fileset> |
| </ant:delete> |
| |
| |
| <!--copy NOTICE.txt file--> |
| <ant:copy toFile="target/temp/min/bin/NOTICE.txt"> |
| <ant:fileset file="NOTICE.txt"/> |
| </ant:copy> |
| |
| <!-- Create axis2-core.jar --> |
| <jar destfile="target/temp/min/bin/lib/axis2-kernel-${pom.currentVersion}.jar"> |
| <fileset dir="modules/java2wsdl/target/classes"/> |
| <fileset dir="modules/core/target/classes/"/> |
| <fileset dir="modules/common/target/classes/"/> |
| </jar> |
| |
| <!-- Copy the adb jar --> |
| <ant:copy toDir="target/temp/min/bin/lib"> |
| <ant:fileset file="modules/adb/target/axis2-adb-${pom.currentVersion}.jar"/> |
| </ant:copy> |
| |
| <!-- Copy the release documents --> |
| <macros:copy-release-docs toDir="target/temp/min/bin" |
| readmeFile="release-docs/readme-files/README-min-bin.txt"/> |
| |
| <ant:mkdir dir="${dist.dir}"/> |
| <ant:zip file="${dist.dir}/axis2-min-${pom.currentVersion}-bin.zip" |
| basedir="target/temp/min/bin"/> |
| <ant:delete dir="target/temp/min/bin"/> |
| </goal> |
| |
| <goal name="dist-min-src" prereqs="init-dist"> |
| <ant:echo>+----------------------------------------------</ant:echo> |
| <ant:echo>| Creating: Axis2 Minimal Source Distribution</ant:echo> |
| <ant:echo>+----------------------------------------------</ant:echo> |
| |
| <ant:mkdir dir="target/dist"/> |
| <ant:mkdir dir="target/temp/min/src"/> |
| |
| <ant:copy toDir="target/temp/min/src"> |
| <ant:fileset dir="."> |
| <ant:include name="**/etc/**"/> |
| <ant:include name="**/modules/java2wsdl/**"/> |
| <ant:include name="**/modules/core/**"/> |
| <ant:include name="**/modules/common/**"/> |
| <ant:include name="**/modules/adb/**"/> |
| <ant:exclude name="**/SameServiceAddingTest.java"/> |
| <!-- TODO: This is failing in the distros. Must Fix it. --> |
| <ant:exclude name="**/target/**"/> |
| <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="target/temp/min/src/etc" overwrite="true" filtering="on"> |
| <ant:fileset dir="release-docs/release-etc/min"/> |
| </ant:copy> |
| |
| <!-- Copy the master maven files for the minimal src distro --> |
| <ant:copy toFile="target/temp/min/src/maven.xml"> |
| <ant:fileset file="release-docs/maven-scripts/maven-min.xml"/> |
| </ant:copy> |
| <ant:copy toDir="target/temp/min/src"> |
| <ant:fileset file="project.xml"/> |
| </ant:copy> |
| |
| <!-- Copy the release documents --> |
| <macros:copy-release-docs toDir="target/temp/min/src" |
| readmeFile="release-docs/readme-files/README-min-src.txt"/> |
| |
| <ant:zip file="${dist.dir}/axis2-min-${pom.currentVersion}-src.zip"> |
| <ant:fileset dir="target/temp/min/src"/> |
| </ant:zip> |
| <ant:delete dir="target/temp/min/src"/> |
| </goal> |
| |
| <goal name="dist-std-bin" prereqs="init-dist,cache-std-deps"> |
| <ant:echo>+----------------------------------------------</ant:echo> |
| <ant:echo>| Creating: Axis2 Standard Binary Distribution</ant:echo> |
| <ant:echo>+----------------------------------------------</ant:echo> |
| |
| <ant:property name="std.bin.temp.dir" value="target/temp/std/bin"/> |
| |
| <ant:mkdir dir="${std.bin.temp.dir}/lib"/> |
| <ant:mkdir dir="${std.bin.temp.dir}/bin"/> |
| <ant:mkdir dir="${std.bin.temp.dir}/modules"/> |
| <ant:mkdir dir="${std.bin.temp.dir}/samples"/> |
| |
| <!-- Copy bin scripts --> |
| <ant:copy todir="${std.bin.temp.dir}/bin"> |
| <ant:fileset dir="modules/tool/script"/> |
| </ant:copy> |
| |
| |
| <!--copy NOTICE.txt file--> |
| <ant:copy toFile="${std.bin.temp.dir}/NOTICE.txt" filtering="on"> |
| <ant:fileset file="NOTICE.txt"/> |
| </ant:copy> |
| |
| <!-- Copy the 3rd party libs --> |
| <ant:copy toDir="${std.bin.temp.dir}/lib"> |
| <ant:fileset dir="${min_dep_cache}"/> |
| <ant:fileset dir="${std_dep_cache}"/> |
| </ant:copy> |
| |
| |
| <!-- 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> |
| |
| <!-- Create axis2-kernel.jar --> |
| <jar destfile="${std.bin.temp.dir}/lib/axis2-kernel-${pom.currentVersion}.jar"> |
| <fileset dir="modules/java2wsdl/target/classes/"/> |
| <fileset dir="modules/core/target/classes/"/> |
| <fileset dir="modules/common/target/classes/"/> |
| </jar> |
| |
| <ant:copy toDir="${std.bin.temp.dir}/lib"> |
| <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/xmlbeans/target/axis2-xmlbeans-${pom.currentVersion}.jar"/> |
| <ant:fileset file="modules/jibx/target/axis2-jibx-${pom.currentVersion}.jar"/> |
| </ant:copy> |
| |
| <!-- Copy addressing mar --> |
| <ant:copy toDir="${std.bin.temp.dir}/modules"> |
| <ant:fileset file="modules/addressing/target/addressing-${addressing_version}.mar"/> |
| </ant:copy> |
| |
| <!-- Copy the codegen jar --> |
| <ant:copy toDir="${std.bin.temp.dir}/lib"> |
| <ant:fileset file="modules/codegen/target/axis2-codegen-${pom.currentVersion}.jar"/> |
| </ant:copy> |
| |
| <!-- Copy the xmlbeans jar --> |
| <ant:copy toDir="${std.bin.temp.dir}/lib"> |
| <ant:fileset file="modules/xmlbeans/target/axis2-xmlbeans-${pom.currentVersion}.jar"/> |
| </ant:copy> |
| |
| <!-- Copy the tools jar --> |
| <ant:copy toDir="${std.bin.temp.dir}/lib"> |
| <ant:fileset file="modules/tool/target/axis2-tools-${pom.currentVersion}.jar"/> |
| </ant:copy> |
| |
| <!-- Copy the samples --> |
| <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:delete file="${std.bin.temp.dir}/samples/groovyService.aar"/> |
| |
| <!-- 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-std-${pom.currentVersion}-bin.zip" |
| basedir="${std.bin.temp.dir}"/> |
| <ant:delete dir="${std.bin.temp.dir}"/> |
| </goal> |
| |
| <goal name="dist-std-src" prereqs="init-dist"> |
| <ant:echo>+----------------------------------------------</ant:echo> |
| <ant:echo>| Creating: Axis2 Standard Source Distribution</ant:echo> |
| <ant:echo>+----------------------------------------------</ant:echo> |
| |
| <ant:property name="std.src.temp.dir" value="target/temp/std/src"/> |
| |
| <!-- Copy bin scripts --> |
| <ant:copy todir="${std.src.temp.dir}/bin"> |
| <ant:fileset dir="modules/tool/script"/> |
| </ant:copy> |
| |
| <ant:copy toDir="${std.src.temp.dir}"> |
| <ant:fileset dir="."> |
| <ant:include name="**/etc/**"/> |
| <ant:include name="**/modules/java2wsdl/**"/> |
| <ant:include name="**/modules/core/**"/> |
| <ant:include name="**/modules/common/**"/> |
| <ant:include name="**/modules/adb/**"/> |
| <ant:include name="**/modules/codegen/**"/> |
| <ant:include name="**/modules/webapp/**"/> |
| <ant:include name="**/modules/xmlbeans/**"/> |
| <ant:include name="**/modules/jibx/**"/> |
| <ant:include name="**/modules/addressing/**"/> |
| <ant:include name="**/modules/samples/**"/> |
| <ant:exclude name="**/SameServiceAddingTest.java"/> |
| <!-- TODO: This is failing in the distros. Must Fix it. --> |
| <ant:exclude name="**/target/**"/> |
| <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="${std.src.temp.dir}/etc" overwrite="true" filtering="on"> |
| <ant:fileset dir="release-docs/release-etc/std"/> |
| </ant:copy> |
| |
| <!-- Copy the master maven files for the standard src distro --> |
| <ant:copy toFile="${std.src.temp.dir}/maven.xml"> |
| <ant:fileset file="release-docs/maven-scripts/maven-std.xml"/> |
| </ant:copy> |
| <ant:copy toDir="${std.src.temp.dir}"> |
| <ant:fileset file="project.xml"/> |
| </ant:copy> |
| |
| <!-- Copy the release documents --> |
| <macros:copy-release-docs toDir="${std.src.temp.dir}" |
| readmeFile="release-docs/readme-files/README-std-src.txt"/> |
| |
| <ant:zip file="${dist.dir}/axis2-std-${pom.currentVersion}-src.zip"> |
| <ant:fileset dir="${std.src.temp.dir}"/> |
| </ant:zip> |
| <ant:delete dir="${std.src.temp.dir}"/> |
| </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:mkdir dir="target/temp/docs/xdocs"/> |
| <ant:mkdir dir="target/temp/docs/javadocs"/> |
| |
| <ant:copy toDir="target/temp/docs/xdocs"> |
| <ant:fileset dir="xdocs"/> |
| </ant:copy> |
| |
| <!-- Delete 0.93 docs --> |
| <ant:delete dir="target/temp/docs/xdocs/0_93"/> |
| |
| |
| <ant:copy toDir="target/temp/docs/javadocs"> |
| <ant:fileset dir="target/apidocs"/> |
| </ant:copy> |
| |
| <macros:copy-release-docs toDir="target/temp/docs" |
| 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 & IDEA plugins"/> |
| </goal> |
| |
| <goal name="cache-min-deps" prereqs="init-dist"> |
| <ant:mkdir dir="${min_dep_cache}"/> |
| <j:if test="${minDeps.uptodate != 'yes'}"> |
| <macros:copy-deps copyToDir="${min_dep_cache}" |
| mods="core,common,adb,java2wsdl"/> |
| <property name="minDeps.uptodate" value="yes"/> |
| </j:if> |
| |
| <!--copy the license files also--> |
| <ant:copy toDir="${min_dep_cache}"> |
| <ant:fileset dir="legal/min"> |
| <ant:include name="*.txt"/> |
| </ant:fileset> |
| </ant:copy> |
| |
| <!--remove testing jars--> |
| <ant:delete dir="${min_dep_cache}"> |
| <ant:include name="junit*.jar"/> |
| <ant:include name="xmlunit*.jar"/> |
| <ant:include name="maven-itest*.jar"/> |
| </ant:delete> |
| </goal> |
| |
| <goal name="cache-std-deps" prereqs="init-dist,cache-min-deps"> |
| <ant:mkdir dir="${std_dep_cache}"/> |
| <j:if test="${stdDeps.uptodate != 'yes'}"> |
| <macros:copy-deps copyToDir="${std_dep_cache}" |
| mods="codegen"/> |
| <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'}"> |
| <macros:copy-deps copyToDir="${war_dep_cache}" |
| mods="webapp"/> |
| <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/min"> |
| <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="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/addressing/src"/> |
| <ant:pathelement location="modules/codegen/src"/> |
| <ant:pathelement location="modules/xmlbeans/src"/> |
| <ant:pathelement location="modules/java2wsdl/src"/> |
| <ant:pathelement location="modules/common/src"/> |
| <ant:pathelement location="modules/core/src"/> |
| <ant:pathelement location="modules/jaxws/src"/> |
| <ant:pathelement location="modules/jibx/src"/> |
| <ant:pathelement location="modules/saaj/src"/> |
| <ant:pathelement location="modules/security/src"/> |
| <ant:pathelement location="modules/soapmonitor/src"/> |
| <ant:pathelement location="modules/tool/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}"/> |
| |
| <!-- Create axis2-core.jar --> |
| <jar destfile="${destdir}/axis2-kernel-${pom.currentVersion}.jar"> |
| <fileset dir="modules/java2wsdl/target/classes/"/> |
| <fileset dir="modules/core/target/classes/"/> |
| <fileset dir="modules/common/target/classes/"/> |
| </jar> |
| |
| <ant:copy toDir="${destdir}"> |
| <ant:fileset file="modules/core/target/axis2-core-${pom.currentVersion}.jar"/> |
| <ant:fileset file="modules/common/target/axis2-common-${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/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> |
| </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"> |
| <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> |
| |