Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
50a54b7
Update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3…
xdev-renovate Aug 17, 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
477775d
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
837e381
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
69d8555
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
1a93e0a
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
71cfdd4
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
5d81815
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 28, 2025
d820b9e
Enable pmd analysis cache
AB-xdev Aug 28, 2025
b338419
Merge branch 'master' into update-from-template-merged
xdev-gh-bot Aug 28, 2025
1174839
Merge branch 'develop' into update-from-template-merged
xdev-gh-bot Sep 1, 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
12 changes: 6 additions & 6 deletions .config/pmd/java/ruleset.xml
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,9 @@
<rule ref="category/java/security.xml"/>

<rule name="AvoidSystemSetterCall"
language="java"
message="Setters of java.lang.System should not be called unless really needed"
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
language="java"
message="Setters of java.lang.System should not be called unless really needed"
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
<description>
Calling setters of java.lang.System usually indicates bad design and likely causes unexpected behavior.
For example, it may break when multiple Threads are setting the value.
Expand All @@ -219,9 +219,9 @@
</rule>

<rule name="JavaObjectSerializationIsUnsafe"
language="java"
message="Using Java Object (De-)Serialization is unsafe and has led to too many security vulnerabilities"
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
language="java"
message="Using Java Object (De-)Serialization is unsafe and has led to too many security vulnerabilities"
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
<description>
Nearly every known usage of (Java) Object Deserialization has resulted in [a security vulnerability](https://cloud.google.com/blog/topics/threat-intelligence/hunting-deserialization-exploits?hl=en).
Vulnerabilities are so common that there are [dedicated projects for exploit payload generation](https://github.com/frohoff/ysoserial).
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/broken-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ 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

Expand All @@ -29,7 +29,7 @@ jobs:
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 Down
63 changes: 47 additions & 16 deletions .github/workflows/check-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,25 +26,30 @@ jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 30

strategy:
matrix:
java: [17, 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-build-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-mvn-build-

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

- name: Check for uncommited changes
run: |
if [[ "$(git status --porcelain)" != "" ]]; then
Expand Down Expand Up @@ -74,21 +79,34 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
timeout-minutes: 15

strategy:
matrix:
java: [17]
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 @@ -97,21 +115,34 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
timeout-minutes: 15

strategy:
matrix:
java: [17]
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
54 changes: 36 additions & 18 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'
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,31 +64,31 @@ 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
Expand Down Expand Up @@ -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'
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,7 +141,7 @@ 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'
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'
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
8 changes: 4 additions & 4 deletions .github/workflows/test-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,24 @@ 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'
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'
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
2 changes: 1 addition & 1 deletion .idea/checkstyle-idea.xml

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

1 change: 1 addition & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@
<artifactId>maven-pmd-plugin</artifactId>
<version>3.27.0</version>
<configuration>
<analysisCache>true</analysisCache>
<includeTests>true</includeTests>
<printFailingErrors>true</printFailingErrors>
<rulesets>
Expand Down
3 changes: 2 additions & 1 deletion sessionize-java-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.11.2</version>
<version>3.11.3</version>
<executions>
<execution>
<id>attach-javadocs</id>
Expand Down Expand Up @@ -476,6 +476,7 @@
<artifactId>maven-pmd-plugin</artifactId>
<version>3.27.0</version>
<configuration>
<analysisCache>true</analysisCache>
<includeTests>true</includeTests>
<printFailingErrors>true</printFailingErrors>
<rulesets>
Expand Down