Eclipse update site


I have to prepare easy installation and ensure a way of publishing upgrades for our new product (a set of Eclipse plug-ins). Fortunately eclipse update site is perfect solution for all eclipse based products. Here is a quick overview.
When you explore published update site you find out that it contains following:

  • directory where are stored features features/
  • directory where are placed plug-ins plugins/
  • update description file site.xml

feature

Feature defines group of eclipse plug-ins (or nested features) like one installable unit. You can specify here other required eclipse plug-ins, informations (description, licence etc), that occur during installation. To create new feature firstly create Feature project (File->New->Project->Plugin Development->Feature project). Wizzard will generate feature.xml - configuration file of feature. Feature is delivered to runtime in same format like plug-in (jar file or feature directory).

update site

Update site is maintained in Update site Project (File->New->Project->Plugin Development->Update site project). All information are stored in site.xml. It is downloaded by client and contains description of referenced features and definitions of categories.

Definition of update site

Once you added feature you can build whole update site (it builds plug-ins referenced in features, builds features, creates suite folder structure and publishes it to given location).

installation/update in eclipse

Now we can easily install our product via eclipse’s Software update (Help->Software Update->Find and Install). After we added our update site location. Eclipse will explore published site.xml.

<?xml version="1.0" encoding="UTF-8"?>
<site>
   <feature
      url="features/com.jetminds.aribastudio.feature_1.0.0.jar"
      id="com.jetminds.aribastudio.feature" version="1.0.0">
      <category name="Jetminds Studio"/>
   </feature>
   <feature
      url="features/com.jetminds.aribastudio.feature_1.0.1.jar"
      id="com.jetminds.aribastudio.feature" version="1.0.1">
      <category name="Jetminds Studio"/>
   </feature>
   <category-def
      name="Jetminds Studio"
      label="Jetminds Studio"/>
</site>
  • in case of installation all already installed features are hidden
  • in case of update all new available versions are shown

Installation

And that’s all today. Next time I will write about automatic updates using cruise control tool.

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts
KoupÄ› ojetiny
A je to…

Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

Reader Comments

Be the first to leave a comment!