<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
On 16/12/2024 11:38, Eirik Bjørsnøs wrote:<br>
<blockquote type="cite" cite="mid:CA+pBWhtFs5biBxccBwffZRE0rqkFXeJf60U6d26VzT2OqcPhvg@mail.gmail.com">
<div dir="ltr">Hi,<br>
<div><br>
</div>
<div>I would like to socialize the idea of adding a new option
to the jar tool to disable ZIP compression for selected file
extensions.</div>
<div><br>
</div>
<div>The jar tool currently supports disabling ZIP compression
altogether for an archive using the -0 --no-compress options.</div>
<div><br>
</div>
<div>However, different file types have different compression
characteristics. Already compressed files such as JPEG, PNG
have little to gain by deflate compression, and the
compression and decompression of such files is mostly a waste
of effort. The same is true for archive formats such as ZIP,
JAR, GZ etc.</div>
<div><br>
</div>
<div>I propose that we add a new option, tentatively named
"--no-compress-ext", which would take a colon-separated list
of file extensions to disable ZIP compression for:</div>
<div><br>
</div>
<div><font face="monospace">jar --create --file archive.jar
--no-compress-ext=.jpg:.png:.gz -C dir .</font></div>
<div><br>
</div>
<div>This would work similarly to the zip -n option, see zip
--help:</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace">-n don't compress these suffixes</font></blockquote>
<div><br>
</div>
<div>In context, the jar --help command could look something
like this:</div>
<div><br>
</div>
<div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face="monospace"> -0, --no-compress Store only;
use no ZIP compression<br>
--no-compress-ext=EXT Disable compression for
selected file extensions,<br>
e.g.
"--no-compress-ext=.zip:.jar:.jpg:.png"</font></blockquote>
</div>
<div><br>
</div>
<div>I specifically do not suggest that we should define any
kind of default for this option. This should be entirely up to
the user.</div>
<br>
</div>
</blockquote>
It would be useful to have some data on inflating for store-only vs.
compression for these resources to get some sense on what the
benefit would be.<br>
<br>
For your prototype then you could try extending the existing
--no-compress with an optional value. That would make it store only
or store only for entries with specific suffixes.<br>
<br>
-Alan<br>
</body>
</html>