簡體   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