true
by default - https://github.com/scalacenter/bloop/blob/master/integrations/sbt-bloop/src/main/scala/bloop/integrations/sbt/SbtBloop.scala#L142
$ bloop compile com.elsten.google.gson
$
$ cat .bloop/com.elsten.google.gson.json
{
"version": "1.4.0",
"project": {
"name": "com.elsten.google.gson",
"directory": "/home/gravelld/git-repo/com.elsten.google.gson",
"workspaceDir": "/home/gravelld/git-repo/elsten-software_bliss",
"sources": [
"/home/gravelld/git-repo/com.elsten.google.gson/src/main/java"
],
"dependencies": [
],
"classpath": [
],
"out": "/home/gravelld/git-repo/elsten-software_bliss/.bloop/com.elsten.google.gson/build",
"classesDir": "/home/gravelld/git-repo/elsten-software_bliss/.bloop/com.elsten.google.gson/build/classes",
"resources": [
"/home/gravelld/git-repo/com.elsten.google.gson/src/main/resources"
],
"java": {
"options": [
"-source",
"1.8",
"-target",
"1.8",
"-h",
"/home/gravelld/git-repo/com.elsten.google.gson/build/generated/sources/headers/java/main",
"-g",
"-sourcepath",
"-proc:none",
"-XDuseUnsharedTable=true"
]
},
"platform": {
"name": "jvm",
"config": {
"home": "/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64",
"options": [
]
},
"mainClass": [
],
"classpath": [
]
},
"tags": [
"library"
]
}
}
$ bloop compile --verbose com.elsten.google.gson
[D] Loading workspace settings from bloop.settings.json
[D] Computing sources and classpath hashes for com.elsten.google.gson
[D] Scheduling compilation for com.elsten.google.gson...
[D] Ignoring analysis for com.elsten.google.gson, directory /home/gravelld/git-repo/elsten-software_bliss/.bloop/com.elsten.google.gson/build/classes-empty-com.elsten.google.gson is missing
[D] Increasing counter for /home/gravelld/git-repo/elsten-software_bliss/.bloop/com.elsten.google.gson/build/classes-empty-com.elsten.google.gson to 5
[D] Recording new last successful request for com.elsten.google.gson associated with /home/gravelld/git-repo/elsten-software_bliss/.bloop/com.elsten.google.gson/build/classes-empty-com.elsten.google.gson
[D] Elapsed: 10.682663 ms
$ bloop compile --debug com.elsten.google.gson
Unrecognized log context: com.elsten.google.gson
Thanks - that folder doesn't exist:
$ ls .bloop/com.elsten.google.gson/build/classes-empty-com.elsten.google.gson
ls: cannot access '.bloop/com.elsten.google.gson/build/classes-empty-com.elsten.google.gson': No such file or directory
It suggests that in the verbose compilation above:
[D] Ignoring analysis for com.elsten.google.gson, directory /home/gravelld/git-repo/elsten-software_bliss/.bloop/com.elsten.google.gson/build/classes-empty-com.elsten.google.gson is missing
Not sure what this is to do with Java only projects? The project I'm trying to compile is not dependent on any source projects, Java or otherwise:
apply plugin: 'scala'
apply plugin: 'maven-publish'
version = '0.1'
dependencies {
compile libraries.scala_library
compile libraries.gson
}
In the root project, we do add the java plugin to sub-projects:
allprojects {
apply plugin: 'java'
apply plugin: 'bloop'
...
So com.elsten.google.gson
is both a Java, Scala and bloop project.
bloop v1.4.8
Using Scala v2.12.8 and Zinc v1.3.0-M4+46-edbe573e
Running on Java JRE v1.8.0_281 (/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home)
-> Doesn't support debugging user code, runtime doesn't implement Java Debug Interface (JDI).
Maintained by the Scala Center (Jorge Vicente Cantero, Martin Duhem)
❯ cs java --jvm graalvm-ce-java11:21.0.0 --env
export JAVA_HOME="/Users/ievgen/Library/Caches/Coursier/jvm/graalvm-ce-java11@21.0.0/Contents/Home"
~/projects/scalapi/smartmeter
❯ java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment GraalVM CE 21.0.0 (build 11.0.10+8-jvmci-21.0-b06)
OpenJDK 64-Bit Server VM GraalVM CE 21.0.0 (build 11.0.10+8-jvmci-21.0-b06, mixed mode, sharing)
❯ bat ~/.bloop/bloop.json
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: /Users/ievgen/.bloop/bloop.json
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ {
2 │ "javaHome": "/Users/ievgen/Library/Caches/Coursier/jvm/graalvm-ce-java11@21.0.0/Contents/Home"
3 │ }
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Run bloop about for more information about the current JDK runtime.
at scala.meta.internal.metals.BuildServerConnection$$anonfun$1.applyOrElse(
BuildServerConnection.scala:237)
at scala.meta.internal.metals.BuildServerConnection$$anonfun$1.applyOrElse(
BuildServerConnection.scala:229)
at scala.concurrent.Future.$anonfun$recoverWith$1(Future.scala:417)
at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:41)
... 4 more
javaHome
https://github.com/scalameta/nvim-metals/blob/94ecdde0a0a72665f61cf00a428e7236f3da236e/doc/metals.txt#L244-L250 setting which will tell Metals which to use
bloop exit
, change the setting, restart the server, and then it will both start Metals and Bloop with that java home that you passed in
I want to publish bloop locally, but after 1) checking out 2) initialising the submodules I get this:
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
/tmp/tmp.zMH6hQoO24/bloop/frontend/src/test/resources/cross-test-build-scalajs-0.6/build.sbt:43: error: not found: value bloopMainClass
bloopMainClass in (Compile, run) := Some("hello.DefaultApp")
^
/tmp/tmp.zMH6hQoO24/bloop/frontend/src/test/resources/cross-test-build-scalajs-0.6/build.sbt:47: error: not found: value bloopMainClass
bloopMainClass in (Compile, run) := Some("hello.App"),
^
Is there an extra step? I tried it on a clean copy as well, to same result
sbt bloopInstall
and sbt scripted
both commands work, just can't get into the shell