Support non standart java source root configuration in gradle plugin

#KT-6051 Fixed
This commit is contained in:
Michael Bogdanov
2014-10-20 15:39:35 +04:00
parent 3a8ad45dec
commit da20845e9c
2 changed files with 11 additions and 9 deletions
@@ -32,7 +32,7 @@ import org.jetbrains.jet.config.Services
public open class KotlinCompile(): AbstractCompile() { public open class KotlinCompile(): AbstractCompile() {
val srcDirsRoots = HashSet<File>() val srcDirsSources = HashSet<SourceDirectorySet>()
val compiler = K2JVMCompiler() val compiler = K2JVMCompiler()
private val logger = Logging.getLogger(this.javaClass) private val logger = Logging.getLogger(this.javaClass)
@@ -44,9 +44,9 @@ public open class KotlinCompile(): AbstractCompile() {
// override setSource to track source directory sets // override setSource to track source directory sets
override fun setSource(source: Any?) { override fun setSource(source: Any?) {
srcDirsRoots.clear() srcDirsSources.clear()
if (source is SourceDirectorySet) { if (source is SourceDirectorySet) {
srcDirsRoots.addAll(source.getSrcDirs()) srcDirsSources.add(source)
} }
super.setSource(source) super.setSource(source)
} }
@@ -55,7 +55,7 @@ public open class KotlinCompile(): AbstractCompile() {
override fun source(vararg sources: Any?): SourceTask? { override fun source(vararg sources: Any?): SourceTask? {
for (source in sources) { for (source in sources) {
if (source is SourceDirectorySet) { if (source is SourceDirectorySet) {
srcDirsRoots.addAll(source.getSrcDirs()) srcDirsSources.add(source)
} }
} }
return super.source(sources) return super.source(sources)
@@ -63,10 +63,12 @@ public open class KotlinCompile(): AbstractCompile() {
fun findSrcDirRoot(file: File): File? { fun findSrcDirRoot(file: File): File? {
val absPath = file.getAbsolutePath() val absPath = file.getAbsolutePath()
for (root in srcDirsRoots) { for (source in srcDirsSources) {
val rootAbsPath = root.getAbsolutePath() for (root in source.getSrcDirs()) {
if (FilenameUtils.directoryContains(rootAbsPath, absPath)) { val rootAbsPath = root.getAbsolutePath()
return root if (FilenameUtils.directoryContains(rootAbsPath, absPath)) {
return root
}
} }
} }
return null return null
@@ -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") { Project("additionalJavaSrc", "1.6").build("build", "-Pkotlin.gradle.plugin.version=0.1-SNAPSHOT") {
assertSuccessful() assertSuccessful()
} }