Gradle 格拉德尔。Kotlin-是否可以创建动态(“动态”)任务?
我是一名android开发者。因此,由Gradle编写构建。我在Groovy上的GradleDSL上写的许多任务 有时我需要动态地(“动态地”)创建渐变任务。例如: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()
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”)
}
}
}
}