| <?xml version="1.0"?> |
| |
| <!-- |
| ======================================================================= |
| Build file to fetch optional libraries for Apache Ant |
| |
| Copyright (c) 2005-2006 The Apache Software Foundation. All rights |
| reserved. |
| |
| ======================================================================= |
| --> |
| <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. |
| |
| 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 --Default-- |
| -Ddest=optional optional dir ${ant.home}/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. |
| |
| 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 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" /> |
| |
| <!-- load in our properties table --> |
| <property file="${lib.dir}/libraries.properties"/> |
| |
| <import file="get-m2.xml" /> |
| |
| <target name="pick-dest"> |
| <condition property="dest.dir" |
| value="${lib.dir}"> |
| <or> |
| <equals arg1="${dest}" arg2="system" /> |
| <not><isset property="dest"/></not> |
| </or> |
| </condition> |
| <condition property="dest.dir" |
| value="${optional.dir}"> |
| <equals arg1="${dest}" arg2="optional" /> |
| </condition> |
| <condition property="dest.dir" |
| 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}" /> |
| </target> |
| |
| |
| <target name="macros" depends="pick-dest,get-m2" |
| xmlns:artifact="antlib:org.apache.maven.artifact.ant"> |
| |
| <macrodef name="f2"> |
| <attribute name="project" /> |
| <attribute name="archive" default="@{project}"/> |
| <sequential> |
| <fail> |
| Unknown archive @{archive} |
| <condition> |
| <not> |
| <isset property="@{archive}.version"/> |
| </not> |
| </condition> |
| </fail> |
| <artifact:dependencies pathID="@{archive}.path"> |
| <dependency groupID="@{project}" |
| artifactID="@{archive}" |
| version="${@{archive}.version}"/> |
| </artifact:dependencies> |
| <!-- now we are left with the problem of getting the files |
| into our directory --> |
| <copypath destdir="${dest.dir}" pathref="@{archive}.path"> |
| <flattenmapper/> |
| </copypath> |
| </sequential> |
| </macrodef> |
| </target> |
| |
| |
| |
| <!-- any init stuff --> |
| <target name="init" depends="macros" /> |
| |
| |
| <target name="diag" depends="init"> |
| <echoproperties /> |
| </target> |
| |
| <target name="logging" |
| description="load logging libraries" |
| 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" /> |
| </target> |
| |
| <target name="xml" |
| description="load full XML libraries (xalan, 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" /> |
| <f2 project="com.jcraft" archive="jsch" /> |
| </target> |
| |
| <target name="regexp" |
| description="load regexp libraries" |
| depends="init"> |
| <f2 project="regexp" /> |
| <f2 project="oro" /> |
| </target> |
| |
| <target name="antlr" |
| description="load antlr libraries" |
| depends="init"> |
| <f2 project="antlr" /> |
| </target> |
| |
| <target name="bcel" |
| description="load bcel libraries" |
| depends="init"> |
| <f2 project="bcel" /> |
| </target> |
| |
| <target name="jdepend" |
| description="load jdepend libraries" |
| depends="init"> |
| <f2 project="jdepend" /> |
| </target> |
| |
| <target name="bsf" |
| description="load bsf libraries" |
| depends="init"> |
| <f2 project="bsf" /> |
| </target> |
| |
| <target name="jruby" |
| description="load jruby" |
| depends="bsf"> |
| <f2 project="org.jruby" archive="jruby"/> |
| </target> |
| |
| <target name="beanshell" |
| 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" |
| depends="bsf"> |
| <f2 project="jython" archive="jython"/> |
| </target> |
| |
| <target name="script" |
| description="load script languages" |
| depends="bsf,jruby,jython,beanshell"/> |
| |
| <target name="debugging" |
| description="internal ant debugging" |
| depends="init"> |
| <f2 project="which" /> |
| </target> |
| |
| <target name="all" |
| description="load all the libraries" |
| depends="logging,junit,xml,networking,regexp,antlr,bcel,jdepend,bsf,debugging" /> |
| |
| </project> |