You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

The Eclipse update site of IvyDE is using Apache mirrors. Here is the description of how it works.

Note: this knowledge has been based on the use of Eclpise 3.2 or Eclipse 3.3. Eclipse 3.4 use a new updater, it compatible, but the behaviour may differ.

What is an update site ?

The update site is a website offering for download Eclipse plugins.
It is basically composed of:

  • a site.xml: describes the available Eclipse features
  • the Eclipse features: jars that are the packaging for end user (points to one or many plugins)
  • the Eclipse plugins: the "executable" binaries

The site is optimized to save bandwidth. An optimized update site also contains:

  • the digest.zip: describe in details what is available, is basically an aggregation of the metadata of the features and plugins. It is referenced in the site.xml
  • the plugins are recompressed (the *.jar.pack.gz). In the site.xml it is described by pack200="true".

Setup of the Apache mirrors:

In the site.xml file, the file describing the mirrors is declared by the mirrorsURL.
The IvyDE Eclipse mirror configuration is there: http://ant.apache.org/ivy/ivyde/updatesite/eclipse-update--xml.cgi
It declares that the plugins are also available on other updasite. Actually, Eclipse consider that the entire updatesite is mirrored. The only files that doesn't need to be mirrored is the mirrors configuration.

Deployment:

The update site is deployed on the Apache dist servers which are automatically mirrored. So the end user url for the updatesite is: http://www.apache.org/dist/ant/ivyde/updatesite

Only one file is hosted on the website. It is the file that declare the Apache mirrors: http://ant.apache.org/ivy/ivyde/updatesite/eclipse-update--xml.cgi

Eclipse behaviour:

  1. Eclipse get the site.xml for the www.apache.org/dist server
  2. Eclipse then get the list of the mirrors via http://ant.apache.org/ivy/ivyde/updatesite/eclipse-update--xml.cgi
  3. Eclipse 3.2 and 3.3 present then a list of mirrors to the end user. Eclipse 3.4 and 3.5 is selecting one without asking
  4. Then every operation will be done on the selected mirror, downloading the digest.zip, the jars, etc...
  • No labels