使用gradle

时间:2016-10-13 11:32:28

标签: gradle groovy

我需要在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"
}

1 个答案:

答案 0 :(得分:0)

Gradle具有skip tasks的功能。你会写类似

的东西
task install_a(type: Exec) {
    ...
    onlyIf { file('/some/file/from/someapp').exists() }
}

如果您对检查单个文件不满意,也可以在onlyIf闭包中执行一些命令。

Gradle还支持up to date checks,但有了这些,它将始终在第一次运行时执行任务。