我有两个项目作为我的多项目构建的一部分,ProjectA
和ProjectB
。
ProjectA
对compile
有ProjectB
依赖关系。我还有自动构建编号增量,每个项目包含一个包含最新版本号的versions.json
文件。我有一个gradle脚本,可以在gradle publish
上增加此内部版本号。
现在,当对ProjectA
进行更改并执行gradle clean publish
时,ProjectB
也会部署到Nexus,即使它尚未更改。我怎样才能阻止这种情况发生?
请注意,构建总是从clean完成,因为此过程由我们的CI服务器完成,并且始终从新的克隆完成,因此以下解决方案不起作用:
publish {
onlyIf { jar.didWork }
}
如果与上游的最新副本不同,我如何确保将工件发布到Nexus?也许解决这个问题的一种方法是不在依赖项目上运行publish
。但是如何?