Update to JDK 17 (#1394)

Everything still targets JDK 8 (non-records) or JDK 16 (records only)
This commit is contained in:
Zac Sweers
2021-10-16 02:18:51 -04:00
committed by GitHub
parent 2db351f8ed
commit 862ff7ddcd
4 changed files with 14 additions and 8 deletions

View File

@@ -10,8 +10,6 @@ jobs:
strategy:
fail-fast: false
matrix:
java-version:
- 16
use-ksp: [ true, false ]
steps:
@@ -27,19 +25,19 @@ jobs:
- uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ matrix.java-version }}-${{ hashFiles('checksum.txt') }}
key: ${{ runner.os }}-gradle-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradle-${{ matrix.java-version }}-
${{ runner.os }}-gradle-
- name: Configure JDK
uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: ${{ matrix.java-version }}
java-version: '17'
- name: Test
run: ./gradlew build check --stacktrace -PuseKsp=${{ matrix.use-ksp }}
- name: Publish (default branch only)
if: github.repository == 'square/moshi' && github.ref == 'refs/heads/master' && matrix.java-version == '16'
if: github.repository == 'square/moshi' && github.ref == 'refs/heads/master'
run: ./gradlew publish -PmavenCentralUsername=${{ secrets.SONATYPE_NEXUS_USERNAME }} -PmavenCentralPassword=${{ secrets.SONATYPE_NEXUS_PASSWORD }}

View File

@@ -112,7 +112,7 @@ subprojects {
pluginManager.withPlugin("java") {
configure<JavaPluginExtension> {
toolchain {
languageVersion.set(JavaLanguageVersion.of(16))
languageVersion.set(JavaLanguageVersion.of(17))
}
}
if (project.name != "records-tests") {

View File

@@ -29,9 +29,10 @@ val java16 by sourceSets.creating {
}
tasks.named<JavaCompile>("compileJava16Java") {
// We use JDK 17 for latest but target 16 for maximum compatibility
javaCompiler.set(
javaToolchains.compilerFor {
languageVersion.set(JavaLanguageVersion.of(16))
languageVersion.set(JavaLanguageVersion.of(17))
}
)
options.release.set(16)

View File

@@ -18,7 +18,14 @@ plugins {
`java-library`
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}
tasks.withType<JavaCompile>().configureEach {
// Target 16 to ensure minimum compatibility
options.release.set(16)
}