From 93bd66d271838bff4ba3faef24b75bb1d6ae2d88 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 25 Aug 2026 03:20:40 +0000 Subject: [PATCH 01/10] Update actions/setup-java action to v6 --- .github/workflows/check-build.yml | 6 +++--- .github/workflows/release.yml | 8 ++++---- .github/workflows/test-deploy.yml | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 0cd2d9b..da6afa9 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -34,7 +34,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: distribution: ${{ matrix.distribution }} java-version: ${{ matrix.java }} @@ -87,7 +87,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: distribution: ${{ matrix.distribution }} java-version: ${{ matrix.java }} @@ -123,7 +123,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: distribution: ${{ matrix.distribution }} java-version: ${{ matrix.java }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dc0033e..3ce89fc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: java-version: '17' distribution: 'temurin' @@ -124,7 +124,7 @@ jobs: git pull - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: # running setup-java overwrites the settings.xml distribution: 'temurin' java-version: '17' @@ -141,7 +141,7 @@ jobs: MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: # running setup-java again overwrites the settings.xml distribution: 'temurin' java-version: '17' @@ -172,7 +172,7 @@ jobs: git pull - name: Setup - Java - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: java-version: '17' distribution: 'temurin' diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index 96e5d2a..9f66506 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: # running setup-java overwrites the settings.xml distribution: 'temurin' java-version: '17' @@ -31,7 +31,7 @@ jobs: MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: # running setup-java again overwrites the settings.xml distribution: 'temurin' java-version: '17' From ee3a9cbc799f72be8e50cf7039955f0aeb272f0c Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 31 Aug 2026 08:55:55 +0200 Subject: [PATCH 02/10] Add new CheckStyle rules for v14 --- .config/checkstyle/checkstyle.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index b585880..cd40139 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -65,6 +65,7 @@ + @@ -144,6 +145,7 @@ + From 501e65a2c7340ea27e8e06046b62e531a07b6843 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 1 Sep 2026 03:04:23 +0000 Subject: [PATCH 03/10] Update dependency com.mycila:license-maven-plugin to v5.1.2 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 15881e9..f449e8b 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -68,7 +68,7 @@ com.mycila license-maven-plugin - 5.1.1 + 5.1.2 ${project.organization.url} From 70c35248d434103e6aca58a78595c3a5e136eeb1 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 1 Sep 2026 03:04:27 +0000 Subject: [PATCH 04/10] Update net.sourceforge.pmd to v7.27.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 30343dc..3706fdd 100644 --- a/pom.xml +++ b/pom.xml @@ -83,12 +83,12 @@ net.sourceforge.pmd pmd-core - 7.26.0 + 7.27.0 net.sourceforge.pmd pmd-java - 7.26.0 + 7.27.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 15881e9..f204888 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -253,12 +253,12 @@ net.sourceforge.pmd pmd-core - 7.26.0 + 7.27.0 net.sourceforge.pmd pmd-java - 7.26.0 + 7.27.0 From 77fb7552e27b74d6399f3b08cd4516adbb5e2830 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 1 Sep 2026 03:04:29 +0000 Subject: [PATCH 05/10] Update dependency com.puppycrawl.tools:checkstyle to v14 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 30343dc..cb336fe 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 13.10.0 + 14.1.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 15881e9..71687b4 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 13.10.0 + 14.1.0 From 3070996074a88089b368915929aa397db28a84a4 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 1 Sep 2026 16:45:03 +0200 Subject: [PATCH 06/10] PMD 7.27: Fix deprecation --- .config/pmd/java/ruleset.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 8dde42b..4c72bf2 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -169,7 +169,7 @@ - + From ac8a7771515093356b32850b5f7fb8e677a4bc3b Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 15 Sep 2026 16:55:56 +0200 Subject: [PATCH 07/10] Add centralized contribution guide with AI policy attached to it Context: https://github.com/xdev-software/github/issues/41 `DEVELOPING.md` is meant for project specific development instructions e.g. what is required for building, releasing and so on --- CONTRIBUTING.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ DEVELOPING.md | 0 2 files changed, 56 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 DEVELOPING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..0dfa56b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,56 @@ +# Contributing + +We would absolutely love to get the community involved and we welcome any form of contributions - comments and questions, issues, pull request and anything that you build and share using our project. + +## Communication channels +* Communication is primarily done using issues. +* If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services-products/support). +* As a last resort measure or on otherwise important matter you may also [contact us directly](https://xdev.software/en/about-us/contact). + +## Ways to help +* **Report bugs**
Create an issue and send a pull request +* **Send pull requests**
If you want to contribute code, check out the development instructions below. + * However when contributing larger new features, please first discuss the change you wish to make via issue with the owners of this repository before making it.
Otherwise your work might be rejected and your effort was pointless. + * Please also note that your pull request might not be noticed immediately when it's not attached to an issue. + +We also encourage you to read the [contribution instructions by GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). + +## Developing + +Project specific development instructions can be found in [DEVELOPING.md](./DEVELOPING.md) + + +## On AI use / LLM generated content + +_Our reason for the strict policy is due to [unqualified people using the technology](https://en.wikipedia.org/wiki/AI_slop)._ + +This policy was inspired by the AI policies of `curl`, `MESA`, `matplotlib` and `Ghostty`. + +### Issues and security reports + +If you asked an AI tool to find problems in the project, you must make sure to reveal this fact in your issue. + +You must also double-check the findings carefully before reporting them to us to validate that the issue is indeed existing and working exactly as the AI says. AI-based tools frequently generate inaccurate or fabricated results. + +Further: It is rarely a good idea to copy and paste an AI generated report to the project. Those are typically too wordy and rarely to the point - in addition to the common fabricated details.
+If you actually find a problem with an AI and you have verified it yourself to be true: Write the issue/report yourself and explain the problem as you have learned it. This makes sure the AI-generated inaccuracies and invented issues are filtered out early before they waste more people's time. + +As we take security reports seriously, we investigate each report with priority. This work is both time and energy consuming and pulls us away from doing other meaningful work. Fake and otherwise made up security problems effectively prevent us from doing real project work and make us waste time and resources. + +We will ban and report users who submit made up fake reports. + +### Pull requests + +When contributing content to the project, you give us permission to use it as-is and you must make sure you are allowed to distribute it to us. By submitting a change to us, you agree that the changes can and should be adopted and get redistributed under the project's license. Authors should be explicitly aware that the burden is on them to ensure no unlicensed code is submitted to the project. + +This is independent if AI is used or not. + +When contributing a pull request you should of course always make sure that the proposal is good quality and a best effort that follows our guidelines. A basic rule of thumb is that if someone can spot that the contribution was made with the help of AI, you have more work to do. + +We can accept code written with the help of AI into the project, but the code must still follow coding standards, be written clearly and adhere to all the normal requirements we have. + +### Further notices + +* External AI tooling (e.g. bots, agents) directly interacting with the project - without a human - are not allowed and will be banned and reported. +* For commit messages the same guidelines as described above for issues apply - fully generated messages are not allowed. +* AI assisted/generated commits can NOT use the `Co-authored-by` tag as this is reserved for humans - use `Assisted-by` instead. diff --git a/DEVELOPING.md b/DEVELOPING.md new file mode 100644 index 0000000..e69de29 From 1cb7ab0211196cbd5516b66479f3b8effc844758 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 13:06:10 +0200 Subject: [PATCH 08/10] Update renovate.json5 --- renovate.json5 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/renovate.json5 b/renovate.json5 index 2874d45..1e1f3c0 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -2,6 +2,16 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "rebaseWhen": "behind-base-branch", "packageRules": [ + { + "description": "Don't manage Java version in actions", + "matchDepTypes": [ + "uses-with" + ], + "matchDatasources": [ + "java-version" + ], + "enabled": false + }, { "description": "Ignore project internal dependencies", "packagePattern": "^software.xdev:template-placeholder", From 8a4f1728f3a93e72f7d0ff379c0c6bef7f9e4370 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 13:15:26 +0200 Subject: [PATCH 09/10] Fix typo and reword --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0dfa56b..54d09e0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,4 +53,4 @@ We can accept code written with the help of AI into the project, but the code mu * External AI tooling (e.g. bots, agents) directly interacting with the project - without a human - are not allowed and will be banned and reported. * For commit messages the same guidelines as described above for issues apply - fully generated messages are not allowed. -* AI assisted/generated commits can NOT use the `Co-authored-by` tag as this is reserved for humans - use `Assisted-by` instead. +* AI assisted/generated commits can NOT use the `Co-authored-by` tag as this is reserved for humans - use `Assisted-by`/`Generated-by` instead. From 54a6f6050493e325bab4584dd507df720c859f3e Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 13:29:06 +0200 Subject: [PATCH 10/10] Fill in DEVELOPING.md --- DEVELOPING.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/DEVELOPING.md b/DEVELOPING.md index e69de29..a852082 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -0,0 +1,56 @@ +### Software Requirements +You should have the following things installed: +* Git +* Java 25 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/)) +* Maven (Note that the [Maven Wrapper](https://maven.apache.org/tools/wrapper/) is shipped with the repo) + +### Recommended setup +* Install `IntelliJ` + * Recommended setup actions + * Disable not needed plugins + * Disable [telemetry](https://www.jetbrains.com/help/idea/settings-usage-statistics.html) + * Configure the available memory + * Import the project + * You will get prompted to install the required plugins + * Ensure that everything is encoded in `UTF-8` + * Ensure that the JDK/Java-Version is correct + + +## Releasing [![Build](https://img.shields.io/github/actions/workflow/status/xdev-software/template-placeholder/release.yml?branch=master)](https://github.com/xdev-software/template-placeholder/actions/workflows/release.yml) + +Before releasing: +* Consider doing a [test-deployment](https://github.com/xdev-software/template-placeholder/actions/workflows/test-deploy.yml?query=branch%3Adevelop) before actually releasing. +* Check the [changelog](CHANGELOG.md) + +If the ``develop`` is ready for release, create a pull request to the ``master``-Branch and merge the changes + +When the release is finished do the following: +* Merge the auto-generated PR (with the incremented version number) back into the ``develop`` + +### Release failures + +There are 2 modes of release failure: +1. The remote server was e.g. down and non of the artifacts got published +2. There was a build failure during release and only parts of the artifacts got released + +In case 1 we can re-release the existing version,
in case 2 we have to release a new version when we can't get the artifacts deleted (as is the case with Maven Central) + +#### How-to: Re-Releasing an existing version + +1. Delete the release on GitHub +2. Delete the release Git tag from the repo (locally and remote!) +3. Delete the ``master``-Branch and re-create it from the ``develop`` branch (or reset it to the state before the release-workflow commits have been done) + * This requires __temporarily__ removing the branch protection + * Once this was done a new release is triggered immediately! + +#### How-to: Releasing a new version + +1. Merge the ``master`` branch back into ``develop`` (or another temporary branch) +2. Make sure all master branch versions are prepared for a new release
e.g. if the broken release was ``1.0.0`` the version should now be at ``1.0.1-SNAPSHOT`` - the ``SNAPSHOT`` is important for the workflow! +3. Mark the broken release as broken e.g. inside the Changelog, GitHub Release page, etc.
+You can use something like this: + ``` + > [!WARNING] + > This release is broken as my cat accidentally clicked the abort button during the process + ``` +4. Merge the changes back into the ``master`` branch to trigger a new release