diff options
author | Harsh Shandilya <me@msfjarvis.dev> | 2023-04-27 00:49:03 +0530 |
---|---|---|
committer | Harsh Shandilya <me@msfjarvis.dev> | 2023-04-27 01:34:35 +0530 |
commit | ca327555cd71ff85e465a97898f6e7fa034d5a45 (patch) | |
tree | f232f83e9b2966d4e85ae434ab1e0719e7672bcf /build-logic | |
parent | bf6fe08472112bf41796e5bed874119b14b54ecb (diff) |
refactor(build): introduce a standalone plugin for Kotlin JVM libraries
Diffstat (limited to 'build-logic')
3 files changed, 31 insertions, 21 deletions
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<Project> { + + override fun apply(project: Project) { + project.pluginManager.run { + apply(KotlinPluginWrapper::class) + apply(LintPlugin::class) + apply(KotlinCommonPlugin::class) + } + project.extensions.configure<Lint> { 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<Project> { - - override fun apply(project: Project) { - project.pluginManager.apply(KotlinCommonPlugin::class) - } -} |