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

Reply via email to