summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml321
1 files changed, 242 insertions, 79 deletions
diff --git a/build.xml b/build.xml
index 32acdbfac8..efaa1941da 100644
--- a/build.xml
+++ b/build.xml
@@ -125,10 +125,15 @@ END-USER TARGETS
</target>
<target name="newlibs"
- description="Requires libraries (MSIL, FJBG, FORKJOIN) to be rebuilt. Add this target before any other if class file format is incompatible.">
+ description="Requires libraries (MSIL, FJBG) to be rebuilt. Add this target before any other if class file format is incompatible.">
<property name="libs.outdated" value="yes"/>
</target>
+ <target name="newforkjoin"
+ description="Requires forkjoin library to be rebuilt. Add this target before any other if class file format is incompatible.">
+ <property name="forkjoin.outdated" value="yes"/>
+ </target>
+
<!-- ===========================================================================
PROPERTIES
============================================================================ -->
@@ -142,7 +147,9 @@ PROPERTIES
<property name="lib.dir" value="${basedir}/lib"/>
<property name="lib-ant.dir" value="${lib.dir}/ant"/>
<property name="src.dir" value="${basedir}/src"/>
- <property name="test.dir" value="${basedir}/test"/>
+ <property name="partest.rootdir" location="test" />
+ <property name="partest.srcdir.default" value="files" />
+ <property name="partest.options" value="" />
<!-- Loads custom properties definitions -->
<property file="${basedir}/build.properties"/>
@@ -156,6 +163,7 @@ PROPERTIES
<property name="comp.starr.jar" value="${lib.dir}/scala-compiler.jar"/>
<property name="jline.jar" value="${lib.dir}/jline.jar"/>
<property name="ant.jar" value="${ant.home}/lib/ant.jar"/>
+ <property name="scalacheck.jar" value="${lib.dir}/scalacheck.jar"/>
<!-- Sets location of build folders -->
<property name="build.dir" value="${basedir}/build"/>
@@ -170,7 +178,7 @@ PROPERTIES
<property name="dists.dir" value="${basedir}/dists"/>
<property name="copyright.string" value="Copyright 2002-2010, LAMP/EPFL"/>
- <property name="partest.version.number" value="0.9.2"/>
+ <property name="partest.version.number" value="0.9.3"/>
<!-- These are NOT the flags used to run SuperSabbus, but the ones written
into the script runners created with scala.tools.ant.ScalaTool -->
@@ -178,16 +186,11 @@ PROPERTIES
<!-- if ANT_OPTS is already set by the environment, it will be unaltered,
but if it is unset it will take this default value. -->
- <property name="env.ANT_OPTS" value="-Xms512M -Xmx1024M -Xss1M -XX:MaxPermSize=128M" />
+ <property name="env.ANT_OPTS" value="-Xms128M -Xmx1024M -Xss1M -XX:MaxPermSize=128M" />
<!-- to find max heap usage: -Xaprof ; currently at 980M for locker.comp -->
- <echo message="Using ANT_OPTS: ${env.ANT_OPTS}" />
- <property
- name="scalacfork.jvmargs"
- value="${env.ANT_OPTS}"/>
-
- <property name="javac.cmd" value="${env.JAVA_HOME}/bin/javac"/>
- <property name="java.cmd" value="${env.JAVA_HOME}/bin/java"/>
+ <property name="scalacfork.jvmargs" value="${env.ANT_OPTS}" />
+ <echo message="Using scalacfork.jvmargs: ${scalacfork.jvmargs}" />
<!-- ===========================================================================
INITIALISATION
@@ -213,16 +216,34 @@ INITIALISATION
<condition property="os.win">
<os family="windows"/>
</condition>
- <!-- Finding out SVN revision -->
+ <!-- Finding out SVN revision, svn style -->
<exec executable="svn" outputproperty="svn.out"
failifexecutionfails="false">
<arg line=" info ${basedir}"/>
</exec>
<propertyregex
- property="svn.number" input="${svn.out}" select="\1"
+ property="svn.number.svn" input="${svn.out}" select="\1"
regexp="Revision: ([0-9]+)"
defaultValue="0"/>
+
+ <!-- Both clauses of the conditional set svn.number -->
+ <if>
+ <equals arg1="${svn.number.svn}" arg2="0" />
+ <then>
+ <!-- Finding SVN revision, git style -->
+ <exec osfamily="unix" executable="tools/git-get-rev" outputproperty="svn.number.git" failifexecutionfails="false" />
+ <propertyregex
+ property="svn.number" input="${svn.number.git}" select="\1"
+ regexp="\D*?(\d+)"
+ defaultValue="0"/>
+ </then>
+ <else>
+ <property name="svn.number" value="${svn.number.svn}" />
+ </else>
+ </if>
+
<property name="init.avail" value="yes"/>
+
<!-- Generating version number -->
<property file="${basedir}/build.number"/>
<property
@@ -234,10 +255,10 @@ INITIALISATION
<!-- Define tasks that can be run with Starr -->
<path id="starr.classpath">
<pathelement location="${lib.starr.jar}"/>
- <pathelement location="${lib.dir}/forkjoin.jar"/>
<pathelement location="${comp.starr.jar}"/>
<pathelement location="${lib.dir}/fjbg.jar"/>
<pathelement location="${lib.dir}/msil.jar"/>
+ <pathelement location="${lib.dir}/forkjoin.jar"/>
<pathelement location="${ant.jar}"/>
</path>
<taskdef resource="scala/tools/ant/sabbus/antlib.xml" classpathref="starr.classpath"/>
@@ -319,12 +340,12 @@ LOCAL REFERENCE BUILD (LOCKER)
<include name="**/*.scala"/>
<compilationpath>
<pathelement location="${build-locker.dir}/classes/library"/>
- <pathelement location="${lib.dir}/forkjoin.jar"/>
<pathelement location="${build-locker.dir}/classes/compiler"/>
<pathelement location="${lib.dir}/fjbg.jar"/>
<pathelement location="${lib.dir}/msil.jar"/>
- <pathelement location="${jline.jar}"/>
+ <pathelement location="${lib.dir}/forkjoin.jar"/>
<pathelement location="${ant.jar}"/>
+ <pathelement location="${jline.jar}"/>
</compilationpath>
</scalacfork>
<propertyfile file="${build-locker.dir}/classes/compiler/compiler.properties">
@@ -346,15 +367,15 @@ LOCAL REFERENCE BUILD (LOCKER)
<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="${lib.dir}/forkjoin.jar"/>
<pathelement location="${build-locker.dir}/classes/compiler"/>
<pathelement location="${lib.dir}/fjbg.jar"/>
<pathelement location="${lib.dir}/msil.jar"/>
+ <pathelement location="${lib.dir}/forkjoin.jar"/>
<pathelement location="${ant.jar}"/>
</path>
</target>
@@ -423,6 +444,7 @@ QUICK BUILD (QUICK)
<include name="library/**"/>
<include name="dbc/**"/>
<include name="actors/**"/>
+ <include name="continuations/**"/>
<include name="swing/**"/>
</srcfiles>
</uptodate>
@@ -510,20 +532,26 @@ QUICK BUILD (QUICK)
</target>
<target name="quick.newlibs" depends="quick.lib" if="libs.outdated">
- <antcall target="libs.done">
- <param name="forkjoin.jar" value="${build-libs.dir}/forkjoin.jar"/>
- <param name="fjbg.jar" value="${build-libs.dir}/fjbg.jar"/>
- <param name="msil.jar" value="${build-libs.dir}/msil.jar"/>
- </antcall>
+ <antcall target="libs.done" inheritRefs="true"/>
+ <property name="fjbg.jar" value="${build-libs.dir}/fjbg.jar"/>
+ <property name="msil.jar" value="${build-libs.dir}/msil.jar"/>
</target>
<target name="quick.libs" depends="quick.newlibs" unless="libs.outdated">
- <property name="forkjoin.jar" value="${lib.dir}/forkjoin.jar"/>
<property name="fjbg.jar" value="${lib.dir}/fjbg.jar"/>
<property name="msil.jar" value="${lib.dir}/msil.jar"/>
</target>
-
- <target name="quick.pre-comp" depends="quick.libs">
+
+ <target name="quick.newforkjoin" depends="quick.libs" if="forkjoin.outdated">
+ <antcall target="forkjoin.done" inheritRefs="true"/>
+ <property name="forkjoin.jar" value="${build-libs.dir}/forkjoin.jar"/>
+ </target>
+
+ <target name="quick.forkjoin" depends="quick.newforkjoin" unless="forkjoin.outdated">
+ <property name="forkjoin.jar" value="${lib.dir}/forkjoin.jar"/>
+ </target>
+
+ <target name="quick.pre-comp" depends="quick.forkjoin">
<uptodate property="quick.comp.available" targetfile="${build-quick.dir}/compiler.complete">
<srcfiles dir="${src.dir}/compiler"/>
</uptodate>
@@ -541,12 +569,12 @@ QUICK BUILD (QUICK)
<include name="**/*.scala"/>
<compilationpath>
<pathelement location="${build-quick.dir}/classes/library"/>
- <pathelement location="${forkjoin.jar}"/>
<pathelement location="${build-quick.dir}/classes/compiler"/>
<pathelement location="${fjbg.jar}"/>
<pathelement location="${msil.jar}"/>
- <pathelement location="${jline.jar}"/>
+ <pathelement location="${forkjoin.jar}"/>
<pathelement location="${ant.jar}"/>
+ <pathelement location="${jline.jar}"/>
</compilationpath>
</scalacfork>
<propertyfile file="${build-quick.dir}/classes/compiler/compiler.properties">
@@ -568,7 +596,53 @@ QUICK BUILD (QUICK)
<stopwatch name="quick.comp.timer" action="total"/>
</target>
- <target name="quick.pre-scalap" depends="quick.comp">
+ <target name="quick.pre-plugins" depends="quick.comp">
+ <uptodate property="quick.plugins.available" targetfile="${build-quick.dir}/plugins.complete">
+ <srcfiles dir="${src.dir}/continuations"/>
+ </uptodate>
+ </target>
+
+ <target name="quick.plugins" depends="quick.pre-plugins" unless="quick.plugins.available">
+ <stopwatch name="quick.plugins.timer"/>
+ <mkdir dir="${build-quick.dir}/classes/continuations-plugin"/>
+ <scalacfork
+ destdir="${build-quick.dir}/classes/continuations-plugin"
+ compilerpathref="locker.classpath"
+ params="${scalac.args.quick}"
+ srcdir="${src.dir}/continuations/plugin"
+ jvmargs="${scalacfork.jvmargs}">
+ <include name="**/*.scala"/>
+ <compilationpath>
+ <pathelement location="${build-quick.dir}/classes/library"/>
+ <pathelement location="${build-quick.dir}/classes/compiler"/>
+ </compilationpath>
+ </scalacfork>
+ <copy
+ file="${src.dir}/continuations/plugin/scalac-plugin.xml"
+ todir="${build-quick.dir}/classes/continuations-plugin"/>
+ <!-- not very nice to create jar here but needed to load plugin -->
+ <mkdir dir="${build-quick.dir}/plugins"/>
+ <jar destfile="${build-quick.dir}/plugins/continuations.jar">
+ <fileset dir="${build-quick.dir}/classes/continuations-plugin"/>
+ </jar>
+ <!-- might split off library part into its own ant target -->
+ <scalacfork
+ destdir="${build-quick.dir}/classes/library"
+ compilerpathref="locker.classpath"
+ params="${scalac.args.quick} -Xpluginsdir ${build-quick.dir}/plugins -Xplugin-require:continuations -P:continuations:enable"
+ srcdir="${src.dir}/continuations/library"
+ jvmargs="${scalacfork.jvmargs}">
+ <include name="**/*.scala"/>
+ <compilationpath>
+ <pathelement location="${build-quick.dir}/classes/library"/>
+ <pathelement location="${lib.dir}/forkjoin.jar"/>
+ </compilationpath>
+ </scalacfork>
+ <touch file="${build-quick.dir}/plugins.complete" verbose="no"/>
+ <stopwatch name="quick.plugins.timer" action="total"/>
+ </target>
+
+ <target name="quick.pre-scalap" depends="quick.plugins">
<uptodate property="quick.scalap.available" targetfile="${build-quick.dir}/scalap.complete">
<srcfiles dir="${src.dir}/scalap"/>
</uptodate>
@@ -587,8 +661,8 @@ QUICK BUILD (QUICK)
<compilationpath>
<pathelement location="${build-quick.dir}/classes/library"/>
<pathelement location="${build-quick.dir}/classes/compiler"/>
- <pathelement location="${build-quick.dir}/classes/partest"/>
<pathelement location="${build-quick.dir}/classes/scalap"/>
+ <pathelement location="${build-quick.dir}/classes/partest"/>
<pathelement location="${ant.jar}"/>
</compilationpath>
</scalacfork>
@@ -631,6 +705,7 @@ QUICK BUILD (QUICK)
<pathelement location="${build-quick.dir}/classes/scalap"/>
<pathelement location="${build-quick.dir}/classes/partest"/>
<pathelement location="${ant.jar}"/>
+ <pathelement location="${scalacheck.jar}"/>
</compilationpath>
</scalacfork>
<propertyfile file="${build-quick.dir}/classes/partest/partest.properties">
@@ -655,11 +730,11 @@ QUICK BUILD (QUICK)
<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="${forkjoin.jar}"/>
<pathelement location="${build-quick.dir}/classes/compiler"/>
<pathelement location="${build-quick.dir}/classes/scalap"/>
<pathelement location="${fjbg.jar}"/>
<pathelement location="${msil.jar}"/>
+ <pathelement location="${forkjoin.jar}"/>
<pathelement location="${jline.jar}"/>
</path>
<taskdef name="quick-bin" classname="scala.tools.ant.ScalaTool" classpathref="quick.bin.classpath"/>
@@ -700,10 +775,10 @@ QUICK BUILD (QUICK)
<target name="quick.done" depends="quick.bin">
<path id="quick.classpath">
<pathelement location="${build-quick.dir}/classes/library"/>
- <pathelement location="${forkjoin.jar}"/>
<pathelement location="${build-quick.dir}/classes/compiler"/>
<pathelement location="${fjbg.jar}"/>
<pathelement location="${msil.jar}"/>
+ <pathelement location="${forkjoin.jar}"/>
<pathelement location="${ant.jar}"/>
</path>
</target>
@@ -772,7 +847,21 @@ PACKED QUICK BUILD (PACK)
<copy file="${jline.jar}" toDir="${build-pack.dir}/lib"/>
</target>
- <target name="pack.pre-partest" depends="pack.comp">
+ <target name="pack.pre-plugins" depends="pack.comp">
+ <uptodate
+ property="pack.plugins.available"
+ targetfile="${build-pack.dir}/plugins/continuations.jar"
+ srcfile="${build-quick.dir}/plugins.complete"/>
+ </target>
+
+ <target name="pack.plugins" depends="pack.pre-plugins" unless="pack.plugins.available">
+ <mkdir dir="${build-pack.dir}/plugins"/>
+ <jar destfile="${build-pack.dir}/plugins/continuations.jar">
+ <fileset dir="${build-quick.dir}/classes/continuations-plugin"/>
+ </jar>
+ </target>
+
+ <target name="pack.pre-partest" depends="pack.plugins">
<uptodate
property="pack.partest.available"
targetfile="${build-pack.dir}/lib/scala-partest.jar"
@@ -842,6 +931,15 @@ PACKED QUICK BUILD (PACK)
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/scaladoc"/>
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/fsc"/>
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/scalap"/>
+
+ <mkdir dir="${build-pack.dir}/etc"/>
+ <exec osfamily="unix" executable="${build-pack.dir}/bin/scala" output="${build-pack.dir}/etc/scala_completion.sh" failifexecutionfails="false" >
+ <arg line="scala.tools.util.BashCompletion" />
+ </exec>
+ <!-- <exec append="true" osfamily="unix" executable="${build-pack.dir}/bin/scala" output="${build-pack.dir}/etc/scala_completion.sh" failifexecutionfails="false" >
+ <arg line="scala.tools.partest.PartestSpecDryRun" />
+ </exec> -->
+
<touch file="${build-pack.dir}/bin.complete" verbose="no"/>
</target>
@@ -978,12 +1076,12 @@ BOOTSTRAPPING BUILD (STRAP)
<include name="**/*.scala"/>
<compilationpath>
<pathelement location="${build-strap.dir}/classes/library"/>
- <pathelement location="${forkjoin.jar}"/>
<pathelement location="${build-strap.dir}/classes/compiler"/>
<pathelement location="${fjbg.jar}"/>
<pathelement location="${msil.jar}"/>
- <pathelement location="${jline.jar}"/>
+ <pathelement location="${forkjoin.jar}"/>
<pathelement location="${ant.jar}"/>
+ <pathelement location="${jline.jar}"/>
</compilationpath>
</scalacfork>
<propertyfile file="${build-strap.dir}/classes/compiler/compiler.properties">
@@ -1004,8 +1102,54 @@ BOOTSTRAPPING BUILD (STRAP)
<touch file="${build-strap.dir}/compiler.complete" verbose="no"/>
<stopwatch name="strap.comp.timer" action="total"/>
</target>
-
- <target name="strap.pre-scalap" depends="strap.comp">
+
+ <target name="strap.pre-plugins" depends="strap.comp">
+ <uptodate property="strap.plugins.available" targetfile="${build-strap.dir}/plugins.complete">
+ <srcfiles dir="${src.dir}/continuations"/>
+ </uptodate>
+ </target>
+
+ <target name="strap.plugins" depends="strap.pre-plugins" unless="strap.plugins.available">
+ <stopwatch name="strap.plugins.timer"/>
+ <mkdir dir="${build-strap.dir}/classes/continuations-plugin"/>
+ <scalacfork
+ destdir="${build-strap.dir}/classes/continuations-plugin"
+ compilerpathref="pack.classpath"
+ params="${scalac.args.quick}"
+ srcdir="${src.dir}/continuations/plugin"
+ jvmargs="${scalacfork.jvmargs}">
+ <include name="**/*.scala"/>
+ <compilationpath>
+ <pathelement location="${build-strap.dir}/classes/library"/>
+ <pathelement location="${build-strap.dir}/classes/compiler"/>
+ </compilationpath>
+ </scalacfork>
+ <copy
+ file="${src.dir}/continuations/plugin/scalac-plugin.xml"
+ todir="${build-strap.dir}/classes/continuations-plugin"/>
+ <!-- not very nice to create jar here but needed to load plugin -->
+ <mkdir dir="${build-strap.dir}/plugins"/>
+ <jar destfile="${build-strap.dir}/plugins/continuations.jar">
+ <fileset dir="${build-strap.dir}/classes/continuations-plugin"/>
+ </jar>
+ <!-- might split off library part into its own ant target -->
+ <scalacfork
+ destdir="${build-strap.dir}/classes/library"
+ compilerpathref="pack.classpath"
+ params="${scalac.args.quick} -Xpluginsdir ${build-quick.dir}/plugins -Xplugin-require:continuations -P:continuations:enable"
+ srcdir="${src.dir}/continuations/library"
+ jvmargs="${scalacfork.jvmargs}">
+ <include name="**/*.scala"/>
+ <compilationpath>
+ <pathelement location="${build-strap.dir}/classes/library"/>
+ <pathelement location="${lib.dir}/forkjoin.jar"/>
+ </compilationpath>
+ </scalacfork>
+ <touch file="${build-strap.dir}/plugins.complete" verbose="no"/>
+ <stopwatch name="strap.plugins.timer" action="total"/>
+ </target>
+
+ <target name="strap.pre-scalap" depends="strap.plugins">
<uptodate property="strap.scalap.available" targetfile="${build-strap.dir}/scalap.complete">
<srcfiles dir="${src.dir}/scalap"/>
</uptodate>
@@ -1024,8 +1168,8 @@ BOOTSTRAPPING BUILD (STRAP)
<compilationpath>
<pathelement location="${build-strap.dir}/classes/library"/>
<pathelement location="${build-strap.dir}/classes/compiler"/>
- <pathelement location="${build-strap.dir}/classes/partest"/>
<pathelement location="${build-strap.dir}/classes/scalap"/>
+ <pathelement location="${build-strap.dir}/classes/partest"/>
<pathelement location="${ant.jar}"/>
</compilationpath>
</scalacfork>
@@ -1067,6 +1211,7 @@ BOOTSTRAPPING BUILD (STRAP)
<pathelement location="${build-strap.dir}/classes/compiler"/>
<pathelement location="${build-strap.dir}/classes/scalap"/>
<pathelement location="${build-strap.dir}/classes/partest"/>
+ <pathelement location="${scalacheck.jar}"/>
<pathelement location="${ant.jar}"/>
</compilationpath>
</scalacfork>
@@ -1092,6 +1237,13 @@ LIBRARIES (MSIL, FJBG maybe later)
<target name="libs.start"/>
<target name="libs.pre-forkjoin" depends="libs.start">
+ <property name="java6.home" value="/home/linuxsoft/apps/java-1.6"/>
+ <fail message="Compiling forkjoin.jar requires java 1.6. Please set the property `java6.home` in build.properties or using `-Djava6.home=/path/to/java6`">
+ <condition><not>
+ <available file="${java6.home}/bin/javac"/>
+ </not></condition>
+ </fail>
+
<uptodate property="libs.forkjoin.available" targetfile="${build-libs.dir}/forkjoin.complete">
<srcfiles dir="${src.dir}/forkjoin">
<include name="**/*.java"/>
@@ -1103,6 +1255,9 @@ LIBRARIES (MSIL, FJBG maybe later)
<target name="libs.forkjoin" depends="libs.pre-forkjoin" unless="libs.forkjoin.available">
<mkdir dir="${build-libs.dir}/classes/forkjoin"/>
<javac
+ executable="${java6.home}/bin/javac"
+ fork="yes"
+ compiler="javac1.6"
srcdir="${src.dir}/forkjoin"
destdir="${build-libs.dir}/classes/forkjoin"
classpath="${build-libs.dir}/classes/forkjoin"
@@ -1140,6 +1295,7 @@ LIBRARIES (MSIL, FJBG maybe later)
classpath="${build-libs.dir}/classes/msil"
includes="**/*.java"
excludes="**/tests/**"
+ debug="true"
target="1.5" source="1.4">
<compilerarg line="${javac.args}"/>
</javac>
@@ -1198,8 +1354,10 @@ LIBRARIES (MSIL, FJBG maybe later)
<fileset dir="${build-libs.dir}/classes/fjbg"/>
</jar>
</target>
-
- <target name="libs.done" depends="libs.msilpack, libs.fjbgpack, libs.forkjoinpack"/>
+
+ <target name="libs.done" depends="libs.msilpack, libs.fjbgpack"/>
+
+ <target name="forkjoin.done" depends="libs.forkjoinpack"/>
<target name="libs.clean" depends="pack.clean">
<delete dir="${build-libs.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
@@ -1227,12 +1385,16 @@ DOCUMENTATION
<mkdir dir="${build-docs.dir}/library"/>
<scaladoc
destdir="${build-docs.dir}/library"
- doctitle="Scala ${version.number} API"
+ doctitle="Scala Standard Library"
+ docversion="${version.number}"
+ docsourceurl="https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/"
+ sourcepath="${src.dir}"
classpathref="pack.classpath">
<src>
<files includes="${src.dir}/actors"/>
<files includes="${src.dir}/library/scala"/>
<files includes="${src.dir}/swing"/>
+ <files includes="${src.dir}/continuations/library"/>
</src>
<include name="**/*.scala"/>
<exclude name="reflect/Code.scala"/>
@@ -1247,6 +1409,7 @@ DOCUMENTATION
<exclude name="runtime/ScalaRunTime.scala"/>
<exclude name="runtime/StreamCons.scala"/>
<exclude name="runtime/StringAdd.scala"/>
+ <exclude name="scala/swing/test/**"/>
</scaladoc>
<touch file="${build-docs.dir}/library.complete" verbose="no"/>
<stopwatch name="docs.lib.timer" action="total"/>
@@ -1309,7 +1472,10 @@ DOCUMENTATION
<mkdir dir="${build-docs.dir}/compiler"/>
<scaladoc
destdir="${build-docs.dir}/compiler"
- doctitle="Scala Compiler ${version.number} API"
+ doctitle="Scala Compiler"
+ docversion="${version.number}"
+ docsourceurl="https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/"
+ sourcepath="${src.dir}"
classpathref="pack.classpath"
srcdir="${src.dir}/compiler">
<include name="**/*.scala"/>
@@ -1334,45 +1500,33 @@ BOOTRAPING TEST AND TEST SUITE
<exclude name="**/*.properties"/>
<exclude name="bin/**"/>
<exclude name="*.complete"/>
+ <exclude name="plugins/*.jar"/>
</same>
</target>
- <target name="test.run" depends="pack.done">
- <partest showlog="yes" erroronfailed="yes" javacmd="${java.home}/bin/java"
- timeout="1200000" javaccmd="${javac.cmd}"
- scalacopts="${scalac.args.optimise}">
- <classpath>
- <path refid="pack.classpath"/>
- <fileset dir="${test.dir}/files/lib" includes="*.jar"/>
- </classpath>
- <runtests dir="${test.dir}/files">
- <include name="run/**/*.scala"/>
- <include name="jvm/**/*.scala"/>
- </runtests>
+ <target name="test.suite" depends="pack.done">
+ <partest classpathref="pack.classpath">
+ <env key="PATH" path="${build-pack.dir}/bin:${env.PATH}" />
+ <sysproperty key="partest.srcdir" value="files" />
+ <syspropertyset>
+ <propertyref prefix="partest"/>
+ </syspropertyset>
</partest>
</target>
- <target name="test.suite" depends="pack.done">
- <partest showlog="yes" erroronfailed="yes" javacmd="${java.home}/bin/java"
- timeout="2400000" javaccmd="${javac.cmd}"
- scalacopts="${scalac.args.optimise}">
- <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"/>
- </runtests>
- <jvmtests dir="${test.dir}/files/jvm" includes="*.scala"/>
- <residenttests dir="${test.dir}/files/res" includes="*.res"/>
- <!-- <scripttests dir="${test.dir}/files/script" includes="*.scala"/> -->
- <scalaptests dir="${test.dir}/files/scalap" includes="**/*.scala"/>
- </partest>
+ <target name="test.continuations.suite" depends="pack.done">
+ <partest classpathref="pack.classpath">
+ <env key="PATH" path="${build-pack.dir}/bin:${env.PATH}" />
+ <sysproperty key="partest.srcdir" value="continuations" />
+ <sysproperty key="partest.scalacopts" value="${scalac.args.optimise} -Xpluginsdir ${build-quick.dir}/plugins -Xplugin-require:continuations -P:continuations:enable" />
+ <sysproperty key="partest.runsets" value="neg run" />
+ <syspropertyset>
+ <propertyref prefix="partest"/>
+ </syspropertyset>
+ </partest>
</target>
-
- <target name="test.done" depends="test.suite, test.stability"/>
+
+ <target name="test.done" depends="test.suite, test.continuations.suite, test.stability"/>
<!-- ===========================================================================
DISTRIBUTION
@@ -1396,6 +1550,14 @@ DISTRIBUTION
<chmod perm="ugo+rx" file="${dist.dir}/bin/scaladoc"/>
<chmod perm="ugo+rx" file="${dist.dir}/bin/fsc"/>
<chmod perm="ugo+rx" file="${dist.dir}/bin/scalap"/>
+ <mkdir dir="${dist.dir}/etc"/>
+ <copy toDir="${dist.dir}/etc">
+ <fileset dir="${build-pack.dir}/etc"/>
+ </copy>
+ <mkdir dir="${dist.dir}/plugins"/>
+ <copy toDir="${dist.dir}/plugins">
+ <fileset dir="${build-pack.dir}/plugins"/>
+ </copy>
</target>
<target name="dist.doc" depends="dist.base">
@@ -1430,6 +1592,7 @@ DISTRIBUTION
<jar destfile="${dist.dir}/src/scala-library-src.jar">
<fileset dir="${src.dir}/library"/>
<fileset dir="${src.dir}/actors"/>
+ <fileset dir="${src.dir}/continuations/library"/>
</jar>
<jar destfile="${dist.dir}/src/scala-dbc-src.jar">
<fileset dir="${src.dir}/dbc"/>
@@ -1525,9 +1688,9 @@ STABLE REFERENCE (STARR)
<target name="starr.libs" depends="starr.src" if="libs.outdated">
<copy toDir="${lib.dir}" overwrite="yes">
<fileset dir="${build-libs.dir}">
- <include name="forkjoin.jar"/>
<include name="fjbg.jar"/>
<include name="msil.jar"/>
+ <include name="forkjoin.jar"/>
</fileset>
</copy>
</target>
@@ -1573,7 +1736,7 @@ POSITIONS
<target name="test.positions" depends="quick.comp">
<antcall target="test.positions.tests.sub" inheritRefs="true">
- <param name="test.tests.srcs" value="${test.dir}/files/positions"/>
+ <param name="test.tests.srcs" value="${partest.rootdir}/${partest.srcdir.default}/positions"/>
</antcall>
<antcall target="test.positions.sub" inheritRefs="true">
<param name="test.srcs" value="${src.dir}/compiler"/>
@@ -1597,13 +1760,13 @@ POSITIONS
<param name="test.srcs" value="${src.dir}/scalap"/>
</antcall>
<antcall target="test.positions.tests.sub" inheritRefs="true">
- <param name="test.tests.srcs" value="${test.dir}/files/pos"/>
+ <param name="test.tests.srcs" value="${partest.rootdir}/${partest.srcdir.default}/pos"/>
</antcall>
<antcall target="test.positions.tests.sub" inheritRefs="true">
- <param name="test.tests.srcs" value="${test.dir}/files/run"/>
+ <param name="test.tests.srcs" value="${partest.rootdir}/${partest.srcdir.default}/run"/>
</antcall>
<antcall target="test.positions.tests.sub" inheritRefs="true">
- <param name="test.tests.srcs" value="${test.dir}/files/neg"/>
+ <param name="test.tests.srcs" value="${partest.rootdir}/${partest.srcdir.default}/neg"/>
</antcall>
</target>