diff options
author | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2006-03-06 14:12:09 +0000 |
---|---|---|
committer | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2006-03-06 14:12:09 +0000 |
commit | eb9f31482b78399e35de662e9e90f082a6988927 (patch) | |
tree | 0be4c75e9f55747fa85021cda6781d91f383b131 | |
parent | 750b48f0916b6847834cc4bfc7e6a748fa49bc26 (diff) | |
download | scala-eb9f31482b78399e35de662e9e90f082a6988927.tar.gz scala-eb9f31482b78399e35de662e9e90f082a6988927.tar.bz2 scala-eb9f31482b78399e35de662e9e90f082a6988927.zip |
Corrected clean-dependencies in SABBUS, cleaned...
Corrected clean-dependencies in SABBUS, cleaned-up style, plus various
detail improvements.
-rw-r--r-- | build.xml | 696 |
1 files changed, 426 insertions, 270 deletions
@@ -8,7 +8,7 @@ library. Please check the 'docs/README' file for more information about me. </description> - <echo>Running SABBUS for Scala-core</echo> + <echo level="info" message="Running SABBUS for Scala-core..."/> <!-- =========================================================================== PROPERTIES @@ -20,7 +20,7 @@ PROPERTIES </condition> <fail unless="memory.set"> SABBUS requires additional memory. Please set the 'ANT_OPTS' environment - property to '-Xmx256M' or more. + property to '-Xmx512M' or more. </fail> <!-- Prevents system classpath from being used --> @@ -88,45 +88,62 @@ INITIALISATION ============================================================================ --> <target name="init" unless="init.avail"> - <tstamp prefix="start"/> + <tstamp prefix="start"> + <format + property="human-time" + pattern="EEEE, d MMMM yyyy, HH:mm:ss (zz)" + /> + </tstamp> <!-- Testing if everything is in place --> - <echo level="verbose">starr.lib.jar=${starr.lib.jar}</echo> + <echo level="verbose" message="starr.lib.jar=${starr.lib.jar}"/> <fail message="STARR library in 'lib/' is not available"> <condition><not><and> - <available classname="scala.Predef" - classpath="${starr.lib.jar}"/> - <available classname="scala.List" - classpath="${starr.lib.jar}"/> - <available classname="scala.runtime.ObjectRef" - classpath="${starr.lib.jar}"/> + <available + classname="scala.Predef" + classpath="${starr.lib.jar}" + /> + <available + classname="scala.List" + classpath="${starr.lib.jar}" + /> + <available + classname="scala.runtime.ObjectRef" + classpath="${starr.lib.jar}" + /> </and></not></condition> </fail> - <echo level="verbose">starr.comp.jar=${starr.comp.jar}</echo> + <echo level="verbose" message="starr.comp.jar=${starr.comp.jar}"/> <fail message="STARR compiler in 'lib/' is not available"> <condition><not> - <available classname="scala.tools.ant.Scalac" - classpath="${starr.comp.jar}:${starr.lib.jar}"/> + <available + classname="scala.tools.ant.Scalac" + classpath="${starr.comp.jar}:${starr.lib.jar}" + /> </not></condition> </fail> - <echo level="verbose">fjbg.jar=${fjbg.jar}</echo> + <echo level="verbose" message="fjbg.jar=${fjbg.jar}"/> <fail message="FJBG library in 'lib/' is not available"> <condition><not> - <available classname="ch.epfl.lamp.fjbg.JCode" - classpath="${fjbg.jar}"/> + <available + classname="ch.epfl.lamp.fjbg.JCode" + classpath="${fjbg.jar}" + /> </not></condition> </fail> - <echo level="verbose">jaco.jar=${jaco.jar}</echo> + <echo level="verbose" message="jaco.jar=${jaco.jar}"/> <fail message="JaCo compiler in 'lib/' is not available"> <condition><not> <available classname="jaco.pizza.Main" classpath="${jaco.jar}"/> </not></condition> </fail> - <echo level="verbose">ant.jar=${ant.jar}</echo> - <echo level="verbose">ant-contrib.jar=${ant-contrib.jar}</echo> + <echo level="verbose" message="ant.jar=${ant.jar}"/> + <echo level="verbose" message="ant-contrib.jar=${ant-contrib.jar}"/> <fail message="Additional Ant tasks in 'lib/' is not available"> <condition><not> - <available classname="net.sf.antcontrib.AntContribVersion" - classpath="${ant-contrib.jar}"/> + <available + classname="net.sf.antcontrib.AntContribVersion" + classpath="${ant-contrib.jar}" + /> </not></condition> </fail> <!-- Creating class-pathes --> @@ -150,10 +167,12 @@ INITIALISATION </condition> <if><isset property="os.win"/> <then> - <exec executable="cygpath" - vmlauncher="no" - errorproperty="cygpath.err" - outputproperty="cygpath.out"> + <exec + executable="cygpath" + vmlauncher="no" + errorproperty="cygpath.err" + outputproperty="cygpath.out" + > <arg value="--windir"/> </exec> <condition property="os.cygwin"> @@ -169,34 +188,52 @@ INITIALISATION </or> </condition> <if><isset property="os.cygwin"/> - <then><echo>OS type: Cygwin</echo></then> + <then><property name="os.type" value="Cygwin"/></then> <elseif><isset property="os.win"/> - <then><echo>OS type: Windows</echo></then> + <then><property name="os.type" value="Windows"/></then> </elseif> <elseif><isset property="os.unix"/> - <then><echo>OS type: UNIX</echo></then> + <then><property name="os.type" value="UNIX"/></then> </elseif> <else> <fail>System environment could not be determined</fail> </else> </if> - <echo>OS name: ${os.name} ${os.arch} ${os.version}</echo> - <echo>Java: ${java.version} ('${java.home}')</echo> - <echo>Java VM: ${java.vm.name} ${java.vm.version}</echo> - <echo>Ant: ${ant.version}</echo> + <echo + level="info" + message="OS: ${os.type} (${os.name} ${os.arch} ${os.version});" + /> + <echo + level="info" + message="Java: ${java.version} ('${java.home}');" + /> + <echo + level="info" + message="JVM: ${java.vm.name} ${java.vm.version};" + /> + <echo + level="info" + message="Ant: ${ant.version}." + /> </target> <target name="setup" depends="init"> <!-- Creating boot-level tasks --> - <taskdef name="starr" - classname="scala.tools.ant.Scalac" - classpathref="starr.classpath"/> - <taskdef name="starrtool" - classname="scala.tools.ant.ScalaTool" - classpathref="starr.classpath"/> - <taskdef name="pico" - classname="jaco.pizza.ant.Pico" - classpath="${jaco.jar}"/> + <taskdef + name="starr" + classname="scala.tools.ant.Scalac" + classpathref="starr.classpath" + /> + <taskdef + name="starrtool" + classname="scala.tools.ant.ScalaTool" + classpathref="starr.classpath" + /> + <taskdef + name="pico" + classname="jaco.pizza.ant.Pico" + classpath="${jaco.jar}" + /> <!-- Removing any outdated stuff --> <if> <and> @@ -206,37 +243,43 @@ INITIALISATION </uptodate></not> </and> <then> - <echo> - STARR has been updated. LOCKER is obsolete and will be rebuilt. - </echo> - <runtarget target="clean"/> + <echo + level="warning" + message="STARR updated: LOCKER is obsolete and will be rebuilt." + /> + <runtarget target="clean.build"/> </then> </if> <!-- Finding out what is available --> <available property="excludes.avail" file="${nsc.excludes}"/> - <echo level="verbose">excludes.avail=${excludes.avail}</echo> + <echo level="verbose" message="excludes.avail=${excludes.avail}"/> <condition property="locker.avail"> <available file="${locker.dir}/complete"/> </condition> <!-- Defining version number --> - <loadfile property="entries" - srcFile="${svn.entries}" - failonerror="false"/> - <propertyregex property="revision" - input="${entries}" - regexp="revision=\042([0-9]*)\042\.*" - select="\1" - defaultValue="0000"/> + <loadfile + property="entries" + srcFile="${svn.entries}" + failonerror="false" + /> + <propertyregex + property="revision" + input="${entries}" + regexp="revision=\042([0-9]*)\042\.*" + select="\1" + defaultValue="x" + /> <property name="version.number" value="2.0.${revision}"/> - <echo level="verbose">version.number=${version.number}</echo> - <property name="dist.current.dir" - value="${dist.dir}/${dist.name}-${version.number}"/> - <if><isset property="os.win"/> - <then><property name="host.name" value="${env.COMPUTERNAME}"/></then> - <else><property name="host.name" value="${env.HOST}"/></else> - </if> - <echo file="${nsc.timers}" append="true">${line.separator}revision ${revision} built on ${start.DSTAMP}-${start.TSTAMP} running ${java.vm.name} ${java.vm.version} on ${host.name} (${os.name} ${os.arch} ${os.version}) - </echo> + <echo level="verbose" message="version.number=${version.number}"/> + <property + name="dist.current.dir" + value="${dist.dir}/${dist.name}-${version.number}" + /> + <echo + file="${nsc.timers}" + append="true" + message="${line.separator}Revision ${revision};${line.separator} built ${start.human-time};${line.separator} by ${java.vm.name} ${java.vm.version};${line.separator} on ${os.name} ${os.arch} ${os.version}:" + /> <property name="init.avail" value="yes"/> </target> @@ -246,12 +289,16 @@ INITIALISATION <pathelement location="${locker.dir}/${comp.dir.name}"/> <path refid="common.classpath"/> </path> - <taskdef name="locker" - classname="scala.tools.ant.Scalac" - classpathref="locker.classpath"/> - <taskdef name="lockertool" - classname="scala.tools.ant.ScalaTool" - classpathref="locker.classpath"/> + <taskdef + name="locker" + classname="scala.tools.ant.Scalac" + classpathref="locker.classpath" + /> + <taskdef + name="lockertool" + classname="scala.tools.ant.ScalaTool" + classpathref="locker.classpath" + /> </target> <target name="setup.quick" depends="setup, build"> @@ -260,15 +307,21 @@ INITIALISATION <pathelement location="${quick.dir}/${comp.dir.name}"/> <path refid="common.classpath"/> </path> - <taskdef name="quick" - classname="scala.tools.ant.Scalac" - classpathref="quick.classpath"/> - <taskdef name="quicktool" - classname="scala.tools.ant.ScalaTool" - classpathref="quick.classpath"/> - <taskdef name="quicksbaz" - classname="scala.tools.ant.ScalaBazaar" - classpathref="quick.classpath"/> + <taskdef + name="quick" + classname="scala.tools.ant.Scalac" + classpathref="quick.classpath" + /> + <taskdef + name="quicktool" + classname="scala.tools.ant.ScalaTool" + classpathref="quick.classpath" + /> + <taskdef + name="quicksbaz" + classname="scala.tools.ant.ScalaBazaar" + classpathref="quick.classpath" + /> </target> <!-- =========================================================================== @@ -303,10 +356,12 @@ BUILD SUPPORT MACROS <then> <if><isset property="os.unix"/> <then> - <symlink link="@{build.dir}/${fjbg.name}" - resource="${fjbg.jar}" - overwrite="yes" - failonerror="no"/> + <symlink + link="@{build.dir}/${fjbg.name}" + resource="${fjbg.jar}" + overwrite="yes" + failonerror="no" + /> </then> <else> <copy file="${fjbg.jar}" tofile="@{build.dir}/${fjbg.name}"/> @@ -321,32 +376,42 @@ BUILD SUPPORT MACROS BUILD LOCAL REFERENCE (LOCKER) LAYER ============================================================================ --> - <target name="newlocker" depends="clean.unfreeze, build.locker"/> + <target + name="newlocker" + depends="clean.unfreeze, build.locker" + description="Rebuilds LOCKER from the current sources" + /> <target name="build.locker" depends="setup" unless="locker.avail"> <property name="built.locker" value="yes"/> <stopwatch name="timer.locker"/> <!-- Build library --> <mkdir dir="${locker.lib.dir}"/> - <pico srcdir="${src.dir}/${lib.dir.name}" - destdir="${locker.lib.dir}" - scalahack="yes"> + <pico + srcdir="${src.dir}/${lib.dir.name}" + destdir="${locker.lib.dir}" + scalahack="yes" + > <classpath> <pathelement location="${locker.lib.dir}"/> </classpath> <include name="**/*.java"/> </pico> - <starr srcdir="${src.dir}/${lib.dir.name}" - destdir="${locker.lib.dir}" - usepredefs="no"> + <starr + srcdir="${src.dir}/${lib.dir.name}" + destdir="${locker.lib.dir}" + usepredefs="no" + > <classpath> <pathelement location="${locker.lib.dir}"/> </classpath> <include name="scala/Predef.scala"/> <include name="scala/runtime/ScalaRunTime.scala"/> </starr> - <starr srcdir="${src.dir}/${lib.dir.name}" - destdir="${locker.lib.dir}"> + <starr + srcdir="${src.dir}/${lib.dir.name}" + destdir="${locker.lib.dir}" + > <classpath> <pathelement location="${locker.lib.dir}"/> </classpath> @@ -357,17 +422,21 @@ BUILD LOCAL REFERENCE (LOCKER) LAYER </starr> <!-- Build compiler --> <mkdir dir="${locker.comp.dir}"/> - <pico srcdir="${src.dir}/${comp.dir.name}" - destdir="${locker.comp.dir}" - scalahack="yes"> + <pico + srcdir="${src.dir}/${comp.dir.name}" + destdir="${locker.comp.dir}" + scalahack="yes" + > <classpath> <pathelement location="${locker.lib.dir}"/> <pathelement location="${locker.comp.dir}"/> </classpath> <include name="**/*.java"/> </pico> - <starr srcdir="${src.dir}/${comp.dir.name}" - destdir="${locker.comp.dir}"> + <starr + srcdir="${src.dir}/${comp.dir.name}" + destdir="${locker.comp.dir}" + > <classpath> <pathelement location="${locker.lib.dir}"/> <pathelement location="${locker.comp.dir}"/> @@ -378,22 +447,27 @@ BUILD LOCAL REFERENCE (LOCKER) LAYER <excludesfile name="${nsc.excludes}" if="excludes.avail"/> </starr> <stopwatch name="timer.locker" action="total"/> - <echo file="${nsc.timers}" append="true">locker: ${timer.locker} - </echo> + <echo + file="${nsc.timers}" + append="true" + message=" building LOCKER: ${timer.locker};${line.separator}" + /> <!-- Copy support files to build folder and links external libraries--> <build.support build.dir="${locker.dir}"/> <build.links build.dir="${locker.dir}"/> <!-- Build executable files --> <mkdir dir="${locker.dir}/${exec.dir.name}"/> - <starrtool file="${locker.dir}/${exec.dir.name}/${scalac.exec.name}" - genericFile="${locker.dir}/${exec.dir.name}/${scala.exec.name}" - name="Scala compiler" - class="scala.tools.nsc.Main" - version="${version.number}" - copyright="${copyright}" - classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}" - properties="scala.boot.class.path=#CLASSPATH#" - javaFlags="-Xmx256M -Xms16M"/> + <starrtool + file="${locker.dir}/${exec.dir.name}/${scalac.exec.name}" + genericFile="${locker.dir}/${exec.dir.name}/${scala.exec.name}" + name="Scala compiler" + class="scala.tools.nsc.Main" + version="${version.number}" + copyright="${copyright}" + classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}" + properties="scala.boot.class.path=#CLASSPATH#" + javaFlags="-Xmx256M -Xms16M" + /> <chmod file="${locker.dir}/${exec.dir.name}/${scalac.exec.name}" perm="ugo+rx"/> <chmod file="${locker.dir}/${exec.dir.name}/${scala.exec.name}" @@ -405,33 +479,43 @@ BUILD LOCAL REFERENCE (LOCKER) LAYER BUILD QUICK-TEST LAYER ============================================================================ --> - <target name="build" depends="setup.locker"> + <target + name="build" + depends="setup.locker" + description="Builds a quick-test (QUICK) version of the compiler" + > <stopwatch name="timer.quick"/> <!-- Build library --> <mkdir dir="${quick.lib.dir}"/> - <pico srcdir="${src.dir}/${lib.dir.name}" - destdir="${quick.lib.dir}" - scalahack="yes"> + <pico + srcdir="${src.dir}/${lib.dir.name}" + destdir="${quick.lib.dir}" + scalahack="yes" + > <classpath> <pathelement location="${quick.lib.dir}"/> </classpath> <include name="**/*.java"/> </pico> - <locker srcdir="${src.dir}/${lib.dir.name}" - destdir="${quick.lib.dir}" - usepredefs="no" - addparams="${nsc.params}" - scalacdebugging="${nsc.log-files}"> + <locker + srcdir="${src.dir}/${lib.dir.name}" + destdir="${quick.lib.dir}" + usepredefs="no" + addparams="${nsc.params}" + scalacdebugging="${nsc.log-files}" + > <classpath> <pathelement location="${quick.lib.dir}"/> </classpath> <include name="scala/Predef.scala"/> <include name="scala/runtime/ScalaRunTime.scala"/> </locker> - <locker srcdir="${src.dir}/${lib.dir.name}" - destdir="${quick.lib.dir}" - addparams="${nsc.params}" - scalacdebugging="${nsc.log-files}"> + <locker + srcdir="${src.dir}/${lib.dir.name}" + destdir="${quick.lib.dir}" + addparams="${nsc.params}" + scalacdebugging="${nsc.log-files}" + > <classpath> <pathelement location="${quick.lib.dir}"/> </classpath> @@ -442,19 +526,23 @@ BUILD QUICK-TEST LAYER </locker> <!-- Build compiler --> <mkdir dir="${quick.comp.dir}"/> - <pico srcdir="${src.dir}/${comp.dir.name}" - destdir="${quick.comp.dir}" - scalahack="yes"> + <pico + srcdir="${src.dir}/${comp.dir.name}" + destdir="${quick.comp.dir}" + scalahack="yes" + > <classpath> <pathelement location="${quick.lib.dir}"/> <pathelement location="${quick.comp.dir}"/> </classpath> <include name="**/*.java"/> </pico> - <locker srcdir="${src.dir}/${comp.dir.name}" - destdir="${quick.comp.dir}" - addparams="${nsc.params}" - scalacdebugging="${nsc.log-files}"> + <locker + srcdir="${src.dir}/${comp.dir.name}" + destdir="${quick.comp.dir}" + addparams="${nsc.params}" + scalacdebugging="${nsc.log-files}" + > <classpath> <pathelement location="${quick.lib.dir}"/> <pathelement location="${quick.comp.dir}"/> @@ -465,73 +553,99 @@ BUILD QUICK-TEST LAYER <excludesfile name="${nsc.excludes}" if="excludes.avail"/> </locker> <stopwatch name="timer.quick" action="total"/> - <echo file="${nsc.timers}" append="true">quick : ${timer.quick} - </echo> + <echo + file="${nsc.timers}" + append="true" + message=" building QUICK: ${timer.quick};${line.separator}" + /> <!-- Copy support files to build folder and links external libraries--> <build.support build.dir="${quick.dir}"/> <build.links build.dir="${quick.dir}"/> <!-- Build executable files --> <mkdir dir="${quick.dir}/${exec.dir.name}"/> - <lockertool file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}" - genericFile="${quick.dir}/${exec.dir.name}/${scala.exec.name}" - name="Scala compiler" - class="scala.tools.nsc.Main" - version="${version.number}" - copyright="${copyright}" - classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}" - properties="scala.boot.class.path=#CLASSPATH#" - javaFlags="-Xmx256M -Xms16M"/> - <chmod file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}" - perm="ugo+rx"/> - <chmod file="${quick.dir}/${exec.dir.name}/${scala.exec.name}" - perm="ugo+rx"/> - <lockertool file="${quick.dir}/${exec.dir.name}/${scalaint.exec.name}" - name="Scala interpreter" - class="scala.tools.nsc.MainInterpreter" - version="${version.number}" - copyright="${copyright}" - classpath="" - javaFlags="-Xmx256M -Xms16M"/> - <chmod file="${quick.dir}/${exec.dir.name}/${scalaint.exec.name}" - perm="ugo+rx"/> + <lockertool + file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}" + genericFile="${quick.dir}/${exec.dir.name}/${scala.exec.name}" + name="Scala compiler" + class="scala.tools.nsc.Main" + version="${version.number}" + copyright="${copyright}" + classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}" + properties="scala.boot.class.path=#CLASSPATH#" + javaFlags="-Xmx256M -Xms16M" + /> + <chmod + file="${quick.dir}/${exec.dir.name}/${scalac.exec.name}" + perm="ugo+rx" + /> + <chmod + file="${quick.dir}/${exec.dir.name}/${scala.exec.name}" + perm="ugo+rx" + /> + <lockertool + file="${quick.dir}/${exec.dir.name}/${scalaint.exec.name}" + name="Scala interpreter" + class="scala.tools.nsc.MainInterpreter" + version="${version.number}" + copyright="${copyright}" + classpath="" + javaFlags="-Xmx256M -Xms16M" + /> + <chmod + file="${quick.dir}/${exec.dir.name}/${scalaint.exec.name}" + perm="ugo+rx" + /> </target> <target name="test.quick" depends="build"> - <echo>Ant test bench is not available yet</echo> + <echo + level="error" + message="Ant test bench is not available yet." + /> </target> <!-- =========================================================================== TEST ============================================================================ --> - <target name="test" depends="clean, test.stability, test.strap"/> + <target + name="test" + depends="clean.build, test.stability, test.strap" + description="Tests the build for stability (rebuilds everything)" + /> <target name="build.strap" depends="setup.quick"> <!-- Build the bootstrap layer --> <stopwatch name="timer.strap"/> <!-- Build library --> <mkdir dir="${strap.lib.dir}"/> - <pico srcdir="${src.dir}/${lib.dir.name}" - destdir="${strap.lib.dir}" - scalahack="yes"> + <pico + srcdir="${src.dir}/${lib.dir.name}" + destdir="${strap.lib.dir}" + scalahack="yes" + > <classpath> <pathelement location="${strap.lib.dir}"/> </classpath> <include name="**/*.java"/> </pico> - <quick srcdir="${src.dir}/${lib.dir.name}" - destdir="${strap.lib.dir}" - usepredefs="no" - addparams="${nsc.params}"> + <quick + srcdir="${src.dir}/${lib.dir.name}" + destdir="${strap.lib.dir}" + usepredefs="no" + addparams="${nsc.params}" + > <classpath> <pathelement location="${strap.lib.dir}"/> </classpath> <include name="scala/Predef.scala"/> <include name="scala/runtime/ScalaRunTime.scala"/> </quick> - <quick srcdir="${src.dir}/${lib.dir.name}" - destdir="${strap.lib.dir}" - addparams="${nsc.params}"> + <quick + srcdir="${src.dir}/${lib.dir.name}" + destdir="${strap.lib.dir}" + addparams="${nsc.params}" + > <classpath> <pathelement location="${strap.lib.dir}"/> </classpath> @@ -542,18 +656,22 @@ TEST </quick> <!-- Build compiler --> <mkdir dir="${strap.comp.dir}"/> - <pico srcdir="${src.dir}/${comp.dir.name}" - destdir="${strap.comp.dir}" - scalahack="yes"> + <pico + srcdir="${src.dir}/${comp.dir.name}" + destdir="${strap.comp.dir}" + scalahack="yes" + > <classpath> <pathelement location="${strap.lib.dir}"/> <pathelement location="${strap.comp.dir}"/> </classpath> <include name="**/*.java"/> </pico> - <quick srcdir="${src.dir}/${comp.dir.name}" - destdir="${strap.comp.dir}" - addparams="${nsc.params}"> + <quick + srcdir="${src.dir}/${comp.dir.name}" + destdir="${strap.comp.dir}" + addparams="${nsc.params}" + > <classpath> <pathelement location="${strap.lib.dir}"/> <pathelement location="${strap.comp.dir}"/> @@ -564,35 +682,48 @@ TEST <excludesfile name="${nsc.excludes}" if="excludes.avail"/> </quick> <stopwatch name="timer.strap" action="total"/> - <echo file="${nsc.timers}" append="true">strap : ${timer.strap} - </echo> + <echo + file="${nsc.timers}" + append="true" + message=" building STRAP: ${timer.strap}.${line.separator}" + /> <!-- Copy support files to build folder and links external libraries--> <build.support build.dir="${strap.dir}"/> <build.links build.dir="${strap.dir}"/> <!-- Build executable files --> <mkdir dir="${strap.dir}/${exec.dir.name}"/> - <quicktool file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}" - genericFile="${strap.dir}/${exec.dir.name}/${scala.exec.name}" - name="Scala compiler" - class="scala.tools.nsc.Main" - version="${version.number}" - copyright="${copyright}" - classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}" - properties="scala.boot.class.path=#CLASSPATH#" - javaFlags="-Xmx256M -Xms16M"/> - <chmod file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}" - perm="ugo+rx"/> - <chmod file="${strap.dir}/${exec.dir.name}/${scala.exec.name}" - perm="ugo+rx"/> - <quicktool file="${strap.dir}/${exec.dir.name}/${scalaint.exec.name}" - name="Scala interpreter" - class="scala.tools.nsc.MainInterpreter" - version="${version.number}" - copyright="${copyright}" - classpath="" - javaFlags="-Xmx256M -Xms16M"/> - <chmod file="${strap.dir}/${exec.dir.name}/${scalaint.exec.name}" - perm="ugo+rx"/> + <quicktool + file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}" + genericFile="${strap.dir}/${exec.dir.name}/${scala.exec.name}" + name="Scala compiler" + class="scala.tools.nsc.Main" + version="${version.number}" + copyright="${copyright}" + classpath="#SCALA_HOME#/${lib.dir.name}:#SCALA_HOME#/${comp.dir.name}:#SCALA_HOME#/${fjbg.name}" + properties="scala.boot.class.path=#CLASSPATH#" + javaFlags="-Xmx256M -Xms16M" + /> + <chmod + file="${strap.dir}/${exec.dir.name}/${scalac.exec.name}" + perm="ugo+rx" + /> + <chmod + file="${strap.dir}/${exec.dir.name}/${scala.exec.name}" + perm="ugo+rx" + /> + <quicktool + file="${strap.dir}/${exec.dir.name}/${scalaint.exec.name}" + name="Scala interpreter" + class="scala.tools.nsc.MainInterpreter" + version="${version.number}" + copyright="${copyright}" + classpath="" + javaFlags="-Xmx256M -Xms16M" + /> + <chmod + file="${strap.dir}/${exec.dir.name}/${scalaint.exec.name}" + perm="ugo+rx" + /> </target> <target name="test.stability" depends="build.strap"> @@ -604,7 +735,7 @@ TEST </fileset> </checksum> <delete quiet="yes" failonerror="no"> - <fileset dir="${quick.dir}"><include name="**/*.MD5"/></fileset> + <fileset dir="${quick.dir}" includes="**/*.MD5"/> </delete> <checksum totalproperty="strap.md5"> <fileset dir="${strap.dir}"> @@ -613,47 +744,54 @@ TEST </fileset> </checksum> <delete quiet="yes" failonerror="no"> - <fileset dir="${strap.dir}"><include name="**/*.MD5"/></fileset> + <fileset dir="${strap.dir}" includes="**/*.MD5"/> </delete> <fail message="Build is not stable"> <condition><not> <equals arg1="${quick.md5}" arg2="${strap.md5}"/> </not></condition> </fail> - <echo>Build is stable</echo> + <echo level="info" message="Build is stable."/> </target> <target name="test.strap" depends="build.strap"> - <echo>Ant test bench is not available yet</echo> + <echo level="error" message="Ant test bench is not available yet."/> </target> <!-- =========================================================================== DOCUMENT ============================================================================ --> - <target name="docs"> - <echo>Docs is not available yet.</echo> + <target + name="docs" + description="Generated the API for library and compiler sources" + > + <echo level="error" message="Docs is not available yet."/> </target> <!-- =========================================================================== GENERATES A DISTRIBUTION ============================================================================ --> - <target name="dist" depends="test"> + <target + name="dist" + depends="test" + description="Creates a complete Scala distribution" + > <mkdir dir="${dist.current.dir}"/> <mkdir dir="${dist.current.dir}/lib"/> - <jar destfile="${dist.current.dir}/lib/${comp.jar.name}" - basedir="${strap.comp.dir}"> + <jar + destfile="${dist.current.dir}/lib/${comp.jar.name}" + basedir="${strap.comp.dir}" + > <manifest> <attribute name="Signature-Version" value="${version.number}"/> -<!-- For a sbaz package, the Main-Class should not be included - <attribute name="Main-Class" value="scala.tools.nsc.Main"/> - <attribute name="Class-Path" value="${lib.jar.name}"/> ---> </manifest> </jar> - <jar destfile="${dist.current.dir}/lib/${lib.jar.name}" - basedir="${strap.lib.dir}"> + <jar + destfile="${dist.current.dir}/lib/${lib.jar.name}" + basedir="${strap.lib.dir}" + > <manifest> <attribute name="Signature-Version" value="${version.number}"/> </manifest> @@ -662,83 +800,89 @@ GENERATES A DISTRIBUTION <mkdir dir="${dist.current.dir}/bin"/> <!-- Build executable files --> <mkdir dir="${dist.current.dir}/bin"/> - <quicktool file="${dist.current.dir}/bin/${scalac.exec.name}" - genericFile="${dist.current.dir}/bin/${scala.exec.name}" - name="Scala compiler" - class="scala.tools.nsc.Main" - version="${version.number}" - copyright="${copyright}" - classpath="" - properties="scala.boot.class.path=#CLASSPATH#" - javaFlags="-Xmx256M -Xms16M"/> - <chmod file="${dist.current.dir}/bin/${scalac.exec.name}" - perm="ugo+rx"/> - <chmod file="${dist.current.dir}/bin/${scala.exec.name}" - perm="ugo+rx"/> - <lockertool file="${dist.current.dir}/bin/${scalaint.exec.name}" - name="Scala interpreter" - class="scala.tools.nsc.MainInterpreter" - version="${version.number}" - copyright="${copyright}" - classpath="" - javaFlags="-Xmx256M -Xms16M"/> - <chmod file="${dist.current.dir}/bin/${scalaint.exec.name}" - perm="ugo+rx"/> - - + <quicktool + file="${dist.current.dir}/bin/${scalac.exec.name}" + genericFile="${dist.current.dir}/bin/${scala.exec.name}" + name="Scala compiler" + class="scala.tools.nsc.Main" + version="${version.number}" + copyright="${copyright}" + classpath="" + properties="scala.boot.class.path=#CLASSPATH#" + javaFlags="-Xmx256M -Xms16M" + /> + <chmod + file="${dist.current.dir}/bin/${scalac.exec.name}" + perm="ugo+rx" + /> + <chmod + file="${dist.current.dir}/bin/${scala.exec.name}" + perm="ugo+rx" + /> + <lockertool + file="${dist.current.dir}/bin/${scalaint.exec.name}" + name="Scala interpreter" + class="scala.tools.nsc.MainInterpreter" + version="${version.number}" + copyright="${copyright}" + classpath="" + javaFlags="-Xmx256M -Xms16M" + /> + <chmod + file="${dist.current.dir}/bin/${scalaint.exec.name}" + perm="ugo+rx" + /> <if><isset property="os.unix"/> <then> - <symlink link="${dist.latest.dir}" - resource="${dist.current.dir}" - overwrite="yes" - failonerror="no"/> + <symlink + link="${dist.latest.dir}" + resource="${dist.current.dir}" + overwrite="yes" + failonerror="no" + /> </then> </if> - <quicksbaz - file="${dist.dir}/${scalac.sbaz.name}-${version.number}.sbp" - adfile="${dist.dir}/${scalac.sbaz.name}-${version.number}.advert" - name="${scalac.sbaz.name}" - version="${version.number}" - desc="The Scala compiler. This is used to compile Scala programs -into Java .class files." - depends="scalac2-support"> + file="${dist.dir}/${scalac.sbaz.name}-${version.number}.sbp" + adfile="${dist.dir}/${scalac.sbaz.name}-${version.number}.advert" + name="${scalac.sbaz.name}" + version="${version.number}" + desc="The Scala compiler. This is used to compile Scala programs into Java .class files." + depends="scalac2-support" + > <libset dir="${dist.current.dir}/lib" includes="${dist.name}-compiler.jar"/> <binset dir="${dist.current.dir}/bin" includes="${scalac.exec.name}"/> <binset dir="${dist.current.dir}/bin" includes="${scalac.exec.name}.bat"/> <manset dir="${docs.dir}/man" includes="${scalac.exec.name}.1"/> </quicksbaz> - <quicksbaz - file="${dist.dir}/${scala.sbaz.name}-${version.number}.sbp" - adfile="${dist.dir}/${scala.sbaz.name}-${version.number}.advert" - name="${scala.sbaz.name}" - version="${version.number}" - desc="The Scala command runner. It is a wrapper around the Java VM that, -by default, sets up a large CLASSPATH including the Scala library -as well as all jars installed in the lib directory of the sbaz- -managed directory."> + file="${dist.dir}/${scala.sbaz.name}-${version.number}.sbp" + adfile="${dist.dir}/${scala.sbaz.name}-${version.number}.advert" + name="${scala.sbaz.name}" + version="${version.number}" + desc="The Scala command runner. It is a wrapper around the Java VM that, by default, sets up a large CLASSPATH including the Scala library as well as all jars installed in the lib directory of the sbaz-managed directory." + > <binset dir="${dist.current.dir}/bin" includes="${scala.exec.name}"/> <binset dir="${dist.current.dir}/bin" includes="${scala.exec.name}.bat"/> <manset dir="${docs.dir}/man" includes="${scala.exec.name}.1"/> </quicksbaz> - <quicksbaz - file="${dist.dir}/${scala.sbaz.name}-library-${version.number}.sbp" - adfile="${dist.dir}/${scala.sbaz.name}-library-${version.number}.advert" - name="${scala.sbaz.name}-library" - version="${version.number}" - desc="The base Scala library, required for running all Scala programs."> + file="${dist.dir}/${scala.sbaz.name}-library-${version.number}.sbp" + adfile="${dist.dir}/${scala.sbaz.name}-library-${version.number}.advert" + name="${scala.sbaz.name}-library" + version="${version.number}" + desc="The base Scala library, required for running all Scala programs." + > <libset dir="${dist.current.dir}/lib" includes="${dist.name}-library.jar"/> </quicksbaz> - <quicksbaz file="${dist.dir}/${scalaint.sbaz.name}-${version.number}.sbp" adfile="${dist.dir}/${scalaint.sbaz.name}-${version.number}.advert" name="${scalaint.sbaz.name}" version="${version.number}" depends="${scalac.sbaz.name}" - desc="A command-line interpreter for Scala."> + desc="A command-line interpreter for Scala." + > <binset dir="${dist.current.dir}/bin" includes="${scalaint.exec.name}"/> <binset dir="${dist.current.dir}/bin" includes="${scalaint.exec.name}.bat"/> </quicksbaz> @@ -751,26 +895,38 @@ CLEAN <macrodef name="remove"> <attribute name="dir"/> <sequential> - <delete dir="@{dir}" - includeemptydirs="yes" - quiet="yes" - failonerror="no"/> + <delete + dir="@{dir}" + includeemptydirs="yes" + quiet="yes" + failonerror="no" + /> </sequential> </macrodef> - <target name="clean"> + <target name="clean" description="Removes QUICK and STRAP build products"> <remove dir="${quick.dir}"/> + <remove dir="${strap.dir}"/> + </target> + + <target name="clean.build" description="Removes all build products"> + <remove dir="${build.dir}"/> </target> - <target name="clean.all"> + <target + name="clean.all" + description="Removes all build products and distributions" + > <remove dir="${build.dir}"/> <remove dir="${dist.dir}"/> </target> <target name="clean.unfreeze" depends="init"> - <delete file="${locker.dir}/complete" - quiet="yes" - failonerror="no"/> + <delete + file="${locker.dir}/complete" + quiet="yes" + failonerror="no" + /> <if> <not><isset property="unsafe"/></not> <then> |