blob: 055a921ad0885541aa8ee37d8ddb3622039b6dd0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/*
* Copyright © 2014-2024 The Android Password Store Authors. All Rights Reserved.
* SPDX-License-Identifier: GPL-3.0-only
*/
@file:Suppress("UnstableApiUsage")
package app.passwordstore.gradle
import com.vanniktech.maven.publish.AndroidMultiVariantLibrary
import com.vanniktech.maven.publish.MavenPublishBaseExtension
import com.vanniktech.maven.publish.MavenPublishBasePlugin
import me.tylerbwong.gradle.metalava.extension.MetalavaExtension
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
@Suppress("Unused")
class PublishedAndroidLibraryPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.plugins.run {
apply(LibraryPlugin::class)
apply(MavenPublishBasePlugin::class)
apply("me.tylerbwong.gradle.metalava")
}
project.extensions.configure<MavenPublishBaseExtension> {
publishToMavenCentral(automaticRelease = true)
if (project.providers.environmentVariable("CI").isPresent) {
signAllPublications()
}
configure(AndroidMultiVariantLibrary(sourcesJar = true, publishJavadocJar = true))
pomFromGradleProperties()
}
project.extensions.configure<MetalavaExtension> {
inputKotlinNulls.set(true)
reportWarningsAsErrors.set(true)
}
}
}
|