[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] How to build a product without distribute eclipse features in the repository?

Answers embedded.


> Note 2: My -installIU parameter is pointing to my product. The
> output product worked fine and the Help->Software Updates opened
> correctly, but the launcher icon was not updated as expected. In
> addition, I verified that the tab "Installed Softwares" only list
> one item, that is my product id.
> The problem that I'm facing regards to the product update. I re-
> generated the metadata repository after updating one feature and one
> plugin version. I tried to use this NEW repository to update my
> product and I'd got the following error: "cannot find a solution
> where both match[requiredCapability: <featureName>/[1.0.0,1.0.0]]
> and match[requiredCapability: <featureName>/[1.0.1,1.0.1]] can be satisfied".

Since your install is only made of one IU (myproduct.product), when looking for an update, p2 will only look for an update of it. Therefore any update has to be made by creating another version of myproduct.product.
Also if myproduct.product refers to a precise version of your feature, then trying to install another version of the feature will result in this situation.
If you are not trying to install the new version of teh feature on top, then you may have something else precisely referring to the old version of the feature.

> Now I'm facing the following problems:
> 1) How can I generate my repository just with the features that I
> distribute, that is, without org.eclipse.* (features and plugins)?

I'm not sure what you are trying to do if you don't want to have the plug-ins :-)
Are you suggesting that you want to make your product available as an extension for an existing eclipse based application?

> 2) How can I turn available the eclipse features to be updated (see
> Note 2 above)?

Sorry, I don't understand

> 3) Should I install ALL required features using p2 director in the
> same destination, to resolve question 2?

> 4) If I distribute my product installed as described above, how can
> I guarantee that users can update org.eclipse.* (features and
> plugins) when these updates are available? *
> * As far as I understood, this kind of update will be available only
> if I put them into my repository (update site).

The real question is how much of eclipse do you want to expose to your users. Do you expect them to know about eclipse and understand that they have to accept an update for org.eclipse.*, or instead do you expect them to only know about your product and as such only be prompted for update to it.
If you go for a model where the user is unaware of eclipse, then you will need to publish an update to your product, and make sure that there is a reference from one of the repository available to the new version of the eclipse bits you want to use. You may also want to have your product (or a part of it) refer to at the newest version of the eclipse bits you depend on.
If you go for a model where what the user sees in the "installed software" dialog is "RCP" and "MyProduct". Then you have nothing to do. However you have to ask yourself whether you think you can let the user update themselves to this new version of RCP without you having tested it (for example imagine the case where the user happens to have added the ganymede repo).