aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-06-21 20:02:42 +0200
committerFelix Mulder <felix.mulder@gmail.com>2016-06-21 20:07:04 +0200
commit574681ebf468642ce55a6aa06c66daee6b8d3742 (patch)
tree1129fae3ca7d656623ca5ae2c274648077aa3b36 /bin
parent156066d4aa03619c58a3197550cf998c5b67343a (diff)
downloaddotty-574681ebf468642ce55a6aa06c66daee6b8d3742.tar.gz
dotty-574681ebf468642ce55a6aa06c66daee6b8d3742.tar.bz2
dotty-574681ebf468642ce55a6aa06c66daee6b8d3742.zip
Extract common variables to common script in bin dir
Diffstat (limited to 'bin')
-rwxr-xr-xbin/common138
-rwxr-xr-xbin/dotc138
-rwxr-xr-xbin/dotr19
3 files changed, 141 insertions, 154 deletions
diff --git a/bin/common b/bin/common
new file mode 100755
index 000000000..150e79016
--- /dev/null
+++ b/bin/common
@@ -0,0 +1,138 @@
+#!/bin/bash
+
+# Finds in dotty build file a line containing PATTERN
+# returns last "" escaped string in this line
+function getLastStringOnLineWith {
+ PATTERN="$1"
+ grep "$PATTERN" "$DOTTY_ROOT/project/Build.scala"|sed -n 's/.*\"\(.*\)\".*/\1/'p
+}
+
+# Configuration
+SCALA_VERSION=$(getLastStringOnLineWith "scalaVersion in")
+SCALA_BINARY_VERSION=2.11
+SCALA_COMPILER_VERSION=$(getLastStringOnLineWith "scala-compiler")
+JLINE_VERSION=$(getLastStringOnLineWith "jline")
+SBT_VERSION=$(grep "sbt.version=" "$DOTTY_ROOT/project/build.properties" | sed 's/sbt.version=//')
+bootcp=true
+bootstrapped=false
+default_java_opts="-Xmx768m -Xms768m"
+programName=$(basename "$0")
+# uncomment next line to enable debug output
+#debug=true
+
+declare -a java_args scala_args residual_args
+unset verbose quiet cygwin toolcp colors saved_stty CDPATH
+
+function find_jar {
+ # Usage:
+ # find_jar path/to/location file.jar
+ local artifact="$1/$2"
+
+ if [ ! -f "$artifact" ]; then
+ artifact=$(find "$HOME/.coursier/cache" -iname "$2")
+ fi
+
+ echo "$artifact"
+}
+
+# Autodetecting the scala-library location, in case it wasn't provided by an environment variable
+if [ "$SCALA_LIBRARY_JAR" == "" ]; then
+ SCALA_LIBRARY_JAR=$(find_jar "$HOME/.ivy2/cache/org.scala-lang/scala-library/jars" "scala-library-$SCALA_VERSION.jar")
+fi
+
+if [ "$SCALA_REFLECT_JAR" == "" ]; then
+ SCALA_REFLECT_JAR=$(find_jar "$HOME/.ivy2/cache/org.scala-lang/scala-reflect/jars" "scala-reflect-$SCALA_VERSION.jar")
+fi
+
+if [ "$SCALA_COMPILER_JAR" == "" ]; then
+ SCALA_COMPILER_JAR=$(find_jar "$HOME/.ivy2/cache/me.d-d/scala-compiler/jars" "scala-compiler-$SCALA_COMPILER_VERSION.jar")
+fi
+
+if [ "$JLINE_JAR" == "" ]; then
+ JLINE_JAR=$(find_jar "$HOME/.ivy2/cache/jline/jline/jars" "jline-$JLINE_VERSION.jar")
+fi
+
+if [ "$SBT_INTERFACE_JAR" == "" ]; then
+ SBT_INTERFACE_JAR=$(find_jar "$HOME/.ivy2/cache/org.scala-sbt/interface/jars" "interface-$SBT_VERSION.jar")
+fi
+
+function build_jar {
+ # Usage:
+ # build_jar package path/to/jar/dir ['/some/sed/command']
+ #
+ # Last arg is optional
+ cd $DOTTY_ROOT >& /dev/null
+ local build_output=$(sbt "$1")
+ local jar=$(echo $build_output | sed -n 's/.*Packaging //g; s/ \.\.\..*//g; /^\/.*/p')
+
+ local sedjar="$3"
+ if [ "$sedjar" == "" ]; then
+ sedjar="/.*\.jar/p"
+ fi
+
+ if [ "$jar" == "" ]; then
+ # Didn't build a jar - could've run sbt by oneself, get latest jar in target:
+ jar="$DOTTY_ROOT/$2/$(ls -1t "$2" | sed -n "$sedjar" | awk 'NR==1')"
+ fi
+
+ cd - >& /dev/null
+
+ echo $jar
+}
+
+function update_packages {
+ echo "$INTERFACES_JAR" > $DOTTY_ROOT/.packages
+ echo "$MAIN_JAR" >> $DOTTY_ROOT/.packages
+ echo "$TEST_JAR" >> $DOTTY_ROOT/.packages
+}
+
+function build_all {
+ echo "The script is going to build the required jar files"
+
+ printf "Building dotty-interfaces..."
+ INTERFACES_JAR=$(build_jar dotty-interfaces/package interfaces/target)
+ printf "done\n"
+
+ printf "Building dotty..."
+ MAIN_JAR=$(build_jar package target/scala-2.11)
+ printf "done\n"
+
+ printf "Building tests..."
+ TEST_JAR=$(build_jar test:package target/scala-2.11 '/dotty.*-tests\.jar/p')
+ printf "done\n"
+
+ update_packages
+}
+
+# Check if .packages file does not exist - if so assume old build and rebuild all
+if [ ! -f "$DOTTY_ROOT/.packages" ]; then
+ build_all
+else
+ IFS=$'\r\n' GLOBIGNORE='*' command eval 'JARS=($(cat $DOTTY_ROOT/.packages))'
+
+ if [ "${#JARS[@]}" == "3" ]; then
+ INTERFACES_JAR="${JARS[0]}"
+ MAIN_JAR="${JARS[1]}"
+ TEST_JAR="${JARS[2]}"
+ else
+ echo "Corrupted .packages file"
+ build_all
+ fi
+fi
+
+################# After this point, jar variables will be set #################
+function check_jar {
+ # Usage:
+ # check_jar "name" "path/to/package.jar" "sources/dir" 'lambda to exec on failure'
+ local new_files="$(find "$3" \( -iname "*.scala" -o -iname "*.java" \) -newer "$2")"
+ if [ ! -z "$new_files" ]; then
+ printf "New files detected in $1, rebuilding..."
+ eval "$4"
+ printf "done\n"
+ update_packages
+ fi
+}
+
+check_jar "dotty-interfaces" $INTERFACES_JAR "interfaces" 'INTERFACES_JAR=$(build_jar dotty-interfaces/package interfaces/target)'
+check_jar "dotty" $MAIN_JAR "src" 'MAIN_JAR=$(build_jar package target/scala-2.11)'
+check_jar "dotty-tests" $TEST_JAR "test" 'TEST_JAR=$(build_jar test:package target/scala-2.11 /dotty.*-tests\.jar/p)'
diff --git a/bin/dotc b/bin/dotc
index d64755ec0..f604483c1 100755
--- a/bin/dotc
+++ b/bin/dotc
@@ -10,110 +10,7 @@ fi
DOTTY_ROOT="$(dirname "$DOTTY_ROOT")"
DOTTY_ROOT="$( cd "$DOTTY_ROOT" >& /dev/null && pwd )/.." # absolute
-# Finds in dotty build file a line containing PATTERN
-# returns last "" escaped string in this line
-function getLastStringOnLineWith {
- PATTERN="$1"
- grep "$PATTERN" "$DOTTY_ROOT/project/Build.scala"|sed -n 's/.*\"\(.*\)\".*/\1/'p
-}
-
-# Configuration
-SCALA_VERSION=$(getLastStringOnLineWith "scalaVersion in")
-SCALA_BINARY_VERSION=2.11
-SCALA_COMPILER_VERSION=$(getLastStringOnLineWith "scala-compiler")
-JLINE_VERSION=$(getLastStringOnLineWith "jline")
-SBT_VERSION=$(grep "sbt.version=" "$DOTTY_ROOT/project/build.properties" | sed 's/sbt.version=//')
-bootcp=true
-bootstrapped=false
-default_java_opts="-Xmx768m -Xms768m"
-programName=$(basename "$0")
-# uncomment next line to enable debug output
-#debug=true
-
-declare -a java_args scala_args residual_args
-unset verbose quiet cygwin toolcp colors saved_stty CDPATH
-
-function build_jar {
- # Usage:
- # build_jar package path/to/jar/dir ['/some/sed/command']
- #
- # Last arg is optional
- cd $DOTTY_ROOT >& /dev/null
- local build_output=$(sbt "$1")
- local jar=$(echo $build_output | sed -n 's/.*Packaging //g; s/ \.\.\..*//g; /^\/.*/p')
-
- local sedjar="$3"
- if [ "$sedjar" == "" ]; then
- sedjar="/.*\.jar/p"
- fi
-
- if [ "$jar" == "" ]; then
- # Didn't build a jar - could've run sbt by oneself, get latest jar in target:
- jar="$DOTTY_ROOT/$2/$(ls -1t "$2" | sed -n "$sedjar" | awk 'NR==1')"
- fi
-
- cd - >& /dev/null
-
- echo $jar
-}
-
-function update_packages {
- echo "$INTERFACES_JAR" > $DOTTY_ROOT/.packages
- echo "$MAIN_JAR" >> $DOTTY_ROOT/.packages
- echo "$TEST_JAR" >> $DOTTY_ROOT/.packages
-}
-
-function build_all {
- echo "The script is going to build the required jar files"
-
- printf "Building dotty-interfaces..."
- INTERFACES_JAR=$(build_jar dotty-interfaces/package interfaces/target)
- printf "done\n"
-
- printf "Building dotty..."
- MAIN_JAR=$(build_jar package target/scala-2.11)
- printf "done\n"
-
- printf "Building tests..."
- TEST_JAR=$(build_jar test:package target/scala-2.11 '/dotty.*-tests\.jar/p')
- printf "done\n"
-
- update_packages
-}
-
-
-# Check if .packages file does not exist - if so assume old build and rebuild all
-if [ ! -f "$DOTTY_ROOT/.packages" ]; then
- build_all
-else
- IFS=$'\r\n' GLOBIGNORE='*' command eval 'JARS=($(cat $DOTTY_ROOT/.packages))'
-
- if [ "${#JARS[@]}" == "3" ]; then
- INTERFACES_JAR="${JARS[0]}"
- MAIN_JAR="${JARS[1]}"
- TEST_JAR="${JARS[2]}"
- else
- echo "Corrupted .packages file"
- build_all
- fi
-fi
-
-################# After this point, jar variables will be set #################
-function check_jar {
- # Usage:
- # check_jar "name" "path/to/package.jar" "sources/dir" 'lambda to exec on failure'
- local new_files="$(find "$3" \( -iname "*.scala" -o -iname "*.java" \) -newer "$2")"
- if [ ! -z "$new_files" ]; then
- printf "New files detected in $1, rebuilding..."
- eval "$4"
- printf "done\n"
- update_packages
- fi
-}
-
-check_jar "dotty-interfaces" $INTERFACES_JAR "interfaces" 'INTERFACES_JAR=$(build_jar dotty-interfaces/package interfaces/target)'
-check_jar "dotty" $MAIN_JAR "src" 'MAIN_JAR=$(build_jar package target/scala-2.11)'
-check_jar "dotty-tests" $TEST_JAR "test" 'TEST_JAR=$(build_jar test:package target/scala-2.11 /dotty.*-tests\.jar/p)'
+source $DOTTY_ROOT/bin/common
# dotc.build test places bootstrapped jar here
DOTTY_JAR=$DOTTY_ROOT/dotty.jar
@@ -122,39 +19,6 @@ CompilerMain=dotty.tools.dotc.Main
FromTasty=dotty.tools.dotc.FromTasty
ReplMain=dotty.tools.dotc.repl.Main
-function find_jar {
- # Usage:
- # find_jar path/to/location file.jar
- local artifact="$1/$2"
-
- if [ ! -f "$artifact" ]; then
- artifact=$(find "$HOME/.coursier/cache" -iname "$2")
- fi
-
- echo "$artifact"
-}
-
-# Autodetecting the scala-library location, in case it wasn't provided by an environment variable
-if [ "$SCALA_LIBRARY_JAR" == "" ]; then
- SCALA_LIBRARY_JAR=$(find_jar "$HOME/.ivy2/cache/org.scala-lang/scala-library/jars" "scala-library-$SCALA_VERSION.jar")
-fi
-
-if [ "$SCALA_REFLECT_JAR" == "" ]; then
- SCALA_REFLECT_JAR=$(find_jar "$HOME/.ivy2/cache/org.scala-lang/scala-reflect/jars" "scala-reflect-$SCALA_VERSION.jar")
-fi
-
-if [ "$SCALA_COMPILER_JAR" == "" ]; then
- SCALA_COMPILER_JAR=$(find_jar "$HOME/.ivy2/cache/me.d-d/scala-compiler/jars" "scala-compiler-$SCALA_COMPILER_VERSION.jar")
-fi
-
-if [ "$JLINE_JAR" == "" ]; then
- JLINE_JAR=$(find_jar "$HOME/.ivy2/cache/jline/jline/jars" "jline-$JLINE_VERSION.jar")
-fi
-
-if [ "$SBT_INTERFACE_JAR" == "" ]; then
- SBT_INTERFACE_JAR=$(find_jar "$HOME/.ivy2/cache/org.scala-sbt/interface/jars" "interface-$SBT_VERSION.jar")
-fi
-
if [ ! -f "$SCALA_LIBRARY_JAR" -o ! -f "$SCALA_REFLECT_JAR" -o ! -f "$SCALA_COMPILER_JAR" -o ! -f "$JLINE_JAR" -o ! -f "$SBT_INTERFACE_JAR" ]
then
echo To use this script please set
diff --git a/bin/dotr b/bin/dotr
index f1da6c8ea..90d2825e6 100755
--- a/bin/dotr
+++ b/bin/dotr
@@ -7,24 +7,9 @@ if [[ "$DOTTY_ROOT" == "" ]]; then
fi
DOTTY_ROOT="$(dirname "$DOTTY_ROOT")"
DOTTY_ROOT="$( cd "$DOTTY_ROOT" >& /dev/null && pwd )/.." # absolute
-SCALA_VERSION=$(grep "scalaVersion in" "$DOTTY_ROOT/project/Build.scala"|sed -n 's/.*\"\(.*\)\".*/\1/'p)
-function find_jar {
- # Usage:
- # find_jar path/to/location file.jar
- local artifact="$1/$2"
-
- if [ ! -f "$artifact" ]; then
- artifact=$(find "$HOME/.coursier/cache" -iname "$2")
- fi
-
- echo "$artifact"
-}
-
-# Autodetecting the scala-library location, in case it wasn't provided by an environment variable
-if [ "$SCALA_LIBRARY_JAR" == "" ]; then
- SCALA_LIBRARY_JAR=$(find_jar "$HOME/.ivy2/cache/org.scala-lang/scala-library/jars" "scala-library-$SCALA_VERSION.jar")
-fi
+# Load common functions and variables
+source $DOTTY_ROOT/bin/common
# CLASS_PATH is derived from the DOTTY_ROOT and SCALA_LIBRARY_JAR
CLASS_PATH="-Xbootclasspath/a:.:$DOTTY_ROOT/target/scala-2.11/classes/:.:$SCALA_LIBRARY_JAR"