scalameta / metals

Scala language server with rich IDE features 🚀
https://scalameta.org/metals/
Apache License 2.0
2.05k stars 319 forks source link

Metals won't boot with a NoClassDefFoundError #4706

Open nrinaudo opened 1 year ago

nrinaudo commented 1 year ago

Describe the bug

When attempting to boot Metals, I get the following error in the logs:

2022.12.07 13:03:27 INFO  tracing is disabled for protocol LSP, to enable tracing of incoming and outgoing JSON messages create an empty file at c:\JPMC\DEV\TMP\mep-code-gen-unsealed\.metals\lsp.trace.json or C:\Users\D634183\AppData\Local\scalameta\metals\cache\lsp.trace.json
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/lsp4j/jsonrpc/CancelChecker
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        at scala.meta.metals.Main$.main(Main.scala:53)
        at scala.meta.metals.Main.main(Main.scala)
Caused by: java.lang.ClassNotFoundException: org.eclipse.lsp4j.jsonrpc.CancelChecker
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 11 more

Expected behavior

I would expect Metals to boot.

Operating system

Windows

Editor/Extension

VS Code

Version of Metals

v0.11.9

Extra context or search terms

Our setup is really rather hostile. On top of running Windows, all Maven requests have to go to an internal repository, which has to be populated manually.

This initially caused troubles far earlier in the installation process (when Metals failed to download its dependencies), but with the help of @tgodzik , I was able to identify which artifacts were missing and make them available.

I suspect the issue is that, somehow, metals is expecting some LSP4J JARs to be on the CLASSPATH but can't find them.

I have made sure that both org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:0.19.0 and org.eclipse.lsp4j:org.eclipse.lsp4j:0.19.0 were available in our Maven repository.

ckipp01 commented 1 year ago

I have made sure that both org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:0.19.0 and org.eclipse.lsp4j:org.eclipse.lsp4j:0.19.0 were available in our Maven repository.

This might be a case of the wrong version being there. For example I just checked what should be on the classpath for Metals v.0.11.9 and it actually looks like it'll be looking for 0.15.0:

❯ cs resolve metals:0.11.9 | grep lsp4j
org.eclipse.lsp4j:org.eclipse.lsp4j:0.15.0:default
org.eclipse.lsp4j:org.eclipse.lsp4j.debug:0.15.0:default
org.eclipse.lsp4j:org.eclipse.lsp4j.generator:0.15.0:default
org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc:0.15.0:default
org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc.debug:0.15.0:default
nrinaudo commented 1 year ago

Good idea, but unfortunately, this doesn't change a thing :/

ckipp01 commented 1 year ago

🤔 alright can you try one more thing. What's the output of the following for you:

cs launch org.scalameta:metals_2.13:0.11.9 -M scala.meta.metals.DownloadDependencies
nrinaudo commented 1 year ago

I like how optimistic you are about my chance to install cs locally.

I'll give it a shot and let you know :)

ckipp01 commented 1 year ago

I like how optimistic you are about my chance to install cs locally.

Btw just incase the coursier jar is easier to get than cs you can also just use that instead of cs in my example.

nrinaudo commented 1 year ago

Sure, but even that is problematic. When I say my setup is hostile, I mean it.

I can set the COURSIER_REPOSITORIES env variable, which will work for the coursier CLI. It doesn't work for the coursier launcher though, so I can't even start that.

tgodzik commented 1 year ago

I started working on a PR that would detect cs/coursier locally so that you can just use a fully bootstrapped launcher:

https://github.com/scalameta/metals-languageclient/pull/524#pullrequestreview-1208383885

nrinaudo commented 1 year ago

@tgodzik there might be a misunderstanding here.

This issue is not about coursier not installing properly, but about Metals not installing properly, in a way that I believe is entirely unrelated to coursier. Metals successfully downloads all of its dependencies (or at least reports it does), it's "just" that it ends up not finding some classes it's expecting on the CLASSPATH.

Coursier, here, is a bit of a tangent: @ckipp01 asked me to run it for diagnostics, which I'm struggling to do because the coursier launcher has hard-coded URLs to maven central, which my environment basically blocks. Improving the way Metals downloads coursier is nice and desirable, but, I think, not related to what we're doing here.

Unless I'm missing something?

tgodzik commented 1 year ago

which I'm struggling to do because the coursier launcher has hard-coded URLs to maven central, which my environment basically blocks.

There are two ways to create bootstrapped launcher in coursier, one is minimal which will try to download all the needed jars from maven central (this is used in metals) and the other one will have everything already contained.

For example https://github.com/coursier/coursier/releases/download/v2.1.0-RC2/coursier.jar should not need to download anything.

nrinaudo commented 1 year ago

Ah. Sorry, I wasn't aware of that.

By running the command @ckipp01 suggested with that JAR, I'm seeing a bunch of download failures that I'll need to fix manually, such as metals. It's weird that when installing metals through the VSCode installer, this wasn't reported - nor did Metals even seem to think anything was wrong.

tgodzik commented 1 year ago

Yeah, might be because bootstrapped coursier is lacking a bunch of functionality. That's why I am thinking of allowing users to just use the one on the system and maybe later even makining it download the right one if possible (or printing instructions otherwise)

nrinaudo commented 1 year ago

The DownloadDependencies tool is proving super useful here. What would be even more useful, in my very specific scenario where I have to wait for all requests to maven central to timeout to identify which artifact is needed, would be a flag to list all dependencies it wants.

But that'd be for future me. Present me has everything he needs for the moment, thank you! Let's see if I can get this to work now.

nrinaudo commented 1 year ago

It's going to take a while - so many versions of mtags that require a few minutes to timeout, a few minutes to manually upload, and repeat... but, in the meantime: while this is definitely going to help, I'm not sure it's going to fix the issue. My problem is that Metals needs some LSP4J class that's not on the CLASSPATH, but none of the dependencies DownloadDependencies is downloading are LSP4J related.

tgodzik commented 1 year ago

Ideally that should be included in the dependencies when querying cs resolve org.scalameta:metals_2.13:0.11.9

tgodzik commented 1 year ago

Ach and you only need the mtags versions that are neccessary for a particular Scala version you are using.

tgodzik commented 1 year ago

Actually, could you try replacing the coursier used by the extension with the jar you downloaded (~/.vscode/extensions/.../coursier)? It should print everything much easier once the proper jar is used. And faster hopefully.

nrinaudo commented 1 year ago

You'd think so, but cs fetch org.scalameta:metals_2.13:0.11.9 succeeds, lists all jars as present in my local cache, but I still get the same "class not found CancelChecker" error message...

nrinaudo commented 1 year ago

Actually, could you try replacing the coursier used by the extension with the jar you downloaded (~/.vscode/extensions/.../coursier)? It should print everything much easier once the proper jar is used. And faster hopefully.

I've just tried that, absolutely no observed difference...

nrinaudo commented 1 year ago

Ach and you only need the mtags versions that are neccessary for a particular Scala version you are using.

Sure but in order for DownloadDependencies to succeed and move on to the next tool it needs, semanticdb, it will attempt to download all mtags versions and abort if that fails

tgodzik commented 1 year ago

Ok, I am adding also a way to print all dependencies https://github.com/scalameta/metals/pull/4719

I think it should print everything, but I am not 100% sure. That can be run outside the problematic machine and will print a list like:

Dependencies... ``` /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc_2.13/2.3.6/mdoc_2.13-2.3.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.9/scala-compiler-2.13.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.9/scala-library-2.13.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc-runtime_2.13/2.3.6/mdoc-runtime_2.13-2.3.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc-cli_2.13/2.3.6/mdoc-cli_2.13-2.3.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalameta_2.13/4.6.0/scalameta_2.13-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/methvin/directory-watcher/0.16.1/directory-watcher-0.16.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/undertow/undertow-core/2.2.19.Final/undertow-core-2.2.19.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jboss/xnio/xnio-nio/3.8.8.Final/xnio-nio-3.8.8.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.3/slf4j-api-2.0.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-typesafe-config_2.13/0.11.1/metaconfig-typesafe-config_2.13-0.11.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.4.0/fansi_2.13-0.4.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.13/0.8.0/pprint_2.13-0.8.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.9/scala-reflect-2.13.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline/3.21.0/jline-3.21.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc-interfaces/2.3.6/mdoc-interfaces-2.3.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/interface/1.0.9/interface-1.0.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-all/0.62.2/flexmark-all-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/parsers_2.13/4.6.0/parsers_2.13-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scalap/2.13.9/scalap-2.13.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jboss/xnio/xnio-api/3.8.8.Final/xnio-api-3.8.8.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jboss/threads/jboss-threads/3.1.0.Final/jboss-threads-3.1.0.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-core_2.13/0.11.1/metaconfig-core_2.13-0.11.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.1/config-1.4.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.3.0/sourcecode_2.13-0.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark/0.62.2/flexmark-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-abbreviation/0.62.2/flexmark-ext-abbreviation-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-admonition/0.62.2/flexmark-ext-admonition-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-anchorlink/0.62.2/flexmark-ext-anchorlink-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-aside/0.62.2/flexmark-ext-aside-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-attributes/0.62.2/flexmark-ext-attributes-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-autolink/0.62.2/flexmark-ext-autolink-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-definition/0.62.2/flexmark-ext-definition-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-emoji/0.62.2/flexmark-ext-emoji-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-enumerated-reference/0.62.2/flexmark-ext-enumerated-reference-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-escaped-character/0.62.2/flexmark-ext-escaped-character-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-footnotes/0.62.2/flexmark-ext-footnotes-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-gfm-issues/0.62.2/flexmark-ext-gfm-issues-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-gfm-strikethrough/0.62.2/flexmark-ext-gfm-strikethrough-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-gfm-tasklist/0.62.2/flexmark-ext-gfm-tasklist-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-gfm-users/0.62.2/flexmark-ext-gfm-users-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-gitlab/0.62.2/flexmark-ext-gitlab-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-jekyll-front-matter/0.62.2/flexmark-ext-jekyll-front-matter-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-jekyll-tag/0.62.2/flexmark-ext-jekyll-tag-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-media-tags/0.62.2/flexmark-ext-media-tags-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-macros/0.62.2/flexmark-ext-macros-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-ins/0.62.2/flexmark-ext-ins-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-xwiki-macros/0.62.2/flexmark-ext-xwiki-macros-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-superscript/0.62.2/flexmark-ext-superscript-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-tables/0.62.2/flexmark-ext-tables-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-toc/0.62.2/flexmark-ext-toc-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-typographic/0.62.2/flexmark-ext-typographic-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-wikilink/0.62.2/flexmark-ext-wikilink-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-yaml-front-matter/0.62.2/flexmark-ext-yaml-front-matter-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-ext-youtube-embedded/0.62.2/flexmark-ext-youtube-embedded-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-html2md-converter/0.62.2/flexmark-html2md-converter-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-jira-converter/0.62.2/flexmark-jira-converter-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-pdf-converter/0.62.2/flexmark-pdf-converter-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-profile-pegdown/0.62.2/flexmark-profile-pegdown-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-ast/0.62.2/flexmark-util-ast-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-builder/0.62.2/flexmark-util-builder-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-collection/0.62.2/flexmark-util-collection-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-data/0.62.2/flexmark-util-data-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-dependency/0.62.2/flexmark-util-dependency-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-format/0.62.2/flexmark-util-format-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-html/0.62.2/flexmark-util-html-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-misc/0.62.2/flexmark-util-misc-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-options/0.62.2/flexmark-util-options-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-sequence/0.62.2/flexmark-util-sequence-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util-visitor/0.62.2/flexmark-util-visitor-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-youtrack-converter/0.62.2/flexmark-youtrack-converter-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/trees_2.13/4.6.0/trees_2.13-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/wildfly/common/wildfly-common/1.5.4.Final/wildfly-common-1.5.4.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/wildfly/client/wildfly-client-config/1.0.1.Final/wildfly-client-config-1.0.1.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-pprint_2.13/0.11.1/metaconfig-pprint_2.13-0.11.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/paiges-core_2.13/0.4.2/paiges-core_2.13-0.4.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.7.0/scala-collection-compat_2.13-2.7.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-util/0.62.2/flexmark-util-0.62.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/nibor/autolink/autolink/0.6.0/autolink-0.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jsoup/jsoup/1.11.3/jsoup-1.11.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/openhtmltopdf/openhtmltopdf-core/1.0.0/openhtmltopdf-core-1.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/openhtmltopdf/openhtmltopdf-pdfbox/1.0.0/openhtmltopdf-pdfbox-1.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/openhtmltopdf/openhtmltopdf-rtl-support/1.0.0/openhtmltopdf-rtl-support-1.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/openhtmltopdf/openhtmltopdf-jsoup-dom-converter/1.0.0/openhtmltopdf-jsoup-dom-converter-1.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jetbrains/annotations/15.0/annotations-15.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/common_2.13/4.6.0/common_2.13-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/fastparse-v2_2.13/2.3.1/fastparse-v2_2.13-2.3.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/pdfbox/pdfbox/2.0.16/pdfbox-2.0.16.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/pdfbox/xmpbox/2.0.16/xmpbox-2.0.16.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/de/rototor/pdfbox/graphics2d/0.24/graphics2d-0.24.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/ibm/icu/icu4j/59.1/icu4j-59.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thesamet/scalapb/scalapb-runtime_2.13/0.11.11/scalapb-runtime_2.13-0.11.11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/pdfbox/fontbox/2.0.16/fontbox-2.0.16.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thesamet/scalapb/lenses_2.13/0.11.11/lenses_2.13-0.11.11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.19.2/protobuf-java-3.19.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc_2.12/2.3.6/mdoc_2.12-2.3.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.17/scala-compiler-2.12.17.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.17/scala-library-2.12.17.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc-runtime_2.12/2.3.6/mdoc-runtime_2.12-2.3.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc-cli_2.12/2.3.6/mdoc-cli_2.12-2.3.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalameta_2.12/4.6.0/scalameta_2.12-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.11.1/metaconfig-typesafe-config_2.12-0.11.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.12/0.4.0/fansi_2.12-0.4.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.12/0.8.0/pprint_2.12-0.8.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.17/scala-reflect-2.12.17.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/2.1.0/scala-xml_2.12-2.1.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/parsers_2.12/4.6.0/parsers_2.12-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scalap/2.12.17/scalap-2.12.17.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-core_2.12/0.11.1/metaconfig-core_2.12-0.11.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.12/0.3.0/sourcecode_2.12-0.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/trees_2.12/4.6.0/trees_2.12-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-pprint_2.12/0.11.1/metaconfig-pprint_2.12-0.11.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/paiges-core_2.12/0.4.2/paiges-core_2.12-0.4.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.7.0/scala-collection-compat_2.12-2.7.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/common_2.12/4.6.0/common_2.12-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/fastparse-v2_2.12/2.3.1/fastparse-v2_2.12-2.3.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thesamet/scalapb/scalapb-runtime_2.12/0.11.11/scalapb-runtime_2.12-0.11.11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thesamet/scalapb/lenses_2.12/0.11.11/lenses_2.12-0.11.11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc_2.11/2.2.24/mdoc_2.11-2.2.24.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.11.12/scala-compiler-2.11.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.11.12/scala-library-2.11.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc-runtime_2.11/2.2.24/mdoc-runtime_2.11-2.2.24.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc-cli_2.11/2.2.24/mdoc-cli_2.11-2.2.24.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalameta_2.11/4.4.28/scalameta_2.11-4.4.28.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-typesafe-config_2.11/0.9.10/metaconfig-typesafe-config_2.11-0.9.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.11/0.2.6/fansi_2.11-0.2.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/methvin/directory-watcher/0.15.0/directory-watcher-0.15.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/undertow/undertow-core/2.2.10.Final/undertow-core-2.2.10.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jboss/xnio/xnio-nio/3.8.4.Final/xnio-nio-3.8.4.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.11.12/scala-reflect-2.11.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.11/1.0.5/scala-xml_2.11-1.0.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.4/scala-parser-combinators_2.11-1.0.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mdoc-interfaces/2.2.24/mdoc-interfaces-2.2.24.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.11/0.5.4/pprint_2.11-0.5.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/interface/1.0.4/interface-1.0.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/parsers_2.11/4.4.28/parsers_2.11-4.4.28.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scalap/2.11.12/scalap-2.11.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-core_2.11/0.9.10/metaconfig-core_2.11-0.9.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.2.1/config-1.2.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.11/0.2.7/sourcecode_2.11-0.2.7.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.7.0/jna-5.7.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jboss/xnio/xnio-api/3.8.4.Final/xnio-api-3.8.4.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/trees_2.11/4.4.28/trees_2.11-4.4.28.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/paiges-core_2.11/0.3.0/paiges-core_2.11-0.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.11/2.1.2/scala-collection-compat_2.11-2.1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/wildfly/common/wildfly-common/1.5.2.Final/wildfly-common-1.5.2.Final.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/common_2.11/4.4.28/common_2.11-4.4.28.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/fastparse-v2_2.11/2.3.1/fastparse-v2_2.11-2.3.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thesamet/scalapb/scalapb-runtime_2.11/0.9.7/scalapb-runtime_2.11-0.9.7.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/geny_2.11/0.1.4/geny_2.11-0.1.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thesamet/scalapb/lenses_2.11/0.9.7/lenses_2.11-0.9.7.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fastparse_2.11/2.1.2/fastparse_2.11-2.1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalafmt-cli_2.13/3.5.3/scalafmt-cli_2.13-3.5.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalafmt-core_2.13/3.5.3/scalafmt-core_2.13-3.5.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalafmt-dynamic_2.13/3.5.3/scalafmt-dynamic_2.13-3.5.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/svm-subs/101.0.0/svm-subs-101.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/martiansoftware/nailgun-server/0.9.1/nailgun-server-0.9.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/scopt/scopt_2.13/4.0.1/scopt_2.13-4.0.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.13/1.3.0/scala-xml_2.13-1.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalafmt-sysops_2.13/3.5.3/scalafmt-sysops_2.13-3.5.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalafmt-config_2.13/3.5.3/scalafmt-config_2.13-3.5.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalameta_2.13/4.5.5/scalameta_2.13-4.5.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.10/scala-reflect-2.13.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalafmt-interfaces/3.5.3/scalafmt-interfaces-3.5.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/interface/0.0.17/interface-0.0.17.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parallel-collections_2.13/1.0.4/scala-parallel-collections_2.13-1.0.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-core_2.13/0.10.0/metaconfig-core_2.13-0.10.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-typesafe-config_2.13/0.10.0/metaconfig-typesafe-config_2.13-0.10.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/parsers_2.13/4.5.5/parsers_2.13-4.5.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scalap/2.13.8/scalap-2.13.8.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/geirsson/metaconfig-pprint_2.13/0.10.0/metaconfig-pprint_2.13-0.10.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.13/2.5.0/scala-collection-compat_2.13-2.5.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/trees_2.13/4.5.5/trees_2.13-4.5.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.10/scala-compiler-2.13.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/fansi_2.13/0.3.0/fansi_2.13-0.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/common_2.13/4.5.5/common_2.13-4.5.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.9.0/jna-5.9.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.13/0.2.7/sourcecode_2.13-0.2.7.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/geny_2.13/0.6.5/geny_2.13-0.6.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.10/0.11.9/mtags_2.13.10-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags-interfaces/0.11.9/mtags-interfaces-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/geny_2.13/0.7.1/geny_2.13-0.7.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/thoughtworks/qdox/qdox/2.0.2/qdox-2.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_2.13/1.0.2/scala-java8-compat_2.13-1.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jsoup/jsoup/1.15.3/jsoup-1.15.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.10/4.6.0/semanticdb-scalac-core_2.13.10-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/eclipse/lsp4j/org.eclipse.lsp4j/0.15.0/org.eclipse.lsp4j-0.15.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/eclipse/lsp4j/org.eclipse.lsp4j.generator/0.15.0/org.eclipse.lsp4j.generator-0.15.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/eclipse/lsp4j/org.eclipse.lsp4j.jsonrpc/0.15.0/org.eclipse.lsp4j.jsonrpc-0.15.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/eclipse/xtend/org.eclipse.xtend.lib/2.24.0/org.eclipse.xtend.lib-2.24.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/code/gson/gson/2.9.1/gson-2.9.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/eclipse/xtext/org.eclipse.xtext.xbase.lib/2.24.0/org.eclipse.xtext.xbase.lib-2.24.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/eclipse/xtend/org.eclipse.xtend.lib.macro/2.24.0/org.eclipse.xtend.lib.macro-2.24.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/guava/guava/27.1-jre/guava-27.1-jre.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.17/0.11.9/mtags_2.12.17-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/geny_2.12/0.7.1/geny_2.12-0.7.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_2.12/1.0.2/scala-java8-compat_2.12-1.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.17/4.6.0/semanticdb-scalac-core_2.12.17-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.16/0.11.9/mtags_2.12.16-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.16/scala-library-2.12.16.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.16/4.6.0/semanticdb-scalac-core_2.12.16-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.16/scala-compiler-2.12.16.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.16/scala-reflect-2.12.16.jar /home/tgodzik/.cache/coursier/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 /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.15/0.11.9/mtags_2.12.15-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.15/scala-library-2.12.15.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.15/4.6.0/semanticdb-scalac-core_2.12.15-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.15/scala-compiler-2.12.15.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.15/scala-reflect-2.12.15.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.14/0.11.9/mtags_2.12.14-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.14/scala-library-2.12.14.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.14/4.6.0/semanticdb-scalac-core_2.12.14-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.14/scala-compiler-2.12.14.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.14/scala-reflect-2.12.14.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.13/0.11.9/mtags_2.12.13-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.13/scala-library-2.12.13.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.13/4.6.0/semanticdb-scalac-core_2.12.13-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.13/scala-compiler-2.12.13.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.13/scala-reflect-2.12.13.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.12/0.11.9/mtags_2.12.12-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.12/scala-library-2.12.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.12/4.6.0/semanticdb-scalac-core_2.12.12-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.12/scala-compiler-2.12.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.12/scala-reflect-2.12.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.5/0.11.9/mtags_2.13.5-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.5/scala-library-2.13.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.5/4.6.0/semanticdb-scalac-core_2.13.5-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.5/scala-compiler-2.13.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.5/scala-reflect-2.13.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline/3.19.0/jline-3.19.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.6/0.11.9/mtags_2.13.6-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.6/4.6.0/semanticdb-scalac-core_2.13.6-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.6/scala-compiler-2.13.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.6/scala-reflect-2.13.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.7/0.11.9/mtags_2.13.7-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.7/scala-library-2.13.7.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.7/4.6.0/semanticdb-scalac-core_2.13.7-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.7/scala-compiler-2.13.7.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.7/scala-reflect-2.13.7.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline/3.20.0/jline-3.20.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.8.0/jna-5.8.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.8/0.11.9/mtags_2.13.8-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.8/4.6.0/semanticdb-scalac-core_2.13.8-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.8/scala-compiler-2.13.8.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.8/scala-reflect-2.13.8.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.9/0.11.9/mtags_2.13.9-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.9/4.6.0/semanticdb-scalac-core_2.13.9-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.11.12/0.11.9/mtags_2.11.12-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/geny_2.11/0.7.1/geny_2.11-0.7.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_2.11/1.0.2/scala-java8-compat_2.11-1.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.11.12/4.6.0/semanticdb-scalac-core_2.11.12-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/scalameta_2.11/4.6.0/scalameta_2.11-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/parsers_2.11/4.6.0/parsers_2.11-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/trees_2.11/4.6.0/trees_2.11-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/common_2.11/4.6.0/common_2.11-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.11/0.3.0/sourcecode_2.11-0.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.9/0.11.9/mtags_2.12.9-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.9/scala-library-2.12.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.9/4.6.0/semanticdb-scalac-core_2.12.9-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.9/scala-compiler-2.12.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.9/scala-reflect-2.12.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.10/0.11.9/mtags_2.12.10-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.10/scala-library-2.12.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.10/4.6.0/semanticdb-scalac-core_2.12.10-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.10/scala-compiler-2.12.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.10/scala-reflect-2.12.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.12.11/0.11.9/mtags_2.12.11-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.11/scala-library-2.12.11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.12.11/4.6.0/semanticdb-scalac-core_2.12.11-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.11/scala-compiler-2.12.11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.11/scala-reflect-2.12.11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.1/0.11.9/mtags_2.13.1-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.1/scala-library-2.13.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.1/4.6.0/semanticdb-scalac-core_2.13.1-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.1/scala-compiler-2.13.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.1/scala-reflect-2.13.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.12/jansi-1.12.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.2/0.11.9/mtags_2.13.2-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.2/scala-library-2.13.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.2/4.6.0/semanticdb-scalac-core_2.13.2-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.2/scala-compiler-2.13.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.2/scala-reflect-2.13.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline/3.14.1/jline-3.14.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.3/0.11.9/mtags_2.13.3-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.3/scala-library-2.13.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.3/4.6.0/semanticdb-scalac-core_2.13.3-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.3/scala-compiler-2.13.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.3/scala-reflect-2.13.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline/3.15.0/jline-3.15.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_2.13.4/0.11.9/mtags_2.13.4-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.4/scala-library-2.13.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac-core_2.13.4/4.6.0/semanticdb-scalac-core_2.13.4-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.4/scala-compiler-2.13.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.4/scala-reflect-2.13.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline/3.16.0/jline-3.16.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.2.2-RC1/0.11.9/mtags_3.2.2-RC1-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.2.2-RC1/scala3-compiler_3-3.2.2-RC1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.2.2-RC1/scala3-library_3-3.2.2-RC1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/geny_3/0.7.1/geny_3-0.7.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_3/1.0.2/scala-java8-compat_3-1.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.2.2-RC1/scala3-interfaces-3.2.2-RC1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.2.2-RC1/tasty-core_3-3.2.2-RC1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-asm/9.3.0-scala-1/scala-asm-9.3.0-scala-1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.3.5/compiler-interface-1.3.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline-reader/3.19.0/jline-reader-3.19.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.3.0/util-interface-1.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.2.1/0.11.9/mtags_3.2.1-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.2.1/scala3-compiler_3-3.2.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.2.1/scala3-library_3-3.2.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.2.1/scala3-interfaces-3.2.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.2.1/tasty-core_3-3.2.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.2.0/0.11.9/mtags_3.2.0-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.2.0/scala3-compiler_3-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.2.0/scala3-library_3-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.2.0/scala3-interfaces-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.2.0/tasty-core_3-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.1.3/0.11.9/mtags_3.1.3-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.1.3/scala3-compiler_3-3.1.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.1.3/scala3-library_3-3.1.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.1.3/scala3-interfaces-3.1.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.1.3/tasty-core_3-3.1.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-asm/9.2.0-scala-1/scala-asm-9.2.0-scala-1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.1.2/0.11.9/mtags_3.1.2-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.1.2/scala3-compiler_3-3.1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.1.2/scala3-library_3-3.1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.1.2/scala3-interfaces-3.1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.1.2/tasty-core_3-3.1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-asm/9.1.0-scala-1/scala-asm-9.1.0-scala-1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.1.1/0.11.9/mtags_3.1.1-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.1.1/scala3-compiler_3-3.1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.1.1/scala3-library_3-3.1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.1.1/scala3-interfaces-3.1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.1.1/tasty-core_3-3.1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.1.0/0.11.9/mtags_3.1.0-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.1.0/scala3-compiler_3-3.1.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.1.0/scala3-library_3-3.1.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.1.0/scala3-interfaces-3.1.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.1.0/tasty-core_3-3.1.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.0.2/0.11.9/mtags_3.0.2-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.0.2/scala3-compiler_3-3.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.0.2/scala3-library_3-3.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.0.2/scala3-interfaces-3.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.0.2/tasty-core_3-3.0.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.0.1/0.11.9/mtags_3.0.1-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.0.1/scala3-compiler_3-3.0.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.0.1/scala3-interfaces-3.0.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.0.1/tasty-core_3-3.0.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/mtags_3.0.0/0.11.9/mtags_3.0.0-0.11.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/3.0.0/scala3-compiler_3-3.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-interfaces/3.0.0/scala3-interfaces-3.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/tasty-core_3/3.0.0/tasty-core_3-3.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.10/4.6.0/semanticdb-scalac_2.13.10-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.17/4.6.0/semanticdb-scalac_2.12.17-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.16/4.6.0/semanticdb-scalac_2.12.16-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.15/4.6.0/semanticdb-scalac_2.12.15-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.14/4.6.0/semanticdb-scalac_2.12.14-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.13/4.6.0/semanticdb-scalac_2.12.13-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.12/4.6.0/semanticdb-scalac_2.12.12-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.5/4.6.0/semanticdb-scalac_2.13.5-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.6/4.6.0/semanticdb-scalac_2.13.6-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.7/4.6.0/semanticdb-scalac_2.13.7-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.8/4.6.0/semanticdb-scalac_2.13.8-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.9/4.6.0/semanticdb-scalac_2.13.9-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.11.12/4.6.0/semanticdb-scalac_2.11.12-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.9/4.6.0/semanticdb-scalac_2.12.9-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.10/4.6.0/semanticdb-scalac_2.12.10-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.11/4.6.0/semanticdb-scalac_2.12.11-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.1/4.6.0/semanticdb-scalac_2.13.1-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.2/4.6.0/semanticdb-scalac_2.13.2-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.3/4.6.0/semanticdb-scalac_2.13.3-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.4/4.6.0/semanticdb-scalac_2.13.4-4.6.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/sourcegraph/semanticdb-javac/0.7.4/semanticdb-javac-0.7.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.17/scala-library-2.12.17-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.16/scala-library-2.12.16-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.15/scala-library-2.12.15-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.14/scala-library-2.12.14-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.13/scala-library-2.12.13-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.12/scala-library-2.12.12-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.5/scala-library-2.13.5-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.7/scala-library-2.13.7-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.8/scala-library-2.13.8-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.9/scala-library-2.13.9-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.11.12/scala-library-2.11.12-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.9/scala-library-2.12.9-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.10/scala-library-2.12.10-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.11/scala-library-2.12.11-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.1/scala-library-2.13.1-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.2/scala-library-2.13.2-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.3/scala-library-2.13.3-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.4/scala-library-2.13.4-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.2.2-RC1/scala3-library_3-3.2.2-RC1-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.2.1/scala3-library_3-3.2.1-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.2.0/scala3-library_3-3.2.0-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.1.3/scala3-library_3-3.1.3-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.1.2/scala3-library_3-3.1.2-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.1.1/scala3-library_3-3.1.1-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.1.0/scala3-library_3-3.1.0-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.0.2/scala3-library_3-3.0.2-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.0.1/scala3-library_3-3.0.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.0.1/scala3-library_3-3.0.1-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.0.0/scala3-library_3-3.0.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.0.0/scala3-library_3-3.0.0-sources.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/bloop-config_2.13/1.5.5/bloop-config_2.13-1.5.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-core_2.13/2.4.0/jsoniter-scala-core_2.13-2.4.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/bloop-launcher-core_2.13/1.5.6/bloop-launcher-core_2.13-1.5.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/sockets/1.5.6/sockets-1.5.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/bloopgun-core_2.13/1.5.6/bloopgun-core_2.13-1.5.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/me/vican/jorge/snailgun-cli_2.13/0.4.0/snailgun-cli_2.13-0.4.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/zeroturnaround/zt-exec/1.11/zt-exec-1.11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-nop/1.7.36/slf4j-nop-1.7.36.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/interface/1.0.6/interface-1.0.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/get-coursier/interface-svm-subs/1.0.6/interface-svm-subs-1.0.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-core_2.13/2.13.3.2/jsoniter-scala-core_2.13-2.13.3.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/me/vican/jorge/snailgun-core_2.13/0.4.0/snailgun-core_2.13-0.4.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/scopt/scopt_2.13/4.0.0-RC2/scopt_2.13-4.0.0-RC2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/bloop-frontend_2.12/1.5.6/bloop-frontend_2.12-1.5.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/bloop-shared_2.12/1.5.6/bloop-shared_2.12-1.5.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/bloop-backend_2.12/1.5.6/bloop-backend_2.12-1.5.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-core_2.12/7.2.35/scalaz-core_2.12-7.2.35.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/monix/monix_2.12/3.2.0/monix_2.12-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/alexarchambault/case-app_2.12/2.0.6/case-app_2.12-2.0.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/scala-debug-adapter_2.12/3.0.5/scala-debug-adapter_2.12-3.0.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/bloop-config_2.12/1.5.5/bloop-config_2.12-1.5.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-core_2.12/2.13.3.2/jsoniter-scala-core_2.12-2.13.3.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/plokhotnyuk/jsoniter-scala/jsoniter-scala-macros_2.12/2.13.3.2/jsoniter-scala-macros_2.12-2.13.3.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/bsp4s_2.12/2.1.0-M3/bsp4s_2.12-2.1.0-M3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.7.2/zinc_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/net/jpountz/lz4/lz4/1.3.0/lz4-1.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/dev/dirs/directories/26/directories-26.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.8.0/test-agent-1.8.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lihaoyi/pprint_2.12/0.8.1/pprint_2.12-0.8.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/nailgun-server/ee3c4343/nailgun-server-ee3c4343.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-concurrent_2.12/7.2.35/scalaz-concurrent_2.12-7.2.35.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.1.5/librarymanagement-ivy_2.12-1.1.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/directory-watcher/0.8.0%2B6-f651bd93/directory-watcher-0.8.0%2B6-f651bd93.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/zeroturnaround/zt-zip/1.13/zt-zip-1.13.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/zipkin/brave/brave/5.14.1/brave-5.14.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-sender-urlconnection/2.16.3/zipkin-sender-urlconnection-2.16.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/ow2/asm/asm/9.4/asm-9.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/ow2/asm/asm-util/9.4/asm-util-9.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/monix/monix-execution_2.12/3.2.0/monix-execution_2.12-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/monix/monix-catnap_2.12/3.2.0/monix-catnap_2.12-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/monix/monix-eval_2.12/3.2.0/monix-eval_2.12-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/monix/monix-tail_2.12/3.2.0/monix-tail_2.12-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/monix/monix-reactive_2.12/3.2.0/monix-reactive_2.12-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/monix/monix-java_2.12/3.2.0/monix-java_2.12-3.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/alexarchambault/case-app-annotations_2.12/2.0.6/case-app-annotations_2.12-2.0.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/alexarchambault/case-app-util_2.12/2.0.6/case-app-util_2.12-2.0.6.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/ch/epfl/scala/com-microsoft-java-debug-core/0.34.0%2B11/com-microsoft-java-debug-core-0.34.0%2B11.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.8.1/scala-collection-compat_2.12-2.8.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/me/vican/jorge/jsonrpc4s_2.12/0.1.0/jsonrpc4s_2.12-0.1.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.7.2/zinc-core_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.7.2/zinc-persist_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.7.2/zinc-compile-core_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.7.2/zinc-classfile_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scalaz/scalaz-effect_2.12/7.2.35/scalaz-effect_2.12-7.2.35.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.1.5/librarymanagement-core_2.12-1.1.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.9.1/sjson-new-core_2.12-0.9.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-reporter-brave/2.16.3/zipkin-reporter-brave-2.16.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-reporter/2.16.3/zipkin-reporter-2.16.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.4/asm-tree-9.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/ow2/asm/asm-analysis/9.4/asm-analysis-9.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/monix/implicitbox_2.12/0.2.0/implicitbox_2.12-0.2.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jctools/jctools-core/2.1.2/jctools-core-2.1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-effect_2.12/2.1.3/cats-effect_2.12-2.1.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/chuusai/shapeless_2.12/2.3.3/shapeless_2.12-2.3.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/google/code/gson/gson/2.10/gson-2.10.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/reactivex/rxjava2/rxjava/2.2.21/rxjava-2.2.21.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/outr/scribe_2.12/3.5.5/scribe_2.12-3.5.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.7.2/zinc-apiinfo_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.7.2/zinc-classpath_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.7.2/compiler-interface-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist-core-assembly/1.7.2/zinc-persist-core-assembly-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.7.0/io_2.12-1.7.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.7.2/util-logging_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.7.2/util-relation_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.1/sbinary_2.12-0.5.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.3.3/launcher-interface-1.3.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/net/openhft/zero-allocation-hashing/0.10.1/zero-allocation-hashing-0.10.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.7.2/util-control_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-okhttp_2.12/0.3.0/gigahorse-okhttp_2.12-0.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp-urlconnection/3.7.0/okhttp-urlconnection-3.7.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.7.2/util-position_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.1.3/util-cache_2.12-1.1.3.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/io/zipkin/zipkin2/zipkin/2.23.2/zipkin-2.23.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-core_2.12/2.1.1/cats-core_2.12-2.1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/macro-compat_2.12/1.1.1/macro-compat_2.12-1.1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/outr/perfolation_2.12/1.2.8/perfolation_2.12-1.2.8.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/outr/moduload_2.12/1.1.5/moduload_2.12-1.1.5.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.7.2/compiler-bridge_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.7.2/util-interface-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.9/file-tree-views-2.1.9.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.7.2/collections_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.7.2/core-macros_2.12-1.7.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-sbt/jline/jline/2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/jline/jline-terminal-jansi/3.19.0/jline-terminal-jansi-3.19.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.9.1/sjson-new-scalajson_2.12-0.9.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.3.0/gigahorse-core_2.12-0.3.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.7.0/okhttp-3.7.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.8.2/sjson-new-murmurhash_2.12-0.8.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-macros_2.12/2.1.1/cats-macros_2.12-2.1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-kernel_2.12/2.1.1/cats-kernel_2.12-2.1.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.1.0/jansi-2.1.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/eed3si9n/shaded-jawn-parser_2.12/0.9.1/shaded-jawn-parser_2.12-0.9.1.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.2.2/ssl-config-core_2.12-0.2.2.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/squareup/okio/okio/1.12.0/okio-1.12.0.jar /home/tgodzik/.cache/coursier/v1/https/repo1.maven.org/maven2/com/typesafe/config/1.2.0/config-1.2.0.jar ```
nrinaudo commented 1 year ago

Right, so I'm done running the command suggested by @ckipp01. It looks successful:

$ java -jar ~/Downloads/coursier.jar launch org.scalameta:metals_2.13:0.11.9 -M scala.meta.metals.DownloadDependencies
2022.12.12 09:53:49 INFO  Downloading mdoc
2022.12.12 09:53:54 INFO  Downloading scalafmt
2022.12.12 09:53:54 INFO  Downloading mtags
2022.12.12 09:53:57 INFO  Downloading semanticdb-scalac
2022.12.12 09:54:17 INFO  Downloading semanticdb-javac
2022.12.12 09:54:17 INFO  Downloading scala library and sources
2022.12.12 09:54:35 INFO  Downloading bloop
Starting the bsp launcher for bloop...
Attempting a connection to the server...
No server running at 127.0.0.1:8212, let's fire one...
Resolving ch.epfl.scala:bloop-frontend_2.12:1.5.4...
Starting bloop server at 127.0.0.1:8212...
Attempting a connection to the server...
Attempting a connection to the server...
bloop v1.5.4

Using Scala v2.12.15 and Zinc v1.6.0
Running on Java JDK v11.0.17 (C:\JPMC\DEV\TMP\ds\tools\jdk11\latest)
  -> Supports debugging user code, Java Debug Interface (JDI) is available.
Maintained by the Scala Center and the community.

But then, when trying to load a project in VS Code (after uninstalling and reinstalling the Metals extension) I get:

2022.12.12 09:56:41 INFO  tracing is enabled: path\to\project\.metals\lsp.trace.json
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/lsp4j/jsonrpc/CancelChecker
        at scala.meta.metals.Main$.main(Main.scala:53)
        at scala.meta.metals.Main.main(Main.scala)
Caused by: java.lang.ClassNotFoundException: org.eclipse.lsp4j.jsonrpc.CancelChecker
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 2 more

Happy to try anything else you might need to understand what's going on, but I'm personally way out of my depths here.

tgodzik commented 1 year ago

This is highly unexpected, looks like the classpath being printed is incomplete and does not contain the LSP Java library.

What do you get as output of: coursier fetch -p --ttl Inf org.scalameta:metals_2.13:0.11.9 -r sonatype:public -r sonatype:snapshots -p ?

nrinaudo commented 1 year ago

I’ll check asap but is this even going to work? If I specify an infinite ttl and a list of repositories that will timeout on my environment, I feel like I might be setting myself up for a long, long wi

nrinaudo commented 1 year ago

There you go (with some post-processing for anonymization and readability). I'm definitely seeing the LSP4j artifacts in there, if that's what you're looking for.

path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\metals_2.13\0.11.9\metals_2.13-0.11.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-lang\scala-library\2.13.9\scala-library-2.13.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\mtags_2.13.9\0.11.9\mtags_2.13.9-0.11.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\google\guava\guava\31.1-jre\guava-31.1-jre.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\geirsson\metaconfig-core_2.13\0.11.1\metaconfig-core_2.13-0.11.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\openjdk\jol\jol-core\0.16\jol-core-0.16.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\swoval\file-tree-views\2.1.9\file-tree-views-2.1.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\io\undertow\undertow-core\2.2.19.Final\undertow-core-2.2.19.Final.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\jboss\xnio\xnio-nio\3.8.8.Final\xnio-nio-3.8.8.Final.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\flywaydb\flyway-core\9.4.0\flyway-core-9.4.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\h2database\h2\2.1.214\h2-2.1.214.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-sbt\ipcsocket\ipcsocket\1.5.0\ipcsocket-1.5.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\ch\epfl\scala\bsp4j\2.1.0-M1\bsp4j-2.1.0-M1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\ch\epfl\scala\bloop-launcher_2.13\1.5.4\bloop-launcher_2.13-1.5.4.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\lsp4j\org.eclipse.lsp4j\0.15.0\org.eclipse.lsp4j-0.15.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\lsp4j\org.eclipse.lsp4j.debug\0.15.0\org.eclipse.lsp4j.debug-0.15.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\dev\dirs\directories\26\directories-26.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\jdt\org.eclipse.jdt.core\3.25.0\org.eclipse.jdt.core-3.25.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.ant.core\3.5.500\org.eclipse.ant.core-3.5.500.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.compare.core\3.6.600\org.eclipse.compare.core-3.6.600.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.core.commands\3.9.500\org.eclipse.core.commands-3.9.500.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.core.contenttype\3.7.500\org.eclipse.core.contenttype-3.7.500.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.core.expressions\3.6.500\org.eclipse.core.expressions-3.6.500.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.core.filesystem\1.7.500\org.eclipse.core.filesystem-1.7.500.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.core.jobs\3.10.500\org.eclipse.core.jobs-3.10.500.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.core.resources\3.13.500\org.eclipse.core.resources-3.13.500.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.core.runtime\3.16.0\org.eclipse.core.runtime-3.16.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.core.variables\3.4.600\org.eclipse.core.variables-3.4.600.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.equinox.app\1.4.300\org.eclipse.equinox.app-1.4.300.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.equinox.common\3.10.600\org.eclipse.equinox.common-3.10.600.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.equinox.preferences\3.7.600\org.eclipse.equinox.preferences-3.7.600.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.equinox.registry\3.8.600\org.eclipse.equinox.registry-3.8.600.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.osgi\3.15.0\org.eclipse.osgi-3.15.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.team.core\3.8.700\org.eclipse.team.core-3.8.700.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\platform\org.eclipse.text\3.9.0\org.eclipse.text-3.9.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\mdoc-interfaces\2.3.5\mdoc-interfaces-2.3.5.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\scalafmt-dynamic_2.13\3.5.3\scalafmt-dynamic_2.13-3.5.3.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\ch\epfl\scala\scalafix-interfaces\0.10.3\scalafix-interfaces-0.10.3.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\io\get-coursier\interface\1.0.9\interface-1.0.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\io\get-coursier\versions_2.13\0.3.1\versions_2.13-0.3.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\outr\scribe_2.13\3.10.3\scribe_2.13-3.10.3.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\outr\scribe-file_2.13\3.10.3\scribe-file_2.13-3.10.3.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\outr\scribe-slf4j_2.13\3.10.3\scribe-slf4j_2.13-3.10.3.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\lihaoyi\ujson_2.13\2.0.0\ujson_2.13-2.0.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\lihaoyi\requests_2.13\0.7.1\requests_2.13-0.7.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\scalameta_2.13\4.6.0\scalameta_2.13-4.6.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\semanticdb-scalac-core_2.13.9\4.6.0\semanticdb-scalac-core_2.13.9-4.6.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\io\github\alexarchambault\ammonite\ammonite-runner_2.13\0.4.0\ammonite-runner_2.13-0.4.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-lang\modules\scala-xml_2.13\2.1.0\scala-xml_2.13-2.1.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-lang\modules\scala-parallel-collections_2.13\1.0.4\scala-parallel-collections_2.13-1.0.4.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\virtuslab\scala-cli\scala-cli-bsp\0.1.15\scala-cli-bsp-0.1.15.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\mtags-interfaces\0.11.9\mtags-interfaces-0.11.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\lihaoyi\geny_2.13\0.7.1\geny_2.13-0.7.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\thoughtworks\qdox\qdox\2.0.2\qdox-2.0.2.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-lang\modules\scala-java8-compat_2.13\1.0.2\scala-java8-compat_2.13-1.0.2.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\jsoup\jsoup\1.15.3\jsoup-1.15.3.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\googlecode\java-diff-utils\diffutils\1.3.0\diffutils-1.3.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\lz4\lz4-java\1.8.0\lz4-java-1.8.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\checkerframework\checker-qual\3.12.0\checker-qual-3.12.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\google\errorprone\error_prone_annotations\2.11.0\error_prone_annotations-2.11.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\geirsson\metaconfig-pprint_2.13\0.11.1\metaconfig-pprint_2.13-0.11.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\typelevel\paiges-core_2.13\0.4.2\paiges-core_2.13-0.4.2.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-lang\modules\scala-collection-compat_2.13\2.8.1\scala-collection-compat_2.13-2.8.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-lang\scala-reflect\2.13.9\scala-reflect-2.13.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\jboss\xnio\xnio-api\3.8.8.Final\xnio-api-3.8.8.Final.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\jboss\threads\jboss-threads\3.1.0.Final\jboss-threads-3.1.0.Final.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\net\java\dev\jna\jna\5.12.0\jna-5.12.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\net\java\dev\jna\jna-platform\5.12.0\jna-platform-5.12.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\lsp4j\org.eclipse.lsp4j.jsonrpc.debug\0.15.0\org.eclipse.lsp4j.jsonrpc.debug-0.15.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\scalafmt-interfaces\3.5.3\scalafmt-interfaces-3.5.3.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\typesafe\config\1.4.2\config-1.4.2.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\outr\perfolation_2.13\1.2.9\perfolation_2.13-1.2.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\lihaoyi\sourcecode_2.13\0.3.0\sourcecode_2.13-0.3.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\outr\moduload_2.13\1.1.5\moduload_2.13-1.1.5.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\jline\jline\3.21.0\jline-3.21.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\fusesource\jansi\jansi\2.4.0\jansi-2.4.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\slf4j\slf4j-api\1.7.36\slf4j-api-1.7.36.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\lihaoyi\upickle-core_2.13\2.0.0\upickle-core_2.13-2.0.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\parsers_2.13\4.6.0\parsers_2.13-4.6.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-lang\scalap\2.13.9\scalap-2.13.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scala-lang\scala-compiler\2.13.9\scala-compiler-2.13.9.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\io\get-coursier\coursier-launcher_2.13\2.0.16\coursier-launcher_2.13-2.0.16.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\lihaoyi\fansi_2.13\0.3.0\fansi_2.13-0.3.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\wildfly\common\wildfly-common\1.5.4.Final\wildfly-common-1.5.4.Final.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\wildfly\client\wildfly-client-config\1.0.1.Final\wildfly-client-config-1.0.1.Final.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\xtend\org.eclipse.xtend.lib\2.24.0\org.eclipse.xtend.lib-2.24.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\google\code\gson\gson\2.9.1\gson-2.9.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\trees_2.13\4.6.0\trees_2.13-4.6.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\io\github\java-diff-utils\java-diff-utils\4.12\java-diff-utils-4.12.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\xtext\org.eclipse.xtext.xbase.lib\2.24.0\org.eclipse.xtext.xbase.lib-2.24.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\eclipse\xtend\org.eclipse.xtend.lib.macro\2.24.0\org.eclipse.xtend.lib.macro-2.24.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\common_2.13\4.6.0\common_2.13-4.6.0.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\org\scalameta\fastparse-v2_2.13\2.3.1\fastparse-v2_2.13-2.3.1.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\thesamet\scalapb\scalapb-runtime_2.13\0.11.11\scalapb-runtime_2.13-0.11.11.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\thesamet\scalapb\lenses_2.13\0.11.11\lenses_2.13-0.11.11.jar
path-to-coursier\cache\v1\https\my-repo\artifactory\maven\com\google\protobuf\protobuf-java\3.19.2\protobuf-java-3.19.2.jar
tgodzik commented 1 year ago

Looks like the classpath is indeed missing org.eclipse.lsp4j.jsonrpc-0.19.0.jar which should be there :thinking:

Are you able to bring in that library maybe if it's not available? It's a transitive library of lsp4j so should be fine

nrinaudo commented 1 year ago

This might be a symptom of me not truly understanding what's going on here. In particular, I do not know what the -p and -r flags you had me use do, and couldn't find the information either in the fetch documentation, or in coursier's -h.

But. I've had coursier fetch org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrc:0.15.0, and restarted VS Code / metals with the exact same error.

I've ran that mysterious fetch -p command again, and I'm still not seeing jsonrpc in there.

My probably incorrect interpretation here is that this is expected: I guess fetch -p prints the dependency tree, and me adding JARs to coursier's local cache has no impact on that.

So I probably just misunderstood what you meant by "bring in that library".

tgodzik commented 1 year ago

I thought that maybe an error was somehow being swallowed and jsonrpc was not being brought in. Coming back to the topic maybe the artifacts locally are somehow broken and don't refer to transitive dependencies? It seems that jsonrpc does depend on generator and that in term on jsonrpc, so this all should be brought in. And it seems some transitive ones are missing.

nrinaudo commented 1 year ago

Well, I got tired of this, trashed my entire coursier cache and restarted VS Code. I'm getting much further now, although still blocked.

At least this time, the problem is pretty clear: bloop installation. Here's what Metals is trying to find: ch/epfl/scala/sbt_bloop_2.12_1.0/1.5.4/sbt-bloop-1.5.4.pom Here's what's actually in the repo: ch/epfl/scala/sbt_bloop_2.12_1.0/1.5.4/sbt-bloop-1.5.4_2.12_1.0.pom

Notice how the artifact names are different. I can't help but feel that this is related to https://github.com/sbt/sbt/issues/3410

tgodzik commented 1 year ago

Is it when running build import? It should be resolved correctly the same way any other sbt plugin. Just running sbt works for you?

ckipp01 commented 1 year ago

This is probably due to how we include the plugin. @nrinaudo if you look into your metals.sbt file I'm assuming you see:

addSbtPlugin("ch.epfl.scala" % "sbt-bloop" % "1.5.4")

which is done by default. I'm assuming if this was

libraryDependencies += "ch.epfl.scala" % "sbt-bloop_2.12_1.0" % "1.5.4"

like sbt-vspp explains, then it'd work. In theory a workaround for you in this case could be to manually make sure the metals.sbt has what I put up above and also set bloopSbtAlreadyInstalled to true in your settings. However, this would require you to manually do this for all projects. Another potential solution is to use Metals: Switch Build Server and instead just use sbt as your build server. But then you'll probably hit on the same thing trying to resolve sbt-metals.

nrinaudo commented 1 year ago

@ckipp01 that's exactly it, yes. I suspect I could get that step to work by:

This isn't super realistic though: even if step 1 were to be achieved, there's need to be a new version of sbt-bloop published, then a new version of metals depending on that new version of sbt-bloop, then...

nrinaudo commented 1 year ago

Actually, hang on. Does Metals particularly care which version of sbt-bloop is installed, provided it supports the right tasks? Would there really need to be a new release of Metals?

ckipp01 commented 1 year ago

getting sbt-bloop published "properly" by submitting a PR that adds sbt-vspp

sbt-vspp is actually already included in the Bloop build I see and has been as of 1.5.4.

nrinaudo commented 1 year ago

Ah, you're right. Manually adding the libraryDependencies to my plugins.sbt and asking metals not to generate metals.sbt did the trick.

And on to the next issue: bsp won't start:

2022.12.27 16:28:26 ERROR Starting the bsp launcher for bloop...
2022.12.27 16:28:26 ERROR Opening a bsp server connection with 'bsp --protocol tcp --port 19185'...
2022.12.27 16:28:26 ERROR Waiting for the bsp connection to come up...
2022.12.27 16:28:26 ERROR error: The command bsp --protocol tcp --port 19185 returned with an error
2022.12.27 16:28:26 ERROR >
2022.12.27 16:28:26 ERROR error: The launcher failed to establish a bsp connection, aborting...
2022.12.27 16:28:26 ERROR Failed to connect with build server, no functionality will work.java.lang.RuntimeException: The server did not start, got FailedToOpenBspConnection
        at bloop.launcher.LauncherMain.failPromise$1(Launcher.scala:92)
        at bloop.launcher.LauncherMain.runLauncher(Launcher.scala:119)
        at scala.meta.internal.metals.BloopServers$$anon$2.run(BloopServers.scala:496)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.lang.Thread.run(Thread.java:834)

I'm about ready to give up... Note: I'm very clear this is not a metals issue, but an environment one. Using metals in a sane environment is dead easy.

tgodzik commented 1 year ago

Bloop downloads a bunch of jars and additional files, maybe you can switch to sbt BSP ?

ckipp01 commented 1 year ago

Bloop downloads a bunch of jars and additional files, maybe you can switch to sbt BSP ?

I'm assuming in that env he's going to hit on the same thing since he needs the plugin to be published also using sbt-vspp, and we don't publish metals-sbt with that. So we'd need to switch that as well, but then that'd mean you'd need to test with a snapshot @nrinaudo... which in your env sounds like hell.

@adpi2 's work on sbt plugin coordinates is going to be o so so sweet to help with all this nonsense.

nrinaudo commented 1 year ago

Maybe I could at least try to see which artifacts? is there a way to start bsp manually, so that I can try and trace what's going on?

ckipp01 commented 1 year ago

Maybe I could at least try to see which artifacts? is there a way to start bsp manually, so that I can try and trace what's going on?

Well from your trace it looks like you have your Bloop files generated so you could try something like

bloop --verbose --debug all compile <a module of yours>

And see what happens. 💣 . I think if this would work, then in reality the server should be able to start.

tgodzik commented 1 year ago

Maybe I could at least try to see which artifacts? is there a way to start bsp manually, so that I can try and trace what's going on?

Is there anything else in the logs? It should say something about unable to download dependencies. Alternatively, there might be a problem creating a Bloop server?

Potentially, you should have on your system Bloop deps ( this is for 1.5.5):

ch.epfl.scala:bloop-backend_2.12:1.5.5:default
ch.epfl.scala:bloop-config_2.12:1.5.5:default
ch.epfl.scala:bloop-frontend_2.12:1.5.5:default
ch.epfl.scala:bloop-shared_2.12:1.5.5:default
ch.epfl.scala:bsp4s_2.12:2.1.0-M3:default
ch.epfl.scala:com-microsoft-java-debug-core:0.34.0+11:default
ch.epfl.scala:directory-watcher:0.8.0+6-f651bd93:default
ch.epfl.scala:nailgun-server:ee3c4343:default
ch.epfl.scala:scala-debug-adapter_2.12:3.0.5:default
ch.epfl.scala:sockets:1.5.5:default
com.chuusai:shapeless_2.12:2.3.3:default
com.eed3si9n:gigahorse-core_2.12:0.3.0:default
com.eed3si9n:gigahorse-okhttp_2.12:0.3.0:default
com.eed3si9n:shaded-jawn-parser_2.12:0.9.1:default
com.eed3si9n:shaded-scalajson_2.12:1.0.0-M4:default
com.eed3si9n:sjson-new-core_2.12:0.9.1:default
com.eed3si9n:sjson-new-murmurhash_2.12:0.8.2:default
com.eed3si9n:sjson-new-scalajson_2.12:0.9.1:default
com.github.alexarchambault:case-app-annotations_2.12:2.0.6:default
com.github.alexarchambault:case-app-util_2.12:2.0.6:default
com.github.alexarchambault:case-app_2.12:2.0.6:default
com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-core_2.12:2.13.3.2:default
com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-macros_2.12:2.13.3.2:default
com.google.code.gson:gson:2.10:default
com.googlecode.java-diff-utils:diffutils:1.3.0:default
com.jcraft:jsch:0.1.54:default
com.lihaoyi:fansi_2.12:0.4.0:default
com.lihaoyi:pprint_2.12:0.8.1:default
com.lihaoyi:sourcecode_2.12:0.3.0:default
com.lmax:disruptor:3.4.2:default
com.outr:moduload_2.12:1.1.5:default
com.outr:perfolation_2.12:1.2.8:default
com.outr:scribe_2.12:3.5.5:default
com.squareup.okhttp3:okhttp:3.7.0:default
com.squareup.okhttp3:okhttp-urlconnection:3.7.0:default
com.squareup.okio:okio:1.12.0:default
com.swoval:file-tree-views:2.1.9:default
com.typesafe:config:1.2.0:default
com.typesafe:ssl-config-core_2.12:0.2.2:default
commons-io:commons-io:2.11.0:default
dev.dirs:directories:26:default
io.get-coursier:interface:1.0.6:default
io.monix:implicitbox_2.12:0.2.0:default
io.monix:monix-catnap_2.12:3.2.0:default
io.monix:monix-eval_2.12:3.2.0:default
io.monix:monix-execution_2.12:3.2.0:default
io.monix:monix-java_2.12:3.2.0:default
io.monix:monix-reactive_2.12:3.2.0:default
io.monix:monix-tail_2.12:3.2.0:default
io.monix:monix_2.12:3.2.0:default
io.reactivex.rxjava2:rxjava:2.2.21:default
io.zipkin.brave:brave:5.14.1:default
io.zipkin.reporter2:zipkin-reporter:2.16.3:default
io.zipkin.reporter2:zipkin-reporter-brave:2.16.3:default
io.zipkin.reporter2:zipkin-sender-urlconnection:2.16.3:default
io.zipkin.zipkin2:zipkin:2.23.2:default
me.vican.jorge:jsonrpc4s_2.12:0.1.0:default
net.java.dev.jna:jna:5.12.1:default
net.java.dev.jna:jna-platform:5.12.1:default
net.jpountz.lz4:lz4:1.3.0:default
net.openhft:zero-allocation-hashing:0.10.1:default
org.apache.commons:commons-lang3:3.12.0:default
org.apache.logging.log4j:log4j-api:2.19.0:default
org.apache.logging.log4j:log4j-core:2.19.0:default
org.fusesource.jansi:jansi:2.1.0:default
org.jctools:jctools-core:2.1.2:default
org.jline:jline-terminal:3.19.0:default
org.jline:jline-terminal-jansi:3.19.0:default
org.jline:jline-terminal-jna:3.19.0:default
org.ow2.asm:asm:9.4:default
org.ow2.asm:asm-analysis:9.4:default
org.ow2.asm:asm-tree:9.4:default
org.ow2.asm:asm-util:9.4:default
org.reactivestreams:reactive-streams:1.0.4:default
org.scala-lang:scala-compiler:2.12.16:default
org.scala-lang:scala-library:2.12.17:default
org.scala-lang:scala-reflect:2.12.16:default
org.scala-lang.modules:scala-collection-compat_2.12:2.8.1:default
org.scala-lang.modules:scala-parser-combinators_2.12:1.1.2:default
org.scala-lang.modules:scala-xml_2.12:1.0.6:default
org.scala-sbt:collections_2.12:1.7.2:default
org.scala-sbt:compiler-bridge_2.12:1.7.2:default
org.scala-sbt:compiler-interface:1.7.2:default
org.scala-sbt:core-macros_2.12:1.7.2:default
org.scala-sbt:io_2.12:1.7.0:default
org.scala-sbt:launcher-interface:1.3.3:default
org.scala-sbt:librarymanagement-core_2.12:1.1.5:default
org.scala-sbt:librarymanagement-ivy_2.12:1.1.5:default
org.scala-sbt:sbinary_2.12:0.5.1:default
org.scala-sbt:test-agent:1.8.0:default
org.scala-sbt:test-interface:1.0:default
org.scala-sbt:util-cache_2.12:1.1.3:default
org.scala-sbt:util-control_2.12:1.7.2:default
org.scala-sbt:util-interface:1.7.2:default
org.scala-sbt:util-logging_2.12:1.7.2:default
org.scala-sbt:util-position_2.12:1.7.2:default
org.scala-sbt:util-relation_2.12:1.7.2:default
org.scala-sbt:zinc-apiinfo_2.12:1.7.2:default
org.scala-sbt:zinc-classfile_2.12:1.7.2:default
org.scala-sbt:zinc-classpath_2.12:1.7.2:default
org.scala-sbt:zinc-compile-core_2.12:1.7.2:default
org.scala-sbt:zinc-core_2.12:1.7.2:default
org.scala-sbt:zinc-persist-core-assembly:1.7.2:default
org.scala-sbt:zinc-persist_2.12:1.7.2:default
org.scala-sbt:zinc_2.12:1.7.2:default
org.scala-sbt.ivy:ivy:2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310:default
org.scala-sbt.jline:jline:2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493:default
org.scalaz:scalaz-concurrent_2.12:7.2.35:default
org.scalaz:scalaz-core_2.12:7.2.35:default
org.scalaz:scalaz-effect_2.12:7.2.35:default
org.slf4j:slf4j-api:1.7.26:default
org.typelevel:cats-core_2.12:2.1.1:default
org.typelevel:cats-effect_2.12:2.1.3:default
org.typelevel:cats-kernel_2.12:2.1.1:default
org.typelevel:cats-macros_2.12:2.1.1:default
org.typelevel:macro-compat_2.12:1.1.1:default
org.zeroturnaround:zt-zip:1.13:default
nrinaudo commented 1 year ago

Well, installing the bloop CLI is apparently going to take quite a while again - coursier fails, and I'll probably need to manually track down all dependencies and make them available one after the other.

I've already spent more time than I had on this today, so I need to give up for a bit. Will get back to you if I manage to make progress.

If you'd like to just close this ticket as WONTFIX, that seems fair. My locked down environment is shooting holes in a whole bunch of unrelated tools, it's not at all clear it's to do with Metals. Metals is just the last domino in the sequence.

tgodzik commented 1 year ago

If you'd like to just close this ticket as WONTFIX, that seems fair. My locked down environment is shooting holes in a whole bunch of unrelated tools, it's not at all clear it's to do with Metals. Metals is just the last domino in the sequence.

It would be great to have Metals work in even most closed down environments, so think it's good to keep the issue open. Thanks for your patience!

nrinaudo commented 1 year ago

Oh no, thank you for being so patient and walking me through this, one baby step at a time!

ScalaWilliam commented 1 year ago

Managed to get it resolved in a locked down environment!

It was not very straightforward, but the last hurdle was bloop-launcher. I noticed that it also does a Coursier fetch. I would add into consideration 2 things that would help getting this running in locked down environments in general:

While this might not be popular, I'd like to float if something like OSGi would begin to make sense in SBT/Bloop/Metals, as process launching across different environments is tricky business.

ckipp01 commented 1 year ago

I'm happy to hear you finally got it all figured out! I'm confident that if you can get it to work in the environment, it will work anywhere 😆 .

It would be great if artifact fetching is done at the top-most level by a single responsible party.

That's tricky since the last issues you hit on should in theory be an implementation detail of the build server, and Metals really should even care what build server is being used. In theory you can use any build server that works with your build, it's just that Bloop is chosen by default here. I understand the pain, but I think the more modular approach that Metals takes by is probably something we want to keep. Again, I understand that's tricky in your case, but maybe it's a good indication that some of the other tools in the ecosystem, like Bloop, could also be improved here to work better / log better in these types of situations.

Either way, this is great feedback @ScalaWilliam and something we can for sure discuss/think on more. Thanks!

ScalaWilliam commented 1 year ago

@ckipp01 a couple more details to help get this resolved:

There might be more. At the moment during the debugging, it seems that there's a problem somewhere between Validation and launching the actual JVM process.

ckipp01 commented 1 year ago

It would help with debugging better if it would be possible to pass this port through somewhere.

You actually can. For example Metals will look for a system property metals.bloop-port and will use that to pass to Bloop when launching. It's not really documented because there normally isn't a good usecase to switch it or override it. So it's sort of a hidden power feature.

Cannot find logging working in Bloopgun

How are you using Bloopgun? Again I think the experience you're sort of looking for here is the Bloop CLI, which is essentially bloopgun. When using this, doing things like

I managed to launch a BSP server directly via coursier (bloop.Server)

I've never actually launched bloop this way, but instead if the goal is to launch Bloop manually, the using the Bloop CLI would be the recommended way to do this. Then flags like --verbose --debug all should give you quite a bit of info.

Setting --debug all and --verbose true doesn't seem to create/update files in .bloop which is the default directory.

Again, depending on how you're using this, but if you're using Bloop CLI, this should indeed be happening. The CLI should essentially be being treated as another BSP client.

I got the impression based on your comments above that you can use a local bsp binary, but the code tells me otherwise.

My comment was much more generic than Bloop. In general yes, any BSP server that is running should be able to be used, as long as it follows BSP discovery and Metals knows how to connect to it. Unfortunately in the case of Bloop, it doesn't follow BSP discovery, which is why Metals has quite a bit of specific stuff just to handle launching Bloop.

I'm curious during all this testing, have you instead just given sbt as your BSP server a try? I know there is some issues probably with resolving the Metals sbt plugin, but just using sbt in your scenario may simplify things greatly. We can address the plugin thing to make that easier.

tgodzik commented 1 year ago

Update that might help out some people: Metals VS Code extension in the latest prerelease will try to find cs or coursier on the PATH and use that. This makes it a bit easier for corporate envs, since we wouldn't need to download coursier jars from Maven Central.

Next step would be to have a way to automatically download coursier binaries somehow, which could setup things such as Java etc.

jpassaro commented 1 year ago

encountered a version of this with metals 0.11.12 on VSCode.

Based on @ckipp01 's advice above, I ran

$ coursier launch org.scalameta:metals_2.13:0.11.12 -M scala.meta.metals.DownloadDependencies
Exception in thread "main" java.lang.NoClassDefFoundError: scribe/LoggerSupport

the command works fine with 0.11.11.

I finally figured out how to downgrade but please let me know if there's a better workaround so I can stay up to date!

tgodzik commented 1 year ago
LoggerSupport

I think you are missing the latest scribe version? We are using https://github.com/outr/scribe/releases/tag/3.11.1

Not sure why it wouldn't just be mentioned by coursier :thinking:

jpassaro commented 1 year ago

I'll try a manual install later, but if it's a declared dependency, why wouldn't coursier have installed it and added it to the classpath?