<!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>