From e34364ea557700647de9b5b219cbce9da1c8b333 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 28 Mar 2026 04:46:02 +0000 Subject: [PATCH 01/11] Update pmdVersion to v7.23.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3605a25..b2e1fb0 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { ext { checkstyleVersion = '13.3.0' - pmdVersion = '7.22.0' + pmdVersion = '7.23.0' } def properties(String key) { From 488f6de92543aeeb89380c7e33200705c0700514 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 30 Mar 2026 05:06:57 +0000 Subject: [PATCH 02/11] Update checkstyleVersion to v13.4.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3605a25..61fc9d5 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ plugins { } ext { - checkstyleVersion = '13.3.0' + checkstyleVersion = '13.4.0' pmdVersion = '7.22.0' } From 225c79b88ca0fb52a376de459f5ed4c7890a498f Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 30 Mar 2026 14:59:05 +0200 Subject: [PATCH 03/11] Prepare for new templating system --- .config/topo/upstream.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .config/topo/upstream.yml diff --git a/.config/topo/upstream.yml b/.config/topo/upstream.yml new file mode 100644 index 0000000..d78d893 --- /dev/null +++ b/.config/topo/upstream.yml @@ -0,0 +1,2 @@ +- url: https://github.com/xdev-software/base-template.git + branch: master From fcf8b930e9544886a329758cd7fe21ad474bd337 Mon Sep 17 00:00:00 2001 From: "Alex \"Blex\" B" <45384811+AB-xdev@users.noreply.github.com> Date: Mon, 30 Mar 2026 15:01:53 +0200 Subject: [PATCH 04/11] Update upstream.yml --- .config/topo/upstream.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/topo/upstream.yml b/.config/topo/upstream.yml index d78d893..7821ddf 100644 --- a/.config/topo/upstream.yml +++ b/.config/topo/upstream.yml @@ -1,2 +1,2 @@ -- url: https://github.com/xdev-software/base-template.git +- url: https://github.com/xdev-software/java-template.git branch: master From 3e30eebf5761e3e4ba41e2576938445c49500200 Mon Sep 17 00:00:00 2001 From: "Alex \"Blex\" B" <45384811+AB-xdev@users.noreply.github.com> Date: Mon, 30 Mar 2026 15:05:59 +0200 Subject: [PATCH 05/11] Create upstream.yml --- .config/topo/upstream.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .config/topo/upstream.yml diff --git a/.config/topo/upstream.yml b/.config/topo/upstream.yml new file mode 100644 index 0000000..8627eae --- /dev/null +++ b/.config/topo/upstream.yml @@ -0,0 +1,2 @@ +- url: https://github.com/xdev-software/java-setup-template.git + branch: master From c48f1087c61874cfa7d46b9e13c41d895d14e9f4 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 30 Mar 2026 15:16:19 +0200 Subject: [PATCH 06/11] Update upstream.yml --- .config/topo/upstream.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/topo/upstream.yml b/.config/topo/upstream.yml index 7821ddf..ad6700f 100644 --- a/.config/topo/upstream.yml +++ b/.config/topo/upstream.yml @@ -1,2 +1,2 @@ -- url: https://github.com/xdev-software/java-template.git +- url: https://github.com/xdev-software/intellij-plugin-template.git branch: master From c0e52bd19d9671cf5b53ddfffd8ba4fae4b86b67 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 31 Mar 2026 14:08:01 +0200 Subject: [PATCH 07/11] Delete update-from-template.yml Will be managed centrally now --- .github/workflows/update-from-template.yml | 318 --------------------- 1 file changed, 318 deletions(-) delete mode 100644 .github/workflows/update-from-template.yml diff --git a/.github/workflows/update-from-template.yml b/.github/workflows/update-from-template.yml deleted file mode 100644 index 7cff559..0000000 --- a/.github/workflows/update-from-template.yml +++ /dev/null @@ -1,318 +0,0 @@ -name: Update from Template - -# This workflow keeps the repo up to date with changes from the template repo (REMOTE_URL) -# It duplicates the REMOTE_BRANCH (into UPDATE_BRANCH) and tries to merge it into -# this repos default branch (which is checked out here) -# Note that this requires a PAT (Personal Access Token) - at best from a servicing account -# PAT permissions: read:discussion, read:org, repo, workflow -# Also note that you should have at least once merged the template repo into the current repo manually -# otherwise a "refusing to merge unrelated histories" error might occur. - -on: - schedule: - - cron: '55 2 * * 1' - workflow_dispatch: - inputs: - no_automatic_merge: - type: boolean - description: 'No automatic merge' - default: false - -env: - UPDATE_BRANCH: update-from-template - UPDATE_BRANCH_MERGED: update-from-template-merged - REMOTE_URL: https://github.com/xdev-software/base-template.git - REMOTE_BRANCH: master - -permissions: - contents: write - pull-requests: write - -jobs: - update: - runs-on: ubuntu-latest - outputs: - update_branch_merged_commit: ${{ steps.manage-branches.outputs.update_branch_merged_commit }} - create_update_branch_merged_pr: ${{ steps.manage-branches.outputs.create_update_branch_merged_pr }} - steps: - - uses: actions/checkout@v6 - with: - # Required because otherwise there are always changes detected when executing diff/rev-list - fetch-depth: 0 - # If no PAT is used the following error occurs on a push: - # refusing to allow a GitHub App to create or update workflow `.github/workflows/xxx.yml` without `workflows` permission - token: ${{ secrets.UPDATE_FROM_TEMPLATE_PAT }} - - - name: Init Git - run: | - git config --global user.email "111048771+xdev-gh-bot@users.noreply.github.com" - git config --global user.name "XDEV Bot" - - - name: Manage branches - id: manage-branches - run: | - echo "Adding remote template-repo" - git remote add template ${{ env.REMOTE_URL }} - - echo "Fetching remote template repo" - git fetch template - - echo "Deleting local branches that will contain the updates - if present" - git branch -D ${{ env.UPDATE_BRANCH }} || true - git branch -D ${{ env.UPDATE_BRANCH_MERGED }} || true - - echo "Checking if the remote template repo has new commits" - git rev-list ..template/${{ env.REMOTE_BRANCH }} - - if [ $(git rev-list --count ..template/${{ env.REMOTE_BRANCH }}) -eq 0 ]; then - echo "There are no commits new commits on the template repo" - - echo "Deleting origin branch(es) that contain the updates - if present" - git push -f origin --delete ${{ env.UPDATE_BRANCH }} || true - git push -f origin --delete ${{ env.UPDATE_BRANCH_MERGED }} || true - - echo "create_update_branch_pr=0" >> $GITHUB_OUTPUT - echo "create_update_branch_merged_pr=0" >> $GITHUB_OUTPUT - exit 0 - fi - - echo "Found new commits on the template repo" - - echo "Creating update branch" - git branch ${{ env.UPDATE_BRANCH }} template/${{ env.REMOTE_BRANCH }} - git branch --unset-upstream ${{ env.UPDATE_BRANCH }} - - echo "Pushing update branch" - git push -f -u origin ${{ env.UPDATE_BRANCH }} - - echo "Getting base branch" - base_branch=$(git branch --show-current) - echo "Base branch is $base_branch" - echo "base_branch=$base_branch" >> $GITHUB_OUTPUT - - echo "Trying to create auto-merged branch ${{ env.UPDATE_BRANCH_MERGED }}" - git branch ${{ env.UPDATE_BRANCH_MERGED }} ${{ env.UPDATE_BRANCH }} - git checkout ${{ env.UPDATE_BRANCH_MERGED }} - - echo "Merging branch $base_branch into ${{ env.UPDATE_BRANCH_MERGED }}" - git merge $base_branch && merge_exit_code=$? || merge_exit_code=$? - if [ $merge_exit_code -ne 0 ]; then - echo "Auto merge failed! Manual merge required" - echo "::notice ::Auto merge failed - Manual merge required" - - echo "Cleaning up failed merge" - git merge --abort - git checkout $base_branch - git branch -D ${{ env.UPDATE_BRANCH_MERGED }} || true - - echo "Deleting auto-merge branch - if present" - git push -f origin --delete ${{ env.UPDATE_BRANCH_MERGED }} || true - - echo "create_update_branch_pr=1" >> $GITHUB_OUTPUT - echo "create_update_branch_merged_pr=0" >> $GITHUB_OUTPUT - exit 0 - fi - - echo "Post processing: Trying to automatically fill in template variables" - find . -type f \ - -not -path "./.git/**" \ - -not -path "./.github/workflows/update-from-template.yml" -print0 \ - | xargs -0 sed -i "s/template-placeholder/${GITHUB_REPOSITORY#*/}/g" - - git status - git add --all - - if [[ "$(git status --porcelain)" != "" ]]; then - echo "Filled in template; Committing" - - git commit -m "Fill in template" - fi - - echo "Pushing auto-merged branch" - git push -f -u origin ${{ env.UPDATE_BRANCH_MERGED }} - - echo "update_branch_merged_commit=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT - - echo "Restoring base branch $base_branch" - git checkout $base_branch - - echo "create_update_branch_pr=0" >> $GITHUB_OUTPUT - echo "create_update_branch_merged_pr=1" >> $GITHUB_OUTPUT - echo "try_close_update_branch_pr=1" >> $GITHUB_OUTPUT - - - name: Create/Update PR update_branch - if: steps.manage-branches.outputs.create_update_branch_pr == 1 - env: - GH_TOKEN: ${{ secrets.UPDATE_FROM_TEMPLATE_PAT }} - run: | - gh_pr_up() { - gh pr create -H "${{ env.UPDATE_BRANCH }}" "$@" || (git checkout "${{ env.UPDATE_BRANCH }}" && gh pr edit "$@") - } - gh_pr_up -B "${{ steps.manage-branches.outputs.base_branch }}" \ - --title "Update from template" \ - --body "An automated PR to sync changes from the template into this repo" - - # Ensure that only a single PR is open (otherwise confusion and spam) - - name: Close PR update_branch - if: steps.manage-branches.outputs.try_close_update_branch_pr == 1 - env: - GH_TOKEN: ${{ secrets.UPDATE_FROM_TEMPLATE_PAT }} - run: | - gh pr close "${{ env.UPDATE_BRANCH }}" || true - - - name: Create/Update PR update_branch_merged - if: steps.manage-branches.outputs.create_update_branch_merged_pr == 1 - env: - GH_TOKEN: ${{ secrets.UPDATE_FROM_TEMPLATE_PAT }} - run: | - gh_pr_up() { - gh pr create -H "${{ env.UPDATE_BRANCH_MERGED }}" "$@" || (git checkout "${{ env.UPDATE_BRANCH_MERGED }}" && gh pr edit "$@") - } - gh_pr_up -B "${{ steps.manage-branches.outputs.base_branch }}" \ - --title "Update from template (auto-merged)" \ - --body "An automated PR to sync changes from the template into this repo" - - # Wait a moment so that checks of PR have higher prio than following job - sleep 3 - - # Split into two jobs to help with executor starvation - auto-merge: - needs: [update] - if: needs.update.outputs.create_update_branch_merged_pr == 1 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - with: - # Required because otherwise there are always changes detected when executing diff/rev-list - fetch-depth: 0 - # If no PAT is used the following error occurs on a push: - # refusing to allow a GitHub App to create or update workflow `.github/workflows/xxx.yml` without `workflows` permission - token: ${{ secrets.UPDATE_FROM_TEMPLATE_PAT }} - - - name: Init Git - run: | - git config --global user.email "111048771+xdev-gh-bot@users.noreply.github.com" - git config --global user.name "XDEV Bot" - - - name: Checking if auto-merge for PR update_branch_merged can be done - id: auto-merge-check - env: - GH_TOKEN: ${{ secrets.UPDATE_FROM_TEMPLATE_PAT }} - run: | - not_failed_conclusion="skipped|neutral|success" - not_relevant_app_slug="dependabot|github-pages|sonarqubecloud" - - echo "Waiting for checks to start..." - sleep 40s - - for i in {1..20}; do - echo "Checking if PR can be auto-merged. Try: $i" - - echo "Checking if update-branch-merged exists" - git fetch - if [[ $(git ls-remote --heads origin refs/heads/${{ env.UPDATE_BRANCH_MERGED }}) ]]; then - echo "Branch still exists; Continuing..." - else - echo "Branch origin/${{ env.UPDATE_BRANCH_MERGED }} is missing" - exit 0 - fi - - echo "Fetching checks" - cs_response=$(curl -sL \ - --fail-with-body \ - --connect-timeout 60 \ - --max-time 120 \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer $GH_TOKEN" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - https://api.github.com/repos/${{ github.repository }}/commits/${{ needs.update.outputs.update_branch_merged_commit }}/check-suites) - - cs_data=$(echo $cs_response | jq '.check_suites[] | { conclusion: .conclusion, slug: .app.slug, check_runs_url: .check_runs_url }') - echo $cs_data - - if [[ -z "$cs_data" ]]; then - echo "No check suite data - Assuming that there are no checks to run" - - echo "perform=1" >> $GITHUB_OUTPUT - exit 0 - fi - - cs_failed=$(echo $cs_data | jq --arg x "$not_failed_conclusion" 'select ((.conclusion == null or (.conclusion | test($x))) | not)') - if [[ -z "$cs_failed" ]]; then - echo "No check failed so far; Checking if relevant checks are still running" - - cs_relevant_still_running=$(echo $cs_data | jq --arg x "$not_relevant_app_slug" 'select (.conclusion == null and (.slug | test($x) | not))') - if [[ -z $cs_relevant_still_running ]]; then - echo "All relevant checks finished - PR can be merged" - - echo "perform=1" >> $GITHUB_OUTPUT - exit 0 - else - echo "Relevant checks are still running" - echo $cs_relevant_still_running - fi - else - echo "Detected failed check" - echo $cs_failed - - echo "perform=0" >> $GITHUB_OUTPUT - exit 0 - fi - - echo "Waiting before next run..." - sleep 30s - done - - echo "Timed out - Assuming executor starvation - Forcing merge" - echo "perform=1" >> $GITHUB_OUTPUT - - - name: Auto-merge update_branch_merged - if: steps.auto-merge-check.outputs.perform == 1 - run: | - echo "Getting base branch" - base_branch=$(git branch --show-current) - echo "Base branch is $base_branch" - - echo "Fetching..." - git fetch - if [[ $(git rev-parse origin/${{ env.UPDATE_BRANCH_MERGED }}) ]]; then - echo "Branch still exists; Continuing..." - else - echo "Branch origin/${{ env.UPDATE_BRANCH_MERGED }} is missing" - exit 0 - fi - - expected_commit="${{ needs.update.outputs.update_branch_merged_commit }}" - actual_commit=$(git rev-parse origin/${{ env.UPDATE_BRANCH_MERGED }}) - if [[ "$expected_commit" != "$actual_commit" ]]; then - echo "Branch ${{ env.UPDATE_BRANCH_MERGED }} contains unexpected commit $actual_commit" - echo "Expected: $expected_commit" - - exit 0 - fi - - echo "Ensuring that current branch $base_branch is up-to-date" - git pull - - echo "Merging origin/${{ env.UPDATE_BRANCH_MERGED }} into $base_branch" - git merge origin/${{ env.UPDATE_BRANCH_MERGED }} && merge_exit_code=$? || merge_exit_code=$? - if [ $merge_exit_code -ne 0 ]; then - echo "Unexpected merge failure $merge_exit_code - Requires manual resolution" - - exit 0 - fi - - if [[ "${{ inputs.no_automatic_merge }}" == "true" ]]; then - echo "Exiting due no_automatic_merge" - - exit 0 - fi - - echo "Pushing" - git push - - echo "Cleaning up" - git branch -D ${{ env.UPDATE_BRANCH }} || true - git branch -D ${{ env.UPDATE_BRANCH_MERGED }} || true - git push -f origin --delete ${{ env.UPDATE_BRANCH }} || true - git push -f origin --delete ${{ env.UPDATE_BRANCH_MERGED }} || true From 068313aa32ac5d0c9ba4a2fff06d062a1d781f74 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 31 Mar 2026 17:23:06 +0200 Subject: [PATCH 08/11] Correctly handle when built-in configuration is missing / was removed Fixes #66 --- .../config/ConfigurationLocationFactory.java | 6 ++- .../model/config/bundled/BundledConfig.java | 26 ++++++------- .../bundled/BundledConfigurationLocation.java | 1 + .../UnknownBundledConfigurationLocation.java | 37 +++++++++++++++++++ 4 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 src/main/java/software/xdev/pmd/model/config/bundled/UnknownBundledConfigurationLocation.java diff --git a/src/main/java/software/xdev/pmd/model/config/ConfigurationLocationFactory.java b/src/main/java/software/xdev/pmd/model/config/ConfigurationLocationFactory.java index eb006cd..72fcb84 100644 --- a/src/main/java/software/xdev/pmd/model/config/ConfigurationLocationFactory.java +++ b/src/main/java/software/xdev/pmd/model/config/ConfigurationLocationFactory.java @@ -2,6 +2,7 @@ import java.util.Collections; import java.util.Map; +import java.util.Optional; import java.util.WeakHashMap; import org.jetbrains.annotations.NotNull; @@ -11,6 +12,7 @@ import software.xdev.pmd.external.org.apache.shiro.lang.util.SoftHashMap; import software.xdev.pmd.model.config.bundled.BundledConfig; import software.xdev.pmd.model.config.bundled.BundledConfigurationLocation; +import software.xdev.pmd.model.config.bundled.UnknownBundledConfigurationLocation; import software.xdev.pmd.model.config.file.FileConfigurationLocation; import software.xdev.pmd.model.config.file.RelativeFileConfigurationLocation; @@ -65,7 +67,9 @@ record CreateCacheKey( { case LOCAL_FILE -> new FileConfigurationLocation(project, id); case PROJECT_RELATIVE -> new RelativeFileConfigurationLocation(project, id); - case BUNDLED -> new BundledConfigurationLocation(BundledConfig.fromId(id), project); + case BUNDLED -> Optional.ofNullable(BundledConfig.fromId(id)) + .map(c -> new BundledConfigurationLocation(c, project)) + .orElseGet(() -> new UnknownBundledConfigurationLocation(id, project)); }; configurationLocation.setLocation(location); diff --git a/src/main/java/software/xdev/pmd/model/config/bundled/BundledConfig.java b/src/main/java/software/xdev/pmd/model/config/bundled/BundledConfig.java index 5599ca1..7441232 100644 --- a/src/main/java/software/xdev/pmd/model/config/bundled/BundledConfig.java +++ b/src/main/java/software/xdev/pmd/model/config/bundled/BundledConfig.java @@ -10,6 +10,7 @@ import java.util.stream.Collectors; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import com.intellij.openapi.application.ApplicationManager; @@ -29,19 +30,15 @@ public final class BundledConfig private final String description; - private final String path; - private BundledConfig( final int sortOrder, @NotNull final String id, - @NotNull final String description, - @NotNull final String path) + @NotNull final String description) { this.sortOrder = sortOrder; this.id = id; this.location = BUNDLED_LOCATION; this.description = description; - this.path = path; } public int getSortOrder() @@ -66,12 +63,6 @@ public String getDescription() return this.description; } - @NotNull - public String getPath() - { - return this.path; - } - public boolean matches(@NotNull final ConfigurationLocation configurationLocation) { return configurationLocation.getType() == ConfigurationType.BUNDLED @@ -79,11 +70,19 @@ public boolean matches(@NotNull final ConfigurationLocation configurationLocatio && Objects.equals(configurationLocation.getDescription(), this.description); } + private static final AtomicInteger UNKNOWN_COUNTER = new AtomicInteger(1000); + @NotNull + public static BundledConfig createUnknownDummy(@NotNull final String id) + { + return new BundledConfig(UNKNOWN_COUNTER.getAndIncrement(), id, "UNKNOWN: " + id); + } + + @Nullable public static BundledConfig fromId(@NotNull final String id) { initAllIfRequired(); - return Objects.requireNonNull(all.get(id), "Failed to find id " + id); + return all.get(id); } public static Collection getAllBundledConfigs() @@ -114,8 +113,7 @@ private static void initAllIfRequired() e.getKey() + "-" + Arrays.stream(e.getValue().split("/")) .reduce((l, r) -> r) .flatMap(fileName -> Arrays.stream(fileName.split("\\.")).findFirst()) - .orElse(e.getValue()), - e.getValue() + .orElse(e.getValue()) )) .collect(Collectors.toMap( BundledConfig::getId, diff --git a/src/main/java/software/xdev/pmd/model/config/bundled/BundledConfigurationLocation.java b/src/main/java/software/xdev/pmd/model/config/bundled/BundledConfigurationLocation.java index fc8d4ae..097fcd8 100644 --- a/src/main/java/software/xdev/pmd/model/config/bundled/BundledConfigurationLocation.java +++ b/src/main/java/software/xdev/pmd/model/config/bundled/BundledConfigurationLocation.java @@ -53,6 +53,7 @@ public void validate() // always valid } + @Nullable @Override protected synchronized RuleSet loadRuleSet() { diff --git a/src/main/java/software/xdev/pmd/model/config/bundled/UnknownBundledConfigurationLocation.java b/src/main/java/software/xdev/pmd/model/config/bundled/UnknownBundledConfigurationLocation.java new file mode 100644 index 0000000..44cdce3 --- /dev/null +++ b/src/main/java/software/xdev/pmd/model/config/bundled/UnknownBundledConfigurationLocation.java @@ -0,0 +1,37 @@ +package software.xdev.pmd.model.config.bundled; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import com.intellij.openapi.project.Project; + +import net.sourceforge.pmd.lang.rule.RuleSet; + + +public class UnknownBundledConfigurationLocation extends BundledConfigurationLocation +{ + public UnknownBundledConfigurationLocation( + final @NotNull String id, + final @NotNull Project project) + { + super(BundledConfig.createUnknownDummy(id), project); + } + + @Override + public boolean isRemovable() + { + return true; + } + + @Override + protected synchronized RuleSet loadRuleSet() + { + return null; + } + + @Override + public @Nullable RuleSet getOrRefreshCachedRuleSet() + { + return null; + } +} From badb80a4332010598abec9b2b28ded1823030092 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 31 Mar 2026 17:23:53 +0200 Subject: [PATCH 09/11] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fed41e6..02fb52a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 1.0.8 +* Correctly handle missing/removal of built-in configuration + # 1.0.7 * Update PMD to 7.23.0 From a76bc79912f9211f8e274c1977a8fc55418212fd Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 1 Apr 2026 10:07:49 +0200 Subject: [PATCH 10/11] Only run on Java plugins Fixes #67 --- ...akeStartupHint.java => JavaCompilerAutoMakeStartupHint.java} | 2 +- src/main/resources/META-INF/plugin-java.xml | 2 ++ src/main/resources/META-INF/plugin.xml | 1 - 3 files changed, 3 insertions(+), 2 deletions(-) rename src/main/java/software/xdev/pmd/startup/{AutoMakeStartupHint.java => JavaCompilerAutoMakeStartupHint.java} (97%) diff --git a/src/main/java/software/xdev/pmd/startup/AutoMakeStartupHint.java b/src/main/java/software/xdev/pmd/startup/JavaCompilerAutoMakeStartupHint.java similarity index 97% rename from src/main/java/software/xdev/pmd/startup/AutoMakeStartupHint.java rename to src/main/java/software/xdev/pmd/startup/JavaCompilerAutoMakeStartupHint.java index bf69721..89dd692 100644 --- a/src/main/java/software/xdev/pmd/startup/AutoMakeStartupHint.java +++ b/src/main/java/software/xdev/pmd/startup/JavaCompilerAutoMakeStartupHint.java @@ -20,7 +20,7 @@ import software.xdev.pmd.util.Notifications; -public class AutoMakeStartupHint implements ProjectActivity +public class JavaCompilerAutoMakeStartupHint implements ProjectActivity { @Nullable @Override diff --git a/src/main/resources/META-INF/plugin-java.xml b/src/main/resources/META-INF/plugin-java.xml index 19fa3a4..b4f4fd8 100644 --- a/src/main/resources/META-INF/plugin-java.xml +++ b/src/main/resources/META-INF/plugin-java.xml @@ -6,5 +6,7 @@ + + diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index a04277d..1068900 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -34,7 +34,6 @@ - Date: Wed, 1 Apr 2026 10:08:31 +0200 Subject: [PATCH 11/11] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02fb52a..ebc89c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # 1.0.8 * Correctly handle missing/removal of built-in configuration +* Fix crash on non Java-IDEs #67 # 1.0.7 * Update PMD to 7.23.0