Bug 167893 [Workbench] [RCP]Create an org.eclipse.ui.ide.application plug-in
M4 We have many situations where people want to use our resource based APIs but cannot due to a required dependency on the IDE application. Likewise we have code in the IDE that would like to use other plug-in but cannot due to a circular dependency (specifically the Common Navigator requires the resource parts of the IDE so we can't use it in the IDE without the circular dependency). Looking at the code in IDE the vast majority of it could be moved to a resources based plug-in with only a small amount left in IDE to support the IDE application and the Resource Perspective. This would allow 1) RCP apps to use our views like the Problems View with thier own application. Right now many are forced to subclass our (internal) application class to get this to work. 2) The resource navigator to rely only on the new org,eclipse.ui.workbench.resources plug-in thereby allowing the IDE to refer to it.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java
return EXIT_RELAUNCH.equals(Integer.getInteger(PROP_EXIT_CODE)) ? EXIT_RELAUNCH
                    : EXIT_RESTART;
        } finally {
            if (display != null) {
				display.dispose();
			}
        }
    }
    /**
     * Creates the display used by the application.
     * 
     * @return the display used by the application
     */
    protected Display createDisplay() {
        return PlatformUI.createDisplay();
    }
    /* (non-Javadoc)
     * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
     */
    public void setInitializationData(IConfigurationElement config,
            String propertyName, Object data) {
        
    }
    /**
     * Return true if a valid workspace path has been set and false otherwise.
     * Prompt for and set the path if possible and required.
     * 
     * @return true if a valid instance location has been set and false
     *         otherwise