Fix compilation of kotlin-script-util

Compilation was broken in 46a01ec
This commit is contained in:
Alexander Udalov
2017-07-28 19:26:35 +03:00
parent 527ccaff16
commit 82502e1a8b
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.script.util.classpathFromClass
import org.jetbrains.kotlin.script.util.classpathFromClassloader
import org.jetbrains.kotlin.script.util.classpathFromClasspathProperty
import org.jetbrains.kotlin.script.util.manifestClassPath
import org.jetbrains.kotlin.utils.PathUtil.*
import org.jetbrains.kotlin.utils.PathUtil
import java.io.File
import java.io.FileNotFoundException
import javax.script.Bindings
@@ -61,6 +61,9 @@ class KotlinJsr223JvmDaemonLocalEvalScriptEngineFactory : KotlinJsr223JvmScriptE
)
}
private const val KOTLIN_COMPILER_JAR = "kotlin-compiler.jar"
private const val KOTLIN_JAVA_STDLIB_JAR = "kotlin-stdlib.jar"
private const val KOTLIN_JAVA_SCRIPT_RUNTIME_JAR = "kotlin-script-runtime.jar"
private fun File.existsOrNull(): File? = existsAndCheckOrNull { true }
private inline fun File.existsAndCheckOrNull(check: (File.() -> Boolean)): File? = if (exists() && check()) this else null
@@ -103,15 +106,13 @@ private val kotlinCompilerJar: File by lazy {
private val kotlinStdlibJar: File? by lazy {
System.getProperty("kotlin.java.runtime.jar")?.let(::File)?.existsOrNull()
?: kotlinCompilerJar.let { File(it.parentFile, KOTLIN_JAVA_STDLIB_JAR) }.existsOrNull()
?: getResourcePathForClass(JvmStatic::class.java).existsOrNull()
?: PathUtil.getResourcePathForClass(JvmStatic::class.java).existsOrNull()
}
private val kotlinScriptRuntimeJar: File? by lazy {
System.getProperty("kotlin.script.runtime.jar")?.let(::File)?.existsOrNull()
?: kotlinCompilerJar.let { File(it.parentFile, KOTLIN_JAVA_SCRIPT_RUNTIME_JAR) }.existsOrNull()
?: getResourcePathForClass(ScriptTemplateWithArgs::class.java).existsOrNull()
?: PathUtil.getResourcePathForClass(ScriptTemplateWithArgs::class.java).existsOrNull()
}
private val kotlinScriptStandardJars by lazy { listOf(kotlinStdlibJar, kotlinScriptRuntimeJar) }