diff --git a/buildSrc/src/main/kotlin/dependencies.kt b/buildSrc/src/main/kotlin/dependencies.kt index 953fe57aa72..8f9616a343d 100644 --- a/buildSrc/src/main/kotlin/dependencies.kt +++ b/buildSrc/src/main/kotlin/dependencies.kt @@ -93,12 +93,15 @@ private fun String.toMaybeVersionedJarRegex(): Regex { } -private val jreHome = System.getProperty("java.home") -fun firstFromJavaHomeThatExists(vararg paths: String): File? = - paths.mapNotNull { File(jreHome, it).takeIf { it.exists() } }.firstOrNull() +fun Project.firstFromJavaHomeThatExists(vararg paths: String, jdkHome: File = File(this.property("JDK_18") as String)): File? = + 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 { val CONFIGURATION_NAME = "embeddedComponents" diff --git a/libraries/reflect/build.gradle.kts b/libraries/reflect/build.gradle.kts index cd8aebb72ee..b3c19675699 100644 --- a/libraries/reflect/build.gradle.kts +++ b/libraries/reflect/build.gradle.kts @@ -41,7 +41,7 @@ dependencies { compile(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(":core:descriptors")) diff --git a/prepare/compiler/build.gradle.kts b/prepare/compiler/build.gradle.kts index cdd07bb942e..81ec06b1e77 100644 --- a/prepare/compiler/build.gradle.kts +++ b/prepare/compiler/build.gradle.kts @@ -57,8 +57,8 @@ dependencies { fatJarContents(commonDep("io.javaslang", "javaslang")) fatJarContents(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false } - proguardLibraryJars(files(firstFromJavaHomeThatExists("lib/rt.jar", "../Classes/classes.jar"), - firstFromJavaHomeThatExists("lib/jsse.jar", "../Classes/jsse.jar"), + proguardLibraryJars(files(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar"), + firstFromJavaHomeThatExists("jre/lib/jsse.jar", "../Classes/jsse.jar"), toolsJar())) proguardLibraryJars(projectDist(":kotlin-stdlib")) proguardLibraryJars(projectDist(":kotlin-script-runtime"))