Ant Java




  
  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.
  [The required external jars are only included in the binary release]
    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]
    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
  

  
  
  
  
  
   
   
   
   
   
   
   
   
    
    
            classpath="${findbugs.homedir}/lib/findbugs-ant.jar" 
        classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>
                  output="xml:withMessages"
              reportlevel="${findbugs.level}"
              excludeFilter="fb-excludes.xml"
              jvmargs="-Xms512m -Xmx512m"
              outputFile="${findbugs.outName}.xml" >
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
          
              
          
      

      
          
              
          
      

    
    
    
  
  
   
            force="true"
       in="${findbugs.outName}.xml" 
       out="${findbugs.outName}.csv">
     
   
  
   
            force="true"
       in="${findbugs.outName}.xml" 
       out="${findbugs.outName}_${findbugs.xslname}.html">
     
   
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
        
        
        
        
  
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
  
    
    
    
    
    
  
  
    
    
    
    
              value="${jmeter.version} r${svn.revision}" else="${jmeter.version}">
        
    
    
    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.
    

  
  
    
    
      
      
        
        
      

    
  
  
    Updating version string to "${display.version}"
            match="VERSION = ".*?""
    replace="VERSION = "${display.version}""/>
  
  
    
    
      
      
        
        
        
      

    
  
  
    
    
      
      
        
        
        
      

    
  
  
    
    
    
      
      
        
        
        
        
      

    
  
  
    
    
      
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
      

    
  
  
    
    
      
      
        
        
        
      

    
  
  
    
    
      
      
        
        
        
      

    
  
      description="Compile components specific to LDAP sampling.">
    
    
      
      
        
        
        
      

    
  
  
    
  
      description="Compile components specific to IMAP and POP3 sampling.">
    
      
      
        
        
        
      

    
  
  
    
    
      
      
        
        
        
      

    
  
  
    
    
      
      
        
        
        
      

    
  
      description="Compile report components.">
    
    
      
      
        
        
        
        
      

    
  
  
    
    
      
      
        
        
        
      

    
  
  
  
    
    
      
      
        
        
        
      

    
  
  
      depends="compile-jorphan,compile-core,compile-components,compile-monitor-model">
    
    
      
      
        
        
        
        
        
        
      

    
  
  
    
    
      
      
        
        
        
      

    
  
  
    
    
      
      
        
      

    
  
  
    
      
        
        
        
      

    
    
      
        
        
      

    
  
          description="Compile components specific to JMS sampling.">
    
    
      
      
        
        
        
      

    
  
    depends="_message_3rdParty,compile-core,compile-components,compile-functions,compile-protocols,compile-rmi,compile-monitor,compile-junit,compile-jms,compile-report"
  description="Compile everything."/>
  
    
      
        
        
      

      
    
  
       description="Compile everything and create the jars"/>

  
    
        
        
        
        
        
        
        
        
        
    
    
       
       
       
       
       
       
       
   
    
    
    
            includes="**/NewDriver*,**/DynamicClassLoader*,**/ShutdownClient.class" 
        basedir="${build.core}" 
        manifest="${build.dir}/MANIFEST_BIN.MF">
        
        
           
        

    
        
            manifest="${build.dir}/MANIFEST_BIN.MF">
      
              excludes="**/BeanShellClient*.class,**/NewDriver*,**/DynamicClassLoader*"/>
              excludes="**/*.properties"/>
      
        
      
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
         
      

    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
      
      
      
    
    
    
    
    
      
      
      
    
    
        
        
        
    
  
  
  
    
        
        
        
        
    

  
  
    Cannot find all the required 3rd party libraries.
    If building from a release, you need both source and binary archives.
    
  
  
    
  
  
    
      
      
      
    
  
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
      value="${dest.jar.jmeter}/jmeter ${dest.jar.jmeter}/jmeter-server ${dest.jar.jmeter}/*.sh"/>
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
    
    
        
        Copying files to work directory ${workdir}
        
        
            
                
            
        
        Converting work files to eol=${eoltype}
        
        
    
    
    
        
        
        
        
        
    
    
        
        
        
    
    
    
            depends="svnCheck,check-versions,clean,install,docs-printable,docs-api,test,_distribution"
        description="Build JMeter for end-user distribution"/>
    
        
        
    
            name="nightly"
        depends="init-svnVersion,check-versions,package,docs-printable,pack-nightly"
        description="Build JMeter for nightly dir (package docs-printable pack-nightly)"/>
    
        
        
            
        
        
            
        
        
        
            
        
        
            
        
        
    
    
    
    
    
    Creating JMeter distribution ${dist.name} ${svn.revision}
    
    
    
    
    
    
        
        
    
    
      
         
      
      
      
         
      
    
    
    
    
    
    
    
        
    
    
        
        
    
    
      
        
      
      
         
      
    
    
        
    
    
    
    
    
        
        
    
    
      
         
      
      
        
      
    
    
    
    
    
    
    
        
    
    
        
        
    
    
      
         
      
      
        
      
    
    
        
    
    
    

  
  
        depends="_gump_properties,clean,install" 
      description="Build JMeter">
    
    
  
  
        depends="_gump_properties,clean,compile" 
      description="Compile JMeter only">
  
  
        depends="_gump_properties,compile-tests,_test"
      description="Test JMeter in Gump">
    
    
  
    
        
        
        usrMD5 = ${usrMD5}
        
        x1MD5  = ${x1MD5}
    
    
        depends="_gump_properties,docs-api"
      description="Create JMeter javadocs">
    
    
  
  
  
 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}
                     replace="version ${docversion}" 
                 flags="g" byline="true">
       
    
          sourcepathref="srcpaths" 
      overview="${src.docs}/overview.html"
      additionalparam="-breakiterator" 
      destdir="${dest.docs.api}" 
      protected="yes" 
      version="yes" 
      doctitle="Apache JMeter API" 
      windowtitle="Apache JMeter API" 
      header="<b>Apache JMeter</b>" 
      bottom="Copyright &#xA9; 1998-${THISYEAR} Apache Software Foundation. All Rights Reserved."
      packagenames="org.apache.jmeter.*,org.apache.jorphan.*"
      excludepackagenames="org.apache.jorphan.timer">
      
      
    
  


        destdir="reports" 
    docletpath="${lib.opt}/doccheck.jar"
    packagenames="org.apache.jmeter.*,org.apache.jorphan.*"
    excludepackagenames="org.apache.jmeter.util.keystore,org.apache.jorphan.timer">
      
      
        
        
        
      
    

  
    
    
            excludes="**/stylesheets/** extending.xml extending/*.xml" 
        includes="**/*.xml" lastModifiedCheck="true" velocityPropertiesFile="${src.docs}/velocity.properties"/>
    Fixing EOL
    
    Copying files
    
      
    
    
      
    
    
      
    
    
      
    
    
      
    
  
  
    
    
            excludes="**/stylesheets/** extending.xml extending/*.xml" 
        includes="**/*.xml" lastModifiedCheck="true" velocityPropertiesFile="${src.docs}/velocity.properties"/>
    Fixing EOL
    
    
    Copying files
    
      
    
    
      
    
    
      
    
    
        
    
    
      
    
  
      description="Run tests (use -Djava.awt.headless=true on systems without graphic displays)"/>
  
  
    
      
    
  
  
    
      
    
  
  
    
    
    
    
        
            
               
                
                
                
               

               
                
                
                
                
                
                
             
        

        
            
            
                
            
        

    

    
    
      
    

    
        
    
    
        Error detected in server log file. See above.
    
    
        
             
        
     

  
  
    
    
    
    
    
    
    
    
        
        
            
                 
                 
                 
                 
            
         

        

    
    
       
       
       
          
         
         
       

    
    
    
    
    
       
        
        
        
       

        
       
        
        
        
        
        
        
        
        
        
        
        
        
        
     
    
    
    
    
        
    
    
        CSV Files are not identical.
    
    
       
    
    
        XML Files are not identical.
    
    ${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}
   
   
      
   
   
      
        
        
        
      

      
      
      
      
      
      
    
  

  
  
  
  
     dir="${basedir}/bin"
   showoutput="true"
   printsummary="withOutAndErr">