繁体   English   中英

如何在Gradle中压缩单个文件?

[英]How to compress a single file in Gradle?

如何在“ 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界面进行文本过滤。 那么,如何做类似压缩的操作(或者,一般而言,任何二进制操作)?

你可以试试:

ant.gzip(src: <source>, zipfile: <target>) 

在您的任务中,赶上docs

另外,也许不要在单个任务中放置太多逻辑,而是定义一组任务(一个将负责此gzip压缩)并将它们与依赖项联系起来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM