diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt index 5b298ff3cb3..8cf754d7558 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt @@ -25,6 +25,7 @@ import org.jetbrains.kotlin.gradle.util.* import org.jetbrains.kotlin.test.KotlinTestUtils import org.junit.Test import java.io.File +import java.nio.file.Files import java.util.zip.ZipFile import kotlin.test.assertEquals import kotlin.test.assertNotEquals @@ -678,8 +679,22 @@ class KotlinGradleIT : BaseGradleIT() { } @Test - fun testInternalTest() { - Project("internalTest").build("build") { + fun testInternalTest() = with( + Project("internalTest") + ) { + build("build") { + assertSuccessful() + assertReportExists() + assertTasksExecuted(":compileKotlin", ":compileTestKotlin") + } + + // Check KT-35341: use symlinked build dir + val buildDir = projectDir.resolve("build") + buildDir.deleteRecursively() + val externalBuildDir = Files.createTempDirectory(workingDir.toPath(), "externalBuild") + Files.createSymbolicLink(buildDir.toPath(), externalBuildDir) + + build("build") { assertSuccessful() assertReportExists() assertTasksExecuted(":compileKotlin", ":compileTestKotlin") diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 54757786199..6ce3b6182a5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -256,7 +256,7 @@ abstract class AbstractKotlinCompile() : AbstractKo associateWithTransitiveClosure .flatMap { it.output.classesDirs } .plus(friendArtifacts) - .map { it.canonicalPath }.toTypedArray() + .map { it.absolutePath }.toTypedArray() } }