The best way to create an update site for an RCP application

I have an RCP application consisting of:

Main plugin Plugin "framework" Product definition file


The product definition file lives in the main plug-in (is this a bad idea?).

The product definition is based on β€œplugins” and is dependent on all plug-ins in the workspace.

Now I want the RCP application user to be able to update the application. This includes new / changed HTML help files, new plugins, modified code in existing plugins, etc.

What do I need for this?

What is the best way to set up my workspace / project hierarchy?

+7
java eclipse-rcp p2
source share
2 answers

The first thing you need to do is make sure that your RCP product is based on features , not plugins. On the Product Overview tab, select Feature-Based Product Configuration. I think it is impossible to make an updated product without functions, but I could be wrong, the eclipse is changing so quickly. In any case, before you do this, you must, of course, define your functions and assign plugins for these functions. What is being updated are functions that drag and drop their associated plug-ins when an automatic update occurs. Make sure that you have saved your functions correctly so that the update manager detects changes in the update. After you have figured out everything, you create an update site, you can do this in Eclipse by creating a new "Site Update Project" . Then you add your functions to it. When you create this project, it will create the actual structure of the update site based on the features (and, of course, plugins) that you specified. Take this whole structure and deploy it to some remote site. I keep it on my website, but it can be anywhere. And yes, when defining a function, be sure to include the URL of the update site where the application update manager will look for updates to installed functions. All of the above is true for eclipse 3.3, it may be more optimized in newer versions, but I believe that the main idea will not change.

Maybe there is an easier way to do this, but so I do it .. let me know if you find a better way :)

+5
source share

I used the following resources to help me with this problem:

Good luck.

+1
source share

All Articles