diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-05-13 08:48:23 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-05-13 08:48:23 +1000 |
commit | a436e9064807d95d5aa9691aebefeccf448734bc (patch) | |
tree | 9cd6198413ef8ea5e885559e4f3230373821c00c /build.xml | |
parent | 0bcd0a40dcfda091bbb665b5f0879d9ce3384ab5 (diff) | |
parent | d253702f9f23186cbf95f611c2fd1a2d08330ad6 (diff) | |
download | scala-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-x | build.xml | 62 |
1 files changed, 51 insertions, 11 deletions
@@ -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"> |