Community
Participate
Working Groups
Is the code for reading feature info in IDEWorkbenchAdvisor.preStartup() needed during startup? The code triggers parsing of each feature about.* files.
Please consider for M9, to help reduce startup time.
The IDEWorkbenchAdvisor is loading the about info to read the welcome perspective id. I heard a rumour welcome pages were going away, is this IDE code still needed? Also, I think that our AboutInfo should use lazy initialization for each value (the current behaviour is to load all values in the #readFeatureInfo method). I have a patch to make that change, but I don't think it will impact this particular case. In order for the welcomePerspectiveId to be returned to the IDEWorkbenchAdvisor we need to get the product and then iterator through all bundleGroupProviders to find the proper one. Then we need to get the property out of that bundleGroup. I expect this will cause update to read all the .ini files.
Iterating over the bundle groups and checking their id should not load the about.* files. Once you know which bundle group you need info for, then the corresponding files will be loaded. I don't know much about the welcome page going away, it may be the new Intro work that is going on (and will have the same issues :-)
For the old welcome support, the IDE looks for newly installed features, opens any new welcome pages, and switches to any corresponding welcome perspective(s). With the new intro support, we can probably just remove this, but it's a scenario that WSADIE once cared about. Dejan, do you know how they want the new intro support to work when laying down WSADIE on top of an existing WSAD?
WSADIE will have its own intro. We provided support that will allow them to selectively reach into WSAD intro content and reference selected links and other content. Therefore WSADIE has the option of surfacing some WSAD links, pages etc. in their own intro but they don't have to. The idea of the new intro is that it should focus on the most important features of the top-most product, rather than being a mechanical list of 'Welcome to...'. Of course, there is always 'About' dialog with a list of features.
The about dialog doesn't require talking to Update Core. So let's just pull the code from preStartup.
Created attachment 11483 [details] remove feature parsing during #preStartup This patch changes the #preStartup behaviour to avoid parsing features. In RC1 the behaviour was to parse the features on startup to build a list of new welcome perspective ids. However, this list wouldn't be used unless the new intro EP was not extended. This patch changes the startup so that the list is not built in that case either. I've tested this on the base eclipse install (an intro extension exists) and observed in the debugger that the feature parsing does not happen. I also modified the platform plugin.xml file to remove the intro extension an observed the legacy behaviour (features parsed and welcome page opened on first run).
Created attachment 11486 [details] changed line ending Same content, but I've changed from PC to UNIX line ending to see if that fixes the format when viewed in my browser.
Created attachment 11487 [details] another attempt at proper line endings Same content. This time I'm using a .txt extension to try to fix the format.
Created attachment 11488 [details] final attempt at nice line endings (same content) This time I didn't click the "patch" box.
The patch has been reviewed by tod and submitted to HEAD.
I've verified that this fix is in the may 7 integration build.