in org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/IvyPlugin.java [135:234]
public void start(BundleContext context) throws Exception {
super.start(context);
this.bundleContext = context;
logInfo("starting IvyDE plugin");
if (IvyDEsecurityHelper.credentialsInSecureStorage()) {
IvyDEsecurityHelper.cpyCredentialsFromSecureToIvyStorage();
logInfo("Credentials loaded from secure storage");
} else {
logInfo("No credentials stored in secure storage");
}
Matcher matcher = IVY_VERSION_PATTERN.matcher(Ivy.getIvyVersion());
if (matcher.matches()) {
ivyVersionMajor = Integer.parseInt(matcher.group(1));
ivyVersionMinor = Integer.parseInt(matcher.group(2));
ivyVersionPatch = Integer.parseInt(matcher.group(3));
}
ivyResolveJob = new IvyResolveJob();
retrieveSetupManager = new RetrieveSetupManager();
IWorkspace workspace = ResourcesPlugin.getWorkspace();
workspace.addSaveParticipant(ID, 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();
ivyAttachmentManager = new IvyAttachmentManager(
new File(stateLocation, "attachment.properties"));
File containersStateDir = new File(stateLocation, "cpstates");
if (!containersStateDir.exists()) {
containersStateDir.mkdirs();
}
ivyCpcSerializer = new IvyClasspathContainerSerializer(containersStateDir,
ivyAttachmentManager);
try {
Class.forName("org.apache.ivy.osgi.core.ManifestParser");
osgiAvailable = true;
try {
Class.forName("org.apache.ivy.osgi.core.BundleInfo")
.getDeclaredMethod("getClasspath");
osgiClasspathAvailable = true;
} catch (Exception e) {
osgiClasspathAvailable = false;
}
} catch (Exception e) {
osgiAvailable = false;
osgiClasspathAvailable = false;
}
logInfo("IvyDE plugin started");
}