Closed philwalk closed 3 years ago
@philwalk Thanks for the report. The fix for this issue would be not to use state.logger.info
here:
The issue is, what should it replace it? Should the use of only a new line fix this for all Windows environments (not only cygwin? If so, replacing state.logger.info
by a direct state.commonOptions.out.print("")
would do it? Also, does cygwin specify that it only expects \n
or is this an implementation detail?
To answer your question, bloop.logging.BloopLogger#printInfo sending a Windows '\r\n', which is not appropriate in cygwin, or any Windows bash or similar shell environment.
I'm looking at the code now, and trying to become sufficiently familiar to be able to offer suggestions. My hunch is that the problem is related to the fact that, by default, Windows JVM path.separator property is set to '\r\n'
whereas every other OS jvm sets it by default to '\n'
.
When I capture the output produced by the autocompletion, here's what it looks like:
Command not found: projects^M
Here are the bytes captured from the console:
0000: 43 6f 6d 6d 61 6e 64 20 6e 6f 74 20 66 6f 75 6e Command not foun
0010: 64 3a 20 70 72 6f 6a 65 63 74 73 0d 0d 0a d: projects...
I'm not sure why there are two consecutive CRs before the final newline, but apparently one of them is displayed as a control-M.
The following code appears to be splitting a String into lines in an OS-independent way:
./backend/src/main/scala/bloop/logging/BloopLogger.scala: val lines = msg.split("\\r?\\n", -1)
My preferred regex for this purpose (assuming we're not interested in blank lines) is:
val lines = msg.split("[\\r\\n]+",-1)
which produces identical output regardless of the presence or not of carriage returns. It's also impervious to consecutive carriage returns, which somehow are occurring in the console output.
Other places in the code that might be dealing with the same issue:
./backend/src/test/scala/bloop/logging/RecordingLogger.scala:
msgs.map {
// Remove trailing '\r' so that we don't have to special case for Windows
case (category, msg0) =>
val msg = if (msg0 == null) "<null reference>" else msg0
(category, msg.stripSuffix("\r"))
}.toList
There are explicit occurrences of "\r" in the following files:
./backend/src/main/scala/bloop/logging/BloopLogger.scala
./backend/src/test/scala/bloop/logging/RecordingLogger.scala
./benchmark-bridge/corpus/better-files/a45f905/Scanner.scala
./benchmark-bridge/corpus/re2j/a311ea0/java/util/regex/Parser.java
./benchmark-bridge/corpus/re2j/a311ea0/java/util/regex/Utils.java
./benchmark-bridge/corpus/re2s/a311ea0/java/util/regex/Parser.scala
./benchmark-bridge/corpus/re2s/a311ea0/java/util/regex/Utils.scala
./benchmark-bridge/corpus/scala/21d12e9/compiler/scala/tools/nsc/ast/DocComments.scala
./benchmark-bridge/corpus/scala/21d12e9/compiler/scala/tools/nsc/ast/parser/Scanners.scala
./benchmark-bridge/corpus/scala/21d12e9/compiler/scala/tools/nsc/javac/JavaScanners.scala
./benchmark-bridge/corpus/scala/21d12e9/compiler/scala/tools/reflect/FormatInterpolator.scala
./benchmark-bridge/corpus/scala/21d12e9/library/scala/io/Source.scala
./benchmark-bridge/corpus/scala/21d12e9/library/scala/StringContext.scala
./benchmark-bridge/corpus/scala/21d12e9/reflect/scala/reflect/internal/Constants.scala
./benchmark-bridge/corpus/scala/21d12e9/reflect/scala/reflect/internal/util/SourceFile.scala
./benchmark-bridge/corpus/scalap/a8c43dc/scalax/rules/scalasig/ScalaSigPrinter.scala
./zinc/internal/zinc-compile-core/src/main/scala/sbt/internal/inc/javac/DiagnosticsReporter.scala
./zinc/internal/zinc-compile-core/src/main/scala/sbt/internal/inc/javac/JavaErrorParser.scala
I've been trying to examine the project from the Intellij IDE but have not yet been successful. Is anyone using it?
Thanks! Phil
I've been trying to examine the project from the Intellij IDE but have not yet been successful. Is anyone using it?
Yes, I'm using it full time and it works. Make sure you get it to work in the sbt shell first and then import it from sbt. The developer docs can be helpful to get more familiar with the codebase and general code organization https://scalacenter.github.io/bloop/docs/developer-documentation/
I'm looking at the code now, and trying to become sufficiently familiar to be able to offer suggestions. My hunch is that the problem is related to the fact that, by default, Windows JVM path.separator property is set to '\r\n' whereas every other OS jvm sets it by default to '\n' .
Yes, sounds about right but it's also suspicious that there are two carriage returns. I don't have a clear idea what's causing them, so i would continue the research until you have something conclusive. If the issue turns out to be that regex, any improvement there is welcome; however, we do care about empty lines, so we should make sure we handle them correctly and not swallow them
In order to fix this ticket I would make sure I can reproduce this issue without nailgun, so I would start by creating a test in InterpreterSpec
that runs the Autocomplete
command in your machine and checks the output and new lines are as expected. If you cannot reproduce, then the issue is possibly in the nailgun client side.
By the way, you can safely ignore RecordingLogger
and all the files you found \r
in -- they look unrelated to this autocompletion bug.
@philwalk I think I know why IntelliJ wasn't working for you. I'll fix it hopefully soon, as a workaround make sure you first run sbt in the terminal and then import.
@jvican when you say "run sbt in the terminal", are you referring to an interactive session? Do I need to invoke any particular tasks? After doing a "git pull" from the command line, I'm unable to start an sbt session. Here's what I get:
[debug] Load.apply: load took 58529.0372ms
[debug] Load.apply: resolveProjects took 6.9208ms
[debug] Load.apply: finalTransforms took 116.4267ms
[debug] Load.apply: config.delegates took 6.722ms
[info] Resolving key references (21727 settings) ...
[debug] sbt-release-early: Trying to fetch `pgpPassphrase in Global` from the environment.
[debug] Load.apply: Def.make(settings)... took 6634.3577ms
[debug] Load.apply: structureIndex took 1507.1592ms
[debug] Load.apply: mkStreams took 0.0036ms
[info] _____ __ ______ __
[info] / ___/_________ _/ /___ _ / ____/__ ____ / /____ _____
[info] \__ \/ ___/ __ `/ / __ `/ / / / _ \/ __ \/ __/ _ \/ ___/
[info] ___/ / /__/ /_/ / / /_/ / / /___/ /__/ / / / /_/ /__/ /
[info] /____/\___/\__,_/_/\__,_/ \____/\___/_/ /_/\__/\___/_/
[info]
[info] ***********************************************************
[info] *** Welcome to the build of `loooooooooop` ***
[info] *** An effort funded by the Scala Center ***
[info] ***********************************************************
[info]
[info] Generating bloop configuration files for C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\cross-test-build-0.6
[error] Failed to generate bloop config for C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\cross-test-build-0.6.
[debug] > Exec(loadFailed, None, None)
[debug] > Exec(last, None, None)
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
if I ignore, I get this:
[warn] Ignoring load failure: no project loaded.
[error] java.lang.RuntimeException: Session not initialized.
[error] at scala.sys.package$.error(package.scala:27)
[error] at sbt.Project$.$anonfun$getOrError$1(Project.scala:442)
[error] at scala.Option.getOrElse(Option.scala:121)
[error] at sbt.Project$.getOrError(Project.scala:442)
[error] at sbt.Project$.session(Project.scala:448)
[error] at sbt.Project$.extract(Project.scala:453)
[error] at sbt.BuiltinCommands$.notifyUsersAboutShell(Main.scala:928)
[error] at sbt.BuiltinCommands$.$anonfun$notifyUsersAboutShell$3(Main.scala:937)
[error] at sbt.Command$.$anonfun$command$2(Command.scala:91)
[error] at sbt.Command$.process(Command.scala:181)
[error] at sbt.MainLoop$.processCommand(MainLoop.scala:151)
[error] at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:139)
[error] at sbt.State$$anon$1.runCmd$1(State.scala:246)
[error] at sbt.State$$anon$1.process(State.scala:250)
[error] at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:139)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.MainLoop$.next(MainLoop.scala:139)
[error] at sbt.MainLoop$.run(MainLoop.scala:132)
[error] at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:110)
[error] at sbt.io.Using.apply(Using.scala:22)
[error] at sbt.MainLoop$.runWithNewLog(MainLoop.scala:104)
[error] at sbt.MainLoop$.runAndClearLast(MainLoop.scala:59)
[error] at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:44)
[error] at sbt.MainLoop$.runLogged(MainLoop.scala:35)
[error] at sbt.StandardMain$.runManaged(Main.scala:138)
[error] at sbt.xMain.run(Main.scala:89)
[error] at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
[error] at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
[error] at xsbt.boot.Launch$.run(Launch.scala:109)
[error] at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
[error] at xsbt.boot.Launch$.launch(Launch.scala:117)
[error] at xsbt.boot.Launch$.apply(Launch.scala:18)
[error] at xsbt.boot.Boot$.runImpl(Boot.scala:56)
[error] at xsbt.boot.Boot$.main(Boot.scala:18)
[error] at xsbt.boot.Boot.main(Boot.scala)
[error] Session not initialized.
[error] Use 'last' for the full log.
The contributing guide also shows you the steps to run after cloning (you need to initialize the git submodules), can you try that?
Sorry for the delay in responding ... After initializing the git submodules, I got a slightly different error (possibly). Here's my session:
$ git submodule update --init
philwalk@q6:~/workspace/bloop
$ sbt
[info] Loading settings for project global-plugins from dirtymoney.sbt,idea.sbt,plugins.sbt ...
[info] Loading global plugins from C:\Users\philwalk\.sbt\1.0\plugins
[info] Updating ProjectRef(uri("file:/C:/Users/philwalk/.sbt/1.0/plugins/"), "global-plugins")...
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies.
[warn] Run 'evicted' to see detailed eviction warnings
[info] Loading settings for project bloop-build-build from build.sbt ...
[info] Loading project definition from C:\Users\philwalk\workspace\bloop\project\project
[info] Updating ProjectRef(uri("file:/C:/Users/philwalk/workspace/bloop/project/project/"), "bloop-build-build")...
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies.
[warn] Run 'evicted' to see detailed eviction warnings
[info] Loading settings for project bloop-build from build.sbt ...
[info] Loading project definition from C:\Users\philwalk\workspace\bloop\project
[info] Updating ProjectRef(uri("file:/C:/Users/philwalk/workspace/bloop/project/"), "bloop-build")...
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies.
[warn] Run 'evicted' to see detailed eviction warnings
[success] Generated .bloop\bloop-build.json
[success] Total time: 15 s, completed Nov 26, 2018 8:14:58 AM
[info] Updating ProjectRef(uri("file:/C:/Users/philwalk/workspace/bloop/project/"), "bloop-build")...
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies.
[warn] Run 'evicted' to see detailed eviction warnings
[info] Loading settings for project bloop from build.sbt ...
[info] Loading settings for project benchmark-bridge-build from plugins.sbt ...
[info] Loading project definition from C:\Users\philwalk\workspace\bloop\benchmark-bridge\project
[warn] There may be incompatibilities among your library dependencies.
[warn] Run 'evicted' to see detailed eviction warnings
[info] Loading settings for project benchmark-bridge from build.sbt ...
[info] Resolving key references (21727 settings) ...
[info] _____ __ ______ __
[info] / ___/_________ _/ /___ _ / ____/__ ____ / /____ _____
[info] \__ \/ ___/ __ `/ / __ `/ / / / _ \/ __ \/ __/ _ \/ ___/
[info] ___/ / /__/ /_/ / / /_/ / / /___/ /__/ / / / /_/ /__/ /
[info] /____/\___/\__,_/_/\__,_/ \____/\___/_/ /_/\__/\___/_/
[info]
[info] ***********************************************************
[info] *** Welcome to the build of `loooooooooop` ***
[info] *** An effort funded by the Scala Center ***
[info] ***********************************************************
[info]
[info] Generating bloop configuration files for C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\cross-test-build-0.6
C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\cross-test-build-0.6>set SCRIPT_DIR=C:\opt\ue\cygbin\
C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\cross-test-build-0.6>c:\opt\ue\sbt\bin\sbt.bat bloopInstall
The system cannot find the path specified.
[error] Failed to generate bloop config for C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\cross-test-build-0.6.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
I'm puzzled by the setting of SCRIPT_DIR (to a value unrelated to my workspace/bloop directory. The directory c:\opt\ue\cygbin\
does exist on my system, and it's referenced by environment variables PATH
and OSBIN
, but it belongs to a different sbt project.
The only references I can find to SCRIPT_DIR are in the kafka project here:
~/.sbt/1.0/staging/blah-blah-blah/kafka/release.py
~/.sbt/1.0/staging/blah-blah-blah/kafka/tests/docker/run_tests.sh
~/.sbt/boot/update.log
Here are the relevant references (java.library.path
value in update.log
is truncated after the relevant portion):
$ find ~/.sbt/ -type f | xargs egrep '\b(cygbin|SCRIPT_DIR)\b'
~/.sbt/1.0/staging/7828e8b47406c9c9cc41/kafka/release.py:SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
~/.sbt/1.0/staging/7828e8b47406c9c9cc41/kafka/release.py:REPO_HOME = os.environ.get("%s_HOME" % CAPITALIZED_PROJECT_NAME, SCRIPT_DIR)
~/.sbt/1.0/staging/7828e8b47406c9c9cc41/kafka/release.py:PREFS_FILE = os.path.join(SCRIPT_DIR, '.release-settings.json')
~/.sbt/1.0/staging/7828e8b47406c9c9cc41/kafka/tests/docker/run_tests.sh:SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
~/.sbt/1.0/staging/7828e8b47406c9c9cc41/kafka/tests/docker/run_tests.sh:if ${SCRIPT_DIR}/ducker-ak ssh | grep -q '(none)'; then
~/.sbt/1.0/staging/7828e8b47406c9c9cc41/kafka/tests/docker/run_tests.sh: ${SCRIPT_DIR}/ducker-ak up -n "${KAFKA_NUM_CONTAINERS}" || die "ducker-ak up failed"
~/.sbt/1.0/staging/7828e8b47406c9c9cc41/kafka/tests/docker/run_tests.sh:${SCRIPT_DIR}/ducker-ak test ${TC_PATHS} ${_DUCKTAPE_OPTIONS} || die "ducker-ak test failed"
~/.sbt/boot/update.log:setting 'java.library.path' to 'C:\opt\jdk\bin;c:\WINDOWS\Sun\Java\bin;c:\WINDOWS\system32;c:\WINDOWS;C:\cygwin64\usr\local\bin;C:\cygwin64\bin;C:\bin;C:\opt\ue\bin;C:\opt\ue\jsrc;C:\opt\ue\cygbin;...
FWIW, when I did the initial 'git clone' for this project, it failed when attempting to download the kafka project and I had to manually grab kafka before it would continue.
I'm going to go back and re-read the developer docs, I may have missed something ...
I made some progress when I noticed the following line in my sbt log output:
C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\cross-test-build-0.6>c:\opt\ue\sbt\bin\sbt.bat bloopInstall
The problem is that it's looking for sbt.bat
in the wrong place. Here are the relevant environment settings:
$ echo $SBT_HOME
/opt/sbt
$ echo `cygpath -m $SBT_HOME`
C:/opt/sbt
$ which sbt
/opt/sbt/bin/sbt
$ cygpath -m `which sbt`
C:/opt/sbt/bin/sbt
$ echo "$PATH" | tr ':' '\n'
/usr/local/bin
/usr/bin
/opt/ue/cygbin
/opt/jdk/bin
/opt/scala/bin
/opt/sbt/bin
[...]
As an experiment, I moved "$SBT_HOME/bin"
to the head of my PATH
, and then issued this command:
$ sbt ";install;frontend/version"
That got me past the initial problem, although it fails trying to run gradle. Here's the log:
``` [info] Loading settings for project benchmark-bridge from build.sbt ... [info] Resolving key references (21727 settings) ... [info] _____ __ ______ __ [info] / ___/_________ _/ /___ _ / ____/__ ____ / /____ _____ [info] \__ \/ ___/ __ `/ / __ `/ / / / _ \/ __ \/ __/ _ \/ ___/ [info] ___/ / /__/ /_/ / / /_/ / / /___/ /__/ / / / /_/ /__/ / [info] /____/\___/\__,_/_/\__,_/ \____/\___/_/ /_/\__/\___/_/ [info] [info] *********************************************************** [info] *** Welcome to the build of `loooooooooop` *** [info] *** An effort funded by the Scala Center *** [info] *********************************************************** [info] [info] Wrote C:\Users\philwalk\workspace\bloop\config\target\json-config-2.10\scala-2.10\bloop-config_2.10-1.0.0+396-bd38f7cb+20181126-1020.pom [info] Packaging C:\Users\philwalk\workspace\bloop\config\target\json-config-2.10\scala-2.10\bloop-config_2.10-1.0.0+396-bd38f7cb+20181126-1020.jar ... [info] Done packaging. [info] published bloop-config_2.10 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.10/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.10-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.10 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.10/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.10-1.0.0+396-bd38f7cb+20181126-1020.jar [info] Writing Ivy file C:\Users\philwalk\workspace\bloop\config\target\json-config-2.10\scala-2.10\resolution-cache\ch.epfl.scala\bloop-config_2.10\1.0.0+396-bd38f7cb+20181126-1020\resolved.xml.xml [info] :: delivering :: ch.epfl.scala#bloop-config_2.10;1.0.0+396-bd38f7cb+20181126-1020 :: 1.0.0+396-bd38f7cb+20181126-1020 :: integration :: Mon Nov 26 10:20:21 MST 2018 [info] delivering ivy file to C:\Users\philwalk\workspace\bloop\config\target\json-config-2.10\scala-2.10\ivy-1.0.0+396-bd38f7cb+20181126-1020.xml [info] published bloop-config_2.10 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.10\1.0.0+396-bd38f7cb+20181126-1020\poms\bloop-config_2.10.pom [info] published bloop-config_2.10 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.10\1.0.0+396-bd38f7cb+20181126-1020\jars\bloop-config_2.10.jar [info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.10\1.0.0+396-bd38f7cb+20181126-1020\ivys\ivy.xml [success] Total time: 3 s, completed Nov 26, 2018 10:20:21 AM [info] Wrote C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1020.pom [info] Packaging C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1020.jar ... [info] Done packaging. [info] published bloop-config_2.11 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.11/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.11 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.11/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1020.jar [info] Writing Ivy file C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\resolution-cache\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1020\resolved.xml.xml [info] :: delivering :: ch.epfl.scala#bloop-config_2.11;1.0.0+396-bd38f7cb+20181126-1020 :: 1.0.0+396-bd38f7cb+20181126-1020 :: integration :: Mon Nov 26 10:20:22 MST 2018 [info] delivering ivy file to C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\ivy-1.0.0+396-bd38f7cb+20181126-1020.xml [info] published bloop-config_2.11 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1020\poms\bloop-config_2.11.pom [info] published bloop-config_2.11 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1020\jars\bloop-config_2.11.jar [info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1020\ivys\ivy.xml [success] Total time: 1 s, completed Nov 26, 2018 10:20:22 AM [info] Wrote C:\Users\philwalk\workspace\bloop\config\target\json-config-2.12\scala-2.12\bloop-config_2.12-1.0.0+396-bd38f7cb+20181126-1020.pom [info] Packaging C:\Users\philwalk\workspace\bloop\config\target\json-config-2.12\scala-2.12\bloop-config_2.12-1.0.0+396-bd38f7cb+20181126-1020.jar ... [info] Done packaging. [info] published bloop-config_2.12 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.12/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.12-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.12 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.12/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.12-1.0.0+396-bd38f7cb+20181126-1020.jar [info] Writing Ivy file C:\Users\philwalk\workspace\bloop\config\target\json-config-2.12\scala-2.12\resolution-cache\ch.epfl.scala\bloop-config_2.12\1.0.0+396-bd38f7cb+20181126-1020\resolved.xml.xml [info] :: delivering :: ch.epfl.scala#bloop-config_2.12;1.0.0+396-bd38f7cb+20181126-1020 :: 1.0.0+396-bd38f7cb+20181126-1020 :: integration :: Mon Nov 26 10:20:23 MST 2018 [info] delivering ivy file to C:\Users\philwalk\workspace\bloop\config\target\json-config-2.12\scala-2.12\ivy-1.0.0+396-bd38f7cb+20181126-1020.xml [info] published bloop-config_2.12 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.12\1.0.0+396-bd38f7cb+20181126-1020\poms\bloop-config_2.12.pom [info] published bloop-config_2.12 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.12\1.0.0+396-bd38f7cb+20181126-1020\jars\bloop-config_2.12.jar [info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.12\1.0.0+396-bd38f7cb+20181126-1020\ivys\ivy.xml [success] Total time: 1 s, completed Nov 26, 2018 10:20:23 AM [info] Wrote C:\Users\philwalk\workspace\bloop\config\target\json-config-2.10\scala-2.10\bloop-config_2.10-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.10 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.10/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.10-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.10 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.10/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.10-1.0.0+396-bd38f7cb+20181126-1020.jar [info] Writing Ivy file C:\Users\philwalk\workspace\bloop\config\target\json-config-2.10\scala-2.10\resolution-cache\ch.epfl.scala\bloop-config_2.10\1.0.0+396-bd38f7cb+20181126-1020\resolved.xml.xml [info] :: delivering :: ch.epfl.scala#bloop-config_2.10;1.0.0+396-bd38f7cb+20181126-1020 :: 1.0.0+396-bd38f7cb+20181126-1020 :: integration :: Mon Nov 26 10:20:23 MST 2018 [info] delivering ivy file to C:\Users\philwalk\workspace\bloop\config\target\json-config-2.10\scala-2.10\ivy-1.0.0+396-bd38f7cb+20181126-1020.xml [info] published bloop-config_2.10 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.10\1.0.0+396-bd38f7cb+20181126-1020\poms\bloop-config_2.10.pom [info] published bloop-config_2.10 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.10\1.0.0+396-bd38f7cb+20181126-1020\jars\bloop-config_2.10.jar [info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.10\1.0.0+396-bd38f7cb+20181126-1020\ivys\ivy.xml [info] Writing Ivy file C:\Users\philwalk\workspace\bloop\integrations\sbt-bloop\target\0.13.17\scala-2.10\sbt-0.13\resolution-cache\ch.epfl.scala\sbt-bloop\scala_2.10\sbt_0.13\1.0.0+396-bd38f7cb+20181126-1020\resolved.xml.xml [info] Packaging C:\Users\philwalk\workspace\bloop\integrations\sbt-bloop\target\0.13.17\scala-2.10\sbt-0.13\sbt-bloop-1.0.0+396-bd38f7cb+20181126-1020.jar ... [info] Done packaging. [info] :: delivering :: ch.epfl.scala#sbt-bloop;1.0.0+396-bd38f7cb+20181126-1020 :: 1.0.0+396-bd38f7cb+20181126-1020 :: integration :: Mon Nov 26 10:20:25 MST 2018 [info] delivering ivy file to C:\Users\philwalk\workspace\bloop\integrations\sbt-bloop\target\0.13.17\scala-2.10\sbt-0.13\ivy-1.0.0+396-bd38f7cb+20181126-1020.xml [info] published sbt-bloop to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\sbt-bloop\scala_2.10\sbt_0.13\1.0.0+396-bd38f7cb+20181126-1020\jars\sbt-bloop.jar [info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\sbt-bloop\scala_2.10\sbt_0.13\1.0.0+396-bd38f7cb+20181126-1020\ivys\ivy.xml [success] Total time: 2 s, completed Nov 26, 2018 10:20:25 AM [info] Wrote C:\Users\philwalk\workspace\bloop\config\target\json-config-2.12\scala-2.12\bloop-config_2.12-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.12 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.12/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.12-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.12 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.12/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.12-1.0.0+396-bd38f7cb+20181126-1020.jar [info] Writing Ivy file C:\Users\philwalk\workspace\bloop\config\target\json-config-2.12\scala-2.12\resolution-cache\ch.epfl.scala\bloop-config_2.12\1.0.0+396-bd38f7cb+20181126-1020\resolved.xml.xml [info] :: delivering :: ch.epfl.scala#bloop-config_2.12;1.0.0+396-bd38f7cb+20181126-1020 :: 1.0.0+396-bd38f7cb+20181126-1020 :: integration :: Mon Nov 26 10:20:25 MST 2018 [info] delivering ivy file to C:\Users\philwalk\workspace\bloop\config\target\json-config-2.12\scala-2.12\ivy-1.0.0+396-bd38f7cb+20181126-1020.xml [info] published bloop-config_2.12 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.12\1.0.0+396-bd38f7cb+20181126-1020\poms\bloop-config_2.12.pom [info] published bloop-config_2.12 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.12\1.0.0+396-bd38f7cb+20181126-1020\jars\bloop-config_2.12.jar [info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.12\1.0.0+396-bd38f7cb+20181126-1020\ivys\ivy.xml [info] Writing Ivy file C:\Users\philwalk\workspace\bloop\integrations\sbt-bloop\target\1.1.4\scala-2.12\sbt-1.0\resolution-cache\ch.epfl.scala\sbt-bloop\scala_2.12\sbt_1.0\1.0.0+396-bd38f7cb+20181126-1020\resolved.xml.xml [info] Packaging C:\Users\philwalk\workspace\bloop\integrations\sbt-bloop\target\1.1.4\scala-2.12\sbt-1.0\sbt-bloop-1.0.0+396-bd38f7cb+20181126-1020.jar ... [info] Done packaging. [info] :: delivering :: ch.epfl.scala#sbt-bloop;1.0.0+396-bd38f7cb+20181126-1020 :: 1.0.0+396-bd38f7cb+20181126-1020 :: integration :: Mon Nov 26 10:20:26 MST 2018 [info] delivering ivy file to C:\Users\philwalk\workspace\bloop\integrations\sbt-bloop\target\1.1.4\scala-2.12\sbt-1.0\ivy-1.0.0+396-bd38f7cb+20181126-1020.xml [info] published sbt-bloop to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\sbt-bloop\scala_2.12\sbt_1.0\1.0.0+396-bd38f7cb+20181126-1020\jars\sbt-bloop.jar [info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\sbt-bloop\scala_2.12\sbt_1.0\1.0.0+396-bd38f7cb+20181126-1020\ivys\ivy.xml [success] Total time: 2 s, completed Nov 26, 2018 10:20:26 AM [info] Wrote C:\Users\philwalk\workspace\bloop\integrations\maven-bloop\target\scala-2.10\maven-bloop_2.10-1.0.0+396-bd38f7cb+20181126-1020.pom [info] Packaging C:\Users\philwalk\workspace\bloop\integrations\maven-bloop\target\scala-2.10\maven-bloop_2.10-1.0.0+396-bd38f7cb+20181126-1020.jar ... [info] Done packaging. [info] published maven-bloop_2.10 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/maven-bloop_2.10/1.0.0+396-bd38f7cb+20181126-1020/maven-bloop_2.10-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published maven-bloop_2.10 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/maven-bloop_2.10/1.0.0+396-bd38f7cb+20181126-1020/maven-bloop_2.10-1.0.0+396-bd38f7cb+20181126-1020.jar [success] Total time: 6 s, completed Nov 26, 2018 10:20:32 AM [info] Wrote C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.11 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.11/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1020.pom [info] published bloop-config_2.11 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.11/1.0.0+396-bd38f7cb+20181126-1020/bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1020.jar [info] Writing Ivy file C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\resolution-cache\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1020\resolved.xml.xml [info] :: delivering :: ch.epfl.scala#bloop-config_2.11;1.0.0+396-bd38f7cb+20181126-1020 :: 1.0.0+396-bd38f7cb+20181126-1020 :: integration :: Mon Nov 26 10:20:33 MST 2018 [info] delivering ivy file to C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\ivy-1.0.0+396-bd38f7cb+20181126-1020.xml [info] published bloop-config_2.11 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1020\poms\bloop-config_2.11.pom [info] published bloop-config_2.11 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1020\jars\bloop-config_2.11.jar [info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1020\ivys\ivy.xml [info] Fetching Gradle API version 3.0 from https://services.gradle.org/distributions/gradle-3.0-bin.zip (may take a while...) [info] Wrote C:\Users\philwalk\workspace\bloop\integrations\gradle-bloop\target\gradle-bloop-2.11\scala-2.11\gradle-bloop_2.11-1.0.0+396-bd38f7cb+20181126-1020.pom [info] Extracting the api path from gradle... [error] java.io.IOException: Cannot run program "C:\Users\philwalk\AppData\Local\Temp\sbt_54a2fe0d\gradle-3.0\bin\gradle" (in directory "C:\Users\philwalk\AppData\Local\Temp\sbt_1a4713a"): CreateProcess error=193, %1 is not a valid Win32 application [error] at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) [error] at scala.sys.process.ProcessBuilderImpl$Simple.run(ProcessBuilderImpl.scala:71) [error] at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang(ProcessBuilderImpl.scala:115) [error] at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.slurp(ProcessBuilderImpl.scala:131) [error] at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang$bang(ProcessBuilderImpl.scala:104) [error] at build.GradleIntegration$.$anonfun$fetchGradleApi$3(GradleIntegration.scala:31) [error] at build.GradleIntegration$.$anonfun$fetchGradleApi$3$adapted(GradleIntegration.scala:21) [error] at sbt.io.IO$.withTemporaryDirectory(IO.scala:376) [error] at sbt.io.IO$.withTemporaryDirectory(IO.scala:383) [error] at build.GradleIntegration$.$anonfun$fetchGradleApi$2(GradleIntegration.scala:21) [error] at build.GradleIntegration$.$anonfun$fetchGradleApi$2$adapted(GradleIntegration.scala:20) [error] at sbt.io.IO$.withTemporaryDirectory(IO.scala:376) [error] at sbt.io.IO$.withTemporaryDirectory(IO.scala:383) [error] at build.GradleIntegration$.fetchGradleApi(GradleIntegration.scala:20) [error] at build.BuildImplementation$BuildDefaults$.$anonfun$gradlePluginBuildSettings$5(BuildPlugin.scala:475) [error] at build.BuildImplementation$BuildDefaults$.$anonfun$gradlePluginBuildSettings$5$adapted(BuildPlugin.scala:471) [error] at scala.Function1.$anonfun$compose$1(Function1.scala:44) [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40) [error] at sbt.std.Transform$$anon$4.work(System.scala:67) [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:269) [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16) [error] at sbt.Execute.work(Execute.scala:278) [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:269) [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178) [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [error] at java.lang.Thread.run(Thread.java:748) [error] Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application [error] at java.lang.ProcessImpl.create(Native Method) [error] at java.lang.ProcessImpl.(ProcessImpl.java:386) [error] at java.lang.ProcessImpl.start(ProcessImpl.java:137) [error] at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) [error] at scala.sys.process.ProcessBuilderImpl$Simple.run(ProcessBuilderImpl.scala:71) [error] at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang(ProcessBuilderImpl.scala:115) [error] at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.slurp(ProcessBuilderImpl.scala:131) [error] at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang$bang(ProcessBuilderImpl.scala:104) [error] at build.GradleIntegration$.$anonfun$fetchGradleApi$3(GradleIntegration.scala:31) [error] at build.GradleIntegration$.$anonfun$fetchGradleApi$3$adapted(GradleIntegration.scala:21) [error] at sbt.io.IO$.withTemporaryDirectory(IO.scala:376) [error] at sbt.io.IO$.withTemporaryDirectory(IO.scala:383) [error] at build.GradleIntegration$.$anonfun$fetchGradleApi$2(GradleIntegration.scala:21) [error] at build.GradleIntegration$.$anonfun$fetchGradleApi$2$adapted(GradleIntegration.scala:20) [error] at sbt.io.IO$.withTemporaryDirectory(IO.scala:376) [error] at sbt.io.IO$.withTemporaryDirectory(IO.scala:383) [error] at build.GradleIntegration$.fetchGradleApi(GradleIntegration.scala:20) [error] at build.BuildImplementation$BuildDefaults$.$anonfun$gradlePluginBuildSettings$5(BuildPlugin.scala:475) [error] at build.BuildImplementation$BuildDefaults$.$anonfun$gradlePluginBuildSettings$5$adapted(BuildPlugin.scala:471) [error] at scala.Function1.$anonfun$compose$1(Function1.scala:44) [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40) [error] at sbt.std.Transform$$anon$4.work(System.scala:67) [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:269) [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16) [error] at sbt.Execute.work(Execute.scala:278) [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:269) [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178) [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [error] at java.lang.Thread.run(Thread.java:748) [error] (gradleBloop211 / fetchGradleApi) java.io.IOException: Cannot run program "C:\Users\philwalk\AppData\Local\Temp\sbt_54a2fe0d\gradle-3.0\bin\gradle" (in directory "C:\Users\philwalk\AppData\Local\Temp\sbt_1a4713a"): CreateProcess error=193, %1 is not a valid Win32 application [error] Total time: 13 s, completed Nov 26, 2018 10:20:46 AM ```
My next hunch is that I might be able to get around this by installing gradle, setting GRADLE_HOME, and adding $GRADLE_HOME/bin to my PATH. I'll report back if it makes any difference.
I can now run sbt without problems, and perhaps I'm now running into the known issue you alluded to.
I notice thatGradleIntegration.scala
doesn't check for Windows build environment.
I added some code to call gradle.bat
instead of gradle
, plus a bit of extra logging, and here's what I see, FWIW:
[info] Wrote C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1150.pom
[info] published bloop-config_2.11 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.11/1.0.0+396-bd38f7cb+20181126-1150/bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1150.pom
[info] published bloop-config_2.11 to file:/C:/Users/philwalk/.m2/repository/ch/epfl/scala/bloop-config_2.11/1.0.0+396-bd38f7cb+20181126-1150/bloop-config_2.11-1.0.0+396-bd38f7cb+20181126-1150.jar
[info] Writing Ivy file C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\resolution-cache\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1150\resolved.xml.xml
[info] :: delivering :: ch.epfl.scala#bloop-config_2.11;1.0.0+396-bd38f7cb+20181126-1150 :: 1.0.0+396-bd38f7cb+20181126-1150 :: integration :: Mon Nov 26 11:51:08 MST 2018
[info] delivering ivy file to C:\Users\philwalk\workspace\bloop\config\target\json-config-2.11\scala-2.11\ivy-1.0.0+396-bd38f7cb+20181126-1150.xml
[info] published bloop-config_2.11 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1150\poms\bloop-config_2.11.pom
[info] published bloop-config_2.11 to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1150\jars\bloop-config_2.11.jar
[info] published ivy to C:\Users\philwalk\.ivy2\local\ch.epfl.scala\bloop-config_2.11\1.0.0+396-bd38f7cb+20181126-1150\ivys\ivy.xml
[info] Fetching Gradle API version 3.0 from https://services.gradle.org/distributions/gradle-3.0-bin.zip (may take a while...)
[info] Wrote C:\Users\philwalk\workspace\bloop\integrations\gradle-bloop\target\gradle-bloop-2.11\scala-2.11\gradle-bloop_2.11-1.0.0+396-bd38f7cb+20181126-1150.pom
[info] gradleDir: C:\Users\philwalk\AppData\Local\Temp\sbt_2e7706cb
[info] dummyProjectDir: C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd
[info] gradle version: 3.0
[info] Extracting the api path from gradle...
[info] gradleCmd: List(C:\Users\philwalk\AppData\Local\Temp\sbt_2e7706cb\gradle-3.0\bin\gradle.bat, --stacktrace, --no-daemon, printClassPath)
[error] Fatal: could not find gradle-api artifact in the generated class path :printClassPath
[error] C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd\build\classes\test;C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd\build\resources\test;C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd\build\classes\main;C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd\build\resources\main;C:\Users\philwalk\.gradle\caches\3.0\generated-gradle-jars\gradle-test-kit-3.0.jar;C:\Users\philwalk\.gradle\caches\3.0\generated-gradle-jars\gradle-api-3.0.jar;C:\Users\philwalk\AppData\Local\Temp\sbt_2e7706cb\gradle-3.0\lib\groovy-all-2.4.7.jar;C:\Users\philwalk\AppData\Local\Temp\sbt_2e7706cb\gradle-3.0\lib\gradle-installation-beacon-3.0.jar
[error]
[error] BUILD SUCCESSFUL
[error]
[error] Total time: 4.459 secs
[error] (gradleBloop211 / fetchGradleApi) Fatal: could not find gradle-api artifact in the generated class path :printClassPath
[error] C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd\build\classes\test;C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd\build\resources\test;C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd\build\classes\main;C:\Users\philwalk\AppData\Local\Temp\sbt_8117e2fd\build\resources\main;C:\Users\philwalk\.gradle\caches\3.0\generated-gradle-jars\gradle-test-kit-3.0.jar;C:\Users\philwalk\.gradle\caches\3.0\generated-gradle-jars\gradle-api-3.0.jar;C:\Users\philwalk\AppData\Local\Temp\sbt_2e7706cb\gradle-3.0\lib\groovy-all-2.4.7.jar;C:\Users\philwalk\AppData\Local\Temp\sbt_2e7706cb\gradle-3.0\lib\gradle-installation-beacon-3.0.jar
[error]
[error] BUILD SUCCESSFUL
[error]
[error] Total time: 4.459 secs
[error] Total time: 18 s, completed Nov 26, 2018 11:51:26 AM
Although it complains that it cannot find the gradle-api artifact, the log output shows the files below. This might be another example of a trailing carriage-return problem, since the file seems to be there, but I noticed that it gets logged with a trailing ^M (not shown here):
C:/Users/philwalk/AppData/Local/Temp/sbt_8117e2fd/build/classes/test C:/Users/philwalk/AppData/Local/Temp/sbt_8117e2fd/build/resources/test C:/Users/philwalk/AppData/Local/Temp/sbt_8117e2fd/build/classes/main C:/Users/philwalk/AppData/Local/Temp/sbt_8117e2fd/build/resources/main C:/Users/philwalk/.gradle/caches/3.0/generated-gradle-jars/gradle-test-kit-3.0.jar C:/Users/philwalk/.gradle/caches/3.0/generated-gradle-jars/gradle-api-3.0.jar C:/Users/philwalk/AppData/Local/Temp/sbt_2e7706cb/gradle-3.0/lib/groovy-all-2.4.7.jar C:/Users/philwalk/AppData/Local/Temp/sbt_2e7706cb/gradle-3.0/lib/gradle-installation-beacon-3.0.jar
Thank you for your in-depth analysis @philwalk . I'm sorry for the delay, I could not get have a look at this issue before the 1.1.1 release which I've been preparing for the past weeks.
I can confirm the latest issue is legit and I have fixed it and tested. I will merge it in master soon.
Which release is this fix scheduled for? The problem (^M appended to autocompletion strings) still exists in version 1.2.5, although I'm wondering if it might be related to some aspect of my environment (cygwin, specifically).
D'uh, I've fixed here the latest issue you reported with gradle but not the main issue with ^M
. What is the diff you're using to make 1.2.5 work? I don't have the cycles to look into a solution but I'm gonna be more active next days so I can help you out if you need guidance/advice to find a fix.
I won't be able to spend time on this for a few weeks, but it's not a critical issue for me.
No worries @philwalk I appreciate the time you put into getting set up and trying to investigate what's going on. Thanks. Whenever you or someone affected by this can work on it, I'll be happy to help.
Any chance you could look at this soon @philwalk ? To recap, the issue here is caused by logger.info
which uses System.lineSeparator
to print a message to the client streams. The Windows line separator is \r\n
. My intuition is that the Bash autocompletion implementation in Cygwin expects \n
instead of \r\n
so it shows ^M
in the terminal.
The fix here should be to replace logger.info
by a print
that only uses \n
if the client is a Cygwin client (which we can now based on the client environment variables, I imagine).
You should have no problem setting the repository up now. I recommend deleting the previous repository and cloning again.
I'm looking at it now, hopefully I can get back up to speed without too much delay ...
Thanks a lot @philwalk, please let me know if you have questions or you run into any problem. I'll be available in our Gitter channel https://gitter.im/scalacenter/bloop
I started out with a fresh clone, and when I start an sbt session I get this:
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: ch.epfl.scala#sbt-bloop-build-shaded;1.0.0-SNAPSHOT: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
OK, that's really weird. Can you rm -rf project/target project/project/target project/project/project/target
and then run sbt
again? You shouldn't get that at all with a fresh clone!
This is the workflow you should use to test your changes:
sbt frontend/runMain bloop.Server
to start your modified version of the serverphilwalk:~/workspace/bloop
$ rm -rf project/target project/project/target project/project/project/target
philwalk:~/workspace/bloop
$ sbt
[info] Loading settings for project global-plugins from dirtymoney.sbt,idea.sbt,plugins.sbt ...
[info] Loading global plugins from C:\Users\philwalk\.sbt\1.0\plugins
[info] Loading settings for project bloop-build-build-build-build from plugins.sbt ...
[info] Loading project definition from C:\Users\philwalk\workspace\bloop\project\project\project\project
[info] Loading settings for project bloop-build-build-build from build.sbt ...
[info] Loading project definition from C:\Users\philwalk\workspace\bloop\project\project\project
[info] Compiling 3 Scala sources and 2 Java sources to C:\Users\philwalk\workspace\bloop\project\project\project\target\scala-2.12\sbt-1.0\classes ...
[info] Done compiling.
[info] Loading settings for project root from build.sbt ...
[info] Loading project definition from C:\Users\philwalk\workspace\bloop\project\project
[info] Writing Ivy file C:\Users\philwalk\workspace\bloop\project\project\target\sbt-bloop-build-shaded\target\scala-2.12\sbt-1.0\resolution-cache\ch.epfl.scala\sbt-bloop-build-shaded\scala_2.12\sbt_1.0\1.0.0-SNAPSHOT\resolved.xml.xml
[info] Wrote C:\Users\philwalk\workspace\bloop\project\project\target\sbt-bloop-build-shaded\target\scala-2.12\sbt-1.0\sbt-bloop-build-shaded-1.0.0-SNAPSHOT.pom
[info] Compiling 9 Scala sources to C:\Users\philwalk\workspace\bloop\project\project\target\sbt-bloop-build-shaded\target\scala-2.12\sbt-1.0\classes ...
[warn] there were three feature warnings; re-run with -feature for details
[warn] one warning found
[info] Done compiling.
[info] Packaging C:\Users\philwalk\workspace\bloop\project\project\target\sbt-bloop-build-shaded\target\scala-2.12\sbt-1.0\sbt-bloop-build-shaded-1.0.0-SNAPSHOT.jar ...
[info] Done packaging.
[error] coursier.error.ResolutionError$CantDownloadModule: Error downloading com.dwijnand:sbt-compat;sbtVersion=1.0;scalaVersion=2.12:1.2.6
[error] Not found
[error] not found: c:\Users\philwalk\.ivy2\local\com.dwijnand\sbt-compat\scala_2.12\sbt_1.0\1.2.6\ivys\ivy.xml
[error] not found: https://repo1.maven.org/maven2/com/dwijnand/sbt-compat_2.12_1.0/1.2.6/sbt-compat-1.2.6.pom
[error] at coursier.Resolve$.$anonfun$validate$1(Resolve.scala:275)
[error] at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233)
[error] at scala.collection.Iterator.foreach(Iterator.scala:937)
[error] at scala.collection.Iterator.foreach$(Iterator.scala:937)
[error] at scala.collection.AbstractIterator.foreach(Iterator.scala:1425)
[error] at scala.collection.IterableLike.foreach(IterableLike.scala:70)
[error] at scala.collection.IterableLike.foreach$(IterableLike.scala:69)
[error] at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
[error] at scala.collection.TraversableLike.map(TraversableLike.scala:233)
[error] at scala.collection.TraversableLike.map$(TraversableLike.scala:226)
[error] at scala.collection.AbstractTraversable.map(Traversable.scala:104)
[error] at coursier.Resolve$.validate(Resolve.scala:273)
[error] at coursier.Resolve.validate0$1(Resolve.scala:82)
[error] at coursier.Resolve.$anonfun$ioWithConflicts$4(Resolve.scala:126)
[error] at coursier.util.Task$.$anonfun$flatMap$2(Task.scala:11)
[error] at scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:303)
[error] at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:37)
[error] at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:748)
[error] (sbtBloopBuildShadedDeps / coursierResolutions) coursier.error.ResolutionError$CantDownloadModule: Error downloading com.dwijnand:sbt-compat;sbtVersion=1.0;scalaVersion=2.12:1.2.6
[error] Not found
[error] not found: c:\Users\philwalk\.ivy2\local\com.dwijnand\sbt-compat\scala_2.12\sbt_1.0\1.2.6\ivys\ivy.xml
[error] not found: https://repo1.maven.org/maven2/com/dwijnand/sbt-compat_2.12_1.0/1.2.6/sbt-compat-1.2.6.pom
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
Do you have global plugins installed that could be causing that resolution error? If there are, try removing them, rm -rf
ing again and running sbt
. You should not be seeing this resolution error (our build works in our Windows Jenkins instance without problems).
After disabling all global plugins, I got past the above problem, and now I'm getting a problem we ran into last Spring where it incorrectly sets SCRIPT_PATH and then produces a bad path to the sbt.bat file. Here's the error message. I'll spend some more time on it this afternoon.
[info] Generating bloop configuration files for C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\compiler-plugin-whitelist
C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\compiler-plugin-whitelist>set SCRIPT_DIR=C:\opt\ue\cygbin\
C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\compiler-plugin-whitelist>c:\opt\ue\sbt\bin\sbt.bat bloopInstall
I think I know how to get around this, so I should be able to make some progress now.
Go to project/BuildPlugin.scala
and disable the exporting of those projects in a method called bloopOnLoad
by just plainly returning state
, something like this:
val bloopOnLoad: Def.Initialize[State => State] = Def.setting {
Keys.onLoad.value.andThen { state => state }
}
That should be it. Fixing this issue with scriptpath should not block you anymore. There will be some tests unrelated to autocompletion that will fail but you can just ignore them, focus on the autocompletion test suite instead.
Here's an error message that it printed, although it doesn't seem to have caused any problems. I've seen this before, it's caused by script code that tries to parse a java version string but doesn't first strip out the carriage return.
[success] Generated bloop configuration files for C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\scala-seed-project
[info] Generating bloop configuration files for C:\Users\philwalk\workspace\bloop\frontend\src\test\resources\simple-build
The Java Development Kit (JDK) installation you have is not up to date.
sbt requires at least version 6+, you have
version 0
Please go to http://www.oracle.com/technetwork/java/javase/downloads/ and download
a valid JDK and install before running sbt.
It seems to have completed the build now.
I'm running java version 1.8.0_211 and scala 2.12.10
I'm I have Intellij working, but here's what I'm getting when I run the frontend tests. Many of the errors seem to result because nailgun can't find the built classes:
java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$
The file exists:
$ find . -type f -name TestUtil\$.class
./.bloop/frontend/scala-2.12/bloop-internal-classes/test-classes-2eve39oETYSuNCKXsH83WA==/bloop/util/TestUtil$.class
./.bloop/frontend/scala-2.12/test-classes/bloop/util/TestUtil$.class
Here's the full test output:
$ bloop test frontend
``` Compiling sockets (8 Java sources) Compiling jsonConfig212 (4 Scala sources) Compiled sockets (1703ms) Compiled jsonConfig212 (12031ms) Compiling frontend (101 Scala sources) Compiled frontend (31185ms) Compiling frontend-test (56 Scala sources) Compiled frontend-test (11313ms) Test run started Test bloop.AutoCompleteSpec.testAutoCompletionForProjects started Test run finished: 1 failed, 0 ignored, 1 total, 0.666s Execution took 0.65s 1 tests, 1 failed Test run started Test bloop.BloopLoggerSpec.ultipleLoggerSameNamesDifferentOutputs started Test bloop.BloopLoggerSpec.isVerbose started Test bloop.BloopLoggerSpec.errorMessagesGoToErr started Test bloop.BloopLoggerSpec.debugAndTraceMessagesAreIgnoredByDefault started Test bloop.BloopLoggerSpec.isVerboseForConcreteContexts started Test bloop.BloopLoggerSpec.ultipleLoggersDontStepOnEachOtherToes started Test bloop.BloopLoggerSpec.infoAndWarnMessagesGoToOut started Test bloop.BloopLoggerSpec.debugAndTraceMessagesGoToErrInVerboseMode started Test run finished: 0 failed, 0 ignored, 8 total, 0.68s Execution took 0.67s 8 tests, 8 passed All tests in bloop.BloopLoggerSpec passed Test run started Test bloop.DagSpec.TestDagReduction started Test bloop.DagSpec.SimpleRecursiveDAG started Test bloop.DagSpec.TestUniqueDagFromMap started Test bloop.DagSpec.LongerRecursiveDAG started Test bloop.DagSpec.TestMinimalInverseDependencies started Test bloop.DagSpec.SimpleDAG started Test bloop.DagSpec.SimpleDfs started Test bloop.DagSpec.DottifyGraph started Test bloop.DagSpec.CompleteRecursiveDAG started Test bloop.DagSpec.CompleteDAGWithMissingDependencies started Test bloop.DagSpec.EmptyDAG started Test bloop.DagSpec.EmptyDfs started Test bloop.DagSpec.CompleteDAG started Test bloop.DagSpec.CompleteDfs started Test run finished: 14 failed, 0 ignored, 14 total, 0.014s Execution took 3ms 14 tests, 14 failed Test run started Test bloop.DebugFilterSpec.checkSubsumption started Test bloop.DebugFilterSpec.parseDebugFilterAll started Test bloop.DebugFilterSpec.parseAllDebugFilters started Test bloop.DebugFilterSpec.failWhenParsingOnlyDebugHeader started Test bloop.DebugFilterSpec.parseDebugAndSimplifyToAll started Test bloop.DebugFilterSpec.parseDebugFilters started Test run finished: 0 failed, 0 ignored, 6 total, 0.641s Execution took 0.64s 6 tests, 6 passed All tests in bloop.DebugFilterSpec passed Test run started Test bloop.ForkerSpec.detectNewLines started Test bloop.ForkerSpec.runHasCorrectWorkingDirectory started Test bloop.ForkerSpec.canRun started Test bloop.ForkerSpec.runReportsMissingCWD started Test bloop.ForkerSpec.reportsExceptions started Test run finished: 4 failed, 0 ignored, 5 total, 0.02s Execution took 14ms 5 tests, 1 passed, 4 failed Test run started Test bloop.GenericTestSpec.canTestWithCascading started Test run finished: 1 failed, 0 ignored, 1 total, 0.008s Execution took 6ms 1 tests, 1 failed Test run started Test bloop.LoadProjectSpec.LoadJavaProject started Test run finished: 1 failed, 0 ignored, 1 total, 0.022s Execution took 21ms 1 tests, 1 failed Test run started Test bloop.ProcessLoggerSpec.loggerToOutputStream started Test bloop.ProcessLoggerSpec.loggerToPrintStream started Test run finished: 0 failed, 0 ignored, 2 total, 0.007s Execution took 5ms 2 tests, 2 passed All tests in bloop.ProcessLoggerSpec passed Test run started Test bloop.RunSpec.canRunInheritedMain started Test bloop.RunSpec.canCancelNeverEndingApplication started Test bloop.RunSpec.canRunApplicationThatRequiresInput started Test bloop.RunSpec.canRunDefaultMainClass started Test bloop.RunSpec.canRunSpecifiedMainSingleChoice started Test bloop.RunSpec.runApplicationAfterIncrementalChanges started Test bloop.RunSpec.canRunSpecifiedMainMultipleChoices started Test bloop.RunSpec.canRunMainFromBinaryDependency started Test bloop.RunSpec.canRunMainFromSourceDependency started Test bloop.RunSpec.doesntDetectNonRunnableClasses started Test bloop.RunSpec.canDetectOneMainClass started Test bloop.RunSpec.canDetectMultipleMainClasses started Test bloop.RunSpec.runCanSeeCompileResources started Test bloop.RunSpec.setCorrectCwd started Test bloop.RunSpec.runIncludesTransitiveResourcesInAggregatedProjects started Test run finished: 15 failed, 0 ignored, 15 total, 0.019s Execution took 8ms 15 tests, 15 failed Test run started Test bloop.TestFilterSpec.testFilterDoesntMatchDifferentStrings started Test bloop.TestFilterSpec.testFilterSupportsWildcardInExclusionFilter started Test bloop.TestFilterSpec.testFilterAcceptsSeveralPatterns started Test bloop.TestFilterSpec.testFilterSupportsInclusionAndExclusionFilters started Test bloop.TestFilterSpec.testFilterSupportsWildcard started Test bloop.TestFilterSpec.testFilterMatchesExactMatch started Test bloop.TestFilterSpec.testFilterSupportsExclusionFilter started Test bloop.TestFilterSpec.wildcardRejectsUnrelatedInput started Test run finished: 0 failed, 0 ignored, 8 total, 0.018s Execution took 15ms 8 tests, 8 passed All tests in bloop.TestFilterSpec passed Test run started Test bloop.bsp.ProjectUrisSpec.ParseUriWindows started Test run finished: 0 failed, 0 ignored, 1 total, 0.004s Execution took 2ms 1 tests, 1 passed All tests in bloop.bsp.ProjectUrisSpec passed -------------------------------- Running Tests -------------------------------- X bloop.BuildLoaderSpec.don't reload if nothing changes 12ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.reload if settings are added 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.do not reload if same settings are added 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.reload if new settings are added 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.reload if two file contents changed in build with previous 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.reload if two file contents changed with same settings 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.reload if new settings are added and two file contents changed 2ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.do not reload if no settings are passed to build configured with previous settings 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.do not reload on empty settings 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.don't reload when configuration files are touched 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.reload when new configuration file is added to the build 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.reload when existing configuration files change 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.BuildLoaderSpec.reload when new configuration file is deleted 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.BuildLoaderSpec$.loadBuildState(BuildLoaderSpec.scala:246) bloop.BuildLoaderSpec$.$anonfun$testLoad$1(BuildLoaderSpec.scala:238) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) Execution took 14ms -------------------------------- Running Tests -------------------------------- 13 tests, 13 failed X bloop.BuildPipeliningSpec 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.testing.BaseSuite.testOnlyOnJava8(BaseSuite.scala:558) bloop.BuildPipeliningSpec$.(BuildPipeliningSpec.scala:63) bloop.BuildPipeliningSpec$. (BuildPipeliningSpec.scala:-1) sun.misc.Unsafe.ensureClassInitialized(Unsafe.java:-2) sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43) sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156) java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088) java.lang.reflect.Field.getFieldAccessor(Field.java:1069) java.lang.reflect.Field.get(Field.java:393) org.portablescala.reflect.LoadableModuleClass.loadModule(LoadableModuleClass.scala:17) utest.PlatformShims$.loadModule(PlatformShims.scala:19) utest.runner.BaseRunner.$anonfun$runSuite$4(BaseRunner.scala:108) Execution took 0ms -------------------------------- Running Tests -------------------------------- 1 tests, 1 failed + bloop.CliSpec.fail at wrong end of pipe name 2ms + bloop.CliSpec.fail at wrong middle part of pipe name 0ms + bloop.CliSpec.fail at wrong start of pipe name 0ms + bloop.CliSpec.fail at common wrong pipe name 0ms + bloop.CliSpec.fail at existing socket 2ms + bloop.CliSpec.succeed at non-existing relative file for socket 5ms + bloop.CliSpec.fail at non-existing socket folder 0ms + bloop.CliSpec.fail at socket lengthy name 1ms + bloop.CliSpec.fail at missing socket 0ms + bloop.CliSpec.fail at missing pipe name 0ms + bloop.CliSpec.succeed at correct pipe name 2ms + bloop.CliSpec.succeed at non-existing socket file 1ms + bloop.CliSpec.succeed at default tcp options 20ms + bloop.CliSpec.succeed at custom tcp options 6ms + bloop.CliSpec.fail at non-sensical host address 2256ms + bloop.CliSpec.fail at invalid ipv4 host addresses 0ms + bloop.CliSpec.fail at invalid ipv6 host address 0ms + bloop.CliSpec.success at valid ipv4 addresses 0ms + bloop.CliSpec.succeed at valid ipv6 addresses 0ms + bloop.CliSpec.success at valid port number 0ms + bloop.CliSpec.fail at out of range port number 0ms + bloop.CliSpec.fail at reserved port numbers 0ms Execution took 2.29s -------------------------------- Running Tests -------------------------------- 22 tests, 22 passed All tests in bloop.CliSpec passed X bloop.CompileSpec.compile a project twice with no input changes produces a no-op 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$1(CompileSpec.scala:29) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.compile build incrementally sourcing from an analysis file 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$7(CompileSpec.scala:57) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.compile project / clean / compile it again 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$11(CompileSpec.scala:95) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.simulate an incremental compiler session 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$15(CompileSpec.scala:133) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.compile a build with diamond shape and check basic compilation invariants 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$25(CompileSpec.scala:279) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.compile java code depending on scala code 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$28(CompileSpec.scala:360) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.compile after moving a class across project + invalidating symbol in a dependent project 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$31(CompileSpec.scala:399) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.don't compile after renaming a Scala class and not its references in the same project 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$36(CompileSpec.scala:488) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.detect binary changes in Java within the same project 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.compileTestWithOrder$1(CompileSpec.scala:607) bloop.CompileSpec$.$anonfun$new$40(CompileSpec.scala:690) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.invalidate Scala class files in javac forked and local compilation 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$44(CompileSpec.scala:695) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.don't compile after renaming a class and not its references in a dependent project 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$46(CompileSpec.scala:780) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.report java errors when `JavaThenScala` is enabled 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$50(CompileSpec.scala:864) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.support -Xfatal-warnings internal implementation 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$53(CompileSpec.scala:928) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.detect Scala syntactic errors 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$56(CompileSpec.scala:975) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.detect invalid Scala compiler flags 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$59(CompileSpec.scala:1012) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.cascade compilation compiles only a strict subset of targets 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$62(CompileSpec.scala:1043) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.cancel slow compilation 2ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.util.BuildUtil$.testSlowBuild(BuildUtil.scala:16) bloop.CompileSpec$.$anonfun$new$65(CompileSpec.scala:1103) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.compiler plugins are cached automatically 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$69(CompileSpec.scala:1145) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.check that we report rich diagnostics in the CLI when -Yrangepos 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$85(CompileSpec.scala:1219) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.check positions reporting in adjacent diagnostics 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$88(CompileSpec.scala:1262) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.don't compile build in two concurrent CLI clients 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$92(CompileSpec.scala:1302) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.compile a project that redundantly lists an exact file as well as parent directory 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$97(CompileSpec.scala:1332) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.CompileSpec.compile Scala class after renaming a static member in a Java class 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.CompileSpec$.$anonfun$new$100(CompileSpec.scala:1359) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) Execution took 2ms -------------------------------- Running Tests -------------------------------- 23 tests, 23 failed X bloop.ConsoleSpec.default ammonite console works in multi-build project 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.ConsoleSpec$.$anonfun$new$1(ConsoleSpec.scala:15) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) -------------------------------- Running Tests -------------------------------- Execution took 0ms 1 tests, 1 failed X bloop.DeduplicationSpec.three concurrent clients deduplicate compilation 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.util.BuildUtil$.testSlowBuild(BuildUtil.scala:16) bloop.DeduplicationSpec$.$anonfun$new$1(DeduplicationSpec.scala:47) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.DeduplicationSpec.deduplication removes invalidated class files from all external classes dirs 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.util.BuildUtil$.testSlowBuild(BuildUtil.scala:16) bloop.DeduplicationSpec$.$anonfun$new$11(DeduplicationSpec.scala:181) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.DeduplicationSpec.deduplication doesn't work if project definition changes 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.util.BuildUtil$.testSlowBuild(BuildUtil.scala:16) bloop.DeduplicationSpec$.$anonfun$new$19(DeduplicationSpec.scala:346) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.DeduplicationSpec.three concurrent clients receive error diagnostics appropriately 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.DeduplicationSpec$.$anonfun$new$27(DeduplicationSpec.scala:451) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.DeduplicationSpec.cancel deduplicated compilation finishes all clients 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.DeduplicationSpec$.$anonfun$new$34(DeduplicationSpec.scala:770) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.DeduplicationSpec.cancel deduplication on blocked compilation 3ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.DeduplicationSpec$.$anonfun$new$41(DeduplicationSpec.scala:918) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) Execution took 3ms -------------------------------- Running Tests -------------------------------- 6 tests, 6 failed X bloop.FileWatchingSpec.simulate an incremental compiler session with file watching enabled 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.FileWatchingSpec$.$anonfun$new$1(FileWatchingSpec.scala:24) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.FileWatchingSpec.don't act on MODIFY events with size == 0 right away 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.FileWatchingSpec$.$anonfun$new$35(FileWatchingSpec.scala:189) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.FileWatchingSpec.cancel file watcher 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.FileWatchingSpec$.$anonfun$new$54(FileWatchingSpec.scala:307) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) + bloop.FileWatchingSpec.IGNORED - playground for monix primitives 0ms Execution took 0ms -------------------------------- Running Tests -------------------------------- 4 tests, 1 passed, 3 failed X bloop.JsTestSpec 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.testing.BloopHelpers.loadBuildFromResources(BloopHelpers.scala:68) bloop.testing.BloopHelpers.loadBuildFromResources$(BloopHelpers.scala:63) bloop.testing.BaseSuite.loadBuildFromResources(BaseSuite.scala:34) bloop.testing.ProjectBaseSuite. (ProjectBaseSuite.scala:11) bloop.BaseTestSpec. (TestSpec.scala:23) bloop.JsTestSpec$. (TestSpec.scala:59) bloop.JsTestSpec$. (TestSpec.scala:-1) sun.misc.Unsafe.ensureClassInitialized(Unsafe.java:-2) sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43) sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156) java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088) java.lang.reflect.Field.getFieldAccessor(Field.java:1069) java.lang.reflect.Field.get(Field.java:393) org.portablescala.reflect.LoadableModuleClass.loadModule(LoadableModuleClass.scala:17) utest.PlatformShims$.loadModule(PlatformShims.scala:19) utest.runner.BaseRunner.$anonfun$runSuite$4(BaseRunner.scala:108) Execution took 0ms 1 tests, 1 failed -------------------------------- Running Tests -------------------------------- X bloop.JvmTestSpec 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.testing.BloopHelpers.loadBuildFromResources(BloopHelpers.scala:68) bloop.testing.BloopHelpers.loadBuildFromResources$(BloopHelpers.scala:63) bloop.testing.BaseSuite.loadBuildFromResources(BaseSuite.scala:34) bloop.testing.ProjectBaseSuite. (ProjectBaseSuite.scala:11) bloop.BaseTestSpec. (TestSpec.scala:23) bloop.JvmTestSpec$. (TestSpec.scala:107) bloop.JvmTestSpec$. (TestSpec.scala:-1) sun.misc.Unsafe.ensureClassInitialized(Unsafe.java:-2) sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43) sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156) java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088) java.lang.reflect.Field.getFieldAccessor(Field.java:1069) java.lang.reflect.Field.get(Field.java:393) org.portablescala.reflect.LoadableModuleClass.loadModule(LoadableModuleClass.scala:17) utest.PlatformShims$.loadModule(PlatformShims.scala:19) utest.runner.BaseRunner.$anonfun$runSuite$4(BaseRunner.scala:108) -------------------------------- Running Tests -------------------------------- Execution took 0ms 1 tests, 1 failed X bloop.ScalaVersionsSpec.cross-compile build to latest Scala versions 50ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.ScalaVersionsSpec$.$anonfun$new$1(ScalaVersionsSpec.scala:65) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) Execution took 50ms -------------------------------- Running Tests -------------------------------- 1 tests, 1 failed X bloop.SeedTestSpec 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.testing.BloopHelpers.loadBuildFromResources(BloopHelpers.scala:68) bloop.testing.BloopHelpers.loadBuildFromResources$(BloopHelpers.scala:63) bloop.testing.BaseSuite.loadBuildFromResources(BaseSuite.scala:34) bloop.testing.ProjectBaseSuite. (ProjectBaseSuite.scala:11) bloop.BaseTestSpec. (TestSpec.scala:23) bloop.SeedTestSpec$. (TestSpec.scala:43) bloop.SeedTestSpec$. (TestSpec.scala:-1) sun.misc.Unsafe.ensureClassInitialized(Unsafe.java:-2) sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43) sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156) java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088) java.lang.reflect.Field.getFieldAccessor(Field.java:1069) java.lang.reflect.Field.get(Field.java:393) org.portablescala.reflect.LoadableModuleClass.loadModule(LoadableModuleClass.scala:17) utest.PlatformShims$.loadModule(PlatformShims.scala:19) utest.runner.BaseRunner.$anonfun$runSuite$4(BaseRunner.scala:108) Execution took 0ms 1 tests, 1 failed -------------------------------- Running Tests -------------------------------- X bloop.TracerSpec.forty clients can send zipkin traces concurrently 18ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.TracerSpec$.$anonfun$new$1(TracerSpec.scala:101) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) Execution took 18ms -------------------------------- Running Tests -------------------------------- 1 tests, 1 failed + bloop.bsp.LocalBspCompileSpec.DISABLED - initialize and exit a build via BSP 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - no-op compile simple build 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - compile simple build with client origin id 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - create orphan client classes directory and make sure loading a BSP session cleans it up 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - compile incrementally a build 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - successful and failed compiles always populate external classes directories 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - compile incrementally and clear previous errors 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - no-op compile and publish diagnostics from a previous CLI compilation 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - compile incrementally and publish warnings from a previous CLI compilation 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - compile incrementally and clear old errors fixed in previous CLI compilations 0ms + bloop.bsp.LocalBspCompileSpec.DISABLED - support -Xfatal-warnings internal implementation 0ms Execution took 0ms -------------------------------- Running Tests -------------------------------- 11 tests, 11 passed All tests in bloop.bsp.LocalBspCompileSpec passed + bloop.bsp.LocalBspConnectionSpec.DISABLED - initialize several clients concurrently and simulate a hard disconnection 0ms + bloop.bsp.LocalBspConnectionSpec.DISABLED - trigger slow compilation and simulate hard BSP client disconnection 0ms Execution took 0ms -------------------------------- Running Tests -------------------------------- 2 tests, 2 passed All tests in bloop.bsp.LocalBspConnectionSpec passed + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - initialize metals client and save settings 0ms + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - do not initialize metals client and save settings with unsupported scala version 0ms + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - initialize metals client in workspace with already enabled semanticdb 0ms + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - initialize metals client in workspace with already enabled semanticdb and -Yrangepos 0ms + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - should save workspace settings with cached build 0ms + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - initialize multiple metals clients and save settings 0ms + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - compile with semanticDB 0ms + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - compile with semanticDB using cached plugin 0ms + bloop.bsp.LocalBspMetalsClientSpec.DISABLED - save settings and compile with semanticDB 0ms -------------------------------- Running Tests -------------------------------- Execution took 0ms 9 tests, 9 passed All tests in bloop.bsp.LocalBspMetalsClientSpec passed + bloop.bsp.LocalBspProtocolSpec.DISABLED - check the correct contents of scalac options 0ms + bloop.bsp.LocalBspProtocolSpec.DISABLED - use client root classes directory and make sure project directories are stable 0ms + bloop.bsp.LocalBspProtocolSpec.DISABLED - find main classes 0ms + bloop.bsp.LocalBspProtocolSpec.DISABLED - find test classes 0ms + bloop.bsp.LocalBspProtocolSpec.DISABLED - build targets request works on complicated build 0ms + bloop.bsp.LocalBspProtocolSpec.DISABLED - build targets should be empty in build with recursive dependencies 0ms + bloop.bsp.LocalBspProtocolSpec.DISABLED - sources request works 0ms + bloop.bsp.LocalBspProtocolSpec.DISABLED - resources request works 0ms + bloop.bsp.LocalBspProtocolSpec.DISABLED - dependency sources request works 0ms Execution took 0ms -------------------------------- Running Tests -------------------------------- 9 tests, 9 passed All tests in bloop.bsp.LocalBspProtocolSpec passed X bloop.bsp.TcpBspCompileSpec.initialize and exit a build via BSP 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$1(BspCompileSpec.scala:26) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.no-op compile simple build 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$7(BspCompileSpec.scala:104) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.compile simple build with client origin id 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$12(BspCompileSpec.scala:148) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.create orphan client classes directory and make sure loading a BSP session cleans it up 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$16(BspCompileSpec.scala:185) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.compile incrementally a build 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$22(BspCompileSpec.scala:234) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.successful and failed compiles always populate external classes directories 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$29(BspCompileSpec.scala:364) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.compile incrementally and clear previous errors 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$39(BspCompileSpec.scala:448) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.no-op compile and publish diagnostics from a previous CLI compilation 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$49(BspCompileSpec.scala:685) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.compile incrementally and publish warnings from a previous CLI compilation 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$55(BspCompileSpec.scala:743) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.compile incrementally and clear old errors fixed in previous CLI compilations 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$61(BspCompileSpec.scala:827) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspCompileSpec.support -Xfatal-warnings internal implementation 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspCompileSpec.$anonfun$new$70(BspCompileSpec.scala:970) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) -------------------------------- Running Tests -------------------------------- Execution took 0ms 11 tests, 11 failed X bloop.bsp.TcpBspConnectionSpec.initialize several clients concurrently and simulate a hard disconnection 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspConnectionSpec.$anonfun$new$1(BspConnectionSpec.scala:26) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspConnectionSpec.trigger slow compilation and simulate hard BSP client disconnection 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspConnectionSpec.$anonfun$new$7(BspConnectionSpec.scala:142) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) -------------------------------- Running Tests -------------------------------- Execution took 0ms 2 tests, 2 failed X bloop.bsp.TcpBspMetalsClientSpec.initialize metals client and save settings 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$1(BspMetalsClientSpec.scala:36) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspMetalsClientSpec.do not initialize metals client and save settings with unsupported scala version 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$4(BspMetalsClientSpec.scala:76) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspMetalsClientSpec.initialize metals client in workspace with already enabled semanticdb 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$7(BspMetalsClientSpec.scala:107) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspMetalsClientSpec.initialize metals client in workspace with already enabled semanticdb and -Yrangepos 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$11(BspMetalsClientSpec.scala:153) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspMetalsClientSpec.should save workspace settings with cached build 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$15(BspMetalsClientSpec.scala:198) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspMetalsClientSpec.initialize multiple metals clients and save settings 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$22(BspMetalsClientSpec.scala:230) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspMetalsClientSpec.compile with semanticDB 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$29(BspMetalsClientSpec.scala:292) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspMetalsClientSpec.compile with semanticDB using cached plugin 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$33(BspMetalsClientSpec.scala:311) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspMetalsClientSpec.save settings and compile with semanticDB 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspMetalsClientSpec.$anonfun$new$37(BspMetalsClientSpec.scala:330) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) Execution took 0ms -------------------------------- Running Tests -------------------------------- 9 tests, 9 failed X bloop.bsp.TcpBspProtocolSpec.check the correct contents of scalac options 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$1(BspProtocolSpec.scala:28) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspProtocolSpec.use client root classes directory and make sure project directories are stable 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$14(BspProtocolSpec.scala:98) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspProtocolSpec.find main classes 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$22(BspProtocolSpec.scala:142) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspProtocolSpec.find test classes 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$29(BspProtocolSpec.scala:188) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspProtocolSpec.build targets request works on complicated build 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$34(BspProtocolSpec.scala:214) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspProtocolSpec.build targets should be empty in build with recursive dependencies 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$43(BspProtocolSpec.scala:261) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspProtocolSpec.sources request works 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$46(BspProtocolSpec.scala:271) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspProtocolSpec.resources request works 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$54(BspProtocolSpec.scala:303) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) X bloop.bsp.TcpBspProtocolSpec.dependency sources request works 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.bsp.BspProtocolSpec.$anonfun$new$62(BspProtocolSpec.scala:340) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) Execution took 0ms -------------------------------- Running Tests -------------------------------- 9 tests, 9 failed + bloop.dap.DebugProtocolSpec.DISABLED - starts a debug session 0ms + bloop.dap.DebugProtocolSpec.DISABLED - restarted session does not contain JDI output 0ms + bloop.dap.DebugProtocolSpec.DISABLED - picks up source changes across sessions 0ms + bloop.dap.DebugProtocolSpec.DISABLED - starts test suites 0ms Execution took 0ms -------------------------------- Running Tests -------------------------------- 4 tests, 4 passed All tests in bloop.dap.DebugProtocolSpec passed + bloop.dap.DebugServerSpec.DISABLED - cancelling closes server connection 0ms + bloop.dap.DebugServerSpec.DISABLED - cancelling closes client connection 0ms + bloop.dap.DebugServerSpec.DISABLED - sends exit and terminated events when cancelled 0ms + bloop.dap.DebugServerSpec.DISABLED - closes the client when debuggee finished and terminal events are sent 0ms + bloop.dap.DebugServerSpec.DISABLED - sends exit and terminated events when cannot run debuggee 0ms + bloop.dap.DebugServerSpec.DISABLED - does not accept a connection unless the previous session requests a restart 0ms + bloop.dap.DebugServerSpec.DISABLED - responds to launch when jvm could not be started 0ms + bloop.dap.DebugServerSpec.DISABLED - restarting closes current client and debuggee 0ms + bloop.dap.DebugServerSpec.DISABLED - disconnecting closes server, client and debuggee 0ms + bloop.dap.DebugServerSpec.DISABLED - closes the client even though the debuggee cannot close 0ms Execution took 0ms -------------------------------- Running Tests -------------------------------- 10 tests, 10 passed All tests in bloop.dap.DebugServerSpec passed Execution took 0.65s 2 tests, 1 passed, 1 failed X bloop.io.ClasspathHasherSpec.cancellation works OK 650ms java.lang.NullPointerException io.github.soc.directories.ProjectDirectories.fromPath(ProjectDirectories.java:221) io.github.soc.directories.ProjectDirectories.from(ProjectDirectories.java:272) coursier.paths.CoursierPaths.init(CoursierPaths.java:61) coursier.paths.CoursierPaths.cacheDirectory(CoursierPaths.java:68) coursier.paths.CachePath.defaultCacheDirectory(CachePath.java:88) coursier.cache.CacheDefaults$.location$lzycompute(CacheDefaults.scala:16) coursier.cache.CacheDefaults$.location(CacheDefaults.scala:16) coursier.cache.FileCache$.apply(FileCache.scala:964) coursier.cache.PlatformCacheCompanion.default$lzycompute(PlatformCacheCompanion.scala:7) coursier.cache.PlatformCacheCompanion.default(PlatformCacheCompanion.scala:7) coursier.Fetch$.apply$default$1(Fetch.scala:244) bloop.DependencyResolution$.resolveDependenciesWithErrors(DependencyResolution.scala:85) bloop.DependencyResolution$.resolveWithErrors(DependencyResolution.scala:66) bloop.DependencyResolution$.resolve(DependencyResolution.scala:34) bloop.io.ClasspathHasherSpec$.$anonfun$new$1(ClasspathHasherSpec.scala:25) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) Execution took 3ms + bloop.io.ClasspathHasherSpec.IGNORED - detect macros in classpath 0ms 1 tests, 1 failed -------------------------------- Running Tests -------------------------------- X bloop.io.SourceHasherSpec.cancellation works 3ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.io.SourceHasherSpec$.$anonfun$new$1(SourceHasherSpec.scala:22) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) bloop.testing.BaseSuite.$anonfun$test$1(BaseSuite.scala:563) bloop.testing.BaseSuite.$anonfun$tests$4(BaseSuite.scala:596) -------------------------------- Running Tests -------------------------------- X bloop.nailgun.NailgunSpec 0ms java.lang.NoClassDefFoundError: Could not initialize class bloop.util.TestUtil$ bloop.testing.BloopHelpers.loadBuildFromResources(BloopHelpers.scala:68) bloop.testing.BloopHelpers.loadBuildFromResources$(BloopHelpers.scala:63) bloop.testing.BaseSuite.loadBuildFromResources(BaseSuite.scala:34) bloop.nailgun.NailgunSpec$. (NailgunSpec.scala:16) bloop.nailgun.NailgunSpec$. (NailgunSpec.scala:-1) sun.misc.Unsafe.ensureClassInitialized(Unsafe.java:-2) sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43) sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156) java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088) java.lang.reflect.Field.getFieldAccessor(Field.java:1069) java.lang.reflect.Field.get(Field.java:393) org.portablescala.reflect.LoadableModuleClass.loadModule(LoadableModuleClass.scala:17) utest.PlatformShims$.loadModule(PlatformShims.scala:19) utest.runner.BaseRunner.$anonfun$runSuite$4(BaseRunner.scala:108) Execution took 0ms -------------------------------- Running Tests -------------------------------- 1 tests, 1 failed + bloop.testing.LoggingEventHandlerSpec.logs and displays short summary of successful run 85ms + bloop.testing.LoggingEventHandlerSpec.logs and displays short summary of run with failed test 11ms Execution took 96ms -------------------------------- Running Tests -------------------------------- 2 tests, 2 passed All tests in bloop.testing.LoggingEventHandlerSpec passed + bloop.testing.TestPrinterSpec.stripping parts of message created by test framework 0ms Execution took 0ms 1 tests, 1 passed All tests in bloop.testing.TestPrinterSpec passed =============================================== Total duration: 5.16s 14 passed, 24 failed Failed: - bloop.AutoCompleteSpec - bloop.DagSpec - bloop.ForkerSpec - bloop.GenericTestSpec - bloop.LoadProjectSpec - bloop.RunSpec - bloop.BuildLoaderSpec - bloop.BuildPipeliningSpec - bloop.CompileSpec - bloop.ConsoleSpec - bloop.DeduplicationSpec - bloop.FileWatchingSpec - bloop.JsTestSpec - bloop.JvmTestSpec - bloop.ScalaVersionsSpec - bloop.SeedTestSpec - bloop.TracerSpec - bloop.bsp.TcpBspCompileSpec - bloop.bsp.TcpBspConnectionSpec - bloop.bsp.TcpBspMetalsClientSpec - bloop.bsp.TcpBspProtocolSpec - bloop.io.ClasspathHasherSpec - bloop.io.SourceHasherSpec - bloop.nailgun.NailgunSpec =============================================== ```
I just noticed your note about how to launch the server, ignore the previous and I'll launch it correctly this time :)
Those errors you're getting are weird :thinking: Your machine seems to be pushing our build pretty hard 😛
Let me know if launching the server like that helps. You might consider cleaning everything with clean
to see if the tests run again just fine.
ok, I'll give it a try
I have a fix for the specific ^M problem in the autocompletion context, although it's difficult to know if it breaks anything because tests are failing. I figured out one of the causes, which might explain many or most of the test failures. It's also related to a non-portable use of the System.lineSeparator variable in bloop.util.TestUtil.scala, at line 540:
case class ParsedFile(relativePath: RelativePath, contents: String)
def parseFile(contents0: String): ParsedFile = {
val contents = contents0.trim
contents.split(System.lineSeparator()) match {
This code explicitly assumes that source files have OS-dependent line endings. Here's a portable alternative:
case class ParsedFile(relativePath: RelativePath, contents: String)
def parseFile(contents0: String): ParsedFile = {
val contents = contents0.trim
contents.split("\\r?\\n") match {
My hunch is that some of the other references in the code to System.lineSeparator
are hiding similar potential issues.
I'll see if I can get some or all of the tests to pass.
The change I listed above fixed all but two of the tests in bloop.CompileSpec
I'm still working on this part time. Here's my first attempt at adding a new test5
to AutoCompleteSpec.scala.
// Simulate 'bloop compile A <autocomplete>', happens when we want to add multiple projects
val test5 = Commands.Autocomplete(
cliOptions,
completion.Mode.Projects,
completion.ZshFormat,
Some("abou"),
None
)
val action = Run(test1, Run(test2, Run(test3, Run(test4, Run(test5)))))
I clearly don't understand the semantics, my intent was to verify that if the client types "abou
I'll keep looking at it ...
@philwalk You should replace the mode from Mode.Projects
to Mode.Commands
given that you want an autocompletion query for a command. In fact I've just tried it out and I think I've reproduced the same behaviour you were experiencing.
We share expectations on what that test should have done. However, it turns out this is not the way autocompletions work. Instead, the autocompletions engine expects to receive all commands from the server and then post-processes them based on the input of the user. Therefore, doing an autocomplete for an empty input or a partially complete input such as abou
produces always the same response from the server: a list of all commands available.
@jvican just to make sure I understand what you're saying, here's what I experience on both windows and linux.
When I type in "bloop abou" and then hit the TAB
key, it completes the spelling of the command (it completes the word "about", in this example, rather than a list of commands).
The fix I'm testing merely removes the ^M from the word "about". I know there are also other test cases, although I don't know if any of the other use cases involved an appended^M, I'll play with it.
I have a fix for this bug, but I'm only able to verify the fix manually via the bloop command line (no automated tests).
This bug seems to possibly be bleeding over into vscode-metals, so I'm eager to fix it. Essentially, the fix consists of two parts:
string.split(File.lineSeparator)
to string.split("\\r?\\n")
everywhere it occursIf someone knows how I can write automated tests for the command-completion, I'm happy to do so.
I'll post an update here after I've had a chance to re-verify the changes (they worked last October).
This should not influence vscode-metals
, but kind of problems are you having?
I think the command completions do not have any tests really and checking it manually is the only way to do it now. Thanks for taking a look at it!
FYI: Coursier sees that my underlying system is Windows, so it installs only a Windows batch file (bloop.bat). It should also copy the linux script as well, in order to support MinGW/Cygwin/Git bash.
I was able to copy the bloop client from a linux install to my system, and it works as expected in the cygwin environment. (except for the Carriage Returns appended to autocompletions, the bug I'm fixing).
Also, there's a problem with terminal ANSI codes (I'm seeing debris at the beginning of lines), but that's low priority for me at the moment. Let me know if you're aware of a fix.
I'm running the server from sbt, but seeing a couple of issues. Here's my server screen:
[info] Resolving key references (35243 settings) ...
[info] _____ __ ______ __
[info] / ___/_________ _/ /___ _ / ____/__ ____ / /____ _____
[info] \__ \/ ___/ __ `/ / __ `/ / / / _ \/ __ \/ __/ _ \/ ___/
[info] ___/ / /__/ /_/ / / /_/ / / /___/ /__/ / / / /_/ /__/ /
[info] /____/\___/\__,_/_/\__,_/ \____/\___/_/ /_/\__/\___/_/
[info]
[info] ***********************************************************
[info] *** Welcome to the build of `loooooooooop` ***
[info] *** An effort funded by the Scala Center ***
[info] ***********************************************************
[info]
[info] sbt server started at local:sbt-server-e600222969bfdc306caa
sbt:bloop> frontend/runMain bloop.Server
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Compiling 1 Scala source to C:\Users\philwalk\workspace\bloop-newline\frontend\target\scala-2.12\classes ...
[info] Done compiling.
[warn] Multiple main classes detected. Run 'show discoveredMainClasses' to see the list
[info] running (fork) bloop.Server
[info] NGServer [UNKNOWN] started on address localhost/127.0.0.1 port 8212.
[error] Unable to load nailgun-version.properties.
[info] [W] Internal error in session
[error] java.io.EOFException
[error] at java.base/java.io.DataInputStream.readInt(DataInputStream.java:397)
[error] at com.martiansoftware.nailgun.NGCommunicator.readCommandContext(NGCommunicator.java:140)
[error] at com.martiansoftware.nailgun.NGSession.run(NGSession.java:197)
The last 5 lines didn't appear until later (maybe when I attempted autocompletion). I'll let you know what I find out tomorrow.
[info] [W] Internal error in session
[error] java.io.EOFException
[error] at java.base/java.io.DataInputStream.readInt(DataInputStream.java:397)
[error] at com.martiansoftware.nailgun.NGCommunicator.readCommandContext(NGCommunicator.java:140)
[error] at com.martiansoftware.nailgun.NGSession.run(NGSession.java:197)
is nothing to worry about, that exception is sometimes logged, not sure for the reason, but it also happens on linux.
The current location of developer docs appears to be here: https://scalacenter.github.io/bloop/docs/contributing-guide No luck yet getting intellij to work, but am hopeful.
I have a fix for the autocompletion error, which is almost ready to commit. I can also fix some other possible bugs, if there is an appetite. Here's what the issue is:
Some remaining code uses an idiom that is problematic. Here are some examples from frontend code:
frontend/src/test/scala/bloop/BaseCompileSpec.scala: .split(System.lineSeparator())
frontend/src/test/scala/bloop/bsp/BspMetalsClientSpec.scala: .split(System.lineSeparator)
frontend/src/test/scala/bloop/DeduplicationSpec.scala: .split(System.lineSeparator)
frontend/src/test/scala/bloop/util/TestUtil.scala: contents.split(System.lineSeparator()) match {
It seems to me that splitting a String to lines should never depend on the OS default line endings. Doing so sometimes works, but needlessly fails if the string has line endings that differ from the OS default. Reading a file, for example, shouldn't depend on which editor it was generated with.
The autocompletion bug is one example, a result of the fact that all bash environments on Windows generate posix line endings (no carriage return) that differ from the JVM System.lineSeparator
.
Here are two more examples of this anti-pattern:
buildpress/src/main/scala/buildpress/Buildpress.scala: val parseResults = contents.split(System.lineSeparator).zipWithIndex.flatMap {
launcher/src/test/scala/bloop/launcher/LauncherBaseSuite.scala: logs.flatMap(_.split(System.lineSeparator()).toList)
I recommend that we also upgrade these line splitters as well, if there's no objection.
A lesser issue is that the System lineSeparator should probably not be used on output either in many cases, although the resulting problems are often cosmetic (^M may appear in captured output, when viewed in an editor). However, I don't recommend we change any of these unless identified as causing a problem, since the logic is less certain that it wouldn't introduce problems.
The associated pull request is here:
Some remaining code uses an idiom that is problematic. Here are some examples from frontend code:
Line endings is something that just keeps giving us problems :sweat_smile: We should probably fix that too. Especially if we can easily make it work without Sytem.lineSeparator
I still have a couple of changes to push, although I'm investigating some things I don't understand yet.
There are some failed tests, but in at least some cases, I suspect it's because I haven't installed all requirements on my system.
Here's the summary for a run of sbt test
:
[error] Failed tests:
[error] Failed: Total 15, Failed 5, Errors 0, Passed 10
[error] bloop.scalanative.ScalaNativeToolchainSpec
[info]
[error] Failed tests:
[error] bloop.scalanative.ScalaNativeToolchainSpec
[error] bloop.launcher.LatestMasterLauncherSpec
[error] bloop.launcher.GlobalSettingsSpec
[error] Failed: Total 323, Failed 6, Errors 0, Passed 317
[error] Failed tests:
[error] bloop.TracerSpec
[error] bloop.CompileSpec
[error] bloop.FileWatchingSpec
[error] bloop.DeduplicationSpec
``
To manually test the fix in a shell environment on a Windows system, I verified the following in the bloop client:
1. if SHELL is defined as one of the shells in the valid list (e.g., /bin/bash), autocomplete works correctly (no ^M line endings)
2. undef SHELL causes ^M to appear on line endings
PR #1443
I work in a bash shell under cygwin on Windows 10. When I hit the
<tab>
character to get an autocompletion, the result has a carriage return appended:bloop proje<tab>
; fills in an autocompletion value ofprojects^M
The trailing newline is likely due to the default value of System property "path.separator" on the Windows JVM.
I may be willing to do the work of fixing this, although I'm not yet familiar with the code (just cloned the project this afternoon), so any clues are welcome.