如何将Android库的maven-publish与signing插件从Groovy DSL迁移至Kotlin DSL?
将Android库的Groovy DSL发布配置转换为Kotlin DSL
以下是你提供的Groovy DSL代码对应的Kotlin DSL版本,适配maven-publish和signing插件:
plugins { `maven-publish` signing } android { publishing { singleVariant("release") { withJavadocJar() withSourcesJar() } } } publishing { publications { create<MavenPublication>("release") { afterEvaluate { from(components["release"]) } groupId = project.property("groupId") as String artifactId = project.property("artifactId") as String version = project.property("version") as String } } repositories { maven { url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") credentials { username = project.property("sonatypeUsername") as String password = project.property("sonatypePassword") as String } } } } signing { sign(publishing.publications["release"]) }
关键转换点说明:
- 插件声明:Kotlin DSL中,带连字符的
maven-publish需要用反引号包裹,signing可直接使用 - 组件引用:Kotlin里访问组件需通过索引方式
components["release"],替代Groovy的直接属性调用 - 属性获取:必须明确调用
project.property(),并将返回的Any类型强转为String,符合Kotlin类型安全要求 - 仓库URL配置:Kotlin DSL需用
uri()包裹URL字符串,替代Groovy的直接赋值 - 签名配置:通过索引
publishing.publications["release"]获取发布配置,传递给sign()方法
内容的提问来源于stack exchange,提问作者Adil Hussain
相关产品推荐
相关产品推荐

