summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorJosh Suereth <joshua.suereth@gmail.com>2012-11-20 13:06:04 -0500
committerJosh Suereth <joshua.suereth@gmail.com>2012-12-05 14:38:28 -0500
commit78a081f03b8d343b1f3d6ebe173fc035579da922 (patch)
tree4bf772ca0434196e094fb8d10ff9898a07a413a4 /build.xml
parentedbcc64483ac0009eeeb58fe31e57a411da9e4c6 (diff)
downloadscala-78a081f03b8d343b1f3d6ebe173fc035579da922.tar.gz
scala-78a081f03b8d343b1f3d6ebe173fc035579da922.tar.bz2
scala-78a081f03b8d343b1f3d6ebe173fc035579da922.zip
Now the test suite runs MIMA for compatibility testing.
Failures are still not reported, thanks to MIMA not returnign non-0 exit codes on failure. I'll be patching MiMA seprately, but at least this will let us deal with failures in scala. Currently, we need to adapt the Vector speed improvements for binary compatibility.
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml36
1 files changed, 35 insertions, 1 deletions
diff --git a/build.xml b/build.xml
index 3cfbd454e2..95e324250a 100644
--- a/build.xml
+++ b/build.xml
@@ -22,7 +22,7 @@ END-USER TARGETS
<target name="clean" depends="quick.clean"
description="Removes binaries of compiler and library. Distributions are untouched."/>
- <target name="test" depends="test.done, osgi.test"
+ <target name="test" depends="test.done, osgi.test, bc.run"
description="Runs test suite and bootstrapping test on Scala compiler and library."/>
<target name="test-opt"
@@ -2644,6 +2644,40 @@ BOOTRAPING TEST AND TEST SUITE
<target name="test.done" depends="test.suite, test.continuations.suite, test.scaladoc, test.stability, test.sbt"/>
+
+<!-- ===========================================================================
+Binary compatibility testing
+============================================================================ -->
+
+ <target name="bc.init" depends="init">
+ <property name="bc-build.dir" value="${build.dir}/bc"/>
+ <!-- Obtain mima -->
+ <mkdir dir="${bc-build.dir}"/>
+ <!-- Pull down MIMA -->
+ <artifact:dependencies pathId="mima.classpath">
+ <dependency groupId="com.typesafe" artifactId="mima-reporter_2.9.2" version="0.1.4"/>
+ </artifact:dependencies>
+ <artifact:dependencies pathId="old.bc.classpath">
+ <dependency groupId="org.scala-lang" artifactId="scala-library" version="2.10.0-RC2"/>
+ </artifact:dependencies>
+ </target>
+
+ <target name="bc.run" depends="bc.init, pack.lib">
+ <java
+ fork="true"
+ failonerror="true"
+ classname="com.typesafe.tools.mima.cli.Main">
+ <arg value="--prev"/>
+ <arg value="${org.scala-lang:scala-library:jar}"/>
+ <arg value="--curr"/>
+ <arg value="${build-pack.dir}/lib/scala-library.jar"/>
+ <classpath>
+ <path refid="mima.classpath"/>
+ </classpath>
+ </java>
+ </target>
+
+
<!-- ===========================================================================
DISTRIBUTION
============================================================================ -->