Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ jobs:
platform_version: [ "251" ]
os: [ ubuntu, windows, macos ]
include:
# Run tests with latest platform version, but only on Linux
- platform_version: "261"
- platform_version: "261" # latest released version
os: ubuntu
- platform_version: "262" # latest EAP version
os: ubuntu

name: Test ${{ matrix.platform_version }} on ${{ matrix.os }}
Expand Down
4 changes: 2 additions & 2 deletions .run/runIde 2024.3.run.xml → .run/runIDE 2026.1.run.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="runIde 2024.3" type="GradleRunConfiguration" factoryName="Gradle">
<configuration default="false" name="runIDE 2026.1" type="GradleRunConfiguration" factoryName="Gradle">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="-PplatformVersion=243" />
<option name="scriptParameters" value="-PplatformVersion=261" />
<option name="taskDescriptions">
<list />
</option>
Expand Down
12 changes: 6 additions & 6 deletions .run/Run tests (2024.3).run.xml → .run/runIDE 2026.2.run.xml
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Run tests (2024.3)" type="GradleRunConfiguration" factoryName="Gradle">
<configuration default="false" name="runIDE 2026.2" type="GradleRunConfiguration" factoryName="Gradle">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="-PplatformVersion=243" />
<option name="scriptParameters" value="-PplatformVersion=262" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="test" />
<option value=":runIde" />
</list>
</option>
<option name="vmOptions" />
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>true</RunAsTest>
<RunAsTest>false</RunAsTest>
<method v="2" />
</configuration>
</component>
87 changes: 47 additions & 40 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ buildscript {
plugins {
idea
id("org.jetbrains.kotlin.jvm")
id("org.jetbrains.intellij.platform") version "2.13.1"
id("org.jetbrains.intellij.platform") version "2.17.0"
id("org.jetbrains.changelog") version "2.2.1"
id("com.adarshr.test-logger") version "4.0.0"
id("de.undercouch.download") version "5.6.0"
Expand All @@ -45,6 +45,24 @@ version = pluginVersionString

val platformVersion = prop("platformVersion").toInt()

// Bundled plugins that com.intellij.java requires but that the Gradle plugin no longer pulls in
// transitively (JetBrains/intellij-platform-gradle-plugin#1930), so the Java plugin is excluded from
// the 262+ test sandbox and its services (JavaDirectoryService, JavaAwareProjectJdkTable, run-config
// types) never register. There is no catch-all/"full IDE" test mode, so we list them explicitly.
// To refresh after a platform bump: run tests, look for "'Java' ... excluded" / "X is not resolved"
// in the sandbox log, and add the plugin owning module X (`printBundledPlugins` lists the IDs).
val javaTestCompanionPlugins = listOf(
"intellij.structureView.plugin",
"intellij.bookmarks.plugin",
"intellij.testRunner.plugin",
"intellij.todo.plugin",
"intellij.structuralSearch.plugin",
"intellij.libraries.misc.plugin",
"com.intellij.copyright",
"org.jetbrains.plugins.terminal",
"XPathView",
)

val isCI = System.getenv("CI") == "true"
val agentOutputPath = rootProject.layout.buildDirectory.asFile.get()
.resolve("appmap-java-agent")
Expand Down Expand Up @@ -84,26 +102,21 @@ allprojects {
testFramework(TestFrameworkType.Plugin.Java)
}

// org.jetbrains.intellij.platform requires to bundledModules for 2024.2+
if (platformVersion >= 242) {
bundledModule("intellij.platform.collaborationTools")
bundledModule("intellij.platform.vcs.impl")
}
// 2024.3 extracted JSON support into a plugin
if (platformVersion >= 243) {
bundledPlugins("com.intellij.modules.json")
}
bundledModule("intellij.platform.collaborationTools")
bundledModule("intellij.platform.vcs.impl")
bundledPlugins("com.intellij.modules.json")

// 2025.3 extracted OAuth support into modules
if (platformVersion >= 253) {
bundledModule("intellij.platform.collaborationTools.auth.base")
bundledModule("intellij.platform.collaborationTools.auth")
bundledModule("intellij.platform.vcs.dvcs")
bundledModule("intellij.platform.vcs.dvcs.impl")
bundledModule("com.intellij.modules.jcef")
}
bundledPlugin("Git4Idea")
}

// added because org.jetbrains.intellij.platform resolves to an older version bundled with the SDK
compileOnly("org.jetbrains:annotations:24.1.0")

compileOnly("com.google.code.findbugs:jsr305:3.0.2")

implementation("org.yaml:snakeyaml:1.33")
Expand All @@ -124,9 +137,6 @@ allprojects {
testImplementation(project(":plugin-core", "testOutput"))
}

// workaround for https://github.com/JetBrains/intellij-platform-gradle-plugin/issues/1663
testImplementation("org.opentest4j:opentest4j:1.3.0")

// Subproject test-integration must not get our additional test dependencies
// because mockserver is conflicting with the SDK's bundled library versions.
// See https://github.com/getappmap/appmap-intellij-plugin/pull/794.
Expand All @@ -140,19 +150,24 @@ allprojects {
instrumentCode = false
}

val jvmVersion = when {
platformVersion >= 262 -> "25"
else -> "21"
}

// https://plugins.jetbrains.com/docs/intellij/setting-up-theme-environment.html#add-jdk-and-intellij-platform-plugin-sdk
configure<JavaPluginExtension> {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
sourceCompatibility = JavaVersion.toVersion(jvmVersion)
targetCompatibility = JavaVersion.toVersion(jvmVersion)
}

tasks {
compileKotlin {
compilerOptions.jvmTarget.set(JvmTarget.JVM_21)
compilerOptions.jvmTarget.set(JvmTarget.fromTarget(jvmVersion))
}

compileTestKotlin {
compilerOptions.jvmTarget.set(JvmTarget.JVM_21)
compilerOptions.jvmTarget.set(JvmTarget.fromTarget(jvmVersion))
}

processTestResources {
Expand Down Expand Up @@ -196,15 +211,10 @@ allprojects {
}

plugins {
// org.jetbrains.intellij.platform requires to bundledModules for 2024.2+
if (platformVersion >= 242) {
bundledModule("intellij.platform.collaborationTools")
bundledModule("intellij.platform.vcs.impl")
}
// 2024.3 extracted JSON support into a plugin
if (platformVersion >= 243) {
bundledPlugins("com.intellij.modules.json")
}
bundledModule("intellij.platform.collaborationTools")
bundledModule("intellij.platform.vcs.impl")
bundledPlugins("com.intellij.modules.json")

// 2025.3 extracted OAuth support into modules
if (platformVersion >= 253) {
bundledModule("intellij.platform.collaborationTools.auth.base")
Expand Down Expand Up @@ -287,17 +297,11 @@ project(":") {

dependencies {
intellijPlatform {
// use pluginComposedModule when https://github.com/JetBrains/intellij-platform-gradle-plugin/issues/1971 is fixed
implementation(project(":plugin-core"))
implementation(project(":plugin-gradle"))
implementation(project(":plugin-java"))
implementation(project(":plugin-maven"))
implementation(project(":plugin-copilot"))
/*pluginComposedModule(implementation(project(":plugin-core")))
pluginComposedModule(implementation(project(":plugin-core")))
pluginComposedModule(implementation(project(":plugin-gradle")))
pluginComposedModule(implementation(project(":plugin-java")))
pluginComposedModule(implementation(project(":plugin-maven")))
pluginComposedModule(implementation(project(":plugin-copilot")))*/
pluginComposedModule(implementation(project(":plugin-copilot")))

// adding this for runIde support
compatiblePlugin("com.github.copilot")
Expand Down Expand Up @@ -336,10 +340,9 @@ project(":") {
types.set(listOf(IntelliJPlatformType.IntellijIdeaCommunity))
}

// latest supported major version, 2025.3+ is only available as a unified build
select {
sinceBuild = "261"
untilBuild = "261.*"
sinceBuild = "262"
untilBuild = "262.*"
types.set(listOf(IntelliJPlatformType.IntellijIdea))
}
}
Expand Down Expand Up @@ -494,6 +497,10 @@ project(":plugin-java") {
intellijPlatform {
bundledPlugin("com.intellij.java")
bundledPlugin("com.intellij.properties")
// see javaTestCompanionPlugins
if (platformVersion >= 262) {
bundledPlugins(javaTestCompanionPlugins)
}
}
}
}
Expand Down
1 change: 0 additions & 1 deletion gradle-252.properties

This file was deleted.

1 change: 0 additions & 1 deletion gradle-253.properties

This file was deleted.

2 changes: 1 addition & 1 deletion gradle-261.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ideVersion=2026.1.3
ideVersion=2026.1.3
1 change: 1 addition & 0 deletions gradle-262.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ideVersion=262.8377.35
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ platformVersion=251
sinceBuild=251.0

# https://mvnrepository.com/artifact/org.projectlombok/lombok
lombokVersion=1.18.36
lombokVersion=1.18.46

kotlin.stdlib.default.dependency=false

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import appland.copilotChat.copilot.CopilotModelDefinition;
import appland.copilotChat.copilot.GitHubCopilotService;
import appland.settings.AppMapApplicationSettingsService;
import com.intellij.ide.plugins.PluginManager;
import com.intellij.ide.plugins.PluginManagerCore;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

Expand Down Expand Up @@ -63,9 +63,7 @@ private static boolean isGitHubCopilotDisabled() {
return true;
}

return PluginManager.getLoadedPlugins()
.stream()
.noneMatch(plugin -> plugin.isEnabled() && plugin.getPluginId().equals(GitHubCopilotService.CopilotPluginId));
return !PluginManagerCore.isPluginInstalled(GitHubCopilotService.CopilotPluginId) || PluginManagerCore.isDisabled(GitHubCopilotService.CopilotPluginId);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public void runActivity(@NotNull Project project) {
}

// don't show if the GitHub Copilot plugin is unavailable
if (CopilotAppMapEnvProvider.isDisabled()) {
if (CopilotModelInfoProvider.isDisabled()) {
return;
}

Expand Down

This file was deleted.

Loading
Loading