gradle - 使用Gradle设置服务器(OS:Ubuntu)

标签 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"
}

最佳答案

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

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

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

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

关于gradle - 使用Gradle设置服务器(OS:Ubuntu),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40019807/

相关文章:

java - 从现有的动态 web 项目迁移到 gradle

gradle - Gradle:如何强制执行整个子树的版本?

java - 在 groovy 中创建许多函数会产生多少开销

datetime - Groovy:如何初始化和比较不同时区的日期/时间值?

spring - Java/Groovy 如何捕获 Spring dao 系列异常

android - 为什么我的 Android 应用程序查找/data/app/package_name-1/lib/arm/libLibrary.so 而不是使用文件夹 armeabi

spring-boot - 如何使用Gradle构建.war文件以进行部署

java - 我安装了 Android Studio,但无法通过命令行访问 gradle

groovy - 无法启动 Groovy 控制台 - 缺少依赖项 javax/xml/bind/Unmarshaller

jenkins - 如果阶段设置构建失败/不稳定状态,如何退出 Jenkins 管道?