diff --git a/buildSrc/settings.gradle b/buildSrc/settings.gradle index 9e781c725e3..48edac30b0b 100644 --- a/buildSrc/settings.gradle +++ b/buildSrc/settings.gradle @@ -18,6 +18,7 @@ pluginManagement { plugins { id "build-cache" id "gradle-enterprise" + id "jvm-toolchain-provisioning" } File versionPropertiesFile = new File(rootProject.projectDir.parentFile, "gradle/versions.properties") diff --git a/repo/gradle-settings-conventions/Readme.md b/repo/gradle-settings-conventions/Readme.md index ca0d81faca8..2b8064b7a98 100644 --- a/repo/gradle-settings-conventions/Readme.md +++ b/repo/gradle-settings-conventions/Readme.md @@ -5,4 +5,5 @@ Provides common settings convention plugins for the repo. ### List of plugins - "build-cache" - local and remote build cache configuration -- "gradle-enterprise" - configures build scans upload \ No newline at end of file +- "gradle-enterprise" - configures build scans upload +- "jvm-toolchain-provisioning" - configures JVM toolchain to download project JDKs via Disco API diff --git a/repo/gradle-settings-conventions/jvm-toolchain-provisioning/build.gradle.kts b/repo/gradle-settings-conventions/jvm-toolchain-provisioning/build.gradle.kts new file mode 100644 index 00000000000..d23a3d70f0b --- /dev/null +++ b/repo/gradle-settings-conventions/jvm-toolchain-provisioning/build.gradle.kts @@ -0,0 +1,15 @@ +plugins { + `kotlin-dsl` + id("org.jetbrains.kotlin.jvm") +} + +repositories { + mavenCentral() + gradlePluginPortal() +} + +dependencies { + implementation("org.gradle.toolchains:foojay-resolver:0.4.0") +} + +kotlin.jvmToolchain(8) diff --git a/repo/gradle-settings-conventions/jvm-toolchain-provisioning/src/main/kotlin/jvm-toolchain-provisioning.settings.gradle.kts b/repo/gradle-settings-conventions/jvm-toolchain-provisioning/src/main/kotlin/jvm-toolchain-provisioning.settings.gradle.kts new file mode 100644 index 00000000000..b0009526ec7 --- /dev/null +++ b/repo/gradle-settings-conventions/jvm-toolchain-provisioning/src/main/kotlin/jvm-toolchain-provisioning.settings.gradle.kts @@ -0,0 +1,13 @@ +plugins { + id("org.gradle.toolchains.foojay-resolver") +} + +toolchainManagement { + jvm { + javaRepositories { + repository("foojay") { + resolverClass.set(org.gradle.toolchains.foojay.FoojayToolchainResolver::class.java) + } + } + } +} diff --git a/repo/gradle-settings-conventions/settings.gradle.kts b/repo/gradle-settings-conventions/settings.gradle.kts index 14a5776faad..ea26bbacd03 100644 --- a/repo/gradle-settings-conventions/settings.gradle.kts +++ b/repo/gradle-settings-conventions/settings.gradle.kts @@ -10,19 +10,19 @@ pluginManagement { } buildscript { - repositories { - maven(url = "https://maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-dependencies") - mavenCentral() - } - val buildGradlePluginVersion = extra.get("kotlin.build.gradlePlugin.version") dependencies { classpath("org.jetbrains.kotlin:kotlin-build-gradle-plugin:$buildGradlePluginVersion") } } +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version "0.4.0" +} + include(":build-cache") include(":gradle-enterprise") +include(":jvm-toolchain-provisioning") // Unfortunately it is not possible to apply build-cache.settings.gradle.kts as script compilation // could not then find types from "kotlin-build-gradle-plugin" diff --git a/settings.gradle b/settings.gradle index 4dc4c4bfc03..a753fd0295b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -16,9 +16,9 @@ pluginManagement { } plugins { - id "org.gradle.toolchains.foojay-resolver-convention" version "0.4.0" id "build-cache" id "gradle-enterprise" + id "jvm-toolchain-provisioning" } def buildProperties = BuildPropertiesKt.getKotlinBuildPropertiesForSettings(settings)