Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 格拉德尔。Kotlin-是否可以创建动态(“动态”)任务?_Gradle_Kotlin_Gradle Kotlin Dsl - Fatal编程技术网

Gradle 格拉德尔。Kotlin-是否可以创建动态(“动态”)任务?

Gradle 格拉德尔。Kotlin-是否可以创建动态(“动态”)任务?,gradle,kotlin,gradle-kotlin-dsl,Gradle,Kotlin,Gradle Kotlin Dsl,我是一名android开发者。因此,由Gradle编写构建。我在Groovy上的GradleDSL上写的许多任务 有时我需要动态地(“动态地”)创建渐变任务。例如: task installDebugFlavors() { android.applicationVariants.all { v -> if (v.name.endsWith('Debug')) { String name = v.name.capitalize()

我是一名android开发者。因此,由Gradle编写构建。我在Groovy上的GradleDSL上写的许多任务

有时我需要动态地(“动态地”)创建渐变任务。例如:

task installDebugFlavors() {
    android.applicationVariants.all { v ->
        if (v.name.endsWith('Debug')) {
            String name = v.name.capitalize()
            dependsOn "install$name"
        }
    }
}
此任务生成具有所有样式组合的新任务。 因此Gradle脚本非常小,易于理解和支持。它具有非常强大的Groovy功能。它经常帮助我

在新版格拉德尔中引入了新的语言——科特林


我的问题是:是否可以在Kotlin上编写相同的任务(用于动态创建其他任务)?

是的,您可以动态创建任务,并通过Gradle Kotlin DSL中的(字符串)名称引用其他任务

任务{
“安装调试风格”{
android.applicationVariants.forEach{v->
if(v.name.endsWith(“调试”)){
val name=v.name.capitalize()
dependsOn(“安装$name”)
}
}
}        
}