Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,12 @@ so do familiarize yourself with the following guidelines.

## Environment requirements

* JDK >= 21 referred to by the `JAVA_HOME` environment variable.
* A Java runtime available through `JAVA_HOME` or `PATH` is required to launch the Gradle Wrapper.
The build itself runs on the daemon JDK provisioned from `gradle/gradle-daemon-jvm.properties`.

* Note, any version above 21 should work in theory, but JDK 21 is the only version we test with,
so it is the recommended version.
* The daemon JDK version is controlled by `gradle-jdk` in `gradle/libs.versions.toml`.
After changing it (for example, from `21` to `25`), run `./gradlew updateDaemonJvm`
and commit the regenerated properties file.

* We recommend using [IntelliJ IDEA](https://www.jetbrains.com/idea/download/) as the IDE. This
has the best support for Kotlin, compiler plugins, Gradle, and [Kotlin Notebook](https://kotlinlang.org/docs/kotlin-notebook-overview.html) of course.
Expand Down
9 changes: 9 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import org.gradle.buildconfiguration.tasks.UpdateDaemonJvm
import org.gradle.jvm.toolchain.JavaLanguageVersion
import org.jetbrains.kotlinx.publisher.apache2
import org.jetbrains.kotlinx.publisher.developer
import org.jetbrains.kotlinx.publisher.githubRepo
Expand All @@ -15,6 +17,13 @@ plugins {
}
}

// `gradle-jdk` is the single source of truth for both build toolchains and the Gradle daemon.
// To upgrade (for example, to JDK 25), change it in gradle/libs.versions.toml, run
// `./gradlew updateDaemonJvm`, and commit the regenerated gradle-daemon-jvm.properties file.
tasks.named<UpdateDaemonJvm>("updateDaemonJvm") {
languageVersion.set(libs.versions.gradle.jdk.map { JavaLanguageVersion.of(it) })
}

val projectName: String = providers.gradleProperty("projectName").get()

configurations {
Expand Down
12 changes: 12 additions & 0 deletions gradle/gradle-daemon-jvm.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#This file is generated by updateDaemonJvm
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/402983f310a88ac68b3e883c7c91c760/redirect
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/e50b80b5a11d194a898bc3e6211b7c4b/redirect
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/402983f310a88ac68b3e883c7c91c760/redirect
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/e50b80b5a11d194a898bc3e6211b7c4b/redirect
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/f257be9f04bfdf169051808541767806/redirect
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/1dcbacacca32618bd21ec5465779ade1/redirect
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/402983f310a88ac68b3e883c7c91c760/redirect
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/e50b80b5a11d194a898bc3e6211b7c4b/redirect
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/476d3c08f4989328dee56d22e202d98d/redirect
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/5a88b04b5e582b332d2e6bc12b45f1b9/redirect
toolchainVersion=21
Loading