summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2006-03-06 14:12:09 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2006-03-06 14:12:09 +0000
commiteb9f31482b78399e35de662e9e90f082a6988927 (patch)
tree0be4c75e9f55747fa85021cda6781d91f383b131 /build.xml
parent750b48f0916b6847834cc4bfc7e6a748fa49bc26 (diff)
downloadscala-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.
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml696
1 files changed, 426 insertions, 270 deletions
diff --git a/build.xml b/build.xml
index e6d701a7d0..7729bb58d8 100644
--- a/build.xml
+++ b/build.xml
@@ -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>