在SBT中发布之前如何检查工件的存在

时间:2018-08-30 03:08:59

标签: scala build sbt artifactory

我正在为SBT项目建立构建,如果SBT可以在尝试上载(到Artifactory)之前检查具有相同名称/版本的工件(特别是jar)的存在,那将大大简化事情。 ,并且仅当该工件同时存在并且与本地构建的工件不同时才会失败。

目前最好的解决方法是使publish依赖于publishLocal,并且如果常春藤缓存中的skip in publish := true文件已经匹配了.sha1,则使skip in publish已上传。但是,手动下载该文件并找到本地文件感觉很麻烦,我仍然不太了解如何确定时间。此外,实际上可以在publishLocal运行之后设置IndexSlice吗?

如果有更好的方法,请填写!

1 个答案:

答案 0 :(得分:0)

到目前为止,我最吸引人的解决方案是使用

publishTo := Some(Resolver.file("file", file("dist"))

,然后手动比较校验和,并使用curl或python的requests模块在​​SBT外部有条件地发布。