From e77bae85a513462863e824b3d8b071edb426bd52 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 30 Mar 2026 09:04:15 +0200 Subject: [PATCH 01/13] Updates for CheckStyle 13.4 --- .config/checkstyle/checkstyle.xml | 1 + .idea/checkstyle-idea.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index 262c9f9..ce1e09d 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -85,6 +85,7 @@ + diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml index a751c41..27f72ce 100644 --- a/.idea/checkstyle-idea.xml +++ b/.idea/checkstyle-idea.xml @@ -1,7 +1,7 @@ - 13.0.0 + 13.4.0 JavaOnlyWithTests true true From 410118a62ef1fad66e1af2179423041b79619972 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 14 Apr 2026 17:54:38 +0200 Subject: [PATCH 02/13] Link Check: Only check md files --- .github/workflows/broken-links.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index d768259..130c748 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -20,6 +20,7 @@ jobs: id: lychee uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2 with: + args: "--verbose --no-progress './**/*.md'" fail: false # Don't fail on broken links, create an issue instead - name: Find already existing issue From 89d8065370beeec5991ee18674dabe5fba31c78c Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 14 Apr 2026 17:54:48 +0200 Subject: [PATCH 03/13] Link Check: Run when it's quiet --- .github/workflows/broken-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 130c748..ce623e9 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -3,7 +3,7 @@ name: Broken links on: workflow_dispatch: schedule: - - cron: "23 23 * * 0" + - cron: "23 5 * * 0" permissions: issues: write From ea1c2414cc0f77988276e3d051285911bc75935f Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Apr 2026 15:00:21 +0200 Subject: [PATCH 04/13] Bump IntelliJ version to 2026.1; drop support for <251 --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8d8733f..784371e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,8 +5,8 @@ pluginName= pluginVersion= # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension platformType=IU -platformVersion=2025.3.1.1 -platformSinceBuild=243 +platformVersion=2026.1 +platformSinceBuild=251 # Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html # Example: platformBundledPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 platformBundledPlugins= From 6b6770d3d1241b435f2dbeb9be78ec41203d44cb Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 23 Apr 2026 15:02:26 +0200 Subject: [PATCH 05/13] Update renovate.json5 --- renovate.json5 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/renovate.json5 b/renovate.json5 index fa392df..5903655 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -12,6 +12,14 @@ ], "matchCurrentVersion": "0", "enabled": false + }, + { + "description": "org.jetbrains.intellij.platform - Changelog", + "packagePattern": "^org.jetbrains.intellij.platform", + "matchDatasources": [ + "maven" + ], + "changelogUrl": "https://github.com/JetBrains/intellij-platform-gradle-plugin/releases" } ] } From fbea5700a3b97d841d31add86bd4be8a6abcc458 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 23 Apr 2026 13:12:13 +0000 Subject: [PATCH 06/13] Update plugin org.jetbrains.intellij.platform to v2.14.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 029fd6f..7812527 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { id 'idea' id 'checkstyle' id 'pmd' - id 'org.jetbrains.intellij.platform' version '2.13.1' + id 'org.jetbrains.intellij.platform' version '2.14.0' } ext { From bb9f3979fc1d917cc394f2014f8ad18a30c02f48 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 24 Apr 2026 12:26:08 +0200 Subject: [PATCH 07/13] Update IDEA to latest version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 784371e..a352cfd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ pluginName= pluginVersion= # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension platformType=IU -platformVersion=2026.1 +platformVersion=2026.1.1 platformSinceBuild=251 # Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html # Example: platformBundledPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 From 0d9bcd8928fa00f448e023ce796497795ab1b4fa Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 25 Apr 2026 04:59:10 +0000 Subject: [PATCH 08/13] Update plugin org.jetbrains.intellij.platform to v2.15.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7812527..a2565f4 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { id 'idea' id 'checkstyle' id 'pmd' - id 'org.jetbrains.intellij.platform' version '2.14.0' + id 'org.jetbrains.intellij.platform' version '2.15.0' } ext { From 009af0affc95bcd56d7be04ac0a729b8d360b7f7 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 25 Apr 2026 04:59:11 +0000 Subject: [PATCH 09/13] Update pmdVersion to v7.24.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7812527..d17167d 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { ext { checkstyleVersion = '13.4.0' - pmdVersion = '7.23.0' + pmdVersion = '7.24.0' } def properties(String key) { From c5508f407deccfda5a1db9493aa0573601e16fc7 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 28 Apr 2026 05:18:17 +0000 Subject: [PATCH 10/13] Update checkstyleVersion to v13.4.1 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7812527..ec5d836 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ plugins { } ext { - checkstyleVersion = '13.4.0' + checkstyleVersion = '13.4.1' pmdVersion = '7.23.0' } From 1887cfe787ef64fd1d2d608282f2fb180eabe99b Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 28 Apr 2026 09:38:19 +0200 Subject: [PATCH 11/13] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebc89c5..cdbf2e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 1.0.9 +* Update PMD to 7.24.0 + # 1.0.8 * Correctly handle missing/removal of built-in configuration * Fix crash on non Java-IDEs #67 From 8d5e652987b0a97e3ae142888c44e8a0bf855ea6 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 28 Apr 2026 09:40:03 +0200 Subject: [PATCH 12/13] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdbf2e2..9b3eb84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # 1.0.9 * Update PMD to 7.24.0 +* Dropped support for IntelliJ IDEA < 251 # 1.0.8 * Correctly handle missing/removal of built-in configuration From ec4590a230a038251a9f9a635059605ed4f43b6c Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 28 Apr 2026 10:05:59 +0200 Subject: [PATCH 13/13] Drop support for < 261 to fix deprecations --- CHANGELOG.md | 4 ++-- build.gradle | 7 +------ gradle.properties | 4 ++-- .../software/xdev/pmd/action/ActionFilesAnalyzer.java | 9 +++++++-- .../java/software/xdev/pmd/analysis/PMDAnalyzer.java | 2 +- .../xdev/pmd/annotator/PMDExternalLanguageAnnotator.java | 3 +-- .../xdev/pmd/currentfile/CurrentFileAnalysisManager.java | 2 +- .../xdev/pmd/ui/toolwindow/node/FileOverviewNode.java | 2 +- 8 files changed, 16 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b3eb84..dc9a37c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ -# 1.0.9 +# 1.1.0 * Update PMD to 7.24.0 -* Dropped support for IntelliJ IDEA < 251 +* Dropped support for IntelliJ IDEA < 261 to fix deprecations # 1.0.8 * Correctly handle missing/removal of built-in configuration diff --git a/build.gradle b/build.gradle index 70d6bbe..529c27b 100644 --- a/build.gradle +++ b/build.gradle @@ -104,14 +104,9 @@ intellijPlatform { } pluginVerification { ides { - select { - it.types = [IntelliJPlatformType.IntellijIdeaCommunity] - it.sinceBuild = properties("platformSinceBuild") - it.untilBuild = '252.*' - } select { it.types = [IntelliJPlatformType.IntellijIdea] - it.sinceBuild = '253' + it.sinceBuild = properties("platformSinceBuild") } } } diff --git a/gradle.properties b/gradle.properties index f6cf706..353f3b1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,11 +2,11 @@ pluginGroup=software.xdev.pmd pluginName=PMD X # SemVer format -> https://semver.org -pluginVersion=1.0.9-SNAPSHOT +pluginVersion=1.1.0-SNAPSHOT # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension platformType=IU platformVersion=2026.1.1 -platformSinceBuild=251 +platformSinceBuild=261 # Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html # Example: platformBundledPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 platformBundledPlugins=com.intellij.java,org.jetbrains.kotlin diff --git a/src/main/java/software/xdev/pmd/action/ActionFilesAnalyzer.java b/src/main/java/software/xdev/pmd/action/ActionFilesAnalyzer.java index 4b51517..fc63c54 100644 --- a/src/main/java/software/xdev/pmd/action/ActionFilesAnalyzer.java +++ b/src/main/java/software/xdev/pmd/action/ActionFilesAnalyzer.java @@ -85,8 +85,13 @@ private void analyzeAsync( project.getService(PluginConfigurationManager.class).getCurrent(); final ProjectFileIndex projectFileIndex = ProjectRootManager.getInstance(project).getFileIndex(); - final Map, Set> psiFiles = ReadAction.compute(() -> - this.collectFiles(projectFileIndex, psiManager, pluginConfiguration, progressIndicator, selectedFiles)); + final Map, Set> psiFiles = + ReadAction.computeBlocking(() -> this.collectFiles( + projectFileIndex, + psiManager, + pluginConfiguration, + progressIndicator, + selectedFiles)); if(psiFiles.isEmpty()) { diff --git a/src/main/java/software/xdev/pmd/analysis/PMDAnalyzer.java b/src/main/java/software/xdev/pmd/analysis/PMDAnalyzer.java index 59bc242..01a9574 100644 --- a/src/main/java/software/xdev/pmd/analysis/PMDAnalyzer.java +++ b/src/main/java/software/xdev/pmd/analysis/PMDAnalyzer.java @@ -268,7 +268,7 @@ private List determineApplicableFiles( final int totalFiles = filesToScan.size(); final AtomicInteger counter = new AtomicInteger(0); - final List files = ReadAction.compute(() -> filesToScan.stream() + final List files = ReadAction.computeBlocking(() -> filesToScan.stream() .filter(file -> { progressIndicator.setFraction((double)counter.incrementAndGet() / totalFiles); progressIndicator.setText2(file != null ? file.getName() : null); diff --git a/src/main/java/software/xdev/pmd/annotator/PMDExternalLanguageAnnotator.java b/src/main/java/software/xdev/pmd/annotator/PMDExternalLanguageAnnotator.java index ddd594a..947dfff 100644 --- a/src/main/java/software/xdev/pmd/annotator/PMDExternalLanguageAnnotator.java +++ b/src/main/java/software/xdev/pmd/annotator/PMDExternalLanguageAnnotator.java @@ -178,8 +178,7 @@ public void apply( + "

" + ruleDescriptionDocMarkdownToHtmlService.mdToHtml(rule.getDescription()) + "

") - .range(range) - .needsUpdateOnTyping(true); + .range(range); if(psiElement != null) { diff --git a/src/main/java/software/xdev/pmd/currentfile/CurrentFileAnalysisManager.java b/src/main/java/software/xdev/pmd/currentfile/CurrentFileAnalysisManager.java index 57b7f6f..b06ccc0 100644 --- a/src/main/java/software/xdev/pmd/currentfile/CurrentFileAnalysisManager.java +++ b/src/main/java/software/xdev/pmd/currentfile/CurrentFileAnalysisManager.java @@ -77,7 +77,7 @@ private void reportAnalysisResultInternal( return; } - final Optional optPSIFile = ReadAction.compute(() -> Optional.of(editor) + final Optional optPSIFile = ReadAction.computeBlocking(() -> Optional.of(editor) .map(Editor::getDocument) .map(FileDocumentManager.getInstance()::getFile) .flatMap(this::findPSIFile)); diff --git a/src/main/java/software/xdev/pmd/ui/toolwindow/node/FileOverviewNode.java b/src/main/java/software/xdev/pmd/ui/toolwindow/node/FileOverviewNode.java index 8aad795..f3a26f9 100644 --- a/src/main/java/software/xdev/pmd/ui/toolwindow/node/FileOverviewNode.java +++ b/src/main/java/software/xdev/pmd/ui/toolwindow/node/FileOverviewNode.java @@ -29,7 +29,7 @@ public FileOverviewNode(final PsiFile psiFile) { this.psiFile = psiFile; // Icon requires read access so let's get it here - this.icon = ReadAction.compute(() -> psiFile.getIcon(0)); + this.icon = ReadAction.computeBlocking(() -> psiFile.getIcon(0)); this.filePositionSupplier = Suppliers.memoize(() -> new FilePosition(psiFile)); }