Do not use java.home system property to locate JDK dependencies
It may point either to JDK/bin or to JRE/bin. Instead use JDK_16 and JDK_18 paths.
This commit is contained in:
@@ -93,12 +93,15 @@ private fun String.toMaybeVersionedJarRegex(): Regex {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private val jreHome = System.getProperty("java.home")
|
|
||||||
|
|
||||||
fun firstFromJavaHomeThatExists(vararg paths: String): File? =
|
fun Project.firstFromJavaHomeThatExists(vararg paths: String, jdkHome: File = File(this.property("JDK_18") as String)): File? =
|
||||||
paths.mapNotNull { File(jreHome, it).takeIf { it.exists() } }.firstOrNull()
|
paths.map { File(jdkHome, it) }.firstOrNull { it.exists() }.also {
|
||||||
|
if (it == null)
|
||||||
|
logger.warn("Cannot find file by paths: ${paths.toList()} in $jdkHome")
|
||||||
|
}
|
||||||
|
|
||||||
fun toolsJar(): File? = firstFromJavaHomeThatExists("../lib/tools.jar", "../Classes/tools.jar")
|
fun Project.toolsJar(jdkHome: File = File(this.property("JDK_18") as String)): File? =
|
||||||
|
firstFromJavaHomeThatExists("lib/tools.jar", jdkHome = jdkHome)
|
||||||
|
|
||||||
object EmbeddedComponents {
|
object EmbeddedComponents {
|
||||||
val CONFIGURATION_NAME = "embeddedComponents"
|
val CONFIGURATION_NAME = "embeddedComponents"
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ dependencies {
|
|||||||
compile(project(":kotlin-stdlib"))
|
compile(project(":kotlin-stdlib"))
|
||||||
|
|
||||||
proguardDeps(project(":kotlin-stdlib"))
|
proguardDeps(project(":kotlin-stdlib"))
|
||||||
proguardDeps(files(firstFromJavaHomeThatExists("lib/rt.jar", "../Classes/classes.jar")))
|
proguardDeps(files(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar", jdkHome = File(property("JDK_16") as String))))
|
||||||
|
|
||||||
shadows(project(":kotlin-reflect-api"))
|
shadows(project(":kotlin-reflect-api"))
|
||||||
shadows(project(":core:descriptors"))
|
shadows(project(":core:descriptors"))
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ dependencies {
|
|||||||
fatJarContents(commonDep("io.javaslang", "javaslang"))
|
fatJarContents(commonDep("io.javaslang", "javaslang"))
|
||||||
fatJarContents(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false }
|
fatJarContents(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false }
|
||||||
|
|
||||||
proguardLibraryJars(files(firstFromJavaHomeThatExists("lib/rt.jar", "../Classes/classes.jar"),
|
proguardLibraryJars(files(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar"),
|
||||||
firstFromJavaHomeThatExists("lib/jsse.jar", "../Classes/jsse.jar"),
|
firstFromJavaHomeThatExists("jre/lib/jsse.jar", "../Classes/jsse.jar"),
|
||||||
toolsJar()))
|
toolsJar()))
|
||||||
proguardLibraryJars(projectDist(":kotlin-stdlib"))
|
proguardLibraryJars(projectDist(":kotlin-stdlib"))
|
||||||
proguardLibraryJars(projectDist(":kotlin-script-runtime"))
|
proguardLibraryJars(projectDist(":kotlin-script-runtime"))
|
||||||
|
|||||||
Reference in New Issue
Block a user