1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-29 17:38:12 -07:00

Allow plug-ins to contribute multiple compilers.

This commit is contained in:
Cedric Beust 2016-02-10 21:43:01 +04:00
parent c2312a8854
commit c1185fdf96
5 changed files with 84 additions and 49 deletions

View file

@ -36,14 +36,24 @@ class Variant(val initialProductFlavor: ProductFlavorConfig? = null,
}
fun sourceDirectories(project: Project, context: KobaltContext) : List<File> {
val compilers = ActorUtils.selectAffinityActors(project, context, context.pluginInfo.compilerContributors)
val sourceSuffixes = compilers.flatMap { it.sourceSuffixes }
val result = sourceSuffixes.flatMap {
sourceDirectories(project, it)
}.toHashSet()
val result = hashSetOf<File>()
val compilerContributors = ActorUtils.selectAffinityActors(project, context,
context.pluginInfo.compilerContributors)
compilerContributors.forEach {
it.compilersFor(project, context).forEach { compiler ->
val sourceSuffixes = compilerContributors.flatMap { compiler.sourceSuffixes }
result.addAll(sourceSuffixes.flatMap {
sourceDirectories(project, it)
})
}
}
return result.toList()
}
/**
* Might be used by plug-ins.
*/
fun resDirectories(project: Project) : List<File> = sourceDirectories(project, "res")
/**