Skip to content

Commit baf61f2

Browse files
committed
Merge branch 'develop' into update-from-template-merged
2 parents ce3728f + 1ede145 commit baf61f2

File tree

378 files changed

+24989
-161
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

378 files changed

+24989
-161
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ body:
1515
attributes:
1616
label: "Checklist"
1717
options:
18-
- label: "I am able to reproduce the bug with the [latest version](https://github.com/xdev-software/template-placeholder/releases/latest)"
18+
- label: "I am able to reproduce the bug with the [latest version](https://github.com/xdev-software/spring-security-extras/releases/latest)"
1919
required: true
20-
- label: "I made sure that there are *no existing issues* - [open](https://github.com/xdev-software/template-placeholder/issues) or [closed](https://github.com/xdev-software/template-placeholder/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
20+
- label: "I made sure that there are *no existing issues* - [open](https://github.com/xdev-software/spring-security-extras/issues) or [closed](https://github.com/xdev-software/spring-security-extras/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
2121
required: true
2222
- label: "I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise."
2323
required: true

.github/ISSUE_TEMPLATE/enhancement.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ body:
1313
attributes:
1414
label: "Checklist"
1515
options:
16-
- label: "I made sure that there are *no existing issues* - [open](https://github.com/xdev-software/template-placeholder/issues) or [closed](https://github.com/xdev-software/template-placeholder/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
16+
- label: "I made sure that there are *no existing issues* - [open](https://github.com/xdev-software/spring-security-extras/issues) or [closed](https://github.com/xdev-software/spring-security-extras/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
1717
required: true
1818
- label: "I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise."
1919
required: true

.github/ISSUE_TEMPLATE/question.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ body:
1212
attributes:
1313
label: "Checklist"
1414
options:
15-
- label: "I made sure that there are *no existing issues* - [open](https://github.com/xdev-software/template-placeholder/issues) or [closed](https://github.com/xdev-software/template-placeholder/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
15+
- label: "I made sure that there are *no existing issues* - [open](https://github.com/xdev-software/spring-security-extras/issues) or [closed](https://github.com/xdev-software/spring-security-extras/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
1616
required: true
1717
- label: "I have taken the time to fill in all the required details. I understand that the question will be dismissed otherwise."
1818
required: true

.github/workflows/check-build.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ on:
1919
- '.idea/**'
2020
- 'assets/**'
2121

22-
env:
23-
DEMO_MAVEN_MODULE: ${{ github.event.repository.name }}-demo
24-
2522
jobs:
2623
build:
2724
runs-on: ubuntu-latest
@@ -68,13 +65,6 @@ jobs:
6865
exit 1
6966
fi
7067
71-
- name: Upload demo files
72-
uses: actions/upload-artifact@v4
73-
with:
74-
name: demo-files-java-${{ matrix.java }}
75-
path: ${{ env.DEMO_MAVEN_MODULE }}/target/${{ env.DEMO_MAVEN_MODULE }}.jar
76-
if-no-files-found: error
77-
7868
checkstyle:
7969
runs-on: ubuntu-latest
8070
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}

.github/workflows/release.yml

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ on:
44
push:
55
branches: [ master ]
66

7-
env:
8-
PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }}
9-
107
permissions:
118
contents: write
129
pull-requests: write
@@ -76,10 +73,9 @@ jobs:
7673
- name: Get version
7774
id: version
7875
run: |
79-
version=$(../mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
76+
version=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
8077
echo "release=$version" >> $GITHUB_OUTPUT
8178
echo "releasenumber=${version//[!0-9]/}" >> $GITHUB_OUTPUT
82-
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
8379
8480
- name: Commit and Push
8581
run: |
@@ -104,12 +100,14 @@ jobs:
104100
Add the following lines to your pom:
105101
```XML
106102
<dependency>
107-
<groupId>software.xdev</groupId>
108-
<artifactId>${{ env.PRIMARY_MAVEN_MODULE }}</artifactId>
103+
<groupId>software.xdev.sse</groupId>
104+
<artifactId>corresponding_module</artifactId>
109105
<version>${{ steps.version.outputs.release }}</version>
110106
</dependency>
111107
```
112108
109+
You can also use the [BOM](https://github.com/${{ github.repository }}/tree/develop/bom) for easier dependency management.
110+
113111
publish-maven:
114112
runs-on: ubuntu-latest
115113
needs: [prepare-release]
@@ -134,8 +132,13 @@ jobs:
134132
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
135133

136134
- name: Publish to GitHub Packages Central
137-
run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
138-
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
135+
run: |
136+
modules=("bom")
137+
dependency_management_block=$(grep -ozP '<dependencyManagement>(\r|\n|.)*<\/dependencyManagement>' 'bom/pom.xml' | tr -d '\0')
138+
modules+=($(echo $dependency_management_block | grep -oP '(?<=<artifactId>)[^<]+'))
139+
printf -v modules_joined '%s,' "${modules[@]}"
140+
modules_arg=$(echo "${modules_joined%,}")
141+
./mvnw -B deploy -pl "$modules_arg" -am -T2C -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
139142
env:
140143
PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }}
141144
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
@@ -151,12 +154,17 @@ jobs:
151154
gpg-passphrase: MAVEN_GPG_PASSPHRASE
152155

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

161169
publish-pages:
162170
runs-on: ubuntu-latest
@@ -187,14 +195,23 @@ jobs:
187195
${{ runner.os }}-mvn-build-
188196
189197
- name: Build site
190-
run: ../mvnw -B compile site -DskipTests -T2C
191-
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
198+
run: ./mvnw -B compile site -DskipTests -T2C
199+
200+
- name: Aggregate site
201+
run: |
202+
modules=($(grep -ozP '(?<=module>)[^<]+' 'pom.xml' | tr -d '\0'))
203+
for m in "${modules[@]}"
204+
do
205+
echo "$m/target/site -> ./target/$m"
206+
mkdir -p ./target/$m
207+
cp -r $m/target/site ./target/$m
208+
done
192209
193210
- name: Deploy to Github pages
194211
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
195212
with:
196213
github_token: ${{ secrets.GITHUB_TOKEN }}
197-
publish_dir: ./${{ env.PRIMARY_MAVEN_MODULE }}/target/site
214+
publish_dir: ./target/site
198215
force_orphan: true
199216

200217
after-release:
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Run integration tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches: [ develop ]
7+
paths-ignore:
8+
- '**.md'
9+
- '.config/**'
10+
- '.github/**'
11+
- '.idea/**'
12+
- 'assets/**'
13+
pull_request:
14+
branches: [ develop ]
15+
paths-ignore:
16+
- '**.md'
17+
- '.config/**'
18+
- '.github/**'
19+
- '.idea/**'
20+
- 'assets/**'
21+
22+
concurrency:
23+
group: ${{ github.workflow }}-${{ github.ref }}
24+
cancel-in-progress: true
25+
26+
jobs:
27+
run-integration-tests:
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
java: [25]
32+
project: [webapp-rest-it, webapp-vaadin-it]
33+
parallel: [2]
34+
pre-start: [true]
35+
runs-on: ubuntu-latest
36+
if: ${{ !(github.event_name == 'pull_request' && startsWith(github.head_ref, 'renovate/')) }}
37+
steps:
38+
- uses: actions/checkout@v5
39+
40+
- name: Set up JDK
41+
uses: actions/setup-java@v5
42+
with:
43+
distribution: temurin
44+
java-version: ${{ matrix.java }}
45+
cache: 'maven'
46+
47+
- name: Test
48+
run: |
49+
./mvnw -B test \
50+
-pl "demo/integration-tests/${{ matrix.project }}" -am \
51+
-P run-it \
52+
${{ matrix.pre-start && '-Dinfra-pre-start.enabled=1 ' || '' }} \
53+
${{ matrix.parallel > 0 && format('-Djunit.jupiter.execution.parallel.enabled=true -Djunit.jupiter.execution.parallel.mode.default=concurrent -Djunit.jupiter.execution.parallel.mode.classes.default=concurrent -Djunit.jupiter.execution.parallel.config.strategy=fixed -Djunit.jupiter.execution.parallel.config.fixed.parallelism=2 -Djunit.jupiter.execution.parallel.config.fixed.max-pool-size={0} ', matrix.parallel) || '' }}
54+
55+
# Replace '/' with '-'
56+
- name: Normalize project name
57+
if: failure()
58+
env:
59+
PROJECT: ${{ matrix.project }}
60+
run: echo PROJECT_NORMALIZED=${PROJECT/\//-} >> $GITHUB_ENV
61+
62+
- name: Upload videos of test failures
63+
if: failure()
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: test-fail-videos-${{ matrix.java }}-${{ env.PROJECT_NORMALIZED }}-${{ matrix.parallel }}-${{ matrix.pre-start }}
67+
path: demo/integration-tests/${{ matrix.project }}/target/records
68+
if-no-files-found: ignore

.github/workflows/test-deploy.yml

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@ name: Test Deployment
33
on:
44
workflow_dispatch:
55

6-
env:
7-
PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }}
8-
96
jobs:
107
publish-maven:
118
runs-on: ubuntu-latest
@@ -24,8 +21,13 @@ jobs:
2421
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
2522

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

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

.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,29 @@ hs_err_pid*
3333
.classpath
3434
.project
3535

36+
#vaadin/node webpack/frontend stuff
37+
# Ignore Node
38+
node/
39+
40+
# The following files are generated/updated by vaadin-maven-plugin
41+
node_modules/
42+
43+
# Vaadin
44+
package.json
45+
package-lock.json
46+
webpack.generated.js
47+
webpack.config.js
48+
tsconfig.json
49+
types.d.ts
50+
vite.config.ts
51+
vite.generated.ts
52+
/**/src/main/frontend/generated/
53+
/**/src/main/frontend/index.html
54+
/**/src/main/dev-bundle/
55+
/**/src/main/bundles/
56+
*.lock
57+
58+
3659
# == IntelliJ ==
3760
*.iml
3861
*.ipr
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="REST - All tests (p=2 + PreStart)" type="JUnit" factoryName="JUnit">
3+
<module name="webapp-rest-it" />
4+
<option name="PACKAGE_NAME" value="" />
5+
<option name="MAIN_CLASS_NAME" value="" />
6+
<option name="METHOD_NAME" value="" />
7+
<option name="TEST_OBJECT" value="package" />
8+
<option name="VM_PARAMETERS" value="-ea -Dinfra-pre-start.enabled=1 -Djunit.jupiter.execution.parallel.enabled=true -Djunit.jupiter.execution.parallel.mode.default=concurrent -Djunit.jupiter.execution.parallel.mode.classes.default=concurrent -Djunit.jupiter.execution.parallel.config.strategy=fixed -Djunit.jupiter.execution.parallel.config.fixed.parallelism=2 -Djunit.jupiter.execution.parallel.config.fixed.max-pool-size=2" />
9+
<method v="2">
10+
<option name="Make" enabled="true" />
11+
</method>
12+
</configuration>
13+
</component>

.run/REST - Application.run.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="REST - Application" type="Application" factoryName="Application">
3+
<option name="MAIN_CLASS_NAME" value="software.xdev.sse.demo.Application" />
4+
<module name="webapp-rest" />
5+
<extension name="coverage">
6+
<pattern>
7+
<option name="PATTERN" value="software.xdev.sse.demo.*" />
8+
<option name="ENABLED" value="true" />
9+
</pattern>
10+
</extension>
11+
<method v="2">
12+
<option name="Make" enabled="true" />
13+
</method>
14+
</configuration>
15+
</component>

0 commit comments

Comments
 (0)