diff --git a/src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt index d69d136e..26713b27 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt @@ -7,6 +7,7 @@ import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.log import com.google.common.collect.ArrayListMultimap import com.google.inject.Inject +import java.io.File import javax.inject.Singleton /** @@ -18,7 +19,22 @@ import javax.inject.Singleton */ @Singleton public class AptPlugin @Inject constructor(val depFactory: DepFactory) - : ConfigPlugin(), ICompilerFlagContributor { +: ConfigPlugin(), ICompilerFlagContributor, ISourceDirectoryContributor { + + // ISourceDirectoryContributor + + override fun sourceDirectoriesFor(project: Project, context: KobaltContext): List { + val config = configurationFor(project) + val result = + if (config != null) { + listOf(File( + KFiles.joinDir(KFiles.KOBALT_BUILD_DIR, config.outputDir, context.variant.toIntermediateDir()))) + } else { + emptyList() + } + + return result + } companion object { const val PLUGIN_NAME = "Apt" @@ -32,24 +48,19 @@ public class AptPlugin @Inject constructor(val depFactory: DepFactory) // ICompilerFlagContributor override fun flagsFor(project: Project, context: KobaltContext, currentFlags: List, - suffixesBeingCompiled: List) : List { + suffixesBeingCompiled: List): List { + if (!suffixesBeingCompiled.contains("java")) return emptyList() + val result = arrayListOf() configurationFor(project)?.let { config -> aptDependencies[project.name]?.let { aptDependencies -> - val dependencyJarFiles = aptDependencies.map { - JarFinder.byId(it) - }.map { - it.absolutePath - } val deps = aptDependencies.map { depFactory.create(it) } - val dependencies = context.dependencyManager.calculateDependencies(null, context, emptyList(), - deps).map { it.jarFile.get().path } - -// result.add("-Xbootclasspath/a:" + dependencies) + val dependencies = context.dependencyManager.calculateDependencies(null, context, emptyList(), deps) + .map { it.jarFile.get().path } result.add("-processorpath") - result.add((dependencyJarFiles + dependencies).joinToString(":")) + result.add((dependencies).joinToString(":")) result.add("-s") result.add(generated(project, context, config.outputDir)) }