N.B. To build JMeter from a release you need both the binary and source archives,
and these must be unpacked into the same directory structure.
To download additional jars needed for building the code and documentation:
ant download_jars
To build JMeter from source:
ant [install]
To rebuild:
ant clean install
To update documentation
ant docs-site
ant docs-printable
To build API documentation (Javadoc)
ant docs-api
To build all the docs
ant docs-all
To build all and package up the files for distribution
ant distribution -Djmeter.version=vvvv [-Dsvn.revision=nnnnn]
Add -Ddisable-svnCheck=true to disable svn check, if you build from src archive or offline
Add -Ddisable-check-versions=true to disable matching current svn revision and JMeterVersion.java,
if you want build your own custom JMeter package.
To create a nightly build (separate bin/src/lib jars):
ant nightly [-Dsvn.revision=nnnnn]
To create tar and tgz of the web-site documentation (docs and api)
ant site [ -Djmeter.version=vvvv ]
For more info:
ant -projecthelp
To diagnose usage of deprecated APIs:
ant -Ddeprecation=on clean compile
jmeter.version = ${jmeter.version}display.version = ${display.version}implementation.version = ${implementation.version}svn.revision = ${svn.revision}jmeter.version = ${jmeter.version}display.version = ${display.version}implementation.version = ${implementation.version}eclipse.anakia = ${eclipse.anakia}
AnakiaTask is not present, documentation will not be generated.
Velocity version appears to be older than 1.5: the documentation may be generated with incorrect line endings.
Cannot find all the required 3rd party libraries.If building from a release, you can get most of them from the binary archive.Use "ant download_jars" to download any missing jars.Converting work files to eol=${eoltype} in ${workdir}Creating JMeter distribution ${dist.name} ${svn.revision}Updating POM files to version ${jmeter.version}Copying jar files ready for signingProcessing ${tempfile} using svnmucc on repo: ${repoType}${repo}${message}Version = ${jmeter.version} ${RC}Version = ${jmeter.version} ${RC}Old Version = ${jmeter.old.version}
Gump properties for this run
jmeter.version = ${jmeter.version}
gump.run = ${gump.run}
date.projectfile = ${date.projectfile}
version.projectfile = ${version.projectfile}
Build file:
version.build = ${version.build}
Java properties:
target.java.version = ${target.java.version}
src.java.version = ${src.java.version}
optimize = ${optimize}
deprecation = ${deprecation}
encoding = ${encoding}
Updating overview to ${docversion}Fixing EOLRemoving unnecessary </br> tagsCopying filesFixing EOLRemoving unnecessary </br> tagsCopying files
Error detected in server log file. See above.
CSV Files are not identical.
${batchtest.inp}${file.separator}${batchtest.name}.csv
${batchtest.out}${file.separator}${batchtest.name}.csv
XML Files are not identical.
${batchtest.inp}${file.separator}${batchtest.name}.xml
${batchtest.out}${file.separator}${batchtest.name}.xml
${batchtest.name} output files compared OK
Error detected in log file. See above.
gump.run = ${gump.run}
java.awt.headless = ${java.awt.headless}
test.headless = ${test.headless}
user.dir = ${user.dir}
basedir = ${basedir}
test dir = ${build.test}
test dir gump = ${build.test.gump}
testsaveservice.saveout = ${testsaveservice.saveout}
test.encoding = ${test.encoding}
Checking ${jar}Bad Checksum: for ${file}
expected ${md5}
actual ${MD5}