int exitValue = processHelper.exitValue;
if(exitValue != 0) {
throw LangCore.createCoreException("dub returned non-zero status: " + exitValue, null);
}
final DubBundleDescription bundleDesc = DubHelper.parseDubDescribe(bundlePath, processHelper);
EclipseUtils.getWorkspace().run(new IWorkspaceRunnable() {
@Override
public void run(IProgressMonitor monitor) throws CoreException {
if(project.exists() == false) {
return;
}
if(bundleDesc.hasErrors()) {
setProjectDubError(project, "Error parsing description:", bundleDesc.getError());
} else {
workspaceModelManager.addProjectInfo(project, bundleDesc);
updateBuildpath(project, bundleDesc);
}
}