【问题标题】:Rename tgz to tar.gz while using sbt-native-packager使用 sbt-native-packager 时将 tgz 重命名为 tar.gz
【发布时间】:2018-12-28 06:44:00
【问题描述】:

我使用sbt-native-packager 构建了一个扩展名为.tgz 的压缩tar 文件。然后我使用

添加该工件
artifact in (Compile, (packageZipTarball in Universal)) := {
  val previous: Artifact = (artifact in (Compile, (packageZipTarball in Universal))).value
  previous.withClassifier(Some("assembly")).withExtension("tar.gz")
 },
 addArtifact(artifact in (Compile, (packageZipTarball in Universal)), (packageZipTarball in Universal))

使用此配置,.tgz 文件将作为.tar.gz 发布到 Nexus 或本地存储库。

如何在不影响工件发布的情况下将目标目录中的.tgz重命名为.tar.gz

【问题讨论】:

    标签: sbt sbt-native-packager


    【解决方案1】:

    为了确保我的问题是正确的:

    $ sbt universal:packageZipTarball
    

    生成一个扩展名为 .tgz 的文件。你想要的是一个扩展名为.tar.gz的文件。

    您可以通过覆盖universal:packageZipTarball 并简单地移动结果来实现此目的。我还没有测试过这段代码,但它应该能给你一个粗略的想法

    packageZipTarball in Universal := {
       val targzFile = universal:packageZipTarball
       val renamedFile = targzFile.getParent / targzFile.getName.replaceAll("\\.tgz$", ".tar.gz")
       IO.move(targzFile, renamedFile)
       renamedFile
    }
    

    干杯, 渚

    【讨论】:

      猜你喜欢
      • 2016-12-14
      • 2014-06-02
      • 2015-03-20
      • 2021-04-13
      • 2015-12-22
      • 2015-07-25
      • 2014-01-27
      • 2015-02-16
      • 2016-09-28
      相关资源
      最近更新 更多