From 237a06f1cf2b6497f983b7bf603b996dd205d328 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Thu, 20 Apr 2023 16:31:32 +0530 Subject: [PATCH] feat(build): apply Android Lint plugin to JVM modules --- .../kotlin/dev/msfjarvis/claw/gradle/KotlinJvmPlugin.kt | 8 +++++++- .../main/kotlin/dev/msfjarvis/claw/gradle/LintConfig.kt | 8 +++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/KotlinJvmPlugin.kt b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/KotlinJvmPlugin.kt index ad65b8c3..1b8d8674 100644 --- a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/KotlinJvmPlugin.kt +++ b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/KotlinJvmPlugin.kt @@ -1,14 +1,18 @@ /* - * Copyright © 2022 Harsh Shandilya. + * Copyright © 2022-2023 Harsh Shandilya. * Use of this source code is governed by an MIT-style * license that can be found in the LICENSE file or at * https://opensource.org/licenses/MIT. */ package dev.msfjarvis.claw.gradle +import com.android.build.api.dsl.Lint +import com.android.build.gradle.LintPlugin +import dev.msfjarvis.claw.gradle.LintConfig.configureLint import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.apply +import org.gradle.kotlin.dsl.findByType import org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper @Suppress("Unused") @@ -16,5 +20,7 @@ class KotlinJvmPlugin : Plugin { override fun apply(project: Project) { project.pluginManager.apply(KotlinPluginWrapper::class) project.pluginManager.apply(KotlinCommonPlugin::class) + project.pluginManager.apply(LintPlugin::class) + project.extensions.findByType()?.configureLint(project, isJVM = true) } } diff --git a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/LintConfig.kt b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/LintConfig.kt index 03fc51df..66285a83 100644 --- a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/LintConfig.kt +++ b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/LintConfig.kt @@ -10,7 +10,7 @@ import com.android.build.api.dsl.Lint import org.gradle.api.Project object LintConfig { - fun Lint.configureLint(project: Project) { + fun Lint.configureLint(project: Project, isJVM: Boolean = false) { quiet = project.providers.environmentVariable("CI").isPresent abortOnError = true checkReleaseBuilds = true @@ -24,8 +24,10 @@ object LintConfig { xmlReport = false htmlReport = true sarifReport = true - enable += "ComposeM2Api" - error += "ComposeM2Api" + if (!isJVM) { + enable += "ComposeM2Api" + error += "ComposeM2Api" + } baseline = project.file("lint-baseline.xml") } }