Skip to content

Commit 6617827

Browse files
authored
Support for Java 18 (#836)
* Support for Java 18 * Test Text Blocks and Records with Java 17 and higher version.
1 parent 9710d5b commit 6617827

File tree

17 files changed

+52
-6
lines changed

17 files changed

+52
-6
lines changed

.github/workflows/ci.yml

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ jobs:
2424
shell: bash
2525
run: echo "JDK8=$JAVA_HOME" >> $GITHUB_ENV
2626

27+
- name: Set up JDK 18
28+
uses: actions/setup-java@v3
29+
with:
30+
distribution: 'zulu'
31+
java-version: 18
32+
33+
- name: Prepare JDK18 env var
34+
shell: bash
35+
run: echo "JDK18=$JAVA_HOME" >> $GITHUB_ENV
36+
2737
- name: Set up JDK 17
2838
uses: actions/setup-java@v3
2939
with:
@@ -64,6 +74,16 @@ jobs:
6474
shell: bash
6575
run: echo "JDK8=$JAVA_HOME" >> $GITHUB_ENV
6676

77+
- name: Set up JDK 18
78+
uses: actions/setup-java@v3
79+
with:
80+
distribution: 'zulu'
81+
java-version: 18
82+
83+
- name: Prepare JDK18 env var
84+
shell: bash
85+
run: echo "JDK18=$JAVA_HOME" >> $GITHUB_ENV
86+
6787
- name: Set up JDK 17
6888
uses: actions/setup-java@v3
6989
with:
@@ -92,8 +112,19 @@ jobs:
92112
-PtestUseModule=true
93113
javaToolchains
94114
integration-test-java:test
95-
integration-test-java-latest:test
96-
115+
integration-test-java-additional:test
116+
117+
- name: Test with Java 18 using JPMS
118+
uses: gradle/gradle-build-action@v2
119+
with:
120+
arguments: |
121+
-Pdriver=${{ matrix.driver }}
122+
-PtestJavaLangVersion=18
123+
-PtestUseModule=true
124+
javaToolchains
125+
integration-test-java:test
126+
integration-test-java-additional:test
127+
97128
- name: Upload reports
98129
if: failure()
99130
uses: actions/upload-artifact@v3
@@ -119,6 +150,16 @@ jobs:
119150
shell: bash
120151
run: echo "JDK8=$JAVA_HOME" >> $GITHUB_ENV
121152

153+
- name: Set up JDK 18
154+
uses: actions/setup-java@v3
155+
with:
156+
distribution: 'zulu'
157+
java-version: 18
158+
159+
- name: Prepare JDK18 env var
160+
shell: bash
161+
run: echo "JDK18=$JAVA_HOME" >> $GITHUB_ENV
162+
122163
- name: Set up JDK 17
123164
uses: actions/setup-java@v3
124165
with:

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ Major versions
189189
### Compatibility matrix
190190

191191
| | Doma 1 | Doma 2 |
192-
| ------- | ------ | ------ |
192+
|---------| ------ | ------ |
193193
| Java 6 | v | |
194194
| Java 7 | v | |
195195
| Java 8 | v | v |
@@ -202,5 +202,6 @@ Major versions
202202
| Java 15 | | v |
203203
| Java 16 | | v |
204204
| Java 17 | | v |
205+
| Java 18 | | v |
205206

206207
[apt]: https://www.jcp.org/en/jsr/detail?id=269

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ sonatypePassword=
99
release.useAutomaticVersion=true
1010

1111
org.gradle.caching=true
12-
org.gradle.java.installations.fromEnv=JDK8
12+
org.gradle.java.installations.fromEnv=JDK8,JDK18
1313
# https://github.com/diffplug/spotless/issues/834
1414
org.gradle.jvmargs=-Dfile.encoding=UTF-8 \
1515
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \

integration-test-java-latest/build.gradle.kts renamed to integration-test-java-additional/build.gradle.kts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import java.lang.Integer.max
2+
13
plugins {
24
java
35
}
46

57
val moduleInfoFile = "$projectDir/src/main/java/module-info.java"
68
val useModule: Boolean = project.properties["testUseModule"].toString().toBoolean()
9+
val javaLangVersion: Int = project.properties["testJavaLangVersion"].toString().toInt()
710

811
delete(moduleInfoFile)
912
if (useModule) {
@@ -22,5 +25,6 @@ dependencies {
2225
}
2326

2427
java {
25-
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
28+
val version = max(17, javaLangVersion)
29+
toolchain.languageVersion.set(JavaLanguageVersion.of(version))
2630
}

0 commit comments

Comments
 (0)