如何将 Android 库对“maven-publish”和“签名”Gradle 插件的使用从 Groovy DSL 迁移到 Kotlin DSL?

问题描述 投票:0回答:1

我在我的 Android 库的 Groovy DSL build.gradle 文件中使用 maven-publish

signing
Gradle 插件,如下所示:

plugins {
    id("maven-publish")
    id("signing")
}

android {
    publishing {
        singleVariant("release") {
            withJavadocJar()
            withSourcesJar()
        }
    }
}

publishing {
    publications {
        release(MavenPublication) {
            afterEvaluate {
                from components.release
            }

            groupId getProperty("groupId")
            artifactId getProperty("artifactId")
            version getProperty("version")
        }
    }

    repositories {
        maven {
            url "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
            credentials {
                username getProperty("sonatypeUsername")
                password getProperty("sonatypePassword")
            }
        }
    }
}

signing {
    sign publishing.publications.release
}

我省略了

build.gradle
文件中与发布和签名无关或可选的部分。

如何将这些声明转换为 Kotlin DSL?

gradle android-library gradle-kotlin-dsl maven-publish
1个回答
0
投票

以下是转换为 Kotlin DSL 的声明:

plugins {
    `maven-publish`
    signing
}

android {
    publishing {
        singleVariant("release") {
            withJavadocJar()
            withSourcesJar()
        }
    }
}

publishing {
    publications {
        create<MavenPublication>("release") {
            afterEvaluate {
                from(components["release"])
            }

            groupId = project.properties["groupId"].toString()
            artifactId = project.properties["artifactId"].toString()
            version = project.properties["version"].toString()
        }
    }

    repositories {
        maven {
            name = "sonatype"
            credentials(PasswordCredentials::class)
            url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2//artifactory/libs-release")
        }
    }
}

signing {
    sign(publishing.publications["release"])
}

注释

  1. 您可以在
    此处
    找到完整的build.gradle.kts文件,其中包含上述所有声明。
  2. Android Gradle 插件 > 发布你的库 文档包含上述大多数声明的 Kotlin DSL 示例。
  3. credentials(credentialsType:)
    函数在声明存储库>处理凭证Gradle文档中进行了描述。
© www.soinside.com 2019 - 2024. All rights reserved.