Kotlin DSL Android Gradle 任务
Kotlin DSL Android Gradle Tasks
我正在为我们的 android 项目将所有 Groovy 脚本迁移到 Kotlin DSL。我们的构建风格如下所示:
buildTypes {
getByName("debug") {
isDebuggable = true
signingConfig = signingConfigs.getByName("default")
}
create("qa") {
isShrinkResources = true
isMinifyEnabled = true
isUseProguard = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
getByName("release") {
isShrinkResources = true
isMinifyEnabled = true
isUseProguard = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}
所以对于这项工作如果我正在寻找 运行 来自命令行的任务
./gradleW aDebug
./gradleW aQa
./gradleW aRelease
现在,当前的问题是,当我尝试将所有任务组合成一个时,下面的代码看起来像 Groovy,但不确定如何用 Kotlin DSL 编写。感谢您的帮助
//This is in Groovy
task assembleAll(dependsOn:
[
'assembleQa',
'assembleRelease',
])
你能告诉我它在 Kotlin DSL 中的样子吗?
我已经尝试了下面的方法,但到目前为止还没有用。
task("assembleAll") {
dependsOn("assembleQa")
dependsOn("assembleRelease")
}
task("assembleAll")
{ dependsOn("assembleQa","assembleRelease") }
这就是解决方案
如果您要将脚本从 Gradle Groovy 转换为 Kotlin DSL:
tasks.register("assembleAll") {
dependsOn("assembleQa", "assembleRelease")
}
我正在为我们的 android 项目将所有 Groovy 脚本迁移到 Kotlin DSL。我们的构建风格如下所示:
buildTypes {
getByName("debug") {
isDebuggable = true
signingConfig = signingConfigs.getByName("default")
}
create("qa") {
isShrinkResources = true
isMinifyEnabled = true
isUseProguard = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
getByName("release") {
isShrinkResources = true
isMinifyEnabled = true
isUseProguard = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}
所以对于这项工作如果我正在寻找 运行 来自命令行的任务
./gradleW aDebug
./gradleW aQa
./gradleW aRelease
现在,当前的问题是,当我尝试将所有任务组合成一个时,下面的代码看起来像 Groovy,但不确定如何用 Kotlin DSL 编写。感谢您的帮助
//This is in Groovy
task assembleAll(dependsOn:
[
'assembleQa',
'assembleRelease',
])
你能告诉我它在 Kotlin DSL 中的样子吗? 我已经尝试了下面的方法,但到目前为止还没有用。
task("assembleAll") {
dependsOn("assembleQa")
dependsOn("assembleRelease")
}
task("assembleAll")
{ dependsOn("assembleQa","assembleRelease") }
这就是解决方案
如果您要将脚本从 Gradle Groovy 转换为 Kotlin DSL:
tasks.register("assembleAll") {
dependsOn("assembleQa", "assembleRelease")
}