From ca327555cd71ff85e465a97898f6e7fa034d5a45 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Thu, 27 Apr 2023 00:49:03 +0530 Subject: refactor(build): introduce a standalone plugin for Kotlin JVM libraries --- build-logic/build.gradle.kts | 6 ++--- .../app/passwordstore/gradle/KotlinJVMLibrary.kt | 28 ++++++++++++++++++++++ .../passwordstore/gradle/KotlinLibraryPlugin.kt | 18 -------------- 3 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinJVMLibrary.kt delete mode 100644 build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt (limited to 'build-logic') diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 6efbd1e6..41ee7256 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -53,9 +53,9 @@ gradlePlugin { id = "com.github.android-password-store.kotlin-kapt" implementationClass = "app.passwordstore.gradle.KotlinKaptPlugin" } - register("kotlin-library") { - id = "com.github.android-password-store.kotlin-library" - implementationClass = "app.passwordstore.gradle.KotlinLibraryPlugin" + register("kotlin-jvm-library") { + id = "com.github.android-password-store.kotlin-jvm-library" + implementationClass = "app.passwordstore.gradle.KotlinJVMLibrary" } register("ktfmt") { id = "com.github.android-password-store.ktfmt" diff --git a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinJVMLibrary.kt b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinJVMLibrary.kt new file mode 100644 index 00000000..253c7aed --- /dev/null +++ b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinJVMLibrary.kt @@ -0,0 +1,28 @@ +/* + * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved. + * SPDX-License-Identifier: GPL-3.0-only + */ + +package app.passwordstore.gradle + +import app.passwordstore.gradle.LintConfig.configureLint +import com.android.build.api.dsl.Lint +import com.android.build.gradle.LintPlugin +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply +import org.gradle.kotlin.dsl.configure +import org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper + +@Suppress("Unused") +class KotlinJVMLibrary : Plugin { + + override fun apply(project: Project) { + project.pluginManager.run { + apply(KotlinPluginWrapper::class) + apply(LintPlugin::class) + apply(KotlinCommonPlugin::class) + } + project.extensions.configure { configureLint(project) } + } +} diff --git a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt deleted file mode 100644 index e9c9d1d3..00000000 --- a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved. - * SPDX-License-Identifier: GPL-3.0-only - */ - -package app.passwordstore.gradle - -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.kotlin.dsl.apply - -@Suppress("Unused") -class KotlinLibraryPlugin : Plugin { - - override fun apply(project: Project) { - project.pluginManager.apply(KotlinCommonPlugin::class) - } -} -- cgit v1.2.3