从sbt发布时设置build.timestamp

时间:2013-09-17 20:33:25

标签: scala sbt artifactory

今天,我的团队有一些项目经常被“发布”用于生产用途。我们使用JFrog的托管Artifactory解决方案来托管我们的二进制文件,但在项目发布jar和汇编文件时遇到了问题。

通过与JFrog的某人交谈,他们说了以下内容。

Artifactory希望部署顺序如下(由Maven完成):

  1. jar
  2. pom
  3. 分类器
  4. 我怀疑由于您在不同的订单上部署文件,Artifactory无法计算唯一的快照。
    但是,有一种方法可以使它工作:

    对于每个工件,使用当前时间(以毫秒为单位)添加“build.timestamp”HTTP矩阵参数。请注意,同一版本中的所有工件应具有相同的时间戳值。

    例如:
    http://myaccount.artifactoryonline.com/myaccunt/libs-snapshots-local/com/artifact-SNAPSHOT.jar;build.timestamp=1375140480339

有两个问题:SBT是否真的以不同的顺序发布,如果是这样,我如何更改发布网址以包含此build.timestamp?

1 个答案:

答案 0 :(得分:1)

sbt不按定义的顺序发布。我认为没有办法在发布的URL中放置时间戳,因此最好的选择是在sbt本身中实现一个订单。

之前的讨论:https://groups.google.com/d/topic/simple-build-tool/FZqTfpizI-k/discussion 现在的链接位于:https://github.com/sbt/sbt/blob/0.13/ivy/src/main/scala/sbt/IvyActions.scala#L257