Tobias Roeser
Tobias Roeser
To generate SemanticDB data you can run: ``` mill __.semanticDbData ``` which should be much faster than a full compile with ``` mill __.compile ```
``` $ time dev-mill showNamed main.__.compile ... real 0m49,278s user 0m2,335s sys 0m1,365s $ time dev-mill showNamed main.__.semanticDbData ... { "main.semanticDbData": "ref:30554a91:/home/lefou/work/opensource/mill-bsp/out/main/semanticDbData.dest/classes", "main.api.semanticDbData": "ref:de11efa5:/home/lefou/work/opensource/mill-bsp/out/main/api/semanticDbData.dest/classes", "main.core.semanticDbData": "ref:d2ffde84:/home/lefou/work/opensource/mill-bsp/out/main/core/semanticDbData.dest/classes", "main.core.test.semanticDbData": "ref:5c9525c2:/home/lefou/work/opensource/mill-bsp/out/main/core/test/semanticDbData.dest/classes", "main.graphviz.semanticDbData": "ref:5b070d40:/home/lefou/work/opensource/mill-bsp/out/main/graphviz/semanticDbData.dest/classes",...
@ckipp01 I think this branch should now produce some semanticDB data to be used by Metals. We only enable when we see that a semanticDB version is send in the...
It can be, that my change messed up with the compile progress. Also, looks like Metals has now issues with some URIs which contain query components. I think, this is...
I also rebased to the main branch, so don't expect that the `mill-build` module is functional.
@ckipp01 I can't reproduce your issues with https://github.com/ckipp01/mill-minimal. ``` [Trace - 10:29:21 vorm.] Received request 'build/initialize - (1)' Params: { "rootUri": "file:///home/lefou/work/tmp/mill-minimal/", "displayName": "Metals", "version": "0.11.8", "bspVersion": "2.1.0-M1", "capabilities": {...
Also, this is what the new Metals Doctor displays: --- Build server currently being used is mill-bsp v0.10.5-62-6ae288. ([Reset](command:metals.reset-choice?%5B%22Build+server+selection%22%5D)) Metals Java: 11.0.15 from Eclipse Adoptium located at /opt/openjdk-bin-11.0.15_p10 Metals Server...
I fixed the issue with failed compilation in `mill-build`. Looks like Metals is trying to compile it, even though we say it does not support compilation via BSP. (`BspCompileTarget.canCompile=false`)
Now I see, that the Metals Doctor is still the same, but it was simply not displaying the modules it already knows about. And the rendering doesn't make it obvious....
Maybe Metals could use semanticDB files it finds in the classpath, and only, if there are none, it could inspect the `scalacOptions` as a hint, whether the user (or the...