我需要在Ubuntu机器上安装一些应用程序。方案如下
1)某些应用程序依赖于其他应用程序
2)如果已安装某些应用程序,请跳过它并继续。
请参阅下面的示例gradle示例,
1)install_b依赖于install_a。
2)如果已经安装了install_a,那么如何在gradle中跳过任务install_a。
task install_a(type: Exec) {
executable "sh"
args "-c","sudo apt-get install SOMEAPP"
}
task install_b(type: Exec) {
dependsOn << install_a
executable "sh"
args "-c","sudo apt-get install ANOTHERAPP"
}
答案 0 :(得分:0)
Gradle具有skip tasks的功能。你会写类似
的东西task install_a(type: Exec) {
...
onlyIf { file('/some/file/from/someapp').exists() }
}
如果您对检查单个文件不满意,也可以在onlyIf闭包中执行一些命令。
Gradle还支持up to date checks,但有了这些,它将始终在第一次运行时执行任务。