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")
|
@file:JvmName("JvmToolchain")
|
||||||
|
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.plugins.JavaPluginExtension
|
import org.gradle.api.plugins.JavaPluginExtension
|
||||||
import org.gradle.api.provider.Provider
|
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 {
|
fun Project.getJdkVersionWithOverride(jdkVersion: JdkMajorVersion): JdkMajorVersion {
|
||||||
return if (project.shouldOverrideObsoleteJdk(jdkVersion)) {
|
return if (project.shouldOverrideObsoleteJdk(jdkVersion)) {
|
||||||
|
|||||||
@@ -258,8 +258,8 @@ fun Project.projectTest(
|
|||||||
}
|
}
|
||||||
|
|
||||||
defineJDKEnvVariables.forEach { version ->
|
defineJDKEnvVariables.forEach { version ->
|
||||||
val javaLauncher = project.getToolchainLauncherFor(version).orNull ?: error("Can't find toolchain for $version")
|
val jdkHome = project.getToolchainJdkHomeFor(version).orNull ?: error("Can't find toolchain for $version")
|
||||||
environment(version.envName, javaLauncher.metadata.installationPath.asFile.absolutePath)
|
environment(version.envName, jdkHome)
|
||||||
}
|
}
|
||||||
}.apply { configure(body) }
|
}.apply { configure(body) }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -347,12 +347,12 @@ tasks.withType<Test> {
|
|||||||
systemProperty("installCocoapods", installCocoapods)
|
systemProperty("installCocoapods", installCocoapods)
|
||||||
}
|
}
|
||||||
|
|
||||||
val jdk8Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_1_8).map { it.metadata.installationPath.asFile.absolutePath }
|
val jdk8Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_1_8)
|
||||||
val jdk9Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_9_0).map { it.metadata.installationPath.asFile.absolutePath }
|
val jdk9Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_9_0)
|
||||||
val jdk10Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_10_0).map { it.metadata.installationPath.asFile.absolutePath }
|
val jdk10Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_10_0)
|
||||||
val jdk11Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_11_0).map { it.metadata.installationPath.asFile.absolutePath }
|
val jdk11Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_11_0)
|
||||||
val jdk16Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_16_0).map { it.metadata.installationPath.asFile.absolutePath }
|
val jdk16Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_16_0)
|
||||||
val jdk17Provider = project.getToolchainLauncherFor(JdkMajorVersion.JDK_17_0).map { it.metadata.installationPath.asFile.absolutePath }
|
val jdk17Provider = project.getToolchainJdkHomeFor(JdkMajorVersion.JDK_17_0)
|
||||||
val mavenLocalRepo = project.providers.systemProperty("maven.repo.local").forUseAtConfigurationTime().orNull
|
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
|
// Query required JDKs paths only on execution phase to avoid triggering auto-download on project configuration phase
|
||||||
|
|||||||
Reference in New Issue
Block a user