Search code examples
eclipseeclipse-plugineclipse-rcpp2tycho

How do I build an Eclipse RCP app so that its features can be updated automatically?


I am building an RCP application that will be made up of several Features.

My RCP application is configured to check for updates each time it starts. My current problem is that I need one of my Features to be 'Installed' at build time so that it will get updated during this automatic check for updates without forcing the user to manually install it. I need this feature to update independently from the other features in the system.

So, to recap, I'm just looking for a nice automated way to have a Feature installed in an RCP app in such a way that it updates independently from other features, and doesn't require the user of the RCP app to install it manually.


Solution

  • In the meanwhile, Tycho has explicit support for this use case. Starting with Tycho 0.20.0, you can make Tycho install features of an RCP separately from the product. In this way, these features can be updated (or even be uninstalled) independently of the product.

    To install features independently, just add an attribute installMode="root" to the respective feature tags in the product file. Example:

    <features>
       <feature id="org.eclipse.platform"/>
       <feature id="updatable.feature" installMode="root"/>
    </features>
    

    For more information, see this documentation page.