From da20845e9c64f99b05249b3ecd5f27d8a208977e Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Mon, 20 Oct 2014 15:39:35 +0400 Subject: [PATCH] Support non standart java source root configuration in gradle plugin #KT-6051 Fixed --- .../org/jetbrains/kotlin/gradle/tasks/Tasks.kt | 18 ++++++++++-------- .../kotlin/gradle/KotlinGradlePluginIT.kt | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 18fddfa84f7..ab032648c8d 100644 --- a/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin-core/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -32,7 +32,7 @@ import org.jetbrains.jet.config.Services public open class KotlinCompile(): AbstractCompile() { - val srcDirsRoots = HashSet() + val srcDirsSources = HashSet() val compiler = K2JVMCompiler() private val logger = Logging.getLogger(this.javaClass) @@ -44,9 +44,9 @@ public open class KotlinCompile(): AbstractCompile() { // override setSource to track source directory sets override fun setSource(source: Any?) { - srcDirsRoots.clear() + srcDirsSources.clear() if (source is SourceDirectorySet) { - srcDirsRoots.addAll(source.getSrcDirs()) + srcDirsSources.add(source) } super.setSource(source) } @@ -55,7 +55,7 @@ public open class KotlinCompile(): AbstractCompile() { override fun source(vararg sources: Any?): SourceTask? { for (source in sources) { if (source is SourceDirectorySet) { - srcDirsRoots.addAll(source.getSrcDirs()) + srcDirsSources.add(source) } } return super.source(sources) @@ -63,10 +63,12 @@ public open class KotlinCompile(): AbstractCompile() { fun findSrcDirRoot(file: File): File? { val absPath = file.getAbsolutePath() - for (root in srcDirsRoots) { - val rootAbsPath = root.getAbsolutePath() - if (FilenameUtils.directoryContains(rootAbsPath, absPath)) { - return root + for (source in srcDirsSources) { + for (root in source.getSrcDirs()) { + val rootAbsPath = root.getAbsolutePath() + if (FilenameUtils.directoryContains(rootAbsPath, absPath)) { + return root + } } } return null diff --git a/libraries/tools/kotlin-gradle-plugin-core/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-core/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt index 45ba7eef6b0..4ec8660d6f6 100644 --- a/libraries/tools/kotlin-gradle-plugin-core/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-core/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt @@ -41,7 +41,7 @@ class BasicKotlinGradleIT : BaseGradleIT() { } } - Ignore fun testKotlinExtraJavaSrc() { + Test fun testKotlinExtraJavaSrc() { Project("additionalJavaSrc", "1.6").build("build", "-Pkotlin.gradle.plugin.version=0.1-SNAPSHOT") { assertSuccessful() }