Move pack200 compression option from <info> to pack file level and make it configurable

Description

At the moment we support a global <pack200/> tag in the info section, which, if defined, activates Pack200 compression for all Pack files ending on .jar. To apply Pack200 for Java jar files only is formally correct, but there are the following inconveniences:

  • Pack200 compression cannot be enabled for file name suffixes not ending on .jar (.zip, .war, .ear etc.)

  • The Pack200 compression is implicitely set "aggressive" by the IzPack compiler, which actually reduces the resulting siize to the minimum, but strips a lot of information from the Java bytecode, like line numbers, associated source files and a lot more, which will it make hard to analyze stack traces resulting from it later.

This issue tries to sort them out by:

  • Move the <pack200> tag to the pack file level, making it possible to be activated for any file - the user controls which one.

  • Make <pack200> customizable by adding attributes for the most important packer options.

Environment

None
Fixed

Assignee

René Krell

Reporter

René Krell

Impact

Functional - may break existing environments

Components

Sprint

None

Fix versions

Affects versions

Priority

High
Configure