From 9d0601699d24414a010260bf45d276407c14ff7c Mon Sep 17 00:00:00 2001 From: Bogdan Terehov Date: Fri, 8 Sep 2023 23:10:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5=20staticAnalys?= =?UTF-8?q?is?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/StaticAnalysisAndroidPlugin.kt | 8 ++++---- .../plugins/StaticAnalysisExtension.kt | 4 ++-- .../plugins/StaticAnalysisPlugin.kt | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisAndroidPlugin.kt b/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisAndroidPlugin.kt index dc67501..b011515 100644 --- a/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisAndroidPlugin.kt +++ b/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisAndroidPlugin.kt @@ -36,11 +36,11 @@ class StaticAnalysisAndroidPlugin : StaticAnalysisPlugin() { override fun createLinters(extension: StaticAnalysisExtension): List = mutableListOf().apply { add(DetektLinter()) - if (extension.isCpdLinterEnabled) { - CpdLinter() + if (extension.needCpdLinterEnabled) { + add(CpdLinter()) } - if (extension.isAndroidLinterEnabled) { - AndroidLinter() + if (extension.needAndroidLinterEnabled) { + add(AndroidLinter()) } } diff --git a/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisExtension.kt b/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisExtension.kt index cb5c2cc..8087b9d 100644 --- a/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisExtension.kt +++ b/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisExtension.kt @@ -3,6 +3,6 @@ package static_analysis.plugins open class StaticAnalysisExtension( var excludes: String = "", var buildScriptDir: String? = null, - var isCpdLinterEnabled: Boolean = true, - var isAndroidLinterEnabled: Boolean = false, + var needCpdLinterEnabled: Boolean = true, + var needAndroidLinterEnabled: Boolean = false, ) diff --git a/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisPlugin.kt b/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisPlugin.kt index d95535b..c1b59b0 100644 --- a/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisPlugin.kt +++ b/gradle/plugins/src/main/java/static_analysis/plugins/StaticAnalysisPlugin.kt @@ -42,8 +42,24 @@ abstract class StaticAnalysisPlugin : Plugin { } abstract fun createLinters(extension: StaticAnalysisExtension): List + abstract fun createStaticAnalysisTasks(project: Project, linters: List) + /** + * Project level + * + * В gradle.kts используйте этот extension. + * + * В классическом gradle, синтаксис ровно тот, же, но без использования extension. + * ``` + * staticAnalysis { + * excludes = ":name_example" + * buildScriptDir = buildScriptsDirectory + * needCpdLinterEnabled = false + * needAndroidLinterEnabled = false + * } + * ``` + */ fun Project.staticAnalysis(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure(STATIC_ANALYSIS_EXT_NAME, configure)