AllOpen, NoArg: Use presets in Gradle plugins

This commit is contained in:
Yan Zhulanow
2017-01-31 19:13:11 +03:00
parent feb5397f6f
commit 52ecd05301
6 changed files with 18 additions and 9 deletions
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.allopen.gradle
open class AllOpenExtension {
internal val myAnnotations = mutableListOf<String>()
internal val myPresets = mutableListOf<String>()
open fun annotation(fqName: String) {
myAnnotations.add(fqName)
@@ -66,7 +66,8 @@ class AllOpenKotlinGradleSubplugin : KotlinGradleSubplugin<AbstractCompile> {
val ALLOPEN_GROUP_NAME = "org.jetbrains.kotlin"
val ALLOPEN_ARTIFACT_NAME = "kotlin-allopen"
private val ANNOTATIONS_ARG_NAME = "annotation"
private val ANNOTATION_ARG_NAME = "annotation"
private val PRESET_ARG_NAME = "preset"
}
override fun isApplicable(project: Project, task: AbstractCompile) = AllOpenGradleSubplugin.isEnabled(project)
@@ -85,7 +86,11 @@ class AllOpenKotlinGradleSubplugin : KotlinGradleSubplugin<AbstractCompile> {
val options = mutableListOf<SubpluginOption>()
for (anno in allOpenExtension.myAnnotations) {
options += SubpluginOption(ANNOTATIONS_ARG_NAME, anno)
options += SubpluginOption(ANNOTATION_ARG_NAME, anno)
}
for (preset in allOpenExtension.myPresets) {
options += SubpluginOption(PRESET_ARG_NAME, preset)
}
return options
@@ -23,9 +23,6 @@ class SpringGradleSubplugin : Plugin<Project> {
override fun apply(project: Project) {
project.plugins.apply(AllOpenGradleSubplugin::class.java)
val allOpenExtension = AllOpenGradleSubplugin.getAllOpenExtension(project)
allOpenExtension.annotations("org.springframework.stereotype.Component",
"org.springframework.transaction.annotation.Transactional",
"org.springframework.scheduling.annotation.Async",
"org.springframework.cache.annotation.Cacheable")
allOpenExtension.myPresets += "spring"
}
}
@@ -23,6 +23,6 @@ class KotlinJpaSubplugin : Plugin<Project> {
override fun apply(project: Project) {
project.plugins.apply(NoArgGradleSubplugin::class.java)
val noArgExtension = NoArgGradleSubplugin.getNoArgExtension(project)
noArgExtension.annotation("javax.persistence.Entity")
noArgExtension.myPresets += "jpa"
}
}
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.noarg.gradle
open class NoArgExtension {
internal val myAnnotations = mutableListOf<String>()
internal val myPresets = mutableListOf<String>()
open fun annotation(fqName: String) {
myAnnotations.add(fqName)
@@ -67,7 +67,8 @@ class NoArgKotlinGradleSubplugin : KotlinGradleSubplugin<AbstractCompile> {
val NOARG_GROUP_NAME = "org.jetbrains.kotlin"
val NOARG_ARTIFACT_NAME = "kotlin-noarg"
private val ANNOTATIONS_ARG_NAME = "annotation"
private val ANNOTATION_ARG_NAME = "annotation"
private val PRESET_ARG_NAME = "preset"
}
override fun isApplicable(project: Project, task: AbstractCompile) = NoArgGradleSubplugin.isEnabled(project)
@@ -86,7 +87,11 @@ class NoArgKotlinGradleSubplugin : KotlinGradleSubplugin<AbstractCompile> {
val options = mutableListOf<SubpluginOption>()
for (anno in noArgExtension.myAnnotations) {
options += SubpluginOption(ANNOTATIONS_ARG_NAME, anno)
options += SubpluginOption(ANNOTATION_ARG_NAME, anno)
}
for (preset in noArgExtension.myPresets) {
options += SubpluginOption(PRESET_ARG_NAME, preset)
}
return options