如何在SBT中发布之前检查工件是否存在
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在SBT中发布之前检查工件是否存在相关的知识,希望对你有一定的参考价值。
我正在为SBT项目设置构建,如果SBT可以在尝试上传(到Artifactory)之前检查是否存在具有相同名称/版本的工件(特别是jar),并且会失败只有当该工件既存在又与本地构建的工件不同时。
我现在最好的解决方案是让publish
依赖于publishLocal
,如果常春藤缓存中的skip in publish := true
文件与已经上传的文件匹配,则制作.sha1
。然而,手动下载该文件并找到本地文件感觉非常hacky,我仍然不知道如何计算时间。另外,在skip in publish
运行之后,实际上可以设置publishLocal
吗?
如果有更好的方法,请填写我!
答案
我到目前为止最吸引人的解决方案是使用
publishTo := Some(Resolver.file("file", file("dist"))
然后手动比较校验和并使用curl或python的requests
模块在SBT之外有条件地发布。
以上是关于如何在SBT中发布之前检查工件是否存在的主要内容,如果未能解决你的问题,请参考以下文章
如何根据本地 ivy 文件检查 Artifactory 中是不是存在工件