【问题标题】:How to check for existence of artifact before publishing in SBT如何在 SBT 中发布之前检查工件是否存在
【发布时间】:2019-02-04 21:46:23
【问题描述】:

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

此时我最好的解决方案是使publish 依赖于publishLocal,如果常春藤缓存中的.sha1 文件与已上传的文件匹配,则使skip in publish := true。但是,手动下载该文件并找到本地文件感觉非常hacky,我仍然不太知道如何计算时间。另外,真的可以在publishLocal运行之后设置skip in publish吗?

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

【问题讨论】:

    标签: scala build sbt artifactory


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-25
      • 2018-03-07
      • 2021-05-31
      • 2014-01-07
      • 2010-09-27
      • 2011-06-16
      相关资源
      最近更新 更多