[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] Problem updating singleton plugins with p2

Hello,
 
We are building an Eclipse RCP based application. It consists of several features. Our team is developing one of them. Let’s call this feature ‘update’. It consists of three bundles: ‘util’, ‘ws’ and ‘ui’.

My current task is to trigger an update with p2 of this ‘update’ feature. For that purpose I have a repository with the new version of my feature and its plugins uploaded on a web server.
 
Within one of the above bundles ( the ‘ui’ bundle to be precise) I have the following code snippet:
 
 
import org.eclipse.equinox.internal.p2.director.app.DirectorApplication;
        URL guiRepositoryLocation = getGuiRepository();
        DirectorApplication director = new DirectorApplication();
        director.run(new String[] { "-repository", guiRepositoryLocation.toString(), "-installIU",
                "update.feature.group", "-uninstallIU", "update.feature.group", "-destination", ".", "-profile",
                "profile" });
 
 
The director application loads the profile and the repository, finds the features in both locations, but at the end fails with the following error:
 
Installing update.feature.group 1.50.0.201107141712-49L-7B5885Q8H8Q8B.
Uninstalling update.feature.group 1.0.12.201107012042-4-7Z7B5885Q58B5HB.
Installation failed.
Cannot complete the install because of a conflicting dependency.
Software being installed: Feature 1.50.0.201107141712-49L-7B5885Q8H8Q8B (update.feature.group 1.50.0.201107141712-49L-7B5885Q8H8Q8B)
Software currently installed: Product 1.0.12.201107012042 (product 1.0.12.201107012042)
Only one of the following can be installed at once:
  Product - Update Web Service Client 1.0.12.201107012042 (ws 1.0.12.201107012042)
  Product - Update Web Service Client 1.50.0.201107141712 (ws 1.50.0.201107141712)
Cannot satisfy dependency:
  From: Feature 1.0.12.201107012042-4-7Z7B5885Q58B5HB (update.feature.group 1.0.12.201107012042-4-7Z7B5885Q58B5HB)
  To: ws [1.0.12.201107012042]
Cannot satisfy dependency:
  From: Feature 1.50.0.201107141712-49L-7B5885Q8H8Q8B (update.feature.group 1.50.0.201107141712-49L-7B5885Q
8H8Q8B)
  To: ws [1.50.0.201107141712]
Cannot satisfy dependency:
  From: Product 1.0.12.201107012042 (product 1.0.12.201107012042)
  To: update.feature.group [1.0.12.201107012042-4-7Z7B5885Q58B5HB]
 
Indeed the ‘ws’ plugin is singleton (actually all three plugins are). I can easily change it not to be singleton, but I’m afraid I cannot do it with the ‘ui’ plugin. As its name implies, it contains the UI controls of our feature. They are described in plugin.xml. So when I tried to change the ‘ui’ plugin to be non-singleton, my IDE complained that it was not possible.
 
Anyway, I would expect that p2 handles both singleton and non-singleton plugins.
 
Could you please advise me how to trigger the update?
 
Thanks,
Ivan