Seeing errors with Metals and Hydra:
bad option: '-YhydraStore'
Jan 19, 2020 10:26:49 AM scala.meta.internal.pc.CompilerAccess handleError
SEVERE: requirement failed: List(-YhydraStore, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root, -YrootDirectory, /Users/iravid/Development/coralogix/purgatory, -YtimingsFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/timings.csv, -YpartitionFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root/partition.hydra, -YhydraMetricsDirectory, /Users/iravid/.triplequote/metrics, -YhydraTag, root, -sourcepath, /Users/iravid/Development/coralogix/purgatory/src/main/scala-2.12:/Users/iravid/Development/coralogix/purgatory/src/main/scala:/Users/iravid/Development/coralogix/purgatory/src/main/java:/Users/iravid/Development/coralogix/purgatory/target/scala-2.12/src_managed/main, -YsourcePartitioner:auto, , -cpus, 2, -Yrangepos, -Xplugin-require:semanticdb)
java.lang.IllegalArgumentException: requirement failed: List(-YhydraStore, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root, -YrootDirectory, /Users/iravid/Development/coralogix/purgatory, -YtimingsFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/timings.csv, -YpartitionFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root/partition.hydra, -YhydraMetricsDirectory, /Users/iravid/.triplequote/metrics, -YhydraTag, root, -sourcepath, /Users/iravid/Development/coralogix/purgatory/src/main/scala-2.12:/Users/iravid/Development/coralogix/purgatory/src/main/scala:/Users/iravid/Development/coralogix/purgatory/src/main/java:/Users/iravid/Development/coralogix/purgatory/target/scala-2.12/src_managed/main, -YsourcePartitioner:auto, , -cpus, 2, -Yrangepos, -Xplugin-require:semanticdb)
at scala.Predef$.require(Predef.scala:281)
cc @dragos @dotta
Looks similar to what was fixed in #1324, but I'm running the snapshot version and still seeing these errors.
Thank you for reporting! What exact SNAPSHOT version are you using?
That's most likely the other require: https://github.com/scalameta/metals/blob/a48de71d256788eedd7d1db5c731b388c5b0ca00/mtags/src/main/scala/scala/meta/internal/pc/ScalaPresentationCompiler.scala#L181
Presentation compiler is failing to parse the options. Per @gabro we would most likely need to not disable the plugin in the presentation compiler.
Or remove hydra compiler options.
@olafurpg Sure thing. I was using 0.8.0+28-a48de71d-SNAPSHOT.
Hey everyone, sorry for joining the party late! :)
Indeed, I think @tgodzik is correct and the Hydra Scala compiler flags should be removed as the vanilla Scala compiler seems to be used by metals when spawning the presentation compiler [1], regardless of how a project is configured (i.e., whether it's configured to compile with Hydra or not).
How does metals sets up the compiler flags? Is it done through sbt-bloop and the bloopInstall task or something else? If it's done via sbt-bloop, then I'm wondering how to prevent that the Hydra flags are set when the presentation compiler is spawned by metals, while keeping the Hydra flags in the exported bloop files as they are needed by Bloop? (Boop 1.4.0-RC1 supports compilation with Hydra).
Thanks @iravid for having reported this issue!
[1] I assume the presentation compiler is used for quick and interruptible typechecking, to report errors as you type and possibly other intelligent editor features.
Thanks for the explanation @dotta. As a starting point, I think it would be fine to only report a warning when we fail to parse the compiler options instead of failing. The presentation compiler in general is quite good at partially recovering from type errors so it shouldn't be too bad if the settings contain some unknown flags.
I believe this is only an issue for 2.12.10, which is the same Scala version as the Metals server is running in. For other Scala versions, we already use the scala-compiler.jar that is used in the build https://github.com/scalameta/metals/blob/5f0fe01ed83f755601067ac39cb32e6a3d5cfc7f/metals/src/main/scala/scala/meta/internal/metals/Embedded.scala#L171
Removing this guard here could fix the issue
Hi @olafurpg, thanks for the prompt followup!
Forgive me for asking, but could you confirm that metals uses the Bloop json files to locate the compiler jar to use for spawning the presentation compiler (assuming the Scala version is not 2.12.10). If that's the case, then I expect that if sbt-bloop 1.4.0-RC1 is used in combination with sbt-hydra 2.2.0 the exported json file will contain the Hydra compiler jar instead of the vanilla Scala one.
Hi @olafurpg, thanks for the prompt followup!
Forgive me for asking, but could you confirm that metals uses the Bloop json files to locate the compiler jar to use for spawning the presentation compiler (assuming the Scala version is _not_ 2.12.10). If that's the case, then I expect that if sbt-bloop 1.4.0-RC1 is used in combination with sbt-hydra 2.2.0 the exported json file will contain the Hydra compiler jar instead of the vanilla Scala one.
We don't use currently the jars from Bloop from what see - it's resolved via coursier.
@tgodzik Alright, I got confused by this
For other Scala versions, we already use the scala-compiler.jar that is used in the build
But indeed it seems the scala-compiler.jar is hardcoded to be the vanilla one. Then I guess ignoring compiler options that can't be successfully parsed is a good workaround.
Ach no! @olafurpg was right - we do use the jars from the build target, though there might be a situation where we try to download them - in case that semanticDB is not provided. I will take a look.
We use the Scala jars from Bloop when loading the presentation compiler for all Scala versions except the same version that Metals is running.
@dotta we resolve the org.scalameta:mtags module without transitive dependencies
https://github.com/scalameta/metals/blob/5f0fe01ed83f755601067ac39cb32e6a3d5cfc7f/metals/src/main/scala/scala/meta/internal/metals/Embedded.scala#L165
The reason for this special handling is to minimize dependency resolution in the "happy path" (when the user has SemanticDB enabled and is using the same Scala version as Metals). In hindsight, I believe this special case has caused more problems than it's worth.
The reason for this special handling is to minimize dependency resolution in the "happy path" (when the user has SemanticDB enabled and is using the same Scala version as Metals). In hindsight, I believe this special case has caused more problems than it's worth.
We will use Scala jars from coursier in case SemanticDB is not defined and they will be before the ones from build target. Shouldn't be an issue though right now since it's always provided by Bloop
@dotta @olafurpg created a PR that changes the require to warning, I don't believe we need to fail in that case. That's a quick fix, but we also shouldn't warn when hydra is used, since that option is legit.
We could also make a change to always use jars from the build tool.
@iravid Let me know if this helps, if needed there might be further steps to improve the experience on hydra. Snapshot should be avaliable soonish.
@tgodzik Latest snapshot works great. Thanks everyone! @dotta @olafurpg
Oops, sorry, it appears to still not work; jump to definition for symbols in the project doesn't work (it does work for symbols in dependencies) and it appears that the SemanticDB generation is not working for some reason. Seeing this in the logs after a clean import:
INFO time: connected to build server in 3.36s
INFO Connected to Build server v1.4.0-RC1
INFO time: indexed workspace in 2.67s
bad option: '-YhydraStore'
Jan 21, 2020 9:54:58 AM scala.meta.internal.pc.ScalaPresentationCompiler newCompiler
WARNING: Unknown compiler options: -YhydraStore, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root, -YrootDirectory, /Users/iravid/Development/coralogix/purgatory, -YtimingsFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/timings.csv, -YpartitionFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root/partition.hydra, -YhydraMetricsDirectory, /Users/iravid/.triplequote/metrics, -YhydraTag, root, -sourcepath, /Users/iravid/Development/coralogix/purgatory/src/main/scala-2.12:/Users/iravid/Development/coralogix/purgatory/src/main/scala:/Users/iravid/Development/coralogix/purgatory/src/main/java:/Users/iravid/Development/coralogix/purgatory/target/scala-2.12/src_managed/main, -YsourcePartitioner:auto, , -cpus, 2, -Yrangepos, -Xplugin-require:semanticdb
INFO compiling root (27 scala sources)
INFO Using 2 Hydra workers to compile Scala sources.
INFO time: compiled root in 15s
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-Fqf4X9a7SvyY9dS258Dg5w==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-Fqf4X9a7SvyY9dS258Dg5w==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
bad option: '-YhydraStore'
Jan 21, 2020 9:56:46 AM scala.meta.internal.pc.ScalaPresentationCompiler newCompiler
WARNING: Unknown compiler options: -YhydraStore, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root, -YrootDirectory, /Users/iravid/Development/coralogix/purgatory, -YtimingsFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/timings.csv, -YpartitionFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root/partition.hydra, -YhydraMetricsDirectory, /Users/iravid/.triplequote/metrics, -YhydraTag, root, -sourcepath, /Users/iravid/Development/coralogix/purgatory/src/main/scala-2.12:/Users/iravid/Development/coralogix/purgatory/src/main/scala:/Users/iravid/Development/coralogix/purgatory/src/main/java:/Users/iravid/Development/coralogix/purgatory/target/scala-2.12/src_managed/main, -YsourcePartitioner:auto, , -cpus, 2, -Yrangepos, -Xplugin-require:semanticdb
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-Fqf4X9a7SvyY9dS258Dg5w==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-Fqf4X9a7SvyY9dS258Dg5w==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-Fqf4X9a7SvyY9dS258Dg5w==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-Fqf4X9a7SvyY9dS258Dg5w==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-Fqf4X9a7SvyY9dS258Dg5w==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-Fqf4X9a7SvyY9dS258Dg5w==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
@iravid that should be handled by Bloop and works only after compilation. Did the compilation finish successfully?
@tgodzik It looks like it did, as it says time: compiled root in 15s
@dotta Is it possible that hydra doesn't allow for generating semanticDB files?
@iravid Are you able to specify semanticDB options manually and does Bloop generate them then?
https://scalameta.org/docs/trees/guide.html#sbt
I added these settings to my build:
addCompilerPlugin("org.scalameta" % "semanticdb-scalac" % "4.1.0" cross CrossVersion.full),
scalacOptions += "-Yrangepos",
However, the semanticdb-scalac depedency is not found:
INFO [error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: org.scalameta#semanticdb-scalac_2.12.10;4.1.0: not found
Btw - with 0.7.6, everything works fine.
I added these settings to my build:
addCompilerPlugin("org.scalameta" % "semanticdb-scalac" % "4.1.0" cross CrossVersion.full), scalacOptions += "-Yrangepos",However, the
semanticdb-scalacdepedency is not found:INFO [error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: org.scalameta#semanticdb-scalac_2.12.10;4.1.0: not found
Newest version is 4.3.0 - I don't think 4.1.0 was ever supported for 2.12.10
Btw - with 0.7.6, everything works fine.
From 0.8.0 it's Bloop that resolves semanticDB - it might be it doesn't do it in case of hydra.
Oops, sorry about that. Copied the version from the docs.
Anyway, the same errors happen with those settings:
INFO time: connected to build server in 2.8s
INFO Connected to Build server v1.4.0-RC1
INFO time: indexed workspace in 2.78s
bad option: '-YhydraStore'
Jan 21, 2020 1:27:08 PM scala.meta.internal.pc.ScalaPresentationCompiler newCompiler
WARNING: Unknown compiler options: -YhydraStore, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root, -YrootDirectory, /Users/iravid/Development/coralogix/purgatory, -YtimingsFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/timings.csv, -YpartitionFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root/partition.hydra, -YhydraMetricsDirectory, /Users/iravid/.triplequote/metrics, -YhydraTag, root, -sourcepath, /Users/iravid/Development/coralogix/purgatory/src/main/scala-2.12:/Users/iravid/Development/coralogix/purgatory/src/main/scala:/Users/iravid/Development/coralogix/purgatory/src/main/java:/Users/iravid/Development/coralogix/purgatory/target/scala-2.12/src_managed/main, -YsourcePartitioner:auto, , -cpus, 2, -Xplugin-require:semanticdb
INFO compiling root (27 scala sources)
INFO Using 2 Hydra workers to compile Scala sources.
INFO time: compiled root in 15s
bad option: '-YhydraStore'
Jan 21, 2020 1:27:39 PM scala.meta.internal.pc.ScalaPresentationCompiler newCompiler
WARNING: Unknown compiler options: -YhydraStore, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root, -YrootDirectory, /Users/iravid/Development/coralogix/purgatory, -YtimingsFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/timings.csv, -YpartitionFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root/partition.hydra, -YhydraMetricsDirectory, /Users/iravid/.triplequote/metrics, -YhydraTag, root, -sourcepath, /Users/iravid/Development/coralogix/purgatory/src/main/scala-2.12:/Users/iravid/Development/coralogix/purgatory/src/main/scala:/Users/iravid/Development/coralogix/purgatory/src/main/java:/Users/iravid/Development/coralogix/purgatory/target/scala-2.12/src_managed/main, -YsourcePartitioner:auto, , -cpus, 2, -Xplugin-require:semanticdb
INFO compiling root (27 scala sources)
INFO Using 2 Hydra workers to compile Scala sources.
INFO time: compiled root in 5.81s
Jan 21, 2020 1:27:57 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint handleCancellation
WARNING: Unmatched cancel notification for request id 85
Jan 21, 2020 1:27:58 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint handleCancellation
WARNING: Unmatched cancel notification for request id 89
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-0YqWLjrmRvm_DfmagcaoHQ==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-0YqWLjrmRvm_DfmagcaoHQ==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
bad option: '-YhydraStore'
Jan 21, 2020 1:27:58 PM scala.meta.internal.pc.ScalaPresentationCompiler newCompiler
WARNING: Unknown compiler options: -YhydraStore, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root, -YrootDirectory, /Users/iravid/Development/coralogix/purgatory, -YtimingsFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/timings.csv, -YpartitionFile, /Users/iravid/Development/coralogix/purgatory/.hydra/bloop/root/partition.hydra, -YhydraMetricsDirectory, /Users/iravid/.triplequote/metrics, -YhydraTag, root, -sourcepath, /Users/iravid/Development/coralogix/purgatory/src/main/scala-2.12:/Users/iravid/Development/coralogix/purgatory/src/main/scala:/Users/iravid/Development/coralogix/purgatory/src/main/java:/Users/iravid/Development/coralogix/purgatory/target/scala-2.12/src_managed/main, -YsourcePartitioner:auto, , -cpus, 2, -Xplugin-require:semanticdb
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-0YqWLjrmRvm_DfmagcaoHQ==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
ERROR code navigation does not work for the file '/Users/iravid/Development/coralogix/purgatory/src/main/scala/com/coralogix/purgatory/Purgatory.scala' because the SemanticDB file '/Users/iravid/Development/coralogix/purgatory/.bloop/root/bloop-bsp-clients-classes/classes-Metals-0YqWLjrmRvm_DfmagcaoHQ==/META-INF/semanticdb/src/main/scala/com/coralogix/purgatory/Purgatory.scala.semanticdb' doesn't exist. There can be many reasons for this error.
INFO no build target: using presentation compiler with only scala-library
I see. Unfortunately, the Hydra settings needs to be removed prior to instantiating the compiler. The reason is that metals instantiate a MetalsGlobal and expects the "usual" Scala compiler settings to be passed, while Hydra instantiate its own "HydraGlobal" with the "HydraSettings", which is why parsing of the specific Hydra settings works. If you remove the unprocessed settings from the settings instance prior to instantiating MetalsGlobal I expect it will work.
I see. Unfortunately, the Hydra settings needs to be removed prior to instantiating the compiler. The reason is that metals instantiate a MetalsGlobal and expects the "usual" Scala compiler settings to be passed, while Hydra instantiate its own "HydraGlobal" with the "HydraSettings", which is why parsing of the specific Hydra settings works. If you remove the
unprocessedsettings from thesettingsinstance prior to instantiatingMetalsGlobalI expect it will work.
That's why the warning comes up, we can filter the options out for sure, but it should still work. The unprocessed params are relevant to the presentation compiler.
The bigger issue here is that the semanticDB files are not being produced by Bloop/hydra. Any idea why?
@tgodzik Alright, I thought the problem was this error "bad option: '-YhydraStore'", but I see that's not an issue. Unfortunately, I don't know if the lack of semanticDB files is due to Hydra or not. I guess we need to understand how Bloop produces the semanticDB files. \cc @jvican
@tgodzik Alright, I thought the problem was this error "bad option: '-YhydraStore'", but I see that's not an issue. Unfortunately, I don't know if the lack of semanticDB files is due to Hydra or not. I guess we need to understand how Bloop produces the semanticDB files. \cc @jvican
Bloop just adds settings to the scala compiler plus the semanticDB plugin if it detects Metals as client. Might be that is not happening when using Hydra?
@dotta did you manage to take a look if semanticDB is being generated with Hydra in Bloop?
The settings are being added in the same class
@tgodzik I'm currently wrapping up a couple of PRs for the Hydra+Bloop intergration and I'll be looking at the SemanticDB integration as soon as I'm done with it. I'll have an update about this early next week.
Thanks! Let me know I can help with anything.
@tgodzik I don't seem to be able to reproduce this issue. I'm using the latest metals v0.8.1 and the sbt project imported by metals is configured to use sbt-hydra 2.2.0. Jump to definition within this small project works (I just have two sources and I can successfully jump to symbols from one file to the other). In fact, the folder .bloop/root/bloop-bsp-clients-classes/classes-Metals* located in my project does contain the semanticdb files for the sources defined in the project. \cc @iravid
EDIT: Just in case, I've been using Scala 2.12.10 when trying to reproduce the issue.
I think we can close the issue then?
Silly me, I should have tried with a different version of Scala (2.12.10 is the only one that's working because it's the version used to run the Metals server). With Scala 2.12.9 I can reproduce it, I'm investigating and will report my findings.
I admit I’m not sure which Scala version I was testing with in the first place. I will verify with 2.12.10 as well tonight. Sorry for the delay in responding!
@iravid No worries and no need to waste more of your time on this. I can reproduce it and I'm trying to understand why the semanticDB files are not produced.
Hi everyone, sorry it took me some time to get back to this, but it's been hard to focus lately. Anyway, while I thought there was indeed an integration issue between Metals and Hydra, it turns out I was chasing a ghost.
In the pet project I'm using (just 4 simple source files with implementations that reference each others), I'm able to navigate from one source to another after a first compilation pass. In fact, the <project-root>/.bloop/bloop-bsp-clients-classes/classes-Metals-*/ contains the semanticDB files needed for the editor navigation to work.
I think the reason why @iravid might still be seeing errors such as bad option: '-YhydraStore' is that maybe he's using Bloop v1.4.0-RC1 (that's the version I see in the output containing the error). While I'm using Bloop v1.4.0-RC1-69-693de22a, which is the version included in the latest Metals v0.8.1.
@iravid Could you upgrade Metals to v0.8.1 and let us know if this issue can be closed?
By the way, I tested things work with both Scala 2.12.9 and 2.12.10, using Hydra 2.2.0.
We could remove all options from Hydra just in case, does everything start with -Yhydra ?
@tgodzik Unfortunately, no (in hindsight, it's too bad we didn't follow this convention). I can give you the list of existing Hydra compiler flags, and for the future we can prefix them with hydra. But since everything seems to work in the current state, it's also fine to keep things as they are.
Ok, let me know if that changes, should be easy to include that list. :smiley:
Thanks. Really loving the support! 😃
The issues seems to be solved, so I am closing it for now. Let me know if there are any futher issues.