Author: sebb
Date: Sat Sep 19 12:56:11 2009
New Revision: 816912
URL: http://svn.apache.org/viewvc?rev=816912&view=rev
Log:
Use external copies of libraries as far as possible
Modified:
jakarta/jmeter/trunk/build.properties
jakarta/jmeter/trunk/build.xml
Modified: jakarta/jmeter/trunk/build.properties
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/build.properties?rev=816912&r1=816911&r2=816912&view=diff
==============================================================================
--- jakarta/jmeter/trunk/build.properties (original)
+++ jakarta/jmeter/trunk/build.properties Sat Sep 19 12:56:11 2009
@@ -15,17 +15,34 @@
# **** External jars (not built as part of JMeter) and needed for
build/release ****
+# property name conventions:
+#
+# xxx.jar - name of the jar as used in JMeter
+#
+# The following properties are used to download the jars if necessary.
+#
+# xxx.loc - example location where the jar or zip can be found (omit trailing
/)
+# xxx.md5 - MD5 hash of the jar (used to check downloads)
+#
+# xxx.zip - name of zip file (if the jar is not available as an independent
download)
+# xxx.ent - the jar entry name in Zip file
+
+# Note that all the jars (apart from velocity and the Geronimo API jars)
+# are contained in the JMeter binary release.
+
apache-bsf.jar = bsf-2.4.0.jar
apache-bsf.loc = http://repo2.maven.org/maven2/bsf/bsf/2.4.0
-apache-bsf.md5 = 162ed0b06486f75f07a7c8904bcea02a
+# Checksum from binary release and Maven differ, but contents of jar are
identical
+#apache-bsf.md5 = 162ed0b06486f75f07a7c8904bcea02a
+apache-bsf.md5 = 16e82d858c648962fb5c959f21959039
avalon-framework.jar = avalon-framework-4.1.4.jar
avalon-framework.loc =
http://mirrors.ibiblio.org/pub/mirrors/maven/avalon-framework/jars
avalon-framework.md5 = 2C5306A09B22BD06A78343C0B55D021F
-beanshell.jar = bsh-2.0b4.jar
-beanshell.loc = http://www.beanshell.org/
-beanshell.md5 = A1C60AA83C9C9A6CB2391C1C1B85EB00
+beanshell.jar = bsh-2.0b5.jar
+beanshell.loc = http://www.beanshell.org
+beanshell.md5 = 02F72336919D06A8491E82346E10B4D5
commons-codec.jar = commons-codec-1.4.jar
commons-codec.loc =
http://repo2.maven.org/maven2/commons-codec/commons-codec/1.4
@@ -53,52 +70,134 @@
commons-logging.jar = commons-logging-1.1.1.jar
commons-logging.loc =
http://repo2.maven.org/maven2/commons-logging/commons-logging/1.1.1
-commons-logging.md5 = E2C390FE739B2550A218262B28F290CE
+# Checksum from binary release and Maven differ, but contents of jar are
identical
+#commons-logging.md5 = E2C390FE739B2550A218262B28F290CE
+commons-logging.md5 = ed448347fc0104034aa14c8189bf37de
commons-net.jar = commons-net-1.4.1.jar
commons-net.loc =
http://repo2.maven.org/maven2/commons-net/commons-net/1.4.1
commons-net.md5 = 365C9A26E81B212DE0553FBED10452CC
excalibur-datasource.jar = excalibur-datasource-1.1.1.jar
+excalibur-datasource.loc =
http://repo2.maven.org/maven2/excalibur-datasource/excalibur-datasource/1.1.1
+excalibur-datasource.md5 = 59A9EDFF1005D70DFA638CF3A4D3AD6D
+
excalibur-instrument.jar = excalibur-instrument-1.0.jar
+excalibur-instrument.loc =
http://repo2.maven.org/maven2/excalibur-instrument/excalibur-instrument/1.0
+excalibur-instrument.md5 = 81BF95737C97A46836EA5F21F7C82719
+
excalibur-logger.jar = excalibur-logger-1.1.jar
+excalibur-logger.loc =
http://repo2.maven.org/maven2/excalibur-logger/excalibur-logger/1.1
+excalibur-logger.md5 = E8246C546B7B0CAFD65947E9B80BB884
+
excalibur-pool.jar = excalibur-pool-1.2.jar
+excalibur-pool.loc =
http://repo2.maven.org/maven2/excalibur-pool/excalibur-pool/1.2
+excalibur-pool.md5 = 0AF05C8811A2912D62D6E189799FD518
-htmlparser.jar = htmlparser-2.0-20060923.jar
-htmlparser.loc = http://downloads.sourceforge.net/htmlparser
+# Common file containing both htmlparser and htmllexer jars
+htmllexer.loc = http://prdownloads.sourceforge.net/htmlparser
+htmllexer.zip = HTMLParser-2.0-SNAPSHOT-bin.zip
htmllexer.jar = htmllexer-2.0-20060923.jar
-jakarta-oro.jar = jakarta-oro-2.0.8.jar
+htmllexer.md5 = FE91E957BC72895CDD1F58F67F3F331F
+htmllexer.ent = htmllexer.jar
+
+htmlparser.loc = http://prdownloads.sourceforge.net/htmlparser
+htmlparser.zip = HTMLParser-2.0-SNAPSHOT-bin.zip
+htmlparser.jar = htmlparser-2.0-20060923.jar
+htmlparser.md5 = 5452B45D4587E87724FD14F54A6885FF
+htmlparser.ent = htmlparser.jar
+
+jakarta-oro.jar = oro-2.0.8.jar
+jakarta-oro.loc = http://repo2.maven.org/maven2/oro/oro/2.0.8
+jakarta-oro.md5 = 42E940D5D2D822F4DC04C65053E630AB
+
jcharts.jar = jCharts-0.7.5.jar
+jcharts.loc = http://prdownloads.sourceforge.net/jcharts
+jcharts.zip = jCharts-0.7.5.zip
+jcharts.ent = jCharts-0.7.5.jar
+# Different hash from original jar, but identical contents
+#jcharts.md5 = e46523932dbd2fd733fca881b0cc0ed2
+jcharts.md5 = 13927D8077C991E7EBCD8CB284746A7A
+
jdom.jar = jdom-1.1.jar
-js_rhino.jar = js_rhino1_6R5.jar
+jdom.loc = http://repo2.maven.org/maven2/org/jdom/jdom/1.1
+jdom.md5 = ADF67FC5DCF48E1593640AD7E02F6AD4
+
+js_rhino.jar = js-1.6R5.jar
+js_rhino.loc = http://repo2.maven.org/maven2/rhino/js/1.6R5/
+js_rhino.md5 = 437A15E789AB9A95D10C2F950E94A84E
junit.jar = junit-4.7.jar
junit.loc = http://downloads.sourceforge.net/junit
junit.md5 = B03D4C6FF4CEDCD731D6A6D1A3149F65
-# N.B. if this is changed, then the rmiregistry classpath also needs to be
changed
-logkit.jar = logkit-1.2.jar
+logkit.jar = logkit-2.0.jar
+logkit.loc = http://repo2.maven.org/maven2/logkit/logkit/2.0
+logkit.md5 = 8D82A3E91AAE216D0A2A40B837A232FF
+
+soap.jar = soap-2.3.1.jar
+soap.loc = http://repo1.maven.org/maven2/soap/soap/2.3.1
+soap.md5 = AA1845E01FEE94FE4A63BBCAA55AD486
-soap.jar = soap.jar
tidy.jar = Tidy.jar
+# Note: the trailing ? is a hack to ignore the appended jar name
+#tidy.loc =
http://sourceforge.net/projects/jtidy/files/JTidy/r820/jtidy-r820.jar/download?
+# Unfortunately, r820 requires Java 1.6. Cannot find download for Java 1.5+
compatible version of tidy
+tidy.md5 = 7256D79D8BA656A791926378E4ECF608
+
+# XStream can be found at: http://xstream.codehaus.org/
xstream.jar = xstream-1.3.1.jar
+xstream.loc =
http://repository.codehaus.org/com/thoughtworks/xstream/xstream/1.3.1
+xstream.md5 = 4DFEBEC402E7606B2C1F66DEC1773E8F
+
xpp3.jar = xpp3_min-1.1.4c.jar
+xpp3.loc =
http://repo1.maven.org/maven2/xpp3/xpp3_min/1.1.4c
+xpp3.md5 = DCD95BCB84B09897B2B66D4684C040DA
-# serialiser and xalan are also used by extras/build.xml
-# remember to update the versions there too (build.properties not present in
binary releases)
-serializer.jar = serializer-2_9_1.jar
-xalan.jar = xalan_2_7_1.jar
-xerces.jar = xercesImpl-2_9_1.jar
-xml-apis.jar = xml-apis-2_9_1.jar
+# Xalan can be found at: http://xml.apache.org/xalan-j/
+xalan.jar = xalan-2.7.1.jar
+xalan.loc = http://repo2.maven.org/maven2/xalan/xalan/2.7.1
+xalan.md5 = D43AAD24F2C143B675292CCFEF487F9C
+
+serializer.jar = serializer-2.7.1.jar
+serializer.loc =
http://repo2.maven.org/maven2/xalan/serializer/2.7.1
+# Checksum from binary release and Maven differ, but contents of jar are
identical (apart from non-essential comment)
+#serializer.md5 = F0FA654C1EA1186E9A5BD56E48E0D4A3
+serializer.md5 = a6b64dfe58229bdd810263fa0cc54cff
+
+# Xerces can be found at: http://xerces.apache.org/xerces2-j/
+xerces.jar = xercesImpl-2.9.1.jar
+xerces.loc =
http://repo2.maven.org/maven2/xerces/xercesImpl/2.9.1
+# Checksum from binary release and Maven differ, but contents of jar are
identical (apart from EOLs in text files)
+#xerces.md5 = DA09B75B562CA9A8E9A535D2148BE8E4
+xerces.md5 = f807f86d7d9db25edbfc782aca7ca2a9
+
+xml-apis.jar = xml-apis-1.3.04.jar
+xml-apis.loc =
http://repo2.maven.org/maven2/xml-apis/xml-apis/1.3.04
+xml-apis.md5 = 9AE9C29E4497FC35A3EADE1E6DD0BBEB
# Codecs were previously provided by Batik
xmlgraphics-commons.jar = xmlgraphics-commons-1.3.1.jar
+xmlgraphics-commons.loc =
http://repo2.maven.org/maven2/org/apache/xmlgraphics/xmlgraphics-commons/1.3.1
+xmlgraphics-commons.md5 = E63589601D939739349A50A029DAB120
-# Geronimo API jars
+# Geronimo API jars (compile-time only)
activation.jar = geronimo-activation_1.0.2_spec-1.1.jar
+activation.loc =
http://mirrors.ibiblio.org/pub/mirrors/maven/org.apache.geronimo.specs/jars
+# diff
+activation.md5 = 6a3a594753a07b325f21d32c452c3779
+
javamail.jar = geronimo-javamail_1.3.1_spec-1.1.jar
+javamail.loc =
http://mirrors.ibiblio.org/pub/mirrors/maven/org.apache.geronimo.specs/jars
+# diff
+javamail.md5 = 529c667a51cc4febdff3caeda4675cb4
+
jms.jar = geronimo-jms_1.1_spec-1.0.jar
+jms.loc =
http://mirrors.ibiblio.org/pub/mirrors/maven/org.apache.geronimo.specs/jars
+jms.md5 = 3A10BDB4AB6455AB16E4FC543BBD6B89
# The following jars are only needed for source distributions
# They are used for building the documentation
-velocity.jar = velocity-1.6.2.jar
\ No newline at end of file
+velocity.jar = velocity-1.6.2.jar
+velocity.loc =
http://repo1.maven.org/maven2/org/apache/velocity/velocity/1.6.2
+velocity.md5 = 91285749478616F63F37B0EBB19F1FED
\ No newline at end of file
Modified: jakarta/jmeter/trunk/build.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/build.xml?rev=816912&r1=816911&r2=816912&view=diff
==============================================================================
--- jakarta/jmeter/trunk/build.xml (original)
+++ jakarta/jmeter/trunk/build.xml Sat Sep 19 12:56:11 2009
@@ -941,6 +941,7 @@
<target name="_message_3rdParty" unless="3rdparty.present">
<echo>Cannot find all the required 3rd party libraries.</echo>
<echo>If building from a release, you need both source and binary
archives.</echo>
+ <echo>If building from SVN, use "ant download_jars" to download
them.</echo>
<fail message="Cannot find required classes"/>
</target>
@@ -1140,7 +1141,7 @@
</target>
<!-- Internal target -->
- <target name="_distribution" depends="check-versions,_eolcheck">
+ <target name="_distribution" depends="check-versions,_eolcheck,check_jars">
<property name="dist.name" value="jakarta-jmeter-${jmeter.version}"/>
<property name="pack.name" value="${dist.name}"/>
<echo level="info">Creating JMeter distribution ${dist.name}
${svn.revision}</echo>
@@ -1238,13 +1239,15 @@
<!--
Gump targets.
- There are separate build, test and documentation projects for the jmeter
module.
+ There are separate build and test projects for the jmeter module.
-->
<!-- Used by project jakarta-jmeter-cvs -->
<target name="gump-build"
depends="_gump_properties,clean,install"
description="Build JMeter">
<property name="dist.name" value="jakarta-jmeter-${jmeter.version}"/>
+ <available file="${velocity.jar}" property="3rdparty.present"/>
+ <antcall target="download_jars"/>
<!-- No need to create the archives for Gump
<antcall target="_pack-binaries"/>
<antcall target="_pack-libraries"/>
@@ -1252,12 +1255,6 @@
-->
</target>
- <!-- Used by project jakarta-jmeter -->
- <target name="gump-compile"
- depends="_gump_properties,clean,compile"
- description="Compile JMeter only">
- </target>
-
<!-- Used by project jakarta-jmeter-test -->
<target name="gump-test"
depends="_gump_properties,compile-tests,_test"
@@ -1267,23 +1264,6 @@
<filelist dir="bin" files="jmeter-test.log" />
</concat>
-->
- <!--antcall target="gump-check"/-->
- </target>
-
- <target name="gump-check">
- <!-- check if /usr and /x1 are the same -->
- <checksum
file="/usr/local/gump/public/workspace/jakarta-jmeter-22/lib/jorphan.jar"
property="usrMD5"/>
- <echo>usrMD5 = ${usrMD5}</echo>
- <checksum
file="/x1/gump/public/workspace/jakarta-jmeter-22/lib/jorphan.jar"
property="x1MD5"/>
- <echo>x1MD5 = ${x1MD5}</echo>
- </target>
-
- <!-- Used by project jakarta-jmeter-javadoc -->
- <target name="gump-javadoc"
- depends="_gump_properties,docs-api"
- description="Create JMeter javadocs">
- <property name="dist.name" value="jakarta-jmeter-${jmeter.version}"/>
- <antcall target="_pack-javadoc"/>
</target>
<target name="_gump_properties">
@@ -1862,53 +1842,182 @@
<echoproperties prefix="svn"/>
</target>
- <macrodef name="get_jarfile">
- <attribute name="jar.file"/>
- <attribute name="jar.md5"/>
- <attribute name="src.dir"/>
- <attribute name="dest.dir" default="${lib.dir}"/>
- <sequential>
- <!--
- <get src="@{src.dir}/@{jar.file}"
- dest="@{dest.dir}/@{jar.file}"
- usetimestamp="true"
- ignoreerrors="false"/>
- -->
- <!-- Need to use antcall so MD5OK property is localised -->
- <antcall target="_checkMD5">
- <param name="file" value="@{jar.file}"/>
- <param name="path" value="@{dest.dir}"/>
- <param name="md5" value="@{jar.md5}"/>
- </antcall>
- </sequential>
- </macrodef>
-
- <!-- Ant subroutine, required to localise MD5OK property -->
- <target name="_checkMD5">
- <checksum algorithm="MD5" file="${path}/${file}" property="MD5"/>
- <condition property="MD5OK">
- <equals arg1="${MD5}" arg2="${md5}" casesensitive="false"/>
- </condition>
- <fail message="Bad Checksum: for ${file} expected ${md5} actual ${MD5}"
unless="MD5OK"/>
- <echo level="info" message="Checksum OK: ${file}"/>
- </target>
+ <!-- Macro is needed to be able to perform indirect evaluation of property
names -->
+ <macrodef name="process_jarfile">
+ <attribute name="jarname"/>
+ <attribute name="dest.dir" default="${lib.dir}"/>
+ <sequential>
+ <!-- Call all possible targets; these are only executed if the
appropriate property is set -->
+ <antcall target="_check_exists">
+ <param name="file" value="@{dest.dir}/$...@{jarname}.jar}"/>
+ <param name="loc" value="$...@{jarname}.loc}"/>
+ <param name="jar" value="$...@{jarname}.jar}"/>
+ <param name="path" value="@{dest.dir}"/>
+ <param name="md5" value="$...@{jarname}.md5}"/>
+ <param name="_checkMD5" value="true"/>
+ </antcall>
+ <antcall target="_check_jarfile">
+ <param name="loc" value="$...@{jarname}.loc}"/>
+ <param name="jar" value="$...@{jarname}.jar}"/>
+ <param name="path" value="@{dest.dir}"/>
+ <param name="md5" value="$...@{jarname}.md5}"/>
+ <param name="_checkMD5" value="true"/>
+ <param name="zip" value="$...@{jarname}.zip}"/>
+ <param name="ent" value="$...@{jarname}.ent}"/>
+ <param name="zipprop" value="@{jarname}.zip"/>
+ </antcall>
+ </sequential>
+ </macrodef>
- <target name="get-dep-library.jar" description="o Download the dependency :
junit.jar">
- <get_jarfile jar.file="${apache-bsf.jar}" src.dir="${apache-bsf.loc}"
jar.md5="${apache-bsf.md5}"/>
- <get_jarfile jar.file="${avalon-framework.jar}"
src.dir="${avalon-framework.loc}" jar.md5="${avalon-framework.md5}"/>
- <get_jarfile jar.file="${beanshell.jar}" src.dir="${beanshell.loc}"
jar.md5="${beanshell.md5}"/>
- <get_jarfile jar.file="${commons-codec.jar}"
src.dir="${commons-codec.loc}" jar.md5="${commons-codec.md5}"/>
- <get_jarfile jar.file="${commons-collections.jar}"
src.dir="${commons-collections.loc}" jar.md5="${commons-collections.md5}"/>
- <get_jarfile jar.file="${commons-httpclient.jar}"
src.dir="${commons-httpclient.loc}" jar.md5="${commons-httpclient.md5}"/>
- <get_jarfile jar.file="${commons-io.jar}" src.dir="${commons-io.loc}"
jar.md5="${commons-io.md5}"/>
- <get_jarfile jar.file="${commons-jexl.jar}" src.dir="${commons-jexl.loc}"
jar.md5="${commons-jexl.md5}"/>
- <get_jarfile jar.file="${commons-lang.jar}" src.dir="${commons-lang.loc}"
jar.md5="${commons-lang.md5}"/>
- <get_jarfile jar.file="${commons-logging.jar}"
src.dir="${commons-logging.loc}" jar.md5="${commons-logging.md5}"/>
- <get_jarfile jar.file="${commons-net.jar}" src.dir="${commons-net.loc}"
jar.md5="${commons-net.md5}"/>
- <get_jarfile jar.file="${junit.jar}" src.dir="${junit.loc}"
jar.md5="${junit.md5}"/>
- <!--
- Faulty loc
- <get_jarfile jar.file="${htmlparser.jar}" src.dir="${htmlparser.loc}"
jar.md5="${htmlparser.md5}"/>
- -->
-</target>
+ <!-- Check if jarfile exists, and set properties for calling zip or jar
download -->
+ <target name="_check_jarfile" if="_get_file">
+ <!-- Check if file exists -->
+ <fail message="Error in build file or calling sequence"
if="file.exists"/>
+ <available file="${path}/${jar}" property="file.exists"/>
+ <condition property="_get_zipfile">
+ <isset property="${zipprop}"/>
+ </condition>
+ <condition property="_get_jarfile">
+ <not>
+ <isset property="${zipprop}"/>
+ </not>
+ </condition>
+ <!-- Emulate conditional execution; targets use if/unless to suppress
execution -->
+ <antcall target="_get_jarfile"/>
+ <antcall target="_get_zipfile"/>
+ </target>
+
+ <!-- Get a zip file and unpack it -->
+ <target name="_get_zipfile" if="_get_zipfile" unless="file.exists">
+ <get src="${loc}/${zip}"
+ dest="${build.dir}/${zip}"
+ usetimestamp="true" ignoreerrors="false"/>
+ <unzip dest="${build.dir}" src="${build.dir}/${zip}">
+ <patternset>
+ <include name="**/${ent}"/>
+ </patternset>
+ <mapper type="flatten"/>
+ </unzip>
+ <antcall target="_checkMD5">
+ <param name="file" value="${ent}"/>
+ <param name="path" value="${build.dir}"/>
+ <param name="md5" value="${md5}"/>
+ </antcall>
+ <move preservelastmodified="true" overwrite="true"
+ file="${build.dir}/${ent}" tofile="${path}/${jar}"
verbose="true"/>
+ </target>
+
+ <!-- Download a jar file and check its hash; if correct, move to
correct directory -->
+ <target name="_get_jarfile" if="_get_jarfile" unless="file.exists">
+ <echo message="Fetching: ${path}/${jar}" level="info"/>
+ <get src="${loc}/${jar}"
+ dest="${build.dir}/${jar}"
+ usetimestamp="false" ignoreerrors="false"/>
+ <antcall target="_checkMD5">
+ <param name="file" value="${jar}"/>
+ <param name="path" value="${build.dir}"/>
+ <param name="md5" value="${md5}"/>
+ </antcall>
+ <move preservelastmodified="true" overwrite="true"
+ file="${build.dir}/${jar}" tofile="${path}/${jar}"
verbose="true"/>
+ </target>
+
+ <!-- Ant subroutine, required to localise MD5OK property -->
+ <target name="_checkMD5" if="_checkMD5">
+ <!--
+ @param path - location of file
+ @param file - file name
+ -->
+ <checksum algorithm="MD5" file="${path}/${file}" property="MD5"/>
+ <condition property="MD5OK">
+ <equals arg1="${MD5}" arg2="${md5}" casesensitive="false"/>
+ </condition>
+ <fail unless="MD5OK">Bad Checksum: for ${file}
+ expected ${md5}
+ actual ${MD5}</fail>
+ <echo level="info" message="Checksum OK: ${file}"/>
+ </target>
+
+ <!--
+ Generic target to process all external jars.
+ The "process_jarfile" macro resolves the properties that begin with the
jarname
+ and calls all the possible targets. The targets use "if" and "unless"
to provide
+ conditional execution (it would be a lot easier if antcall supported
if/unless).
+ -->
+ <target name="_process_all_jars">
+ <process_jarfile jarname="apache-bsf"/>
+ <process_jarfile jarname="avalon-framework"/>
+ <process_jarfile jarname="beanshell"/>
+ <process_jarfile jarname="commons-codec"/>
+ <process_jarfile jarname="commons-collections"/>
+ <process_jarfile jarname="commons-httpclient"/>
+ <process_jarfile jarname="commons-io"/>
+ <process_jarfile jarname="commons-jexl"/>
+ <process_jarfile jarname="commons-lang"/>
+ <process_jarfile jarname="commons-logging"/>
+ <process_jarfile jarname="commons-net"/>
+ <process_jarfile jarname="excalibur-datasource"/>
+ <process_jarfile jarname="excalibur-instrument"/>
+ <process_jarfile jarname="excalibur-logger"/>
+ <process_jarfile jarname="excalibur-pool"/>
+ <process_jarfile jarname="htmllexer"/>
+ <process_jarfile jarname="htmlparser"/>
+ <process_jarfile jarname="jakarta-oro"/>
+ <process_jarfile jarname="jcharts"/>
+ <process_jarfile jarname="jdom"/>
+ <process_jarfile jarname="js_rhino"/>
+ <process_jarfile jarname="junit"/>
+ <process_jarfile jarname="logkit"/>
+ <process_jarfile jarname="soap"/>
+ <process_jarfile jarname="tidy"/>
+ <process_jarfile jarname="xstream"/>
+ <process_jarfile jarname="xpp3"/>
+ <process_jarfile jarname="serializer"/>
+ <process_jarfile jarname="xalan"/>
+ <process_jarfile jarname="xerces"/>
+ <process_jarfile jarname="xml-apis"/>
+ <process_jarfile jarname="xmlgraphics-commons"/>
+ <process_jarfile jarname="activation" dest.dir="${lib.api}"/>
+ <process_jarfile jarname="javamail" dest.dir="${lib.api}"/>
+ <process_jarfile jarname="jms" dest.dir="${lib.api}"/>
+ <process_jarfile jarname="velocity" dest.dir="${lib.doc}"/>
+ </target>
+
+ <!-- Download jars only needed by Gump (unless already done) -->
+ <target name="_process_gump_jars" unless="3rdparty.present">
+ <process_jarfile jarname="excalibur-datasource"/>
+ <process_jarfile jarname="excalibur-instrument"/>
+ <process_jarfile jarname="excalibur-logger"/>
+ <process_jarfile jarname="excalibur-pool"/>
+ <process_jarfile jarname="htmllexer"/>
+ <process_jarfile jarname="htmlparser"/>
+ <process_jarfile jarname="jakarta-oro"/>
+ <process_jarfile jarname="jcharts"/>
+ <process_jarfile jarname="soap"/>
+ </target>
+
+ <!-- Download all missing jars.-->
+ <target name="download_jars" description="Download any missing jar files">
+ <antcall target="_process_all_jars">
+ <param name="_get_file" value="true"/>
+ </antcall>
+ </target>
+
+ <target name="_check_exists" if="_check_exists">
+ <fail message="Invalid call sequence - file.exists should not be
defined" if="file.exists"/>
+ <available file="${file}" property="file.exists"/>
+ <fail message="Could not find file ${file}" unless="file.exists"/>
+ <antcall target="_checkMD5">
+ <param name="file" value="${jar}"/>
+ <param name="path" value="${path}"/>
+ <param name="md5" value="${md5}"/>
+ </antcall>
+ <!--echo level="info" message="Found ${file}"/-->
+ </target>
+
+ <target name="check_jars" description="Check that all required jar files
are present">
+ <antcall target="_process_all_jars">
+ <param name="_check_exists" value="true"/>
+ </antcall>
+ </target>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org