diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 32514dd..04d7703 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,16 +16,16 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v3 - - name: Configure JDK uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: '20' + java-version: '21' cache: 'gradle' + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + - name: Test run: ./gradlew build check --stacktrace -PkotlinTestMode=${{ matrix.kotlin-test-mode }} diff --git a/.github/workflows/gradle-wrapper.yml b/.github/workflows/gradle-wrapper.yml new file mode 100644 index 0000000..443b961 --- /dev/null +++ b/.github/workflows/gradle-wrapper.yml @@ -0,0 +1,15 @@ +name: gradle-wrapper + +on: + pull_request: + paths: + - 'gradlew' + - 'gradlew.bat' + - 'gradle/wrapper/**' + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: gradle/actions/wrapper-validation@v3 \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index e03b8b8..6cfb5da 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -77,7 +77,7 @@ subprojects { pluginManager.withPlugin("java") { configure { toolchain { - languageVersion.set(JavaLanguageVersion.of(20)) + languageVersion.set(libs.versions.jdk.map(JavaLanguageVersion::of)) } } if (project.name != "records-tests") { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ae74fcb..0742d47 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,6 @@ [versions] autoService = "1.1.1" +jdk = "21" jvmTarget = "1.8" kotlin = "2.0.0" # No 0.5.0 full release yet due to KSP's 1.0.21 release being busted for CLI/programmatic use diff --git a/moshi/build.gradle.kts b/moshi/build.gradle.kts index 0fcfa0d..011e3b5 100644 --- a/moshi/build.gradle.kts +++ b/moshi/build.gradle.kts @@ -19,11 +19,11 @@ val java16: SourceSet by sourceSets.creating { } } -// We use JDK 17 for latest but target 16 for maximum compatibility +// We use newer JDKs but target 16 for maximum compatibility val service = project.extensions.getByType() val customLauncher = service.launcherFor { - languageVersion.set(JavaLanguageVersion.of(17)) + languageVersion.set(libs.versions.jdk.map(JavaLanguageVersion::of)) } tasks.named("compileJava16Java") {