diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ISourceDirectoryContributor.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ISourceDirectoryContributor.kt index 91ea96a0..e8b25ab5 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ISourceDirectoryContributor.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ISourceDirectoryContributor.kt @@ -9,9 +9,12 @@ interface ISourceDirectoryContributor { fun sourceDirectoriesFor(project: Project, context: KobaltContext): List } -fun KobaltContext.sourceDirectories(project: Project) : List { +/** + * @return the source directories for this project including source contributors. + */ +fun KobaltContext.sourceDirectories(project: Project) : Set { val result = pluginInfo.sourceDirContributors.flatMap { it.sourceDirectoriesFor(project, this) } - return result + return result.toSet() } diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/JvmCompilerPlugin.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/JvmCompilerPlugin.kt index 7e6832f2..b2eab908 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/JvmCompilerPlugin.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/JvmCompilerPlugin.kt @@ -144,8 +144,8 @@ open class JvmCompilerPlugin @Inject constructor( @IncrementalTask(name = JvmCompilerPlugin.TASK_COMPILE, description = "Compile the project") fun taskCompile(project: Project): IncrementalTaskInfo { - val inputChecksum = Md5.toMd5Directories(project.sourceDirectories.map { - File(project.directory, it) + val inputChecksum = Md5.toMd5Directories(context.sourceDirectories(project).map { + File(project.directory, it.path) }) return IncrementalTaskInfo( inputChecksum = inputChecksum,