diff options
author | twogee <g.grigelionis@gmail.com> | 2017-12-19 19:07:23 +0100 |
---|---|---|
committer | twogee <g.grigelionis@gmail.com> | 2017-12-19 19:08:53 +0100 |
commit | ff1e521ed77d0247232b1fd71f19fb3cc13c4e58 (patch) | |
tree | 5be3de638b0de5d73f4165f2f5114f93f38aa754 /fetch.xml | |
parent | a044dadb4b40cf50b9498a9d9f6f73f301544cc5 (diff) | |
download | ant-ff1e521ed77d0247232b1fd71f19fb3cc13c4e58.tar.gz |
Update Maven Ant tasks, JUnit and optional libraries
Diffstat (limited to 'fetch.xml')
-rw-r--r-- | fetch.xml | 280 |
1 files changed, 155 insertions, 125 deletions
@@ -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> |