From 52ecd053014d6115e4f9780949931c505160d134 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 31 Jan 2017 19:13:11 +0300 Subject: [PATCH] AllOpen, NoArg: Use presets in Gradle plugins --- .../jetbrains/kotlin/allopen/gradle/AllOpenExtension.kt | 1 + .../jetbrains/kotlin/allopen/gradle/AllOpenSubplugin.kt | 9 +++++++-- .../kotlin/allopen/gradle/KotlinSpringSubplugin.kt | 5 +---- .../jetbrains/kotlin/noarg/gradle/KotlinJpaSubplugin.kt | 2 +- .../org/jetbrains/kotlin/noarg/gradle/NoArgExtension.kt | 1 + .../org/jetbrains/kotlin/noarg/gradle/NoArgSubplugin.kt | 9 +++++++-- 6 files changed, 18 insertions(+), 9 deletions(-) diff --git a/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/AllOpenExtension.kt b/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/AllOpenExtension.kt index 3cf83b7763a..1fa2a2ab643 100644 --- a/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/AllOpenExtension.kt +++ b/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/AllOpenExtension.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.allopen.gradle open class AllOpenExtension { internal val myAnnotations = mutableListOf() + internal val myPresets = mutableListOf() open fun annotation(fqName: String) { myAnnotations.add(fqName) diff --git a/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/AllOpenSubplugin.kt b/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/AllOpenSubplugin.kt index e361a903054..d7333f12509 100644 --- a/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/AllOpenSubplugin.kt +++ b/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/AllOpenSubplugin.kt @@ -66,7 +66,8 @@ class AllOpenKotlinGradleSubplugin : KotlinGradleSubplugin { 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 { val options = mutableListOf() 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 diff --git a/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/KotlinSpringSubplugin.kt b/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/KotlinSpringSubplugin.kt index 20356132b8a..a27b09a353a 100644 --- a/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/KotlinSpringSubplugin.kt +++ b/libraries/tools/kotlin-allopen/src/main/kotlin/org/jetbrains/kotlin/allopen/gradle/KotlinSpringSubplugin.kt @@ -23,9 +23,6 @@ class SpringGradleSubplugin : Plugin { 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" } } \ No newline at end of file diff --git a/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/KotlinJpaSubplugin.kt b/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/KotlinJpaSubplugin.kt index ed1c143659e..ef583be9129 100644 --- a/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/KotlinJpaSubplugin.kt +++ b/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/KotlinJpaSubplugin.kt @@ -23,6 +23,6 @@ class KotlinJpaSubplugin : Plugin { override fun apply(project: Project) { project.plugins.apply(NoArgGradleSubplugin::class.java) val noArgExtension = NoArgGradleSubplugin.getNoArgExtension(project) - noArgExtension.annotation("javax.persistence.Entity") + noArgExtension.myPresets += "jpa" } } \ No newline at end of file diff --git a/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/NoArgExtension.kt b/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/NoArgExtension.kt index 188aacc0d0a..d1fa5c127b2 100644 --- a/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/NoArgExtension.kt +++ b/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/NoArgExtension.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.noarg.gradle open class NoArgExtension { internal val myAnnotations = mutableListOf() + internal val myPresets = mutableListOf() open fun annotation(fqName: String) { myAnnotations.add(fqName) diff --git a/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/NoArgSubplugin.kt b/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/NoArgSubplugin.kt index 7505f98322c..6e4737b9d8e 100644 --- a/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/NoArgSubplugin.kt +++ b/libraries/tools/kotlin-noarg/src/main/kotlin/org/jetbrains/kotlin/noarg/gradle/NoArgSubplugin.kt @@ -67,7 +67,8 @@ class NoArgKotlinGradleSubplugin : KotlinGradleSubplugin { 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 { val options = mutableListOf() 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