Community
Participate
Working Groups
The startup extension should support auto discovery of servers and should be invoked when the builds integration is used for the first time, i.e. the builds view is made visible. This avoids have more than one startup extension and ensures lazy loading of plug-ins. IContextUiStartup implements a similar mechanism for the context framework.
Created attachment 180036 [details] Patch to implement startup extension The patch resolves this issue as specified in the initial description. The loading of startup extensions will be performed during the Builds UI plug-in startup.
Created attachment 180037 [details] mylyn/context/zip
Great stuff! I have applied the patch with minor modifications: * BuildsUiStartup is now an abstract class to allow for future extensibility. * The call to BuildsUiStartup.lazyStartup() is wrapped in a SafeRunnable to guard for problems in extensions * The startup extensions are invoked in BuildsUiPlugin.initializeRefresh() which triggered when the builds view is made visible. Activating other bundles when a bundle activator is initialized or start() is invoked can unfortunately lead to class loader dead locks and is best avoided as we have had to learn in the past.