summaryrefslogtreecommitdiff
path: root/fetch.xml
diff options
context:
space:
mode:
authortwogee <g.grigelionis@gmail.com>2017-12-19 19:07:23 +0100
committertwogee <g.grigelionis@gmail.com>2017-12-19 19:08:53 +0100
commitff1e521ed77d0247232b1fd71f19fb3cc13c4e58 (patch)
tree5be3de638b0de5d73f4165f2f5114f93f38aa754 /fetch.xml
parenta044dadb4b40cf50b9498a9d9f6f73f301544cc5 (diff)
downloadant-ff1e521ed77d0247232b1fd71f19fb3cc13c4e58.tar.gz
Update Maven Ant tasks, JUnit and optional libraries
Diffstat (limited to 'fetch.xml')
-rw-r--r--fetch.xml280
1 files changed, 155 insertions, 125 deletions
diff --git a/fetch.xml b/fetch.xml
index 8442d2a14..dc8af7280 100644
--- a/fetch.xml
+++ b/fetch.xml
@@ -23,48 +23,48 @@
-->
<project name="fetch" default="all" basedir=".">
-<description>
- This build file downloads JAR files that optional Ant tasks use,
- and installs them in a location that is accessible the next time Ant runs.
+ <description>
+This build file downloads JAR files that optional Ant tasks use,
+and installs them in a location that is accessible the next time Ant runs.
- You can choose three locations, by going -Ddest=LOCATION on the command line
- -Ddest=user user lib dir ${user.home}/.ant/lib
- -Ddest=system ant lib dir ${ant.home}/lib
- -Ddest=optional optional dir $${basedir}/lib/optional (for Ant developers)
+You can choose three locations, by going -Ddest=LOCATION on the command line
+-Ddest=user user lib dir ${user.home}/.ant/lib
+-Ddest=system ant lib dir ${ant.home}/lib
+-Ddest=optional optional dir $${basedir}/lib/optional (for Ant developers)
- You may also need to set proxy settings. On Java1.5, Ant tries to get
- this from the OS, unless you use the -noproxy option.
+You may also need to set proxy settings. On Java 1.5, Ant tries to get
+this from the OS, unless you use the -noproxy option.
- Proxies can be configured manually setting the JVM proxy values in the
- ANT_OPTS environment variable.
+Proxies can be configured manually setting the JVM proxy values in the
+ANT_OPTS environment variable.
- For example, to set the proxy up in the tcsh shell, the command would be
- something like:
+For example, to set the proxy up in the tcsh shell, the command would
+be something like:
- For csh/tcsh:
- setenv ANT_OPTS "-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"
- For bash:
- export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"
- For Windows, set the environment variable in the appropriate dialog box
- and open a new console. or, by hand
- set ANT_OPTS = -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080
-</description>
+For csh/tcsh:
+ setenv ANT_OPTS "-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"
+For bash:
+ export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"
+For Windows, set the environment variable in the appropriate dialog box
+and open a new console. or, by hand
+ set ANT_OPTS = -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080
+ </description>
<!-- Give user a chance to override without editing this file
(and without typing -D each time it compiles it) -->
<property file="${user.home}/.ant/ant.properties"/>
- <property name="lib.dir" location="lib" />
- <property name="optional.dir" location="${lib.dir}/optional" />
- <property name="userlib.dir" location="${user.home}/.ant/lib" />
+ <property name="lib.dir" location="lib"/>
+ <property name="optional.dir" location="${lib.dir}/optional"/>
+ <property name="userlib.dir" location="${user.home}/.ant/lib"/>
- <!-- load in our properties table -->
+ <!-- Load in our properties table -->
<property file="${lib.dir}/libraries.properties"/>
<!-- Temporary cache for working files -->
- <property name="temp.dir" location="${user.home}/.ant/tempcache" />
- <property name="keep.temp.dir" value="true" />
+ <property name="temp.dir" location="${user.home}/.ant/tempcache"/>
+ <property name="keep.temp.dir" value="true"/>
- <import file="get-m2.xml" />
+ <import file="get-m2.xml"/>
<target name="pick-dest">
<fail>
@@ -80,49 +80,57 @@ Set -Ddest=LOCATION on the command line
</fail>
<condition property="dest.dir"
- value="${lib.dir}">
- <equals arg1="${dest}" arg2="system" />
+ value="${lib.dir}">
+ <equals arg1="${dest}" arg2="system"/>
</condition>
<condition property="dest.dir"
- value="${optional.dir}">
- <equals arg1="${dest}" arg2="optional" />
+ value="${optional.dir}">
+ <equals arg1="${dest}" arg2="optional"/>
</condition>
<condition property="dest.dir"
- value="${userlib.dir}">
- <equals arg1="${dest}" arg2="user" />
+ value="${userlib.dir}">
+ <equals arg1="${dest}" arg2="user"/>
</condition>
<fail unless="dest.dir">Unknown destination : ${dest}</fail>
<echo>Downloading to ${dest.dir}</echo>
- <property name="m2.dest.dir" value="${dest.dir}" />
+ <property name="m2.dest.dir" value="${dest.dir}"/>
</target>
<target name="macros" depends="pick-dest,get-m2"
- xmlns:artifact="antlib:org.apache.maven.artifact.ant">
-
+ xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+ <fail>
+ Cannot execute multiple targets due to the bug in Maven Ant tasks
+ <condition>
+ <contains string="${ant.project.invoked-targets}" substring=","/>
+ </condition>
+ </fail>
<macrodef name="f2">
- <attribute name="project" />
+ <attribute name="project"/>
<attribute name="archive" default="@{project}"/>
<attribute name="repository" default="${m2.repo}"/>
<sequential>
<fail>
- Unknown archive @{archive} -no property @{archive}.version defined in ${lib.dir}/libraries.properties.
+ Unknown archive @{archive} -no property @{archive}.version defined in ${lib.dir}/libraries.properties.
<condition>
<not>
- <isset property="@{archive}.version"/>
+ <isset property="@{archive}.version"/>
</not>
</condition>
</fail>
- <artifact:dependencies pathID="@{archive}.path">
- <dependency groupID="@{project}"
- artifactID="@{archive}"
- version="${@{archive}.version}"/>
- <remoteRepository url="@{repository}" />
+ <artifact:remoteRepository url="@{repository}" id="central"/>
+ <artifact:dependencies pathID="@{archive}.path" useScope="runtime">
+ <dependency groupId="@{project}"
+ artifactId="@{archive}"
+ version="${@{archive}.version}">
+ <!-- exclude dependencies of ant-antunit (they should be in optional scope) -->
+ <exclusion groupId="org.apache.ant" artifactId="ant"/>
+ <exclusion groupId="org.apache.ant" artifactId="ant-launcher"/>
+ </dependency>
</artifact:dependencies>
- <!-- now we are left with the problem of getting the files
- into our directory -->
+ <!-- now we are left with the problem of getting the files into our directory -->
<copy todir="${dest.dir}">
- <path refid="@{archive}.path" />
+ <path refid="@{archive}.path"/>
<flattenmapper/>
</copy>
</sequential>
@@ -131,43 +139,41 @@ Set -Ddest=LOCATION on the command line
<target name="nonm2-macros" depends="pick-dest">
<macrodef name="get-ftp-file">
- <attribute name="host" />
+ <attribute name="host"/>
<attribute name="port" default="21"/>
- <attribute name="remotedir" />
- <attribute name="filename" />
- <attribute name="localdir" default="${dest.dir}" />
+ <attribute name="remotedir"/>
+ <attribute name="filename"/>
+ <attribute name="localdir" default="${dest.dir}"/>
<attribute name="user" default="anonymous"/>
<attribute name="pw" default="anonymous"/>
<sequential>
<ftp server="@{host}" port="@{port}" userid="@{user}" password="@{pw}" passive="true"
- remotedir="@{remotedir}" action="get" depends="true" preserveLastModified="true"
- skipFailedTransfers="true">
+ remotedir="@{remotedir}" action="get" depends="true" preserveLastModified="true"
+ skipFailedTransfers="true">
<fileset dir="@{localdir}">
- <include name="@{filename}" />
+ <include name="@{filename}"/>
</fileset>
</ftp>
</sequential>
</macrodef>
-
</target>
-
<!-- any init stuff -->
- <target name="init" depends="macros" />
+ <target name="init" depends="macros"/>
- <target name="init-no-m2" depends="nonm2-macros" />
+ <target name="init-no-m2" depends="nonm2-macros"/>
<target name="init-cache">
- <available property="temp.cache.already.exists" file="${temp.dir}" type="dir" />
+ <available property="temp.cache.already.exists" file="${temp.dir}" type="dir"/>
<condition property="user.wants.temp.cache">
<and>
- <isset property="keep.temp.dir" />
+ <isset property="keep.temp.dir"/>
<not>
<or>
- <equals arg1="${keep.temp.dir}" arg2="false" casesensitive="false" />
- <equals arg1="${keep.temp.dir}" arg2="no" casesensitive="false" />
- <equals arg1="${keep.temp.dir}" arg2="off" casesensitive="false" />
+ <equals arg1="${keep.temp.dir}" arg2="false" casesensitive="false"/>
+ <equals arg1="${keep.temp.dir}" arg2="no" casesensitive="false"/>
+ <equals arg1="${keep.temp.dir}" arg2="off" casesensitive="false"/>
</or>
</not>
</and>
@@ -175,161 +181,185 @@ Set -Ddest=LOCATION on the command line
<condition property="delete.temp.cache">
<and>
<not>
- <isset property="temp.cache.already.exists" />
+ <isset property="temp.cache.already.exists"/>
</not>
<not>
- <isset property="user.wants.temp.cache" />
+ <isset property="user.wants.temp.cache"/>
</not>
</and>
</condition>
</target>
<target name="-setup-temp-cache" depends="init-cache" unless="temp.cache.already.exists"
- description="Setup temporary cache for downloaded files">
- <mkdir dir="${temp.dir}" />
+ description="Set up temporary cache for downloaded files">
+ <mkdir dir="${temp.dir}"/>
</target>
<target name="-cleanup-temp-cache" depends="init-cache" if="delete.temp.cache"
- description="Gets rid of the temporary cache directory">
- <delete dir="${temp.dir}" />
+ description="Get rid of the temporary cache directory">
+ <delete dir="${temp.dir}"/>
</target>
<target name="diag" depends="init">
- <echoproperties />
+ <echoproperties/>
+ </target>
+
+ <target name="antunit"
+ description="load AntUnit library"
+ depends="init">
+ <f2 project="org.apache.ant" archive="ant-antunit"/>
+ </target>
+
+ <target name="ivy"
+ description="load Ivy dependency manager"
+ depends="init">
+ <f2 project="org.apache.ivy" archive="ivy"/>
</target>
<target name="logging"
- description="load logging libraries"
- depends="init">
- <f2 project="log4j" />
- <f2 project="commons-logging" archive="commons-logging-api" />
+ description="load logging libraries (Commons and Log4j)"
+ depends="init">
+ <f2 project="log4j"/>
+ <f2 project="commons-logging" archive="commons-logging-api"/>
</target>
<target name="junit"
- description="load junit libraries"
- depends="init">
- <f2 project="junit" />
+ description="load JUnit libraries"
+ depends="init">
+ <f2 project="junit"/>
+ <f2 project="org.hamcrest" archive="hamcrest-library"/>
</target>
<target name="xml"
- description="load full XML libraries (xalan, resolver)"
- depends="init">
- <f2 project="xalan" />
- <f2 project="xml-resolver" />
+ description="load full XML libraries (Xalan and xml-resolver)"
+ depends="init">
+ <f2 project="xalan"/>
+ <f2 project="xml-resolver"/>
</target>
<target name="networking"
- description="load networking libraries (commons-net; jsch)"
- depends="init">
- <f2 project="commons-net" />
+ description="load networking libraries (commons-net and JSch)"
+ depends="init">
+ <f2 project="commons-net"/>
<f2 project="com.jcraft" archive="jsch"/>
</target>
<target name="regexp"
- description="load regexp libraries"
- depends="init">
- <f2 project="regexp" />
- <f2 project="oro" />
+ description="load regexp libraries"
+ depends="init">
+ <f2 project="jakarta-regexp"/>
+ <f2 project="oro"/>
</target>
<target name="antlr"
- description="load antlr libraries"
- depends="init">
- <f2 project="antlr" />
+ description="load ANother Tool for Language Recognition (ANTLR)"
+ depends="init">
+ <f2 project="antlr"/>
</target>
<target name="bcel"
- description="load bcel libraries"
- depends="init">
- <f2 project="bcel" />
+ description="load Byte Code Engineering Library (BCEL)"
+ depends="init">
+ <f2 project="bcel"/>
</target>
<target name="jdepend"
- description="load jdepend libraries"
- depends="init">
- <f2 project="jdepend" />
+ description="load JDepend libraries"
+ depends="init">
+ <f2 project="jdepend"/>
</target>
<target name="bsf"
- description="load bsf libraries"
- depends="init">
- <f2 project="bsf" />
+ description="load Bean Scripting Framework"
+ depends="init">
+ <f2 project="bsf"/>
</target>
<target name="jruby"
- description="load jruby"
+ description="load JRuby"
depends="bsf">
<f2 project="org.jruby" archive="jruby"/>
</target>
<target name="beanshell"
- description="load beanshell support"
+ description="load BeanShell support"
depends="bsf">
<f2 project="org.beanshell" archive="bsh"/>
<f2 project="org.beanshell" archive="bsh-core"/>
</target>
<target name="jython"
- description="load jython"
+ description="load Jython"
depends="bsf">
- <f2 project="jython" archive="jython"/>
+ <f2 project="org.python" archive="jython"/>
</target>
<target name="rhino"
- description="load rhino"
+ description="load Rhino"
depends="bsf">
- <f2 project="rhino" archive="js"/>
+ <f2 project="org.mozilla" archive="rhino"/>
</target>
<target name="script"
- description="load script languages (except jython)"
+ description="load script languages (except Jython)"
depends="bsf,jruby,beanshell,rhino"/>
<target name="debugging"
- description="internal ant debugging"
+ description="internal Ant debugging"
depends="init">
- <f2 project="which" />
+ <f2 project="which"/>
</target>
- <target name="javamail" depends="init"
- description="load javamail">
- <f2 project="javax.mail" archive="mail"/>
+ <target name="javamail"
+ description="load Java Mail"
+ depends="init">
+ <f2 project="javax.mail" archive="javax.mail-api"/>
</target>
- <target name="jspc" depends="init" description="loads Jasper">
+ <target name="jspc"
+ description="load Jasper"
+ depends="init">
<f2 project="tomcat" archive="jasper-compiler"/>
<f2 project="tomcat" archive="jasper-runtime"/>
<f2 project="javax.servlet" archive="servlet-api"/>
</target>
- <target name="jai" depends="init"
- description="load java advanced imaging">
- <f2 project="javax.media" archive="jai-core" repository="https://repository.jboss.org/nexus/content/groups/public/"/>
- <f2 project="com.sun.media" archive="jai-codec" repository="https://repository.jboss.org/nexus/content/groups/public/"/>
+ <target name="jai"
+ description="load Java Advanced Imaging"
+ depends="init">
+ <f2 project="javax.media" archive="jai-core"
+ repository="https://repository.jboss.org/nexus/content/groups/public/"/>
+ <f2 project="com.sun.media" archive="jai-codec"
+ repository="https://repository.jboss.org/nexus/content/groups/public/"/>
</target>
- <target name="netrexx" depends="init-no-m2,-setup-temp-cache,-fetch-netrexx,-fetch-netrexx-no-commons-net"
- description="load NetRexx compiler">
+ <target name="netrexx"
+ description="load NetRexx compiler"
+ depends="init-no-m2,-setup-temp-cache,-fetch-netrexx,-fetch-netrexx-no-commons-net">
<copy todir="${dest.dir}" flatten="true">
<zipfileset src="${temp.dir}/NetRexx.zip">
- <include name="NetRexx\lib\NetRexxC.jar" />
- <include name="NetRexx\browse\license.txt" />
+ <include name="NetRexx\lib\NetRexxC.jar"/>
+ <include name="NetRexx\browse\license.txt"/>
</zipfileset>
</copy>
<antcall target="-cleanup-temp-cache"/>
</target>
+
<available property="have.commons.net" classname="org.apache.commons.net.ftp.FTPClientConfig"/>
+
<target name="-fetch-netrexx" if="have.commons.net">
<get-ftp-file host="ftp.software.ibm.com" remotedir="/software/awdtools/netrexx"
- filename="NetRexx.zip" localdir="${temp.dir}" />
+ filename="NetRexx.zip" localdir="${temp.dir}"/>
</target>
+
<target name="-fetch-netrexx-no-commons-net" unless="have.commons.net">
- <get src="ftp://ftp.software.ibm.com/software/awdtools/netrexx/NetRexx.zip" dest="${temp.dir}/NetRexx.zip" skipexisting="true"/>
+ <get src="ftp://ftp.software.ibm.com/software/awdtools/netrexx/NetRexx.zip"
+ dest="${temp.dir}/NetRexx.zip" skipexisting="true"/>
</target>
<target name="all"
description="load all the libraries (except jython)"
- depends="logging,junit,xml,networking,regexp,antlr,bcel,jdepend,bsf,debugging,script,javamail,jspc,jai,netrexx" />
+ depends="antunit,ivy,logging,junit,xml,networking,regexp,antlr,bcel,jdepend,bsf,debugging,script,javamail,jspc,jai,netrexx"/>
</project>