Skip to content
This repository was archived by the owner on Sep 17, 2026. It is now read-only.

Commit 46b622f

Browse files
committed
Merge remote-tracking branch 'origin/update-from-template-github_com_xdev-software_openapi-client-maven-template_master' into develop
2 parents 4dc175d + a13312c commit 46b622f

15 files changed

Lines changed: 199 additions & 169 deletions

File tree

.config/checkstyle/checkstyle.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
<module name="ExplicitInitialization">
6666
<property name="severity" value="info"/>
6767
</module>
68+
<module name="ExpressionOverBlockLambda"/>
6869
<module name="FinalClass"/>
6970
<module name="FinalParameters"/>
7071
<module name="GenericWhitespace"/>
@@ -87,9 +88,7 @@
8788
<module name="IllegalImport"/>
8889
<module name="IllegalSymbol"/>
8990
<module name="InterfaceIsType"/>
90-
<module name="JavadocStyle">
91-
<property name="checkFirstSentence" value="false"/>
92-
</module>
91+
<module name="JavadocContentLocation"/>
9392
<module name="LeftCurly">
9493
<!-- Default minus Lambda -->
9594
<property name="tokens" value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF, INTERFACE_DEF, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF, OBJBLOCK, STATIC_INIT, RECORD_DEF, COMPACT_CTOR_DEF"/>
@@ -146,6 +145,7 @@
146145
<module name="UnnecessarySemicolonInTryWithResources"/>
147146
<module name="UnusedImports"/>
148147
<module name="UnusedLocalVariable"/>
148+
<module name="UnusedPrivateField"/>
149149
<!-- Disabled by default; should be enabled on Java 25+ -->
150150
<!-- <module name="UnusedTryResourceShouldBeUnnamed"/> -->
151151
<module name="UpperEll"/>

.config/pmd/java/ruleset.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@
169169
<rule ref="category/java/errorprone.xml/UnconditionalIfStatement"/>
170170
<rule ref="category/java/errorprone.xml/UnnecessaryCaseChange"/>
171171
<rule ref="category/java/errorprone.xml/UnsupportedJdkApiUsage"/>
172-
<rule ref="category/java/errorprone.xml/UselessPureMethodCall"/>
172+
<rule ref="category/java/errorprone.xml/UnusedReturnValue"/>
173173

174174

175175
<rule ref="category/java/multithreading.xml">

.github/.lycheeignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# Ignorefile for broken link check
22
localhost
33
mvnrepository.com
4+
stackoverflow.com

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,4 @@ body:
6161
attributes:
6262
label: Additional information
6363
description: |
64-
Any other relevant information you'd like to include
64+
Any other relevant information you'd like to include, e.g. screenshots or video recordings of the bug

.github/workflows/check-build.yml

Lines changed: 58 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,20 @@ jobs:
3333
steps:
3434
- uses: actions/checkout@v7
3535

36-
- name: Set up JDK
37-
uses: actions/setup-java@v5
38-
with:
39-
distribution: ${{ matrix.distribution }}
40-
java-version: ${{ matrix.java }}
41-
42-
- name: Cache Maven
43-
uses: actions/cache@v6
44-
with:
45-
path: ~/.m2/repository
46-
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
47-
restore-keys: |
48-
${{ runner.os }}-mvn-build-
36+
- parallel:
37+
- name: Set up JDK
38+
uses: actions/setup-java@v6
39+
with:
40+
distribution: ${{ matrix.distribution }}
41+
java-version: ${{ matrix.java }}
42+
43+
- name: Cache Maven
44+
uses: actions/cache@v6
45+
with:
46+
path: ~/.m2/repository
47+
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
48+
restore-keys: |
49+
${{ runner.os }}-mvn-build-
4950
5051
- name: Build with Maven
5152
run: ./mvnw -B clean package
@@ -86,27 +87,28 @@ jobs:
8687
steps:
8788
- uses: actions/checkout@v7
8889

89-
- name: Set up JDK
90-
uses: actions/setup-java@v5
91-
with:
92-
distribution: ${{ matrix.distribution }}
93-
java-version: ${{ matrix.java }}
94-
95-
- name: Cache Maven
96-
uses: actions/cache@v6
97-
with:
98-
path: ~/.m2/repository
99-
key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }}
100-
restore-keys: |
101-
${{ runner.os }}-mvn-checkstyle-
102-
103-
- name: CheckStyle Cache
104-
uses: actions/cache@v6
105-
with:
106-
path: '**/target/checkstyle-cachefile'
107-
key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }}
108-
restore-keys: |
109-
${{ runner.os }}-checkstyle-
90+
- parallel:
91+
- name: Set up JDK
92+
uses: actions/setup-java@v6
93+
with:
94+
distribution: ${{ matrix.distribution }}
95+
java-version: ${{ matrix.java }}
96+
97+
- name: Cache Maven
98+
uses: actions/cache@v6
99+
with:
100+
path: ~/.m2/repository
101+
key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }}
102+
restore-keys: |
103+
${{ runner.os }}-mvn-checkstyle-
104+
105+
- name: CheckStyle Cache
106+
uses: actions/cache@v6
107+
with:
108+
path: '**/target/checkstyle-cachefile'
109+
key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }}
110+
restore-keys: |
111+
${{ runner.os }}-checkstyle-
110112
111113
- name: Run Checkstyle
112114
run: ./mvnw -B checkstyle:check -P checkstyle -T2C
@@ -122,27 +124,28 @@ jobs:
122124
steps:
123125
- uses: actions/checkout@v7
124126

125-
- name: Set up JDK
126-
uses: actions/setup-java@v5
127-
with:
128-
distribution: ${{ matrix.distribution }}
129-
java-version: ${{ matrix.java }}
130-
131-
- name: Cache Maven
132-
uses: actions/cache@v6
133-
with:
134-
path: ~/.m2/repository
135-
key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }}
136-
restore-keys: |
137-
${{ runner.os }}-mvn-pmd-
138-
139-
- name: PMD Cache
140-
uses: actions/cache@v6
141-
with:
142-
path: '**/target/pmd/pmd.cache'
143-
key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }}
144-
restore-keys: |
145-
${{ runner.os }}-pmd-
127+
- parallel:
128+
- name: Set up JDK
129+
uses: actions/setup-java@v6
130+
with:
131+
distribution: ${{ matrix.distribution }}
132+
java-version: ${{ matrix.java }}
133+
134+
- name: Cache Maven
135+
uses: actions/cache@v6
136+
with:
137+
path: ~/.m2/repository
138+
key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }}
139+
restore-keys: |
140+
${{ runner.os }}-mvn-pmd-
141+
142+
- name: PMD Cache
143+
uses: actions/cache@v6
144+
with:
145+
path: '**/target/pmd/pmd.cache'
146+
key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }}
147+
restore-keys: |
148+
${{ runner.os }}-pmd-
146149
147150
- name: Run PMD
148151
run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -DskipTests -T2C

.github/workflows/release.yml

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,21 @@ jobs:
2020
steps:
2121
- uses: actions/checkout@v7
2222

23-
- name: Set up JDK
24-
uses: actions/setup-java@v5
25-
with:
26-
java-version: '17'
27-
distribution: 'temurin'
28-
29-
# Try to reuse existing cache from check-build
30-
- name: Try restore Maven Cache
31-
uses: actions/cache/restore@v6
32-
with:
33-
path: ~/.m2/repository
34-
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
35-
restore-keys: |
36-
${{ runner.os }}-mvn-build-
23+
- parallel:
24+
- name: Set up JDK
25+
uses: actions/setup-java@v6
26+
with:
27+
java-version: '17'
28+
distribution: 'temurin'
29+
30+
# Try to reuse existing cache from check-build
31+
- name: Try restore Maven Cache
32+
uses: actions/cache/restore@v6
33+
with:
34+
path: ~/.m2/repository
35+
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
36+
restore-keys: |
37+
${{ runner.os }}-mvn-build-
3738
3839
- name: Build with Maven
3940
run: ./mvnw -B clean package -T2C
@@ -91,7 +92,7 @@ jobs:
9192
9293
- name: Create Release
9394
id: create-release
94-
uses: shogo82148/actions-create-release@6a396031bc74c57403da1018fec74d24c6aa03cd # v1
95+
uses: shogo82148/actions-create-release@8674c0ecee617c8dfb006526bcc22a362c70b88a # v1
9596
with:
9697
tag_name: v${{ steps.version.outputs.release }}
9798
release_name: v${{ steps.version.outputs.release }}
@@ -124,7 +125,7 @@ jobs:
124125
git pull
125126
126127
- name: Set up JDK
127-
uses: actions/setup-java@v5
128+
uses: actions/setup-java@v6
128129
with: # running setup-java overwrites the settings.xml
129130
distribution: 'temurin'
130131
java-version: '17'
@@ -141,7 +142,7 @@ jobs:
141142
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
142143

143144
- name: Set up JDK
144-
uses: actions/setup-java@v5
145+
uses: actions/setup-java@v6
145146
with: # running setup-java again overwrites the settings.xml
146147
distribution: 'temurin'
147148
java-version: '17'
@@ -172,7 +173,7 @@ jobs:
172173
git pull
173174
174175
- name: Setup - Java
175-
uses: actions/setup-java@v5
176+
uses: actions/setup-java@v6
176177
with:
177178
java-version: '17'
178179
distribution: 'temurin'

.github/workflows/test-deploy.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- uses: actions/checkout@v7
1515

1616
- name: Set up JDK
17-
uses: actions/setup-java@v5
17+
uses: actions/setup-java@v6
1818
with: # running setup-java overwrites the settings.xml
1919
distribution: 'temurin'
2020
java-version: '17'
@@ -31,7 +31,7 @@ jobs:
3131
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
3232

3333
- name: Set up JDK
34-
uses: actions/setup-java@v5
34+
uses: actions/setup-java@v6
3535
with: # running setup-java again overwrites the settings.xml
3636
distribution: 'temurin'
3737
java-version: '17'

.idea/pmd-x.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CONTRIBUTING.md

Lines changed: 32 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,56 @@
1-
## Contributing
1+
# Contributing
22

3-
We would absolutely love to get the community involved, and we welcome any form of contributions comments and questions on different communication channels, issues and pull request and anything that you build and share using our components.
3+
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.
44

5-
### Communication channels
5+
## Communication channels
66
* Communication is primarily done using issues.
7-
* 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/support).
7+
* 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).
88
* As a last resort measure or on otherwise important matter you may also [contact us directly](https://xdev.software/en/about-us/contact).
99

10-
### Ways to help
11-
* **Report bugs**<br/>Create an issue or send a pull request
10+
## Ways to help
11+
* **Report bugs**<br/>Create an issue and send a pull request
1212
* **Send pull requests**<br/>If you want to contribute code, check out the development instructions below.
1313
* 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.<br/>Otherwise your work might be rejected and your effort was pointless.
14+
* Please also note that your pull request might not be noticed immediately when it's not attached to an issue.
1415

15-
We also encourage you to read the [contribution instructions by GitHub](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
16+
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).
1617

1718
## Developing
1819

19-
### Software Requirements
20-
You should have the following things installed:
21-
* Git
22-
* Java 25 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/))
23-
* Maven (Note that the [Maven Wrapper](https://maven.apache.org/wrapper/) is shipped with the repo)
20+
Project specific development instructions can be found in [DEVELOPING.md](./DEVELOPING.md)
2421

25-
### Recommended setup
26-
* Install `IntelliJ`
27-
* Recommended setup actions
28-
* Disable not needed plugins
29-
* Disable [telemetry](https://www.jetbrains.com/help/idea/settings-usage-statistics.html)
30-
* Configure the available memory
31-
* Import the project
32-
* You will get prompted to install the required plugins
33-
* Ensure that everything is encoded in `UTF-8`
34-
* Ensure that the JDK/Java-Version is correct
3522

23+
## On AI use / LLM generated content
3624

37-
## Releasing [![Build](https://img.shields.io/github/actions/workflow/status/xdev-software/bzst-dip-java-client/release.yml?branch=master)](https://github.com/xdev-software/bzst-dip-java-client/actions/workflows/release.yml)
25+
_Our reason for the strict policy is due to [unqualified people using the technology](https://en.wikipedia.org/wiki/AI_slop)._
3826

39-
Before releasing:
40-
* Consider doing a [test-deployment](https://github.com/xdev-software/bzst-dip-java-client/actions/workflows/test-deploy.yml?query=branch%3Adevelop) before actually releasing.
41-
* Check the [changelog](CHANGELOG.md)
27+
<sup>This policy was inspired by the AI policies of `curl`, `MESA`, `matplotlib` and `Ghostty`.</sup>
4228

43-
If the ``develop`` is ready for release, create a pull request to the ``master``-Branch and merge the changes
29+
### Issues and security reports
4430

45-
When the release is finished do the following:
46-
* Merge the auto-generated PR (with the incremented version number) back into the ``develop``
31+
If you asked an AI tool to find problems in the project, you must make sure to reveal this fact in your issue.
4732

48-
### Release failures
33+
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.
4934

50-
There are 2 modes of release failure:
51-
1. The remote server was e.g. down and non of the artifacts got published
52-
2. There was a build failure during release and only parts of the artifacts got released
35+
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.<br/>
36+
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.
5337

54-
In case 1 we can re-release the existing version,<br/>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)
38+
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.
5539

56-
#### How-to: Re-Releasing an existing version
40+
We will ban and report users who submit made up fake reports.
5741

58-
1. Delete the release on GitHub
59-
2. Delete the release Git tag from the repo (locally and remote!)
60-
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)
61-
* This requires __temporarily__ removing the branch protection
62-
* Once this was done a new release is triggered immediately!
42+
### Pull requests
6343

64-
#### How-to: Releasing a new version
44+
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.
6545

66-
1. Merge the ``master`` branch back into ``develop`` (or another temporary branch)
67-
2. Make sure all master branch versions are prepared for a new release<br/>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!
68-
3. Mark the broken release as broken e.g. inside the Changelog, GitHub Release page, etc.<br/>
69-
You can use something like this:
70-
```
71-
> [!WARNING]
72-
> This release is broken as my cat accidentally clicked the abort button during the process
73-
```
74-
4. Merge the changes back into the ``master`` branch to trigger a new release
46+
This is independent if AI is used or not.
47+
48+
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.
49+
50+
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.
51+
52+
### Further notices
53+
54+
* External AI tooling (e.g. bots, agents) directly interacting with the project - without a human - are not allowed and will be banned and reported.
55+
* For commit messages the same guidelines as described above for issues apply - fully generated messages are not allowed.
56+
* AI assisted/generated commits can NOT use the `Co-authored-by` tag as this is reserved for humans - use `Assisted-by`/`Generated-by` instead.

0 commit comments

Comments
 (0)