我想删除项目makefile并编写一些不错的gradle任务。 我需要按以下顺序执行以下任务:
task releaseMajor {
doLast {
clean.execute()
build.execute()
incrementVersion.execute()
bintrayUpload.execute()
}
}
运行顺序不是很好,因为我认为clean
是在build
之后运行的。 binrayUpload
正在运行,没有味道(release
)。我也尝试使用dependsOn
但没有成功(订单不起作用)。
我无法在Gradle doc中找到如何正确执行此操作。当从正确的顺序执行时,从CLI开始,一切都运行良好。
答案 0 :(得分:2)
使用mustRunAfter
或finalizedBy
进行更精细的订单控制:
task releaseMajor (dependsOn: ['clean', 'build', 'incrementVersion', 'bintrayUpload'])
build.mustRunAfter clean
incrementVersion.mustRunAfter build
bintrayUpload.mustRunAfter incrementVersion
答案 1 :(得分:0)
试过这个
task clean {
println 'clean task executing'
}
task incrementVersion (dependsOn:"clean"){
println 'incrementVersion task executing'
}
task building (dependsOn:"incrementVersion"){
println 'build task executing'
}
task bintrayUpload (dependsOn:"building") {
println 'bintrayUpload task executing'
}
输出
clean task executing
incrementVersion task executing
build task executing
bintrayUpload task executing
并执行./gradlew bintryUpload