Skip to content

Commit 0c35218

Browse files
authored
Require Java 17 for the build (#682)
1 parent e7e77e1 commit 0c35218

File tree

3 files changed

+8
-50
lines changed

3 files changed

+8
-50
lines changed

.github/workflows/main.yml

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -26,35 +26,12 @@ jobs:
2626
strategy:
2727
max-parallel: 4
2828
matrix:
29-
java-version: [11, 17, 21]
29+
java-version: [17, 21, 24]
3030
steps:
3131
- uses: actions/checkout@v4
3232
with:
3333
submodules: 'true'
3434

35-
# Special handling to test against Java 8:
36-
# antlr version 4.10 requires Java 11 to run the antlr tool, but tests still need to run
37-
# against Java 8 - that's being done here:
38-
- name: Set up Java 8
39-
if: ${{ matrix.java-version == '11' }}
40-
uses: actions/setup-java@v4
41-
with:
42-
distribution: 'temurin'
43-
java-version: 8
44-
- name: Configure env with Java 8 home
45-
if: ${{ matrix.java-version == '11' }}
46-
run:
47-
echo "JAVA_8_HOME=$JAVA_HOME" >> $GITHUB_ENV
48-
- name: Enable Java 8 tests
49-
if: ${{ matrix.java-version == '11' }}
50-
run:
51-
echo "ADDITIONAL_GRADLE_OPTS=-PalsoTestAgainstJava8" >> $GITHUB_ENV
52-
- name: Configure Java 8 home for Gradle
53-
if: ${{ matrix.java-version == '11' }}
54-
run: |
55-
mkdir -p $HOME/.gradle
56-
echo "org.gradle.java.installations.fromEnv=JAVA_8_HOME" >> $HOME/.gradle/gradle.properties
57-
5835
- name: Set up JDK ${{ matrix.java-version }}
5936
uses: actions/setup-java@v4
6037
with:
@@ -69,7 +46,7 @@ jobs:
6946
- name: Spotless Check
7047
# Spotless must run in a different invocation, because
7148
# it has some weird Gradle configuration/variant issue
72-
if: ${{ matrix.java-version != '11' }}
49+
if: ${{ matrix.java-version == '17' }}
7350
run: ./gradlew spotlessCheck --scan
7451

7552
- name: Build
@@ -84,7 +61,7 @@ jobs:
8461
run: ./gradlew jmh
8562

8663
- name: Cache Bazel stuff
87-
if: ${{ matrix.java-version == '11' }}
64+
if: ${{ matrix.java-version == '17' }}
8865
uses: actions/cache@v4
8966
with:
9067
path: |
@@ -93,7 +70,7 @@ jobs:
9370
restore-keys: bazel-
9471

9572
- name: Conformance tests
96-
if: ${{ matrix.java-version == '11' }}
73+
if: ${{ matrix.java-version == '17' }}
9774
run: conformance/run-conformance-tests.sh
9875

9976
- name: Capture test results

buildSrc/src/main/kotlin/Testing.kt

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,34 +16,11 @@
1616

1717
import org.gradle.api.Project
1818
import org.gradle.api.tasks.testing.Test
19-
import org.gradle.jvm.toolchain.JavaLanguageVersion
20-
import org.gradle.jvm.toolchain.JavaToolchainService
21-
import org.gradle.kotlin.dsl.register
2219
import org.gradle.kotlin.dsl.withType
2320

2421
fun Project.nessieConfigureTestTasks() {
2522
tasks.withType<Test>().configureEach {
2623
useJUnitPlatform {}
2724
maxParallelForks = Runtime.getRuntime().availableProcessors()
2825
}
29-
30-
if (project.hasProperty("alsoTestAgainstJava8")) {
31-
val javaToolchains = extensions.findByType(JavaToolchainService::class.java)
32-
if (javaToolchains != null) {
33-
val testWithJava8 =
34-
tasks.register<Test>("testWithJava8") {
35-
group = "verification"
36-
description = "Run unit tests against Java 8"
37-
38-
dependsOn("test")
39-
40-
useJUnitPlatform {}
41-
maxParallelForks = Runtime.getRuntime().availableProcessors()
42-
javaLauncher.set(
43-
javaToolchains.launcherFor { languageVersion.set(JavaLanguageVersion.of(8)) }
44-
)
45-
}
46-
tasks.named("check") { dependsOn(testWithJava8) }
47-
}
48-
}
4926
}

settings.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
* limitations under the License.
1515
*/
1616

17+
if (!JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_17)) {
18+
throw GradleException("Build requires Java 17")
19+
}
20+
1721
val baseVersion = file("version.txt").readText().trim()
1822

1923
pluginManagement {

0 commit comments

Comments
 (0)