From 504c8b466c44b4a8591976ed5d8662f7c83f67fc Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sat, 4 Jun 2022 15:24:46 +0530 Subject: android-plugins: convert to full plugins --- .../aps/gradle/PublishedAndroidLibraryPlugin.kt | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/PublishedAndroidLibraryPlugin.kt (limited to 'build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/PublishedAndroidLibraryPlugin.kt') diff --git a/build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/PublishedAndroidLibraryPlugin.kt b/build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/PublishedAndroidLibraryPlugin.kt new file mode 100644 index 00000000..6e9c3d56 --- /dev/null +++ b/build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/PublishedAndroidLibraryPlugin.kt @@ -0,0 +1,40 @@ +@file:Suppress("UnstableApiUsage") + +package dev.msfjarvis.aps.gradle + +import com.vanniktech.maven.publish.AndroidSingleVariantLibrary +import com.vanniktech.maven.publish.MavenPublishBaseExtension +import com.vanniktech.maven.publish.MavenPublishBasePlugin +import com.vanniktech.maven.publish.SonatypeHost +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply +import org.gradle.kotlin.dsl.getByType +import org.gradle.kotlin.dsl.provideDelegate +import org.gradle.plugins.signing.SigningExtension +import org.gradle.plugins.signing.SigningPlugin + +@Suppress("Unused") +class PublishedAndroidLibraryPlugin : Plugin { + + override fun apply(project: Project) { + project.plugins.run { + apply(LibraryPlugin::class) + apply(MavenPublishBasePlugin::class) + apply(SigningPlugin::class) + } + project.extensions.getByType().run { + publishToMavenCentral(SonatypeHost.DEFAULT) + signAllPublications() + configure(AndroidSingleVariantLibrary()) + pomFromGradleProperties() + } + project.afterEvaluate { + project.extensions.getByType().run { + val signingKey: String? by project + val signingPassword: String? by project + useInMemoryPgpKeys(signingKey, signingPassword) + } + } + } +} -- cgit v1.2.3