avito-android
42 строки · 1.4 Кб
1package com.avito
2
3import com.android.build.gradle.LibraryExtension
4import com.avito.android.publish.AndroidLibraryPublishExtension
5import org.gradle.api.Plugin
6import org.gradle.api.Project
7import org.gradle.api.publish.PublishingExtension
8import org.gradle.api.publish.maven.MavenPublication
9import org.gradle.kotlin.dsl.configure
10import org.gradle.kotlin.dsl.register
11
12/**
13* https://developer.android.com/build/publish-library/configure-pub-variants
14*/
15class PublishAndroidLibraryPlugin : Plugin<Project> {
16
17override fun apply(project: Project) {
18with(project) {
19plugins.apply(PublishReleasePlugin::class.java)
20
21val publishExtension = extensions.create("publish", AndroidLibraryPublishExtension::class.java)
22
23configure<LibraryExtension> {
24publishing {
25singleVariant("release") {
26withSourcesJar()
27}
28}
29}
30configure<PublishingExtension> {
31publications { publications ->
32publications.register<MavenPublication>("releaseAndroidLibrary") {
33afterEvaluate {
34artifactId = publishExtension.artifactId.getOrElse(project.name)
35from(components.getByName("release"))
36}
37}
38}
39}
40}
41}
42}
43