aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/etc/performance/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/etc/performance/build.xml')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/performance/build.xml124
1 files changed, 124 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/performance/build.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/performance/build.xml
new file mode 100644
index 00000000..c3e3ed9e
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/performance/build.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<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 ANT_HOME=${@{env-ant}}
+ 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("&lt;project name='props' default='props'&gt;");
+ out.println(" &lt;target name='props'&gt;");
+ for (int i = 0; i &lt; 20000; ++i) {
+ out.println(
+ " &lt;property name='prop" + i + "' value='val'/&gt;");
+ }
+ out.println(" &lt;/target&gt;");
+ out.println("&lt;/project&gt;");
+ 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("&lt;project name='ant-call' default='call'&gt;");
+ out.println(" &lt;target name='me'/&gt;");
+ out.println(" &lt;target name='call'&gt;");
+ for (int i = 0; i &lt; 1000; ++i) {
+ out.println(" &lt;antcall target='me'/&gt;");
+ }
+ out.println(" &lt;/target&gt;");
+ out.println("&lt;/project&gt;");
+ out.close();
+ self.log("Created build/gen/ant-call.xml");
+ </script>
+ </target>
+
+ <target name="gen" depends="gen-ant-call,gen-props"/>
+</project>