如果项目未更改,请不要将工件发布到Nexus

时间:2018-04-12 07:41:45

标签: java gradle nexus multi-project maven-publish

我有两个项目作为我的多项目构建的一部分,ProjectAProjectB

ProjectAcompileProjectB依赖关系。我还有自动构建编号增量,每个项目包含一个包含最新版本号的versions.json文件。我有一个gradle脚本,可以在gradle publish上增加此内部版本号。

现在,当对ProjectA进行更改并执行gradle clean publish时,ProjectB也会部署到Nexus,即使它尚未更改。我怎样才能阻止这种情况发生?

请注意,构建总是从clean完成,因为此过程由我们的CI服务器完成,并且始终从新的克隆完成,因此以下解决方案不起作用:

publish {
  onlyIf { jar.didWork }
}

如果与上游的最新副本不同,我如何确保将工件发布到Nexus?也许解决这个问题的一种方法是不在依赖项目上运行publish。但是如何?

0 个答案:

没有答案