使用sbt-native-packager时将tgz重命名为tar.gz

时间:2018-07-20 02:45:51

标签: sbt sbt-native-packager

我使用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

1 个答案:

答案 0 :(得分: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
}

干杯, 姆基