1

我正在为我们的 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")
    }
}

因此,如果我想从命令行运行 taks

./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")
}
4

2 回答 2

2

如果您要将脚本从 Gradle Groovy 转换为 Kotlin DSL:

tasks.register("assembleAll") {
    dependsOn("assembleQa", "assembleRelease")
}
于 2019-06-12T14:15:42.633 回答
1
 task("assembleAll") 
{ dependsOn("assembleQa","assembleRelease") } 

这是解决方案

于 2018-08-21T12:07:02.500 回答