Describe the bug
I found some error messages in vscode's console
bad option: -P:semanticdb:synthetics:on
bad option: -P:semanticdb:failures:warning
To Reproduce
Steps to reproduce the behavior:
ThisBuild / scalaVersion := "2.12.8"sbt metalsEnable bloopInstallExpected behavior
No error message
Installation:
Additional context
I have to manually add the following settings in my build.sbt in case of those errors
addCompilerPlugin("org.scalameta" % "semanticdb-scalac" % "4.1.5" cross CrossVersion.full)
Thanks for reporting! I am unable to reproduce, I created a minimal sbt build, ran "import build" and compilation works as expected. Can you try reproducing in https://github.com/olafurpg/vanilla ?
The error message goes away when I clone a clean repository and run "Import Build".
It is turned out that an sbt setting ThisBuild / scalaVersion := "2.12.8" who cause this error.
I usually create a local.sbt that contains Scala versions, which is ignored by .gitignore. Therefore, this error never occurs in a clean clone.
I added the local.sbt file and now it is reproducible.
Run the following command and click Import Build
git clone https://github.com/Atry/Binding.scala.git --branch=metals-error && cd Binding.scala && code .
Also note that the error message can be avoided by setting ThisBuild / scalaVersion := "2.12.7" instead of 2.12.8
@Atry I've tried the command verbatim and the build import succeeded on my computer.
Can you share which global sbt plugins you have on your machine?
// Generated by IntelliJ-IDEA Scala plugin.
// Adds settings when starting sbt from IDEA.
// Manual changes to this file will be lost.
if (java.lang.System.getProperty("idea.runid", "false") == "2018.2") scala.collection.Seq(
resolvers += Resolver.file("intellij-scala-plugin", file(raw"/Users/twer/Library/Application Support/IntelliJIdea2018.2/Scala/repo"))(Resolver.ivyStylePatterns),
addSbtPlugin("org.jetbrains" % "sbt-structure-extractor" % "2018.2"),
addSbtPlugin("org.jetbrains" % "sbt-idea-shell" % "2017.2")
) else scala.collection.Seq.empty
// DO NOT EDIT! This file is auto-generated.
// By default, this file does not do anything.
// If the environment variable METALS_ENABLED has the value 'true',
// then this file enables sbt-metals and sbt-bloop.
libraryDependencies := {
import Defaults.sbtPluginExtra
val oldDependencies = libraryDependencies.value
if (System.getenv("METALS_ENABLED") == "true") {
val bloopModule = "ch.epfl.scala" % "sbt-bloop" % "1.2.5"
val metalsModule = "org.scalameta" % "sbt-metals" % "0.5.0-M1"
val sbtVersion = Keys.sbtBinaryVersion.in(TaskKey[Unit]("pluginCrossBuild")).value
val scalaVersion = Keys.scalaBinaryVersion.in(update).value
val bloopPlugin = sbtPluginExtra(bloopModule, sbtVersion, scalaVersion)
val metalsPlugin = sbtPluginExtra(metalsModule, sbtVersion, scalaVersion)
List(bloopPlugin, metalsPlugin) ++ oldDependencies.filterNot { dep =>
(dep.organization == "ch.epfl.scala" && dep.name == "sbt-bloop") ||
(dep.organization == "org.scalameta" && dep.name == "sbt-metals")
}
} else {
oldDependencies
}
}
externalResolvers += "Sonatype OSS Staging" at "https://oss.sonatype.org/content/groups/staging/"
resolvers += Resolver.mavenLocal
If I run METALS_ENABLED=true sbt metalsEnable bloopInstall in a shell instead of clicking the "Import Build" button, then everything goes well after I restart vscode.
Thanks for the information and investigating further. What happens if you point the sbt launcher configuration to your sbt script? See https://scalameta.org/metals/docs/editors/vscode.html#custom-sbt-launcher By default, Metals uses java -jar sbt-launch.jar where sbt-launch.jar is embedded our resource directory.
git clone https://github.com/Atry/Binding.scala.git --branch=metals-error && cd Binding.scala && code .
Set vscode's sbt script to /usr/local/bin/sbt
Click "Import Build"
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
logging to file /Users/twer/workspace/Binding.scala/.metals/metals.log
time: initialize in 0.4s
running 'sbt metalsEnable bloopInstall'
[info] Loading global plugins from /Users/twer/.sbt/1.0/plugins/project
[info] Loading settings for project global-plugins from idea.sbt,mavenResolvers.sbt,metals.sbt ...
[info] Loading global plugins from /Users/twer/.sbt/1.0/plugins
[info] Loading settings for project binding-scala-build-build from plugins.sbt ...
[info] Loading project definition from /Users/twer/workspace/Binding.scala/project/project
[info] Updating ProjectRef(uri("file:/Users/twer/workspace/Binding.scala/project/project/"), "binding-scala-build-build")...
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[success] Generated .bloop/binding-scala-build-build.json
[success] Total time: 3 s, completed 2019-4-12 22:24:20
[info] Loading settings for project binding-scala-build from coursier.sbt,plugins.sbt ...
[info] Loading project definition from /Users/twer/workspace/Binding.scala/project
[warn] Unrecognized repository Local Repository, ignoring it
[success] Generated .bloop/binding-scala-build.json
[success] Total time: 2 s, completed 2019-4-12 22:24:26
[warn] Unrecognized repository Local Repository, ignoring it
/Users/twer/workspace/Binding.scala/build.sbt:3: warning: lazy value CrossType in object AutoImport is deprecated (since 0.6.23): The built-in cross-project feature of sbt-scalajs is deprecated. Use the separate sbt plugin sbt-crossproject instead: https://github.com/portable-scala/sbt-crossproject
lazy val SafeBuffer = crossProject.crossType(CrossType.Pure)
^
/Users/twer/workspace/Binding.scala/build.sbt:5: warning: lazy value CrossType in object AutoImport is deprecated (since 0.6.23): The built-in cross-project feature of sbt-scalajs is deprecated. Use the separate sbt plugin sbt-crossproject instead: https://github.com/portable-scala/sbt-crossproject
lazy val Binding = crossProject.crossType(CrossType.Pure).dependsOn(SafeBuffer)
^
/Users/twer/workspace/Binding.scala/build.sbt:5: warning: method crossClasspathDependency in trait CrossProjectExtra is deprecated (since 0.6.23): The built-in cross-project feature of sbt-scalajs is deprecated. Use the separate sbt plugin sbt-crossproject instead: https://github.com/portable-scala/sbt-crossproject
lazy val Binding = crossProject.crossType(CrossType.Pure).dependsOn(SafeBuffer)
^
/Users/twer/workspace/Binding.scala/build.sbt:7: warning: lazy value CrossType in object AutoImport is deprecated (since 0.6.23): The built-in cross-project feature of sbt-scalajs is deprecated. Use the separate sbt plugin sbt-crossproject instead: https://github.com/portable-scala/sbt-crossproject
lazy val FutureBinding = crossProject.crossType(CrossType.Pure).dependsOn(Binding)
^
/Users/twer/workspace/Binding.scala/build.sbt:7: warning: method crossClasspathDependency in trait CrossProjectExtra is deprecated (since 0.6.23): The built-in cross-project feature of sbt-scalajs is deprecated. Use the separate sbt plugin sbt-crossproject instead: https://github.com/portable-scala/sbt-crossproject
lazy val FutureBinding = crossProject.crossType(CrossType.Pure).dependsOn(Binding)
^
/Users/twer/workspace/Binding.scala/build.sbt:27: warning: lazy value CrossType in object AutoImport is deprecated (since 0.6.23): The built-in cross-project feature of sbt-scalajs is deprecated. Use the separate sbt plugin sbt-crossproject instead: https://github.com/portable-scala/sbt-crossproject
lazy val XmlExtractor = crossProject.crossType(CrossType.Pure)
^
/Users/twer/workspace/Binding.scala/build.sbt:33: warning: lazy value CrossType in object AutoImport is deprecated (since 0.6.23): The built-in cross-project feature of sbt-scalajs is deprecated. Use the separate sbt plugin sbt-crossproject instead: https://github.com/portable-scala/sbt-crossproject
lazy val fxml = crossProject.crossType(CrossType.Pure).dependsOn(Binding, XmlExtractor)
^
/Users/twer/workspace/Binding.scala/build.sbt:33: warning: method crossClasspathDependency in trait CrossProjectExtra is deprecated (since 0.6.23): The built-in cross-project feature of sbt-scalajs is deprecated. Use the separate sbt plugin sbt-crossproject instead: https://github.com/portable-scala/sbt-crossproject
lazy val fxml = crossProject.crossType(CrossType.Pure).dependsOn(Binding, XmlExtractor)
^
[info] Loading settings for project fxmlJVM from local.sbt,build.sbt ...
[info] Loading settings for project fxmlJS from local.sbt,build.sbt ...
[info] Loading settings for project XmlExtractorJVM from local.sbt,build.sbt ...
[info] Loading settings for project XmlExtractorJS from local.sbt,build.sbt ...
[info] Loading settings for project FutureBindingJVM from local.sbt,build.sbt ...
[info] Loading settings for project FutureBindingJS from local.sbt,build.sbt ...
[info] Loading settings for project BindingJVM from local.sbt,build.sbt ...
[info] Loading settings for project BindingJS from local.sbt,build.sbt ...
[info] Loading settings for project SafeBufferJVM from local.sbt,build.sbt ...
[info] Loading settings for project SafeBufferJS from local.sbt,build.sbt ...
[info] Loading settings for project JsPromiseBinding from build.sbt ...
/Users/twer/workspace/Binding.scala/Route/build.sbt:13: warning: value RuntimeDOM in trait DependencyBuilders is deprecated (since 0.6.20): Requesting a DOM-enabled JS env with `jsDependencies += RuntimeDOM` or `requiresDOM := true` will not be supported in Scala.js 1.x. Instead, explicitly select a suitable JS with `jsEnv`, e.g., `jsEnv := new org.scalajs.jsenv.jsdomnodejs.JSDOMNodeJSEnv`.
jsDependencies += RuntimeDOM % Test
^
[info] Loading settings for project Route from build.sbt ...
/Users/twer/workspace/Binding.scala/dom/build.sbt:42: warning: value RuntimeDOM in trait DependencyBuilders is deprecated (since 0.6.20): Requesting a DOM-enabled JS env with `jsDependencies += RuntimeDOM` or `requiresDOM := true` will not be supported in Scala.js 1.x. Instead, explicitly select a suitable JS with `jsEnv`, e.g., `jsEnv := new org.scalajs.jsenv.jsdomnodejs.JSDOMNodeJSEnv`.
jsDependencies in Test += RuntimeDOM
^
/Users/twer/workspace/Binding.scala/dom/build.sbt:45: warning: method RhinoJSEnv in object AutoImport is deprecated (since 0.6.13): The Rhino JS environment is being phased out. It will be removed in Scala.js 1.0.0.
jsEnv in ThisBuild := RhinoJSEnv().value
^
[info] Loading settings for project dom from build.sbt ...
[info] Loading settings for project binding-scala from secret.sbt,local.sbt,build.sbt ...
[info] Resolving key references (10574 settings) ...
[info] Set current project to binding-scala (in build file:/Users/twer/workspace/Binding.scala/)
[info] Set current project to binding-scala (in build file:/Users/twer/workspace/Binding.scala/)
[info] semanticdb-scalac is enabled
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[warn] Unrecognized repository Local Repository, ignoring it
[success] Generated .bloop/SafeBufferJS.json
[success] Generated .bloop/SafeBufferJVM.json
[success] Generated .bloop/binding-scala.json
[success] Generated .bloop/XmlExtractorJVM.json
[success] Generated .bloop/XmlExtractorJS.json
[success] Generated .bloop/secret.json
[success] Generated .bloop/SafeBufferJS-test.json
[success] Generated .bloop/SafeBufferJVM-test.json
[success] Generated .bloop/binding-scala-test.json
[success] Generated .bloop/XmlExtractorJVM-test.json
[success] Generated .bloop/XmlExtractorJS-test.json
[success] Generated .bloop/secret-test.json
[success] Generated .bloop/BindingJS.json
[success] Generated .bloop/BindingJVM.json
[success] Generated .bloop/BindingJS-test.json
[success] Generated .bloop/BindingJVM-test.json
[success] Generated .bloop/FutureBindingJS.json
[success] Generated .bloop/JsPromiseBinding.json
[success] Generated .bloop/Route.json
[success] Generated .bloop/fxmlJS.json
[success] Generated .bloop/dom.json
[success] Generated .bloop/FutureBindingJVM.json
[success] Generated .bloop/fxmlJVM.json
[success] Generated .bloop/FutureBindingJS-test.json
[success] Generated .bloop/JsPromiseBinding-test.json
[success] Generated .bloop/Route-test.json
[success] Generated .bloop/fxmlJS-test.json
[success] Generated .bloop/dom-test.json
[success] Generated .bloop/FutureBindingJVM-test.json
[success] Generated .bloop/fxmlJVM-test.json
[success] Total time: 4 s, completed 2019-4-12 22:24:41
sbt exit: 0
time: ran 'sbt bloopInstall' in 32s
running embedded 'bloop bsp --protocol local --socket /var/folders/zx/pbgr6wjs0g14qj7zc064gjdm0000gq/T/bsp5204597696524958279/-gylvtdlck6cl.socket'
Failed to connect with build server, no functionality will work.
scala.meta.internal.metals.BloopServers$NoResponse$: no response: bloop bsp
at scala.meta.internal.metals.BloopServers.NoResponse$lzycompute$1(BloopServers.scala:281)
at scala.meta.internal.metals.BloopServers.NoResponse(BloopServers.scala:281)
at scala.meta.internal.metals.BloopServers.$anonfun$callBloopMain$1(BloopServers.scala:180)
at scala.util.Success.$anonfun$map$1(Try.scala:255)
at scala.util.Success.map(Try.scala:213)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:292)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:33)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Metals Docket report shows a table that contains only table header
After restart vscode (but not re-import build), I run Metal Doctor reports again

It seems that some randomly selected projects are broken. You distinguish broken projects and good projects from their bloop configuration:
BindingJS.json (Good){
"version" : "1.1.2",
"project" : {
"name" : "BindingJS",
"directory" : "/Users/twer/workspace/Binding.scala/Binding/.js",
"sources" : [
"/Users/twer/workspace/Binding.scala/Binding/.js/src/main/scala-2.12",
"/Users/twer/workspace/Binding.scala/Binding/.js/src/main/scala",
"/Users/twer/workspace/Binding.scala/Binding/.js/src/main/java",
"/Users/twer/workspace/Binding.scala/Binding/src/main/scala-2.12",
"/Users/twer/workspace/Binding.scala/Binding/src/main/scala",
"/Users/twer/workspace/Binding.scala/Binding/.js/target/scala-2.12/src_managed/main"
],
"dependencies" : [
"SafeBufferJS"
],
"classpath" : [
"/Users/twer/workspace/Binding.scala/.bloop/SafeBufferJS/scala-2.12/classes",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/extractor/extractor_sjs0.6_2.12/2.1.0/extractor_sjs0.6_2.12-2.1.0.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_sjs0.6_2.12/7.2.7/scalaz-core_sjs0.6_2.12-7.2.7.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/enableIf/enableif_2.12/1.1.4/enableif_2.12-1.1.4.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-library_2.12/0.6.27/scalajs-library_2.12-0.6.27.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/sde/core_sjs0.6_2.12/3.1.1/core_sjs0.6_2.12-3.1.1.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.0/scala-xml_2.12-1.1.0.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_sjs0.6_2.12/7.2.7/scalaz-effect_sjs0.6_2.12-7.2.7.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8.jar"
],
"out" : "/Users/twer/workspace/Binding.scala/.bloop/BindingJS",
"classesDir" : "/Users/twer/workspace/Binding.scala/.bloop/BindingJS/scala-2.12/classes",
"resources" : [
"/Users/twer/workspace/Binding.scala/Binding/.js/src/main/resources",
"/Users/twer/workspace/Binding.scala/Binding/.js/target/scala-2.12/resource_managed/main"
],
"scala" : {
"organization" : "org.scala-lang",
"name" : "scala-compiler",
"version" : "2.12.8",
"options" : [
"-feature",
"-unchecked",
"-Ywarn-infer-any",
"-Ycache-plugin-class-loader:last-modified",
"-Ycache-macro-class-loader:last-modified",
"-Ypartial-unification",
"-P:scalajs:mapSourceURI:file:/Users/twer/workspace/Binding.scala/->https://github.com/Atry/Binding.scala/raw/169fba0b75c78959ed4efb8dd910978db514d495/",
"-Xexperimental",
"-P:semanticdb:synthetics:on",
"-P:semanticdb:failures:warning",
"-P:semanticdb:sourceroot:/Users/twer/workspace/Binding.scala",
"-Yrangepos",
"-Xplugin-require:semanticdb",
"-Xplugin:/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalamacros/paradise_2.12.8/2.1.0/paradise_2.12.8-2.1.0.jar",
"-Xplugin:/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.8/4.1.5/semanticdb-scalac_2.12.8-4.1.5.jar",
"-Xplugin:/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-compiler_2.12.8/0.6.27/scalajs-compiler_2.12.8-0.6.27.jar",
"-deprecation"
],
"jars" : [
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8.jar"
],
"setup" : {
"order" : "mixed",
"addLibraryToBootClasspath" : true,
"addCompilerToClasspath" : false,
"addExtraJarsToClasspath" : false,
"manageBootClasspath" : true,
"filterLibraryFromClasspath" : true
}
},
"java" : {
"options" : [
]
},
"test" : {
"frameworks" : [
{
"names" : [
"org.scalacheck.ScalaCheckFramework"
]
},
{
"names" : [
"org.specs2.runner.Specs2Framework",
"org.specs2.runner.SpecsFramework"
]
},
{
"names" : [
"org.specs.runner.SpecsFramework"
]
},
{
"names" : [
"org.scalatest.tools.Framework",
"org.scalatest.tools.ScalaTestFramework"
]
},
{
"names" : [
"com.novocode.junit.JUnitFramework"
]
}
],
"options" : {
"excludes" : [
],
"arguments" : [
]
}
},
"platform" : {
"name" : "js",
"config" : {
"version" : "0.6.27",
"mode" : "debug",
"kind" : "none",
"emitSourceMaps" : false,
"jsdom" : false,
"toolchain" : [
]
},
"mainClass" : [
]
},
"resolution" : {
"modules" : [
{
"organization" : "org.scala-lang",
"name" : "scala-compiler",
"version" : "2.12.8",
"configurations" : "default",
"artifacts" : [
{
"name" : "scala-compiler",
"checksum" : {
"type" : "sha1",
"digest" : "d373b4ff7f7dcaf3c590813adc39c2ea518eb8c5"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar"
},
{
"name" : "scala-compiler",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8-sources.jar"
},
{
"name" : "scala-compiler",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang",
"name" : "scala-library",
"version" : "2.12.8",
"configurations" : "default",
"artifacts" : [
{
"name" : "scala-library",
"checksum" : {
"type" : "sha1",
"digest" : "36b234834d8f842cdde963c8591efae6cf413e3f"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar"
},
{
"name" : "scala-library",
"classifier" : "sources",
"checksum" : {
"type" : "sha1",
"digest" : "45ccb865e040cbef5d5620571527831441392f24"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8-sources.jar"
},
{
"name" : "scala-library",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang",
"name" : "scala-reflect",
"version" : "2.12.8",
"configurations" : "default",
"artifacts" : [
{
"name" : "scala-reflect",
"checksum" : {
"type" : "sha1",
"digest" : "682d33402cdae50258afa2c0860eb54688dab610"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8.jar"
},
{
"name" : "scala-reflect",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8-sources.jar"
},
{
"name" : "scala-reflect",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8-javadoc.jar"
}
]
},
{
"organization" : "com.thoughtworks.extractor",
"name" : "extractor_sjs0.6_2.12",
"version" : "2.1.0",
"configurations" : "default",
"artifacts" : [
{
"name" : "extractor_sjs0.6_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/extractor/extractor_sjs0.6_2.12/2.1.0/extractor_sjs0.6_2.12-2.1.0.jar"
},
{
"name" : "extractor_sjs0.6_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/extractor/extractor_sjs0.6_2.12/2.1.0/extractor_sjs0.6_2.12-2.1.0-sources.jar"
},
{
"name" : "extractor_sjs0.6_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/extractor/extractor_sjs0.6_2.12/2.1.0/extractor_sjs0.6_2.12-2.1.0-javadoc.jar"
}
]
},
{
"organization" : "org.scalaz",
"name" : "scalaz-core_sjs0.6_2.12",
"version" : "7.2.7",
"configurations" : "default",
"artifacts" : [
{
"name" : "scalaz-core_sjs0.6_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_sjs0.6_2.12/7.2.7/scalaz-core_sjs0.6_2.12-7.2.7.jar"
},
{
"name" : "scalaz-core_sjs0.6_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_sjs0.6_2.12/7.2.7/scalaz-core_sjs0.6_2.12-7.2.7-sources.jar"
},
{
"name" : "scalaz-core_sjs0.6_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_sjs0.6_2.12/7.2.7/scalaz-core_sjs0.6_2.12-7.2.7-javadoc.jar"
}
]
},
{
"organization" : "com.thoughtworks.enableIf",
"name" : "enableif_2.12",
"version" : "1.1.4",
"configurations" : "default",
"artifacts" : [
{
"name" : "enableif_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/enableIf/enableif_2.12/1.1.4/enableif_2.12-1.1.4.jar"
},
{
"name" : "enableif_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/enableIf/enableif_2.12/1.1.4/enableif_2.12-1.1.4-sources.jar"
},
{
"name" : "enableif_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/enableIf/enableif_2.12/1.1.4/enableif_2.12-1.1.4-javadoc.jar"
}
]
},
{
"organization" : "org.scala-js",
"name" : "scalajs-library_2.12",
"version" : "0.6.27",
"configurations" : "default",
"artifacts" : [
{
"name" : "scalajs-library_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-library_2.12/0.6.27/scalajs-library_2.12-0.6.27.jar"
},
{
"name" : "scalajs-library_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-library_2.12/0.6.27/scalajs-library_2.12-0.6.27-sources.jar"
},
{
"name" : "scalajs-library_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-library_2.12/0.6.27/scalajs-library_2.12-0.6.27-javadoc.jar"
}
]
},
{
"organization" : "org.typelevel",
"name" : "macro-compat_2.12",
"version" : "1.1.1",
"configurations" : "default",
"artifacts" : [
{
"name" : "macro-compat_2.12",
"checksum" : {
"type" : "sha1",
"digest" : "ed809d26ef4237d7c079ae6cf7ebd0dfa7986adf"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1.jar"
},
{
"name" : "macro-compat_2.12",
"classifier" : "sources",
"checksum" : {
"type" : "sha1",
"digest" : "ade6d6ec81975cf514b0f9e2061614f2799cfe97"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1-sources.jar"
},
{
"name" : "macro-compat_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1-javadoc.jar"
}
]
},
{
"organization" : "com.thoughtworks.sde",
"name" : "core_sjs0.6_2.12",
"version" : "3.1.1",
"configurations" : "default",
"artifacts" : [
{
"name" : "core_sjs0.6_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/sde/core_sjs0.6_2.12/3.1.1/core_sjs0.6_2.12-3.1.1.jar"
},
{
"name" : "core_sjs0.6_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/sde/core_sjs0.6_2.12/3.1.1/core_sjs0.6_2.12-3.1.1-sources.jar"
},
{
"name" : "core_sjs0.6_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/sde/core_sjs0.6_2.12/3.1.1/core_sjs0.6_2.12-3.1.1-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang.modules",
"name" : "scala-xml_2.12",
"version" : "1.1.0",
"configurations" : "default",
"artifacts" : [
{
"name" : "scala-xml_2.12",
"checksum" : {
"type" : "sha1",
"digest" : "2fb058ff138e407f3cba28748302bd8f5f90f330"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.0/scala-xml_2.12-1.1.0.jar"
},
{
"name" : "scala-xml_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.0/scala-xml_2.12-1.1.0-sources.jar"
},
{
"name" : "scala-xml_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.0/scala-xml_2.12-1.1.0-javadoc.jar"
}
]
},
{
"organization" : "org.scalaz",
"name" : "scalaz-effect_sjs0.6_2.12",
"version" : "7.2.7",
"configurations" : "default",
"artifacts" : [
{
"name" : "scalaz-effect_sjs0.6_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_sjs0.6_2.12/7.2.7/scalaz-effect_sjs0.6_2.12-7.2.7.jar"
},
{
"name" : "scalaz-effect_sjs0.6_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_sjs0.6_2.12/7.2.7/scalaz-effect_sjs0.6_2.12-7.2.7-sources.jar"
},
{
"name" : "scalaz-effect_sjs0.6_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_sjs0.6_2.12/7.2.7/scalaz-effect_sjs0.6_2.12-7.2.7-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang",
"name" : "scala-compiler",
"version" : "2.12.8",
"configurations" : "optional",
"artifacts" : [
{
"name" : "scala-compiler",
"checksum" : {
"type" : "sha1",
"digest" : "d373b4ff7f7dcaf3c590813adc39c2ea518eb8c5"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar"
},
{
"name" : "scala-compiler",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8-sources.jar"
},
{
"name" : "scala-compiler",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang",
"name" : "scala-library",
"version" : "2.12.8",
"configurations" : "optional",
"artifacts" : [
{
"name" : "scala-library",
"checksum" : {
"type" : "sha1",
"digest" : "36b234834d8f842cdde963c8591efae6cf413e3f"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar"
},
{
"name" : "scala-library",
"classifier" : "sources",
"checksum" : {
"type" : "sha1",
"digest" : "45ccb865e040cbef5d5620571527831441392f24"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8-sources.jar"
},
{
"name" : "scala-library",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8-javadoc.jar"
}
]
}
]
}
}
}
BindingJVM.json (broken){
"version" : "1.1.2",
"project" : {
"name" : "BindingJVM",
"directory" : "/Users/twer/workspace/Binding.scala/Binding/.jvm",
"sources" : [
"/Users/twer/workspace/Binding.scala/Binding/.jvm/src/main/scala-2.12",
"/Users/twer/workspace/Binding.scala/Binding/.jvm/src/main/scala",
"/Users/twer/workspace/Binding.scala/Binding/.jvm/src/main/java",
"/Users/twer/workspace/Binding.scala/Binding/src/main/scala-2.12",
"/Users/twer/workspace/Binding.scala/Binding/src/main/scala",
"/Users/twer/workspace/Binding.scala/Binding/.jvm/target/scala-2.12/src_managed/main"
],
"dependencies" : [
"SafeBufferJVM"
],
"classpath" : [
"/Users/twer/workspace/Binding.scala/.bloop/SafeBufferJVM/scala-2.12/classes",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_2.12/7.2.7/scalaz-effect_2.12-7.2.7.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/extractor/extractor_2.12/2.1.0/extractor_2.12-2.1.0.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_2.12/7.2.7/scalaz-core_2.12-7.2.7.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/enableIf/enableif_2.12/1.1.4/enableif_2.12-1.1.4.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.0/scala-xml_2.12-1.1.0.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/sde/core_2.12/3.1.1/core_2.12-3.1.1.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8.jar"
],
"out" : "/Users/twer/workspace/Binding.scala/.bloop/BindingJVM",
"classesDir" : "/Users/twer/workspace/Binding.scala/.bloop/BindingJVM/scala-2.12/classes",
"resources" : [
"/Users/twer/workspace/Binding.scala/Binding/.jvm/src/main/resources",
"/Users/twer/workspace/Binding.scala/Binding/.jvm/target/scala-2.12/resource_managed/main"
],
"scala" : {
"organization" : "org.scala-lang",
"name" : "scala-compiler",
"version" : "2.12.8",
"options" : [
"-feature",
"-unchecked",
"-Ywarn-infer-any",
"-Ycache-plugin-class-loader:last-modified",
"-Ycache-macro-class-loader:last-modified",
"-Ypartial-unification",
"-Xexperimental",
"-P:semanticdb:synthetics:on",
"-P:semanticdb:failures:warning",
"-P:semanticdb:sourceroot:/Users/twer/workspace/Binding.scala",
"-Yrangepos",
"-Xplugin-require:semanticdb",
"-Xplugin:/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalamacros/paradise_2.12.8/2.1.0/paradise_2.12.8-2.1.0.jar",
"-deprecation"
],
"jars" : [
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar",
"/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8.jar"
],
"setup" : {
"order" : "mixed",
"addLibraryToBootClasspath" : true,
"addCompilerToClasspath" : false,
"addExtraJarsToClasspath" : false,
"manageBootClasspath" : true,
"filterLibraryFromClasspath" : true
}
},
"java" : {
"options" : [
]
},
"test" : {
"frameworks" : [
{
"names" : [
"org.scalacheck.ScalaCheckFramework"
]
},
{
"names" : [
"org.specs2.runner.Specs2Framework",
"org.specs2.runner.SpecsFramework"
]
},
{
"names" : [
"org.specs.runner.SpecsFramework"
]
},
{
"names" : [
"org.scalatest.tools.Framework",
"org.scalatest.tools.ScalaTestFramework"
]
},
{
"names" : [
"com.novocode.junit.JUnitFramework"
]
}
],
"options" : {
"excludes" : [
],
"arguments" : [
]
}
},
"platform" : {
"name" : "jvm",
"config" : {
"home" : "/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre",
"options" : [
]
},
"mainClass" : [
]
},
"resolution" : {
"modules" : [
{
"organization" : "org.scala-lang",
"name" : "scala-compiler",
"version" : "2.12.8",
"configurations" : "default",
"artifacts" : [
{
"name" : "scala-compiler",
"checksum" : {
"type" : "sha1",
"digest" : "d373b4ff7f7dcaf3c590813adc39c2ea518eb8c5"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar"
},
{
"name" : "scala-compiler",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8-sources.jar"
},
{
"name" : "scala-compiler",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang",
"name" : "scala-library",
"version" : "2.12.8",
"configurations" : "default",
"artifacts" : [
{
"name" : "scala-library",
"checksum" : {
"type" : "sha1",
"digest" : "36b234834d8f842cdde963c8591efae6cf413e3f"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar"
},
{
"name" : "scala-library",
"classifier" : "sources",
"checksum" : {
"type" : "sha1",
"digest" : "45ccb865e040cbef5d5620571527831441392f24"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8-sources.jar"
},
{
"name" : "scala-library",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang",
"name" : "scala-reflect",
"version" : "2.12.8",
"configurations" : "default",
"artifacts" : [
{
"name" : "scala-reflect",
"checksum" : {
"type" : "sha1",
"digest" : "682d33402cdae50258afa2c0860eb54688dab610"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8.jar"
},
{
"name" : "scala-reflect",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8-sources.jar"
},
{
"name" : "scala-reflect",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.8/scala-reflect-2.12.8-javadoc.jar"
}
]
},
{
"organization" : "org.scalaz",
"name" : "scalaz-effect_2.12",
"version" : "7.2.7",
"configurations" : "default",
"artifacts" : [
{
"name" : "scalaz-effect_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_2.12/7.2.7/scalaz-effect_2.12-7.2.7.jar"
},
{
"name" : "scalaz-effect_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_2.12/7.2.7/scalaz-effect_2.12-7.2.7-sources.jar"
},
{
"name" : "scalaz-effect_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_2.12/7.2.7/scalaz-effect_2.12-7.2.7-javadoc.jar"
}
]
},
{
"organization" : "com.thoughtworks.extractor",
"name" : "extractor_2.12",
"version" : "2.1.0",
"configurations" : "default",
"artifacts" : [
{
"name" : "extractor_2.12",
"checksum" : {
"type" : "sha1",
"digest" : "6fce854b6fb55ad0565f8339007e7f6342c9d367"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/extractor/extractor_2.12/2.1.0/extractor_2.12-2.1.0.jar"
},
{
"name" : "extractor_2.12",
"classifier" : "sources",
"checksum" : {
"type" : "sha1",
"digest" : "8cc9750bcb0b263b6db999e392a1dae2b752e646"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/extractor/extractor_2.12/2.1.0/extractor_2.12-2.1.0-sources.jar"
},
{
"name" : "extractor_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/extractor/extractor_2.12/2.1.0/extractor_2.12-2.1.0-javadoc.jar"
}
]
},
{
"organization" : "org.scalaz",
"name" : "scalaz-core_2.12",
"version" : "7.2.7",
"configurations" : "default",
"artifacts" : [
{
"name" : "scalaz-core_2.12",
"checksum" : {
"type" : "sha1",
"digest" : "ee06c07e856bad6ce112b2a5b96e1df1609ad57f"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_2.12/7.2.7/scalaz-core_2.12-7.2.7.jar"
},
{
"name" : "scalaz-core_2.12",
"classifier" : "sources",
"checksum" : {
"type" : "sha1",
"digest" : "b6b6043f49900582dc34619ace8910246ed104c3"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_2.12/7.2.7/scalaz-core_2.12-7.2.7-sources.jar"
},
{
"name" : "scalaz-core_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_2.12/7.2.7/scalaz-core_2.12-7.2.7-javadoc.jar"
}
]
},
{
"organization" : "com.thoughtworks.enableIf",
"name" : "enableif_2.12",
"version" : "1.1.4",
"configurations" : "default",
"artifacts" : [
{
"name" : "enableif_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/enableIf/enableif_2.12/1.1.4/enableif_2.12-1.1.4.jar"
},
{
"name" : "enableif_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/enableIf/enableif_2.12/1.1.4/enableif_2.12-1.1.4-sources.jar"
},
{
"name" : "enableif_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/enableIf/enableif_2.12/1.1.4/enableif_2.12-1.1.4-javadoc.jar"
}
]
},
{
"organization" : "org.typelevel",
"name" : "macro-compat_2.12",
"version" : "1.1.1",
"configurations" : "default",
"artifacts" : [
{
"name" : "macro-compat_2.12",
"checksum" : {
"type" : "sha1",
"digest" : "ed809d26ef4237d7c079ae6cf7ebd0dfa7986adf"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1.jar"
},
{
"name" : "macro-compat_2.12",
"classifier" : "sources",
"checksum" : {
"type" : "sha1",
"digest" : "ade6d6ec81975cf514b0f9e2061614f2799cfe97"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1-sources.jar"
},
{
"name" : "macro-compat_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang.modules",
"name" : "scala-xml_2.12",
"version" : "1.1.0",
"configurations" : "default",
"artifacts" : [
{
"name" : "scala-xml_2.12",
"checksum" : {
"type" : "sha1",
"digest" : "2fb058ff138e407f3cba28748302bd8f5f90f330"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.0/scala-xml_2.12-1.1.0.jar"
},
{
"name" : "scala-xml_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.0/scala-xml_2.12-1.1.0-sources.jar"
},
{
"name" : "scala-xml_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.0/scala-xml_2.12-1.1.0-javadoc.jar"
}
]
},
{
"organization" : "com.thoughtworks.sde",
"name" : "core_2.12",
"version" : "3.1.1",
"configurations" : "default",
"artifacts" : [
{
"name" : "core_2.12",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/sde/core_2.12/3.1.1/core_2.12-3.1.1.jar"
},
{
"name" : "core_2.12",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/sde/core_2.12/3.1.1/core_2.12-3.1.1-sources.jar"
},
{
"name" : "core_2.12",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/com/thoughtworks/sde/core_2.12/3.1.1/core_2.12-3.1.1-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang",
"name" : "scala-compiler",
"version" : "2.12.8",
"configurations" : "optional",
"artifacts" : [
{
"name" : "scala-compiler",
"checksum" : {
"type" : "sha1",
"digest" : "d373b4ff7f7dcaf3c590813adc39c2ea518eb8c5"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8.jar"
},
{
"name" : "scala-compiler",
"classifier" : "sources",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8-sources.jar"
},
{
"name" : "scala-compiler",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.8/scala-compiler-2.12.8-javadoc.jar"
}
]
},
{
"organization" : "org.scala-lang",
"name" : "scala-library",
"version" : "2.12.8",
"configurations" : "optional",
"artifacts" : [
{
"name" : "scala-library",
"checksum" : {
"type" : "sha1",
"digest" : "36b234834d8f842cdde963c8591efae6cf413e3f"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8.jar"
},
{
"name" : "scala-library",
"classifier" : "sources",
"checksum" : {
"type" : "sha1",
"digest" : "45ccb865e040cbef5d5620571527831441392f24"
},
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8-sources.jar"
},
{
"name" : "scala-library",
"classifier" : "javadoc",
"path" : "/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.8/scala-library-2.12.8-javadoc.jar"
}
]
}
]
}
}
}
@Atry Thanks for the detailed reproduction! It's surprising to see the semanticdb-scalac plugin not getting enabled via libraryDependencies += compilerPlugin(semanticdbScalac) when it looks like the scalacOptions += List("-P:semanticdb:synthetics:on") settings are getting picked up. We enable these settings together
This needs more investigation. In the meantime, I think a workaround is to
addCompilerPlugin("org.scalameta" % "semanticdb-scalac" % "4.1.5" cross CrossVersion.full) to build.sbtMETALS_ENABLED=true sbt bloopInstall (without metalsEnable)I overridden bloopInstall for debugging (https://github.com/Atry/Binding.scala/blob/metals-error/Binding/.jvm/local.sbt)
In vscode, when I click "Import Build", I can see some logs below
[info] List(org.scala-lang:scala-library:2.12.8, com.thoughtworks.extractor:extractor:2.1.0, com.thoughtworks.enableIf:enableif:1.1.4, com.thoughtworks.sde:core:3.1.1, org.scalatest:scalatest:3.0.7:test, org.scala-lang:scala-reflect:2.12.8, org.typelevel:macro-compat:1.1.1, org.scala-lang:scala-compiler:2.12.8:provided, org.scalamacros:paradise:2.1.0:plugin->default(compile), org.scalameta:semanticdb-scalac_2.12.8:4.1.4:plugin->default(compile))
[info] List(-feature, -unchecked, -Ywarn-infer-any, -Ycache-plugin-class-loader:last-modified, -Ycache-macro-class-loader:last-modified, -Ypartial-unification, -Xexperimental, -P:semanticdb:synthetics:on, -P:semanticdb:failures:warning, -P:semanticdb:sourceroot:/Users/twer/workspace/Binding.scala, -Yrangepos, -Xplugin-require:semanticdb, -Xplugin:/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalamacros/paradise_2.12.8/2.1.0/paradise_2.12.8-2.1.0.jar, -deprecation)
The log indicates that the libraryDependencies settings are added as expected. Unfortunately scalacOptions does not contain the corresponding -Xplugin:... flags.
If I run METALS_ENABLED=true sbt metalsEnable bloopInstall from command line, the log is different:
[info] List(org.scala-lang:scala-library:2.12.8, com.thoughtworks.extractor:extractor:2.1.0, com.thoughtworks.enableIf:enableif:1.1.4, com.thoughtworks.sde:core:3.1.1, org.scalatest:scalatest:3.0.7:test, org.scala-lang:scala-reflect:2.12.8, org.typelevel:macro-compat:1.1.1, org.scala-lang:scala-compiler:2.12.8:provided, org.scalamacros:paradise:2.1.0:plugin->default(compile), org.scalameta:semanticdb-scalac_2.12.8:4.1.5:plugin->default(compile))
[info] List(-feature, -unchecked, -Ywarn-infer-any, -Ycache-plugin-class-loader:last-modified, -Ycache-macro-class-loader:last-modified, -Ypartial-unification, -Xexperimental, -P:semanticdb:synthetics:on, -P:semanticdb:failures:warning, -P:semanticdb:sourceroot:/Users/twer/workspace/Binding.scala, -Yrangepos, -Xplugin-require:semanticdb, -Xplugin:/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalamacros/paradise_2.12.8/2.1.0/paradise_2.12.8-2.1.0.jar, -Xplugin:/Users/twer/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.8/4.1.5/semanticdb-scalac_2.12.8-4.1.5.jar, -deprecation)
A -Xplugin:... flag is created for the semanticdb-scalac when bloopInstall is executed in my shell.
Also the versions of semanticdb-scalac are different in command line (4.1.5) and in vscode (4.1.4). It looks like that my vscode runs an old version of sbt-metals
I just ran the steps in https://github.com/scalameta/metals/issues/647#issuecomment-482596843 including customizing the sbt script to /usr/local/bin/sbt and I am unable to reproduce.

Does your sbt script contain customizations? I installed sbt with homebrew.
Could it be that you have sbt-lock installed? From Gitter https://gitter.im/scalameta/metals?at=5cb20e05c55bd14d35dbcb07
David van Geest @DWvanGeest Apr 13 18:27
@olafurpg good hints in that referenced issue. In my case it appears that sbt-lock is interfering somehow. Once I remove the plugin and the generated lock.sbt, things work as expected. I will try and file a more detailed bug.
I don't know sbt-lock and I think I don't use Ruby.
How is your /usr/local/bin/sbt script?
It turns out that I have a corrupted JAR at ~/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.8/4.1.4/semanticdb-scalac_2.12.8-4.1.4.jar. When sbt generates scalacOptions for compiler plugins, the scalac-plugin.xml resource is not found in the JAR. As a result, semanticdb-scalac_2.12.8-4.1.4.jar is not recognized as a compiler plugin to sbt, and the -Xplugin is omitted.
When I debug this problem some days ago, I tried to add export SCALAMETA_VERSION=4.1.5 to my ~/.bash_profile and forget to restart vscode. Therefore, metals in vscode still use the corrupted semanticdb-scalac_2.12.8-4.1.4.jar while sbt started from command line can see the new environment variable and installed a good semanticdb-scalac_2.12.8-4.1.5.jar.
Now I deleted my cached semanticdb-scalac_2.12.8-4.1.4.jar and sbt redownloaded it. Everything goes well now.
It seems that coursier did not check file integrity if you kill JVM when downloading a file.
Thank you for tracking down the issue!
@Atry it could be that this issue is fixed if you upgrade to the latest coursier, it sounds similar to https://github.com/coursier/coursier/issues/988 according to @alexarchambault
Most helpful comment
It turns out that I have a corrupted JAR at
~/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.8/4.1.4/semanticdb-scalac_2.12.8-4.1.4.jar. When sbt generatesscalacOptionsfor compiler plugins, thescalac-plugin.xmlresource is not found in the JAR. As a result,semanticdb-scalac_2.12.8-4.1.4.jaris not recognized as a compiler plugin to sbt, and the-Xpluginis omitted.When I debug this problem some days ago, I tried to add
export SCALAMETA_VERSION=4.1.5to my~/.bash_profileand forget to restart vscode. Therefore, metals in vscode still use the corruptedsemanticdb-scalac_2.12.8-4.1.4.jarwhile sbt started from command line can see the new environment variable and installed a goodsemanticdb-scalac_2.12.8-4.1.5.jar.Now I deleted my cached
semanticdb-scalac_2.12.8-4.1.4.jarand sbt redownloaded it. Everything goes well now.