Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

JarProcessor Options

Note the following page refers to options that are introduced to the jar processor with bug 159028. A Jar containing these changes is available on bug 135044. These changes have been released to CVS and are available in the jarprocessor included in org.eclipse.update.core in the 3.3 stream.



When processing a given jar, there 3 places that the jar processor looks for properties to control the processing:

  1. In the Jar's META-INF/eclipse.inf file
  2. If the jar is a nested jar, then in the containing jars' META-INF/eclipse.inf files.
  3. In the top level pack.properties placed in the input zip or directory.


META-INF/eclipse.inf properties

The following properties are currently read from the eclipse.inf file:

Set an exclusion property to true to use it:

  • jarprocessor.exclude : Exclude this jar from all processing
  • jarprocessor.exclude.pack : Exclude this jar pack200
  • jarprocessor.exclude.sign : Exclude this jar from signing
  • jarprocessor.exclude.children : Exclude children of this jar from all processing
  • jarprocessor.exclude.children.pack : Exclude children of this jar from pack200
  • jarprocessor.exclude.children.sign : Exclude children of this jar from signing


Pack200 arguments properties are comma separated lists of arguments:

  • pack200.args: Arguments to pass to pack200 for this jar
  • pack200.default.args: Arguments to use for pack200 on any nested jars if they don't specify their own pack200.args.


The Jar Processor will also write the following properties to the eclipse.inf file:

  • pack200.conditioned: Indicates that this jar has been conditioned with pack200
  • pack200.args: The arguments that were passed to pack200 when conditioning this jar.

Notice that pack200.args is both input and output.

pack.properties

The following properties are understood from the pack.properties file:

  • sign.excludes: A comma separated list of jar names to exclude from signing.
  • pack.excludes: A comma separated list of jar names to exclude from packing.

Both of the above properties over-ride anything in the eclipse.inf files. The full jar name must be specified (eg: org.eclipse.update.core_3.2.0.v20092006-1400.jar, or for zip files entries, the whole zip entry name, such as 'eclipse/plugins/org.eclipse.update.core_3.2.0.v20092006-1400.jar' (See bug bug 191868 comment 10 for more examples)).

Some examples of "how to use" pack.properties have been documented in JarProcessor_Options/Examples. Feel free to add to it, if others have other examples.

  • pack200.default.args: The default arguments to use with pack200. Values specified in the eclipse.inf files will over-ride this.

Other properties

By setting a vm system property "org.eclipse.update.jarprocessor.pack200" you can control which pack200 (or unpack200) command is used by the processing. Possible values are:

  • @jre : ${JAVA_HOME}/bin/pack200
  • @path : Use the first pack200 on the system search path
  • @none : Do not use pack200.
  • <directory> : The directory in which to find a pack200 command.

If this property is not set, the jar processor will look first in ${JAVA_HOME}\bin and then on the system search path.

Back to the top