summaryrefslogtreecommitdiff
path: root/sabbus.xml
diff options
context:
space:
mode:
authorGeoffrey Washburn <geoffrey.washburn@epfl.ch>2008-05-07 13:40:05 +0000
committerGeoffrey Washburn <geoffrey.washburn@epfl.ch>2008-05-07 13:40:05 +0000
commita959e93dbe91e86af22d913f75bd968a11985f33 (patch)
tree86077564840f0954038eb384423703f84d8ac025 /sabbus.xml
parent0385e9835d6fac729b6672294fa8e4c6b1ea3c10 (diff)
downloadscala-a959e93dbe91e86af22d913f75bd968a11985f33.tar.gz
scala-a959e93dbe91e86af22d913f75bd968a11985f33.tar.bz2
scala-a959e93dbe91e86af22d913f75bd968a11985f33.zip
Removing original copy of SuperSABBUS.
Diffstat (limited to 'sabbus.xml')
-rw-r--r--sabbus.xml1080
1 files changed, 0 insertions, 1080 deletions
diff --git a/sabbus.xml b/sabbus.xml
deleted file mode 100644
index 5075835ed1..0000000000
--- a/sabbus.xml
+++ /dev/null
@@ -1,1080 +0,0 @@
-<?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. Use PackSabbus to package it for different install management tools such as Sbaz.
- </description>
-
-<!-- ===========================================================================
-END-USER TARGETS
-============================================================================ -->
-
- <target name="build" depends="pack.done"
- description="Builds the Scala compiler and library. Executables are in 'build/pack/bin'."/>
-
- <target name="clean" depends="quick.clean"
- description="Removes binaries of compiler and library. Distributions are untouched."/>
-
- <target name="test" depends="test.done"
- description="Runs test suite and bootstrapping test on Scala compiler and library."/>
-
- <target name="docs" depends="docs.done"
- description="Builds documentation for the Scala library. Scaladoc is in 'build/scaladoc/library'."/>
-
- <target name="docscomp" depends="docs.comp"
- description="Builds documentation for the Scala compiler and library. Scaladoc is in 'build/scaladoc'."/>
-
- <target name="docsclean" depends="docs.clean"
- description="Removes generated documentation. Distributions are untouched."/>
-
- <target name="dist"
- description="Makes a new distribution and tests it. Will remove existing binaries and documentation.">
- <antcall target="locker.clean"/>
- <antcall target="docs.clean"/>
- <antcall target="all.done"/>
- </target>
-
- <target name="distclean" depends="dist.clean"
- description="Removes all distributions. Binaries and documentation are untouched."/>
-
- <target name="newstarr"
- description="Replaces the Starr compiler and library by one built from current sources and tests it.">
- <antcall target="locker.clean"/>
- <antcall target="starr.done"/>
- <antcall target="locker.clean"/>
- <antcall target="test.done"/>
- </target>
-
- <target name="freshlocker"
- description="Replaces the Locker compiler and library by one built from current sources.">
- <antcall target="locker.clean"/>
- <antcall target="locker.done"/>
- </target>
-
- <target name="newlocker"
- description="Unlocks the Locker compiler and library and lets them be updated by Scalac.">
- <antcall target="locker.unlock"/>
- <antcall target="locker.done"/>
- </target>
-
-<!-- ===========================================================================
-PROPERTIES
-============================================================================ -->
-
- <property environment="env"/>
-
- <!-- Prevents system classpath from being used -->
- <property name="build.sysclasspath" value="ignore"/>
-
- <!-- Defines the repository layout -->
- <property name="docs.dir" value="${basedir}/docs"/>
- <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"/>
-
- <!-- Loads custom properties definitions -->
- <property file="${basedir}/build.properties"/>
-
- <!-- Sets location of pre-compiled libraries -->
- <property name="lib.starr.jar" value="${lib.dir}/scala-library.jar"/>
- <property name="comp.starr.jar" value="${lib.dir}/scala-compiler.jar"/>
- <property name="fjbg.jar" value="${lib.dir}/fjbg.jar"/>
- <property name="msil.jar" value="${lib.dir}/msil.jar"/>
- <property name="jline.jar" value="${lib.dir}/jline.jar"/>
- <property name="ant.jar" value="${ant.home}/lib/ant.jar"/>
-
- <!-- Sets location of build folders -->
- <property name="build.dir" value="${basedir}/build"/>
- <property name="build-locker.dir" value="${build.dir}/locker"/>
- <property name="build-quick.dir" value="${build.dir}/quick"/>
- <property name="build-pack.dir" value="${build.dir}/pack"/>
- <property name="build-strap.dir" value="${build.dir}/strap"/>
- <property name="build-docs.dir" value="${build.dir}/scaladoc"/>
-
- <property name="dists.dir" value="${basedir}/dists"/>
-
- <property name="copyright.string" value="Copyright 2002-2008, LAMP/EPFL"/>
-
- <!-- These are NOT the flags used to run SuperSabbus -->
- <property name="java.flags" value="-Xmx256M -Xms32M"/>
-
-<!-- ===========================================================================
-INITIALISATION
-============================================================================ -->
-
- <target name="init">
- <!-- Setting-up Ant contrib tasks -->
- <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${lib.dir}/ant-contrib.jar"/>
- <!-- 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 -->
- <condition property="os.win">
- <os family="windows"/>
- </condition>
- <!-- Finding out SVN revision -->
- <exec executable="svn" vmlauncher="no" outputproperty="svn.out">
- <arg line=" info ${basedir}"/>
- </exec>
- <propertyregex
- property="svn.number" input="${svn.out}" select="\1"
- regexp="Revision: ([0-9]+)"
- defaultValue="0"/>
- <property name="init.avail" value="yes"/>
- <!-- Generating version number -->
- <property file="${basedir}/build.number"/>
- <property
- name="version.number"
- value="${version.major}.${version.minor}.${version.patch}.r${svn.number}-b${time.short}"/>
- <!-- And print-out what we are building -->
- <echo level="info" message="Build number is '${version.number}'"/>
- <echo level="info" message="Built ${time.human} from revision ${svn.number} with Java ${java.vm.version}"/>
- <!-- 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}/sabbus.jar"/>
- <pathelement location="${fjbg.jar}"/>
- <pathelement location="${ant.jar}"/>
- </path>
- <taskdef resource="scala/tools/ant/sabbus/antlib.xml" classpathref="starr.classpath"/>
- </target>
-
-<!-- ===========================================================================
-LOCAL REFERENCE BUILD (LOCKER)
-============================================================================ -->
-
- <target name="locker.start" depends="init">
- <condition property="locker.available">
- <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>
- </condition>
- </target>
-
- <target name="locker.lib" depends="locker.pre-lib" if="locker.lib.needed">
- <stopwatch name="locker.lib.timer"/>
- <mkdir dir="${build-locker.dir}/classes/library"/>
- <javac
- srcdir="${src.dir}/library"
- destdir="${build-locker.dir}/classes/library"
- classpath="${build-locker.dir}/classes/library"
- includes="**/*.java"
- target="1.5" source="1.5"/>
- <sabmake id="starr.lib.scalac"
- destdir="${build-locker.dir}/classes/library"
- compilerpathref="starr.classpath"
- srcpath="${src.dir}/library"
- target="jvm-1.5">
- <compilationpath>
- <pathelement location="${build-locker.dir}/classes/library"/>
- </compilationpath>
- </sabmake>
- <sabuse id="starr.lib.scalac" srcdir="${src.dir}/library">
- <include name="scala/Predef.scala"/>
- </sabuse>
- <sabuse id="starr.lib.scalac" srcdir="${src.dir}/library">
- <include name="**/*.scala"/>
- <exclude name="scala/Predef.scala"/>
- <exclude name="scala/dbc/**"/>
- <exclude name="scala/actors/**"/>
- </sabuse>
- <propertyfile file="${build-locker.dir}/classes/library/library.properties">
- <entry key="version.number" value="${version.number}"/>
- <entry key="copyright.string" value="${copyright.string}"/>
- </propertyfile>
- <copy todir="${build-locker.dir}/classes/library">
- <fileset dir="${src.dir}/library">
- <include name="**/*.tmpl"/>
- <include name="**/*.xml"/>
- <include name="**/*.js"/>
- <include name="**/*.css"/>
- </fileset>
- </copy>
- <sabbreak id="starr.lib.scalac"/>
- <touch file="${build-locker.dir}/library.complete" verbose="no"/>
- <stopwatch name="locker.lib.timer" action="total"/>
- </target>
-
- <target name="locker.pre-comp" depends="locker.lib" unless="locker.available">
- <condition property="locker.comp.needed">
- <not><available file="${build-locker.dir}/compiler.complete"/></not>
- </condition>
- </target>
-
- <target name="locker.comp" depends="locker.pre-comp" if="locker.comp.needed">
- <stopwatch name="locker.comp.timer"/>
- <mkdir dir="${build-locker.dir}/classes/compiler"/>
- <sabmake id="starr.comp.scalac"
- destdir="${build-locker.dir}/classes/compiler"
- compilerpathref="starr.classpath"
- srcpath="${src.dir}/compiler"
- target="jvm-1.5">
- <compilationpath>
- <pathelement location="${build-locker.dir}/classes/library"/>
- <pathelement location="${build-locker.dir}/classes/compiler"/>
- <pathelement location="${fjbg.jar}"/>
- <pathelement location="${msil.jar}"/>
- <pathelement location="${jline.jar}"/>
- <pathelement location="${ant.jar}"/>
- </compilationpath>
- </sabmake>
- <sabuse id="starr.comp.scalac" srcdir="${src.dir}/compiler">
- <include name="**/*.scala"/>
- </sabuse>
- <propertyfile file="${build-locker.dir}/classes/compiler/compiler.properties">
- <entry key="version.number" value="${version.number}"/>
- <entry key="copyright.string" value="${copyright.string}"/>
- </propertyfile>
- <copy todir="${build-locker.dir}/classes/compiler">
- <fileset dir="${src.dir}/compiler">
- <include name="**/*.tmpl"/>
- <include name="**/*.xml"/>
- <include name="**/*.js"/>
- <include name="**/*.css"/>
- </fileset>
- </copy>
- <sabbreak id="starr.comp.scalac"/>
- <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="${fjbg.jar}"/>
- <pathelement location="${ant.jar}"/>
- </path>
- </target>
-
- <target name="locker.clean" depends="quick.clean">
- <delete dir="${build-locker.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
- </target>
-
- <target name="locker.unlock" depends="quick.clean">
- <delete file="${build-locker.dir}/library.complete"/>
- <delete file="${build-locker.dir}/compiler.complete"/>
- </target>
-
-<!-- ===========================================================================
-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/**"/>
- </srcfiles>
- </uptodate>
- </target>
-
- <target name="quick.lib" depends="quick.pre-lib" unless="quick.lib.available">
- <stopwatch name="quick.lib.timer"/>
- <mkdir dir="${build-quick.dir}/classes/library"/>
- <javac
- srcdir="${src.dir}/library"
- destdir="${build-quick.dir}/classes/library"
- classpath="${build-quick.dir}/classes/library"
- includes="**/*.java"
- target="1.5" source="1.5"/>
- <javac
- srcdir="${src.dir}/actors"
- destdir="${build-quick.dir}/classes/library"
- classpath="${build-quick.dir}/classes/library"
- includes="**/*.java"
- target="1.5" source="1.5"/>
- <sabmake id="locker.lib.scalac"
- destdir="${build-quick.dir}/classes/library"
- compilerpathref="locker.classpath"
- srcpath="${src.dir}/library"
- target="jvm-1.5">
- <compilationpath>
- <pathelement location="${build-quick.dir}/classes/library"/>
- </compilationpath>
- </sabmake>
- <sabuse id="locker.lib.scalac" srcdir="${src.dir}/library">
- <include name="scala/Predef.scala"/>
- </sabuse>
- <!-- re-instantiate locker.lib.scalac because keeping the same instance will lead to some attributes missing -->
- <sabbreak id="locker.lib.scalac"/>
- <sabmake id="locker.lib.scalac"
- destdir="${build-quick.dir}/classes/library"
- compilerpathref="locker.classpath"
- srcpath="${src.dir}/library"
- target="jvm-1.5">
- <compilationpath>
- <pathelement location="${build-quick.dir}/classes/library"/>
- </compilationpath>
- </sabmake>
- <sabuse id="locker.lib.scalac" srcdir="${src.dir}/library">
- <include name="**/*.scala"/>
- <exclude name="scala/Predef.scala"/>
- </sabuse>
- <sabuse id="locker.lib.scalac" srcdir="${src.dir}/actors">
- <include name="**/*.scala"/>
- </sabuse>
- <sabuse id="locker.lib.scalac" srcdir="${src.dir}/dbc">
- <include name="**/*.scala"/>
- </sabuse>
- <propertyfile file="${build-quick.dir}/classes/library/library.properties">
- <entry key="version.number" value="${version.number}"/>
- <entry key="copyright.string" value="${copyright.string}"/>
- </propertyfile>
- <copy todir="${build-quick.dir}/classes/library">
- <fileset dir="${src.dir}/library">
- <include name="**/*.tmpl"/>
- <include name="**/*.xml"/>
- <include name="**/*.js"/>
- <include name="**/*.css"/>
- </fileset>
- </copy>
- <sabbreak id="locker.lib.scalac"/>
- <touch file="${build-quick.dir}/library.complete" verbose="no"/>
- <stopwatch name="quick.lib.timer" action="total"/>
- </target>
-
- <target name="quick.pre-comp" depends="quick.lib">
- <uptodate property="quick.comp.available" targetfile="${build-quick.dir}/compiler.complete">
- <srcfiles dir="${src.dir}/compiler"/>
- </uptodate>
- </target>
-
- <target name="quick.comp" depends="quick.pre-comp" unless="quick.comp.available">
- <stopwatch name="quick.comp.timer"/>
- <mkdir dir="${build-quick.dir}/classes/compiler"/>
- <sabmake id="locker.comp.scalac"
- destdir="${build-quick.dir}/classes/compiler"
- compilerpathref="locker.classpath"
- srcpath="${src.dir}/compiler"
- target="jvm-1.5">
- <compilationpath>
- <pathelement location="${build-quick.dir}/classes/library"/>
- <pathelement location="${build-quick.dir}/classes/compiler"/>
- <pathelement location="${fjbg.jar}"/>
- <pathelement location="${msil.jar}"/>
- <pathelement location="${jline.jar}"/>
- <pathelement location="${ant.jar}"/>
- </compilationpath>
- </sabmake>
- <sabuse id="locker.comp.scalac" srcdir="${src.dir}/compiler">
- <include name="**/*.scala"/>
- </sabuse>
- <propertyfile file="${build-quick.dir}/classes/compiler/compiler.properties">
- <entry key="version.number" value="${version.number}"/>
- <entry key="copyright.string" value="${copyright.string}"/>
- </propertyfile>
- <copy todir="${build-quick.dir}/classes/compiler">
- <fileset dir="${src.dir}/compiler">
- <include name="**/*.tmpl"/>
- <include name="**/*.xml"/>
- <include name="**/*.js"/>
- <include name="**/*.css"/>
- </fileset>
- </copy>
- <sabbreak id="locker.comp.scalac"/>
- <touch file="${build-quick.dir}/compiler.complete" verbose="no"/>
- <stopwatch name="quick.comp.timer" action="total"/>
- </target>
-
- <target name="quick.pre-partest" depends="quick.comp">
- <uptodate property="quick.partest.available" targetfile="${build-quick.dir}/partest.complete">
- <srcfiles dir="${src.dir}/partest"/>
- </uptodate>
- </target>
-
- <target name="quick.partest" depends="quick.pre-partest" unless="quick.partest.available">
- <stopwatch name="quick.partest.timer"/>
- <mkdir dir="${build-quick.dir}/classes/partest"/>
- <javac
- srcdir="${src.dir}/partest"
- destdir="${build-quick.dir}/classes/partest"
- target="1.5" source="1.5">
- <classpath>
- <pathelement location="${build-quick.dir}/classes/library"/>
- <pathelement location="${build-quick.dir}/classes/compiler"/>
- <pathelement location="${build-quick.dir}/classes/partest"/>
- </classpath>
- <include name="**/*.java"/>
- </javac>
- <sabmake id="locker.partest.scalac"
- destdir="${build-quick.dir}/classes/partest"
- compilerpathref="locker.classpath"
- srcpath="${src.dir}/paartest"
- target="jvm-1.5">
- <compilationpath>
- <pathelement location="${build-quick.dir}/classes/library"/>
- <pathelement location="${build-quick.dir}/classes/compiler"/>
- <pathelement location="${build-quick.dir}/classes/partest"/>
- <pathelement location="${ant.jar}"/>
- </compilationpath>
- </sabmake>
- <sabuse id="locker.partest.scalac" srcdir="${src.dir}/partest">
- <include name="**/*.scala"/>
- </sabuse>
- <copy todir="${build-quick.dir}/classes/partest">
- <fileset dir="${src.dir}/partest">
- <include name="**/*.xml"/>
- </fileset>
- </copy>
- <sabbreak id="locker.partest.scalac"/>
- <touch file="${build-quick.dir}/partest.complete" verbose="no"/>
- <stopwatch name="quick.partest.timer" action="total"/>
- </target>
-
- <target name="quick.pre-bin" depends="quick.partest">
- <condition property="quick.bin.available">
- <isset property="quick.comp.available"/>
- </condition>
- </target>
-
- <target name="quick.bin" depends="quick.pre-bin" unless="quick.bin.available">
- <path id="quick.bin.classpath">
- <pathelement location="${build-quick.dir}/classes/library"/>
- <pathelement location="${build-quick.dir}/classes/compiler"/>
- <pathelement location="${fjbg.jar}"/>
- <pathelement location="${jline.jar}"/>
- </path>
- <taskdef name="quick-bin" classname="scala.tools.ant.ScalaTool" classpathref="quick.bin.classpath"/>
- <mkdir dir="${build-quick.dir}/bin"/>
- <quick-bin
- file="${build-quick.dir}/bin/scala"
- class="scala.tools.nsc.MainGenericRunner"
- javaFlags="${java.flags}"
- classpathref="quick.bin.classpath"/>
- <quick-bin
- file="${build-quick.dir}/bin/scalac"
- class="scala.tools.nsc.Main"
- javaFlags="${java.flags}"
- classpathref="quick.bin.classpath"/>
- <quick-bin
- file="${build-quick.dir}/bin/scaladoc"
- class="scala.tools.nsc.ScalaDoc"
- javaFlags="${java.flags}"
- classpathref="quick.bin.classpath"/>
- <quick-bin
- file="${build-quick.dir}/bin/fsc"
- class="scala.tools.nsc.CompileClient"
- javaFlags="${java.flags}"
- classpathref="quick.bin.classpath"/>
- <chmod perm="ugo+rx" file="${build-quick.dir}/bin/scala"/>
- <chmod perm="ugo+rx" file="${build-quick.dir}/bin/scalac"/>
- <chmod perm="ugo+rx" file="${build-quick.dir}/bin/scaladoc"/>
- <chmod perm="ugo+rx" file="${build-quick.dir}/bin/fsc"/>
- <touch file="${build-quick.dir}/bin.complete" verbose="no"/>
- </target>
-
- <target name="quick.done" depends="quick.bin"/>
-
- <target name="quick.clean" depends="pack.clean">
- <delete dir="${build-quick.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
- </target>
-
-<!-- ===========================================================================
-PACKED QUICK BUILD (PACK)
-============================================================================ -->
-
- <target name="pack.start" depends="quick.done"/>
-
- <target name="pack.pre-lib" depends="pack.start">
- <uptodate
- property="pack.lib.available"
- targetfile="${build-pack.dir}/lib/scala-library.jar"
- srcfile="${build-quick.dir}/library.complete"/>
- </target>
-
- <target name="pack.lib" depends="pack.pre-lib" unless="pack.lib.available">
- <mkdir dir="${build-pack.dir}/lib"/>
- <jar destfile="${build-pack.dir}/lib/scala-library.jar">
- <fileset dir="${build-quick.dir}/classes/library">
- <exclude name="scala/dbc/**"/>
- </fileset>
- </jar>
- <jar destfile="${build-pack.dir}/lib/scala-dbc.jar">
- <fileset dir="${build-quick.dir}/classes/library">
- <include name="scala/dbc/**"/>
- </fileset>
- </jar>
- </target>
-
- <target name="pack.pre-comp" depends="pack.lib">
- <uptodate
- property="pack.comp.available"
- targetfile="${build-pack.dir}/lib/scala-compiler.jar"
- srcfile="${build-quick.dir}/compiler.complete"/>
- </target>
-
- <target name="pack.comp" depends="pack.pre-comp" unless="pack.comp.available">
- <mkdir dir="${build-pack.dir}/lib"/>
- <jar destfile="${build-pack.dir}/lib/scala-compiler.jar">
- <fileset dir="${build-quick.dir}/classes/compiler"/>
- <zipfileset src="${fjbg.jar}"/>
- <zipfileset src="${msil.jar}"/>
- <zipfileset src="${jline.jar}"/>
- </jar>
- </target>
-
- <target name="pack.pre-partest" depends="pack.comp">
- <uptodate
- property="pack.partest.available"
- targetfile="${build-pack.dir}/lib/scala-partest.jar"
- srcfile="${build-quick.dir}/partest.complete"/>
- </target>
-
- <target name="pack.partest" depends="pack.pre-partest" unless="pack.partest.available">
- <mkdir dir="${build-pack.dir}/lib"/>
- <jar destfile="${build-pack.dir}/lib/scala-partest.jar">
- <fileset dir="${build-quick.dir}/classes/partest"/>
- </jar>
- </target>
-
- <target name="pack.pre-bin" depends="pack.partest">
- <uptodate
- property="pack.bin.available"
- srcfile="${build-pack.dir}/lib/scala-compiler.jar"
- targetfile="${build-pack.dir}/bin.complete"/>
- </target>
-
- <target name="pack.bin" depends="pack.pre-bin" unless="pack.bin.available">
- <taskdef name="pack-bin" classname="scala.tools.ant.ScalaTool">
- <classpath>
- <pathelement location="${build-pack.dir}/lib/scala-library.jar"/>
- <pathelement location="${build-pack.dir}/lib/scala-compiler.jar"/>
- </classpath>
- </taskdef>
- <mkdir dir="${build-pack.dir}/bin"/>
- <pack-bin
- file="${build-pack.dir}/bin/scala"
- class="scala.tools.nsc.MainGenericRunner"
- javaFlags="${java.flags}"/>
- <pack-bin
- file="${build-pack.dir}/bin/scalac"
- class="scala.tools.nsc.Main"
- javaFlags="${java.flags}"/>
- <pack-bin
- file="${build-pack.dir}/bin/scaladoc"
- class="scala.tools.nsc.ScalaDoc"
- javaFlags="${java.flags}"/>
- <pack-bin
- file="${build-pack.dir}/bin/fsc"
- class="scala.tools.nsc.CompileClient"
- javaFlags="${java.flags}"/>
- <chmod perm="ugo+rx" file="${build-pack.dir}/bin/scala"/>
- <chmod perm="ugo+rx" file="${build-pack.dir}/bin/scalac"/>
- <chmod perm="ugo+rx" file="${build-pack.dir}/bin/scaladoc"/>
- <chmod perm="ugo+rx" file="${build-pack.dir}/bin/fsc"/>
- <touch file="${build-pack.dir}/bin.complete" verbose="no"/>
- </target>
-
- <target name="pack.done" depends="pack.bin">
- <path id="pack.classpath">
- <pathelement location="${build-pack.dir}/lib/scala-library.jar"/>
- <pathelement location="${build-pack.dir}/lib/scala-compiler.jar"/>
- <pathelement location="${build-pack.dir}/lib/scala-partest.jar"/>
- <pathelement location="${ant.jar}"/>
- </path>
- <taskdef resource="scala/tools/ant/antlib.xml" classpathref="pack.classpath"/>
- <taskdef resource="scala/tools/partest/antlib.xml" classpathref="pack.classpath"/>
- </target>
-
- <target name="pack.clean" depends="strap.clean">
- <delete dir="${build-pack.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
- </target>
-
-<!-- ===========================================================================
-BOOTSTRAPPING BUILD (STRAP)
-============================================================================ -->
-
- <target name="strap.start" depends="pack.done"/>
-
- <target name="strap.pre-lib" depends="strap.start">
- <uptodate property="strap.lib.available" targetfile="${build-strap.dir}/library.complete">
- <srcfiles dir="${src.dir}">
- <include name="library/**"/>
- <include name="dbc/**"/>
- <include name="actors/**"/>
- </srcfiles>
- </uptodate>
- </target>
-
- <target name="strap.lib" depends="strap.pre-lib" unless="strap.lib.available">
- <stopwatch name="strap.lib.timer"/>
- <mkdir dir="${build-strap.dir}/classes/library"/>
- <javac
- srcdir="${src.dir}/library"
- destdir="${build-strap.dir}/classes/library"
- classpath="${build-strap.dir}/classes/library"
- includes="**/*.java"
- target="1.5" source="1.5"/>
- <javac
- srcdir="${src.dir}/actors"
- destdir="${build-strap.dir}/classes/library"
- classpath="${build-strap.dir}/classes/library"
- includes="**/*.java"
- target="1.5" source="1.5"/>
- <scalac
- srcdir="${src.dir}/library"
- destdir="${build-strap.dir}/classes/library"
- classpath="${build-strap.dir}/classes/library"
- sourcepath="${src.dir}/library"
- target="jvm-1.5">
- <include name="scala/Predef.scala"/>
- </scalac>
- <scalac
- srcdir="${src.dir}/library"
- destdir="${build-strap.dir}/classes/library"
- classpath="${build-strap.dir}/classes/library"
- target="jvm-1.5">
- <include name="**/*.scala"/>
- <exclude name="scala/Predef.scala"/>
- </scalac>
- <scalac
- srcdir="${src.dir}/actors"
- destdir="${build-strap.dir}/classes/library"
- classpath="${build-strap.dir}/classes/library"
- target="jvm-1.5">
- <include name="**/*.scala"/>
- </scalac>
- <scalac
- srcdir="${src.dir}/dbc"
- destdir="${build-strap.dir}/classes/library"
- classpath="${build-strap.dir}/classes/library"
- target="jvm-1.5">
- <include name="**/*.scala"/>
- </scalac>
- <propertyfile file="${build-strap.dir}/classes/library/library.properties">
- <entry key="version.number" value="${version.number}"/>
- <entry key="copyright.string" value="${copyright.string}"/>
- </propertyfile>
- <copy todir="${build-strap.dir}/classes/library">
- <fileset dir="${src.dir}/library">
- <include name="**/*.tmpl"/>
- <include name="**/*.xml"/>
- <include name="**/*.js"/>
- <include name="**/*.css"/>
- </fileset>
- </copy>
- <touch file="${build-strap.dir}/library.complete" verbose="no"/>
- <stopwatch name="strap.lib.timer" action="total"/>
- </target>
-
- <target name="strap.pre-comp" depends="strap.lib">
- <uptodate property="strap.comp.available" targetfile="${build-strap.dir}/compiler.complete">
- <srcfiles dir="${src.dir}/compiler"/>
- </uptodate>
- </target>
-
- <target name="strap.comp" depends="strap.pre-comp" unless="strap.comp.available">
- <stopwatch name="strap.comp.timer"/>
- <mkdir dir="${build-strap.dir}/classes/compiler"/>
- <scalac
- srcdir="${src.dir}/compiler"
- destdir="${build-strap.dir}/classes/compiler"
- target="jvm-1.5">
- <include name="**/*.scala"/>
- <classpath>
- <pathelement location="${build-strap.dir}/classes/library"/>
- <pathelement location="${build-strap.dir}/classes/compiler"/>
- <pathelement location="${fjbg.jar}"/>
- <pathelement location="${msil.jar}"/>
- <pathelement location="${jline.jar}"/>
- <pathelement location="${ant.jar}"/>
- </classpath>
- </scalac>
- <propertyfile file="${build-strap.dir}/classes/compiler/compiler.properties">
- <entry key="version.number" value="${version.number}"/>
- <entry key="copyright.string" value="${copyright.string}"/>
- </propertyfile>
- <copy todir="${build-strap.dir}/classes/compiler">
- <fileset dir="${src.dir}/compiler">
- <include name="**/*.tmpl"/>
- <include name="**/*.xml"/>
- <include name="**/*.js"/>
- <include name="**/*.css"/>
- </fileset>
- </copy>
- <touch file="${build-strap.dir}/compiler.complete" verbose="no"/>
- <stopwatch name="strap.comp.timer" action="total"/>
- </target>
-
- <target name="strap.pre-partest" depends="strap.comp">
- <uptodate property="strap.partest.available" targetfile="${build-strap.dir}/partest.complete">
- <srcfiles dir="${src.dir}/partest"/>
- </uptodate>
- </target>
-
- <target name="strap.partest" depends="strap.pre-partest" unless="strap.partest.available">
- <stopwatch name="strap.partest.timer"/>
- <mkdir dir="${build-strap.dir}/classes/partest"/>
- <javac
- srcdir="${src.dir}/partest"
- destdir="${build-strap.dir}/classes/partest"
- target="1.5" source="1.5">
- <classpath>
- <pathelement location="${build-strap.dir}/classes/library"/>
- <pathelement location="${build-strap.dir}/classes/compiler"/>
- <pathelement location="${build-strap.dir}/classes/partest"/>
- </classpath>
- <include name="**/*.java"/>
- </javac>
- <scalac
- srcdir="${src.dir}/partest"
- destdir="${build-strap.dir}/classes/partest"
- target="jvm-1.5">
- <include name="**/*.scala"/>
- <classpath>
- <pathelement location="${build-strap.dir}/classes/library"/>
- <pathelement location="${build-strap.dir}/classes/compiler"/>
- <pathelement location="${build-strap.dir}/classes/partest"/>
- <pathelement location="${ant.jar}"/>
- </classpath>
- </scalac>
- <copy todir="${build-strap.dir}/classes/partest">
- <fileset dir="${src.dir}/partest">
- <include name="**/*.xml"/>
- </fileset>
- </copy>
- <touch file="${build-strap.dir}/partest.complete" verbose="no"/>
- <stopwatch name="strap.partest.timer" action="total"/>
- </target>
-
- <target name="strap.done" depends="strap.partest"/>
-
- <target name="strap.clean">
- <delete dir="${build-strap.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
- </target>
-
-<!-- ===========================================================================
-DOCUMENTATION
-============================================================================ -->
-
- <target name="docs.start" depends="pack.done"/>
-
- <target name="docs.pre-lib" depends="docs.start">
- <uptodate property="docs.lib.available" targetfile="${build-docs.dir}/library.complete">
- <srcfiles dir="${src.dir}">
- <include name="library/**"/>
- <include name="dbc/**"/>
- <include name="actors/**"/>
- </srcfiles>
- </uptodate>
- </target>
-
- <target name="docs.lib" depends="docs.pre-lib" unless="docs.lib.available">
- <stopwatch name="docs.lib.timer"/>
- <mkdir dir="${build-docs.dir}/library"/>
- <scaladoc
- destdir="${build-docs.dir}/library"
- windowtitle="Scala Library"
- doctitle="Scala ${version.number} API"
- classpathref="pack.classpath">
- <src>
- <files includes="${src.dir}/actors"/>
- <files includes="${src.dir}/library/scala"/>
- </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"/>
- </scaladoc>
- <touch file="${build-docs.dir}/library.complete" verbose="no"/>
- <stopwatch name="docs.lib.timer" action="total"/>
- </target>
-
- <target name="docs.pre-comp" depends="docs.lib">
- <uptodate property="docs.comp.available" targetfile="${build-docs.dir}/compiler.complete">
- <srcfiles dir="${src.dir}/compiler"/>
- </uptodate>
- </target>
-
- <target name="docs.comp" depends="docs.pre-comp" unless="docs.comp.available">
- <stopwatch name="docs.comp.timer"/>
- <mkdir dir="${build-docs.dir}/compiler"/>
- <scaladoc
- destdir="${build-docs.dir}/compiler"
- windowtitle="Scala Compiler"
- doctitle="Scala Compiler ${version.number} API"
- classpathref="pack.classpath"
- srcdir="${src.dir}/compiler">
- <include name="**/*.scala"/>
- </scaladoc>
- <touch file="${build-docs.dir}/compiler.complete" verbose="no"/>
- <stopwatch name="docs.comp.timer" action="total"/>
- </target>
-
- <target name="docs.done" depends="docs.lib"/>
-
- <target name="docs.clean">
- <delete dir="${build-docs.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
- </target>
-
-<!-- ===========================================================================
-BOOTRAPING TEST AND TEST SUITE
-============================================================================ -->
-
- <target name="test.stability" depends="strap.done">
- <same dir="${build-quick.dir}" todir="${build-strap.dir}" failondifferent="no">
- <exclude name="**/*.properties"/>
- <exclude name="bin/**"/>
- <exclude name="*.complete"/>
- </same>
- </target>
-
- <target name="test.suite" depends="pack.done">
- <partest showlog="yes" erroronfailed="yes" javacmd="${java.home}/bin/java">
- <classpath>
- <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"/>
- <include name="jvm/**/*.scala"/>
- <include name="jvm5/**/*.scala"/>
- </runtests>
- <residenttests dir="${test.dir}/files/res" includes="*.res"/>
- </partest>
- </target>
-
- <target name="test.done" depends="test.suite, test.stability"/>
-
-<!-- ===========================================================================
-DISTRIBUTION
-============================================================================ -->
-
- <target name="dist.start" depends="docs.done, pack.done">
- <property name="dist.dir" value="${dists.dir}/scala-${version.number}"/>
- </target>
-
- <target name="dist.base" depends="dist.start">
- <mkdir dir="${dist.dir}/lib"/>
- <copy toDir="${dist.dir}/lib">
- <fileset dir="${build-pack.dir}/lib"/>
- </copy>
- <mkdir dir="${dist.dir}/bin"/>
- <copy toDir="${dist.dir}/bin">
- <fileset dir="${build-pack.dir}/bin"/>
- </copy>
- <chmod perm="ugo+rx" file="${dist.dir}/bin/scala"/>
- <chmod perm="ugo+rx" file="${dist.dir}/bin/scalac"/>
- <chmod perm="ugo+rx" file="${dist.dir}/bin/scaladoc"/>
- <chmod perm="ugo+rx" file="${dist.dir}/bin/fsc"/>
- </target>
-
- <target name="dist.doc" depends="dist.base">
- <mkdir dir="${dist.dir}/doc/scala"/>
- <copy file="${docs.dir}/LICENSE" toDir="${dist.dir}/doc/scala"/>
- <copy file="${docs.dir}/README" toDir="${dist.dir}/doc/scala"/>
- <mkdir dir="${dist.dir}/doc/scala/api"/>
- <copy toDir="${dist.dir}/doc/scala/api">
- <fileset dir="${build-docs.dir}/library"/>
- </copy>
- <mkdir dir="${dist.dir}/doc/scala/examples"/>
- <copy toDir="${dist.dir}/doc/scala/examples">
- <fileset dir="${docs.dir}/examples"/>
- </copy>
- </target>
-
- <target name="dist.man" depends="dist.doc">
- <mkdir dir="${dist.dir}/man"/>
- <copy toDir="${dist.dir}/man">
- <fileset dir="${docs.dir}/man"/>
- </copy>
- </target>
-
- <target name="dist.src" depends="dist.man">
- <mkdir dir="${dist.dir}/src"/>
- <jar destfile="${dist.dir}/src/scala-library-src.jar">
- <fileset dir="${src.dir}/library"/>
- <fileset dir="${src.dir}/actors"/>
- </jar>
- <jar destfile="${dist.dir}/src/scala-dbc-src.jar">
- <fileset dir="${src.dir}/dbc"/>
- </jar>
- <jar destfile="${dist.dir}/src/scala-compiler-src.jar">
- <fileset dir="${src.dir}/compiler"/>
- </jar>
- </target>
-
- <target name="dist.latest" depends="dist.src" unless="os.win">
- <symlink link="${dists.dir}/latest" resource="${dist.dir}" overwrite="yes"/>
- </target>
-
- <target name="dist.done" depends="dist.latest"/>
-
- <target name="dist.clean">
- <delete dir="${dists.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
- </target>
-
-<!-- ===========================================================================
-TEST AND DISTRIBUTION BUNDLE (ALL)
-============================================================================ -->
-
- <target name="all.done" depends="dist.done, test.done"/>
-
- <target name="all.clean" depends="locker.clean, docs.clean, dist.clean"/>
-
-<!-- ===========================================================================
-STABLE REFERENCE (STARR)
-============================================================================ -->
-
- <target name="starr.start" depends="pack.done"/>
-
- <target name="starr.clean" depends="locker.clean, starr.start">
- <delete file="${lib.starr.jar}"/>
- <delete file="${comp.starr.jar}"/>
- <delete file="${lib.dir}/scala-library-src.jar"/>
- </target>
-
- <target name="starr.lib" depends="starr.clean">
- <copy file="${build-pack.dir}/lib/scala-library.jar" toFile="${lib.starr.jar}"/>
- </target>
-
- <target name="starr.comp" depends="starr.lib">
- <jar destfile="${comp.starr.jar}">
- <fileset dir="${build-quick.dir}/classes/compiler"/>
- </jar>
- </target>
-
- <target name="starr.src" depends="starr.comp">
- <jar destfile="${lib.dir}/scala-library-src.jar">
- <fileset dir="${src.dir}/library"/>
- <fileset dir="${src.dir}/actors"/>
- </jar>
- </target>
-
- <target name="starr.done" depends="starr.src"/>
-
-<!-- ===========================================================================
-FORWARDED TARGETS FOR JVM 1.4 BUILD
-============================================================================ -->
-
- <target name="four" depends="pack.done">
- <ant antfile="${src.dir}/build/four.xml" target="four-pack.done" inheritall="yes" inheritrefs="yes"/>
- </target>
-
- <target name="fourtest" depends="pack.done">
- <ant antfile="${src.dir}/build/four.xml" target="four-test.done" inheritall="yes" inheritrefs="yes"/>
- </target>
-
- <target name="fourdist" depends="pack.done">
- <ant antfile="${src.dir}/build/four.xml" target="four-all.done" inheritall="yes" inheritrefs="yes"/>
- </target>
-
- <target name="fourclean">
- <ant antfile="${src.dir}/build/four.xml" target="four-all.clean" inheritall="yes" inheritrefs="yes"/>
- </target>
-
-<!-- ===========================================================================
-FORWARDED TARGETS FOR MSIL BUILD
-============================================================================ -->
-
- <target name="msil" depends="pack.done">
- <ant antfile="${src.dir}/build/msil.xml" target="msil.build" inheritall="yes" inheritrefs="yes"/>
- </target>
-
- <target name="msilclean">
- <ant antfile="${src.dir}/build/msil.xml" target="msil.clean" inheritall="yes" inheritrefs="yes"/>
- </target>
-
-<!-- ===========================================================================
-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="fourdistpack" depends="fourdist">
- <ant antfile="${src.dir}/build/pack.xml" target="fourpack-all.done" inheritall="yes" inheritrefs="yes"/>
- </target>
-
-<!-- ===========================================================================
-FORWARDED TARGETS FOR NIGHTLY BUILDS
-============================================================================ -->
-
- <target name="nightly" depends="all.done">
- <ant antfile="${src.dir}/build/pack.xml" target="pack-all.done" inheritall="yes" inheritrefs="yes"/>
- </target>
-
- <target name="fournightly" depends="pack.done">
- <ant antfile="${src.dir}/build/four.xml" target="four-all.done" inheritall="yes" inheritrefs="yes"/>
- <ant antfile="${src.dir}/build/pack.xml" target="fourpack-all.done" inheritall="yes" inheritrefs="yes"/>
- </target>
-
- <target name="msilnightly"/>
-
-<!-- ===========================================================================
-MISCELLANEOUS
-============================================================================ -->
-
- <target name="graph.init">
- <taskdef name="vizant" classname="vizant.Vizant" classpath="${lib-ant.dir}/vizant.jar"/>
- </target>
-
- <target name="graph.clean" depends="graph.init">
- <vizant antfile="${ant.file}" outfile="${ant.project.name}.dot" from="starr.clean"/>
- </target>
-
- <target name="graph.all" depends="graph.init">
- <vizant antfile="${ant.file}" outfile="${ant.project.name}.dot" from="all.done"/>
- </target>
-
- <target name="graph.sabbus" depends="graph.init">
- <vizant antfile="${ant.file}" outfile="${ant.project.name}.dot"/>
- </target>
-
-<!-- ===========================================================================
-MAKE SABBUS JAR (to remove once sabbus is part of starr library)
-============================================================================ -->
-
- <target name="sabbus.start" depends="init"/>
-
- <target name="sabbus.build" depends="sabbus.start">
- <taskdef resource="scala/tools/ant/antlib.xml" classpathref="starr.classpath"/>
- <mkdir dir="${build.dir}/sabbus"/>
- <scalac
- srcdir="${src.dir}/compiler/scala/tools/ant/sabbus/"
- destdir="${build.dir}/sabbus"
- target="jvm-1.5">
- <include name="*.scala"/>
- <classpath>
- <pathelement location="${lib.starr.jar}"/>
- <pathelement location="${comp.starr.jar}"/>
- <pathelement location="${ant.jar}"/>
- </classpath>
- </scalac>
- <copy
- file="${src.dir}/compiler/scala/tools/ant/sabbus/antlib.xml"
- todir="${build.dir}/sabbus/scala/tools/ant/sabbus"/>
- <jar
- destfile="${lib.dir}/sabbus.jar"
- basedir="${build.dir}/sabbus"/>
- </target>
-
- <target name="sabbus.done" depends="sabbus.build"/>
-
-</project>