summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-05-13 08:48:23 +1000
committerJason Zaugg <jzaugg@gmail.com>2015-05-13 08:48:23 +1000
commita436e9064807d95d5aa9691aebefeccf448734bc (patch)
tree9cd6198413ef8ea5e885559e4f3230373821c00c /build.xml
parent0bcd0a40dcfda091bbb665b5f0879d9ce3384ab5 (diff)
parentd253702f9f23186cbf95f611c2fd1a2d08330ad6 (diff)
downloadscala-a436e9064807d95d5aa9691aebefeccf448734bc.tar.gz
scala-a436e9064807d95d5aa9691aebefeccf448734bc.tar.bz2
scala-a436e9064807d95d5aa9691aebefeccf448734bc.zip
Merge pull request #4500 from lrytz/merge-2.11-may-12
Merge 2.11.x into 2.12.x [ci: last-only]
Diffstat (limited to 'build.xml')
-rwxr-xr-xbuild.xml62
1 files changed, 51 insertions, 11 deletions
diff --git a/build.xml b/build.xml
index 4aa8683824..31ed78d6dc 100755
--- a/build.xml
+++ b/build.xml
@@ -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-asm.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-quick.dir" value="${build.dir}/quick"/>
@@ -266,6 +265,11 @@ 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"/>
@@ -307,6 +311,36 @@ TODO:
<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.2.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" />
@@ -315,6 +349,11 @@ TODO:
<prepareCross name="partest"/>
<prepareCross name="scalacheck"/>
+ <artifact:dependencies pathId="asm.classpath" filesetId="asm.fileset">
+ <dependency groupId="org.scala-lang.modules" artifactId="scala-asm" version="${scala-asm.version}"/>
+ </artifact:dependencies>
+ <copy-deps project="asm"/>
+
<!-- TODO: delay until absolutely necessary to allow minimal build, also move out partest dependency from scaladoc -->
<artifact:dependencies pathId="partest.classpath" filesetId="partest.fileset" versionsId="partest.versions">
<!-- uncomment the following if you're deploying your own partest locally -->
@@ -572,9 +611,7 @@ TODO:
</then></if>
<path id="forkjoin.classpath" path="${build-forkjoin.dir}/classes/forkjoin"/>
- <path id="asm.classpath" path="${build-asm.dir}/classes/asm"/>
<property name="forkjoin-classes" refid="forkjoin.classpath"/>
- <property name="asm-classes" refid="asm.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"/>
@@ -627,7 +664,7 @@ 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: asm, forkjoin, manual, bin, repl -->
+ <!-- projects without project-specific options: forkjoin, manual, bin, repl -->
<for list="compiler,interactive,scaladoc,library,parser-combinators,partest,partest-extras,partest-javaagent,reflect,scalap,swing,xml" param="project">
<sequential>
<!-- description is mandatory -->
@@ -687,6 +724,7 @@ TODO:
<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">
@@ -708,6 +746,7 @@ TODO:
<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.reflect.build.path">
@@ -789,6 +828,7 @@ 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.compiler.files">
@@ -798,8 +838,9 @@ TODO:
<fileset dir="${build-quick.dir}/classes/scaladoc"/>
<fileset dir="${build-quick.dir}/classes/interactive"/>
<fileset dir="${build-quick.dir}/classes/repl"/>
- <fileset dir="${asm-classes}"/>
</path>
+ <fileset id="pack.compiler.include-jars" refid="asm.fileset"/>
+ <property name="pack.compiler.include-jars.defined" value="yeah"/>
<!-- TODO modularize compiler.
<path id="pack.scaladoc.files"> <fileset dir="${build-quick.dir}/classes/scaladoc"/> </path>
@@ -994,9 +1035,9 @@ TODO:
<!-- ===========================================================================
CLEANLINESS
=============================================================================-->
- <target name="libs.clean"> <clean build="libs"/> <clean build="asm"/> </target>
- <target name="quick.clean" depends="libs.clean"> <clean build="quick"/> <clean build="pack"/> <clean build="strap"/> </target>
- <target name="locker.clean" depends="quick.clean"> <clean build="locker"/> </target>
+ <target name="libs.clean"> <clean build="libs"/> </target>
+ <target name="quick.clean" depends="libs.clean"> <clean build="quick"/> <clean build="pack"/> <clean build="strap"/> </target>
+ <target name="locker.clean" depends="quick.clean"> <clean build="locker"/> </target>
<target name="docs.clean"> <clean build="docs"/> <delete dir="${build.dir}/manmaker" includeemptydirs="yes" quiet="yes" failonerror="no"/> </target>
<target name="dist.clean"> <delete dir="${dists.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/> </target>
@@ -1014,7 +1055,6 @@ TODO:
LOCAL DEPENDENCIES
============================================================================ -->
- <target name="asm.done" depends="init"> <simple-javac project="asm" jar="no"/> </target>
<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.
@@ -1037,7 +1077,7 @@ TODO:
<!-- ===========================================================================
LOCAL REFERENCE BUILD (LOCKER)
============================================================================ -->
- <target name="locker.start" depends="asm.done, forkjoin.done">
+ <target name="locker.start" depends="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">
@@ -1102,7 +1142,7 @@ TODO:
<target name="pack.reflect" depends="quick.reflect"> <staged-pack project="reflect"/> </target>
<!-- TODO modularize compiler. Remove other quick targets when they become modules. -->
- <target name="pack.comp" depends="quick.comp, quick.scaladoc, quick.interactive, quick.repl, asm.done">
+ <target name="pack.comp" depends="quick.comp, quick.scaladoc, quick.interactive, quick.repl">
<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 todir="${build-pack.dir}/lib">