jsalvata 2003/01/10 06:09:27
Modified: . build.xml
Log:
Improving "dist" target: better dist packages, packages javadoc, runs tests.
Revision Changes Path
1.81 +93 -53 jakarta-jmeter/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/build.xml,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- build.xml 9 Jan 2003 11:59:54 -0000 1.80
+++ build.xml 10 Jan 2003 14:09:27 -0000 1.81
@@ -12,17 +12,6 @@
<!-- JMeter version -->
<property name="version" value="1.8+"/>
- <!-- Where the class files should live -->
- <property name="build.dir" value="build"/>
- <property name="build.core" value="build/core"/>
- <property name="build.http" value="build/protocol/http"/>
- <property name="build.ftp" value="build/protocol/ftp"/>
- <property name="build.jdbc" value="build/protocol/jdbc"/>
- <property name="build.java" value="build/protocol/java"/>
- <property name="build.components" value="build/components"/>
- <property name="build.functions" value="build/functions"/>
- <property name="build.jorphan" value="build/jorphan"/>
-
<!-- Where the Sources live -->
<property name="src.dir" value="src"/>
<property name="src.core" value="src/core"/>
@@ -34,35 +23,76 @@
<property name="src.functions" value="src/functions"/>
<property name="src.jorphan" value="src/jorphan"/>
+ <path id="srcpaths">
+ <pathelement location="${src.core}"/>
+ <pathelement location="${src.components}"/>
+ <pathelement location="${src.functions}"/>
+ <pathelement location="${src.http}"/>
+ <pathelement location="${src.ftp}"/>
+ <pathelement location="${src.jdbc}"/>
+ <pathelement location="${src.java}"/>
+ <pathelement location="${src.jorphan}"/>
+ </path>
+
+ <!-- Temporary build directories: where the .class live -->
+ <property name="build.dir" value="build"/>
+ <property name="build.core" value="build/core"/>
+ <property name="build.http" value="build/protocol/http"/>
+ <property name="build.ftp" value="build/protocol/ftp"/>
+ <property name="build.jdbc" value="build/protocol/jdbc"/>
+ <property name="build.java" value="build/protocol/java"/>
+ <property name="build.components" value="build/components"/>
+ <property name="build.functions" value="build/functions"/>
+ <property name="build.jorphan" value="build/jorphan"/>
+
+ <!-- Where the build result .jars will be placed -->
+ <property name="jar.dest" value="lib/ext"/>
+ <property name="jorphan.jar.dest" value="lib"/>
+
<!-- Where the API documentation lives -->
<property name="docs.api.dest" value="docs/api"/>
+
+ <!-- Where the doc sources and results live -->
<property name="docs.src" value="xdocs"/>
<property name="docs.dest" value="docs"/>
<property name="printable_docs.dest" value="printable_docs"/>
- <property name="optimize" value="on"/>
- <!-- Where the distribution packages live -->
+ <!-- Where the distribution packages will be created -->
<property name="dist.dir" value="dist"/>
- <!-- List of Unix executable files in the distribution -->
+ <!-- Compilation parameters -->
+ <property name="optimize" value="on"/>
+
+ <!-- List of Unix executable files in the binary distribution -->
<property name="dist.executables" value="bin/jmeter bin/jmeter-server"/>
+ <!-- 3rd party libraries to be included in the binary distribution -->
+ <property name="avalon-excalibur.jar" value="lib/avalon-excalibur-4.1.jar"/>
+ <property name="avalon-framework.jar" value="lib/avalon-framework.jar"/>
+ <property name="jakarta-oro.jar" value="lib/jakarta-oro.jar"/>
+ <property name="junit.jar" value="lib/junit.jar"/>
+ <property name="logkit.jar" value="lib/logkit-1.0.1.jar"/>
+ <property name="xalan.jar" value="lib/xalan.jar"/>
+ <property name="xerces.jar" value="lib/xerces.jar"/>
+ <property name="xml-apis.jar" value="lib/xml-apis.jar"/>
+
+ <fileset dir="." id="external.jars">
+ <include name="${avalon-excalibur.jar}"/>
+ <include name="${avalon-framework.jar}"/>
+ <include name="${jakarta-oro.jar}"/>
+ <include name="${junit.jar}"/>
+ <include name="${logkit.jar}"/>
+ <include name="${xalan.jar}"/>
+ <include name="${xerces.jar}"/>
+ <include name="${xml-apis.jar}"/>
+ </fileset>
+
+ <!-- Directory where these 3rd party libraries will live -->
+ <property name="lib.dir" value="lib"/>
+
<!-- Build classpath -->
<path id="classpath">
- <fileset dir="lib">
- <include name="*.jar"/>
- </fileset>
- </path>
-
- <path id="srcpaths">
- <pathelement location="${src.core}"/>
- <pathelement location="${src.components}"/>
- <pathelement location="${src.functions}"/>
- <pathelement location="${src.http}"/>
- <pathelement location="${src.ftp}"/>
- <pathelement location="${src.jdbc}"/>
- <pathelement location="${src.java}"/>
- <pathelement location="${src.jorphan}"/>
+ <fileset dir="${lib.dir}" includes="*.jar"/>
</path>
<target name="init" depends="check-libs,report-missing-libs"/>
@@ -241,14 +271,14 @@
<target name="api-docs" description="Generate the API documentation.">
<mkdir dir="${docs.api.dest}"/>
- <javadoc sourcepathref="srcpaths" destdir="${docs.api.dest}" Protected="yes"
author="yes" version="yes" doctitle="Apache JMeter APIs Specification"
windowtitle="Apache JMeter API Specification" header="<b>Apache
JMeter</b><br><font size='-1'>1.7</font>" bottom="Copyright
© 1998-2002 Apache Software Foundation. All Rights Reserved."
packagenames="org.apache.jmeter.*">
+ <javadoc sourcepathref="srcpaths" destdir="${docs.api.dest}" Protected="yes"
author="yes" version="yes" doctitle="Apache JMeter APIs Specification"
windowtitle="Apache JMeter API Specification" header="<b>Apache
JMeter</b><br><font size='-1'>1.7</font>" bottom="Copyright
© 1998-2003 Apache Software Foundation. All Rights Reserved."
packagenames="org.apache.jmeter.*">
<classpath refid="classpath"/>
</javadoc>
</target>
<target name="package" depends="compile">
- <mkdir dir="lib/ext"/>
- <jar jarfile="./lib/ext/ApacheJMeter_core.jar" excludes="**/NewDriver*"
manifest="${src.core}/MANIFEST">
+ <mkdir dir="${jar.dest}"/>
+ <jar jarfile="${jar.dest}/ApacheJMeter_core.jar" excludes="**/NewDriver*"
manifest="${src.core}/MANIFEST">
<fileset dir="${build.core}"/>
<fileset dir="${src.core}" includes="org/apache/jmeter/images/"/>
<fileset dir="${src.core}" includes="org/apache/jmeter/resources/">
@@ -257,13 +287,13 @@
<fileset dir="${src.core}" includes="org/apache/jmeter/help.txt"/>
</jar>
<jar jarfile="bin/ApacheJMeter.jar" includes="**/NewDriver*"
manifest="${src.core}/MANIFEST" basedir="${build.core}"/>
- <jar jarfile="./lib/ext/ApacheJMeter_components.jar"
basedir="${build.components}"/>
- <jar jarfile="./lib/ext/ApacheJMeter_functions.jar"
basedir="${build.functions}"/>
- <jar jarfile="./lib/ext/ApacheJMeter_http.jar" basedir="${build.http}"/>
- <jar jarfile="./lib/ext/ApacheJMeter_ftp.jar" basedir="${build.ftp}"/>
- <jar jarfile="./lib/ext/ApacheJMeter_jdbc.jar" basedir="${build.jdbc}"/>
- <jar jarfile="./lib/ext/ApacheJMeter_java.jar" basedir="${build.java}"/>
- <jar jarfile="./lib/jorphan.jar" basedir="${build.jorphan}"/>
+ <jar jarfile="${jar.dest}/ApacheJMeter_components.jar"
basedir="${build.components}"/>
+ <jar jarfile="${jar.dest}/ApacheJMeter_functions.jar"
basedir="${build.functions}"/>
+ <jar jarfile="${jar.dest}/ApacheJMeter_http.jar" basedir="${build.http}"/>
+ <jar jarfile="${jar.dest}/ApacheJMeter_ftp.jar" basedir="${build.ftp}"/>
+ <jar jarfile="${jar.dest}/ApacheJMeter_jdbc.jar" basedir="${build.jdbc}"/>
+ <jar jarfile="${jar.dest}/ApacheJMeter_java.jar" basedir="${build.java}"/>
+ <jar jarfile="${jorphan.jar.dest}/jorphan.jar" basedir="${build.jorphan}"/>
</target>
<target name="install" depends="package" description="Install JMeter.">
@@ -282,35 +312,47 @@
<patternset id="dist.binaries">
<include name="bin/"/>
- <include name="${docs.dest}/"/>
- <exclude name="${docs.api.dest}/"/>
- <include name="lib/"/>
+ <include name="${lib.dir}/"/>
+ <include name="${jar.dest}/"/> <!-- redundant but future-proof -->
+ <include name="${docs.dest}/"/> <exclude name="${docs.api.dest}/"/>
<include name="README"/>
<include name="LICENSE"/>
</patternset>
- <target name="dist" depends="assume-libs-present,clean,install,all-docs"
description="Create the distribution packages.">
+ <target name="dist" depends="assume-libs-present,clean,install,all-docs,test"
description="Create the distribution packages.">
+ <property name="dist.name" value="jakarta-jmeter-${version}"/>
<mkdir dir="${dist.dir}"/>
- <tar destfile="${dist.dir}/jakarta-jmeter.tar" longfile="gnu">
- <tarfileset dir="." prefix="jakarta-jmeter">
+ <!-- copy 3rd party libraries if not already there -->
+ <copy todir="${lib.dir}" flatten="true">
+ <fileset refid="external.jars"/>
+ </copy>
+ <tar destfile="${dist.dir}/${dist.name}.tar" longfile="gnu">
+ <tarfileset dir="." prefix="${dist.name}" excludes="${dist.executables}">
<patternset refid="dist.binaries"/>
</tarfileset>
- <tarfileset mode="755" includes="${dist.executables}" dir="."
prefix="jakarta-jmeter"/>
+ <tarfileset mode="755" includes="${dist.executables}" dir="."
prefix="${dist.name}"/>
</tar>
- <zip zipfile="${dist.dir}/jakarta-jmeter.zip">
- <zipfileset dir="." prefix="jakarta-jmeter">
+ <gzip zipfile="${dist.dir}/${dist.name}.tgz" src="${dist.dir}/${dist.name}.tar"
/>
+ <zip zipfile="${dist.dir}/${dist.name}.zip">
+ <zipfileset dir="." prefix="${dist.name}">
<patternset refid="dist.binaries"/>
</zipfileset>
</zip>
- <gzip zipfile="${dist.dir}/jakarta-jmeter.tgz"
src="${dist.dir}/jakarta-jmeter.tar" />
+ <tar destfile="${dist.dir}/${dist.name}-javadoc.tar" longfile="gnu">
+ <tarfileset includes="${docs.api.dest}/" dir="." prefix="${dist.name}"/>
+ </tar>
+ <gzip zipfile="${dist.dir}/${dist.name}-javadoc.tgz"
src="${dist.dir}/${dist.name}-javadoc.tar" />
+ <zip zipfile="${dist.dir}/${dist.name}-javadoc.zip">
+ <zipfileset includes="${docs.api.dest}/" dir="." prefix="${dist.name}"/>
+ </zip>
</target>
<target name="clean" description="Clean up to force a build from source.">
<delete file="bin/ApacheJMeter.jar"/>
<delete file="lib/jorphan.jar"/>
- <delete dir="lib/ext"/>
+ <delete dir="${jar.dest}"/>
<delete dir="${build.dir}"/>
- <delete dir="${docs.api.dest}"/>
+ <delete dir="${docs.api.dest}"/> <!-- redundant but future-proof -->
<delete dir="${docs.dest}"/>
<delete dir="${dist.dir}"/>
</target>
@@ -337,9 +379,7 @@
<java classname="org.apache.jorphan.test.AllTests" fork="yes"
dir="${basedir}/bin">
<classpath>
<path refid="classpath"/>
- <fileset dir="./lib/ext">
- <include name="*.jar"/>
- </fileset>
+ <fileset dir="${jar.dest}" includes="*.jar"/>
</classpath>
<arg value="../lib/ext"/>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>