Skip to content

Commit 55b0aff

Browse files
author
dmitrii
committed
Make e2e sample apps build/run on JDK 25
The e2e matrix rows for Java 25 failed because each sample app's own Gradle 8.14 wrapper cannot run on JDK 25. Bump the sample-app wrappers to Gradle 9.6.1 and, where the language compiler itself needs JDK 25 support: - JavalinPostgres: migrate shadow plugin to com.gradleup.shadow 9.5.1 - SpringMVCPostgresKotlin / JavalinMySQLKotlin: Kotlin -> 2.2.20 - SpringMVCPostgresGroovy: Groovy -> 4.0.28 Exclude SpringBoot2.7Postgres from the Java 25 row: Spring Boot 2.7 (legacy javax stack) does not support JDK 25; its javax coverage stays on 17-24. Verified locally on JDK 25: SpringBootPostgres, SpringBootMySQL and SpringBootHyperSQL block a SQL injection end-to-end. Apps that don't block in the local setup behave identically on JDK 21 (local DB/env, not a Java 25 regression); CI provisions the databases and validates the full matrix.
1 parent 4556539 commit 55b0aff

13 files changed

Lines changed: 21 additions & 12 deletions

File tree

.github/workflows/end2end.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ jobs:
5151
- { name: SpringBootHyperSQL, test_file: end2end/spring_boot_hypersql.py, db: "" }
5252
java-version: [17, 18, 19, 20, 21, 24, 25]
5353
distribution: ['adopt', 'corretto', 'oracle']
54+
exclude:
55+
# Spring Boot 2.7 uses the legacy javax stack and does not support JDK 25;
56+
# keep this app on Java 17-24 only (its javax coverage stays exercised there).
57+
- app: { name: SpringBoot2.7Postgres, test_file: end2end/spring_boot_2.7_postgres.py, db: postgres_database }
58+
java-version: 25
5459
steps:
5560
- name: Download build artifacts
5661
uses: actions/download-artifact@v4

sample-apps/JavalinMySQLKotlin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<properties>
1212
<maven.compiler.source>17</maven.compiler.source>
1313
<maven.compiler.target>17</maven.compiler.target>
14-
<kotlin.version>1.8.0</kotlin.version> <!-- Change to a stable version -->
14+
<kotlin.version>2.2.20</kotlin.version> <!-- 2.2.x required for JDK 25 -->
1515
<log4j2-version>2.24.3</log4j2-version>
1616
</properties>
1717

sample-apps/JavalinPostgres/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
id 'java'
3-
id 'com.github.johnrengelman.shadow' version '7.1.2'
3+
id 'com.gradleup.shadow' version '9.5.1'
44
}
55

66
group = 'dev.aikido'
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Tue Dec 17 13:31:53 CET 2024
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

sample-apps/SpringBootHyperSQL/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

sample-apps/SpringBootMSSQL/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

sample-apps/SpringBootMySQL/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

sample-apps/SpringBootPostgres/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

sample-apps/SpringMVCPostgresGroovy/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ plugins {
88
group = 'com.example'
99
version = '0.0.1-SNAPSHOT'
1010

11+
// Spring Boot 3.4.1 manages an older Groovy 4.0.x whose ASM can't run on JDK 25;
12+
// Groovy 4.0.27+ adds Java 25 support.
13+
ext['groovy.version'] = '4.0.28'
14+
1115
java {
1216
sourceCompatibility = '17'
1317
targetCompatibility = '17'

sample-apps/SpringMVCPostgresGroovy/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

0 commit comments

Comments
 (0)