Gradle:如何从其他zip/tar任务中压缩/tar输出?

Gradle:如何从其他zip/tar任务中压缩/tar输出?,gradle,Gradle,我有一个项目,它有一个名为shadowDistTar的任务,由提供。此任务的输出是一个tar文件 我希望创建另一个Tar任务,将输出Tar文件包含到一个新的Tar文件中,其中包含第一个Tar文件和一些新文件。但是,我无法将tar文件包含在新的归档文件中 task("myNewTarTask", type: Tar) { // configure the Tar task here... project.afterEvaluate { // we put thi

我有一个项目,它有一个名为
shadowDistTar
的任务,由提供。此任务的输出是一个tar文件

我希望创建另一个Tar任务,将输出Tar文件包含到一个新的Tar文件中,其中包含第一个Tar文件和一些新文件。但是,我无法将tar文件包含在新的归档文件中

task("myNewTarTask", type: Tar) {
    // configure the Tar task here...

    project.afterEvaluate {

        // we put things in afterEvaluate so the outputs of shadowDistTar are known
        dependsOn shadowDistTar

        shadowDistTar.getOutputs().getFiles().each {
            include it.toString()
        }
    }
}
我认为这里的问题是,
include
应该采用ANT风格的include规范,它应该是相对于Tar任务的源目录的,而不是绝对路径,这是我通过
getOutputs()
得到的。如何将输出作为ANT样式的include获取,或者将由
shadowDistTar
创建的tar文件包含到第二个tar中,而无需将路径硬编码到include中?

请参阅。例如:

task("myNewTarTask", type: Tar) {
   dependsOn shadowDistTar
   from tarTree(shadowDistTar.archiveFile)
   from 'path/to/extra/files'    
}