我使用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
答案 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
}
干杯, 姆基