stevel 2005/01/20 15:10:19 Added: . fetch.xml lib libraries.properties Log: Add automatic d/l of needed JARs to user lib (default), system or optional directories. Enjoy! Revision Changes Path 1.1 ant/fetch.xml Index: fetch.xml =================================================================== <?xml version="1.0"?> <!-- ======================================================================= Build file to fetch optiona libraries for Apache Ant Copyright (c) 2005 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 --Default-- -Ddest=system ant lib dir ${ant.home}/lib -Ddest=optional optional dir ${ant.home}/lib/optional (for Ant developers) You may also need to set proxy settings. This can be done on the command line, or in ${user.home}/.ant/proxy.properties proxy.host hostname of proxy proxy.port port (default 80) proxy.user user (default="") proxy.pass pass (default="" ) Note that this project does not download any scripting language implementations. </description> <!-- Give user a chance to override without editing this file (and without typing -D each time it compiles it) --> <property file=".ant.properties"/> <property file="${user.home}/.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"/> <!-- configure an HTTP proxy --> <property file="${user.home}/.ant/proxy.properties" /> <target name="setproxy" unless="setproxy.disabled" > <property name="proxy.host" value="" /> <property name="proxy.port" value="80" /> <property name="proxy.user" value="" /> <property name="proxy.pass" value="" /> <echo level="verbose"> proxy: ${proxy.host}:${proxy.port} [${proxy.user}/${proxy.pass}] </echo> <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.user}" proxypassword="${proxy.pass}" /> </target> <target name="pick-dest"> <condition property="dest.dir" value="${lib.dir}"> <equals arg1="${dest}" arg2="system" /> </condition> <condition property="dest.dir" value="${optional.dir}"> <equals arg1="${dest}" arg2="optional" /> </condition> <condition property="dest.dir" value="${userlib.dir}"> <or> <equals arg1="${dest}" arg2="user" /> <not><isset property="dest"/></not> </or> </condition> <fail> Unknown destination : ${dest} <condition> <not><isset property="dest.dir" /></not> </condition> </fail> <echo>Downloading to ${dest.dir}</echo> </target> <!-- any init stuff --> <target name="init" depends="setproxy,pick-dest" > <macrodef name="f"> <attribute name="project" /> <sequential> <fail> Unknown project @{project} <condition> <not> <isset property="@{project}.version"/> </not> </condition> </fail> <libraries destDir="${dest.dir}" flatten="true" > <library project="@{project}" version="[EMAIL PROTECTED]" /> </libraries> </sequential> </macrodef> <macrodef name="f2"> <attribute name="project" /> <attribute name="archive" /> <sequential> <fail> Unknown file @{archive}/ <condition> <not> <isset property="@{archive}.version"/> </not> </condition> </fail> <libraries destDir="${dest.dir}" flatten="true" > <library project="@{project}" archive="archive" version="[EMAIL PROTECTED]" /> </libraries> </sequential> </macrodef> </target> <target name="diag" depends="init"> <echoproperties /> </target> <target name="logging" description="load logging libraries" depends="init"> <f project="log4j" /> <f project="commons-logging" /> </target> <target name="junit" description="load junit libraries" depends="init"> <f project="junit" /> </target> <target name="xml" description="load full XML libraries (xalan, resolver)" depends="init"> <f project="xalan" /> <f project="xml-resolver" /> </target> <target name="networking" description="load networking libraries (commons-net; jsch)" depends="init"> <f project="commons-net" /> <f project="jsch" /> </target> <target name="regexp" description="load regexp libraries" depends="init"> <f project="regexp" /> <f project="oro" /> </target> <target name="antlr" description="load antlr libraries" depends="init"> <f project="antlr" /> </target> <target name="bcel" description="load bcel libraries" depends="init"> <f project="bcel" /> </target> <target name="jdepend" description="load jdepend libraries" depends="init"> <f project="jdepend" /> </target> <target name="bsf" description="load bsf libraries" depends="init"> <f project="bsf" /> </target> <target name="all" description="load all the libraries" depends="logging,junit,xml,networking,regexp,antlr,bcel,jdepend,bsf" /> </project> 1.1 ant/lib/libraries.properties Index: libraries.properties =================================================================== #this file declares the libraries for use in #a given release of the components antlr.version=2.7.2 bcel.version=5.1 bsf.version=2.3.0 bsh.version=2.0.b1 commons-net.version=1.2.2 commons-logging.version=1.0.4 jdepend.version=2.7 junit.version=3.8.1 jsch.version=0.1.17 jython.version=3.8.1 log4j.version=1.2.8 #rhino.version=1.5R5 oro.version=2.0.8 regexp.version=1.3 xerces.version=2.6.2 xalan.version=2.5.1 xml-resolver.version=1.1 #paired jacl.version=1.2.6 tcljava.version=${jacl.version}
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]