From 35320cb036961e15552501c00a3b60f1c65c063a Mon Sep 17 00:00:00 2001 From: Olivier Blanvillain Date: Thu, 31 Aug 2017 16:57:59 +0200 Subject: [PATCH 1/3] Fix #3040: Replace dotc/dotr by wrappers around sbt-pack --- bin/common | 159 +++----------------------------- bin/dotc | 220 +------------------------------------------- bin/dotr | 54 +---------- project/Build.scala | 2 +- 4 files changed, 18 insertions(+), 417 deletions(-) diff --git a/bin/common b/bin/common index 2796be5aec56..5cbf073453cc 100755 --- a/bin/common +++ b/bin/common @@ -1,156 +1,23 @@ #!/usr/bin/env 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 -} +# Wrapper for the published dotc/dotr script that check for file changes +# and use sbt to re build the compiler as needed. -# Configuration -SCALA_VERSION=$(getLastStringOnLineWith "val scalacVersion") -SCALA_BINARY_VERSION=2.11 -SCALA_ASM_VERSION=$(getLastStringOnLineWith "% \"scala-asm\" %") -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 +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" >& /dev/null && pwd)/.." -declare -a java_args scala_args residual_args -unset verbose quiet cygwin toolcp colors saved_stty CDPATH +target="$1" -function find_jar { - # Usage: - # find_jar path/to/location file.jar - local artifact="$1/$2" +shift # Mutates $@ by deleting the first element ($1) - if [ ! -f "$artifact" ]; then - artifact=$(find "$HOME/.coursier/cache" -iname "$2" 2> /dev/null) - fi +# Marker file used to obtain the date of latest call to sbt-back +version="$ROOT/dist-bootstrapped/target/pack/VERSION" - echo "$artifact" -} +# Create the target if absent or if file changed in ROOT/compiler +new_files="$(find "$ROOT/compiler" \( -iname "*.scala" -o -iname "*.java" \) -newer "$version" >& /dev/null)" -# Log used to communicate errors from a command substitution, for example: -# $(sbt package || (echo msg >> $ERROR_LOG; kill -SIGTERM $$)) -ERROR_LOG=error.log -trap onTerminate SIGTERM - -onTerminate() { - if [ -f "$ERROR_LOG" ]; then - cat "$ERROR_LOG" - rm -f "$ERROR_LOG" - fi - exit 1 # $? is lost from subprocess in command substitution. -} - -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" || (echo "failed to run: sbt $1" >> $ERROR_LOG; kill -SIGTERM $$)) - local jar=$(echo $build_output | sed -n 's/.*Packaging //g; s/ \.\.\..*//g; /^\/.*/p') - - local sedjar="$3" - if [ "$sedjar" == "" ]; then - sedjar="/tests/d; /javadoc/d; /.*\.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 "$DOTTY_LIB_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-compiler..." - MAIN_JAR=$(build_jar dotty-compiler/package "compiler/target/scala-$SCALA_BINARY_VERSION") - printf "done\n" - - printf "Building dotty library..." - DOTTY_LIB_JAR=$(build_jar dotty-library/package "library/target/scala-$SCALA_BINARY_VERSION") - printf "done\n" - - printf "Building tests..." - TEST_JAR=$(build_jar test:package "compiler/target/scala-$SCALA_BINARY_VERSION" '/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[@]}" == "4" ]; then - INTERFACES_JAR="${JARS[0]}" - MAIN_JAR="${JARS[1]}" - DOTTY_LIB_JAR="${JARS[2]}" - TEST_JAR="${JARS[3]}" - else - echo "Failed to parse .packages file" - build_all - fi - - if [ ! -f "$INTERFACES_JAR" -o ! -f "$MAIN_JAR" -o ! -f "$DOTTY_LIB_JAR" -o ! -f "$TEST_JAR" ]; then - echo ".packages file corrupted, rebuilding" - build_all - fi +if [ ! -f "$target" ] || [ ! -z "$new_files" ]; then + echo "Building Dotty..." + sbt "dist-bootstrapped/pack" 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 "$DOTTY_ROOT/$3" \( -iname "*.scala" -o -iname "*.java" \) -newer "$2")" - # If the find failed, or if it found new files... - if [ "$?" -ne 0 ] || [ ! -z "$new_files" ]; then - printf "New files detected in $1, rebuilding..." - rm "$2" - eval "$4" - printf "done\n" - update_packages - fi -} - -check_jar "dotty-interfaces" "$INTERFACES_JAR" "interfaces/src" 'INTERFACES_JAR=$(build_jar dotty-interfaces/package interfaces/target)' -check_jar "dotty-compiler" "$MAIN_JAR" "compiler/src" 'MAIN_JAR=$(build_jar dotty-compiler/package compiler/target/scala-$SCALA_BINARY_VERSION)' -check_jar "dotty-library" "$DOTTY_LIB_JAR" "library/src" 'DOTTY_LIB_JAR=$(build_jar dotty-library/package library/target/scala-$SCALA_BINARY_VERSION)' -check_jar "dotty-tests" "$TEST_JAR" "compiler/test" 'TEST_JAR=$(build_jar dotty-compiler/test:package compiler/target/scala-$SCALA_BINARY_VERSION /dotty.*-tests\.jar/p)' - -# 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_ASM_JAR" == "" ]; then - SCALA_ASM_JAR=$(find_jar "$HOME/.ivy2/cache/org.scala-lang.modules/scala-asm/bundles" "scala-asm-$SCALA_ASM_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 +eval "$target" "$@" diff --git a/bin/dotc b/bin/dotc index 462c1a3e3229..2b2b44ebfe37 100755 --- a/bin/dotc +++ b/bin/dotc @@ -1,221 +1,5 @@ #!/usr/bin/env bash -# This script is used for running compiler standalone(outside of sbt) -# it's based on miniboxing script and paulp's launcher script +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" >& /dev/null && pwd)/.." -# Try to autodetect real location of the script -DOTTY_ROOT="$(readlink "$0")" # relative, symbolic links resolved -if [[ "$DOTTY_ROOT" == "" ]]; then - DOTTY_ROOT="$0" -fi -DOTTY_ROOT="$(dirname "$DOTTY_ROOT")" -DOTTY_ROOT="$( cd "$DOTTY_ROOT" >& /dev/null && pwd )/.." # absolute - -source "$DOTTY_ROOT/bin/common" - -# dotc.build test places bootstrapped jar here -DOTTY_JAR="$DOTTY_ROOT/dotty.jar" - -CompilerMain=dotty.tools.dotc.Main -FromTasty=dotty.tools.dotc.FromTasty -ReplMain=dotty.tools.dotc.repl.Main - -if [ ! -f "$SCALA_LIBRARY_JAR" -o ! -f "$SCALA_ASM_JAR" -o ! -f "$SBT_INTERFACE_JAR" ] -then - echo To use this script please set - echo SCALA_LIBRARY_JAR to point to scala-library-$SCALA_VERSION.jar "(currently $SCALA_LIBRARY_JAR)" - echo SCALA_ASM_JAR to point to scala-asm-$SCALA_ASM_VERSION.jar "(currently $SCALA_ASM_JAR)" - echo SBT_INTERFACE_JAR to point to interface-$SBT_VERSION.jar "(currently $SBT_INTERFACE_JAR)" -fi - -ifdebug () { - [[ -n "$debug" ]] && eval "$@" -} -echoErr () { - echo >&2 "$@" -} -dlog () { - [[ -n "$debug" ]] && echoErr "$@" -} - -die() { - echo "Aborting: $@" - exit 1 -} -echoArgs () { - echoErr "" - for arg; do -echoErr "$arg" - done -echoErr "" -} -execCommand () { - ifdebug echoArgs "$@" - ignore="$(cat "$HOME/.scala_ignore_crashes" 2>/dev/null)" - if [[ "$ignore" == "true" ]]; then - "$@" 2>&1 | scala-crash-filter - else - $@ - fi -} - -# restore stty settings (echo in particular) -restoreSttySettings () { - dlog "" && dlog "[restore stty] $saved_stty" - stty "$saved_stty" && saved_stty="" -} - -onExit () { - [[ -n "$saved_stty" ]] && restoreSttySettings - exit $scala_exit_status -} - -# Get debug set early -for arg in "$@"; do - [[ $arg == "-debug" ]] && debug=true -done - -# to reenable echo if we are interrupted before completing. -trap onExit INT - -# save terminal settings -saved_stty="$(stty -g 2>/dev/null)" - -# clear on error so we don't later try to restore them -[[ $? ]] || saved_stty="" -dlog "[save stty] $saved_stty" - -if uname | grep -q ^CYGWIN; then -cygwin="$(uname)" -fi - -addJava () { - dlog "[addJava] arg = '$1'" - java_args+=("$1") -} -addScala () { - dlog "[addScala] arg = '$1'" - scala_args+=("$1") -} -addResidual () { - dlog "[residual] arg = '$1'" - residual_args+=("$1") -} - -onExit() { - [[ -n "$saved_stty" ]] && restoreSttySettings - exit $scala_exit_status -} - -# to reenable echo if we are interrupted before completing. -trap onExit INT - -# If using the boot classpath, also pass an empty classpath -# to java to suppress "." from materializing. -classpathArgs () { - if [[ "true" == "$bootstrapped" ]]; then - check_jar "dotty-bootstrapped" "$DOTTY_JAR" "target" 'build_jar "test:runMain dotc.build" target' &> /dev/null - toolchain="$DOTTY_JAR:$DOTTY_LIB_JAR:$SCALA_LIBRARY_JAR:$SCALA_ASM_JAR:$SBT_INTERFACE_JAR" - else - toolchain="$SCALA_LIBRARY_JAR:$DOTTY_LIB_JAR:$SCALA_ASM_JAR:$SBT_INTERFACE_JAR" - fi - bcpJars="$INTERFACES_JAR:$MAIN_JAR:$DOTTY_LIB_JAR" - cpJars="$INTERFACES_JAR:$MAIN_JAR:$DOTTY_LIB_JAR:$TEST_JAR" - - if [[ -n "$cygwin" ]]; then - if [[ "$OS" = "Windows_NT" ]] && cygpath -m .>/dev/null 2>/dev/null ; then - format=mixed - else - format=windows - fi - - if [[ -n "$bootcp" ]]; then - boot_classpath="$(cygpath --path --$format "$toolchain:$bcpJars")" - classpath="$(cygpath --path --$format "$cpJars")" - cpArgs="-Xbootclasspath/a:$boot_classpath -classpath $classpath" - else - classpath="$(cygpath --path --$format "$toolchain:$cpJars")" - cpArgs="-classpath $classpath" - fi - else - if [[ -n "$bootcp" ]]; then - cpArgs="-Xbootclasspath/a:$toolchain:$bcpJars -classpath $cpJars" - else - cpArgs="-classpath $toolchain:$cpJars" - fi - fi - echo ${cpArgs} -} - -# e.g. path -java-home /path/to/java_home -require_arg () { - local type="$1" - local opt="$2" - local arg="$3" - - if [[ -z "$arg" ]] || [[ "${arg:0:1}" == "-" ]]; then - die "$opt requires <$type> argument" - fi -} - - -main_class="$CompilerMain" - -while [[ $# -gt 0 ]]; do -case "$1" in - --) shift; for arg; do addResidual "$arg"; done; set -- ;; - -h|-help) help=true && shift ;; - -bootstrapped) bootstrapped=true && shift ;; - -v|-verbose) verbose=true && addScala "-verbose" && shift ;; - -debug) debug=true && shift ;; - -q|-quiet) quiet=true && shift ;; - - # Optimize for short-running applications, see https://github.com/lampepfl/dotty/issues/222 - -Oshort) addJava "-XX:+TieredCompilation -XX:TieredStopAtLevel=1" && shift ;; - -repl) main_class="$ReplMain" && shift ;; - -tasty) main_class="$FromTasty" && shift ;; - -compile) main_class="$CompilerMain" && shift ;; - -run) main_class="$ReplMain" && shift ;; - -fsc) main_class="$FscMain" && shift ;; - -bootcp) bootcp=true && shift ;; - -nobootcp) unset bootcp && shift ;; - -colors) colors=true && shift ;; - -no-colors) unset colors && shift ;; - -jrebel) jrebel=true && shift ;; - -no-jrebel) unset jrebel && shift ;; - - -toolcp) require_arg classpath "$1" "$2" && toolcp="$2" && shift 2 ;; - -java-home) require_arg path "$1" "$2" && java_cmd="$2/bin/java" && shift 2 ;; - - # break out -D and -J options and add them to JAVA_OPTS as well - # so they reach the JVM in time to do some good. The -D options - # will be available as system properties. - -D*) addJava "$1" && addScala "$1" && shift ;; - -J*) addJava "${1:2}" && addScala "$1" && shift ;; - *) addResidual "$1" && shift ;; - esac -done - - -[[ -z $java_cmd ]] && prefix=${java_home:+$java_home/bin/} && java_cmd="${prefix}java" - -# note that variables which may intentionally be empty must not -# be quoted: otherwise an empty string will appear as a command line -# argument, and java will think that is the program to run. -execCommand \ - "$java_cmd" \ - ${JAVA_OPTS:-$default_java_opts} \ - "${java_args[@]}" \ - "$(classpathArgs)" \ - -Dscala.usejavacp=true \ - "${main_class}" \ - "${scala_args[@]}" \ - "${residual_args[@]}" - -# record the exit status lest it be overwritten: -# then reenable echo and propagate the code. -scala_exit_status=$? -onExit - - -#echo java -cp $MAIN_JAR: -Dscala.usejavacp=true dotty.tools.dotc.Main $@ +eval "$ROOT/bin/common" "$ROOT/dist-bootstrapped/target/pack/bin/dotc" "$@" diff --git a/bin/dotr b/bin/dotr index e5a632565cf7..39409d22e535 100755 --- a/bin/dotr +++ b/bin/dotr @@ -1,55 +1,5 @@ #!/usr/bin/env bash -# Try to autodetect real location of the script -DOTTY_ROOT="$(readlink "$0")" # relative, symbolic links resolved -if [[ "$DOTTY_ROOT" == "" ]]; then - DOTTY_ROOT="$0" -fi -DOTTY_ROOT="$(dirname "$DOTTY_ROOT")" -DOTTY_ROOT="$( cd "$DOTTY_ROOT" >& /dev/null && pwd )/.." # absolute +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" >& /dev/null && pwd)/.." -# debug -DEBUG_STR=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -DEBUG= - -# Load common functions and variables -source "$DOTTY_ROOT"/bin/common - -CLASS_PATH="-classpath .:$DOTTY_LIB_JAR:.:$SCALA_LIBRARY_JAR" - -function runMain { - local jbin=$(which "java") - - if [ ! -z "$JAVA_BIN" ]; then - jbin="$JAVA_BIN" - fi - - if [ "$jbin" == "" ]; then - echo "java bin not detected - please specify with \$JAVA_BIN or install java to a default location" - exit 1 - else - eval "$jbin $DEBUG $CLASS_PATH $@" - fi -} - -# parse command line params -d to enable debugging -while getopts "dx" opt; do - case "$opt" in - d) - DEBUG="$DEBUG_STR" - ;; - esac -done - -shift $((OPTIND-1)) - -first_arg="$1" - -if [ -z "$1" ]; then - echo "Starting dotty REPL..." - eval "$DOTTY_ROOT/bin/dotc -repl" -elif [[ ${first_arg:0:1} == "-" ]]; then - eval "$DOTTY_ROOT/bin/dotc -repl $@" -else - runMain "$@" -fi +eval "$ROOT/bin/common" "$ROOT/dist-bootstrapped/target/pack/bin/dotr" "$@" diff --git a/project/Build.scala b/project/Build.scala index 50d05fec03e2..73f633f536c7 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -35,7 +35,7 @@ object ExposedValues extends AutoPlugin { object Build { - val scalacVersion = "2.12.3" // Do not rename, this is grepped in bin/common. + val scalacVersion = "2.12.3" val dottyOrganization = "ch.epfl.lamp" val dottyGithubUrl = "https://github.com/lampepfl/dotty" From 61058216eba7a53a52a680917645d534587b36d5 Mon Sep 17 00:00:00 2001 From: Olivier Blanvillain Date: Thu, 31 Aug 2017 17:23:13 +0200 Subject: [PATCH 2/3] Remove dotty-bin-tests project from build and ci --- .drone.yml | 2 -- .drone.yml.sig | 2 +- build.sbt | 1 - project/Build.scala | 13 ------------- 4 files changed, 1 insertion(+), 17 deletions(-) diff --git a/.drone.yml b/.drone.yml index 40c4f2678f5f..212e8c706607 100644 --- a/.drone.yml +++ b/.drone.yml @@ -65,8 +65,6 @@ pipeline: matrix: include: - - CI_TEST: dotty-bin-tests/test - CI_PUBLISH: true - CI_TEST: legacyTests CI_PUBLISH: false - CI_TEST: ;test;sbt-dotty/scripted compilerReporter/*;sbt-dotty/scripted discovery/*;sbt-dotty/scripted sbt-dotty/* diff --git a/.drone.yml.sig b/.drone.yml.sig index 54bbf9d8ffef..8aabc97c3ab9 100644 --- a/.drone.yml.sig +++ b/.drone.yml.sig @@ -1 +1 @@ -eyJhbGciOiJIUzI1NiJ9.IyBBZnRlciB1cGRhdGluZyB0aGlzIGZpbGUsIHlvdSBuZWVkIHRvIHJlLXNpZ24gaXQ6CiMKIyAtIEluc3RhbGwgW2Ryb25lLWNsaV0oaHR0cDovL3JlYWRtZS5kcm9uZS5pby91c2FnZS9nZXR0aW5nLXN0YXJ0ZWQtY2xpLykKIyAtIENvcHkgeW91ciB0b2tlbiBmcm9tIGh0dHA6Ly9kb3R0eS1jaS5lcGZsLmNoL2FjY291bnQgKENsaWNrIFNIT1cgVE9LRU4pCiMgLSBEUk9ORV9UT0tFTj15b3VyLXRva2VuIERST05FX1NFUlZFUj1odHRwOi8vZG90dHktY2kuZXBmbC5jaCBkcm9uZSBzaWduIGxhbXBlcGZsL2RvdHR5CiMKIyBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBzaWduaW5nIGNhbiBvbmx5IGJlIGRvbmUgYnkgY29sbGFib3JhdG9ycy4KCnBpcGVsaW5lOgogIHRlc3Q6CiAgICBpbWFnZTogbGFtcGVwZmwvZG90dHk6MjAxNy0wOC0zMAogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvc2J0ICIke0NJX1RFU1R9IgogICAgd2hlbjoKICAgICAgYnJhbmNoOgogICAgICAgIGV4Y2x1ZGU6IGdoLXBhZ2VzCgogIHB1Ymxpc2hfbmlnaHRseToKICAgIGltYWdlOiBsYW1wZXBmbC9kb3R0eToyMDE3LTA4LTMwCiAgICBjb21tYW5kczoKICAgICAgLSAuL3Byb2plY3Qvc2NyaXB0cy9zYnQgIjtjbGVhbiA7cHVibGlzaExvY2FsIiAiJHtDSV9QVUJMSVNIfSIKICAgICAgLSAuL3Byb2plY3Qvc2NyaXB0cy9zYnQgInNidC1kb3R0eS9zY3JpcHRlZCBzb3VyY2UtZGVwZW5kZW5jaWVzLyoiICIke0NJX1BVQkxJU0h9IgogICAgICAtIE5JR0hUTFlCVUlMRD0ieWVzIiAuL3Byb2plY3Qvc2NyaXB0cy9zYnRQdWJsaXNoICR7Q0lfUFVCTElTSH0gJFNPTkFUWVBFX1VTRVIgJFNPTkFUWVBFX1BXICRQR1BfUFcgIjtkb3R0eS1ib290c3RyYXBwZWQvcHVibGlzaFNpZ25lZCA7c29uYXR5cGVSZWxlYXNlIgogICAgdm9sdW1lczoKICAgICAgLSAvaG9tZS9kcm9uZS9rZXlzOi9rZXlzCiAgICB3aGVuOgogICAgICBldmVudDogZGVwbG95bWVudAogICAgICBlbnZpcm9ubWVudDogbmlnaHRseQoKICBwdWJsaXNoX3JlbGVhc2U6CiAgICBpbWFnZTogbGFtcGVwZmwvZG90dHk6MjAxNy0wOC0zMAogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvc2J0ICI7Y2xlYW4gO3B1Ymxpc2hMb2NhbCIgIiR7Q0lfUFVCTElTSH0iCiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvc2J0ICJzYnQtZG90dHkvc2NyaXB0ZWQgc291cmNlLWRlcGVuZGVuY2llcy8qIiAiJHtDSV9QVUJMSVNIfSIKICAgICAgLSBSRUxFQVNFQlVJTEQ9InllcyIgLi9wcm9qZWN0L3NjcmlwdHMvc2J0UHVibGlzaCAke0NJX1BVQkxJU0h9ICRTT05BVFlQRV9VU0VSICRTT05BVFlQRV9QVyAkUEdQX1BXICI7ZG90dHktYm9vdHN0cmFwcGVkL3B1Ymxpc2hTaWduZWQgO3NvbmF0eXBlUmVsZWFzZSIKICAgIHZvbHVtZXM6CiAgICAgIC0gL2hvbWUvZHJvbmUva2V5czova2V5cwogICAgd2hlbjoKICAgICAgZXZlbnQ6IGRlcGxveW1lbnQKICAgICAgZW52aXJvbm1lbnQ6IHJlbGVhc2UKCiAgcHVibGlzaF9zYnRfcmVsZWFzZToKICAgIGltYWdlOiBsYW1wZXBmbC9kb3R0eToyMDE3LTA4LTMwCiAgICBjb21tYW5kczoKICAgICAgLSBSRUxFQVNFQlVJTEQ9InllcyIgLi9wcm9qZWN0L3NjcmlwdHMvc2J0UHVibGlzaCAke0NJX1BVQkxJU0h9ICRTT05BVFlQRV9VU0VSICRTT05BVFlQRV9QVyAkUEdQX1BXICI7c2J0LWRvdHR5L3B1Ymxpc2hTaWduZWQgO3NvbmF0eXBlUmVsZWFzZSIKICAgIHZvbHVtZXM6CiAgICAgIC0gL2hvbWUvZHJvbmUva2V5czova2V5cwogICAgd2hlbjoKICAgICAgZXZlbnQ6IGRlcGxveW1lbnQKICAgICAgZW52aXJvbm1lbnQ6IHNidF9yZWxlYXNlCgogIGRvY3VtZW50YXRpb246CiAgICBpbWFnZTogbGFtcGVwZmwvZG90dHk6MjAxNy0wOC0zMAogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvZ2VuRG9jcyAiJHtDSV9QVUJMSVNIfSIgJEJPVF9QQVNTCiAgICB3aGVuOgogICAgICBicmFuY2g6IG1hc3RlcgoKICBzbGFjazoKICAgIGltYWdlOiBwbHVnaW5zL3NsYWNrCiAgICBjaGFubmVsOiBkb3R0eQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgc3RhdHVzOiBjaGFuZ2VkCgptYXRyaXg6CiAgaW5jbHVkZToKICAgIC0gQ0lfVEVTVDogZG90dHktYmluLXRlc3RzL3Rlc3QKICAgICAgQ0lfUFVCTElTSDogdHJ1ZQogICAgLSBDSV9URVNUOiBsZWdhY3lUZXN0cwogICAgICBDSV9QVUJMSVNIOiBmYWxzZQogICAgLSBDSV9URVNUOiA7dGVzdDtzYnQtZG90dHkvc2NyaXB0ZWQgY29tcGlsZXJSZXBvcnRlci8qO3NidC1kb3R0eS9zY3JpcHRlZCBkaXNjb3ZlcnkvKjtzYnQtZG90dHkvc2NyaXB0ZWQgc2J0LWRvdHR5LyoKICAgICAgQ0lfUFVCTElTSDogZmFsc2UKICAgIC0gQ0lfVEVTVDogZG90dHktYm9vdHN0cmFwcGVkL3Rlc3QKICAgICAgQ0lfUFVCTElTSDogZmFsc2UKICAgIC0gQ0lfVEVTVDogO3NldCBib290c3RyYXBPcHRpbWlzZWQgaW4gVGhpc0J1aWxkIDo9IHRydWUgO2RvdHR5LWJvb3RzdHJhcHBlZC90ZXN0CiAgICAgIENJX1BVQkxJU0g6IGZhbHNlCg.vMnMkwV_hb5cYLtlhJfXezhGvbh-YMMIFSKwTvKCnX8 \ No newline at end of file +eyJhbGciOiJIUzI1NiJ9.IyBBZnRlciB1cGRhdGluZyB0aGlzIGZpbGUsIHlvdSBuZWVkIHRvIHJlLXNpZ24gaXQ6CiMKIyAtIEluc3RhbGwgW2Ryb25lLWNsaV0oaHR0cDovL3JlYWRtZS5kcm9uZS5pby91c2FnZS9nZXR0aW5nLXN0YXJ0ZWQtY2xpLykKIyAtIENvcHkgeW91ciB0b2tlbiBmcm9tIGh0dHA6Ly9kb3R0eS1jaS5lcGZsLmNoL2FjY291bnQgKENsaWNrIFNIT1cgVE9LRU4pCiMgLSBEUk9ORV9UT0tFTj15b3VyLXRva2VuIERST05FX1NFUlZFUj1odHRwOi8vZG90dHktY2kuZXBmbC5jaCBkcm9uZSBzaWduIGxhbXBlcGZsL2RvdHR5CiMKIyBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBzaWduaW5nIGNhbiBvbmx5IGJlIGRvbmUgYnkgY29sbGFib3JhdG9ycy4KCnBpcGVsaW5lOgogIHRlc3Q6CiAgICBpbWFnZTogbGFtcGVwZmwvZG90dHk6MjAxNy0wOC0zMAogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvc2J0ICIke0NJX1RFU1R9IgogICAgd2hlbjoKICAgICAgYnJhbmNoOgogICAgICAgIGV4Y2x1ZGU6IGdoLXBhZ2VzCgogIHB1Ymxpc2hfbmlnaHRseToKICAgIGltYWdlOiBsYW1wZXBmbC9kb3R0eToyMDE3LTA4LTMwCiAgICBjb21tYW5kczoKICAgICAgLSAuL3Byb2plY3Qvc2NyaXB0cy9zYnQgIjtjbGVhbiA7cHVibGlzaExvY2FsIiAiJHtDSV9QVUJMSVNIfSIKICAgICAgLSAuL3Byb2plY3Qvc2NyaXB0cy9zYnQgInNidC1kb3R0eS9zY3JpcHRlZCBzb3VyY2UtZGVwZW5kZW5jaWVzLyoiICIke0NJX1BVQkxJU0h9IgogICAgICAtIE5JR0hUTFlCVUlMRD0ieWVzIiAuL3Byb2plY3Qvc2NyaXB0cy9zYnRQdWJsaXNoICR7Q0lfUFVCTElTSH0gJFNPTkFUWVBFX1VTRVIgJFNPTkFUWVBFX1BXICRQR1BfUFcgIjtkb3R0eS1ib290c3RyYXBwZWQvcHVibGlzaFNpZ25lZCA7c29uYXR5cGVSZWxlYXNlIgogICAgdm9sdW1lczoKICAgICAgLSAvaG9tZS9kcm9uZS9rZXlzOi9rZXlzCiAgICB3aGVuOgogICAgICBldmVudDogZGVwbG95bWVudAogICAgICBlbnZpcm9ubWVudDogbmlnaHRseQoKICBwdWJsaXNoX3JlbGVhc2U6CiAgICBpbWFnZTogbGFtcGVwZmwvZG90dHk6MjAxNy0wOC0zMAogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvc2J0ICI7Y2xlYW4gO3B1Ymxpc2hMb2NhbCIgIiR7Q0lfUFVCTElTSH0iCiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvc2J0ICJzYnQtZG90dHkvc2NyaXB0ZWQgc291cmNlLWRlcGVuZGVuY2llcy8qIiAiJHtDSV9QVUJMSVNIfSIKICAgICAgLSBSRUxFQVNFQlVJTEQ9InllcyIgLi9wcm9qZWN0L3NjcmlwdHMvc2J0UHVibGlzaCAke0NJX1BVQkxJU0h9ICRTT05BVFlQRV9VU0VSICRTT05BVFlQRV9QVyAkUEdQX1BXICI7ZG90dHktYm9vdHN0cmFwcGVkL3B1Ymxpc2hTaWduZWQgO3NvbmF0eXBlUmVsZWFzZSIKICAgIHZvbHVtZXM6CiAgICAgIC0gL2hvbWUvZHJvbmUva2V5czova2V5cwogICAgd2hlbjoKICAgICAgZXZlbnQ6IGRlcGxveW1lbnQKICAgICAgZW52aXJvbm1lbnQ6IHJlbGVhc2UKCiAgcHVibGlzaF9zYnRfcmVsZWFzZToKICAgIGltYWdlOiBsYW1wZXBmbC9kb3R0eToyMDE3LTA4LTMwCiAgICBjb21tYW5kczoKICAgICAgLSBSRUxFQVNFQlVJTEQ9InllcyIgLi9wcm9qZWN0L3NjcmlwdHMvc2J0UHVibGlzaCAke0NJX1BVQkxJU0h9ICRTT05BVFlQRV9VU0VSICRTT05BVFlQRV9QVyAkUEdQX1BXICI7c2J0LWRvdHR5L3B1Ymxpc2hTaWduZWQgO3NvbmF0eXBlUmVsZWFzZSIKICAgIHZvbHVtZXM6CiAgICAgIC0gL2hvbWUvZHJvbmUva2V5czova2V5cwogICAgd2hlbjoKICAgICAgZXZlbnQ6IGRlcGxveW1lbnQKICAgICAgZW52aXJvbm1lbnQ6IHNidF9yZWxlYXNlCgogIGRvY3VtZW50YXRpb246CiAgICBpbWFnZTogbGFtcGVwZmwvZG90dHk6MjAxNy0wOC0zMAogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvZ2VuRG9jcyAiJHtDSV9QVUJMSVNIfSIgJEJPVF9QQVNTCiAgICB3aGVuOgogICAgICBicmFuY2g6IG1hc3RlcgoKICBzbGFjazoKICAgIGltYWdlOiBwbHVnaW5zL3NsYWNrCiAgICBjaGFubmVsOiBkb3R0eQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgc3RhdHVzOiBjaGFuZ2VkCgptYXRyaXg6CiAgaW5jbHVkZToKICAgIC0gQ0lfVEVTVDogbGVnYWN5VGVzdHMKICAgICAgQ0lfUFVCTElTSDogZmFsc2UKICAgIC0gQ0lfVEVTVDogO3Rlc3Q7c2J0LWRvdHR5L3NjcmlwdGVkIGNvbXBpbGVyUmVwb3J0ZXIvKjtzYnQtZG90dHkvc2NyaXB0ZWQgZGlzY292ZXJ5Lyo7c2J0LWRvdHR5L3NjcmlwdGVkIHNidC1kb3R0eS8qCiAgICAgIENJX1BVQkxJU0g6IGZhbHNlCiAgICAtIENJX1RFU1Q6IGRvdHR5LWJvb3RzdHJhcHBlZC90ZXN0CiAgICAgIENJX1BVQkxJU0g6IGZhbHNlCiAgICAtIENJX1RFU1Q6IDtzZXQgYm9vdHN0cmFwT3B0aW1pc2VkIGluIFRoaXNCdWlsZCA6PSB0cnVlIDtkb3R0eS1ib290c3RyYXBwZWQvdGVzdAogICAgICBDSV9QVUJMSVNIOiBmYWxzZQo.riMxzEKgDgKb1iyoMNu6XT39pIHxMd8MuX381zMhQQw \ No newline at end of file diff --git a/build.sbt b/build.sbt index a27722235ee1..b9372d808348 100644 --- a/build.sbt +++ b/build.sbt @@ -6,7 +6,6 @@ val `dotty-doc-bootstrapped` = Build.`dotty-doc-bootstrapped` val `dotty-bot` = Build.`dotty-bot` val `dotty-compiler` = Build.`dotty-compiler` val `dotty-compiler-bootstrapped` = Build.`dotty-compiler-bootstrapped` -val `dotty-bin-tests` = Build.`dotty-bin-tests` val `dotty-library` = Build.`dotty-library` val `dotty-library-bootstrapped` = Build.`dotty-library-bootstrapped` val `dotty-sbt-bridge` = Build.`dotty-sbt-bridge` diff --git a/project/Build.scala b/project/Build.scala index 73f633f536c7..345aff1883be 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -721,19 +721,6 @@ object Build { } ) - /* Contains unit tests for the scripts */ - lazy val `dotty-bin-tests` = project.in(file("bin")). - settings(commonNonBootstrappedSettings). - settings( - publishArtifact := false, - parallelExecution in Test := false, - // Increase verbosity of test output, started and passed tests are - // logged with: - testOptions in Test += Tests.Argument(TestFrameworks.JUnit, "-a", "-v"), - libraryDependencies += - "com.novocode" % "junit-interface" % "0.11" % "test" - ) - // Settings shared between dotty-library and dotty-library-bootstrapped lazy val dottyLibrarySettings = Seq( libraryDependencies ++= Seq( From 437af5f5e32138064f0b8163d25f9b38c84b212f Mon Sep 17 00:00:00 2001 From: Olivier Blanvillain Date: Thu, 31 Aug 2017 17:24:41 +0200 Subject: [PATCH 3/3] Remove dotty-repl project from build --- project/Build.scala | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/project/Build.scala b/project/Build.scala index 345aff1883be..608546300c1a 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -359,45 +359,6 @@ object Build { ) ) - lazy val `dotty-repl` = project.in(file("repl")). - dependsOn( - `dotty-compiler`, - `dotty-compiler` % "test->test" - ). - settings(commonNonBootstrappedSettings). - settings( - // set system in/out for repl - connectInput in run := true, - outputStrategy := Some(StdoutOutput), - - // enable verbose exception messages for JUnit - testOptions in Test += Tests.Argument(TestFrameworks.JUnit, "-a", "-v"), - - resourceDirectory in Test := baseDirectory.value / "test-resources", - - run := Def.inputTaskDyn { - val classPath = - (packageAll in `dotty-compiler-bootstrapped`).value("dotty-library") + ":" + - (packageAll in `dotty-compiler-bootstrapped`).value("dotty-interfaces") - - val args: Seq[String] = spaceDelimited("").parsed - - val fullArgs = args.span(_ != "-classpath") match { - case (beforeCp, Nil) => beforeCp ++ ("-classpath" :: classPath :: Nil) - case (beforeCp, rest) => beforeCp ++ rest - } - - (runMain in Compile).toTask( - s" dotty.tools.repl.Main " + fullArgs.mkString(" ") - ) - }.evaluated, - - javaOptions ++= (javaOptions in `dotty-compiler`).value, - fork in run := true, - fork in Test := true, - parallelExecution in Test := false - ) - lazy val `dotty-doc` = project.in(file("doc-tool")). dependsOn(`dotty-compiler`, `dotty-compiler` % "test->test"). settings(commonNonBootstrappedSettings).