diff options
Diffstat (limited to 'build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/PublishedAndroidLibraryPlugin.kt')
| -rw-r--r-- | build-logic/android-plugins/src/main/kotlin/dev/msfjarvis/aps/gradle/PublishedAndroidLibraryPlugin.kt | 40 |
1 files changed, 40 insertions, 0 deletions
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<Project> { + + override fun apply(project: Project) { + project.plugins.run { + apply(LibraryPlugin::class) + apply(MavenPublishBasePlugin::class) + apply(SigningPlugin::class) + } + project.extensions.getByType<MavenPublishBaseExtension>().run { + publishToMavenCentral(SonatypeHost.DEFAULT) + signAllPublications() + configure(AndroidSingleVariantLibrary()) + pomFromGradleProperties() + } + project.afterEvaluate { + project.extensions.getByType<SigningExtension>().run { + val signingKey: String? by project + val signingPassword: String? by project + useInMemoryPgpKeys(signingKey, signingPassword) + } + } + } +} |
