@Override @SuppressWarnings("rawtypes") protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException { try { if (kind == FULL_BUILD || !DCLPersistence.existsDCLFolder(this.getProject())) { fullBuild(monitor); } else { IResourceDelta delta = getDelta(this.getProject()); if (delta == null) { fullBuild(monitor); } else { /* If the architecture has not been initialized yet */ if (!ArchitectureUtils.hasArchitectureInitialized(getProject())) { fullLoad(monitor); } incrementalBuild(delta, monitor); } } MarkerUtils.deleteErrorMarker(this.getProject()); } catch (ParseException e) { this.clean(monitor); final IFile dcFile = this.getProject().getFile(DCLUtil.DC_FILENAME); MarkerUtils.addErrorMarker( dcFile, "Syntax error on token \"" + e.getBody() + "\"", e.getLineNumber()); } catch (Throwable e) { this.clean(monitor); final String logFileName = DCLUtil.logError(this.getProject(), e); MarkerUtils.addErrorMarker( this.getProject(), "The dclcheck conformance tool has crashed. (see " + logFileName + ")"); } return null; }