我需要创建没有根目录的tar.gz包。 现在我有树:enter image description here
结果示例:enter image description here
我使用了 gradle 任务,它使用 cfg 目录创建了 tar.gz 包:
plugins.withType(DistributionPlugin) {
distTar() {
into('cfg') { from 'cfg' }
compression = Compression.GZIP
extension = 'tar.gz'
}
}
最佳答案
如果需要从生成的存档中删除根级目录,可以使用 Tar.eachFile用于更改/改变目标文件路径的API,如下:
distTar {
// Alter file path to remove root level directory
eachFile { file ->
String path = file.relativePath
file.setPath(path.substring(path.indexOf("/")+1, path.length()))
}
}
(我没有从 Tar 任务 API 中找到任何方法或属性来以更好的方式实现此目的)
关于gradle - 如何创建没有根目录的 'tar.gz'包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54286643/