From b54f97f2eba31f843de44d1803d8c62e3bc725d4 Mon Sep 17 00:00:00 2001 From: Tomasz Godzik Date: Tue, 1 Sep 2026 12:03:47 +0200 Subject: [PATCH] bugfix: Add the needed javac options to metals We need these to access the java compiler internals. --- apps/resources/metals-mcp.json | 30 ++++++++++++++++++++++++------ apps/resources/metals.json | 29 +++++++++++++++++++++++------ 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/apps/resources/metals-mcp.json b/apps/resources/metals-mcp.json index 705abab..03ed7b9 100644 --- a/apps/resources/metals-mcp.json +++ b/apps/resources/metals-mcp.json @@ -1,9 +1,27 @@ { - "repositories": [ - "central" + "repositories": ["central"], + "javaOptions": [ + "-Xms100m", + "-Xss4m", + "-Xmx2g", + "--add-opens=java.base/java.nio=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", + "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED", + "--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", + "--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED", + "--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED", + "--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED" ], - "javaOptions": ["-Xms100m", "-Xss4m", "-Xmx2g"], - "dependencies": [ - "org.scalameta::metals-mcp:latest.stable" - ] + "dependencies": ["org.scalameta::metals-mcp:latest.stable"] } diff --git a/apps/resources/metals.json b/apps/resources/metals.json index ec92551..d04b697 100644 --- a/apps/resources/metals.json +++ b/apps/resources/metals.json @@ -1,9 +1,26 @@ { - "repositories": [ - "central" + "repositories": ["central"], + "javaOptions": [ + "-Xms100m", + "-Xss4m", + "--add-opens=java.base/java.nio=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", + "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", + "--add-opens=java.base/sun.nio.ch=ALL-UNNAMED", + "--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", + "--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED", + "--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED", + "--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED" ], - "javaOptions": ["-Xms100m", "-Xss4m"], - "dependencies": [ - "org.scalameta::metals:latest.stable" - ] + "dependencies": ["org.scalameta::metals:latest.stable"] }