You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Gradle Kotlin DSL(KTS)实现Maven发布?Groovy代码转KTS

转换后的build.gradle.kts代码
plugins {
    ...
    id("maven-publish")
}

android {
    ....     
    publishing {
        singleVariant("release")
    }
}

dependencies {
    ...
}

afterEvaluate {
    publishing {
        publications {
            create<MavenPublication>("release") {
                groupId = "com.arnab.storage"
                artifactId = "Storage"
                version = "${(project.extra["version"] as Map<String, *>)["major"]}.${(project.extra["version"] as Map<String, *>)["minor"]}.${(project.extra["version"] as Map<String, *>)["build"]}"
                pom {
                    name.set("Android library for Storage system")
                    description.set("Useful library to help Android developers to work with Files in Android 10 and higher version")
                }
                afterEvaluate {
                    from(components.release)
                }
            }
        }
    }
}

转换说明

  • 插件声明:将Groovy风格的单引号插件ID改为Kotlin DSL的括号+双引号格式
  • 字符串处理:移除原代码中的转义双引号,直接使用标准双引号字符串
  • 扩展属性访问:原project.ext.version在Kotlin DSL中通过project.extra获取,需强转为Map后读取major/minor/build字段
  • Publication定义:用create<MavenPublication>("release")替代Groovy中的类型声明方式
  • POM配置:原直接赋值改为调用set()方法,适配Kotlin的属性API
  • 组件引用:保持components.release的引用方式,通过from()方法关联组件

内容的提问来源于stack exchange,提问作者Arnab Kundu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 18:56:18