From 72e47844ab573ab738b46f9e44159681189eea78 Mon Sep 17 00:00:00 2001 From: Akihito Koriyama Date: Mon, 10 Aug 2026 17:43:14 +0900 Subject: [PATCH 1/2] Build against PhpStorm 2026.2 - platformVersion 2025.1 -> 2026.2 (since-build stays 251, so 2025.1+ users are unaffected) - IntelliJ Platform Gradle Plugin 2.2.1 -> 2.18.1 (2.2.1 cannot parse the 2026.2 module descriptors) - Gradle 8.12 -> 9.7 (required by IGP 2.18.1) - Kotlin plugin 1.9.25 -> 2.4.10 (Gradle 9 support) - Auto-provision the Java 25 toolchain via the foojay resolver when no suitable JDK is installed locally Verified: ./gradlew test and ./gradlew buildPlugin pass against PhpStorm 2026.2. --- CHANGELOG.md | 2 ++ build.gradle.kts | 4 ++-- gradle.properties | 4 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle.kts | 16 ++++++++++++++++ 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79ff056..f75d759 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ - Incoming Link/Embed relation gutter: BEAR.Resource methods now show incoming static `#[Link]` / `#[Embed]` relations from other resources and navigate back to the source attribute declaration. ### Changed +- Build against PhpStorm 2026.2 (`platformVersion = 2026.2`); plugin remains compatible with 2025.1+ (`since-build = 251`) +- IntelliJ Platform Gradle Plugin updated to 2.18.1, Gradle to 9.7, Kotlin plugin to 2.4.10; JDK toolchain (Java 25) is auto-provisioned via the foojay resolver when not installed locally - Ray.Aop bound-interceptor gutter/action now uses a dedicated AOP icon instead of the BEAR resource icon. - BEAR and Ray gutter icons now use transparent backgrounds. - Incoming resource relation gutters moved from the resource class name to the target resource method (`#[Embed]` always maps to `onGet`; `#[Link]` maps from its `method` argument and defaults to `onGet`). diff --git a/build.gradle.kts b/build.gradle.kts index 8915727..19e607e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,8 +5,8 @@ fun environment(key: String) = providers.environmentVariable(key) plugins { id("java") - id("org.jetbrains.kotlin.jvm") version "1.9.25" - id("org.jetbrains.intellij.platform") version "2.2.1" + id("org.jetbrains.kotlin.jvm") version "2.4.10" + id("org.jetbrains.intellij.platform") version "2.18.1" } group = properties("pluginGroup").get() diff --git a/gradle.properties b/gradle.properties index 7ccbeba..82af9f3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,13 +11,13 @@ pluginSinceBuild = 251 pluginUntilBuild = # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html -platformVersion = 2025.1 +platformVersion = 2026.2 # Java language level used to compile sources and to generate the files for javaVersion = 21 # Gradle Releases -> https://github.com/gradle/gradle/releases -gradleVersion = 8.12 +gradleVersion = 9.7.0 # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cea7a79..1e922f4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle.kts b/settings.gradle.kts index c6df356..9f32fd4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -5,4 +5,20 @@ pluginManagement { } } +plugins { + // Auto-provision the JDK toolchain (Java 25 for the 2026.2 platform) when it is + // not installed locally. + id("org.gradle.toolchains.foojay-resolver") version "1.0.0" +} + +toolchainManagement { + jvm { + javaRepositories { + repository("foojay") { + resolverClass = org.gradle.toolchains.foojay.FoojayToolchainResolver::class.java + } + } + } +} + rootProject.name = "idea-php-bearsunday-plugin" \ No newline at end of file From bddf1bbb63ecf84cb888e24c259c1627160e62f9 Mon Sep 17 00:00:00 2001 From: Akihito Koriyama Date: Mon, 10 Aug 2026 18:01:08 +0900 Subject: [PATCH 2/2] Pin Gradle to 9.5.0, the latest release fully supported by Kotlin 2.4.10 --- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 82af9f3..d7ac3e2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ platformVersion = 2026.2 javaVersion = 21 # Gradle Releases -> https://github.com/gradle/gradle/releases -gradleVersion = 9.7.0 +gradleVersion = 9.5.0 # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1e922f4..1a70468 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME