使用gradle中的不同文件创建zip分发

时间:2016-06-20 13:07:46

标签: java gradle build zip build.gradle

我目前正在从gradle项目中导出zip分发,并尝试在其中添加更多文件但无法将其放置在所需位置

这是我项目的结构

TestProj/source
        /export_dir / A1
                    / B1
                    / C1 / data / results.txt
        /resources/temp.txt
        /build.gradle

我使用gradle Zip任务将 export_dir导出为.zip文件,如下所示

task exportZIP(type: Zip) {
    from 'export_dir'
}

并在TestProj-v1.zip中导出export_dir,但现在我想在export_dir目录中导出temp.txt。所以结果zip文件应如下所示

/export_dir / A1
            / B1
            / C1 / data / results.txt
                        / temp.txt

我已经尝试过以下任务来执行此操作但它正在将zip的根目录中的temp.txt复制到zip中所需位置内。

task exportZIP(type: Zip) {
    from 'export_dir'
    from 'resources/temp.txt'
    into('export_dir/C1/data') {
    }
}

关于如何实现这一目标的任何帮助或建议。

感谢您的期待!

1 个答案:

答案 0 :(得分:1)

我没有在zip中的temp.txt中复制export_dir/C1/data/,而是采用了不同的方法作为修复。

我编写了gradle任务来复制export_dir/C1/data/目录中的TestProj中的temp.txt,这样当我导出export_dir的zip时,它应该已经存在temp.txt正确的地方。

这是我使用的

task copyTempToExpo(type: Copy) {
    from 'resources/temp.txt'
}

然后只导出export_dir

的zip
task exportZIP(type: Zip) {
    from 'export_dir'
}

然后从resources目录中删除temp.txt。

task clearTemp(type: Delete) {
  delete "resources/temp.txt";
}

但我仍然有兴趣知道是否还有其他方式(比如我自问的问题)来完成这项工作。