logInfo("starting IvyDE plugin");
ivyResolveJob = new IvyResolveJob();
retrieveSetupManager = new RetrieveSetupManager();
IWorkspace workspace = ResourcesPlugin.getWorkspace();
workspace.addSaveParticipant(this, retrieveSetupManager);
colorManager = new ColorManager();
Display.getDefault().asyncExec(new Runnable() {
public void run() {
colorManager.refreshFromStore(getPreferenceStore());
}
});
prefStoreHelper = new IvyDEPreferenceStoreHelper(getPreferenceStore());
propertyListener = new IPropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
try {
if (PreferenceConstants.ALL.contains(event.getProperty())) {
prefStoreChanged();
}
} catch (JavaModelException e) {
MessageDialog.openError(IvyPlugin.getDefault().getWorkbench()
.getActiveWorkbenchWindow().getShell(),
"Unable to trigger the update the IvyDE classpath containers", e
.getMessage());
}
}
};
getPreferenceStore().addPropertyChangeListener(propertyListener);
Display.getDefault().asyncExec(new Runnable() {
public void run() {
try {
console = new IvyConsole();
if (prefStoreHelper.isOpenIvyConsoleOnStartup()) {
IvyConsoleFactory.showConsole();
}
} catch (RuntimeException e) {
// Don't let the console bring down the IvyDE UI
logError("Errors occurred starting the Ivy console", e);
}
}
});
// Listen for project open/close events to auto-update inter-project dependencies
workspaceListener = new WorkspaceResourceChangeListener();
workspace.addResourceChangeListener(workspaceListener);
ivyFileListener = new IvyFileResourceListener();
workspace.addResourceChangeListener(ivyFileListener, IResourceChangeEvent.PRE_BUILD);
ivyMarkerManager = new IvyMarkerManager();
File stateLocation = getStateLocation().toFile();
ivyAttachementManager = new IvyAttachementManager(new File(stateLocation,