Gradle:如果至少执行了一个子项目的任务,则运行一个任务

时间:2019-11-25 22:55:06

标签: gradle

如果我的项目中内置的JAR至少有一个已更新,我想创建一个归档文件(以tar文件为例),如果没有,请跳过该归档文件的构建。如何在gradle中做到这一点?

更多细节。这是项目结构:

Top
   A1
      A11
      A12
   A2
      A21
   A3
      A31
      A32
      A33

项目Top是gradle层次结构的顶部。 Axx是每个均构建JAR的项目。如果A1A11(或两者)在整个构建的执行过程中都产生了一个新的jar,我想在A12级别上运行一个任务,但是如果两者都没有,则跳过它已。对于A2A3的存档也是如此。

触发器将是“任务已执行并成功”,而不是“任务已跳过”或“任务已执行但失败”。

有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

Gradle应该使用最新的检查为您透明地进行处理。 如果正确声明A1中的任务取决于A11A12中JAR任务的输出。

为此,您不应使用指向A1内容的路径来配置build/...,而应指示您要使用任务的输出。

请参见the documentation for indications