从Gradle中的.tar.gz存档获取tarball

阿德里安努斯

我有一些.tar.gz-Archives,只想解压缩Tarball来创建-File的sha256-checksum哈希.tar(这样做的原因是归档文件将在以后解压缩并在我们生成补丁文件时重新打包。)

现在,这似乎是一项容易的任务,但我陷入了困境。有以下两种Gradle示例:

  1. 解压后tarTree(使用Gradle Copy-Task和tarTree(resources.gzip('model.tar.gz'))(从文档:使用文件
  2. 解压缩文件(带有zipTree),不适用于压缩文件

两种方法都不起作用,因为我需要创建.tar-File本身的校验和不幸的是我不能使用commandLinegunzip作为工作应在Windows和Linux上运行。

我现在可以想到的唯一解决方案是tar.gz将zip压缩到fileTree并将其重新打包为tar文件,但是我什至不确定校验和是否相同。

真的没有办法直接做到这一点吗?

阿德里安努斯

最终,我得到了同事的帮助。

使用resources.gzip()返回的ReadableResource,我们可以使用IOUtils.copy将结果复制InputStream.tar-file中

file("test.tar").withOutputStream { outputFile ->
    IOUtils.copy(resources.gzip(file("test.tgz")).read(), outputFile)
}

我们还需要添加Apache commons("commons-io:commons-io:2.6")作为依赖项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章