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 73859ffdfc2..fa942df1a9f 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 @@ -111,9 +111,10 @@ abstract class AbstractKotlinCompile() : AbstractKo cacheOnlyIfEnabledForKotlin() } + // avoid creating directory in getter: this can lead to failure in parallel build @get:LocalState internal val taskBuildDirectory: File - get() = File(File(project.buildDir, KOTLIN_BUILD_DIR_NAME), name).apply { mkdirs() } + get() = File(File(project.buildDir, KOTLIN_BUILD_DIR_NAME), name) // indicates that task should compile kotlin incrementally if possible // it's not possible when IncrementalTaskInputs#isIncremental returns false (i.e first build) @@ -249,6 +250,7 @@ abstract class AbstractKotlinCompile() : AbstractKo sourceRoots.log(this.name, logger) val args = prepareCompilerArguments() + taskBuildDirectory.mkdirs() callCompiler(args, sourceRoots, ChangedFiles(inputs)) }