summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml129
1 files changed, 66 insertions, 63 deletions
diff --git a/build.xml b/build.xml
index 5b776d1abd..3fe890c2fd 100644
--- a/build.xml
+++ b/build.xml
@@ -96,7 +96,6 @@ targets exercised:
<property name="library.starr.jar" value="${lib.dir}/scala-library.jar"/>
<property name="reflect.starr.jar" value="${lib.dir}/scala-reflect.jar"/>
<property name="compiler.starr.jar" value="${lib.dir}/scala-compiler.jar"/>
- <property name="msil.starr.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"/>
<property name="scalacheck.jar" value="${lib.dir}/scalacheck.jar"/>
@@ -105,7 +104,6 @@ targets exercised:
<property name="build.dir" value="${basedir}/build"/>
<property name="build-libs.dir" value="${build.dir}/libs"/>
<property name="build-asm.dir" value="${build.dir}/asm"/>
- <property name="build-fjbg.dir" value="${build-libs.dir}"/>
<property name="build-forkjoin.dir" value="${build-libs.dir}"/>
<property name="build-locker.dir" value="${build.dir}/locker"/>
<property name="build-palo.dir" value="${build.dir}/palo"/>
@@ -217,6 +215,7 @@ targets exercised:
<property name="maven-deps-done" value="yep!"/>
</then></if>
+
<!-- NOTE: ant properties are write-once: second writes are silently discarded; the logic below relies on this -->
<!-- Compute defaults (i.e., if not specified on command-line) for OSGi/maven version suffixes.
@@ -391,10 +390,8 @@ targets exercised:
<fail unless="version.suffixes.consistent" message="Version suffixes inconsistent!"/>
<path id="forkjoin.classpath" path="${build-libs.dir}/classes/forkjoin"/>
- <path id="fjbg.classpath" path="${build-libs.dir}/classes/fjbg"/>
<path id="asm.classpath" path="${build-asm.dir}/classes"/>
<property name="forkjoin-classes" refid="forkjoin.classpath"/>
- <property name="fjbg-classes" refid="fjbg.classpath"/>
<property name="asm-classes" refid="asm.classpath"/>
<!-- Compilers to use for the various stages.
@@ -407,7 +404,7 @@ targets exercised:
<path refid="aux.libs"/>
</path>
- <!-- Download STARR (see above) via maven if `starr.version` is specified.
+ <!-- Download STARR via maven if `starr.version` is specified.
Want to slow down STARR changes, using only released versions. -->
<if><isset property="starr.version"/><then>
<property name="strr" refid="starr.compiler.path"/>
@@ -418,7 +415,6 @@ targets exercised:
<pathelement location="${library.starr.jar}"/>
<pathelement location="${reflect.starr.jar}"/>
<pathelement location="${compiler.starr.jar}"/>
- <pathelement location="${msil.starr.jar}"/>
</path>
</else></if>
@@ -439,7 +435,7 @@ targets exercised:
There must be a variable of the shape @{stage}.@{project}.build.path
for all @{stage} in locker, quick, strap
and all @{project} in library, reflect, compiler
- when stage is quick, @{project} also includes: actors, swing, plugins, scalacheck, partest, scalap
+ when stage is quick, @{project} also includes: actors, repl, swing, plugins, scalacheck, interactive, scaladoc, partest, scalap
-->
<!-- LOCKER -->
@@ -458,12 +454,8 @@ targets exercised:
<path refid="locker.reflect.build.path"/>
<pathelement location="${build-locker.dir}/classes/compiler"/>
<path refid="asm.classpath"/>
- <path refid="fjbg.classpath"/>
- <pathelement location="${jline.jar}"/>
</path>
- <path id="locker.msil.build.path" refid="locker.compiler.build.path"/>
-
<!-- QUICK -->
<path id="quick.library.build.path">
<pathelement location="${build-quick.dir}/classes/library"/>
@@ -482,12 +474,18 @@ targets exercised:
<path refid="quick.reflect.build.path"/>
<pathelement location="${build-quick.dir}/classes/compiler"/>
<path refid="asm.classpath"/>
- <path refid="fjbg.classpath"/>
+ </path>
+
+ <path id="quick.repl.build.path">
+ <path refid="quick.compiler.build.path"/>
+ <pathelement location="${build-quick.dir}/classes/repl"/>
<pathelement location="${jline.jar}"/>
</path>
- <path id="quick.swing.build.path" refid="quick.library.build.path"/>
- <path id="quick.msil.build.path" refid="quick.compiler.build.path"/>
+ <path id="quick.swing.build.path">
+ <path refid="quick.library.build.path"/>
+ <pathelement location="${build-quick.dir}/classes/swing"/>
+ </path>
<path id="quick.plugins.build.path">
<path refid="quick.compiler.build.path"/>
@@ -508,20 +506,27 @@ targets exercised:
<path id="quick.partest.build.path">
<path refid="quick.scalap.build.path"/>
<path refid="partest.extras.classpath"/>
+ <pathelement location="${build-quick.dir}/classes/repl"/>
<pathelement location="${scalacheck.jar}"/>
</path>
+ <path id="quick.scaladoc.build.path">
+ <path refid="quick.compiler.build.path"/>
+ <pathelement location="${build-quick.dir}/classes/partest"/>
+ <pathelement location="${build-quick.dir}/classes/scaladoc"/>
+ </path>
+
+ <path id="quick.interactive.build.path">
+ <path refid="quick.compiler.build.path"/>
+ <pathelement location="${build-quick.dir}/classes/scaladoc"/>
+ <pathelement location="${build-quick.dir}/classes/interactive"/>
+ </path>
+
<path id="quick.bin.tool.path">
- <pathelement location="${build-quick.dir}/classes/library"/>
- <pathelement location="${build-quick.dir}/classes/reflect"/>
- <pathelement location="${build-quick.dir}/classes/compiler"/>
+ <path refid="quick.repl.build.path"/>
<pathelement location="${build-quick.dir}/classes/scalap"/>
<pathelement location="${build-quick.dir}/classes/continuations-library"/>
- <pathelement location="${jline.jar}"/>
- <path refid="asm.classpath"/>
- <path refid="forkjoin.classpath"/>
- <path refid="aux.libs"/>
- </path>
+ </path>
<!-- PACK -->
<!-- also used for docs.* targets TODO: use separate paths for those -->
@@ -533,7 +538,6 @@ targets exercised:
<pathelement location="${build-pack.dir}/lib/scalap.jar"/>
<pathelement location="${build-pack.dir}/lib/scala-actors.jar"/>
<pathelement location="${ant.jar}"/>
- <pathelement location="${jline.jar}"/>
<path refid="partest.extras.classpath"/>
<path refid="aux.libs"/>
</path>
@@ -564,8 +568,10 @@ targets exercised:
<path id="pack.compiler.files">
<fileset dir="${build-quick.dir}/classes/compiler"/>
+ <fileset dir="${build-quick.dir}/classes/repl"/>
+ <fileset dir="${build-quick.dir}/classes/scaladoc"/>
+ <fileset dir="${build-quick.dir}/classes/interactive"/>
<fileset dir="${asm-classes}"/>
- <fileset dir="${fjbg-classes}"/>
</path>
<path id="pack.swing.files"> <fileset dir="${build-quick.dir}/classes/swing"/> </path>
@@ -593,8 +599,7 @@ targets exercised:
<path refid="forkjoin.classpath"/>
<path refid="aux.libs"/>
</path>
- <path id="strap.actors.build.path" refid="strap.library.build.path"/>
- <path id="strap.msil.build.path" refid="strap.compiler.build.path"/>
+ <path id="strap.actors.build.path"><path refid="strap.library.build.path"/></path>
<path id="strap.reflect.build.path">
<path refid="strap.library.build.path"/>
@@ -605,13 +610,14 @@ targets exercised:
<path refid="strap.reflect.build.path"/>
<pathelement location="${build-strap.dir}/classes/compiler"/>
<path refid="asm.classpath"/>
- <path refid="fjbg.classpath"/>
- <pathelement location="${jline.jar}"/>
</path>
<!-- MISC -->
<path id="sbt.compile.build.path">
<path refid="quick.compiler.build.path"/>
+ <pathelement location="${build-quick.dir}/classes/repl"/>
+ <pathelement location="${build-quick.dir}/classes/scaladoc"/>
+ <pathelement location="${build-quick.dir}/classes/interactive"/>
<pathelement location="${sbt.interface.jar}"/>
</path>
@@ -708,12 +714,11 @@ targets exercised:
<delete dir="${build-@{build}.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
</sequential>
</macrodef>
-
<!-- ===========================================================================
LOCAL DEPENDENCIES
============================================================================ -->
<macrodef name="simple-javac" >
- <attribute name="project"/> <!-- project: fjbg/asm/forkjoin -->
+ <attribute name="project"/> <!-- project: asm/forkjoin -->
<attribute name="args" default=""/>
<attribute name="jar" default="yes"/>
<sequential>
@@ -738,10 +743,9 @@ targets exercised:
<touch file="${build-libs.dir}/@{project}.complete" verbose="no"/>
</then></if>
</sequential>
- </macrodef>
-
+ </macrodef>
+
<target name="asm.done" depends="init"> <simple-javac project="asm" jar="no"/> </target>
- <target name="fjbg.done" depends="init"> <simple-javac project="fjbg"/> </target>
<target name="forkjoin.done" depends="init"> <simple-javac project="forkjoin" args="-XDignore.symbol.file"/></target>
<!-- ===========================================================================
@@ -995,7 +999,7 @@ targets exercised:
<!-- ===========================================================================
LOCAL REFERENCE BUILD (LOCKER)
============================================================================ -->
- <target name="locker.start" depends="asm.done, forkjoin.done, fjbg.done">
+ <target name="locker.start" depends="asm.done, forkjoin.done">
<condition property="locker.locked"><available file="${build-locker.dir}/locker.locked"/></condition></target>
<target name="locker.lib" depends="locker.start" unless="locker.locked">
@@ -1004,14 +1008,7 @@ targets exercised:
<!-- TODO: args="-XDignore.symbol.file" necessary?? -->
<target name="locker.reflect" depends="locker.lib" unless="locker.locked"> <staged-build with="starr" stage="locker" project="reflect"/></target>
- <target name="locker.comp" depends="locker.reflect" unless="locker.locked">
- <staged-build with="starr" stage="locker" project="compiler">
- <pre>
- <staged-javac stage="locker" project="msil" destproject="compiler" excludes="**/tests/**"/>
- <staged-scalac with="starr" stage="locker" project="msil" destproject="compiler"/>
- </pre>
- </staged-build>
- </target>
+ <target name="locker.comp" depends="locker.reflect" unless="locker.locked"> <staged-build with="starr" stage="locker" project="compiler"/></target>
<target name="locker.done" depends="locker.comp">
<mkdir dir="${build-locker.dir}"/>
@@ -1040,10 +1037,13 @@ targets exercised:
<target name="quick.reflect" depends="quick.lib"> <staged-build with="locker" stage="quick" project="reflect"/> </target>
<target name="quick.comp" depends="quick.reflect">
- <staged-build with="locker" stage="quick" project="compiler">
+ <staged-build with="locker" stage="quick" project="compiler"/>
+ </target>
+
+ <target name="quick.repl" depends="quick.comp">
+ <staged-build with="locker" stage="quick" project="repl">
<pre>
- <staged-javac stage="quick" project="msil" destproject="compiler" excludes="**/tests/**"/>
- <staged-scalac with="locker" stage="quick" project="msil" destproject="compiler"/>
+ <staged-javac stage="quick" project="repl"/>
</pre>
</staged-build>
</target>
@@ -1052,16 +1052,24 @@ targets exercised:
<staged-build with="locker" stage="quick" project="scalacheck" args="-nowarn"/>
</target>
- <target name="quick.scalap" depends="quick.comp">
+ <target name="quick.scalap" depends="quick.repl">
<staged-build with="locker" stage="quick" project="scalap"/>
</target>
- <target name="quick.partest" depends="quick.scalap, quick.comp, asm.done">
+ <target name="quick.partest" depends="quick.scalap, quick.repl, asm.done">
<staged-build with="locker" stage="quick" project="partest" version="partest">
<pre><staged-javac stage="quick" project="partest"/></pre>
</staged-build>
</target>
+ <target name="quick.scaladoc" depends="quick.comp, quick.partest">
+ <staged-build with="locker" stage="quick" project="scaladoc" version="scaladoc"/>
+ </target>
+
+ <target name="quick.interactive" depends="quick.comp, quick.scaladoc">
+ <staged-build with="locker" stage="quick" project="interactive"/>
+ </target>
+
<target name="quick.swing" depends="quick.lib" if="has.java6">
<staged-build with="locker" stage="quick" project="swing"/>
</target>
@@ -1101,7 +1109,7 @@ targets exercised:
<staged-bin stage="quick" classpathref="quick.bin.tool.path"/>
</target>
- <target name="quick.done" depends="quick.lib, quick.reflect, quick.comp, quick.scalacheck, quick.scalap, quick.swing, quick.plugins, quick.partest, quick.bin"/>
+ <target name="quick.done" depends="quick.lib, quick.reflect, quick.comp, quick.repl, quick.scalacheck, quick.scalap, quick.interactive, quick.swing, quick.plugins, quick.partest, quick.scaladoc, quick.bin"/>
<target name="quick-opt" description="Optimized version of quick.done."> <optimized name="quick.done"/></target>
@@ -1115,7 +1123,7 @@ targets exercised:
<target name="pack.swing" if="has.java6" depends="quick.swing"> <staged-pack project="swing"/> </target>
<target name="pack.reflect" depends="quick.reflect"> <staged-pack project="reflect"/> </target>
- <target name="pack.comp" depends="quick.comp, asm.done">
+ <target name="pack.comp" depends="quick.comp, quick.scaladoc, quick.interactive, quick.repl, asm.done">
<staged-pack project="compiler" manifest="${build-pack.dir}/META-INF/MANIFEST.MF">
<pre> <!-- TODO the files copied here do not influence actuality of this target (nor does the manifest) -->
<copy file="${jline.jar}" toDir="${build-pack.dir}/lib"/>
@@ -1132,6 +1140,9 @@ targets exercised:
</manifest>
</pre>
<jar-opts>
+ <fileset dir="${build-quick.dir}/classes/scaladoc"/>
+ <fileset dir="${build-quick.dir}/classes/interactive"/>
+ <fileset dir="${build-quick.dir}/classes/repl"/>
<service type="javax.script.ScriptEngineFactory" provider="scala.tools.nsc.interpreter.IMain$Factory"/>
</jar-opts>
</staged-pack>
@@ -1182,14 +1193,7 @@ targets exercised:
</target>
<target name="strap.reflect" depends="strap.lib"> <staged-build with="pack" stage="strap" project="reflect"/> </target>
- <target name="strap.comp" depends="strap.reflect">
- <staged-build with="pack" stage="strap" project="compiler">
- <pre>
- <staged-javac stage="strap" project="msil" destproject="compiler" excludes="**/tests/**"/>
- <staged-scalac with="quick" stage="strap" project="msil" destproject="compiler"/>
- </pre>
- </staged-build>
- </target>
+ <target name="strap.comp" depends="strap.reflect"> <staged-build with="pack" stage="strap" project="compiler"/> </target>
<target name="strap.done" depends="strap.comp"/>
<target name="strap-opt" description="Optimized version of strap.done."> <optimized name="strap.done"/></target>
@@ -1208,7 +1212,6 @@ targets exercised:
<jar whenmanifestonly="fail" destfile="${build-palo.dir}/lib/scala-compiler.jar" manifest="${basedir}/META-INF/MANIFEST.MF">
<fileset dir="${build-locker.dir}/classes/compiler"/>
<fileset dir="${asm-classes}"/>
- <fileset dir="${fjbg-classes}"/>
</jar>
<copy file="${jline.jar}" toDir="${build-palo.dir}/lib"/>
</target>
@@ -1393,7 +1396,6 @@ targets exercised:
<runtests dir="${partest.dir}/${partest.srcdir}/run" includes="*.scala"/>
<jvmtests dir="${partest.dir}/${partest.srcdir}/jvm" includes="*.scala"/>
<residenttests dir="${partest.dir}/${partest.srcdir}/res" includes="*.res"/>
- <buildmanagertests dir="${partest.dir}/${partest.srcdir}/buildmanager" includes="*"/>
<scalaptests dir="${partest.dir}/${partest.srcdir}/scalap" includes="**/*.scala"/>
<scalachecktests dir="${partest.dir}/${partest.srcdir}/scalacheck">
<include name="*.scala"/>
@@ -1447,7 +1449,7 @@ targets exercised:
BINARY COMPATIBILITY TESTING
============================================================================ -->
<target name="bc.init" depends="init" unless="maven-deps-done-mima">
- <property name="bc-reference-version" value="2.10.0"/>
+ <property name="bc-reference-version" value="2.11.0"/>
<property name="bc-build.dir" value="${build.dir}/bc"/>
<!-- Obtain mima -->
@@ -1506,7 +1508,10 @@ targets exercised:
</macrodef>
<target name="test.bc-opt" description="Optimized version of test.bc."> <optimized name="test.bc"/></target>
- <target name="test.bc" depends="bc.init, pack.lib, pack.reflect, pack.swing">
+
+ <!-- Enable after the release of the 2.11.0 or a prior RC that estabilishes the new baseline. -->
+ <target name="test.bc"></target>
+ <target name="test.bc.disabled" depends="bc.init, pack.lib, pack.reflect, pack.swing">
<bc.check jar-name="scala-library"/>
<bc.check jar-name="scala-reflect"/>
<bc.check jar-name="scala-swing"/>
@@ -1755,8 +1760,6 @@ targets exercised:
<jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-reflect-src.jar" basedir="${src.dir}/reflect"/>
<jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-swing-src.jar" basedir="${src.dir}/swing"/>
<jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-compiler-src.jar" basedir="${src.dir}/compiler"/>
- <jar whenmanifestonly="fail" destfile="${dist.dir}/src/fjbg-src.jar" basedir="${src.dir}/fjbg"/>
- <jar whenmanifestonly="fail" destfile="${dist.dir}/src/msil-src.jar" basedir="${src.dir}/msil"/>
<jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-actors-src.jar" basedir="${src.dir}/actors"/>
<jar whenmanifestonly="fail" destfile="${dist.dir}/src/scalap-src.jar" basedir="${src.dir}/scalap"/>
<jar whenmanifestonly="fail" destfile="${dist.dir}/src/scala-partest-src.jar" basedir="${src.dir}/partest"/>