我有一个包含以下子项目的多项目 gradle 构建:sample-api sample-common,它依赖于 sample-api sample-server,它依赖于 sample-api 和 sample-common。
如果自上一个版本以来源代码没有更改(svn diff),我想避免构建/发布 sample-api.jar、sample-common.jar 或 sample-server.ear。sample-api.jar 和 sample-common.jar 将被外部客户端使用,我想避免不必要的构建/发布让我们对 nexus repo 说。整个项目是用 jenkins 的 gradle 构建的。
目前,如果 sample-api 源代码没有更改,我知道如何使 sample-common 依赖于 sample-api.jar - 否则依赖于 sample-api 项目。但是如果 sample-api 和 sample-common 没有变化,我也需要避免 sample-common 构建;与 sample-server 相同 - 如果 sample-api+sample-ocmmon+sample-server 中没有任何变化,则不构建。我想要它递归。
这个问题必须有一个非常标准的解决方案?
谢谢。