如何压缩Copy
任务中的单个文件,而不必为手动创建和压缩临时文件而头疼?
例如,当您构建deb
包时,应该使用gzip
压缩一些文件:
task buildDeb(type: Deb, dependsOn: ['jar']) {
// ...
from (file('packaging/deb-package/manpage')) {
into '/usr/share/man/man1'
//rename(/.*/, deploymentName + '.1.gz')
rename(/.*/, deploymentName + '.1')
filteringCharset = 'UTF-8'
filter(ReplaceTokens, tokens: [
'TITLE': appTitle,
// ...
])
// XXX
//compressItWithGzip();
}
// ...
}
内置ant
工具仅支持通过Reader
界面进行文本过滤。那么,如何做压缩(或者一般来说,任何二进制操作)?
答案 0 :(得分:1)
您可以尝试:
ant.gzip(src: <source>, zipfile: <target>)
在你的任务中,抓住docs。
此外,可能不是在单个任务中放入太多逻辑,而是定义一组任务(一个负责此gzipping)并将它们与依赖关系联系起来。