Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
b973ead
Merge pull request #170 from xdev-software/master
AB-xdev Aug 12, 2025
019ff58
Add configuration for Intellij PMD plugin
AB-xdev Aug 13, 2025
c89fbec
Merge remote-tracking branch 'origin/update-from-template'
AB-xdev Aug 13, 2025
29aa603
Enable async processing by default
AB-xdev Aug 13, 2025
3ed0401
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 13, 2025
8d53531
Enhance default PMD ruleset
AB-xdev Aug 14, 2025
7baf8f8
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 14, 2025
50a54b7
Update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3…
xdev-renovate Aug 17, 2025
b47786e
Merge branch 'develop' into update-from-template-merged
xdev-gh-bot Aug 18, 2025
2924da1
Update actions/setup-java action to v5
xdev-renovate Aug 22, 2025
739ed7e
Update lycheeverse/lychee-action digest to 01a5c94
xdev-renovate Aug 23, 2025
28c4ef5
Merge pull request #6 from xdev-software/renovate/lycheeverse-lychee-…
AB-xdev Aug 25, 2025
a7a1206
Merge pull request #187 from xdev-software/renovate/actions-setup-jav…
AB-xdev Aug 25, 2025
df3dad2
Merge pull request #186 from xdev-software/renovate/org.apache.maven.…
AB-xdev Aug 25, 2025
db11f77
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 25, 2025
aa9cdfe
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 25, 2025
ebc6187
Update lycheeverse/lychee-action digest to 885c65f
xdev-renovate Aug 26, 2025
b2aeb89
Merge pull request #7 from xdev-software/renovate/lycheeverse-lychee-…
AB-xdev Aug 26, 2025
87adb6f
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 26, 2025
e9b8509
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 26, 2025
8c154dd
Update to latest checkstyle version
AB-xdev Aug 26, 2025
683aee8
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 26, 2025
3c3c27c
Remove whitespaces
AB-xdev Aug 28, 2025
2d5dbbb
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 28, 2025
251594a
Improve caching and remove excessive whitespaces
AB-xdev Aug 28, 2025
3dfbb54
Remove excessive white-spaces
AB-xdev Aug 28, 2025
ae6bea8
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 28, 2025
e96287e
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 28, 2025
d820b9e
Enable pmd analysis cache
AB-xdev Aug 28, 2025
85ec706
Update dependency com.puppycrawl.tools:checkstyle to v11.0.1
xdev-renovate Sep 1, 2025
a9590eb
Merge pull request #194 from xdev-software/renovate/com.puppycrawl.to…
AB-xdev Sep 1, 2025
fa2a85e
Merge remote-tracking branch 'origin/update-from-template' into develop
AB-xdev Sep 2, 2025
c41665b
PMD: AvoidUnmanagedThreads
AB-xdev Sep 2, 2025
3b31f0b
Fix format
AB-xdev Sep 2, 2025
ebe579f
PMD: Add PostConstruct and PreDestroy
AB-xdev Sep 2, 2025
3792ace
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Sep 2, 2025
d23faec
Init
AB-xdev Sep 3, 2025
b967a6a
Merge remote-tracking branch 'origin/update-from-template-xdev-softwa…
AB-xdev Sep 3, 2025
a42d3cb
Merge branch 'master' into update-from-template-xdev-software/java-te…
xdev-gh-bot Sep 3, 2025
bba9aa6
No EoL
AB-xdev Sep 3, 2025
dc3ac3d
Merge branch 'master' into update-from-template-xdev-software/java-se…
xdev-gh-bot Sep 3, 2025
1931201
Merge branch 'master' into update-from-template-xdev-software/java-te…
xdev-gh-bot Sep 3, 2025
1a3fdd1
Merge branch 'develop' into update-from-template-merged
xdev-gh-bot Sep 8, 2025
b828600
Update net.sourceforge.pmd to v7.17.0
xdev-renovate Sep 12, 2025
d3df7ee
Merge pull request #198 from xdev-software/renovate/net.sourceforge.pmd
AB-xdev Sep 12, 2025
154c6c7
Update to PMD 7.17 and add new rules
AB-xdev Sep 12, 2025
d149489
Merge branch 'master' into update-from-template-xdev-software/java-se…
xdev-gh-bot Sep 12, 2025
ee1210b
Merge branch 'master' into update-from-template-xdev-software/java-te…
xdev-gh-bot Sep 12, 2025
44ccd72
Update shogo82148/actions-create-release digest to 7b89596
xdev-renovate Sep 14, 2025
f2d035e
Merge branch 'develop' into update-from-template-merged
xdev-gh-bot Sep 15, 2025
6d48ed5
Update dependency org.apache.maven.plugins:maven-surefire-plugin to v…
xdev-renovate Sep 15, 2025
088bcf3
Add PMD 7.16 Rules
AB-xdev Sep 15, 2025
2c96ba1
Merge pull request #201 from xdev-software/renovate/shogo82148-action…
AB-xdev Sep 16, 2025
dd4c7fa
Update mvnw
AB-xdev Sep 16, 2025
1084868
PMD: Import and modify rules from `jPinpoint`
AB-xdev Sep 15, 2025
deddd91
PMD: Exclude unused rule
AB-xdev Sep 16, 2025
53b1e5d
PMD: Reword and also apply to runAsync
AB-xdev Sep 16, 2025
e6358ed
PMD: Fix error
AB-xdev Sep 16, 2025
042b7a4
PMD: Remove rule as it yields too many FP
AB-xdev Sep 16, 2025
6882b45
PMF: Cleanup and format
AB-xdev Sep 17, 2025
2310522
Merge branch 'master' into update-from-template-xdev-software/java-se…
xdev-gh-bot Sep 17, 2025
13669ae
Merge branch 'master' into update-from-template-xdev-software/java-te…
xdev-gh-bot Sep 17, 2025
7bcc1bd
Update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3…
xdev-renovate Sep 21, 2025
e0867d3
Update dependency org.apache.maven.plugins:maven-compiler-plugin to v…
xdev-renovate Sep 22, 2025
184b908
Update dependency org.codehaus.mojo:flatten-maven-plugin to v1.7.3
xdev-renovate Sep 22, 2025
e02c5fb
Merge pull request #205 from xdev-software/renovate/org.codehaus.mojo…
AB-xdev Sep 22, 2025
8d05002
Merge pull request #204 from xdev-software/renovate/org.apache.maven.…
AB-xdev Sep 22, 2025
bf15dff
Merge pull request #203 from xdev-software/renovate/org.apache.maven.…
AB-xdev Sep 22, 2025
0e8aefd
Update dependency org.sonatype.central:central-publishing-maven-plugi…
xdev-renovate Sep 24, 2025
45ce26a
Merge pull request #206 from xdev-software/renovate/org.sonatype.cent…
AB-xdev Sep 25, 2025
f08c662
Update dependency com.puppycrawl.tools:checkstyle to v11.1.0
xdev-renovate Sep 29, 2025
b0a5ee4
Merge pull request #207 from xdev-software/renovate/com.puppycrawl.to…
AB-xdev Sep 29, 2025
6278740
Fix broken-links not finding issues on GH CLI v2.79+
AB-xdev Sep 29, 2025
2a9792e
Merge branch 'master' into update-from-template-xdev-software/base-te…
xdev-gh-bot Sep 29, 2025
82c008b
Merge branch 'master' into update-from-template-xdev-software/java-te…
xdev-gh-bot Sep 29, 2025
39c4703
Test compile with Java 25 & Update docs
AB-xdev Sep 30, 2025
6496a0c
Update dependency org.junit.jupiter:junit-jupiter to v6
xdev-renovate Oct 1, 2025
f71bf68
Update peter-evans/create-issue-from-file action to v6
xdev-renovate Oct 2, 2025
59a4d94
Merge pull request #9 from xdev-software/renovate/peter-evans-create-…
AB-xdev Oct 2, 2025
046de39
Update PMD scheme location
AB-xdev Oct 2, 2025
b8cd7d4
Merge branch 'master' into update-from-template-xdev-software/base-te…
xdev-gh-bot Oct 2, 2025
02beb62
Merge branch 'master' into update-from-template-xdev-software/java-se…
xdev-gh-bot Oct 2, 2025
447f71d
Merge branch 'master' into update-from-template-xdev-software/java-te…
xdev-gh-bot Oct 2, 2025
d380605
Fix typo
AB-xdev Oct 7, 2025
09de11e
Merge branch 'master' into update-from-template-xdev-software/java-se…
xdev-gh-bot Oct 7, 2025
477861a
Merge branch 'master' into update-from-template-xdev-software/java-te…
xdev-gh-bot Oct 7, 2025
120753d
Merge pull request #189 from xdev-software/renovate/org.junit.jupiter…
AB-xdev Oct 9, 2025
f928349
Fix PMD
AB-xdev Oct 9, 2025
85a516c
Merge branch 'develop' of https://github.com/xdev-software/testcontai…
AB-xdev Oct 9, 2025
68a5867
Merge remote-tracking branch 'origin/update-from-template' into develop
AB-xdev Oct 9, 2025
c41677e
Use Virtual Threads on Java 21+
AB-xdev Oct 9, 2025
e036c08
Merge pull request #180 from xdev-software/renovate/org.apache.maven.…
AB-xdev Oct 9, 2025
28c06b9
Update dependency org.apache.maven.plugins:maven-compiler-plugin to v…
xdev-renovate Oct 9, 2025
0607172
Update dependency com.puppycrawl.tools:checkstyle to v11.1.0
xdev-renovate Oct 9, 2025
5b8f342
Bump version
AB-xdev Oct 9, 2025
6c294dc
Merge branch 'develop' of https://github.com/xdev-software/testcontai…
AB-xdev Oct 9, 2025
ad129b7
Merge pull request #185 from xdev-software/renovate/org.apache.maven.…
AB-xdev Oct 9, 2025
b8d6856
Merge pull request #176 from xdev-software/renovate/com.puppycrawl.to…
AB-xdev Oct 9, 2025
c92fcdc
Update Application.java
AB-xdev Oct 9, 2025
fe6a1a2
Update ImageBuilderExecutorServiceHolder.java
AB-xdev Oct 9, 2025
9029dd8
Merge branch 'develop' of https://github.com/xdev-software/testcontai…
AB-xdev Oct 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
880 changes: 877 additions & 3 deletions .config/pmd/java/ruleset.xml

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions .github/workflows/broken-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@ jobs:

- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@5c4ee84814c983aa7164eaee476f014e53ff3963 # v2
uses: lycheeverse/lychee-action@885c65f3dc543b57c898c8099f4e08c8afd178a2 # v2
with:
fail: false # Don't fail on broken links, create an issue instead

- name: Find already existing issue
id: find-issue
run: |
echo "number=$(gh issue list -l 'bug' -l 'automated' -L 1 -S 'in:title \"Link Checker Report\"' -s 'open' --json 'number' --jq '.[].number')" >> $GITHUB_OUTPUT
echo "number=$(gh issue list -l 'bug' -l 'automated' -L 1 -S 'in:title "Link Checker Report"' -s 'open' --json 'number' --jq '.[].number')" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ github.token }}

- name: Close issue if everything is fine
if: steps.lychee.outputs.exit_code == 0 && steps.find-issue.outputs.number != ''
run: gh issue close -r 'not planned' ${{ steps.find-issue.outputs.number }}
Expand All @@ -38,7 +38,7 @@ jobs:

- name: Create Issue From File
if: steps.lychee.outputs.exit_code != 0
uses: peter-evans/create-issue-from-file@e8ef132d6df98ed982188e460ebb3b5d4ef3a9cd # v5
uses: peter-evans/create-issue-from-file@fca9117c27cdc29c6c4db3b86c48e4115a786710 # v6
with:
issue-number: ${{ steps.find-issue.outputs.number }}
title: Link Checker Report
Expand Down
69 changes: 50 additions & 19 deletions .github/workflows/check-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,32 @@ env:
jobs:
build:
timeout-minutes: 30

strategy:
matrix:
java: [17, 21]
java: [21, 25]
distribution: [temurin]
os: [ubuntu-latest, windows-latest] # Windows is needed for recursive NTFS junctions

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
cache: 'maven'


- name: Cache Maven
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-mvn-build-

- name: Build with Maven
run: ./mvnw -B clean package -P run-integration-tests -T2C

- name: Check for uncommited changes
shell: bash
run: |
Expand All @@ -69,21 +74,34 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
timeout-minutes: 15

strategy:
matrix:
java: [17]
java: [21]
distribution: [temurin]

steps:
- uses: actions/checkout@v5

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
cache: 'maven'

- name: Cache Maven
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-mvn-checkstyle-

- name: CheckStyle Cache
uses: actions/cache@v4
with:
path: '**/target/checkstyle-cachefile'
key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-checkstyle-

- name: Run Checkstyle
run: ./mvnw -B checkstyle:check -P checkstyle -T2C
Expand All @@ -92,21 +110,34 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
timeout-minutes: 15

strategy:
matrix:
java: [17]
java: [21]
distribution: [temurin]

steps:
- uses: actions/checkout@v5

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
cache: 'maven'

- name: Cache Maven
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-mvn-pmd-

- name: PMD Cache
uses: actions/cache@v4
with:
path: '**/target/pmd/pmd.cache'
key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-pmd-

- name: Run PMD
run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -DskipTests -T2C
Expand Down
64 changes: 41 additions & 23 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,30 @@ permissions:
contents: write
pull-requests: write

# DO NOT RESTORE CACHE for critical release steps to prevent a (extremely unlikely) scenario
# where a supply chain attack could be achieved due to poisoned cache
jobs:
check-code:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v5

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: '17'
java-version: '21'
distribution: 'temurin'
cache: 'maven'


# Try to reuse existing cache from check-build
- name: Try restore Maven Cache
uses: actions/cache/restore@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-mvn-build-

- name: Build with Maven
run: ./mvnw -B clean package -T2C

Expand Down Expand Up @@ -54,34 +64,34 @@ jobs:
upload_url: ${{ steps.create-release.outputs.upload_url }}
steps:
- uses: actions/checkout@v5

- name: Configure Git
run: |
git config --global user.email "[email protected]"
git config --global user.name "GitHub Actions"

- name: Un-SNAP
run: ./mvnw -B versions:set -DremoveSnapshot -DprocessAllModules -DgenerateBackupPoms=false

- name: Get version
id: version
run: |
version=$(../mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "release=$version" >> $GITHUB_OUTPUT
echo "releasenumber=${version//[!0-9]/}" >> $GITHUB_OUTPUT
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}

- name: Commit and Push
run: |
git add -A
git commit -m "Release ${{ steps.version.outputs.release }}"
git push origin
git tag v${{ steps.version.outputs.release }}
git push origin --tags

- name: Create Release
id: create-release
uses: shogo82148/actions-create-release@4661dc54f7b4b564074e9fbf73884d960de569a3 # v1
uses: shogo82148/actions-create-release@7b89596097b26731bda0852f1504f813499079ee # v1
with:
tag_name: v${{ steps.version.outputs.release }}
release_name: v${{ steps.version.outputs.release }}
Expand All @@ -106,23 +116,23 @@ jobs:
timeout-minutes: 60
steps:
- uses: actions/checkout@v5

- name: Init Git and pull
run: |
git config --global user.email "[email protected]"
git config --global user.name "GitHub Actions"
git pull

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with: # running setup-java overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
java-version: '21'
server-id: github-central
server-password: PACKAGES_CENTRAL_TOKEN
gpg-passphrase: MAVEN_GPG_PASSPHRASE
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once

- name: Publish to GitHub Packages Central
run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
Expand All @@ -131,10 +141,10 @@ jobs:
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with: # running setup-java again overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
java-version: '21'
server-id: sonatype-central-portal
server-username: MAVEN_CENTRAL_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
Expand All @@ -154,19 +164,27 @@ jobs:
timeout-minutes: 15
steps:
- uses: actions/checkout@v5

- name: Init Git and pull
run: |
git config --global user.email "[email protected]"
git config --global user.name "GitHub Actions"
git pull

- name: Setup - Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: '17'
java-version: '21'
distribution: 'temurin'
cache: 'maven'

# Try to reuse existing cache from check-build
- name: Try restore Maven Cache
uses: actions/cache/restore@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-mvn-build-

- name: Build site
run: ../mvnw -B compile site -DskipTests -T2C
Expand All @@ -185,7 +203,7 @@ jobs:
timeout-minutes: 10
steps:
- uses: actions/checkout@v5

- name: Init Git and pull
run: |
git config --global user.email "[email protected]"
Expand All @@ -200,7 +218,7 @@ jobs:
git add -A
git commit -m "Preparing for next development iteration"
git push origin

- name: pull-request
env:
GH_TOKEN: ${{ github.token }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/test-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,27 @@ jobs:
- uses: actions/checkout@v5

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with: # running setup-java overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
java-version: '21'
server-id: github-central
server-password: PACKAGES_CENTRAL_TOKEN
gpg-passphrase: MAVEN_GPG_PASSPHRASE
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once

- name: Publish to GitHub Packages Central
run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
env:
PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with: # running setup-java again overwrites the settings.xml
distribution: 'temurin'
java-version: '17'
java-version: '21'
server-id: sonatype-central-portal
server-username: MAVEN_CENTRAL_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/update-from-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
# 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 "[email protected]"
Expand Down Expand Up @@ -190,7 +190,7 @@ jobs:
# 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 "[email protected]"
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ hs_err_pid*
!.idea/saveactions_settings.xml
!.idea/checkstyle-idea.xml
!.idea/externalDependencies.xml
!.idea/PMDPlugin.xml

!.idea/inspectionProfiles/
.idea/inspectionProfiles/*
Expand Down
16 changes: 16 additions & 0 deletions .idea/PMDPlugin.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading