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:
parent
c2312a8854
commit
c1185fdf96
5 changed files with 84 additions and 49 deletions
|
@ -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")
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue