Summary: | Regression: cannot install new features without re-starting eclipse | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] Platform | Reporter: | Dorian Birsan <birsan> | ||||||
Component: | Update (deprecated - use Eclipse>Equinox>p2) | Assignee: | Branko Tripkovic <btripkov> | ||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||
Severity: | major | ||||||||
Priority: | P1 | CC: | eclipse, john.arthorne | ||||||
Version: | 3.1 | ||||||||
Target Milestone: | 3.1 RC2 | ||||||||
Hardware: | PC | ||||||||
OS: | Windows XP | ||||||||
Whiteboard: | |||||||||
Attachments: |
|
Description
Dorian Birsan
2005-05-14 21:49:07 EDT
*** Bug 94732 has been marked as a duplicate of this bug. *** This should be looked at in 3.1 Created attachment 22540 [details]
configurator patch
Created attachment 22541 [details]
core patch
this bug is caused by runtime going with relative paths. I have made changes in the update configurator and core to handle this. The patches are posted now. Dorian and Rafaelo could you please look at this two patches. Thanks. +1 Patch looks good. Just a couple of more comments to the new method and the old method would be good so we know the url's are relative. Thanks Branko. Branko, could you describe in more detail what is happening with the current implementation that causes the problem? I have just released Branko's patches. Brako, please add some Javadoc to the code and comments here of what was wrong. The problem was that we are comparing urls of plug-ins in order to see if we need to restart, this is done in the method: org.eclipse.update.internal.core.InstallConfiguration#isRestartNeeded but somewhere between m6 & m7 runtime started returning relative instead of absolute paths( i guess you know of this ;) ) so this line: URL[] newBundlePaths = runtimeConfig.getPluginPath(); was still giving absloute paths, but this line: Bundle[] oldBundles = UpdateCore.getPlugin().getBundleContext().getBundles();, was now giving us relative paths, and of course they would never match which caused us to force restart always. I was hoping you could look at it and check if it might introduce some other regression. We have already tested it, but you handled switch to relative paths so you might see something we don't. Thanks Ok, got it now, thanks. The patch seems fine with me. Just to clarify, Bundle.getLocation() returns whatever string was passed in when installing the bundle. That was changed recently in the Update configurator by request of Platform/Core. Note that since the location has not much meaning, it is not very safe to rely on it for anything (unless you are the one installing bundles). But this is not an issue with the patch, the existing code does that. thanks a lot rafael. I will mark this as fixed now. |