From 574681ebf468642ce55a6aa06c66daee6b8d3742 Mon Sep 17 00:00:00 2001 From: Felix Mulder Date: Tue, 21 Jun 2016 20:02:42 +0200 Subject: Extract common variables to common script in bin dir --- bin/dotc | 138 +-------------------------------------------------------------- 1 file changed, 1 insertion(+), 137 deletions(-) (limited to 'bin/dotc') 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 -- cgit v1.2.3