summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml234
1 files changed, 65 insertions, 169 deletions
diff --git a/build.xml b/build.xml
index 7b49544447..8790bf637d 100644
--- a/build.xml
+++ b/build.xml
@@ -19,7 +19,7 @@ ant $antArgs $scalacArgs $targets
antArgs tend to be:
-Darchives.skipxz=true
- -Dscalac.args.optimise=-optimise
+ -Dscalac.args.optimise=-Yopt:l:classpath
scalacArgs examples:
"-Dscalac.args=\"-Yrangepos\" -Dpartest.scalac_opts=\"-Yrangepos\""
@@ -75,17 +75,17 @@ TODO:
<target name="nightly"><optimized name="all.done"/></target>
<target name="nightly.checkall"> <antcall target="all.done"> <param name="partest.scalac_opts" value="-Ycheck:all"/></antcall></target>
- <!-- The IDE build requires actors/swing/continuations, so need to publish them during PR validation until they are modules -->
- <target name="publish-opt-nodocs" description="Publishes Scala (optimized) without generating docs/testing (library/reflect/compiler/actors/swing/continuations).">
+ <!-- The IDE build requires swing, so need to publish them during PR validation until they are modules -->
+ <target name="publish-opt-nodocs" description="Publishes Scala (optimized) without generating docs/testing (library/reflect/compiler/swing).">
<antcall target="publish">
<param name="docs.skip" value="1"/>
- <param name="scalac.args.optimise" value="-optimise"/>
+ <param name="scalac.args.optimise" value="-Yopt:l:classpath"/>
</antcall>
</target>
<target name="publish-core-opt-nodocs" description="Builds an untested, undocumented optimised core (library/reflect/compiler) and publishes to maven.">
<antcall target="publish-core">
<param name="docs.skip" value="1"/>
- <param name="scalac.args.optimise" value="-optimise"/>
+ <param name="scalac.args.optimise" value="-Yopt:l:classpath"/>
</antcall>
</target>
<target name="publish-core-local-nodocs" description="Builds an untested, undocumented core (library/reflect/compiler) and locally publishes to maven">
@@ -165,7 +165,6 @@ TODO:
<property name="build.dir" value="${basedir}/build"/>
<property name="build-deps.dir" value="${build.dir}/deps"/>
<property name="build-libs.dir" value="${build.dir}/libs"/>
- <property name="build-forkjoin.dir" value="${build-libs.dir}"/>
<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"/>
@@ -193,7 +192,7 @@ TODO:
<!-- 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="-Xms1536M -Xmx1536M -Xss1M -XX:MaxPermSize=192M -XX:+UseParallelGC" />
+ <property name="env.ANT_OPTS" value="-Xms1536M -Xmx1536M -Xss1M -XX:+UseParallelGC" />
<property name="scalacfork.jvmargs" value="${env.ANT_OPTS} ${jvm.opts}"/>
@@ -265,42 +264,36 @@ TODO:
-->
<if><not><isset property="maven-deps-done"></isset></not><then>
<mkdir dir="${user.home}/.m2/repository"/>
-
- <artifact:remoteRepository id="sonatype-release" url="https://oss.sonatype.org/content/repositories/releases"/>
- <artifact:remoteRepository id="sonatype-snapshots" url="https://oss.sonatype.org/content/repositories/snapshots"/>
- <artifact:remoteRepository id="extra-repo" url="${extra.repo.url}"/>
-
<!-- This task has an issue where if the user directory does not exist, so we create it above. UGH. -->
<artifact:dependencies pathId="extra.tasks.classpath" filesetId="extra.tasks.fileset">
- <dependency groupId="biz.aQute" artifactId="bnd" version="1.50.0"/>
+ <dependency groupId="biz.aQute.bnd" artifactId="biz.aQute.bnd" version="2.4.1"/>
</artifact:dependencies>
<artifact:dependencies pathId="jarjar.classpath">
- <dependency groupId="com.googlecode.jarjar" artifactId="jarjar" version="1.3"/>
+ <dependency groupId="org.pantsbuild" artifactId="jarjar" version="1.6.0"/>
</artifact:dependencies>
<!-- JUnit -->
- <property name="junit.version" value="4.11"/>
+ <property name="junit.version" value="4.12"/>
<artifact:dependencies pathId="junit.classpath" filesetId="junit.fileset">
<dependency groupId="junit" artifactId="junit" version="${junit.version}"/>
</artifact:dependencies>
<copy-deps project="junit"/>
<!-- Pax runner -->
- <property name="pax.exam.version" value="3.5.0"/><!-- Last version which supports Java 6 -->
- <property name="osgi.felix.version" value="4.4.0"/>
- <property name="osgi.equinox.version" value="3.7.1"/>
+ <property name="pax.exam.version" value="4.5.0"/>
+ <property name="osgi.felix.version" value="5.0.1"/>
+ <property name="osgi.equinox.version" value="3.10.100.v20150521-1310"/>
<artifact:dependencies pathId="pax.exam.classpath" filesetId="pax.exam.fileset">
- <dependency groupId="org.ops4j.pax.exam" artifactId="pax-exam-container-native" version="${pax.exam.version}">
- <exclusion groupId="org.osgi" artifactId="org.osgi.core"/><!-- Avoid dragging in a dependency which requires Java >6 -->
- </dependency>
+ <dependency groupId="org.ops4j.pax.exam" artifactId="pax-exam-container-native" version="${pax.exam.version}"/>
<dependency groupId="org.ops4j.pax.exam" artifactId="pax-exam-junit4" version="${pax.exam.version}"/>
<dependency groupId="org.ops4j.pax.exam" artifactId="pax-exam-link-assembly" version="${pax.exam.version}"/>
- <dependency groupId="org.ops4j.pax.url" artifactId="pax-url-aether" version="2.2.0"/>
- <dependency groupId="org.ops4j.pax.swissbox" artifactId="pax-swissbox-tracker" version="1.8.0"/>
- <dependency groupId="ch.qos.logback" artifactId="logback-core" version="1.1.2"/>
- <dependency groupId="ch.qos.logback" artifactId="logback-classic" version="1.1.2"/>
+ <dependency groupId="org.ops4j.pax.url" artifactId="pax-url-aether" version="2.4.1"/>
+ <dependency groupId="org.ops4j.pax.swissbox" artifactId="pax-swissbox-tracker" version="1.8.1"/>
+ <dependency groupId="ch.qos.logback" artifactId="logback-core" version="1.1.3"/>
+ <dependency groupId="ch.qos.logback" artifactId="logback-classic" version="1.1.3"/>
<dependency groupId="junit" artifactId="junit" version="${junit.version}"/>
+ <dependency groupId="org.slf4j" artifactId="slf4j-api" version="1.7.12"/>
</artifact:dependencies>
<copy-deps project="pax.exam"/>
@@ -309,49 +302,16 @@ TODO:
</artifact:dependencies>
<artifact:dependencies pathId="osgi.framework.equinox">
- <dependency groupId="org.eclipse.osgi" artifactId="org.eclipse.osgi" version="${osgi.equinox.version}"/>
+ <dependency groupId="org.eclipse.tycho" artifactId="org.eclipse.osgi" version="${osgi.equinox.version}"/>
</artifact:dependencies>
<artifact:remoteRepository id="sonatype-release" url="https://oss.sonatype.org/content/repositories/releases"/>
<artifact:remoteRepository id="extra-repo" url="${extra.repo.url}"/>
- <!-- scala-java8-compat, used by the experimental -target jvm-1.8 support. -->
- <if><isset property="scala-java8-compat.package"/><then>
- <property name="scala-java8-compat.version" value="0.5.0"/>
- <property name="scala-java8-compat.binary.version" value="2.11"/>
- <artifact:dependencies pathId="scala-java8-compat.classpath" filesetId="scala-java8-compat.fileset">
- <dependency groupId="org.scala-lang.modules" artifactId="scala-java8-compat_${scala-java8-compat.binary.version}" version="${scala-java8-compat.version}">
- <exclusion groupId="org.scala-lang" artifactId="scala-library"/>
- </dependency>
- </artifact:dependencies>
- <property name="scala-java8-compat-classes" value="${build-quick.dir}/scala-java8-compat"/>
- <delete dir="${scala-java8-compat-classes}"/>
- <unzip dest="${scala-java8-compat-classes}">
- <fileset refid="scala-java8-compat.fileset"/>
- <patternset>
- <include name="**/*.class"/>
- </patternset>
- </unzip>
- <path id="scala-java8-compat.libs">
- <pathelement location="${scala-java8-compat-classes}"/>
- </path>
- <fileset id="scala-java8-compat.fileset" dir="${scala-java8-compat-classes}">
- <include name="**/*"/>
- </fileset>
- </then>
- <else>
- <path id="scala-java8-compat.libs"/>
- <fileset id="scala-java8-compat.fileset" dir="." excludes="**"/>
- </else>
- </if>
-
<!-- prepare, for each of the names below, the property "@{name}.cross", set to the
necessary cross suffix (usually something like "_2.11.0-M6". -->
<prepareCross name="scala-xml" />
<prepareCross name="scala-parser-combinators" />
- <property name="scala-continuations-plugin.cross.suffix" value="_${scala.full.version}"/>
- <prepareCross name="scala-continuations-plugin" />
- <prepareCross name="scala-continuations-library"/>
<prepareCross name="scala-swing"/>
<prepareCross name="partest"/>
<prepareCross name="scalacheck"/>
@@ -390,8 +350,6 @@ TODO:
<artifact:remoteRepository refid="extra-repo"/>
<dependency groupId="org.scala-lang.modules" artifactId="scala-xml${scala-xml.cross}" version="${scala-xml.version.number}"/>
<dependency groupId="org.scala-lang.modules" artifactId="scala-parser-combinators${scala-parser-combinators.cross}" version="${scala-parser-combinators.version.number}"/>
- <dependency groupId="org.scala-lang.plugins" artifactId="scala-continuations-plugin${scala-continuations-plugin.cross}" version="${scala-continuations-plugin.version.number}"/>
- <dependency groupId="org.scala-lang.plugins" artifactId="scala-continuations-library${scala-continuations-library.cross}" version="${scala-continuations-library.version.number}"/>
<dependency groupId="org.scala-lang.modules" artifactId="scala-swing${scala-swing.cross}" version="${scala-swing.version.number}"/>
</artifact:dependencies>
@@ -410,8 +368,6 @@ TODO:
<propertyForCrossedArtifact name="scala-parser-combinators" jar="org.scala-lang.modules:scala-parser-combinators"/>
<propertyForCrossedArtifact name="scala-xml" jar="org.scala-lang.modules:scala-xml"/>
- <propertyForCrossedArtifact name="scala-continuations-plugin" jar="org.scala-lang.plugins:scala-continuations-plugin"/>
- <propertyForCrossedArtifact name="scala-continuations-library" jar="org.scala-lang.plugins:scala-continuations-library"/>
<propertyForCrossedArtifact name="scala-swing" jar="org.scala-lang.modules:scala-swing"/>
<!-- BND support -->
@@ -488,20 +444,12 @@ TODO:
<!-- some default in case something went wrong getting the revision -->
<property name="version.number" value="-unknown-"/>
- <condition property="has.java6">
- <equals arg1="${ant.java.version}" arg2="1.6"/>
- </condition>
- <condition property="has.java7">
- <equals arg1="${ant.java.version}" arg2="1.7"/>
- </condition>
<condition property="has.java8">
<equals arg1="${ant.java.version}" arg2="1.8"/>
</condition>
<condition property="has.unsupported.jdk">
<not><or>
<isset property="has.java8" />
- <isset property="has.java7" />
- <isset property="has.java6" />
</or></not>
</condition>
@@ -513,7 +461,7 @@ TODO:
</fail>
<!-- Allow this to be overridden simply -->
- <property name="sbt.latest.version" value="0.12.4"/>
+ <property name="sbt.latest.version" value="0.13.11"/>
<property name="sbt.src.dir" value="${build-sbt.dir}/${sbt.latest.version}/src"/>
<property name="sbt.lib.dir" value="${build-sbt.dir}/${sbt.latest.version}/lib"/>
@@ -521,7 +469,7 @@ TODO:
<property name="sbt.interface.jar" value="${sbt.lib.dir}/interface.jar"/>
<property name="sbt.interface.url" value="http://dl.bintray.com/typesafe/ivy-releases/org.scala-sbt/interface/${sbt.latest.version}/jars/interface.jar"/>
<property name="sbt.interface.src.jar" value="${sbt.src.dir}/compiler-interface-src.jar"/>
- <property name="sbt.interface.src.url" value="http://dl.bintray.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/${sbt.latest.version}/jars/compiler-interface-src.jar"/>
+ <property name="sbt.interface.src.url" value="http://dl.bintray.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/${sbt.latest.version}/srcs/compiler-interface-sources.jar"/>
<!-- Additional command line arguments for scalac. They are added to all build targets -->
@@ -609,14 +557,9 @@ TODO:
<echo message="Updating `versions.properties`:"/>
<echo message="starr.version = ${starr.version}"/>
<echo message="scala.binary.version = ${scala.binary.version}"/>
- <echo message="scala.full.version = ${scala.full.version}"/>
<echo message="scala-xml.version.number = ${scala-xml.version.number}"/>
<echo message="scala-parser-combinators.version.number = ${scala-parser-combinators.version.number}"/>
- <echo message="scala-continuations-plugin.version.number = ${scala-continuations-plugin.version.number}"/>
- <echo message="scala-continuations-library.version.number = ${scala-continuations-library.version.number}"/>
<echo message="scala-swing.version.number = ${scala-swing.version.number}"/>
- <echo message="akka-actor.version.number = ${akka-actor.version.number}"/>
- <echo message="actors-migration.version.number = ${actors-migration.version.number}"/>
<echo message="jline.version = ${jline.version}"/>
<echo message="partest.version.number = ${partest.version.number}"/>
<echo message="scalacheck.version.number = ${scalacheck.version.number}"/>
@@ -624,23 +567,15 @@ TODO:
<propertyfile file="versions.properties">
<entry key="starr.version" value="${starr.version}"/>
<entry key="scala.binary.version" value="${scala.binary.version}"/>
- <entry key="scala.full.version" value="${scala.full.version}"/>
<entry key="scala-xml.version.number" value="${scala-xml.version.number}"/>
<entry key="scala-parser-combinators.version.number" value="${scala-parser-combinators.version.number}"/>
- <entry key="scala-continuations-plugin.version.number" value="${scala-continuations-plugin.version.number}"/>
- <entry key="scala-continuations-library.version.number" value="${scala-continuations-library.version.number}"/>
<entry key="scala-swing.version.number" value="${scala-swing.version.number}"/>
- <entry key="akka-actor.version.number" value="${akka-actor.version.number}"/>
- <entry key="actors-migration.version.number" value="${actors-migration.version.number}"/>
<entry key="jline.version" value="${jline.version}"/>
<entry key="partest.version.number" value="${partest.version.number}"/>
<entry key="scalacheck.version.number" value="${scalacheck.version.number}"/>
</propertyfile>
</then></if>
- <path id="forkjoin.classpath" path="${build-forkjoin.dir}/classes/forkjoin"/>
- <property name="forkjoin-classes" refid="forkjoin.classpath"/>
-
<!-- the following properties fully define staged-docs, staged-pack, make-bundle, copy-bundle and mvn-package for each of the projects -->
<property name="library.description" value="Scala Standard Library"/>
<property name="library.docroot" value="rootdoc.txt"/>
@@ -667,34 +602,23 @@ TODO:
<property name="scaladoc.version" value="${scala-compiler-doc.version.number}"/>
<property name="scaladoc.targetjar" value="scala-compiler-doc_${scala.binary.version}-${scala-compiler-doc.version.number}.jar"/>
- <property name="actors.description" value="Scala Actors Library"/>
-
<property name="swing.description" value="Scala Swing Library"/>
<property name="swing.package" value="modules."/>
+ <property name="swing.targetjar" value="scala-swing${scala-swing.cross}-${scala-swing.version.number}.jar"/>
<property name="swing.jar" value="${scala-swing}"/>
<property name="swing.src" value="false"/>
<property name="swing.srcjar" value="${scala-swing-sources}"/>
- <property name="continuations-plugin.description" value="Scala Delimited Continuations Compiler Plugin"/>
- <property name="continuations-plugin.package" value="plugins." />
- <property name="continuations-plugin.jar" value="${scala-continuations-plugin}"/>
- <property name="continuations-plugin.src" value="false"/>
- <property name="continuations-plugin.srcjar" value="${scala-continuations-plugin-sources}"/>
-
- <property name="continuations-library.description" value="Scala Delimited Continuations Library"/>
- <property name="continuations-library.package" value="plugins." />
- <property name="continuations-library.jar" value="${scala-continuations-library}"/>
- <property name="continuations-library.src" value="false"/>
- <property name="continuations-library.srcjar" value="${scala-continuations-library-sources}"/>
-
<property name="parser-combinators.description" value="Scala Parser Combinators Library"/>
<property name="parser-combinators.package" value="modules."/>
+ <property name="parser-combinators.targetjar" value="scala-parser-combinators${scala-parser-combinators.cross}-${scala-parser-combinators.version.number}.jar"/>
<property name="parser-combinators.jar" value="${scala-parser-combinators}"/>
<property name="parser-combinators.src" value="false"/>
<property name="parser-combinators.srcjar" value="${scala-parser-combinators-sources}"/>
<property name="xml.description" value="Scala XML Library"/>
<property name="xml.package" value="modules."/>
+ <property name="xml.targetjar" value="scala-xml${scala-xml.cross}-${scala-xml.version.number}.jar"/>
<property name="xml.jar" value="${scala-xml}"/>
<property name="xml.src" value="false"/>
<property name="xml.srcjar" value="${scala-xml-sources}"/>
@@ -706,8 +630,8 @@ TODO:
<property name="partest-extras.description" value="Scala Compiler Testing Tool (compiler-specific extras)"/>
<property name="partest-javaagent.description" value="Scala Compiler Testing Tool (compiler-specific java agent)"/>
- <!-- projects without project-specific options: forkjoin, manual, bin, repl -->
- <for list="actors,compiler,interactive,scaladoc,library,parser-combinators,partest,partest-extras,partest-javaagent,reflect,scalap,swing,xml,continuations-plugin,continuations-library,repl-jline" param="project">
+ <!-- projects without project-specific options: manual, bin, repl -->
+ <for list="compiler,interactive,scaladoc,library,parser-combinators,partest,partest-extras,partest-javaagent,reflect,scalap,swing,xml,repl-jline" param="project">
<sequential>
<!-- description is mandatory -->
<init-project-prop project="@{project}" name="package" default=""/> <!-- used by mvn-package, copy-bundle, make-bundle -->
@@ -756,7 +680,7 @@ TODO:
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, repl, scalap
+ when stage is quick, @{project} also includes: repl, scalap
NOTE: interactive, scaladoc, are only used upto quick; they are still packed into the compiler jar
-->
@@ -764,9 +688,7 @@ TODO:
<!-- LOCKER -->
<path id="locker.library.build.path">
<pathelement location="${build-locker.dir}/classes/library"/>
- <path refid="forkjoin.classpath"/>
<path refid="aux.libs"/>
- <path refid="scala-java8-compat.libs"/>
</path>
<path id="locker.reflect.build.path">
@@ -786,14 +708,7 @@ TODO:
<!-- QUICK -->
<path id="quick.library.build.path">
<pathelement location="${build-quick.dir}/classes/library"/>
- <path refid="forkjoin.classpath"/>
<path refid="aux.libs"/>
- <path refid="scala-java8-compat.libs"/>
- </path>
-
- <path id="quick.actors.build.path">
- <path refid="quick.library.build.path"/>
- <pathelement location="${build-quick.dir}/classes/actors"/>
</path>
<path id="quick.reflect.build.path">
@@ -826,7 +741,13 @@ TODO:
<path id="quick.partest-extras.build.path">
<path refid="asm.classpath"/>
- <path refid="partest.classpath"/>
+ <restrict>
+ <path refid="partest.classpath"/>
+ <rsel:not><rsel:or>
+ <rsel:name name="scala-library*.jar"/>
+ </rsel:or></rsel:not>
+ </restrict>
+
<path refid="quick.compiler.build.path"/>
<pathelement location="${build-quick.dir}/classes/repl"/>
<!-- for the java dependency: Profiler.java -->
@@ -851,7 +772,6 @@ TODO:
<path id="quick.bin.tool.path">
<path refid="quick.repl-jline.build.path"/>
- <path refid="quick.actors.build.path"/>
<pathelement location="${build-quick.dir}/classes/scalap"/>
<pathelement location="${build-quick.dir}/classes/scaladoc"/>
<path refid="external-modules-nocore"/>
@@ -863,7 +783,6 @@ TODO:
<pathelement location="${reflect.jar}"/>
<pathelement location="${compiler.jar}"/>
<pathelement location="${ant.jar}"/>
- <path refid="forkjoin.classpath"/>
<path refid="aux.libs"/>
</path>
@@ -871,7 +790,6 @@ TODO:
<pathelement location="${library.jar}"/>
<pathelement location="${xml.jar}"/>
<pathelement location="${parser-combinators.jar}"/>
- <pathelement location="${actors.jar}"/>
<pathelement location="${reflect.jar}"/>
<pathelement location="${compiler.jar}"/>
<!-- TODO modularize compiler: <pathelement location="${scaladoc.jar}"/> -->
@@ -882,12 +800,6 @@ TODO:
<path id="pack.library.files">
<fileset dir="${build-quick.dir}/classes/library"/>
- <fileset dir="${forkjoin-classes}"/>
- <fileset refid="scala-java8-compat.fileset"/>
- </path>
-
- <path id="pack.actors.files">
- <fileset dir="${build-quick.dir}/classes/actors"/>
</path>
<path id="pack.repl-jline.files"> <fileset dir="${build-quick.dir}/classes/repl-jline"/> </path>
@@ -917,7 +829,6 @@ TODO:
<!-- STRAP -->
<path id="strap.library.build.path">
<pathelement location="${build-strap.dir}/classes/library"/>
- <path refid="forkjoin.classpath"/>
<path refid="aux.libs"/>
</path>
@@ -939,7 +850,6 @@ TODO:
<path id="docs.scaladoc.build.path"> <path refid="quick.scaladoc.build.path"/> </path>
<path id="docs.interactive.build.path"> <path refid="quick.interactive.build.path"/> </path>
<path id="docs.scalap.build.path"> <path refid="quick.scalap.build.path"/> </path>
- <path id="docs.actors.build.path"> <path refid="quick.actors.build.path"/> </path>
<!-- run-time classpath for scaladoc TODO: resolve through maven -->
<path id="scaladoc.classpath">
@@ -995,9 +905,8 @@ TODO:
<pathelement location="${interactive.jar}"/>
-->
- <!-- TODO: move scalap & actors out of repo -->
+ <!-- TODO: move scalap out of repo -->
<pathelement location="${scalap.jar}"/>
- <pathelement location="${actors.jar}"/>
<!-- partest's dependencies, which marks most of its dependencies as provided,
(but not scala-library, so we filter that one out...)
@@ -1020,7 +929,6 @@ TODO:
<rsel:name name="scala-library*.jar"/>
<rsel:name name="scala-compiler*.jar"/>
<rsel:name name="scala-reflect*.jar"/>
- <rsel:name name="scala-actors*.jar"/>
<rsel:name name="scala-parser-combinators*.jar"/>
<rsel:name name="scala-xml*.jar"/>
</rsel:or></rsel:not>
@@ -1048,9 +956,7 @@ TODO:
<pathelement location="${build-osgi.dir}/org.scala-lang.scala-library.jar"/>
<pathelement location="${build-osgi.dir}/org.scala-lang.scala-reflect.jar"/>
<pathelement location="${build-osgi.dir}/org.scala-lang.scala-compiler.jar"/>
- <pathelement location="${build-osgi.dir}/org.scala-lang.scala-actors.jar"/>
<path refid="pax.exam.classpath"/>
- <path refid="forkjoin.classpath"/>
</path>
<path id="test.osgi.compiler.build.path.felix">
@@ -1092,10 +998,14 @@ TODO:
<include name="**/*.png"/>
<include name="**/*.gif"/>
<include name="**/*.txt"/>
+ <include name="**/*.eot"/>
+ <include name="**/*.ttf"/>
+ <include name="**/*.woff"/>
+ <include name="**/*.svg"/>
</patternset>
<taskdef resource="scala/tools/ant/sabbus/antlib.xml" classpathref="starr.compiler.path"/>
- <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpathref="jarjar.classpath" />
+ <taskdef name="jarjar" classname="org.pantsbuild.jarjar.JarJarTask" classpathref="jarjar.classpath" />
</target>
<!-- ===========================================================================
@@ -1121,8 +1031,6 @@ TODO:
LOCAL DEPENDENCIES
============================================================================ -->
- <target name="forkjoin.done" depends="init"> <simple-javac project="forkjoin" args="-XDignore.symbol.file" jar="no"/></target>
-
<!-- For local development only. We only allow released versions of Scala for STARR.
This builds quick (core only) and publishes it with a generated version number,
saving it as starr.version in build.properties, so this compiler will be used as STARR in your next build
@@ -1134,7 +1042,7 @@ TODO:
<antcall target="publish-core-local">
<param name="maven.version.suffix" value="-STARR-${git.commit.sha}-SNAPSHOT"/>
<param name="docs.skip" value="1"/>
- <param name="scalac.args.optimise" value="-optimise"/>
+ <param name="scalac.args.optimise" value="-Yopt:l:classpath"/>
<param name="update.starr.version" value="alright then"/>
</antcall>
</target>
@@ -1143,11 +1051,12 @@ TODO:
<!-- ===========================================================================
LOCAL REFERENCE BUILD (LOCKER)
============================================================================ -->
- <target name="locker.start" depends="forkjoin.done">
+ <target name="locker.start" depends="init">
<condition property="locker.locked"><available file="${build-locker.dir}/locker.locked"/></condition></target>
<target name="locker.lib" depends="locker.start" unless="locker.locked">
- <staged-build with="starr" stage="locker" project="library" srcpath="${src.dir}/library" includes="lib.includes"/></target>
+ <!-- "mixed" needed for JFunction classes in scala.runtime.java8 -->
+ <staged-build with="starr" stage="locker" project="library" srcpath="${src.dir}/library" includes="lib.includes" mixed="true"/></target>
<target name="locker.reflect" depends="locker.lib" unless="locker.locked">
<staged-build with="starr" stage="locker" project="reflect"/></target>
@@ -1168,7 +1077,8 @@ TODO:
<target name="quick.start" depends="locker.done"/>
<target name="quick.lib" depends="quick.start">
- <staged-build with="locker" stage="quick" project="library" srcpath="${src.dir}/library" includes="lib.rootdoc.includes"/></target>
+ <!-- "mixed" needed for JFunction classes in scala.runtime.java8 -->
+ <staged-build with="locker" stage="quick" project="library" srcpath="${src.dir}/library" includes="lib.rootdoc.includes" mixed="true"/></target>
<target name="quick.reflect" depends="quick.lib">
<staged-build with="locker" stage="quick" project="reflect"/> </target>
@@ -1212,9 +1122,6 @@ TODO:
<target name="quick.scalap" depends="quick.repl">
<staged-build with="locker" stage="quick" project="scalap"/> </target>
- <target name="quick.actors" depends="quick.lib">
- <staged-build with="locker" stage="quick" project="actors"/> </target>
-
<target name="quick.modules" depends="quick.repl, quick.scaladoc, quick.interactive, quick.scalap"/>
@@ -1230,7 +1137,7 @@ TODO:
<!-- ===========================================================================
PACKED QUICK BUILD (PACK)
============================================================================ -->
- <target name="pack.lib" depends="quick.lib, forkjoin.done"> <staged-pack project="library"/></target>
+ <target name="pack.lib" depends="quick.lib"> <staged-pack project="library"/></target>
<target name="pack.reflect" depends="quick.reflect"> <staged-pack project="reflect"/> </target>
@@ -1266,14 +1173,12 @@ TODO:
<target name="pack.interactive" depends="quick.interactive"> <staged-pack project="interactive"/> </target>
-->
- <target name="pack.actors" depends="quick.actors"> <staged-pack project="actors"/> </target>
-
<target name="pack.scalap" depends="quick.scalap"> <staged-pack project="scalap"/> </target>
<target name="pack.core" depends="pack.reflect, pack.comp, pack.lib"/>
<!-- TODO modularize compiler: pack.scaladoc, pack.interactive, -->
- <target name="pack.modules" depends="pack.actors, pack.scalap">
+ <target name="pack.modules" depends="pack.scalap">
<copy todir="${build-pack.dir}/lib">
<path refid="external-modules-nocore" />
<mapper type="flatten" />
@@ -1307,7 +1212,8 @@ TODO:
BOOTSTRAPPING BUILD (STRAP)
============================================================================ -->
<target name="strap.done" depends="pack.done">
- <staged-build with="pack" stage="strap" project="library" srcpath="${src.dir}/library" includes="lib.rootdoc.includes"/>
+ <!-- "mixed" needed for JFunction classes in scala.runtime.java8 -->
+ <staged-build with="pack" stage="strap" project="library" srcpath="${src.dir}/library" includes="lib.rootdoc.includes" mixed="true"/>
<staged-build with="pack" stage="strap" project="reflect"/>
<staged-build with="pack" stage="strap" project="compiler"/>
</target>
@@ -1379,10 +1285,6 @@ TODO:
<include name="${scaladoc.jar}"/>
-->
- <file name="${actors.jar}"/>
-
- <file name="${continuations-plugin.jar}"/>
- <file name="${continuations-library.jar}"/>
<file name="${parser-combinators.jar}"/>
<file name="${xml.jar}"/>
<file name="${swing.jar}"/>
@@ -1407,13 +1309,6 @@ TODO:
</make-bundle>
-->
- <make-bundle project="actors">
- <fileset dir="${src.dir}/actors"/>
- </make-bundle>
-
-
- <make-bundle project="continuations-plugin"/>
- <make-bundle project="continuations-library"/>
<make-bundle project="parser-combinators"/>
<make-bundle project="xml"/>
<make-bundle project="swing"/>
@@ -1538,9 +1433,9 @@ TODO:
srcdir="${test.junit.src}"
destdir="${test.junit.classes}"
classpathref="test.junit.compiler.build.path"
- target="1.6"
- source="1.5"
- compiler="javac1.6"
+ target="1.8"
+ source="1.8"
+ compiler="javac1.8"
includes="**/*.java"/>
<scalacfork
destdir="${test.junit.classes}"
@@ -1560,6 +1455,10 @@ TODO:
<mkdir dir="${test.junit.classes}"/>
<echo message="Note: details of failed tests will be output to ${build-junit.dir}"/>
+ <propertyfile file = "${test.junit.classes}/classpath.properties">
+ <entry key = "test.junit.compiler.build.path" value="${toString:test.junit.compiler.build.path}"/>
+ </propertyfile>
+
<if><isset property="test.method" /><then><property name="test.methods" value="${test.method}" /></then></if>
<junit fork="yes" haltonfailure="yes" printsummary="on">
<classpath refid="test.junit.compiler.build.path"/>
@@ -1655,8 +1554,9 @@ TODO:
<target name="test.bc-opt" description="Optimized version of test.bc."> <optimized name="test.bc"/></target>
<target name="test.bc" depends="bc.prepare, pack.lib, pack.reflect" unless="test.bc.skip">
- <bc.check project="library"/>
- <bc.check project="reflect"/>
+ <echo message="binary compatibility testing disabled in the 2.12.x branch"/>
+ <!-- <bc.check project="library"/> -->
+ <!-- <bc.check project="reflect"/> -->
</target>
<!-- ===========================================================================
@@ -1718,12 +1618,6 @@ TODO:
</target>
-->
- <target name="docs.actors" depends="docs.start" unless="docs.skip">
- <staged-docs project="actors">
- <include name="**/*.scala"/>
- </staged-docs>
- </target>
-
<target name="docs.scalap" depends="docs.start" unless="docs.skip">
<staged-docs project="scalap">
<include name="**/*.scala"/>
@@ -1732,7 +1626,7 @@ TODO:
<target name="docs.core" depends="docs.lib, docs.reflect, docs.comp" unless="docs.skip"/>
<!-- TODO modularize compiler: docs.scaladoc, docs.interactive, -->
- <target name="docs.done" depends="docs.core, docs.actors, docs.scalap" unless="docs.skip"/>
+ <target name="docs.done" depends="docs.core, docs.scalap" unless="docs.skip"/>
<!-- doc/ and man/ -->
<target name="pack.doc" depends="scaladoc.task" unless="docs.skip"> <!-- depends on scaladoc.task for scalac taskdef -->
@@ -1774,6 +1668,10 @@ TODO:
<include name="**/*.css"/>
<include name="**/*.gif"/>
<include name="**/*.png"/>
+ <include name="**/*.eot"/>
+ <include name="**/*.ttf"/>
+ <include name="**/*.woff"/>
+ <include name="**/*.svg"/>
</fileset>
</copy>
</target>
@@ -1807,8 +1705,6 @@ MAIN DISTRIBUTION PACKAGING
<mvn-package project="scaladoc"/>
-->
- <mvn-package project="actors"/>
-
<!-- don't bother fitting scalap into the mould: it will move out soon -->
<copy tofile="${dist.maven}/scalap/scalap-pom.xml" file="${src.dir}/build/maven/scalap-pom.xml" overwrite="true"/>
<copy tofile="${dist.maven}/scalap/scalap.jar" file="${scalap.jar}" overwrite="true"/>