| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html> |
| |
| <head> |
| <meta http-equiv="Content-Language" content="en-us"> |
| <link rel="stylesheet" type="text/css" href="style.css"> |
| <title>Pack200Normalize</title> |
| </head> |
| |
| <body> |
| |
| <h2><a name="pack200normalize">Pack200Normalize</a></h2> |
| <h3>Description</h3> |
| |
| <p>In general packing and unpacking a JAR changes its binary |
| representation which breaks any signature that has been used to |
| sign the initial JAR. It is possible to "normalize" a JAR by |
| packing and unpacking it again so that any signature applied to |
| the "normalized" JAR will stay valid during another pack/unpack |
| cycle. |
| See <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/jar/Pack200.Packer.html">Pack200.Packer's |
| javadocs</a> for more details.</p> |
| |
| <p>This task can be used to normalize a JAR in-place or to create a |
| new normalized JAR separate from the original JAR. The later |
| allows you to run <code><jar></code> |
| and <code><pack200normalize></code> in succession and the |
| "normalization" step wouldn't do anything unless the original jar |
| changed.</p> |
| |
| <p>If you want to normalize the JAR in-place, you must set the force |
| attribute to true as any file will always be up-to-date when |
| compared to itself.</p> |
| |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td valign="top"><b>Attribute</b></td> |
| <td valign="top"><b>Description</b></td> |
| <td align="center" valign="top"><b>Required</b></td> |
| </tr> |
| <tr> |
| <td valign="top">srcfile</td> |
| <td valign="top">the file to normalize.</td> |
| <td align="center" valign="top">Yes.</td> |
| </tr> |
| <tr> |
| <td valign="top">destfile</td> |
| <td valign="top">the normalized archive.</td> |
| <td align="center" valign="top">No, defaults to the |
| srcfile.</td> |
| </tr> |
| <tr> |
| <td valign="top">force</td> |
| <td valign="top">Whether to normalize the archive even if the |
| destfile seems up-to-date.</td> |
| <td align="center" valign="top">No, defaults to <em>false</em></td> |
| </tr> |
| </table> |
| |
| <h3>Parameters specified as nested elements</h3> |
| |
| <h4>property</h4> |
| |
| <p>Sets a property for the packer (see the Pack200 javadocs for |
| details).</p> |
| |
| <p>Note this task implicitly sets the segment limit to -1.</p> |
| |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td valign="top"><b>Attribute</b></td> |
| <td valign="top"><b>Description</b></td> |
| <td align="center" valign="top"><b>Required</b></td> |
| </tr> |
| <tr> |
| <td valign="top">key</td> |
| <td valign="top">Name of the property.</td> |
| <td align="center" valign="top">Yes.</td> |
| </tr> |
| <tr> |
| <td valign="top">value</td> |
| <td valign="top">Value of the property.</td> |
| <td align="center" valign="top">Yes.</td> |
| </tr> |
| </table> |
| |
| <h3>Examples</h3> |
| |
| <pre> |
| <cmp:pack200normalize destfile="foo-normalized.jar" |
| xmlns:cmp="antlib:org.apache.ant.compress" |
| srcfile="foo.jar"> |
| <property key="pack.effort" value="9"/> |
| </cmp:pack200normalize> |
| </pre> |
| <p>Normalizes <i>foo.jar</i> where <i>foo-normalized.jar</i> is the |
| normalized archive. As both the normalization step and the actual |
| packing must use the same parameters the normalization prepares |
| for better compression results by using above than normal |
| effort.</p> |
| |
| <pre> |
| <cmp:pack200normalize force="true" |
| xmlns:cmp="antlib:org.apache.ant.compress" |
| srcfile="foo.jar"/> |
| </pre> |
| <p>Normalizes <i>foo.jar</i> in-place.</p> |
| </body> |