Gradle 如何创建&x27;tar.gz';没有根目录的包?

Gradle 如何创建&x27;tar.gz';没有根目录的包?,gradle,build.gradle,Gradle,Build.gradle,我需要创建没有根目录的tar.gz包。 现在我有一棵树: 结果示例: 我使用了gradle任务,它创建了带有cfg目录的tar.gz包: plugins.withType(DistributionPlugin) { distTar() { into('cfg') { from 'cfg' } compression = Compression.GZIP extension = 'tar.gz' } } 如果需要从生

我需要创建没有根目录的tar.gz包。 现在我有一棵树:

结果示例:

我使用了gradle任务,它创建了带有cfg目录的tar.gz包:

plugins.withType(DistributionPlugin) {
    distTar() {
        into('cfg') { from 'cfg' }
            compression = Compression.GZIP
            extension = 'tar.gz'
    }
}

如果需要从生成的存档中删除根目录,可以使用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中找到任何方法或属性来更好地实现这一点)