diff options
Diffstat (limited to 'build.xml')
-rw-r--r-- | build.xml | 659 |
1 files changed, 516 insertions, 143 deletions
@@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project name="sabbus" default="build"> - <description> SuperSabbus for Scala core, builds the scala library and compiler. It can also package it as a simple distribution, tests it for stable bootstrapping and against the Scala test suite. </description> @@ -125,10 +124,15 @@ END-USER TARGETS </target> <target name="newlibs" - description="Requires compiler libraries (MSIL and FJBG) to be rebuilt. Add this target before any other if class file format is incompatible."> + description="Requires libraries (MSIL, FJBG) to be rebuilt. Add this target before any other if class file format is incompatible."> <property name="libs.outdated" value="yes"/> </target> + <target name="newforkjoin" + description="Requires forkjoin library to be rebuilt. Add this target before any other if class file format is incompatible."> + <property name="forkjoin.outdated" value="yes"/> + </target> + <!-- =========================================================================== PROPERTIES ============================================================================ --> @@ -142,7 +146,11 @@ PROPERTIES <property name="lib.dir" value="${basedir}/lib"/> <property name="lib-ant.dir" value="${lib.dir}/ant"/> <property name="src.dir" value="${basedir}/src"/> - <property name="test.dir" value="${basedir}/test"/> + <property name="partest.dir" value="${basedir}/test"/> + + <!-- For developers: any jars placed in this dir will be added to the classpath + of all targets and copied into quick/pack/etc builds. --> + <property name="lib-extra.dir" value="${lib.dir}/extra"/> <!-- Loads custom properties definitions --> <property file="${basedir}/build.properties"/> @@ -156,6 +164,7 @@ PROPERTIES <property name="comp.starr.jar" value="${lib.dir}/scala-compiler.jar"/> <property name="jline.jar" value="${lib.dir}/jline.jar"/> <property name="ant.jar" value="${ant.home}/lib/ant.jar"/> + <property name="scalacheck.jar" value="${lib.dir}/scalacheck.jar"/> <!-- Sets location of build folders --> <property name="build.dir" value="${basedir}/build"/> @@ -169,24 +178,21 @@ PROPERTIES <property name="dists.dir" value="${basedir}/dists"/> - <property name="copyright.string" value="Copyright 2002-2009, LAMP/EPFL"/> + <property name="copyright.string" value="Copyright 2002-2011, LAMP/EPFL"/> <property name="partest.version.number" value="0.9.2"/> <!-- These are NOT the flags used to run SuperSabbus, but the ones written into the script runners created with scala.tools.ant.ScalaTool --> <property name="java.flags" value="-Xmx256M -Xms32M"/> + <property name="jvm.opts" value=""/> <!-- if ANT_OPTS is already set by the environment, it will be unaltered, but if it is unset it will take this default value. --> - <property name="env.ANT_OPTS" value="-Xms512M -Xmx1024M -Xss1M -XX:MaxPermSize=128M" /> - <!-- to find max heap usage: -Xaprof ; currently at 980M for locker.comp --> + <property name="env.ANT_OPTS" value="-Xms1536M -Xmx1536M -Xss1M -XX:MaxPermSize=192M -XX:+UseParallelGC" /> <property name="scalacfork.jvmargs" - value="${env.ANT_OPTS}"/> - - <property name="javac.cmd" value="${env.JAVA_HOME}/bin/javac"/> - <property name="java.cmd" value="${env.JAVA_HOME}/bin/java"/> + value="${env.ANT_OPTS} ${jvm.opts}"/> <!-- =========================================================================== INITIALISATION @@ -209,19 +215,19 @@ INITIALISATION This is to facilitate testing new command line options which do not yet exist in starr. --> <property name="scalac.args.quickonly" value=""/> <property name="scalac.args.all" value="${scalac.args} ${scalac.args.optimise}"/> - <property name="scalac.args.quick" value="${scalac.args.all} ${scalac.args.quickonly}"/> - <!-- Setting-up Ant contrib tasks --> + <property name="scalac.args.quick" value="${scalac.args.all} ${scalac.args.quickonly}"/> + <!-- Setting-up Ant contrib tasks --> <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${lib.dir}/ant/ant-contrib.jar"/> - <!-- This is the start time for the distribution --> + <!-- This is the start time for the distribution --> <tstamp prefix="time"> <format property="human" pattern="d MMMM yyyy, HH:mm:ss"/> <format property="short" pattern="yyyyMMddHHmmss"/> </tstamp> - <!-- Find out whether we are running on Windows --> + <!-- Find out whether we are running on Windows --> <condition property="os.win"> <os family="windows"/> </condition> - + <exec osfamily="unix" executable="tools/get-scala-revision" outputproperty="git.describe" failifexecutionfails="false" /> <exec osfamily="windows" executable="tools/get-scala-revision.bat" outputproperty="git.describe" failifexecutionfails="false" /> <!-- some default in case something went wrong getting the revision --> @@ -241,16 +247,47 @@ INITIALISATION <echo message=" javac args: ${javac.args}" /> <echo message=" scalac args: ${scalac.args}" /> <echo message=" build number: ${version.number}" /> + + <!-- Local libs (developer use.) --> + <mkdir dir="${lib-extra.dir}"/> + + <path id="lib.extra"> + <!-- needs ant 1.7.1 --> + <!-- <fileset dir="${lib-extra.dir}" erroronmissingdir="false"> --> + <fileset dir="${lib-extra.dir}"> + <include name="**/*.jar"/> + </fileset> + </path> - <!-- Define tasks that can be run with Starr --> + <!-- Auxiliary libs placed on every classpath. --> + <path id="aux.libs"> + <fileset dir="${lib.dir}"> + <include name="fjbg.jar"/> + <include name="msil.jar"/> + <include name="forkjoin.jar"/> + </fileset> + <pathelement location="${ant.jar}"/> + <path refid="lib.extra"/> + </path> + + <!-- Define tasks that can be run with Starr --> <path id="starr.classpath"> <pathelement location="${lib.starr.jar}"/> <pathelement location="${comp.starr.jar}"/> - <pathelement location="${lib.dir}/fjbg.jar"/> - <pathelement location="${lib.dir}/msil.jar"/> - <pathelement location="${ant.jar}"/> + <path refid="aux.libs"/> </path> - <taskdef resource="scala/tools/ant/sabbus/antlib.xml" classpathref="starr.classpath"/> + <!-- What to have on the compilation path when compiling during certain phases --> + <path id="quick.compilation.path"> + <pathelement location="${build-quick.dir}/classes/library"/> + <pathelement location="${lib.dir}/forkjoin.jar"/> + <path refid="lib.extra"/> + </path> + <path id="strap.compilation.path"> + <pathelement location="${build-strap.dir}/classes/library"/> + <pathelement location="${lib.dir}/forkjoin.jar"/> + <path refid="lib.extra"/> + </path> + <taskdef resource="scala/tools/ant/sabbus/antlib.xml" classpathref="starr.classpath"/> </target> <!-- =========================================================================== @@ -262,7 +299,7 @@ LOCAL REFERENCE BUILD (LOCKER) <available file="${build-locker.dir}/all.complete"/> </condition> </target> - + <target name="locker.pre-lib" depends="locker.start" unless="locker.available"> <condition property="locker.lib.needed"> <not><available file="${build-locker.dir}/library.complete"/></not> @@ -293,6 +330,7 @@ LOCAL REFERENCE BUILD (LOCKER) <include name="**/*.scala"/> <compilationpath> <pathelement location="${build-locker.dir}/classes/library"/> + <pathelement location="${lib.dir}/forkjoin.jar"/> </compilationpath> </scalacfork> <propertyfile file="${build-locker.dir}/classes/library/library.properties"> @@ -330,10 +368,8 @@ LOCAL REFERENCE BUILD (LOCKER) <compilationpath> <pathelement location="${build-locker.dir}/classes/library"/> <pathelement location="${build-locker.dir}/classes/compiler"/> - <pathelement location="${lib.dir}/fjbg.jar"/> - <pathelement location="${lib.dir}/msil.jar"/> + <path refid="aux.libs"/> <pathelement location="${jline.jar}"/> - <pathelement location="${ant.jar}"/> </compilationpath> </scalacfork> <propertyfile file="${build-locker.dir}/classes/compiler/compiler.properties"> @@ -345,21 +381,29 @@ LOCAL REFERENCE BUILD (LOCKER) <include name="**/*.tmpl"/> <include name="**/*.xml"/> <include name="**/*.js"/> + <include name="**/*.html"/> <include name="**/*.css"/> + <include name="**/*.properties"/> + <include name="**/*.swf"/> + <include name="**/*.png"/> + <include name="**/*.gif"/> </fileset> </copy> <touch file="${build-locker.dir}/compiler.complete" verbose="no"/> <stopwatch name="locker.comp.timer" action="total"/> </target> - + <target name="locker.done" depends="locker.comp"> <touch file="${build-locker.dir}/all.complete" verbose="no"/> <path id="locker.classpath"> <pathelement location="${build-locker.dir}/classes/library"/> <pathelement location="${build-locker.dir}/classes/compiler"/> - <pathelement location="${lib.dir}/fjbg.jar"/> - <pathelement location="${lib.dir}/msil.jar"/> - <pathelement location="${ant.jar}"/> + <path refid="aux.libs"/> + </path> + <path id="quick.classpath"> + <pathelement location="${build-quick.dir}/classes/library"/> + <pathelement location="${build-quick.dir}/classes/compiler"/> + <path refid="aux.libs"/> </path> </target> @@ -420,13 +464,14 @@ QUICK BUILD (QUICK) ============================================================================ --> <target name="quick.start" depends="locker.done"/> - + <target name="quick.pre-lib" depends="quick.start"> <uptodate property="quick.lib.available" targetfile="${build-quick.dir}/library.complete"> <srcfiles dir="${src.dir}"> <include name="library/**"/> <include name="dbc/**"/> <include name="actors/**"/> + <include name="continuations/**"/> <include name="swing/**"/> </srcfiles> </uptodate> @@ -459,9 +504,7 @@ QUICK BUILD (QUICK) srcdir="${src.dir}/library" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-quick.dir}/classes/library"/> - </compilationpath> + <compilationpath refid="quick.compilation.path"/> </scalacfork> <scalacfork destdir="${build-quick.dir}/classes/library" @@ -470,9 +513,7 @@ QUICK BUILD (QUICK) srcdir="${src.dir}/actors" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-quick.dir}/classes/library"/> - </compilationpath> + <compilationpath refid="quick.compilation.path"/> </scalacfork> <scalacfork destdir="${build-quick.dir}/classes/library" @@ -481,9 +522,7 @@ QUICK BUILD (QUICK) srcdir="${src.dir}/dbc" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-quick.dir}/classes/library"/> - </compilationpath> + <compilationpath refid="quick.compilation.path"/> </scalacfork> <scalacfork destdir="${build-quick.dir}/classes/library" @@ -492,9 +531,7 @@ QUICK BUILD (QUICK) srcdir="${src.dir}/swing" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-quick.dir}/classes/library"/> - </compilationpath> + <compilationpath refid="quick.compilation.path"/> </scalacfork> <propertyfile file="${build-quick.dir}/classes/library/library.properties"> <entry key="version.number" value="${version.number}"/> @@ -513,18 +550,26 @@ QUICK BUILD (QUICK) </target> <target name="quick.newlibs" depends="quick.lib" if="libs.outdated"> - <antcall target="libs.done"> - <param name="fjbg.jar" value="${build-libs.dir}/fjbg.jar"/> - <param name="msil.jar" value="${build-libs.dir}/msil.jar"/> - </antcall> + <antcall target="libs.done" inheritRefs="true"/> + <property name="fjbg.jar" value="${build-libs.dir}/fjbg.jar"/> + <property name="msil.jar" value="${build-libs.dir}/msil.jar"/> </target> <target name="quick.libs" depends="quick.newlibs" unless="libs.outdated"> <property name="fjbg.jar" value="${lib.dir}/fjbg.jar"/> <property name="msil.jar" value="${lib.dir}/msil.jar"/> </target> - - <target name="quick.pre-comp" depends="quick.libs"> + + <target name="quick.newforkjoin" depends="quick.libs" if="forkjoin.outdated"> + <antcall target="forkjoin.done" inheritRefs="true"/> + <property name="forkjoin.jar" value="${build-libs.dir}/forkjoin.jar"/> + </target> + + <target name="quick.forkjoin" depends="quick.newforkjoin" unless="forkjoin.outdated"> + <property name="forkjoin.jar" value="${lib.dir}/forkjoin.jar"/> + </target> + + <target name="quick.pre-comp" depends="quick.forkjoin"> <uptodate property="quick.comp.available" targetfile="${build-quick.dir}/compiler.complete"> <srcfiles dir="${src.dir}/compiler"/> </uptodate> @@ -543,10 +588,8 @@ QUICK BUILD (QUICK) <compilationpath> <pathelement location="${build-quick.dir}/classes/library"/> <pathelement location="${build-quick.dir}/classes/compiler"/> - <pathelement location="${fjbg.jar}"/> - <pathelement location="${msil.jar}"/> + <path refid="aux.libs"/> <pathelement location="${jline.jar}"/> - <pathelement location="${ant.jar}"/> </compilationpath> </scalacfork> <propertyfile file="${build-quick.dir}/classes/compiler/compiler.properties"> @@ -559,13 +602,82 @@ QUICK BUILD (QUICK) <include name="**/*.xml"/> <include name="**/*.js"/> <include name="**/*.css"/> + <include name="**/*.html"/> + <include name="**/*.properties"/> + <include name="**/*.swf"/> + <include name="**/*.png"/> + <include name="**/*.gif"/> + <include name="**/*.txt"/> </fileset> </copy> <touch file="${build-quick.dir}/compiler.complete" verbose="no"/> <stopwatch name="quick.comp.timer" action="total"/> </target> - <target name="quick.pre-scalap" depends="quick.comp"> + <target name="quick.pre-plugins" depends="quick.comp"> + <uptodate property="quick.plugins.available" targetfile="${build-quick.dir}/plugins.complete"> + <srcfiles dir="${src.dir}/continuations"/> + </uptodate> + </target> + + <target name="quick.plugins" depends="quick.pre-plugins" unless="quick.plugins.available"> + <stopwatch name="quick.plugins.timer"/> + <mkdir dir="${build-quick.dir}/classes/continuations-plugin"/> + <scalacfork + destdir="${build-quick.dir}/classes/continuations-plugin" + compilerpathref="quick.classpath" + params="${scalac.args.quick}" + srcdir="${src.dir}/continuations/plugin" + jvmargs="${scalacfork.jvmargs}"> + <include name="**/*.scala"/> + <compilationpath> + <pathelement location="${build-quick.dir}/classes/library"/> + <pathelement location="${build-quick.dir}/classes/compiler"/> + <pathelement location="${build-quick.dir}/classes/continuations-plugin"/> + <path refid="aux.libs"/> + </compilationpath> + </scalacfork> + <copy + file="${src.dir}/continuations/plugin/scalac-plugin.xml" + todir="${build-quick.dir}/classes/continuations-plugin"/> + <!-- not very nice to create jar here but needed to load plugin --> + <mkdir dir="${build-quick.dir}/misc/scala-devel/plugins"/> + <jar destfile="${build-quick.dir}/misc/scala-devel/plugins/continuations.jar"> + <fileset dir="${build-quick.dir}/classes/continuations-plugin"/> + </jar> + <!-- might split off library part into its own ant target --> + <scalacfork + destdir="${build-quick.dir}/classes/library" + compilerpathref="quick.classpath" + params="${scalac.args.quick} -Xplugin-require:continuations" + srcdir="${src.dir}/continuations/library" + jvmargs="${scalacfork.jvmargs}"> + <include name="**/*.scala"/> + <compilationpath refid="quick.compilation.path"/> + <compilerarg value="-Xpluginsdir"/> + <compilerarg file="${build-quick.dir}/misc/scala-devel/plugins"/> + </scalacfork> + <touch file="${build-quick.dir}/plugins.complete" verbose="no"/> + <stopwatch name="quick.plugins.timer" action="total"/> + </target> + + <target name="quick.scalacheck" depends="quick.plugins"> + <mkdir dir="${build-quick.dir}/classes/scalacheck"/> + <scalacfork + destdir="${build-quick.dir}/classes/scalacheck" + compilerpathref="quick.classpath" + params="${scalac.args.all}" + srcdir="${src.dir}/scalacheck" + jvmargs="${scalacfork.jvmargs}"> + <include name="**/*.scala"/> + <compilationpath> + <pathelement location="${build-quick.dir}/classes/library"/> + <pathelement location="${build-quick.dir}/classes/scalacheck"/> + </compilationpath> + </scalacfork> + </target> + + <target name="quick.pre-scalap" depends="quick.scalacheck"> <uptodate property="quick.scalap.available" targetfile="${build-quick.dir}/scalap.complete"> <srcfiles dir="${src.dir}/scalap"/> </uptodate> @@ -576,7 +688,7 @@ QUICK BUILD (QUICK) <mkdir dir="${build-quick.dir}/classes/scalap"/> <scalacfork destdir="${build-quick.dir}/classes/scalap" - compilerpathref="locker.classpath" + compilerpathref="quick.classpath" params="${scalac.args.quick}" srcdir="${src.dir}/scalap" jvmargs="${scalacfork.jvmargs}"> @@ -584,9 +696,10 @@ QUICK BUILD (QUICK) <compilationpath> <pathelement location="${build-quick.dir}/classes/library"/> <pathelement location="${build-quick.dir}/classes/compiler"/> - <pathelement location="${build-quick.dir}/classes/partest"/> <pathelement location="${build-quick.dir}/classes/scalap"/> + <pathelement location="${build-quick.dir}/classes/partest"/> <pathelement location="${ant.jar}"/> + <pathelement location="${lib.dir}/forkjoin.jar"/> </compilationpath> </scalacfork> <touch file="${build-quick.dir}/scalap.complete" verbose="no"/> @@ -617,7 +730,7 @@ QUICK BUILD (QUICK) </javac> <scalacfork destdir="${build-quick.dir}/classes/partest" - compilerpathref="locker.classpath" + compilerpathref="quick.classpath" params="${scalac.args.quick}" srcdir="${src.dir}/partest" jvmargs="${scalacfork.jvmargs}"> @@ -628,6 +741,8 @@ QUICK BUILD (QUICK) <pathelement location="${build-quick.dir}/classes/scalap"/> <pathelement location="${build-quick.dir}/classes/partest"/> <pathelement location="${ant.jar}"/> + <pathelement location="${lib.dir}/forkjoin.jar"/> + <pathelement location="${scalacheck.jar}"/> </compilationpath> </scalacfork> <propertyfile file="${build-quick.dir}/classes/partest/partest.properties"> @@ -654,8 +769,7 @@ QUICK BUILD (QUICK) <pathelement location="${build-quick.dir}/classes/library"/> <pathelement location="${build-quick.dir}/classes/compiler"/> <pathelement location="${build-quick.dir}/classes/scalap"/> - <pathelement location="${fjbg.jar}"/> - <pathelement location="${msil.jar}"/> + <path refid="aux.libs"/> <pathelement location="${jline.jar}"/> </path> <taskdef name="quick-bin" classname="scala.tools.ant.ScalaTool" classpathref="quick.bin.classpath"/> @@ -692,14 +806,12 @@ QUICK BUILD (QUICK) <chmod perm="ugo+rx" file="${build-quick.dir}/bin/scalap"/> <touch file="${build-quick.dir}/bin.complete" verbose="no"/> </target> - + <target name="quick.done" depends="quick.bin"> <path id="quick.classpath"> <pathelement location="${build-quick.dir}/classes/library"/> <pathelement location="${build-quick.dir}/classes/compiler"/> - <pathelement location="${fjbg.jar}"/> - <pathelement location="${msil.jar}"/> - <pathelement location="${ant.jar}"/> + <path refid="aux.libs"/> </path> </target> @@ -727,6 +839,7 @@ PACKED QUICK BUILD (PACK) <exclude name="scala/dbc/**"/> <exclude name="scala/swing/**"/> </fileset> + <zipfileset dirmode="755" filemode="644" src="${forkjoin.jar}"/> </jar> <jar destfile="${build-pack.dir}/lib/scala-dbc.jar"> <fileset dir="${build-quick.dir}/classes/library"> @@ -742,7 +855,7 @@ PACKED QUICK BUILD (PACK) </fileset> </jar> </target> - + <target name="pack.pre-comp" depends="pack.lib"> <uptodate property="pack.comp.available" @@ -764,9 +877,34 @@ PACKED QUICK BUILD (PACK) <zipfileset dirmode="755" filemode="644" src="${msil.jar}"/> </jar> <copy file="${jline.jar}" toDir="${build-pack.dir}/lib"/> + <copy todir="${build-pack.dir}/lib"> + <fileset dir="${lib-extra.dir}"> + <include name="**/*.jar"/> + </fileset> + </copy> + </target> + + <target name="pack.pre-plugins" depends="pack.comp"> + <uptodate + property="pack.plugins.available" + targetfile="${build-pack.dir}/misc/scala-devel/plugins/continuations.jar" + srcfile="${build-quick.dir}/plugins.complete"/> + </target> + + <target name="pack.plugins" depends="pack.pre-plugins" unless="pack.plugins.available"> + <mkdir dir="${build-pack.dir}/misc/scala-devel/plugins"/> + <jar destfile="${build-pack.dir}/misc/scala-devel/plugins/continuations.jar"> + <fileset dir="${build-quick.dir}/classes/continuations-plugin"/> + </jar> </target> - <target name="pack.pre-partest" depends="pack.comp"> + <target name="pack.scalacheck" depends="pack.plugins"> + <jar destfile="${build-pack.dir}/lib/scalacheck.jar"> + <fileset dir="${build-quick.dir}/classes/scalacheck"/> + </jar> + </target> + + <target name="pack.pre-partest" depends="pack.scalacheck"> <uptodate property="pack.partest.available" targetfile="${build-pack.dir}/lib/scala-partest.jar" @@ -847,6 +985,7 @@ PACKED QUICK BUILD (PACK) <pathelement location="${build-pack.dir}/lib/scalap.jar"/> <pathelement location="${ant.jar}"/> <pathelement location="${jline.jar}"/> + <path refid="lib.extra"/> </path> <taskdef resource="scala/tools/ant/antlib.xml" classpathref="pack.classpath"/> <taskdef resource="scala/tools/partest/antlib.xml" classpathref="pack.classpath"/> @@ -900,9 +1039,7 @@ BOOTSTRAPPING BUILD (STRAP) srcdir="${src.dir}/library" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-strap.dir}/classes/library"/> - </compilationpath> + <compilationpath refid="strap.compilation.path"/> </scalacfork> <scalacfork destdir="${build-strap.dir}/classes/library" @@ -911,9 +1048,7 @@ BOOTSTRAPPING BUILD (STRAP) srcdir="${src.dir}/actors" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-strap.dir}/classes/library"/> - </compilationpath> + <compilationpath refid="strap.compilation.path"/> </scalacfork> <scalacfork destdir="${build-strap.dir}/classes/library" @@ -922,9 +1057,7 @@ BOOTSTRAPPING BUILD (STRAP) srcdir="${src.dir}/dbc" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-strap.dir}/classes/library"/> - </compilationpath> + <compilationpath refid="strap.compilation.path"/> </scalacfork> <scalacfork destdir="${build-strap.dir}/classes/library" @@ -933,9 +1066,7 @@ BOOTSTRAPPING BUILD (STRAP) srcdir="${src.dir}/swing" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-strap.dir}/classes/library"/> - </compilationpath> + <compilationpath refid="strap.compilation.path"/> </scalacfork> <propertyfile file="${build-strap.dir}/classes/library/library.properties"> <entry key="version.number" value="${version.number}"/> @@ -972,10 +1103,8 @@ BOOTSTRAPPING BUILD (STRAP) <compilationpath> <pathelement location="${build-strap.dir}/classes/library"/> <pathelement location="${build-strap.dir}/classes/compiler"/> - <pathelement location="${fjbg.jar}"/> - <pathelement location="${msil.jar}"/> + <path refid="aux.libs"/> <pathelement location="${jline.jar}"/> - <pathelement location="${ant.jar}"/> </compilationpath> </scalacfork> <propertyfile file="${build-strap.dir}/classes/compiler/compiler.properties"> @@ -988,13 +1117,81 @@ BOOTSTRAPPING BUILD (STRAP) <include name="**/*.xml"/> <include name="**/*.js"/> <include name="**/*.css"/> - </fileset> + <include name="**/*.html"/> + <include name="**/*.properties"/> + <include name="**/*.swf"/> + <include name="**/*.png"/> + <include name="**/*.gif"/> + <include name="**/*.txt"/> + </fileset> </copy> <touch file="${build-strap.dir}/compiler.complete" verbose="no"/> <stopwatch name="strap.comp.timer" action="total"/> </target> + + <target name="strap.pre-plugins" depends="strap.comp"> + <uptodate property="strap.plugins.available" targetfile="${build-strap.dir}/plugins.complete"> + <srcfiles dir="${src.dir}/continuations"/> + </uptodate> + </target> + + <target name="strap.plugins" depends="strap.pre-plugins" unless="strap.plugins.available"> + <stopwatch name="strap.plugins.timer"/> + <mkdir dir="${build-strap.dir}/classes/continuations-plugin"/> + <scalacfork + destdir="${build-strap.dir}/classes/continuations-plugin" + compilerpathref="pack.classpath" + params="${scalac.args.all}" + srcdir="${src.dir}/continuations/plugin" + jvmargs="${scalacfork.jvmargs}"> + <include name="**/*.scala"/> + <compilationpath> + <pathelement location="${build-strap.dir}/classes/library"/> + <pathelement location="${build-strap.dir}/classes/compiler"/> + <pathelement location="${build-strap.dir}/classes/continuations-plugin"/> + <path refid="aux.libs"/> + </compilationpath> + </scalacfork> + <copy + file="${src.dir}/continuations/plugin/scalac-plugin.xml" + todir="${build-strap.dir}/classes/continuations-plugin"/> + <!-- not very nice to create jar here but needed to load plugin --> + <mkdir dir="${build-strap.dir}/misc/scala-devel/plugins"/> + <jar destfile="${build-strap.dir}/misc/scala-devel/plugins/continuations.jar"> + <fileset dir="${build-strap.dir}/classes/continuations-plugin"/> + </jar> + <!-- might split off library part into its own ant target --> + <scalacfork + destdir="${build-strap.dir}/classes/library" + compilerpathref="pack.classpath" + params="${scalac.args.all} -Xplugin-require:continuations" + srcdir="${src.dir}/continuations/library" + jvmargs="${scalacfork.jvmargs}"> + <include name="**/*.scala"/> + <compilationpath refid="strap.compilation.path"/> + <compilerarg value="-Xpluginsdir"/> + <compilerarg file="${build-strap.dir}/misc/scala-devel/plugins"/> + </scalacfork> + <touch file="${build-strap.dir}/plugins.complete" verbose="no"/> + <stopwatch name="strap.plugins.timer" action="total"/> + </target> - <target name="strap.pre-scalap" depends="strap.comp"> + <target name="strap.scalacheck" depends="strap.plugins"> + <mkdir dir="${build-strap.dir}/classes/scalacheck"/> + <scalacfork + destdir="${build-strap.dir}/classes/scalacheck" + compilerpathref="pack.classpath" + params="${scalac.args.all}" + srcdir="${src.dir}/scalacheck" + jvmargs="${scalacfork.jvmargs}"> + <include name="**/*.scala"/> + <compilationpath> + <pathelement location="${build-strap.dir}/classes/library"/> + </compilationpath> + </scalacfork> + </target> + + <target name="strap.pre-scalap" depends="strap.scalacheck"> <uptodate property="strap.scalap.available" targetfile="${build-strap.dir}/scalap.complete"> <srcfiles dir="${src.dir}/scalap"/> </uptodate> @@ -1013,9 +1210,10 @@ BOOTSTRAPPING BUILD (STRAP) <compilationpath> <pathelement location="${build-strap.dir}/classes/library"/> <pathelement location="${build-strap.dir}/classes/compiler"/> - <pathelement location="${build-strap.dir}/classes/partest"/> <pathelement location="${build-strap.dir}/classes/scalap"/> + <pathelement location="${build-strap.dir}/classes/partest"/> <pathelement location="${ant.jar}"/> + <pathelement location="${lib.dir}/forkjoin.jar"/> </compilationpath> </scalacfork> <touch file="${build-strap.dir}/scalap.complete" verbose="no"/> @@ -1057,6 +1255,8 @@ BOOTSTRAPPING BUILD (STRAP) <pathelement location="${build-strap.dir}/classes/scalap"/> <pathelement location="${build-strap.dir}/classes/partest"/> <pathelement location="${ant.jar}"/> + <pathelement location="${lib.dir}/forkjoin.jar"/> + <pathelement location="${scalacheck.jar}"/> </compilationpath> </scalacfork> <copy todir="${build-strap.dir}/classes/partest"> @@ -1080,6 +1280,48 @@ LIBRARIES (MSIL, FJBG maybe later) <target name="libs.start"/> + <target name="libs.pre-forkjoin" depends="libs.start"> + <property name="java6.home" value="/home/linuxsoft/apps/java-1.6"/> + <fail message="Compiling forkjoin.jar requires java 1.6. Please set the property `java6.home` in build.properties or using `-Djava6.home=/path/to/java6`"> + <condition><not> + <available file="${java6.home}/bin/javac"/> + </not></condition> + </fail> + + <uptodate property="libs.forkjoin.available" targetfile="${build-libs.dir}/forkjoin.complete"> + <srcfiles dir="${src.dir}/forkjoin"> + <include name="**/*.java"/> + <include name="**/*.scala"/> + </srcfiles> + </uptodate> + </target> + + <target name="libs.forkjoin" depends="libs.pre-forkjoin" unless="libs.forkjoin.available"> + <mkdir dir="${build-libs.dir}/classes/forkjoin"/> + <javac + executable="${java6.home}/bin/javac" + fork="yes" + compiler="javac1.6" + srcdir="${src.dir}/forkjoin" + destdir="${build-libs.dir}/classes/forkjoin" + classpath="${build-libs.dir}/classes/forkjoin" + includes="**/*.java" + debug="true" + target="1.5" source="1.5"> + <compilerarg line="${javac.args}"/> + </javac> + <touch file="${build-libs.dir}/forkjoin.complete" verbose="no"/> + </target> + + <target name="libs.pre-forkjoinpack" depends="libs.forkjoin"> + </target> + + <target name="libs.forkjoinpack" depends="libs.pre-forkjoinpack" unless="libs.forkjoinpack.available"> + <jar destfile="${build-libs.dir}/forkjoin.jar"> + <fileset dir="${build-libs.dir}/classes/forkjoin"/> + </jar> + </target> + <target name="libs.pre-msil" depends="libs.start"> <uptodate property="libs.msil.available" targetfile="${build-libs.dir}/msil.complete"> <srcfiles dir="${src.dir}/msil"> @@ -1097,6 +1339,7 @@ LIBRARIES (MSIL, FJBG maybe later) classpath="${build-libs.dir}/classes/msil" includes="**/*.java" excludes="**/tests/**" + debug="true" target="1.5" source="1.4"> <compilerarg line="${javac.args}"/> </javac> @@ -1140,23 +1383,10 @@ LIBRARIES (MSIL, FJBG maybe later) destdir="${build-libs.dir}/classes/fjbg" classpath="${build-libs.dir}/classes/fjbg" includes="**/*.java" + debug="true" target="1.5" source="1.4"> <compilerarg line="${javac.args}"/> </javac> - <!-- For now, JFBG is written in pure Java - <scalacfork - destdir="${build-libs.dir}/classes/fjbg" - compilerpathref="locker.classpath" - params="${scalac.args.all}" - srcdir="${src.dir}/fjbg" - jvmargs="${scalacfork.jvmargs}"> - <include name="**/*.scala"/> - <compilationpath> - <pathelement location="${build-quick.dir}/classes/library"/> - <pathelement location="${build-libs.dir}/classes/fjbg"/> - </compilationpath> - </scalacfork> - --> <touch file="${build-libs.dir}/fjbg.complete" verbose="no"/> </target> @@ -1168,9 +1398,11 @@ LIBRARIES (MSIL, FJBG maybe later) <fileset dir="${build-libs.dir}/classes/fjbg"/> </jar> </target> - + <target name="libs.done" depends="libs.msilpack, libs.fjbgpack"/> + <target name="forkjoin.done" depends="libs.forkjoinpack"/> + <target name="libs.clean" depends="pack.clean"> <delete dir="${build-libs.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/> </target> @@ -1197,27 +1429,30 @@ DOCUMENTATION <mkdir dir="${build-docs.dir}/library"/> <scaladoc destdir="${build-docs.dir}/library" - windowtitle="Scala Library" - doctitle="Scala ${version.number} API" - classpathref="pack.classpath"> + doctitle="Scala Standard Library" + docversion="${version.number}" + docfooter="epfl" + docsourceurl="https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/€{FILE_PATH}.scala#L1" + docUncompilable="${src.dir}/library-aux" + sourcepath="${src.dir}" + classpathref="pack.classpath" + docRootContent="${build-docs.dir}/library/lib/rootdoc.txt"> <src> <files includes="${src.dir}/actors"/> <files includes="${src.dir}/library/scala"/> <files includes="${src.dir}/swing"/> + <files includes="${src.dir}/continuations/library"/> </src> <include name="**/*.scala"/> <exclude name="reflect/Code.scala"/> - <exclude name="reflect/Manifest.scala"/> <exclude name="reflect/Print.scala"/> <exclude name="reflect/Symbol.scala"/> <exclude name="reflect/Tree.scala"/> <exclude name="reflect/Type.scala"/> - <exclude name="reflect/TypedCode.scala"/> - <exclude name="runtime/*Array.scala"/> <exclude name="runtime/*$.scala"/> <exclude name="runtime/ScalaRunTime.scala"/> - <exclude name="runtime/StreamCons.scala"/> <exclude name="runtime/StringAdd.scala"/> + <exclude name="scala/swing/test/**"/> </scaladoc> <touch file="${build-docs.dir}/library.complete" verbose="no"/> <stopwatch name="docs.lib.timer" action="total"/> @@ -1280,8 +1515,10 @@ DOCUMENTATION <mkdir dir="${build-docs.dir}/compiler"/> <scaladoc destdir="${build-docs.dir}/compiler" - windowtitle="Scala Compiler" - doctitle="Scala Compiler ${version.number} API" + doctitle="Scala Compiler" + docversion="${version.number}" + docsourceurl="https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/€{FILE_PATH}.scala#L1" + sourcepath="${src.dir}" classpathref="pack.classpath" srcdir="${src.dir}/compiler"> <include name="**/*.scala"/> @@ -1306,54 +1543,120 @@ BOOTRAPING TEST AND TEST SUITE <exclude name="**/*.properties"/> <exclude name="bin/**"/> <exclude name="*.complete"/> + <exclude name="misc/scala-devel/plugins/*.jar"/> </same> </target> + <target name="test.classload" depends="pack.done"> + <classloadVerify classpath="${build-pack.dir}/lib/scala-library.jar" /> + </target> + + <!-- this target will run only those tests found in test/debug --> + <target name="test.debug"> + <antcall target="test.suite"> + <param name="partest.srcdir" value="debug" /> + </antcall> + </target> + <target name="test.run" depends="pack.done"> + <property name="partest.srcdir" value="files" /> <partest showlog="yes" erroronfailed="yes" javacmd="${java.home}/bin/java" - timeout="1200000" javaccmd="${javac.cmd}" + timeout="1200000" + srcdir="${partest.srcdir}" scalacopts="${scalac.args.optimise}"> - <classpath> + <compilationpath> <path refid="pack.classpath"/> - <fileset dir="${test.dir}/files/lib" includes="*.jar"/> - </classpath> - <runtests dir="${test.dir}/files"> - <include name="run/**/*.scala"/> - <include name="jvm/**/*.scala"/> - </runtests> + <pathelement location="${pack.dir}/lib/scala-swing.jar"/> + <fileset dir="${partest.dir}/files/lib" includes="*.jar" /> + </compilationpath> + <runtests dir="${partest.dir}/${partest.srcdir}/run" includes="*.scala"/> + <jvmtests dir="${partest.dir}/${partest.srcdir}/jvm" includes="*.scala"/> + </partest> + </target> + + <target name="test.ant" depends="pack.done"> + <property name="partest.srcdir" value="files" /> + <partest showlog="yes" erroronfailed="yes" javacmd="${java.home}/bin/java" + srcdir="${partest.srcdir}" + scalacopts="${scalac.args.optimise}"> + <compilationpath> + <path refid="pack.classpath"/> + <pathelement location="${pack.dir}/lib/scala-swing.jar"/> + <fileset dir="${partest.dir}/files/lib" includes="*.jar" /> + </compilationpath> + <anttests dir="${partest.dir}/${partest.srcdir}/ant" includes="*build.xml"/> </partest> </target> <target name="test.suite" depends="pack.done"> + <property name="partest.srcdir" value="files" /> <partest showlog="yes" erroronfailed="yes" javacmd="${java.home}/bin/java" - timeout="2400000" javaccmd="${javac.cmd}" + timeout="2400000" + srcdir="${partest.srcdir}" scalacopts="${scalac.args.optimise}"> - <classpath> + <compilationpath> <path refid="pack.classpath"/> - <fileset dir="${test.dir}/files/lib" includes="*.jar"/> - </classpath> - <postests dir="${test.dir}/files/pos" includes="*.scala"/> - <negtests dir="${test.dir}/files/neg" includes="*.scala"/> - <runtests dir="${test.dir}/files"> - <include name="run/**/*.scala"/> - </runtests> - <jvmtests dir="${test.dir}/files/jvm" includes="*.scala"/> - <residenttests dir="${test.dir}/files/res" includes="*.res"/> - <!-- <scripttests dir="${test.dir}/files/script" includes="*.scala"/> --> - <scalaptests dir="${test.dir}/files/scalap" includes="**/*.scala"/> + <pathelement location="${pack.dir}/lib/scala-swing.jar"/> + <fileset dir="${partest.dir}/files/lib" includes="*.jar" /> + </compilationpath> + <postests dir="${partest.dir}/${partest.srcdir}/pos" includes="*.scala"/> + <negtests dir="${partest.dir}/${partest.srcdir}/neg" includes="*.scala"/> + <runtests dir="${partest.dir}/${partest.srcdir}/run" includes="*.scala"/> + <jvmtests dir="${partest.dir}/${partest.srcdir}/jvm" includes="*.scala"/> + <residenttests dir="${partest.dir}/${partest.srcdir}/res" includes="*.res"/> + <buildmanagertests dir="${partest.dir}/${partest.srcdir}/buildmanager" includes="*"/> + <scalaptests dir="${partest.dir}/${partest.srcdir}/scalap" includes="**/*.scala"/> + <scalachecktests dir="${partest.dir}/${partest.srcdir}/scalacheck"> + <include name="*.scala"/> + </scalachecktests> + <specializedtests dir="${partest.dir}/${partest.srcdir}/specialized"> + <include name="*.scala"/> + </specializedtests> + <presentationtests dir="${partest.dir}/${partest.srcdir}/presentation"> + <include name="*/*.scala"/> + </presentationtests> + <!-- <scripttests dir="${partest.dir}/${partest.srcdir}/script" includes="*.scala"/> --> + </partest> + </target> + + <target name="test.continuations.suite" depends="pack.done"> + <property name="partest.srcdir" value="files" /> + <partest showlog="yes" erroronfailed="yes" javacmd="${java.home}/bin/java" + timeout="2400000" + srcdir="${partest.srcdir}" + scalacopts="${scalac.args.optimise} -Xplugin-require:continuations"> + <compilerarg value="-Xpluginsdir"/> + <compilerarg file="${build-quick.dir}/misc/scala-devel/plugins"/> + <compilationpath> + <path refid="pack.classpath"/> + <fileset dir="${partest.dir}/files/lib" includes="*.jar" /> + </compilationpath> + <negtests dir="${partest.dir}/${partest.srcdir}/continuations-neg" includes="*.scala"/> + <runtests dir="${partest.dir}/${partest.srcdir}/continuations-run" includes="*.scala"/> + </partest> + </target> + + <target name="test.scaladoc" depends="pack.done"> + <partest erroronfailed="yes" scalacopts="${scalac.args.optimise}" showlog="yes"> + <compilationpath> + <path refid="pack.classpath"/> + <fileset dir="${partest.dir}/files/lib" includes="*.jar" /> + </compilationpath> + <scalachecktests dir="${partest.dir}/scaladoc/scala" includes="**/*.scala" /> </partest> </target> - - <target name="test.done" depends="test.suite, test.stability"/> + + <target name="test.done" depends="test.suite, test.continuations.suite, test.scaladoc, test.stability"/> <!-- =========================================================================== DISTRIBUTION ============================================================================ --> - + <target name="dist.start" depends="docs.done, pack.done"> - <property name="dist.dir" value="${dists.dir}/scala-${version.number}"/> + <property name="dist.name" value="scala-${version.number}"/> + <property name="dist.dir" value="${dists.dir}/${dist.name}"/> </target> - + <target name="dist.base" depends="dist.start"> <mkdir dir="${dist.dir}/lib"/> <copy toDir="${dist.dir}/lib"> @@ -1368,6 +1671,10 @@ DISTRIBUTION <chmod perm="ugo+rx" file="${dist.dir}/bin/scaladoc"/> <chmod perm="ugo+rx" file="${dist.dir}/bin/fsc"/> <chmod perm="ugo+rx" file="${dist.dir}/bin/scalap"/> + <mkdir dir="${dist.dir}/misc/scala-devel/plugins"/> + <copy toDir="${dist.dir}/misc/scala-devel/plugins"> + <fileset dir="${build-pack.dir}/misc/scala-devel/plugins"/> + </copy> </target> <target name="dist.doc" depends="dist.base"> @@ -1380,7 +1687,9 @@ DISTRIBUTION </copy> <mkdir dir="${dist.dir}/doc/scala-devel-docs/examples"/> <copy toDir="${dist.dir}/doc/scala-devel-docs/examples"> - <fileset dir="${docs.dir}/examples"/> + <fileset dir="${docs.dir}/examples"> + <exclude name="**/*.desired.sha1"/> + </fileset> </copy> <mkdir dir="${dist.dir}/doc/scala-devel-docs/tools"/> <copy toDir="${dist.dir}/doc/scala-devel-docs/tools"> @@ -1402,6 +1711,7 @@ DISTRIBUTION <jar destfile="${dist.dir}/src/scala-library-src.jar"> <fileset dir="${src.dir}/library"/> <fileset dir="${src.dir}/actors"/> + <fileset dir="${src.dir}/continuations/library"/> </jar> <jar destfile="${dist.dir}/src/scala-dbc-src.jar"> <fileset dir="${src.dir}/dbc"/> @@ -1474,23 +1784,23 @@ STABLE REFERENCE (STARR) </target> <target name="starr.lib" depends="starr.start"> - <copy file="${basedir}/build/pack/lib/scala-library.jar" - toFile="${basedir}/lib/scala-library.jar" - overwrite="yes"/> + <jar destfile="${basedir}/lib/scala-library.jar"> + <fileset dir="${basedir}/build/quick/classes/library"/> + </jar> </target> <target name="starr.comp" depends="starr.lib"> - <delete file="${basedir}/lib/scala-compiler.jar"/> <jar destfile="${basedir}/lib/scala-compiler.jar"> <fileset dir="${basedir}/build/quick/classes/compiler"/> </jar> </target> <target name="starr.src" depends="starr.comp"> - <delete file="${basedir}/lib/scala-library-src.jar"/> <jar destfile="${basedir}/lib/scala-library-src.jar"> <fileset dir="${basedir}/src/library"/> <fileset dir="${basedir}/src/actors"/> + <fileset dir="${basedir}/src/swing"/> + <fileset dir="${basedir}/src/dbc"/> </jar> </target> @@ -1499,6 +1809,7 @@ STABLE REFERENCE (STARR) <fileset dir="${build-libs.dir}"> <include name="fjbg.jar"/> <include name="msil.jar"/> + <include name="forkjoin.jar"/> </fileset> </copy> </target> @@ -1512,9 +1823,15 @@ FORWARDED TARGETS FOR PACKAGING <target name="distpack" depends="dist.done"> <ant antfile="${src.dir}/build/pack.xml" target="pack-all.done" inheritall="yes" inheritrefs="yes"/> </target> + + <target name="distpack-opt" + description="Builds an optimised distribution."> + <antcall target="distpack"> + <param name="scalac.args.optimise" value="-optimise"/> + </antcall> + </target> <!-- Used by the scala-installer script --> - <target name="alldistpack" depends="distpack"/> <target name="allallclean" depends="all.clean"/> <!-- =========================================================================== @@ -1532,13 +1849,25 @@ FORWARDED TARGETS FOR NIGHTLY BUILDS <ant antfile="${src.dir}/build/pack.xml" target="pack-all.done" inheritall="yes" inheritrefs="yes"/> </target> + <target name="nightly.checkinit"> + <antcall target="nightly-nopt"> + <param name="scalac.args.optimise" value="-Xcheckinit"/> + </antcall> + </target> + + <target name="nightly.checkall"> + <antcall target="nightly-nopt"> + <param name="partest.scalacopts" value="-Ycheck:all"/> + </antcall> + </target> + <!-- =========================================================================== POSITIONS ============================================================================ --> <target name="test.positions" depends="quick.comp"> <antcall target="test.positions.tests.sub" inheritRefs="true"> - <param name="test.tests.srcs" value="${test.dir}/files/positions"/> + <param name="test.tests.srcs" value="${partest.dir}/files/positions"/> </antcall> <antcall target="test.positions.sub" inheritRefs="true"> <param name="test.srcs" value="${src.dir}/compiler"/> @@ -1562,16 +1891,16 @@ POSITIONS <param name="test.srcs" value="${src.dir}/scalap"/> </antcall> <antcall target="test.positions.tests.sub" inheritRefs="true"> - <param name="test.tests.srcs" value="${test.dir}/files/pos"/> + <param name="test.tests.srcs" value="${partest.dir}/files/pos"/> </antcall> <antcall target="test.positions.tests.sub" inheritRefs="true"> - <param name="test.tests.srcs" value="${test.dir}/files/run"/> + <param name="test.tests.srcs" value="${partest.dir}/files/run"/> </antcall> <antcall target="test.positions.tests.sub" inheritRefs="true"> - <param name="test.tests.srcs" value="${test.dir}/files/neg"/> + <param name="test.tests.srcs" value="${partest.dir}/files/neg"/> </antcall> </target> - + <target name="test.positions.sub"> <echo message="Validating positions for: ${test.srcs}"/> <if> @@ -1614,11 +1943,55 @@ POSITIONS </path> </foreach> </target> - + <!-- =========================================================================== MISCELLANEOUS ============================================================================ --> + <target name="yourkit.init"> + <property name="yourkit.home" value="/Applications/YourKit.app"/> + <property name="yourkit.api.jar" value="${yourkit.home}/lib/yjp-controller-api-redist.jar"/> + <property name="yourkit.agent" value="${yourkit.home}/bin/mac/libyjpagent.jnilib"/> + <property name="yourkit.jvm.opts" value="-agentpath:${yourkit.agent}"/> + <property name="yourkit.scalac.opts" value="-Yprofile:all"/> + </target> + + <!-- Builds yourkit wrapper/jar and copies into lib/extra. --> + <target name="yourkit.build" depends="locker.done,yourkit.init"> + <copy file="${yourkit.api.jar}" todir="${lib-extra.dir}"/> + <property name="yourkit.build.dir" value="${build-quick.dir}/classes/yourkit"/> + <mkdir dir="${yourkit.build.dir}"/> + + <scalacfork + destdir="${yourkit.build.dir}" + compilerpathref="locker.classpath" + params="${scalac.args.all}" + srcdir="${src.dir}/yourkit" + jvmargs="${scalacfork.jvmargs}"> + <include name="**/*.scala"/> + <compilationpath> + <path refid="locker.classpath"/> + </compilationpath> + </scalacfork> + <jar destfile="${lib-extra.dir}/scalac-yourkit.jar"> + <fileset dir="${yourkit.build.dir}"/> + </jar> + </target> + + <!-- Builds quick.lib/comp with profiling enabled. --> + <target name="yourkit.run" depends="yourkit.build"> + <antcall target="clean"/> + <ant target="quick.lib" inheritall="false" inheritrefs="false"> + <property name="jvm.opts" value="${yourkit.jvm.opts}"/> + <property name="scalac.args" value="${yourkit.scalac.opts}"/> + </ant> + <ant target="quick.comp" inheritall="false" inheritrefs="false"> + <property name="jvm.opts" value="${yourkit.jvm.opts}"/> + <property name="scalac.args" value="${yourkit.scalac.opts}"/> + </ant> + <antcall target="build"/> + </target> + <target name="graph.init"> <taskdef name="vizant" classname="vizant.Vizant" classpath="${lib-ant.dir}/vizant.jar"/> </target> |