2011-11-08 5 views
0

私はepubブックのワークフローを自動化しようとしていますが、私はepub仕様の愚かな部分に問題があります。最初のファイルの名前は 'mimetype'で、そのzipエントリの内容は圧縮解除されていなければなりません。GradleのZipタスクで圧縮設定を微調整するにはどうすればいいですか?

JavaのZipOutputStreamクラスには、必要なAPIがありますが(ZipOutputStream#setLevel)、Zipタスクでこれを実行する方法はありません。私は運が悪いので、手動でジップストリーミングをしなければなりませんか、または圧縮プロファイルにアクセスするためにネイティブにgradleを使用する方法がありますか?

答えて

1

Gradle(マイルストーン5)ソースを簡単に見て、可能性は低いことがわかりました。

私はorg.gradle.api.internal.file.archive.ZipCopySpecVisitorの63行にあった見つけ、そしてあなたはそれがこれをやって見つけるZipOutputStreamへの参照のみ:

ZipEntry archiveEntry = new ZipEntry(...); 
archiveEntry.setMethod(ZipEntry.DEFLATED); 

ZipEntry.STOREDは、あなたが探しているものはおそらくですが、残念ながらDEFLATEDがあるように思われますハードコードされています。ちなみに、Gradleはzipアーカイブを扱うためにApache commons compressライブラリを使用しているようです。

関連する問題