在我的项目中,我有3种产品口味(开发,生产和测试)。我最近从Ant切换过,所以也许我仍然有Ant的心态,但这就是我想要实现的目标:
创建自定义任务(让我们调用它" buildAndUpload"),这将调用assembleDevRelease,然后调用另一个任务。
以下是我尝试的内容:
task myCustomTask {
println "My Custom Task"
}
task buildAndUpload {
tasks.assembleDevRelease.execute()
tasks.myCustomTask.execute()
}
当我调用buildAndUpload任务(gradlew buildAndUpload)时,我得到以下输出:
:buildAndUpload
"My Custom Task"
正如您所看到的,未调用assembleDevRelease任务。我知道我可以使用doLast闭包,但我真的想让myCustomTask调用包含在单独的任务中。
答案 0 :(得分:5)
任务不能调用另一个任务,但它可以依赖它。例如:
task myCustomTask {
dependsOn "assembleDevRelease"
doLast {
println "executing..."
}
}
答案 1 :(得分:1)
您应该将这两个任务设置为依赖项。你想要按照
的方式做点什么task buildAndUpload(dependsOn: ['assembleDevRelease', 'myCustomTask'] {
}
有关执行顺序的更多详细信息,请参阅构建生命周期的Gradle文档: http://www.gradle.org/docs/current/userguide/build_lifecycle.html