Author: peterreilly Date: Wed Sep 20 15:29:23 2006 New Revision: 448373 URL: http://svn.apache.org/viewvc?view=rev&rev=448373 Log: This build file is designed to report the performance of ant from various releases. to use: * install ant-contrib.jar to ($ANT_HOME|$HOME/.ant)/lib * install beanshell jar and bsf jar * use unix (with bash) or install cygwin * set the env variables {whichever needs testing} ANT_HOME ANT_HOME_6_5 (the directory containing ant 1.6.5) ANT_HOME_6_4 ANT_HOME_5_4 * run ant For example: export ANT_HOME="c:/cygwin/home/me/svn/trunk/dist" export ANT_HOME_5_4="l:/apps/apache-ant-1.5.4" ant.bat
TODO: more build files. Added: ant/core/trunk/src/etc/performance/ ant/core/trunk/src/etc/performance/build.xml (with props) Added: ant/core/trunk/src/etc/performance/build.xml URL: http://svn.apache.org/viewvc/ant/core/trunk/src/etc/performance/build.xml?view=auto&rev=448373 ============================================================================== --- ant/core/trunk/src/etc/performance/build.xml (added) +++ ant/core/trunk/src/etc/performance/build.xml Wed Sep 20 15:29:23 2006 @@ -0,0 +1,107 @@ +<project default="all" xmlns:ac="antlib:net.sf.antcontrib"> + <description> + This build file is designed to report the performance + of ant from various releases. + to use: + * install ant-contrib.jar to ($ANT_HOME|$HOME/.ant)/lib + * install beanshell jar and bsf jar + * use unix (with bash) or install cygwin + * set the env variables {whichever needs testing} + ANT_HOME + ANT_HOME_6_5 (the directory containing ant 1.6.5) + ANT_HOME_6_4 + ANT_HOME_5_4 + + * run ant + For example: + export ANT_HOME="c:/cygwin/home/me/svn/trunk/dist" + export ANT_HOME_5_4="l:/apps/apache-ant-1.5.4" + ant.bat + + TODO: more build files. + </description> + <property environment="env"/> + + <target name="all" depends="gen,do-times"/> + + <target name="clean"> + <delete quiet="yes" dir="build"/> + </target> + + <macrodef name="run-ant-files"> + <attribute name="env-ant"/> + <sequential> + <ac:if> + <isset property="@{env-ant}"/> + <then> + <ac:shellscript shell="bash"> + export [EMAIL PROTECTED] + echo $ANT_HOME + echo -n "-- props.xml --: " + $ANT_HOME/bin/ant -f build/gen/props.xml | grep time + echo -n "-- ant-call.xml --: " + $ANT_HOME/bin/ant -f build/gen/ant-call.xml | grep time + </ac:shellscript> + </then> + </ac:if> + </sequential> + </macrodef> + + <target name="do-times"> + <run-ant-files env-ant="env.ANT_HOME"/> + <run-ant-files env-ant="env.ANT_HOME_6_5"/> + <run-ant-files env-ant="env.ANT_HOME_6_2"/> + <run-ant-files env-ant="env.ANT_HOME_5_4"/> + </target> + + + <target name="gen-dirs"> + <mkdir dir="build/gen"/> + </target> + + <target name="avail"> + <available property="avail.props.xml" + file="props.xml" filepath="build/gen"/> + <available property="avail.ant-call.xml" + file="ant-call.xml" filepath="build/gen"/> + </target> + + <target name="gen-props" depends="gen-dirs,avail" unless="avail.props.xml"> + <script language="beanshell"> + import java.io.*; + out = new PrintWriter(new BufferedWriter(new FileWriter( + "build/gen/props.xml"))); + out.println("<project name='props' default='props'>"); + out.println(" <target name='props'>"); + for (int i = 0; i < 20000; ++i) { + out.println( + " <property name='prop" + i + "' value='val'/>"); + } + out.println(" </target>"); + out.println("</project>"); + out.close(); + self.log("Created build/gen/props.xml"); + </script> + </target> + + <target name="gen-ant-call" depends="gen-dirs,avail" + unless="avail.ant-call.xml"> + <script language="beanshell"> + import java.io.*; + out = new PrintWriter(new BufferedWriter(new FileWriter( + "build/gen/ant-call.xml"))); + out.println("<project name='ant-call' default='call'>"); + out.println(" <target name='me'/>"); + out.println(" <target name='call'>"); + for (int i = 0; i < 1000; ++i) { + out.println(" <antcall target='me'/>"); + } + out.println(" </target>"); + out.println("</project>"); + out.close(); + self.log("Created build/gen/ant-call.xml"); + </script> + </target> + + <target name="gen" depends="gen-ant-call,gen-props"/> +</project> Propchange: ant/core/trunk/src/etc/performance/build.xml ------------------------------------------------------------------------------ svn:eol-stype = native --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]