diff --git a/buildSrc/src/main/kotlin/tasks.kt b/buildSrc/src/main/kotlin/tasks.kt index a2dce631600..cb516a7813b 100644 --- a/buildSrc/src/main/kotlin/tasks.kt +++ b/buildSrc/src/main/kotlin/tasks.kt @@ -33,7 +33,6 @@ fun Project.projectTest(taskName: String = "test", body: Test.() -> Unit = {}): maxHeapSize = "1100m" systemProperty("idea.is.unit.test", "true") environment("NO_FS_ROOTS_ACCESS_CHECK", "true") - environment("KOTLIN_HOME", rootProject.extra["distKotlinHomeDir"]) environment("PROJECT_CLASSES_DIRS", the().sourceSets.getByName("test").output.classesDirs.asPath) environment("PROJECT_BUILD_DIR", buildDir) systemProperty("jps.kotlin.home", rootProject.extra["distKotlinHomeDir"]) diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt b/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt index 3a26e53a32d..d017a631349 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt +++ b/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt @@ -43,7 +43,8 @@ object PathUtil { const val KOTLIN_JAVA_STDLIB_SRC_JAR_OLD = "kotlin-runtime-sources.jar" const val KOTLIN_REFLECT_SRC_JAR = "kotlin-reflect-sources.jar" const val KOTLIN_TEST_SRC_JAR = "kotlin-test-sources.jar" - const val KOTLIN_COMPILER_JAR = "kotlin-compiler.jar" + const val KOTLIN_COMPILER = "kotlin-compiler" + const val KOTLIN_COMPILER_JAR = "$KOTLIN_COMPILER.jar" @JvmField val KOTLIN_RUNTIME_JAR_PATTERN: Pattern = Pattern.compile("kotlin-(stdlib|runtime)(-\\d[\\d.]+(-.+)?)?\\.jar") @@ -63,8 +64,9 @@ object PathUtil { @JvmStatic val kotlinPathsForCompiler: KotlinPaths - get() = if (!pathUtilJar.isFile) { - // Not running from a jar, i.e. it is it must be a unit test + get() = if (!pathUtilJar.isFile || !pathUtilJar.name.startsWith(KOTLIN_COMPILER)) { + // PathUtil.class is located not in the kotlin-compiler*.jar, so it must be a test and we'll take KotlinPaths from "dist/" + // (when running tests, PathUtil.class is in its containing module's artifact, i.e. util-{version}.jar) kotlinPathsForDistDirectory } else KotlinPathsFromHomeDir(compilerPathForCompilerJar)