From abc2b2957a7079452ed6ec7175dbf1d97b039fbf Mon Sep 17 00:00:00 2001 From: "neoforged-renovate[bot]" <174042230+neoforged-renovate[bot]@users.noreply.github.com> Date: Wed, 17 Dec 2025 13:05:38 +0000 Subject: [PATCH 1/2] Update dependency com.jetbrains.intellij.java:java-psi-impl to v253 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 91dfa49..a02fc1d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ -intellij_version=233.11799.300 +intellij_version=253.28294.334 jetbrains_annotations_version=24.1.0 picocli_version=4.7.6 junit_version=5.10.3 From 9a82fe19da76e562cd041632e4d0896f1f5edcad Mon Sep 17 00:00:00 2001 From: Matyrobbrt Date: Wed, 17 Dec 2025 16:14:39 +0200 Subject: [PATCH 2/2] Fixes --- api/build.gradle | 3 +++ .../cli/intellij/IntelliJEnvironmentImpl.java | 21 ++++++++++++++++--- gradle.properties | 3 +-- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/api/build.gradle b/api/build.gradle index 24814ba..1feecee 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -17,7 +17,10 @@ java { } dependencies { + api "com.jetbrains.intellij.platform:core:$intellij_version" + api "com.jetbrains.intellij.platform:util:$intellij_version" api "com.jetbrains.intellij.java:java-psi-impl:$intellij_version" + api "com.jetbrains.intellij.java:java-indexing-impl:$intellij_version" api "info.picocli:picocli:$picocli_version" api "net.neoforged.installertools:problems-api:$problems_api_version" compileOnly "org.jetbrains:annotations:$jetbrains_annotations_version" diff --git a/cli/src/main/java/net/neoforged/jst/cli/intellij/IntelliJEnvironmentImpl.java b/cli/src/main/java/net/neoforged/jst/cli/intellij/IntelliJEnvironmentImpl.java index 9356f3a..07742fb 100644 --- a/cli/src/main/java/net/neoforged/jst/cli/intellij/IntelliJEnvironmentImpl.java +++ b/cli/src/main/java/net/neoforged/jst/cli/intellij/IntelliJEnvironmentImpl.java @@ -3,7 +3,9 @@ import com.intellij.core.CoreApplicationEnvironment; import com.intellij.core.JavaCoreApplicationEnvironment; import com.intellij.core.JavaCoreProjectEnvironment; +import com.intellij.lang.MetaLanguage; import com.intellij.lang.java.JavaLanguage; +import com.intellij.lang.jvm.JvmMetaLanguage; import com.intellij.lang.jvm.facade.JvmElementProvider; import com.intellij.mock.MockProject; import com.intellij.openapi.Disposable; @@ -57,12 +59,12 @@ public IntelliJEnvironmentImpl(Logger logger) throws IOException { this.logger = logger; System.setProperty("java.awt.headless", "true"); - tempDir = Files.createTempDirectory("jst"); + tempDir = Files.createTempDirectory("jst").toAbsolutePath(); this.rootDisposable = Disposer.newDisposable(); - System.setProperty("idea.home.path", tempDir.toAbsolutePath().toString()); + System.setProperty("idea.home.path", tempDir.toString()); // IDEA requires a config directory, even if it's empty - PathManager.setExplicitConfigPath(tempDir.toAbsolutePath().toString()); + PathManager.setExplicitConfigPath(tempDir.toString()); Registry.markAsLoaded(); // Avoids warnings about config not being loaded var appEnv = new JavaCoreApplicationEnvironment(rootDisposable) { @@ -179,7 +181,20 @@ private void initAppExtensionsAndServices(JavaCoreApplicationEnvironment appEnv) CoreApplicationEnvironment.registerExtensionPoint(appExtensions, PsiAugmentProvider.EP_NAME, PsiAugmentProvider.class); CoreApplicationEnvironment.registerExtensionPoint(appExtensions, JavaModuleSystem.EP_NAME, JavaModuleSystem.class); CoreApplicationEnvironment.registerExtensionPoint(appExtensions, TreeGenerator.EP_NAME, TreeGenerator.class); + CoreApplicationEnvironment.registerExtensionPoint(appExtensions, MetaLanguage.EP_NAME, MetaLanguage.class); + appExtensions.getExtensionPoint(TreeGenerator.EP_NAME).registerExtension(new JavaTreeGenerator(), rootDisposable); + appExtensions.getExtensionPoint(MetaLanguage.EP_NAME).registerExtension(createInstance(JvmMetaLanguage.class), rootDisposable); + } + + private static T createInstance(Class clazz) { + try { + var ctor = clazz.getDeclaredConstructor(); + ctor.setAccessible(true); + return ctor.newInstance(); + } catch (Exception e) { + throw new RuntimeException(e); + } } } diff --git a/gradle.properties b/gradle.properties index a02fc1d..9bc8c01 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,4 @@ - -intellij_version=253.28294.334 +intellij_version=251.29188.22 jetbrains_annotations_version=24.1.0 picocli_version=4.7.6 junit_version=5.10.3