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")
}