Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
674e85b
Move poms
AB-xdev Sep 18, 2026
93e85d1
Migrate root pom
AB-xdev Sep 18, 2026
5d6bf82
Create src pom.xml and hand over control to it
AB-xdev Sep 18, 2026
97244be
Create demos pom.xml and hand over control to it
AB-xdev Sep 18, 2026
09816ec
Update workflows
AB-xdev Sep 18, 2026
faf5a50
Merge remote-tracking branch 'standard-maven-template/v2-structure-re…
AB-xdev Sep 18, 2026
5a13aac
Correct inception year
AB-xdev Sep 18, 2026
53a9edb
Re-align poms
AB-xdev Sep 18, 2026
20b7944
Java Version is 25
AB-xdev Sep 18, 2026
afaf099
Fix demo
AB-xdev Sep 18, 2026
bed9dbc
Fill in demo
AB-xdev Sep 18, 2026
8aed843
Fill in demo
AB-xdev Sep 18, 2026
028fab3
Prepare for demo migration
AB-xdev Sep 18, 2026
a10d0e3
Move demo
AB-xdev Sep 18, 2026
10cbc14
Move demo
AB-xdev Sep 18, 2026
bdd3652
Targeted java version should be 21
AB-xdev Sep 18, 2026
3658be8
Fill in template
AB-xdev Sep 18, 2026
8eed92d
Rename module
AB-xdev Sep 18, 2026
68b6e1b
Fix group id
AB-xdev Sep 18, 2026
4abeeef
Prepare for merge
AB-xdev Sep 18, 2026
73cee39
Move
AB-xdev Sep 18, 2026
19d4cee
Module name
AB-xdev Sep 18, 2026
e01b392
Move everything into the correct directory
AB-xdev Sep 18, 2026
ba1eed6
Migrate all src modules to new world
AB-xdev Sep 18, 2026
115604e
Migrate advanced-demo
AB-xdev Sep 18, 2026
25c4289
Fix groupId
AB-xdev Sep 18, 2026
4a5a206
Correct versions
AB-xdev Sep 18, 2026
a9152d8
Integrate all modules
AB-xdev Sep 18, 2026
99e93a5
Demo has differnt GroupId
AB-xdev Sep 18, 2026
bcf7e6b
Sync year in headers
AB-xdev Sep 18, 2026
5efbf57
Use parallelization
AB-xdev Sep 18, 2026
668a696
Project specific PMD config
AB-xdev Sep 18, 2026
5355a1d
Adopt changes in workflows
AB-xdev Sep 18, 2026
96a4303
Make mvnw executable
AB-xdev Sep 18, 2026
13ddfd3
Correct launchers
AB-xdev Sep 18, 2026
126361e
Fix tcst integration tests
AB-xdev Sep 18, 2026
0b122f2
Fix license header
AB-xdev Sep 18, 2026
e534891
Fix jacoco aggregate
AB-xdev Sep 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 3 additions & 6 deletions .github/workflows/check-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ on:
- '.idea/**'
- 'assets/**'

env:
DEMO_MAVEN_MODULE: ${{ github.event.repository.name }}-demo

jobs:
build:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -49,7 +46,7 @@ jobs:
${{ runner.os }}-mvn-build-

- name: Build with Maven
run: ./mvnw -B clean package -P ignore-service-loading
run: ./mvnw -B clean package -P ignore-service-loading -T2C

- name: Check for uncommited changes
run: |
Expand Down Expand Up @@ -141,10 +138,10 @@ jobs:
${{ runner.os }}-pmd-

- name: Run PMD
run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -DskipTests -T2C
run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -T2C

- name: Run CPD (Copy Paste Detector)
run: ./mvnw -B pmd:aggregate-cpd pmd:cpd-check -P pmd -DskipTests -T2C
run: ./mvnw -B pmd:aggregate-cpd pmd:cpd-check -P pmd -T2C

- name: Upload report
if: ${{ !cancelled() }}
Expand Down
77 changes: 47 additions & 30 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ on:
push:
branches: [ master ]

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:
Expand All @@ -34,7 +30,8 @@ jobs:
${{ runner.os }}-mvn-build-

- name: Build with Maven
run: ./mvnw -B clean package -P ignore-service-loading -T2C
run: ../mvnw -B clean package -P ignore-service-loading -T2C
working-directory: src

- name: Check for uncommited changes
run: |
Expand All @@ -58,6 +55,8 @@ jobs:
runs-on: ubuntu-latest
needs: [check-code]
timeout-minutes: 10
permissions:
contents: write
outputs:
upload_url: ${{ steps.create-release.outputs.upload_url }}
steps:
Expand All @@ -74,7 +73,7 @@ jobs:
- name: Get version
id: version
run: |
version=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
version=$(./mvnw -B help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "release=$version" >> $GITHUB_OUTPUT
echo "releasenumber=${version//[!0-9]/}" >> $GITHUB_OUTPUT

Expand Down Expand Up @@ -132,14 +131,9 @@ jobs:
gpg-passphrase: MAVEN_GPG_PASSPHRASE
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once

- name: Publish to GitHub Packages
run: |
modules=("bom")
dependency_management_block=$(grep -ozP '<dependencyManagement>(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0')
modules+=($(echo $dependency_management_block | grep -oP '(?<=<artifactId>)[^<]+'))
printf -v modules_joined '%s,' "${modules[@]}"
modules_arg=$(echo "${modules_joined%,}")
./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
- name: Publish to GitHub Packages Central
run: ../mvnw -B deploy -P publish -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
working-directory: src
env:
PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
Expand All @@ -155,19 +149,14 @@ jobs:
gpg-passphrase: MAVEN_GPG_PASSPHRASE

- name: Publish to Central Portal
run: |
modules=("bom")
dependency_management_block=$(grep -ozP '<dependencyManagement>(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0')
modules+=($(echo $dependency_management_block | grep -oP '(?<=<artifactId>)[^<]+'))
printf -v modules_joined '%s,' "${modules[@]}"
modules_arg=$(echo "${modules_joined%,}")
./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish,publish-sonatype-central-portal -DskipTests
run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
working-directory: src

publish-pages:
build-pages:
runs-on: ubuntu-latest
needs: [prepare-release]
timeout-minutes: 15
Expand Down Expand Up @@ -200,29 +189,57 @@ jobs:
sed -i '/<module>.*-demo<\/module>/d' pom.xml

- name: Build site
run: ./mvnw -B compile site -DskipTests -T2C

run: ../mvnw -B compile site -P site -T2C
working-directory: src

- name: Aggregate site
run: |
modules=($(grep -ozP '(?<=module>)[^<]+' 'pom.xml' | tr -d '\0'))
for m in "${modules[@]}"
module_dirs=$(../mvnw -B -q --also-make exec:exec -Dexec.executable="pwd")
for m in "${module_dirs[@]}"
do
echo "$m/target/site -> ./target/$m"
mkdir -p ./target/$m
cp -r $m/target/site ./target/$m
echo "$m/target/site -> ./target/$m"
mkdir -p ./target/$m
cp -r $m/target/site ./target/$m
done
working-directory: src

- name: Upload pages artifact
uses: actions/upload-pages-artifact@v5
with:
path: src/target/site

- name: Deploy to Github pages
uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./target/site
publish_dir: ./src/target/site
force_orphan: true

deploy-pages:
runs-on: ubuntu-latest
needs: [build-pages]
timeout-minutes: 10
concurrency:
group: 'pages'
cancel-in-progress: false
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5

after-release:
runs-on: ubuntu-latest
needs: [publish-maven]
timeout-minutes: 10
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v7

Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/run-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
- name: Test
run: |
./mvnw -B test \
-pl "advanced-demo/integration-tests/${{ matrix.project }}" -am \
-pl "demos/advanced-demo/integration-tests/${{ matrix.project }}" -am \
-T2C \
-P run-it \
-Dchecks.disable=true \
Expand Down Expand Up @@ -162,7 +162,7 @@ jobs:
echo "Java UseAVX: ${java_useavx}"

./mvnw -B test \
-pl "advanced-demo/integration-tests/${{ matrix.project }}" -am \
-pl "demos/advanced-demo/integration-tests/${{ matrix.project }}" -am \
-T2C \
-P run-it${{ matrix.jacoco && ',jacoco' || '' }} \
-Dlicense.skip \
Expand Down Expand Up @@ -192,21 +192,22 @@ jobs:
uses: actions/upload-artifact@v7
with:
name: test-fail-videos-${{ matrix.java }}-${{ matrix.project }}-${{ matrix.parallel }}-${{ matrix.pre-start }}
path: advanced-demo/integration-tests/${{ matrix.project }}/target/records
path: demos/advanced-demo/integration-tests/${{ matrix.project }}/target/records
if-no-files-found: ignore

- name: Aggregate WebApp JaCoCo report
if: ${{ matrix.jacoco && success() }}
# Important: Also run compile (if not already done) so that we have all class files - otherwise the report will be incomplete
run: |
./mvnw -B compile jacoco-aggregator:report-aggregate-all -pl "advanced-demo/webapp" -am -T2C
./mvnw -B compile jacoco-aggregator:report-aggregate-all -pl webapp -am -T2C
working-directory: demos/advanced-demo

- name: Upload WebApp JaCoCo report
if: ${{ matrix.jacoco && success() }}
uses: actions/upload-artifact@v7
with:
name: webapp-jacoco-report-${{ matrix.java }}-${{ matrix.project }}-${{ matrix.parallel }}-${{ matrix.pre-start }}
path: advanced-demo/target/site/jacoco-aggregate
path: demos/advanced-demo/target/site/jacoco-aggregate
if-no-files-found: ignore

- name: Wait for async jobs to finish
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-module-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
- name: Test
run: |
./mvnw -B test \
-pl "${{ inputs.module }}" -am \
-pl "src/${{ inputs.module }}" -am \
-T2C \
-P run-it \
-Dchecks.disable=true \
Expand Down
20 changes: 5 additions & 15 deletions .github/workflows/test-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,9 @@ jobs:
gpg-passphrase: MAVEN_GPG_PASSPHRASE
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once

- name: Publish to GitHub Packages
run: |
modules=("bom")
dependency_management_block=$(grep -ozP '<dependencyManagement>(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0')
modules+=($(echo $dependency_management_block | grep -oP '(?<=<artifactId>)[^<]+'))
printf -v modules_joined '%s,' "${modules[@]}"
modules_arg=$(echo "${modules_joined%,}")
./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
- name: Publish to GitHub Packages Central
run: ../mvnw -B deploy -P publish -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
working-directory: src
env:
PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
Expand All @@ -43,13 +38,8 @@ jobs:
gpg-passphrase: MAVEN_GPG_PASSPHRASE

- name: Publish to Central Portal
run: |
modules=("bom")
dependency_management_block=$(grep -ozP '<dependencyManagement>(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0')
modules+=($(echo $dependency_management_block | grep -oP '(?<=<artifactId>)[^<]+'))
printf -v modules_joined '%s,' "${modules[@]}"
modules_arg=$(echo "${modules_joined%,}")
./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish,publish-sonatype-central-portal -DskipTests
run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal
working-directory: src
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .run/All in persistence-it-eclipselink.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="directory" />
<dir value="$PROJECT_DIR$/advanced-demo/integration-tests/persistence-it/src/test/java" />
<dir value="$PROJECT_DIR$/demos/advanced-demo/integration-tests/persistence-it/src/test/java" />
<method v="2">
<option name="Make" enabled="true" />
</method>
Expand Down
2 changes: 1 addition & 1 deletion .run/All in persistence-it-hibernate.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="directory" />
<dir value="$PROJECT_DIR$/advanced-demo/integration-tests/persistence-it/src/test/java" />
<dir value="$PROJECT_DIR$/demos/advanced-demo/integration-tests/persistence-it/src/test/java" />
<method v="2">
<option name="Make" enabled="true" />
</method>
Expand Down
9 changes: 0 additions & 9 deletions .run/Demo Application.run.xml

This file was deleted.

Loading
Loading