Add function to get toolchain JDK home location
This commit is contained in:
committed by
Space Team
parent
08c22c388c
commit
e7989eecf5
@@ -1,4 +1,5 @@
|
||||
@file:JvmName("JvmToolchain")
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.plugins.JavaPluginExtension
|
||||
import org.gradle.api.provider.Provider
|
||||
@@ -195,6 +196,12 @@ fun Project.getToolchainLauncherFor(
|
||||
}
|
||||
}
|
||||
|
||||
fun Project.getToolchainJdkHomeFor(jdkVersion: JdkMajorVersion): Provider<String> {
|
||||
return getToolchainLauncherFor(jdkVersion).map {
|
||||
it.metadata.installationPath.asFile.absolutePath
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun Project.getJdkVersionWithOverride(jdkVersion: JdkMajorVersion): JdkMajorVersion {
|
||||
return if (project.shouldOverrideObsoleteJdk(jdkVersion)) {
|
||||
|
||||
@@ -258,8 +258,8 @@ fun Project.projectTest(
|
||||
}
|
||||
|
||||
defineJDKEnvVariables.forEach { version ->
|
||||
val javaLauncher = project.getToolchainLauncherFor(version).orNull ?: error("Can't find toolchain for $version")
|
||||
environment(version.envName, javaLauncher.metadata.installationPath.asFile.absolutePath)
|
||||
val jdkHome = project.getToolchainJdkHomeFor(version).orNull ?: error("Can't find toolchain for $version")
|
||||
environment(version.envName, jdkHome)
|
||||
}
|
||||
}.apply { configure(body) }
|
||||
}
|
||||
|
||||
@@ -347,12 +347,12 @@ tasks.withType<Test> {
|
||||
systemProperty("installCocoapods", installCocoapods)
|
||||
}
|
||||
|
||||
val jdk8Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_1_8).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val jdk9Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_9_0).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val jdk10Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_10_0).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val jdk11Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_11_0).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val jdk16Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_16_0).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val jdk17Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_17_0).map { it.metadata.installationPath.asFile.absolutePath }
|
||||
val jdk8Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_1_8)
|
||||
val jdk9Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_9_0)
|
||||
val jdk10Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_10_0)
|
||||
val jdk11Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_11_0)
|
||||
val jdk16Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_16_0)
|
||||
val jdk17Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_17_0)
|
||||
val mavenLocalRepo = project.providers.systemProperty("maven.repo.local").forUseAtConfigurationTime().orNull
|
||||
|
||||
// Query required JDKs paths only on execution phase to avoid triggering auto-download on project configuration phase
|
||||
|
||||
Reference in New Issue
Block a user