From a9cad7f112864b57a95c2194305386945ffc7bb0 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Tue, 27 Jun 2017 19:32:52 +0300 Subject: [PATCH] Add a test for project.buildDir lazy evaluation (cherry picked from commit ab0f9cd) --- .../kotlin/gradle/SimpleKotlinGradleIT.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt index ed056b0dfc4..134a604d437 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt @@ -1,6 +1,7 @@ package org.jetbrains.kotlin.gradle import org.jetbrains.kotlin.gradle.util.checkBytecodeContains +import org.jetbrains.kotlin.gradle.util.modify import org.junit.Test import java.io.File import kotlin.test.assertTrue @@ -170,4 +171,23 @@ class SimpleKotlinGradleIT : BaseGradleIT() { assertSuccessful() } } + + @Test + fun testBuildDirLazyEvaluation() { + val project = Project("kotlinProject", GRADLE_VERSION) + project.setupWorkingDir() + + File(project.projectDir, "build").writeText("This file prevents Gradle from using 'build' as a directory") + + // Change the build directory in the end of the build script: + val customBuildDirName = "customBuild" + File(project.projectDir, "build.gradle").modify { + it + "\nbuildDir = '$customBuildDirName'\n" + } + + project.build("build") { + assertSuccessful() + assertFileExists("$customBuildDirName/classes") + } + } } \ No newline at end of file