summaryrefslogtreecommitdiff
path: root/bootstrapper.sh
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-02-03 12:17:52 -0800
committerPaul Phillips <paulp@improving.org>2012-02-03 12:54:10 -0800
commit269a9ef9b25cc90a8d05cff166f6461220b715b8 (patch)
tree50d1294036689340c52746d8b9a69969164bd4e9 /bootstrapper.sh
parent37a0c8dd30d6443c47389922dbe1784f5dea0b00 (diff)
downloadscala-269a9ef9b25cc90a8d05cff166f6461220b715b8.tar.gz
scala-269a9ef9b25cc90a8d05cff166f6461220b715b8.tar.bz2
scala-269a9ef9b25cc90a8d05cff166f6461220b715b8.zip
Temporary bootstrapper script.
Working around new cycle arising when reading annotations from classfiles. Run ./bootstrapper.sh and it will blow away ./build and perform the necessary gyrations and incantations. I wonder if this is what that old gypsy woman meant when she whispered almost inaudibly "The ghost of ScalaObject will haunt this repository... forever... forever... forever..."
Diffstat (limited to 'bootstrapper.sh')
-rwxr-xr-xbootstrapper.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/bootstrapper.sh b/bootstrapper.sh
new file mode 100755
index 0000000000..b056e70470
--- /dev/null
+++ b/bootstrapper.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+#
+# This rm -rfs your build dir.
+
+set -e
+
+run () {
+ echo "% $@"
+ "$@"
+}
+
+troubleFiles=$(cat <<EOM
+src/library/scala/collection/generic/GenericTraversableTemplate.scala
+src/library/scala/Function1.scala
+EOM
+)
+locker=build/locker/classes/library
+quick=build/quick/classes/library
+
+run pull-binary-libs.sh
+run rm -rf ./build
+run mkdir -p $locker
+for f in $troubleFiles; do
+ run ./tools/starr_scalac -d $locker $f
+done
+
+run env ANT_OPTS="-Xmx2g -Xms2g" ant "$@" locker.done
+run mkdir -p $quick
+
+for f in $troubleFiles; do
+ run ./tools/locker_scalac -d $quick $f
+done
+
+run env ANT_OPTS="-Xmx2g -Xms2g" ant "$@" build