@@ -165,7 +165,6 @@ TODO:
165
165
<property name =" build.dir" value =" ${ basedir } /build" />
166
166
<property name =" build-deps.dir" value =" ${ build.dir } /deps" />
167
167
<property name =" build-libs.dir" value =" ${ build.dir } /libs" />
168
- <property name =" build-asm.dir" value =" ${ build-libs.dir } " />
169
168
<property name =" build-forkjoin.dir" value =" ${ build-libs.dir } " />
170
169
<property name =" build-locker.dir" value =" ${ build.dir } /locker" />
171
170
<property name =" build-quick.dir" value =" ${ build.dir } /quick" />
@@ -266,6 +265,11 @@ TODO:
266
265
-->
267
266
<if ><not ><isset property =" maven-deps-done" ></isset ></not ><then >
268
267
<mkdir dir =" ${ user.home } /.m2/repository" />
268
+
269
+ <artifact : remoteRepository id =" sonatype-release" url =" https://oss.sonatype.org/content/repositories/releases" />
270
+ <artifact : remoteRepository id =" sonatype-snapshots" url =" https://oss.sonatype.org/content/repositories/snapshots" />
271
+ <artifact : remoteRepository id =" extra-repo" url =" ${ extra.repo.url } " />
272
+
269
273
<!-- This task has an issue where if the user directory does not exist, so we create it above. UGH. -->
270
274
<artifact : dependencies pathId =" extra.tasks.classpath" filesetId =" extra.tasks.fileset" >
271
275
<dependency groupId =" biz.aQute" artifactId =" bnd" version =" 1.50.0" />
@@ -307,6 +311,36 @@ TODO:
307
311
<artifact : remoteRepository id =" sonatype-release" url =" https://oss.sonatype.org/content/repositories/releases" />
308
312
<artifact : remoteRepository id =" extra-repo" url =" ${ extra.repo.url } " />
309
313
314
+ <!-- scala-java8-compat, used by the experimental -target jvm-1.8 support. -->
315
+ <if ><isset property =" scala-java8-compat.package" /><then >
316
+ <property name =" scala-java8-compat.version" value =" 0.2.0" />
317
+ <property name =" scala-java8-compat.binary.version" value =" 2.11" />
318
+ <artifact : dependencies pathId =" scala-java8-compat.classpath" filesetId =" scala-java8-compat.fileset" >
319
+ <dependency groupId =" org.scala-lang.modules" artifactId =" scala-java8-compat_${ scala-java8-compat.binary.version } " version =" ${ scala-java8-compat.version } " >
320
+ <exclusion groupId =" org.scala-lang" artifactId =" scala-library" />
321
+ </dependency >
322
+ </artifact : dependencies >
323
+ <property name =" scala-java8-compat-classes" value =" ${ build-quick.dir } /scala-java8-compat" />
324
+ <delete dir =" ${ scala-java8-compat-classes } " />
325
+ <unzip dest =" ${ scala-java8-compat-classes } " >
326
+ <fileset refid =" scala-java8-compat.fileset" />
327
+ <patternset >
328
+ <include name =" **/*.class" />
329
+ </patternset >
330
+ </unzip >
331
+ <path id =" scala-java8-compat.libs" >
332
+ <pathelement location =" ${ scala-java8-compat-classes } " />
333
+ </path >
334
+ <fileset id =" scala-java8-compat.fileset" dir =" ${ scala-java8-compat-classes } " >
335
+ <include name =" **/*" />
336
+ </fileset >
337
+ </then >
338
+ <else >
339
+ <path id =" scala-java8-compat.libs" />
340
+ <fileset id =" scala-java8-compat.fileset" dir =" ." excludes =" **" />
341
+ </else >
342
+ </if >
343
+
310
344
<!-- prepare, for each of the names below, the property "@{name}.cross", set to the
311
345
necessary cross suffix (usually something like "_2.11.0-M6". -->
312
346
<prepareCross name =" scala-xml" />
@@ -315,6 +349,11 @@ TODO:
315
349
<prepareCross name =" partest" />
316
350
<prepareCross name =" scalacheck" />
317
351
352
+ <artifact : dependencies pathId =" asm.classpath" filesetId =" asm.fileset" >
353
+ <dependency groupId =" org.scala-lang.modules" artifactId =" scala-asm" version =" ${ scala-asm.version } " />
354
+ </artifact : dependencies >
355
+ <copy-deps project =" asm" />
356
+
318
357
<!-- TODO: delay until absolutely necessary to allow minimal build, also move out partest dependency from scaladoc -->
319
358
<artifact : dependencies pathId =" partest.classpath" filesetId =" partest.fileset" versionsId =" partest.versions" >
320
359
<!-- uncomment the following if you're deploying your own partest locally -->
@@ -572,9 +611,7 @@ TODO:
572
611
</then ></if >
573
612
574
613
<path id =" forkjoin.classpath" path =" ${ build-forkjoin.dir } /classes/forkjoin" />
575
- <path id =" asm.classpath" path =" ${ build-asm.dir } /classes/asm" />
576
614
<property name =" forkjoin-classes" refid =" forkjoin.classpath" />
577
- <property name =" asm-classes" refid =" asm.classpath" />
578
615
579
616
<!-- the following properties fully define staged-docs, staged-pack, make-bundle, copy-bundle and mvn-package for each of the projects -->
580
617
<property name =" library.description" value =" Scala Standard Library" />
@@ -627,7 +664,7 @@ TODO:
627
664
<property name =" partest-extras.description" value =" Scala Compiler Testing Tool (compiler-specific extras)" />
628
665
<property name =" partest-javaagent.description" value =" Scala Compiler Testing Tool (compiler-specific java agent)" />
629
666
630
- <!-- projects without project-specific options: asm, forkjoin, manual, bin, repl -->
667
+ <!-- projects without project-specific options: forkjoin, manual, bin, repl -->
631
668
<for list =" compiler,interactive,scaladoc,library,parser-combinators,partest,partest-extras,partest-javaagent,reflect,scalap,swing,xml" param =" project" >
632
669
<sequential >
633
670
<!-- description is mandatory -->
@@ -687,6 +724,7 @@ TODO:
687
724
<pathelement location =" ${ build-locker.dir } /classes/library" />
688
725
<path refid =" forkjoin.classpath" />
689
726
<path refid =" aux.libs" />
727
+ <path refid =" scala-java8-compat.libs" />
690
728
</path >
691
729
692
730
<path id =" locker.reflect.build.path" >
@@ -708,6 +746,7 @@ TODO:
708
746
<pathelement location =" ${ build-quick.dir } /classes/library" />
709
747
<path refid =" forkjoin.classpath" />
710
748
<path refid =" aux.libs" />
749
+ <path refid =" scala-java8-compat.libs" />
711
750
</path >
712
751
713
752
<path id =" quick.reflect.build.path" >
@@ -789,6 +828,7 @@ TODO:
789
828
<path id =" pack.library.files" >
790
829
<fileset dir =" ${ build-quick.dir } /classes/library" />
791
830
<fileset dir =" ${ forkjoin-classes } " />
831
+ <fileset refid =" scala-java8-compat.fileset" />
792
832
</path >
793
833
794
834
<path id =" pack.compiler.files" >
@@ -798,8 +838,9 @@ TODO:
798
838
<fileset dir =" ${ build-quick.dir } /classes/scaladoc" />
799
839
<fileset dir =" ${ build-quick.dir } /classes/interactive" />
800
840
<fileset dir =" ${ build-quick.dir } /classes/repl" />
801
- <fileset dir =" ${ asm-classes } " />
802
841
</path >
842
+ <fileset id =" pack.compiler.include-jars" refid =" asm.fileset" />
843
+ <property name =" pack.compiler.include-jars.defined" value =" yeah" />
803
844
804
845
<!-- TODO modularize compiler.
805
846
<path id="pack.scaladoc.files"> <fileset dir="${build-quick.dir}/classes/scaladoc"/> </path>
@@ -994,9 +1035,9 @@ TODO:
994
1035
<!-- ===========================================================================
995
1036
CLEANLINESS
996
1037
=============================================================================-->
997
- <target name =" libs.clean" > <clean build =" libs" /> < clean build = " asm " /> </target >
998
- <target name =" quick.clean" depends =" libs.clean" > <clean build =" quick" /> <clean build =" pack" /> <clean build =" strap" /> </target >
999
- <target name =" locker.clean" depends =" quick.clean" > <clean build =" locker" /> </target >
1038
+ <target name =" libs.clean" > <clean build =" libs" /> </target >
1039
+ <target name =" quick.clean" depends =" libs.clean" > <clean build =" quick" /> <clean build =" pack" /> <clean build =" strap" /> </target >
1040
+ <target name =" locker.clean" depends =" quick.clean" > <clean build =" locker" /> </target >
1000
1041
1001
1042
<target name =" docs.clean" > <clean build =" docs" /> <delete dir =" ${ build.dir } /manmaker" includeemptydirs =" yes" quiet =" yes" failonerror =" no" /> </target >
1002
1043
<target name =" dist.clean" > <delete dir =" ${ dists.dir } " includeemptydirs =" yes" quiet =" yes" failonerror =" no" /> </target >
@@ -1014,7 +1055,6 @@ TODO:
1014
1055
LOCAL DEPENDENCIES
1015
1056
============================================================================ -->
1016
1057
1017
- <target name =" asm.done" depends =" init" > <simple-javac project =" asm" jar =" no" /> </target >
1018
1058
<target name =" forkjoin.done" depends =" init" > <simple-javac project =" forkjoin" args =" -XDignore.symbol.file" jar =" no" /></target >
1019
1059
1020
1060
<!-- For local development only. We only allow released versions of Scala for STARR.
@@ -1037,7 +1077,7 @@ TODO:
1037
1077
<!-- ===========================================================================
1038
1078
LOCAL REFERENCE BUILD (LOCKER)
1039
1079
============================================================================ -->
1040
- <target name =" locker.start" depends =" asm.done, forkjoin.done" >
1080
+ <target name =" locker.start" depends =" forkjoin.done" >
1041
1081
<condition property =" locker.locked" ><available file =" ${ build-locker.dir } /locker.locked" /></condition ></target >
1042
1082
1043
1083
<target name =" locker.lib" depends =" locker.start" unless =" locker.locked" >
@@ -1102,7 +1142,7 @@ TODO:
1102
1142
<target name =" pack.reflect" depends =" quick.reflect" > <staged-pack project =" reflect" /> </target >
1103
1143
1104
1144
<!-- TODO modularize compiler. Remove other quick targets when they become modules. -->
1105
- <target name =" pack.comp" depends =" quick.comp, quick.scaladoc, quick.interactive, quick.repl, asm.done " >
1145
+ <target name =" pack.comp" depends =" quick.comp, quick.scaladoc, quick.interactive, quick.repl" >
1106
1146
<staged-pack project =" compiler" manifest =" ${ build-pack.dir } /META-INF/MANIFEST.MF" >
1107
1147
<pre > <!-- TODO the files copied here do not influence actuality of this target (nor does the manifest) -->
1108
1148
<copy todir =" ${ build-pack.dir } /lib" >
0 commit comments