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

Compare with Current View Page History

Version 1 Next »

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 in two places.

There is the antry point, the URL the end users write in their Eclipse configuration: http://ant.apache.org/ivy/ivyde/updatesite
In that updatesite is only maintained the mirror configuration file, and the files that allows Eclipse to boot the updater:

  • the site.xml
  • digest.zip
  • eclipse-update-xml.cgi and eclipse-update-xml.html

Then there is the updatesite where the artifacts are stored and retrieved: http://www.apache.org/dist/ant/ivyde/updatesite/
Therefore that updatesite is mirrored on the Apache mirrors.

Eclipse behaviour (3.2 and 3.3)

On the first search, Eclipse get the first update site metadata, found the mirror configuration, and suggests some mirror configuration to the end user.
The end user chooses a mirror (or a backup mirror, or even the ant.apache.org updatesite) and then Eclipse reads that update site to list the available features.
The user triggers the install, and Eclipse will download the jars from the previously selected mirrors. Note that as the jars are not deployed on the first updatesite, if the user has selected it, the install will fail.

  • No labels