More entry points for compiler plugins

* In Kotlin/JS JPS compilation
* In kotlin-common CLI compiler
* In kotlin-common gradle build
This commit is contained in:
Leonid Startsev
2017-11-09 18:15:52 +03:00
parent 07601b2ec4
commit d6e5551237
3 changed files with 26 additions and 13 deletions
@@ -347,11 +347,20 @@ internal class KotlinCommonSourceSetProcessor(
project.afterEvaluate { project ->
kotlinTask.source(kotlinSourceSet.kotlin)
val subpluginEnvironment: SubpluginEnvironment = loadSubplugins(project)
val appliedPlugins = subpluginEnvironment.addSubpluginOptions(
project, kotlinTask, kotlinTask, null, null, sourceSet)
project.tasks.findByName(sourceSet.classesTaskName).dependsOn(kotlinTask)
// can be missing (e.g. in case of tests)
project.tasks.findByName(sourceSet.jarTaskName)?.dependsOn(kotlinTask)
val javaTask = project.tasks.findByName(sourceSet.compileJavaTaskName)
project.tasks.remove(javaTask)
appliedPlugins
.flatMap { it.getSubpluginKotlinTasks(project, kotlinTask) }
.forEach { it.source(kotlinSourceSet.kotlin) }
}
}