diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index da8269a..d364787 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -27,18 +27,18 @@ jobs:
# Check out the current repository
- name: Fetch Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
# Set up the Java environment for the next steps
- name: Setup Java
- uses: actions/setup-java@v4
+ uses: actions/setup-java@v5
with:
distribution: zulu
java-version: 21
# Setup Gradle
- name: Setup Gradle
- uses: gradle/actions/setup-gradle@v4
+ uses: gradle/actions/setup-gradle@v5
# Build plugin
- name: Build plugin
@@ -66,14 +66,14 @@ jobs:
# Check out the current repository
- name: Fetch Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
with:
- ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit
- fetch-depth: 0 # a full history is required for pull request analysis
+ ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit
+ fetch-depth: 0 # a full history is required for pull request analysis
# Set up the Java environment for the next steps
- name: Setup Java
- uses: actions/setup-java@v4
+ uses: actions/setup-java@v5
with:
distribution: zulu
java-version: 21
@@ -106,18 +106,18 @@ jobs:
# Check out the current repository
- name: Fetch Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
# Set up the Java environment for the next steps
- name: Setup Java
- uses: actions/setup-java@v4
+ uses: actions/setup-java@v5
with:
distribution: zulu
java-version: 21
# Setup Gradle
- name: Setup Gradle
- uses: gradle/actions/setup-gradle@v4
+ uses: gradle/actions/setup-gradle@v5
with:
cache-read-only: true
@@ -128,7 +128,7 @@ jobs:
# Collect Plugin Verifier Result
- name: Collect Plugin Verifier Result
if: ${{ always() }}
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v5
with:
name: pluginVerifier-result
path: ${{ github.workspace }}/build/reports/pluginVerifier
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3d809a9..1cb3968 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,7 +1,8 @@
name: Release
on:
release:
- types: [released]
+ types: [ released ]
+
jobs:
# Prepare and publish the GitHub releases
@@ -22,20 +23,20 @@ jobs:
# Check out the current repository
- name: Fetch Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
with:
ref: ${{ github.event.release.tag_name }}
# Set up the Java environment for the next steps
- name: Setup Java
- uses: actions/setup-java@v4
+ uses: actions/setup-java@v5
with:
distribution: zulu
java-version: 21
# Setup Gradle
- name: Setup Gradle
- uses: gradle/actions/setup-gradle@v4
+ uses: gradle/actions/setup-gradle@v5
with:
cache-read-only: true
diff --git a/.run/Run Plugin.run.xml b/.run/Run Plugin.run.xml
index c4ec3d6..855d1a8 100644
--- a/.run/Run Plugin.run.xml
+++ b/.run/Run Plugin.run.xml
@@ -16,10 +16,10 @@
- true
+ false
true
false
false
-
\ No newline at end of file
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a4ff9ce..231ab88 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
## [Unreleased]
+## 2.0.12 - 24.12.2025
+
+- Adapt code for PhpStorm 2025.3
+
# 2.0.11 - 10.09.2025
- Changed default value for sync folder in settings
diff --git a/build.gradle.kts b/build.gradle.kts
index a02d1d7..dc2c78f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -7,10 +7,10 @@ plugins {
alias(libs.plugins.kotlin) // Kotlin support
alias(libs.plugins.intelliJPlatform) // IntelliJ Platform Gradle Plugin
alias(libs.plugins.changelog) // Gradle Changelog Plugin
+ alias(libs.plugins.kover) // Gradle Kover Plugin
alias(libs.plugins.kotlinSerialization) // Kotlinx serialization
alias(libs.plugins.gradleDetektPlugin) // Gradle Detekt Plugin
alias(libs.plugins.gradleDiktatPlugin) // Gradle Diktat Plugin
- alias(libs.plugins.kover) // Gradle Kover Plugin
}
group = providers.gradleProperty("pluginGroup").get()
@@ -32,7 +32,7 @@ repositories {
}
}
-// Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog
+// Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/version_catalogs.html
dependencies {
detektPlugins(libs.detektFormatting)
@@ -43,7 +43,7 @@ dependencies {
// IntelliJ Platform Gradle Plugin Dependencies Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-dependencies-extension.html
intellijPlatform {
- create(providers.gradleProperty("platformType"), providers.gradleProperty("platformVersion"))
+ phpstorm(providers.gradleProperty("platformVersion"))
// Plugin Dependencies. Uses `platformBundledPlugins` property from the gradle.properties file for bundled IntelliJ Platform plugins.
bundledPlugins(providers.gradleProperty("platformBundledPlugins").map { it.split(',') })
@@ -51,6 +51,9 @@ dependencies {
// Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file for plugin from JetBrains Marketplace.
plugins(providers.gradleProperty("platformPlugins").map { it.split(',') })
+ // Module Dependencies. Uses `platformBundledModules` property from the gradle.properties file for bundled IntelliJ Platform modules.
+ bundledModules(providers.gradleProperty("platformBundledModules").map { it.split(',') })
+
testFramework(TestFrameworkType.Platform)
}
}
@@ -76,7 +79,6 @@ intellijPlatform {
ideaVersion {
sinceBuild = providers.gradleProperty("pluginSinceBuild")
- untilBuild = providers.gradleProperty("pluginUntilBuild")
}
}
@@ -95,7 +97,7 @@ changelog {
repositoryUrl = providers.gradleProperty("pluginRepositoryUrl")
}
-// Configure Gradle Kover Plugin - read more: https://github.com/Kotlin/kotlinx-kover#configuration
+// Configure Gradle Kover Plugin - read more: https://kotlin.github.io/kotlinx-kover/gradle-plugin/#configuration-details
kover {
reports {
total {
diff --git a/gradle.properties b/gradle.properties
index 6df2f29..e2c34e9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,28 +3,26 @@
pluginGroup = com.vk
pluginName = admstorm
pluginRepositoryUrl = https://github.com/VKCOM/admstorm
+
# SemVer format -> https://semver.org
-pluginVersion = 2.0.11
+pluginVersion = 2.0.12
# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
-pluginSinceBuild = 252
-pluginUntilBuild = 252.*
+pluginSinceBuild = 253
# IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension
-platformType = PS
-platformVersion = 2025.2
+platformVersion = 2025.3
# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
# Example: platformPlugins = com.jetbrains.php:203.4449.22, org.intellij.scala:2023.3.27@EAP
-# PHP Plugin - https://plugins.jetbrains.com/plugin/6610-php/versions
-# Terminal Plugin - https://plugins.jetbrains.com/plugin/13123-terminal/versions
platformPlugins =
-
# Example: platformBundledPlugins = com.intellij.java
platformBundledPlugins = com.jetbrains.php, org.intellij.plugins.markdown, Git4Idea, org.jetbrains.plugins.remote-run, org.jetbrains.plugins.terminal
+# Example: platformBundledModules = intellij.spellchecker
+platformBundledModules =
# Gradle Releases -> https://github.com/gradle/gradle/releases
-gradleVersion = 9.0.0
+gradleVersion = 9.2.1
# Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib
kotlin.stdlib.default.dependency = false
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index ab217b7..9e635f7 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -7,13 +7,13 @@ kotlinxSerializationJson = "1.7.3"
detektFormatting = "1.23.1"
# plugins
-kotlin = "2.2.0"
-changelog = "2.4.0"
-intelliJPlatform = "2.7.0"
+changelog = "2.5.0"
+intelliJPlatform = "2.10.5"
+kotlin = "2.2.21"
+kover = "0.9.3"
kotlinSerialization = "2.0.20"
gradleDiktatPlugin = "1.2.5"
gradleDetektPlugin = "1.23.7"
-kover = "0.9.1"
[libraries]
junit = { group = "junit", name = "junit", version.ref = "junit" }
@@ -23,10 +23,10 @@ detektFormatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-forma
opentest4j = { group = "org.opentest4j", name = "opentest4j", version.ref = "opentest4j" }
[plugins]
-kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" }
+intelliJPlatform = { id = "org.jetbrains.intellij.platform", version.ref = "intelliJPlatform" }
+kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlinSerialization" }
gradleDiktatPlugin = { id = "org.cqfn.diktat.diktat-gradle-plugin", version.ref = "gradleDiktatPlugin" }
gradleDetektPlugin = { id = "io.gitlab.arturbosch.detekt", version.ref = "gradleDetektPlugin" }
-intelliJPlatform = { id = "org.jetbrains.intellij.platform", version.ref = "intelliJPlatform" }
-kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 8bdaf60..f8e1ee3 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 2a84e18..23449a2 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.0.0-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
index ef07e01..adff685 100755
--- a/gradlew
+++ b/gradlew
@@ -114,7 +114,6 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
-CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
@@ -172,7 +171,6 @@ fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
- CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
@@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
- -classpath "$CLASSPATH" \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
diff --git a/gradlew.bat b/gradlew.bat
index db3a6ac..c4bdd3a 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -70,11 +70,10 @@ goto fail
:execute
@rem Setup the command line
-set CLASSPATH=
@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
diff --git a/qodana.yaml b/qodana.yaml
index cffbe61..777ba3d 100644
--- a/qodana.yaml
+++ b/qodana.yaml
@@ -2,7 +2,7 @@
# https://www.jetbrains.com/help/qodana/qodana-yaml.html
version: "1.0"
-linter: jetbrains/qodana-jvm-community:2025.2
+linter: jetbrains/qodana-jvm-community:2025.3
projectJDK: "21"
profile:
name: Project Default
diff --git a/src/main/kotlin/com/vk/admstorm/actions/git/panels/PushCommitsPanel.kt b/src/main/kotlin/com/vk/admstorm/actions/git/panels/PushCommitsPanel.kt
index 59a76fc..579f5de 100644
--- a/src/main/kotlin/com/vk/admstorm/actions/git/panels/PushCommitsPanel.kt
+++ b/src/main/kotlin/com/vk/admstorm/actions/git/panels/PushCommitsPanel.kt
@@ -91,7 +91,7 @@ class PushCommitsPanel(
return isEditable && path.lastPathComponent is DefaultMutableTreeNode
}
- override fun onNodeStateChanged(node: CheckedTreeNode) {
+ override fun onNodeStateChanged(node: CheckedTreeNode?) {
if (node is EditableTreeNode) {
(node as EditableTreeNode).fireOnSelectionChange(node.isChecked)
}
diff --git a/src/main/kotlin/com/vk/admstorm/ssh/RemoteDataProducerWrapper.kt b/src/main/kotlin/com/vk/admstorm/ssh/RemoteDataProducerWrapper.kt
index f517151..67307e1 100644
--- a/src/main/kotlin/com/vk/admstorm/ssh/RemoteDataProducerWrapper.kt
+++ b/src/main/kotlin/com/vk/admstorm/ssh/RemoteDataProducerWrapper.kt
@@ -14,7 +14,7 @@ import com.intellij.openapi.wm.WindowManager
import com.intellij.remote.RemoteConnectionType
import com.intellij.remote.RemoteConnector
import com.jetbrains.plugins.remotesdk.RemoteSdkBundle
-import com.jetbrains.plugins.remotesdk.console.RemoteConnectionSettingsForm
+import com.jetbrains.plugins.remotesdk.console.NonSpecifiedRemoteConnector
import com.jetbrains.plugins.remotesdk.console.RemoteConnectionUtil
import com.jetbrains.plugins.remotesdk.console.RemoteDataProducer
import com.jetbrains.plugins.remotesdk.console.SshConfigConnector
@@ -110,7 +110,7 @@ class RemoteDataProducerWrapper : RemoteDataProducer() {
getSuperProject(), getEmptyConnectorsMessageProxy(),
(NO_HOST_TO_CONNECT_SUPPLIER.get() as String)
)
- } else if (connectors.size == 1 && connectors[0] === RemoteConnectionSettingsForm.NONE_CONNECTOR) {
+ } else if (connectors.size == 1 && connectors[0] === NonSpecifiedRemoteConnector) {
// do nothing
} else {
invokeLater {
@@ -126,7 +126,7 @@ class RemoteDataProducerWrapper : RemoteDataProducer() {
getSuperProject(), getEmptyConnectorsMessageProxy(),
(NO_HOST_TO_CONNECT_SUPPLIER.get() as String)
)
- } else if (connectors.size == 1 && connectors[0] === RemoteConnectionSettingsForm.NONE_CONNECTOR) {
+ } else if (connectors.size == 1 && connectors[0] === NonSpecifiedRemoteConnector) {
openSshConfigurationsSettings()
} else {
connectors.sortWith { c1: RemoteConnector, c2: RemoteConnector ->