Skip to content

Commit

Permalink
Update build to use Gradle toolchains and modern JDK (#3562)
Browse files Browse the repository at this point in the history
  • Loading branch information
lwasyl committed Jun 17, 2023
1 parent 3143993 commit ede0a60
Show file tree
Hide file tree
Showing 17 changed files with 58 additions and 12 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/PR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
- name: Setup JDK
uses: actions/setup-java@v3
with:
java-version: '8'
java-version: '17'
distribution: 'temurin'

- uses: gradle/gradle-build-action@v2
Expand Down Expand Up @@ -142,7 +142,7 @@ jobs:
- name: Setup JDK
uses: actions/setup-java@v3
with:
java-version: '8'
java-version: '17'
distribution: 'temurin'

- uses: gradle/gradle-build-action@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_multiplatform_plugin_gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_tvos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_watchos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '8'
java-version: '17'

- uses: gradle/gradle-build-action@v2

Expand Down
4 changes: 4 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ repositories {
gradlePluginPortal()
}

kotlin {
jvmToolchain(17)
}

dependencies {
implementation(libs.testlogger.gradle.plugin)
implementation(libs.kotlin.gradle.plugin)
Expand Down
8 changes: 8 additions & 0 deletions buildSrc/src/main/kotlin/kotlin-conventions.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
kotlin("multiplatform")
Expand Down Expand Up @@ -33,10 +34,13 @@ tasks.withType<KotlinCompile>().configureEach {
)
apiVersion = "1.8"
languageVersion = "1.8"
compilerOptions.jvmTarget.set(JvmTarget.JVM_1_8)
}
}

kotlin {
jvmToolchain(17)

sourceSets.configureEach {
languageSettings {
optIn("kotlin.time.ExperimentalTime")
Expand All @@ -45,3 +49,7 @@ kotlin {
}
}
}

tasks.withType<JavaCompile>().configureEach {
options.release.set(8)
}
2 changes: 2 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ kotlin.native.ignoreDisabledTargets=true
systemProp.kotlin.native.disableCompilerDaemon=true
org.gradle.configureondemand=false
kotlin.mpp.stability.nowarn=true
# https://youtrack.jetbrains.com/issue/KT-58063 (should be fixed in Kotlin 1.9)
org.gradle.configuration-cache=false

android.useAndroidX=true
android.enableJetifier=true
Expand Down
4 changes: 4 additions & 0 deletions kotest-extensions/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,7 @@ kotlin {
}
}
}

tasks.withType<Test>().configureEach {
jvmArgs("--add-opens=java.base/java.util=ALL-UNNAMED")
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@ kotlin {
}
}
}

tasks.withType<Test>().configureEach {
jvmArgs("-XX:+AllowRedefinitionToAddDeleteMethods") // https://github.com/reactor/BlockHound/issues/33
}
4 changes: 4 additions & 0 deletions kotest-framework/kotest-framework-engine/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,7 @@ kotlin {
}
}
}

tasks.withType<Test>().configureEach {
jvmArgs("--add-opens=java.base/java.util=ALL-UNNAMED")
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.gradle.internal.impldep.io.opencensus.tags.Tags
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
kotlin("jvm")
Expand Down Expand Up @@ -92,6 +93,19 @@ gradlePlugin {
}
}

kotlin {
jvmToolchain(17)
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
compilerOptions.jvmTarget.set(JvmTarget.JVM_1_8)
}
}

tasks.withType<JavaCompile>().configureEach {
options.release.set(8)
}

val updateKotestPluginConstants by tasks.registering(Sync::class) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
id("org.jetbrains.kotlin.multiplatform")
Expand All @@ -15,6 +17,8 @@ val kotestVersion: String by project
val useNewNativeMemoryModel: String by project

kotlin {
jvmToolchain(17)

jvm()

js(IR) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# https://youtrack.jetbrains.com/issue/KT-58063 (should be fixed in Kotlin 1.9)
org.gradle.configuration-cache=false

0 comments on commit ede0a60

Please sign in to comment.