Skip to content

Commit 1126912

Browse files
author
Vojin Jovanovic
committed
Merge branch 'master' into execution-context
2 parents 5a4b555 + 820491e commit 1126912

File tree

317 files changed

+8219
-5526
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

317 files changed

+8219
-5526
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ build script or user-created if needed. This is not a complete listing. ::
2424
| +--scala-library.jar The stable reference ('starr') library jar
2525
| +--scala-library-src.jar A snapshot of the source used to build starr.
2626
| ---ant/ Support libraries for ant.
27-
+--project/ The (already legacy) 0.7 sbt build.
2827
+--pull-binary-libs.sh Pulls binary artifacts from remote repository.
2928
+--push-binary-libs.sh Pushes new binary artifacts and creates sha.
3029
+--README.rst The file you are currently reading.

build.xml

Lines changed: 106 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,18 @@ END-USER TARGETS
123123
<antcall target="palo.done"/>
124124
</target>
125125

126+
<target name="fastlocker"
127+
description="Buildlocker without extra fuss">
128+
<antcall target="locker.unlock"/>
129+
<antcall target="locker.done"/>
130+
</target>
131+
132+
<target name="buildlocker"
133+
description="Does the same for locker as build does for quick">
134+
<antcall target="locker.unlock"/>
135+
<antcall target="palo.bin"/>
136+
</target>
137+
126138
<target name="newlibs"
127139
description="Requires libraries (MSIL, FJBG) to be rebuilt. Add this target before any other if class file format is incompatible.">
128140
<property name="libs.outdated" value="yes"/>
@@ -189,9 +201,6 @@ PROPERTIES
189201
<!-- if ANT_OPTS is already set by the environment, it will be unaltered,
190202
but if it is unset it will take this default value. -->
191203
<property name="env.ANT_OPTS" value="-Xms1536M -Xmx1536M -Xss1M -XX:MaxPermSize=192M -XX:+UseParallelGC" />
192-
193-
<!-- to find max heap usage: -Xaprof ; currently at 980M for locker.comp -->
194-
<echo message="Forking with JVM opts: ${env.ANT_OPTS} ${jvm.opts}" />
195204

196205
<property
197206
name="scalacfork.jvmargs"
@@ -216,15 +225,14 @@ INITIALISATION
216225
<property name="scalac.args.optimise" value=""/>
217226
<!-- scalac.args.quickonly are added to quick.* targets but not others (particularly, locker.)
218227
This is to facilitate testing new command line options which do not yet exist in starr. -->
219-
<property name="scalac.args.quickonly" value=""/>
220-
228+
<property name="scalac.args.quickonly" value=""/>
221229
<property name="scalac.args.all" value="${scalac.args} ${scalac.args.optimise}"/>
222230
<property name="scalac.args.quick" value="${scalac.args.all} ${scalac.args.quickonly}"/>
223231
<!-- Setting-up Ant contrib tasks -->
224232
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${lib.dir}/ant/ant-contrib.jar"/>
225233
<!-- This is the start time for the distribution -->
226234
<tstamp prefix="time">
227-
<format property="human" pattern="d MMMM yyyy, HH:mm:ss"/>
235+
<format property="human" pattern="d MMMM yyyy, HH:mm:ss" locale="en,US"/>
228236
<format property="short" pattern="yyyyMMddHHmmss"/>
229237
</tstamp>
230238
<!-- Find out whether we are running on Windows -->
@@ -236,18 +244,21 @@ INITIALISATION
236244
<exec osfamily="windows" executable="tools/get-scala-revision.bat" outputproperty="git.describe" failifexecutionfails="false" />
237245
<!-- some default in case something went wrong getting the revision -->
238246
<property name="git.describe" value="-unknown-"/>
239-
240247
<property name="init.avail" value="yes"/>
241248

242249
<!-- Generating version number -->
243250
<property file="${basedir}/build.number"/>
244251
<property
245252
name="version.number"
246253
value="${version.major}.${version.minor}.${version.patch}.${git.describe}"/>
247-
254+
248255
<!-- And print-out what we are building -->
249-
<echo level="info" message="Build number is '${version.number}'"/>
250-
<echo level="info" message="Built ${time.human} from revision ${git.describe} with ${java.vm.name} ${java.version}"/>
256+
<echo message=" build time: ${time.human}" />
257+
<echo message=" java version: ${java.vm.name} ${java.version}" />
258+
<echo message=" java args: ${env.ANT_OPTS} ${jvm.opts}" />
259+
<echo message=" javac args: ${javac.args}" />
260+
<echo message=" scalac args: ${scalac.args}" />
261+
<echo message=" build number: ${version.number}" />
251262

252263
<!-- Local libs (developer use.) -->
253264
<mkdir dir="${lib-extra.dir}"/>
@@ -412,12 +423,34 @@ LOCAL REFERENCE BUILD (LOCKER)
412423
<delete dir="${build-locker.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
413424
</target>
414425

415-
<target name="locker.unlock">
416-
<delete file="${build-locker.dir}/all.complete"/>
426+
<target name="locker.unlock.pre-lib">
427+
<uptodate property="locker.lib.available" targetfile="${build-locker.dir}/library.complete">
428+
<srcfiles dir="${src.dir}">
429+
<include name="library/**"/>
430+
</srcfiles>
431+
</uptodate>
432+
</target>
433+
434+
<target name="locker.unlock.lib" depends="locker.unlock.pre-lib" unless="locker.lib.available">
417435
<delete file="${build-locker.dir}/library.complete"/>
436+
</target>
437+
438+
<target name="locker.unlock.pre-comp" depends="locker.unlock.lib">
439+
<uptodate property="locker.comp.available" targetfile="${build-locker.dir}/compiler.complete">
440+
<srcfiles dir="${src.dir}">
441+
<include name="compiler/**"/>
442+
</srcfiles>
443+
</uptodate>
444+
</target>
445+
446+
<target name="locker.unlock.comp" depends="locker.unlock.pre-comp" unless="locker.comp.available">
418447
<delete file="${build-locker.dir}/compiler.complete"/>
419448
</target>
420449

450+
<target name="locker.unlock" depends="locker.unlock.comp">
451+
<delete file="${build-locker.dir}/all.complete" />
452+
</target>
453+
421454
<!-- ===========================================================================
422455
PACKED LOCKER BUILD (PALO)
423456
============================================================================ -->
@@ -450,7 +483,10 @@ PACKED LOCKER BUILD (PALO)
450483
<jar destfile="${build-palo.dir}/lib/scala-compiler.jar" manifest="${basedir}/META-INF/MANIFEST.MF">
451484
<fileset dir="${build-locker.dir}/classes/compiler"/>
452485
<!-- filemode / dirmode: see trac ticket #1294 -->
486+
<zipfileset dirmode="755" filemode="644" src="${lib.dir}/fjbg.jar"/>
487+
<zipfileset dirmode="755" filemode="644" src="${lib.dir}/msil.jar"/>
453488
</jar>
489+
<copy file="${jline.jar}" toDir="${build-palo.dir}/lib"/>
454490
</target>
455491

456492
<target name="palo.done" depends="palo.comp">
@@ -460,6 +496,51 @@ PACKED LOCKER BUILD (PALO)
460496
<delete dir="${build-palo.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
461497
</target>
462498

499+
<target name="palo.pre-bin" depends="palo.comp">
500+
<uptodate property="palo.bin.available" targetfile="${build-locker.dir}/bin.complete">
501+
<srcfiles dir="${src.dir}">
502+
<include name="compiler/scala/tools/ant/templates/**"/>
503+
</srcfiles>
504+
</uptodate>
505+
</target>
506+
507+
<target name="palo.bin" depends="palo.pre-bin" unless="palo.bin.available">
508+
<taskdef name="palo-bin" classname="scala.tools.ant.ScalaTool">
509+
<classpath>
510+
<pathelement location="${build-palo.dir}/lib/scala-library.jar"/>
511+
<pathelement location="${build-palo.dir}/lib/scala-compiler.jar"/>
512+
<pathelement location="${build-palo.dir}/lib/jline.jar"/>
513+
</classpath>
514+
</taskdef>
515+
<mkdir dir="${build-palo.dir}/bin"/>
516+
<palo-bin
517+
file="${build-palo.dir}/bin/scala"
518+
class="scala.tools.nsc.MainGenericRunner"
519+
javaFlags="${java.flags}"/>
520+
<palo-bin
521+
file="${build-palo.dir}/bin/scalac"
522+
class="scala.tools.nsc.Main"
523+
javaFlags="${java.flags}"/>
524+
<palo-bin
525+
file="${build-palo.dir}/bin/scaladoc"
526+
class="scala.tools.nsc.ScalaDoc"
527+
javaFlags="${java.flags}"/>
528+
<palo-bin
529+
file="${build-palo.dir}/bin/fsc"
530+
class="scala.tools.nsc.CompileClient"
531+
javaFlags="${java.flags}"/>
532+
<palo-bin
533+
file="${build-palo.dir}/bin/scalap"
534+
class="scala.tools.scalap.Main"
535+
javaFlags="${java.flags}"/>
536+
<chmod perm="ugo+rx" file="${build-palo.dir}/bin/scala"/>
537+
<chmod perm="ugo+rx" file="${build-palo.dir}/bin/scalac"/>
538+
<chmod perm="ugo+rx" file="${build-palo.dir}/bin/scaladoc"/>
539+
<chmod perm="ugo+rx" file="${build-palo.dir}/bin/fsc"/>
540+
<chmod perm="ugo+rx" file="${build-palo.dir}/bin/scalap"/>
541+
<touch file="${build-locker.dir}/bin.complete" verbose="no"/>
542+
</target>
543+
463544
<!-- ===========================================================================
464545
QUICK BUILD (QUICK)
465546
============================================================================ -->
@@ -662,7 +743,14 @@ QUICK BUILD (QUICK)
662743
<stopwatch name="quick.plugins.timer" action="total"/>
663744
</target>
664745

665-
<target name="quick.scalacheck" depends="quick.plugins">
746+
<target name="quick.pre-scalacheck" depends="quick.plugins">
747+
<uptodate property="quick.scalacheck.available" targetfile="${build-quick.dir}/scalacheck.complete">
748+
<srcfiles dir="${src.dir}/scalacheck"/>
749+
</uptodate>
750+
</target>
751+
752+
<target name="quick.scalacheck" depends="quick.pre-scalacheck" unless="quick.scalacheck.available">
753+
<stopwatch name="quick.scalacheck.timer"/>
666754
<mkdir dir="${build-quick.dir}/classes/scalacheck"/>
667755
<scalacfork
668756
destdir="${build-quick.dir}/classes/scalacheck"
@@ -676,6 +764,8 @@ QUICK BUILD (QUICK)
676764
<pathelement location="${build-quick.dir}/classes/scalacheck"/>
677765
</compilationpath>
678766
</scalacfork>
767+
<touch file="${build-quick.dir}/scalacheck.complete" verbose="no"/>
768+
<stopwatch name="quick.scalacheck.timer" action="total"/>
679769
</target>
680770

681771
<target name="quick.pre-scalap" depends="quick.scalacheck">
@@ -1688,7 +1778,9 @@ DISTRIBUTION
16881778
</copy>
16891779
<mkdir dir="${dist.dir}/doc/scala-devel-docs/examples"/>
16901780
<copy toDir="${dist.dir}/doc/scala-devel-docs/examples">
1691-
<fileset dir="${docs.dir}/examples"/>
1781+
<fileset dir="${docs.dir}/examples">
1782+
<exclude name="**/*.desired.sha1"/>
1783+
</fileset>
16921784
</copy>
16931785
<mkdir dir="${dist.dir}/doc/scala-devel-docs/tools"/>
16941786
<copy toDir="${dist.dir}/doc/scala-devel-docs/tools">

gitignore.SAMPLE

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,29 @@
22
/.gitignore
33
/test/files/.gitignore
44

5-
/.scala_dependencies
5+
*.jar
6+
*~
7+
8+
#sbt
9+
/project/target/
10+
/project/project/target
611

7-
# "a" and "a/" to get both file (i.e. symlink) and folder
8-
/build
9-
/build/
10-
/target
1112
/target/
13+
/src/jline/target/
14+
15+
# target directories for ant build
16+
/build/
1217
/dists/
18+
19+
# other
1320
/out/
1421
/bin/
15-
1622
/sandbox/
1723

24+
# eclipse, intellij
1825
/.classpath
19-
26+
/.project
2027
/src/intellij/*.iml
2128
/src/intellij/*.ipr
2229
/src/intellij/*.iws
2330

24-
/project/boot/
25-
/project/build/target/
File renamed without changes.

0 commit comments

Comments
 (0)