private void markProject(IProject project, String errorMessage) { try { IMarker errorMarker = project.createMarker(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER); errorMarker.setAttribute(IMarker.MESSAGE, errorMessage); //$NON-NLS-1$ errorMarker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR); } catch (CoreException e) { AJLog.log(AJLog.BUILDER,"build: Problem occured creating the error marker for project " //$NON-NLS-1$ + project.getName() + ": " + e.getStackTrace()); //$NON-NLS-1$ } }
/** * Only want to mark referencing projects once, therefore need to check * whether they've been marked already. Also, if a project has been marked * dont want to build it until its prerequisites have been rebuilt. */ private boolean projectAlreadyMarked(IProject project, String errorMessage) { try { IMarker[] problemMarkers = project.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE); if (problemMarkers.length > 0) { for (int j = 0; j < problemMarkers.length; j++) { IMarker marker = problemMarkers[j]; int markerSeverity = marker.getAttribute(IMarker.SEVERITY, -1); String markerMessage = marker.getAttribute(IMarker.MESSAGE, "no message"); //$NON-NLS-1$ if (markerSeverity == IMarker.SEVERITY_ERROR && markerMessage.equals(errorMessage)) { return true; } } } } catch (CoreException e) { AJLog.log(AJLog.BUILDER,"build: Problem occured finding the markers for project " //$NON-NLS-1$ + project.getName() + ": " + e.getStackTrace()); //$NON-NLS-1$ } return false; }
+ project.getName() + ", or deleting the error marker: " //$NON-NLS-1$ + e.getStackTrace());