Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Vogel2021-02-08 10:44:03 +0000
committerLars Vogel2021-02-08 11:17:54 +0000
commit231e44f010b13f7919b06c4f9e063abd699c44a2 (patch)
tree4a139c445614b74d87c5d157301c0600067f2314
parent77dbd9dac200ce426c5da4aea960129a04353bea (diff)
downloadeclipse.jdt.core-231e44f010b13f7919b06c4f9e063abd699c44a2.tar.gz
eclipse.jdt.core-231e44f010b13f7919b06c4f9e063abd699c44a2.tar.xz
eclipse.jdt.core-231e44f010b13f7919b06c4f9e063abd699c44a2.zip
Bug 571017 - Use atomic marker creation API inI20210208-1800
JavaBuilder#isWorthBuilding The new marker API from Bug 570914 allows to create markers with attributes and therefore avoids sending out resource change events for every attribute change. Includes an update of the required resource API version. Change-Id: I6dfbbfbb3ed1fe6fe499549c5da9a4eb6e36679b Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
-rw-r--r--org.eclipse.jdt.core/META-INF/MANIFEST.MF2
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java17
2 files changed, 8 insertions, 11 deletions
diff --git a/org.eclipse.jdt.core/META-INF/MANIFEST.MF b/org.eclipse.jdt.core/META-INF/MANIFEST.MF
index 8283b9880e..ac09f3683f 100644
--- a/org.eclipse.jdt.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.core/META-INF/MANIFEST.MF
@@ -66,7 +66,7 @@ Export-Package: org.eclipse.jdt.core,
org.eclipse.jdt.internal.formatter;x-internal:=true,
org.eclipse.jdt.internal.formatter.linewrap;x-internal:=true,
org.eclipse.jdt.internal.formatter.old;x-internal:=true
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
+Require-Bundle: org.eclipse.core.resources;bundle-version="[3.14.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
org.eclipse.core.filesystem;bundle-version="[1.7.0,2.0.0)",
org.eclipse.text;bundle-version="[3.6.0,4.0.0)",
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
index 84fbc599f7..701acb199d 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
@@ -713,16 +713,13 @@ private boolean isWorthBuilding() throws CoreException {
removeProblemsAndTasksFor(this.currentProject); // remove all compilation problems
- IMarker marker = this.currentProject.createMarker(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER);
- marker.setAttributes(
- new String[] {IMarker.MESSAGE, IMarker.SEVERITY, IJavaModelMarker.CATEGORY_ID, IMarker.SOURCE_ID},
- new Object[] {
- Messages.build_abortDueToClasspathProblems,
- Integer.valueOf(IMarker.SEVERITY_ERROR),
- Integer.valueOf(CategorizedProblem.CAT_BUILDPATH),
- JavaBuilder.SOURCE_ID
- }
- );
+ Map<String, Object> attributes = new HashMap<>();
+ attributes.put(IMarker.MESSAGE, Messages.build_abortDueToClasspathProblems);
+ attributes.put(IMarker.SEVERITY, Integer.valueOf(IMarker.SEVERITY_ERROR));
+ attributes.put(IJavaModelMarker.CATEGORY_ID, Integer.valueOf(CategorizedProblem.CAT_BUILDPATH));
+ attributes.put(IMarker.SOURCE_ID, JavaBuilder.SOURCE_ID);
+
+ this.currentProject.createMarker(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, attributes);
return false;
}

Back to the top