mbonnin
09/28/2017, 10:21 AMoverride fun apply(project: Project) {
project.plugins.all {
when (it) {
is LibraryPlugin -> {
project.extensions.findByType(LibraryExtension::class.java).run {
configure(project, libraryVariants)
}
}
is AppPlugin -> {
project.extensions.findByType(AppExtension::class.java).run {
configure(project, applicationVariants)
}
}
}
}
}
private fun configure(project: Project, variants: DomainObjectSet<out BaseVariant>) {
variants.all { variant ->
val outputDir = project.buildDir.resolve(
"generated/source/food/${variant.dirName}")
val task = project.tasks.create("generate${variant.name.capitalize()}Food", com.example.FoodPlugin.FooTask::class.java).apply {
generatedDir = outputDir
}
task.outputs.dir(outputDir)
variant.registerJavaGeneratingTask(task, outputDir)
}
}