woolfel 2003/10/17 21:40:58
Modified: . build.xml
Log:
corrected build file using the correct version of the file.
tested the build with htmlparser task to compile and jar
Revision Changes Path
1.121 +330 -131 jakarta-jmeter/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/build.xml,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -r1.120 -r1.121
--- build.xml 18 Oct 2003 03:15:22 -0000 1.120
+++ build.xml 18 Oct 2003 04:40:58 -0000 1.121
@@ -2,18 +2,61 @@
<project name="JMeter" default="all" basedir=".">
<description>
To build JMeter from source and install:
- ./build.sh
+ ant [all]
To rebuild and install:
- ./build.sh install
+ ant install
+
+ To update documentation (requires Anakia to be present)
+ ant docs-site
+ ant docs-printable
+ To build API documentation (Javadoc)
+ ant docs-api
+ To build all the docs
+ ant docs-all
+
+ To create tar and tgz of the web-site documentation
+ ant pack-site
+
+ To package up the existing build files for distribution
+ ant pack-dist [-Dversion =vvvv]
+
For more info:
- ./build.sh -projecthelp
+ ant -projecthelp
To diagnose usage of deprecated APIs:
- ./build.sh -Ddeprecation=on clean compile
+ ant -Ddeprecation=on clean compile
+
+ Version: $Revision$ Last Updated: $Date$
</description>
-
-
+ <!-- Renamed targets -->
+ <target name="all-docs">
+ <echo message="Target has been renamed to docs-all"/>
+ <antcall target="docs-all"/>
+ </target>
+
+ <target name="api-docs">
+ <echo message="Target has been renamed to docs-api"/>
+ <antcall target="docs-api"/>
+ </target>
+
+ <target name="printable-docs">
+ <echo message="Target has been renamed to docs-printable"/>
+ <antcall target="docs-printable"/>
+ </target>
+
+ <target name="docs">
+ <echo message="Target has been renamed to docs-site"/>
+ <antcall target="docs-site"/>
+ </target>
+
+ <target name="src-dist">
+ <echo message="Target has been renamed to dist-src"/>
+ <antcall target="dist-src"/>
+ </target>
+
+
+
<!-- Where the Sources live -->
<property name="src.dir" value="src"/>
<property name="src.core" value="src/core"/>
@@ -27,6 +70,12 @@
<property name="src.ldap" value="src/protocol/ldap"/>
<property name="src.htmlparser" value="src/htmlparser"/>
+ <!-- Where the documentation sources live -->
+ <property name="src.docs" value="xdocs"/>
+ <property name="src.images" value="xdocs/images"/>
+ <property name="src.demos" value="xdocs/demos"/>
+
+ <!-- Javadoc sources -->
<path id="srcpaths">
<pathelement location="${src.core}"/>
<pathelement location="${src.components}"/>
@@ -62,40 +111,52 @@
<property name="eclipse.anakia" value="."/>
<!-- Where the build result .jars will be placed -->
- <property name="jar.dest" value="lib/ext"/>
- <property name="jorphan.jar.dest" value="lib"/>
+ <property name="dest.jar" value="lib/ext"/>
+ <property name="dest.jar.jorphan" value="lib"/>
+ <property name="dest.jar.jmeter" value="bin"/>
<!-- Where the API documentation lives -->
- <property name="docs.api.dest" value="docs/api"/>
+ <property name="dest.docs.api" 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"/>
+ <!-- Where the doc results live -->
+ <property name="dest.docs" value="docs"/>
+ <property name="dest.printable_docs" value="printable_docs"/>
+
+ <!-- Directory where these 3rd party libraries will live -->
+ <!-- probably has to be the same as dest.jar.jorphan -->
+ <property name="lib.dir" value="lib"/>
+
+ <!-- Other stuff -->
+ <property name="extras.dir" value="extras"/>
<!-- Where the distribution packages will be created -->
<property name="dist.dir" value="dist"/>
+ <!-- Where the web-site packages will be created -->
+ <property name="site.dir" value="site"/>
+
<!-- Compilation parameters -->
<property name="optimize" value="on"/>
<property name="deprecation" value="off"/>
<property name="target.java.version" value="1.2"/>
<property name="encoding" value="UTF-8"/>
- <!-- 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"/>
+ <property name="avalon-excalibur.jar"
value="${lib.dir}/avalon-excalibur-4.1.jar"/>
+ <property name="avalon-framework.jar"
value="${lib.dir}/avalon-framework-4.1.4.jar"/>
+ <property name="jakarta-oro.jar" value="${lib.dir}/jakarta-oro-2.0.7.jar"/>
+ <property name="commons-collections.jar"
value="${lib.dir}/commons-collections.jar"/>
+ <property name="junit.jar" value="${lib.dir}/junit.jar"/>
+ <property name="logkit.jar" value="${lib.dir}/logkit-1.2.jar"/>
+ <property name="xalan.jar" value="${lib.dir}/xalan.jar"/>
+ <property name="xerces.jar" value="${lib.dir}/xercesImpl.jar"/>
+ <property name="xml-apis.jar" value="${lib.dir}/xml-apis.jar"/>
+ <property name="jdom.jar" value="${lib.dir}/jdom-b8.jar"/>
+ <property name="js.jar" value="${lib.dir}/js.jar"/>
+ <property name="soap.jar" value="${lib.dir}/soap.jar"/>
+ <property name="tidy.jar" value="${lib.dir}/Tidy.jar"/>
- <fileset dir="." id="external.jars">
+ <patternset id="external.jars">
<include name="${avalon-excalibur.jar}"/>
<include name="${avalon-framework.jar}"/>
<include name="${jakarta-oro.jar}"/>
@@ -104,21 +165,42 @@
<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"/>
+ <include name="${js.jar}"/>
+ <include name="${soap.jar}"/>
+ <include name="${tidy.jar}"/>
+ <include name="${commons-collections.jar}"/>
+ <include name="${lib.dir}/*.html"/>
+ <include name="${jdom.jar}"/>
+ </patternset>
<!-- Build classpath -->
<path id="classpath">
<fileset dir="${lib.dir}" includes="*.jar"/>
</path>
+
+ <!-- Anakia classpath -->
+ <!--
+ N.B. On some OSes - e.g. VMS - multiple "." are converted to other characters
+ So replace the version part with "*" to match any version.
+ -->
+ <path id="anakia.classpath">
+ <fileset dir="${lib.dir}" includes="velocity*.jar"/>
+ <fileset dir="${lib.dir}" includes="jdom-*.jar"/>
+ <fileset dir="${lib.dir}" includes="commons-collections*.jar"/>
+ <fileset dir="${lib.dir}" includes="logkit-*.jar"/>
+ </path>
+
- <target name="init" depends="check-libs,report-missing-libs">
+ <target name="init-version">
<tstamp/>
<!-- JMeter version -->
- <property name="version" value="1.9.RC${DSTAMP}"/>
+ <property name="version" value="1.9.${DSTAMP}"/>
</target>
+
+ <target name="init" depends="check-libs,report-missing-libs,init-version"/>
+
+ <!-- JMeter Javadoc version (own variable is used so can be overriden
independently) -->
+ <property name="docversion" value="${version}"/>
<target name="init-docs" depends="check-anakia,report-anakia-missing"/>
@@ -129,17 +211,23 @@
<available classname="com.sun.net.ssl.internal.ssl.Provider"
property="jsse.present">
<classpath refid="classpath"/>
</available>
- <available classname="javax.mail.Transport" property="javamail.present">
+ <condition property="javamail.complete">
+ <and>
+ <available classname="javax.mail.Transport" classpathref="classpath"/>
+ <available classname="javax.activation.DataHandler"
classpathref="classpath"/>
+ </and>
+ </condition>
+ <available classname="iaik.protocol.https.Handler" property="isasilk.present">
<classpath refid="classpath"/>
</available>
- <available classname="javax.activation.DataHandler"
property="javamail.complete">
+ <available classname="bsh.Interpreter" property="beanshell.present">
<classpath refid="classpath"/>
</available>
- <available classname="iaik.protocol.https.Handler" property="isasilk.present">
+ <available classname="org.apache.bsf.BSFManager" property="bsf.present">
<classpath refid="classpath"/>
</available>
</target>
-
+
<!--
- Messages for missing libraries
-->
@@ -155,13 +243,23 @@
<echo message="Classes for Mail support not found in classpath"/>
</target>
- <target name="report-missing-libs"
depends="ssl-message,iaik-message,mail-message"/>
+ <target name="beanshell-message" depends="check-libs" unless="beanshell.present">
+ <echo message="Classes for BeanShell support not found in classpath"/>
+ </target>
+
+ <target name="bsf-message" depends="check-libs" unless="bsf.present">
+ <echo message="Classes for BSF support not found in classpath"/>
+ </target>
+
+ <target name="report-missing-libs"
+ depends="ssl-message,iaik-message,mail-message,beanshell-message,bsf-message"
+ />
<!--
- Check for anakia task
-->
<target name="check-anakia">
- <available classname="org.apache.velocity.anakia.AnakiaTask"
property="AnakiaTask.present"/>
+ <available classpathref="anakia.classpath"
classname="org.apache.velocity.anakia.AnakiaTask" property="AnakiaTask.present"/>
</target>
<target name="report-anakia-missing" depends="check-anakia"
unless="AnakiaTask.present">
<echo>
@@ -169,18 +267,13 @@
</echo>
</target>
- <target name="compile-core" depends="compile-jorphan" description="Compile JMeter
core classes.">
+ <target name="compile-core" depends="compile-jorphan,update-version"
description="Compile JMeter core classes.">
<mkdir dir="${build.core}"/>
- <replaceregexp file="${src.core}/org/apache/jmeter/util/JMeterUtils.java"
- match="VERSION=".*?""
- replace="VERSION="${version}""/>
<javac srcdir="${src.core}" destdir="${build.core}" optimize="${optimize}"
debug="on" target="${target.java.version}" deprecation="${deprecation}"
encoding="${encoding}">
<include name="**/*.java"/>
<exclude name="org/apache/jmeter/util/JsseSSLManager.java"
unless="jsse.present"/>
- <exclude name="org/apache/jmeter/util/IaikSSLManager.java"
unless="isasilk.present"/>
<exclude name="org/apache/jmeter/util/keystore/PKCS12KeyStore.java"
unless="isasilk.present"/>
<exclude name="org/apache/jmeter/util/keystore/DefaultKeyStore.java"
unless="jsse.present"/>
- <exclude name="org/apache/jmeter/reporters/MailerResultCollector.java"
unless="javamail.complete"/>
<classpath>
<path refid="classpath"/>
<pathelement location="${build.jorphan}"/>
@@ -188,6 +281,13 @@
</javac>
</target>
+ <target name="update-version" unless="version.noupdate">
+ <echo>Updating version string</echo>
+ <replaceregexp file="${src.core}/org/apache/jmeter/util/JMeterVersion.java"
+ match="VERSION = ".*?""
+ replace="VERSION = "${version}""/>
+ </target>
+
<target name="compile-components" depends="compile-jorphan,compile-core"
description="Compile generic (protocol-independent) components.">
<mkdir dir="${build.components}"/>
<javac srcdir="${src.components}" destdir="${build.components}"
optimize="${optimize}" debug="on" target="${target.java.version}"
deprecation="${deprecation}" encoding="${encoding}">
@@ -219,6 +319,8 @@
<mkdir dir="${build.http}"/>
<javac srcdir="${src.http}" destdir="${build.http}" optimize="${optimize}"
debug="on" target="${target.java.version}" deprecation="${deprecation}"
encoding="${encoding}">
<include name="**/*.java"/>
+ <exclude
name="org/apache/jmeter/protocol/http/sampler/WebServiceSampler.java"
unless="javamail.complete"/>
+ <exclude
name="org/apache/jmeter/protocol/http/control/gui/WebServiceSamplerGui.java"
unless="javamail.complete"/>
<classpath>
<path refid="classpath"/>
<pathelement location="${build.jorphan}"/>
@@ -268,6 +370,8 @@
<mkdir dir="${build.java}"/>
<javac srcdir="${src.java}" destdir="${build.java}" optimize="${optimize}"
debug="on" target="${target.java.version}" deprecation="${deprecation}"
encoding="${encoding}">
<include name="**/*.java"/>
+ <exclude name="org/apache/jmeter/protocol/java/**/BeanShell*.java"
unless="beanshell.present"/>
+ <exclude name="org/apache/jmeter/protocol/java/**/BSF*.java"
unless="bsf.present"/>
<classpath>
<path refid="classpath"/>
<pathelement location="${build.jorphan}"/>
@@ -318,17 +422,9 @@
<target name="compile"
depends="compile-core,compile-components,compile-functions,compile-protocols,compile-rmi,compile-htmlparser"
description="Compile everything."/>
- <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-2003 Apache Software Foundation. All Rights Reserved."
packagenames="org.apache.jmeter.*">
- <classpath refid="classpath"/>
- <link href="http://java.sun.com/products/jdk/1.2/docs/api/"/>
- </javadoc>
- </target>
-
<target name="package" depends="compile">
- <mkdir dir="${jar.dest}"/>
- <jar jarfile="${jar.dest}/ApacheJMeter_core.jar" excludes="**/NewDriver*"
manifest="${src.core}/MANIFEST">
+ <mkdir dir="${dest.jar}"/>
+ <jar jarfile="${dest.jar}/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/">
@@ -336,142 +432,245 @@
</fileset>
<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="${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="${jar.dest}/ApacheJMeter_ldap.jar" basedir="${build.ldap}"/>
- <jar jarfile="${jorphan.jar.dest}/htmlparser.jar"
basedir="${build.htmlparser}"/>
- <jar jarfile="${jorphan.jar.dest}/jorphan.jar" basedir="${build.jorphan}"/>
+ <jar jarfile="${dest.jar.jmeter}/ApacheJMeter.jar" includes="**/NewDriver*"
manifest="${src.core}/MANIFEST" basedir="${build.core}"/>
+ <!-- perhaps ought to include a basic jmeter.properties file in one of the jars,
+ given that JMeterUtils looks for it if it cannot find the external one
+ - otherwise, change utils to ignore it -->
+ <jar jarfile="${dest.jar}/ApacheJMeter_components.jar"
basedir="${build.components}"/>
+ <jar jarfile="${dest.jar}/ApacheJMeter_functions.jar"
basedir="${build.functions}"/>
+ <jar jarfile="${dest.jar}/ApacheJMeter_http.jar" basedir="${build.http}"/>
+ <jar jarfile="${dest.jar}/ApacheJMeter_ftp.jar" basedir="${build.ftp}"/>
+ <jar jarfile="${dest.jar}/ApacheJMeter_jdbc.jar" basedir="${build.jdbc}"/>
+ <jar jarfile="${dest.jar}/ApacheJMeter_java.jar" basedir="${build.java}"/>
+ <jar jarfile="${dest.jar}/ApacheJMeter_ldap.jar" basedir="${build.ldap}"/>
+ <jar jarfile="${dest.jar.jorphan}/htmlparser.jar"
basedir="${build.htmlparser}"/>
+ <jar jarfile="${dest.jar.jorphan}/jorphan.jar" basedir="${build.jorphan}"/>
</target>
- <target name="install" depends="package" description="Install JMeter.">
+ <target name="install" depends="package" description="Install JMeter. (Compiles
code and creates jars)">
<fixcrlf srcdir="." eol="lf" includes="**/jmeter,**/jmeter-server"/>
</target>
- <target name="all" depends="clean,install" description="Default target: build
from source and install."/>
+ <target name="all" depends="clean,install"
+ description="Default: build from source and install. Does not create docs."
+ />
+ <!--
+ N.B. This target is used by the "dist" target, which is set up as the Gump
target.
+ Any libraries in this list need also to be set up in the Gump file:
+ projects/jakarta-jmeter.xml
+ -->
<target name="assume-libs-present">
<property name="assuming.libs.present" value="true"/>
-
<property name="jsse.present" value="assume"/>
- <property name="javamail.present" value="assume"/>
<property name="javamail.complete" value="assume"/>
+ <property name="beanshell.present" value="assume"/>
</target>
+ <!-- list of files needed for a binary distribution -->
<patternset id="dist.binaries">
- <include name="bin/"/>
- <include name="${lib.dir}/"/>
- <include name="${jar.dest}/"/> <!-- redundant but future-proof -->
- <include name="${docs.dest}/"/> <exclude name="${docs.api.dest}/"/>
- <exclude name="**/mail.jar"/>
- <exclude name="**/activation.jar"/>
- <exclude name="**/mailapi.jar"/>
- <exclude name="**/pop3.jar"/>
- <exclude name="**/smtp.jar"/>
- <exclude name="**/imap.jar"/>
+ <include name="${dest.jar.jmeter}/ApacheJMeter.jar"/>
+ <include name="${dest.jar.jmeter}/jmeter*"/>
+ <include name="${dest.jar.jmeter}/upgrade.properties"/>
+ <include name="${dest.jar.jmeter}/users.*"/>
+ <include name="${dest.jar}/"/>
+ <include name="${dest.printable_docs}/**"/>
+ <include name="${extras.dir}/**"/>
+ <include name="${lib.dir}/jorphan.jar"/>
<include name="README"/>
<include name="LICENSE"/>
</patternset>
-
+
+ <!--
+ List of Unix executable files in the binary distribution
+ These need special handling to create the correct file mode
+ -->
+ <property name="dist.executables" value="${dest.jar.jmeter}/jmeter
${dest.jar.jmeter}/jmeter-server"/>
+
<patternset id="dist.sources">
- <include name="${src.dir}/"/>
- <include name="${docs.src}/"/>
- <include name="*"/>
+ <include name="${src.dir}/**"/>
+ <include name="${src.docs}/**"/>
+ <include name="build.*"/>
+ <include name="lcp.bat"/>
+ <include name="LICENSE"/>
+ <include name="README"/>
+ <include name="${dest.jar.jmeter}/jmeter*.bat"/>
+ <include name="${dest.jar.jmeter}/jmeter.properties"/>
+ <include name="${dest.jar.jmeter}/log4j.conf"/>
+ <include name="eclipse.classpath*"/>
</patternset>
- <target name="dist" depends="assume-libs-present,clean,install,all-docs,test"
description="Create the distribution packages.">
+ <!-- N.B. this target is the one currently used by Gump -->
+ <target name="dist" depends="assume-libs-present,clean,install,docs-all,test"
description="Rebuild all and create the distribution packages.">
+ <property name="dist.name" value="jakarta-jmeter-${version}"/>
+ <antcall target="_pack-binaries"/>
+ <antcall target="_pack-libraries"/>
+ <antcall target="_pack-javadoc"/>
+ <antcall target="_pack-source"/>
+ </target>
+
+ <target name="dist-src" depends="init-version" description="Create the source
distribution packages.">
+ <property name="dist.name" value="jakarta-jmeter-${version}"/>
+ <antcall target="_pack-source"/>
+ </target>
+
+ <target name="pack-dist" depends="init-version" description="Create the
distribution packages with no rebuild.">
<property name="dist.name" value="jakarta-jmeter-${version}"/>
+ <antcall target="_pack-binaries"/>
+ <antcall target="_pack-libraries"/>
+ <antcall target="_pack-javadoc"/>
+ <antcall target="_pack-source"/>
+ </target>
+
+ <target name="_pack-binaries">
+ <property name="pack.name" value="${dist.name}_bin"/>
<mkdir dir="${dist.dir}"/>
- <!-- 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">
+ <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
<tarfileset dir="." prefix="${dist.name}" excludes="${dist.executables}"
defaultexcludes="yes">
<patternset refid="dist.binaries"/>
</tarfileset>
<tarfileset mode="755" includes="${dist.executables}" dir="."
prefix="${dist.name}" defaultexcludes="yes"/>
</tar>
- <gzip zipfile="${dist.dir}/${dist.name}.tgz" src="${dist.dir}/${dist.name}.tar"
/>
- <zip zipfile="${dist.dir}/${dist.name}.zip">
+ <gzip zipfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar"
/>
+ <zip zipfile="${dist.dir}/${pack.name}.zip">
<zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
<patternset refid="dist.binaries"/>
</zipfileset>
</zip>
- <tar destfile="${dist.dir}/${dist.name}-javadoc.tar" longfile="gnu">
- <tarfileset includes="${docs.api.dest}/" dir="." prefix="${dist.name}"
defaultexcludes="yes"/>
+ </target>
+
+ <target name="_pack-libraries">
+ <property name="pack.name" value="${dist.name}_lib"/>
+ <mkdir dir="${dist.dir}"/>
+ <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
+ <tarfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
+ <patternset refid="external.jars"/>
+ </tarfileset>
</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}"
defaultexcludes="yes"/>
+ <gzip zipfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar"
/>
+ <zip zipfile="${dist.dir}/${pack.name}.zip">
+ <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
+ <patternset refid="external.jars"/>
+ </zipfileset>
</zip>
- </target>
-
- <target name="src_dist" depends="assume-libs-present,clean,install,all-docs,test"
description="Create the distribution packages.">
- <property name="dist.name" value="jakarta-jmeter-${version}"/>
+ </target>
+
+ <target name="_pack-javadoc">
+ <property name="pack.name" value="${dist.name}_api"/>
+ <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
+ <tarfileset includes="${dest.docs.api}/" dir="." prefix="${dist.name}"
defaultexcludes="yes"/>
+ </tar>
+ <gzip zipfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar"
/>
+ <zip zipfile="${dist.dir}/${pack.name}.zip">
+ <zipfileset includes="${dest.docs.api}/" dir="." prefix="${dist.name}"
defaultexcludes="yes"/>
+ </zip>
+ </target>
+
+ <target name="_pack-source">
+ <property name="pack.name" value="${dist.name}_src"/>
<mkdir dir="${dist.dir}"/>
- <!-- 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}.src.tar" longfile="gnu">
+ <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
<tarfileset dir="." prefix="${dist.name}" excludes="${dist.executables}"
defaultexcludes="yes">
- <patternset refid="dist.binaries"/>
<patternset refid="dist.sources"/>
</tarfileset>
<tarfileset mode="755" includes="${dist.executables}" dir="."
prefix="${dist.name}" defaultexcludes="yes"/>
</tar>
- <gzip zipfile="${dist.dir}/${dist.name}.src.tgz"
src="${dist.dir}/${dist.name}.src.tar" />
- <zip zipfile="${dist.dir}/${dist.name}.src.zip">
+ <gzip zipfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar"
/>
+ <zip zipfile="${dist.dir}/${pack.name}.zip">
<zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist.binaries"/>
<patternset refid="dist.sources"/>
</zipfileset>
</zip>
- <tar destfile="${dist.dir}/${dist.name}-javadoc.tar" longfile="gnu">
- <tarfileset includes="${docs.api.dest}/" dir="." prefix="${dist.name}"
defaultexcludes="yes"/>
- </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}"
defaultexcludes="yes"/>
- </zip>
- </target>
+ </target>
+
+ <!-- When creating the tars for the web-site, no version prefix directory is
added -->
+ <target name="pack-site" depends="init-version" description="Create tarballs
for the web-site from existing docs.">
+ <property name="dist.name" value="jakarta-jmeter-${version}"/>
+ <antcall target="_pack_site_api"/>
+ <antcall target="_pack_site_doc"/>
+ </target>
+
+ <target name="_pack_site_doc">
+ <property name="pack.name" value="${dist.name}_doc"/>
+ <mkdir dir="${site.dir}"/>
+ <tar destfile="${site.dir}/${pack.name}.tar" longfile="gnu">
+ <tarfileset dir="${dest.docs}" includes="**" excludes="api/**" prefix=""
defaultexcludes="yes"/>
+ </tar>
+ <gzip zipfile="${site.dir}/${pack.name}.tgz" src="${site.dir}/${pack.name}.tar"
/>
+ <!-- no point in creating Zip version as well -->
+ </target>
+
+ <target name="_pack_site_api">
+ <property name="pack.name" value="${dist.name}_api"/>
+ <mkdir dir="${site.dir}"/>
+ <tar destfile="${site.dir}/${pack.name}.tar" longfile="gnu">
+ <tarfileset dir="${dest.docs.api}" includes="**" prefix="api"
defaultexcludes="yes"/>
+ </tar>
+ <gzip zipfile="${site.dir}/${pack.name}.tgz" src="${site.dir}/${pack.name}.tar"
/>
+ <!-- no point in creating Zip version as well -->
+ </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="${jar.dest}"/>
+ <delete file="${dest.jar.jmeter}/ApacheJMeter.jar"/>
+ <delete quiet="true" file="${dest.jar.jorphan}/jorphan.jar"/>
+ <delete quiet="true">
+ <fileset dir="${dest.jar}" excludes=".cvsignore"/>
+ </delete>
<delete dir="${build.dir}"/>
+ <delete dir="${dest.docs.api}"/>
+ <delete quiet="true">
+ <fileset dir="${dest.docs}" excludes=".cvsignore"/>
+ </delete>
+ <delete dir="${dest.printable_docs}"/>
<delete dir="${dist.dir}"/>
+ <delete dir="${site.dir}"/>
</target>
- <target name="docs" depends="init-docs" if="AnakiaTask.present"
description="Generate browsable HTML documentation.">
- <taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask"/>
- <anakia basedir="${docs.src}" destdir="${docs.dest}/" extension=".html"
style="${eclipse.anakia}/xdocs/stylesheets/site.vsl"
projectFile="./stylesheets/project.xml" excludes="**/stylesheets/**"
includes="**/*.xml" lastModifiedCheck="true"
velocityPropertiesFile="${docs.src}/velocity.properties"/>
+ <target name="docs-api" description="Generate the API documentation.">
+ <mkdir dir="${dest.docs.api}"/>
+ <javadoc sourcepathref="srcpaths"
+ additionalparam="-breakiterator"
+ destdir="${dest.docs.api}"
+ Protected="yes" author="yes" version="yes"
+ doctitle="Apache JMeter API Specification"
+ windowtitle="Apache JMeter API Specification"
+ header="<b>Apache JMeter</b><br><font
size='-1'>${docversion}</font>" bottom="Copyright © 1998-2003 Apache
Software Foundation. All Rights Reserved."
+ packagenames="org.apache.jmeter.*">
+ <classpath refid="classpath"/>
+ <link href="http://java.sun.com/products/jdk/1.3/docs/api/"/>
+ </javadoc>
</target>
- <target name="printable-docs" depends="init-docs" if="AnakiaTask.present"
description="Generate printable HTML documentation.">
- <taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask"/>
- <anakia basedir="${docs.src}" destdir="${printable_docs.dest}/"
extension=".html" style="${eclipse.anakia}/xdocs/stylesheets/site_printable.vsl"
projectFile="./stylesheets/project.xml" excludes="**/stylesheets/**"
includes="**/*.xml" lastModifiedCheck="true"
velocityPropertiesFile="${docs.src}/velocity.properties"/>
- <copy todir="${printable_docs.dest}">
- <fileset dir="${docs.dest}">
- <include name="images/**"/>
- <include name="demos/**"/>
- </fileset>
+ <target name="docs-site" depends="init-docs" if="AnakiaTask.present"
description="Generate browsable HTML documentation in web-site format.">
+ <taskdef name="anakia" classpathref="anakia.classpath"
classname="org.apache.velocity.anakia.AnakiaTask"/>
+ <anakia basedir="${src.docs}" destdir="${dest.docs}/" extension=".html"
style="${eclipse.anakia}/xdocs/stylesheets/site.vsl"
projectFile="./stylesheets/project.xml" excludes="**/stylesheets/**"
includes="**/*.xml" lastModifiedCheck="true"
velocityPropertiesFile="${src.docs}/velocity.properties"/>
+ <copy todir="${dest.docs}/images">
+ <fileset dir="${src.images}"/>
+ </copy>
+ <copy todir="${dest.docs}/demos">
+ <fileset dir="${src.demos}"/>
+ </copy>
+ </target>
+
+ <target name="docs-printable" depends="init-docs" if="AnakiaTask.present"
description="Generate printable HTML documentation.">
+ <taskdef name="anakia" classpathref="anakia.classpath"
classname="org.apache.velocity.anakia.AnakiaTask"/>
+ <anakia basedir="${src.docs}" destdir="${dest.printable_docs}/"
extension=".html" style="${eclipse.anakia}/xdocs/stylesheets/site_printable.vsl"
projectFile="./stylesheets/printable_project.xml" excludes="**/stylesheets/**"
includes="**/*.xml" lastModifiedCheck="true"
velocityPropertiesFile="${src.docs}/velocity.properties"/>
+ <copy todir="${dest.printable_docs}/images">
+ <fileset dir="${src.images}"/>
+ </copy>
+ <copy todir="${dest.printable_docs}/demos">
+ <fileset dir="${src.demos}"/>
</copy>
</target>
- <target name="all-docs" depends="docs,printable-docs,api-docs"
description="Generate documentation."/>
+ <target name="docs-all" depends="docs-site,docs-printable,docs-api"
description="Generate documentation."/>
<target name="test" depends="install" description="Run tests">
<java classname="org.apache.jorphan.test.AllTests" fork="yes"
dir="${basedir}/bin">
<classpath>
<path refid="classpath"/>
- <fileset dir="${jar.dest}" includes="*.jar"/>
+ <fileset dir="${dest.jar}" includes="*.jar"/>
</classpath>
<arg value="../lib/ext"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]