Hi Eirik,

I think this proposal has merit.

Outside of info-zip, are you aware of any other zip tool that does something 
similar?  7zip, WinZip and compress do not appear to offer similar 
functionality.

On Dec 16, 2024, at 6:38 AM, Eirik Bjørsnøs <eir...@gmail.com> wrote:

Hi,

I would like to socialize the idea of adding a new option to the jar tool to 
disable ZIP compression for selected file extensions.

The jar tool currently supports disabling ZIP compression altogether for an 
archive using the -0 --no-compress options.

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.

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:

jar --create --file archive.jar --no-compress-ext=.jpg:.png:.gz -C dir .

This would work similarly to the zip -n option, see zip --help:

-n   don't compress these suffixes

In context, the jar --help command could look something like this:

  -0, --no-compress          Store only; use no ZIP compression
      --no-compress-ext=EXT  Disable compression for selected file extensions,
                             e.g. "--no-compress-ext=.zip:.jar:.jpg:.png"

I specifically do not suggest that we should define any kind of default for 
this option. This should be entirely up to the user.

Feedback on this proposal is welcome. (I have a draft implementation around, 
but let's focus on the merits of the proposal before we dive into any code)

Eirik.

[oracle_sig_logo.gif]






Lance Andersen | Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
lance.ander...@oracle.com



Reply via email to