| 15 |
install anything from the site. A solution is needed to reduce the number of |
install anything from the site. A solution is needed to reduce the number of |
| 16 |
connections simply to browse or search the update site.</p> |
connections simply to browse or search the update site.</p> |
| 17 |
<p>Once the features to install have been selected, Update needs to physically |
<p>Once the features to install have been selected, Update needs to physically |
| 18 |
download plug-in JARs onto user's machine. At this point, payload size seizes to |
download plug-in JARs onto user's machine. At this point, payload size ceases to |
| 19 |
be trivial - a full Callisto download is several hundred megabytes. A technique |
be trivial - a full Callisto download is several hundred megabytes. A technique |
| 20 |
to reduce the payload size would benefit users who are downloading the full |
to reduce the payload size would benefit users who are downloading the full |
| 21 |
Callisto set.</p> |
Callisto set.</p> |
| 71 |
digestLocales</b> attribute listing all the locales for which a digest has just |
digestLocales</b> attribute listing all the locales for which a digest has just |
| 72 |
been generated. If <b>pack200</b> is present, it will cause the utility to call |
been generated. If <b>pack200</b> is present, it will cause the utility to call |
| 73 |
pack200.exe on each plug-in or fragment archive (say, com.example.xyz.jar) and |
pack200.exe on each plug-in or fragment archive (say, com.example.xyz.jar) and |
| 74 |
generate a packed version (com.example.xyz.jar.gz).</p> |
generate a packed version (com.example.xyz.jar.pack.gz).</p> |
| 75 |
<p>It is the responsibility of the utility caller to ensure that it is run |
<p>It is the responsibility of the utility caller to ensure that it is run |
| 76 |
regularly in order to keep the generated content in sync with the source. |
regularly in order to keep the generated content in sync with the source. |
| 77 |
Failure to do so will result in stale content and browsing or installation |
Failure to do so will result in stale content and browsing or installation |
| 78 |
errors.</p> |
errors. Digest generator portion of the utility can be simple and always |
| 79 |
|
generate all the files if it does not take too much time. On the other hand, |
| 80 |
|
pack200 portion must be incremental in order to avoid packing jars that have not |
| 81 |
|
changed.</p> |
| 82 |
<h3>Update site digests</h3> |
<h3>Update site digests</h3> |
| 83 |
<p>The goal of the update site digests is to minimize the number of files that |
<p>The goal of the update site digests is to minimize the number of files that |
| 84 |
need to be downloaded in order to browse or search the update site. Digests are |
need to be downloaded in order to browse or search the update site. Digests are |
| 97 |
for small and simple sites.</p> |
for small and simple sites.</p> |
| 98 |
<h3>Support for Pack200</h3> |
<h3>Support for Pack200</h3> |
| 99 |
<p>If Pack200 is indicated in site.xml, Eclipse Update will first try to |
<p>If Pack200 is indicated in site.xml, Eclipse Update will first try to |
| 100 |
download "com.example.xyz.jar.gz" when downloading "com.example.xyz.jar" |
download "com.example.xyz.jar.pack.gz" when downloading "com.example.xyz.jar" |
| 101 |
archive. If found, it will be downloaded and unpacked at the client machine. The |
archive. If found, it will be downloaded and unpacked at the client machine. The |
| 102 |
rest of the process will be as usual. If the file is not present, "com.example.xyz.jar" |
rest of the process will be as usual. If the file is not present, "com.example.xyz.jar" |
| 103 |
will be downloaded instead. This may actually slow down the installation due to |
will be downloaded instead. This may actually slow down the installation due to |
| 110 |
Manager will check if it can unpack Pack200 archives before downloading them. |
Manager will check if it can unpack Pack200 archives before downloading them. |
| 111 |
For this reason, update sites must have normal versions of the archives in |
For this reason, update sites must have normal versions of the archives in |
| 112 |
addition to the packed versions.</p> |
addition to the packed versions.</p> |
| 113 |
|
<p>The location of the unpack200 executable can be specified to update using a |
| 114 |
|
system property "org.eclipse.update.jarprocessor.pack200". The value can be one |
| 115 |
|
of:</p> |
| 116 |
|
<ul> |
| 117 |
|
<li>"@jre" - find unpack200 in java.home/bin</li> |
| 118 |
|
<li>"@path" - find unpack200 on the search path</li> |
| 119 |
|
<li>"@none" - don't use unpack200, just download the .jar</li> |
| 120 |
|
<li>"path/to/dir" - path to the directory containing the unpack200 |
| 121 |
|
executable</li> |
| 122 |
|
</ul> |
| 123 |
|
<p>If the property is not set, we will look for unpack200.exe first in java.home/bin, |
| 124 |
|
then on the system path. If that fails, unpack will not be used.</p> |