diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..5d626778 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,22 @@ +version: 2 +updates: + - package-ecosystem: "gradle" + directory: "/" + schedule: + interval: "daily" + allow: + - dependency-type: "direct" + reviewers: + - "VKCOM/vk-sec" + - "VKCOM/kphp-developers" + open-pull-requests-limit: 0 + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "daily" + reviewers: + - "VKCOM/vk-sec" + - "VKCOM/kphp-developers" + open-pull-requests-limit: 0 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7bae6bd5..07de31f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,9 +38,7 @@ jobs: # Setup Gradle - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - with: - gradle-home-cache-cleanup: true + uses: gradle/actions/setup-gradle@v4 # Set environment variables - name: Export Properties @@ -82,9 +80,7 @@ jobs: # Setup Gradle - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - with: - gradle-home-cache-cleanup: true + uses: gradle/actions/setup-gradle@v4 # Run Verify Plugin task and IntelliJ Plugin Verifier tool - name: Run Plugin Verification tasks diff --git a/.run/Run Plugin.run.xml b/.run/Run Plugin.run.xml index d15ff681..c4ec3d67 100644 --- a/.run/Run Plugin.run.xml +++ b/.run/Run Plugin.run.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index cfb6a288..217e067a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +## 2.0.7 - 01.03.2024 + +- Adapt code for PhpStorm 2024.3 + ## 2.0.6 - 16.09.2024 - Adapt code for PhpStorm 2024.2 diff --git a/build.gradle.kts b/build.gradle.kts index 85c11890..e820b77b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,6 @@ import org.apache.tools.ant.filters.ReplaceTokens import org.jetbrains.changelog.Changelog +import org.jetbrains.intellij.platform.gradle.TestFrameworkType plugins { id("java") // Java support @@ -23,6 +24,7 @@ kotlin { repositories { mavenCentral() gradlePluginPortal() + // IntelliJ Platform Gradle Plugin Repositories Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-repositories-extension.html intellijPlatform { defaultRepositories() @@ -34,8 +36,8 @@ dependencies { detektPlugins(libs.detektFormatting) implementation(libs.kotlinxSerializationJson) - implementation(libs.markdown) implementation(libs.sentry) + testImplementation(libs.junit) // IntelliJ Platform Gradle Plugin Dependencies Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-dependencies-extension.html intellijPlatform { @@ -50,6 +52,7 @@ dependencies { instrumentationTools() pluginVerifier() zipSigner() + testFramework(TestFrameworkType.Platform) } } @@ -115,10 +118,6 @@ tasks { gradleVersion = providers.gradleProperty("gradleVersion").get() } - publishPlugin { - dependsOn(patchChangelog) - } - detekt.configure { reports { html.required.set(true) diff --git a/gradle.properties b/gradle.properties index 40e021d6..d0b8ea55 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,27 +4,27 @@ pluginGroup = com.vk pluginName = admstorm pluginRepositoryUrl = https://github.com/VKCOM/admstorm # SemVer format -> https://semver.org -pluginVersion = 2.0.6 +pluginVersion = 2.0.7 # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html -pluginSinceBuild = 242 -pluginUntilBuild = 242.* +pluginSinceBuild = 243 +pluginUntilBuild = 243.* # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension platformType = IU -platformVersion = 2024.2 +platformVersion = 2024.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 = com.jetbrains.php:242.20224.427, org.jetbrains.plugins.terminal:242.20224.237 +platformPlugins = com.jetbrains.php:243.21565.211 # Example: platformBundledPlugins = com.intellij.java -platformBundledPlugins = com.intellij.java, Git4Idea, org.jetbrains.plugins.remote-run +platformBundledPlugins = com.intellij.java, org.intellij.plugins.markdown, Git4Idea, org.jetbrains.plugins.remote-run, org.jetbrains.plugins.terminal # Gradle Releases -> https://github.com/gradle/gradle/releases -gradleVersion = 8.9 +gradleVersion = 8.10.2 # 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 a4fec0b1..892cdf0b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] # libraries -markdown = "0.2.4" +junit = "4.13.2" sentry = "6.1.0" kotlinxSerializationJson = "1.7.3" detektFormatting = "1.23.1" @@ -8,13 +8,13 @@ detektFormatting = "1.23.1" # plugins kotlin = "1.9.25" changelog = "2.2.1" -intelliJPlatform = "2.0.1" +intelliJPlatform = "2.0.1" # TODO: update this in next update: https://youtrack.jetbrains.com/issue/MP-7019 kotlinSerialization = "2.0.20" gradleDiktatPlugin = "1.2.5" gradleDetektPlugin = "1.23.7" [libraries] -markdown = { group = "org.jetbrains", name = "markdown", version.ref = "markdown" } +junit = { group = "junit", name = "junit", version.ref = "junit" } sentry = { group = "io.sentry", name = "sentry", version.ref = "sentry" } kotlinxSerializationJson = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" } detektFormatting = { group = "io.gitlab.arturbosch.detekt", name = "detekt-formatting", version.ref = "detektFormatting" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c352119..a4b76b95 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 09523c0e..df97d72b 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.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/ignored-problems.txt b/ignored-problems.txt index fe80e32d..ddabe5b8 100644 --- a/ignored-problems.txt +++ b/ignored-problems.txt @@ -1 +1 @@ -com.vk.admstorm:2.0.6:Illegal access to package-private class com.intellij.dvcs.push.ui.CustomRenderedTreeNode \ No newline at end of file +com.vk.admstorm:2.0.7:Illegal access to package-private class com.intellij.dvcs.push.ui.CustomRenderedTreeNode diff --git a/src/main/kotlin/com/vk/admstorm/actions/git/commit/GitCommitAndPushToAdmExecutorAction.kt b/src/main/kotlin/com/vk/admstorm/actions/git/commit/GitCommitAndPushToAdmExecutorAction.kt index 936a2c8e..9dad1742 100644 --- a/src/main/kotlin/com/vk/admstorm/actions/git/commit/GitCommitAndPushToAdmExecutorAction.kt +++ b/src/main/kotlin/com/vk/admstorm/actions/git/commit/GitCommitAndPushToAdmExecutorAction.kt @@ -9,6 +9,7 @@ import com.intellij.openapi.vcs.changes.CommitContext import com.intellij.openapi.vcs.changes.CommitSession import com.intellij.openapi.vcs.changes.LocalCommitExecutor import com.intellij.openapi.vcs.changes.actions.BaseCommitExecutorAction +import com.intellij.vcs.commit.CommitWorkflowHandlerState import com.intellij.vcs.commit.commitProperty import com.vk.admstorm.utils.ServerNameProvider import com.vk.admstorm.utils.extensions.pluginEnabled @@ -42,7 +43,10 @@ class GitCommitAndPushToAdmExecutorAction : BaseCommitExecutorAction() { override fun update(e: AnActionEvent) { val workflowHandler = e.getData(VcsDataKeys.COMMIT_WORKFLOW_HANDLER) if (workflowHandler != null) { - val templateText = workflowHandler.getCommitAndPushActionName() + val state = CommitWorkflowHandlerState( + isAmend = workflowHandler.amendCommitHandler.isAmendCommitMode, isSkipCommitChecks = false + ) + val templateText = getCommitAndPushActionName(state) e.presentation.text = templateText.removeSuffix("…") + " → ${ServerNameProvider.name()} → Gitlab…" diff --git a/src/main/kotlin/com/vk/admstorm/configuration/phpunit/RemotePhpUnitConfigurationEditor.kt b/src/main/kotlin/com/vk/admstorm/configuration/phpunit/RemotePhpUnitConfigurationEditor.kt index 0fb23018..5fc0b21f 100644 --- a/src/main/kotlin/com/vk/admstorm/configuration/phpunit/RemotePhpUnitConfigurationEditor.kt +++ b/src/main/kotlin/com/vk/admstorm/configuration/phpunit/RemotePhpUnitConfigurationEditor.kt @@ -90,9 +90,9 @@ open class RemotePhpUnitConfigurationEditor(val project: Project) : row("Directory:") { textFieldWithBrowseButton( - "Select PHPUnit Tests Folder", + FileChooserDescriptorFactory.createSingleFolderDescriptor().withTitle("Select PHPUnit Tests Folder"), project, - FileChooserDescriptorFactory.createSingleFolderDescriptor() + null ) .align(AlignX.FILL) .bindText(model::directory) @@ -124,25 +124,25 @@ open class RemotePhpUnitConfigurationEditor(val project: Project) : group("Command Line") { row("PHPUnit Executable:") { textFieldWithBrowseButton( - "Select PHPUnit Executable", + FileChooserDescriptorFactory.createSingleFolderDescriptor().withTitle("Select PHPUnit Executable"), project, - FileChooserDescriptorFactory.createSingleFileDescriptor() + null ) .align(AlignX.FILL) .bindText(model::phpUnitExe) } row("Configuration file:") { textFieldWithBrowseButton( - "Select PHPUnit Configuration File", - project, FileChooserDescriptorFactory.createSingleFileDescriptor(XmlFileType.INSTANCE) + .withTitle("Select PHPUnit Configuration File"), + project, + null ) .align(AlignX.FILL) .bindText(model::phpUnitConfig) } }.topGap(TopGap.NONE) } - classTextField.addDocumentListener(object : DocumentListener { override fun documentChanged(event: DocumentEvent) { mainPanel.reset()