Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jdt.core/model/org')
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.java15
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/Messages.java1
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/messages.properties1
3 files changed, 12 insertions, 5 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.java
index 704ee85a3b..abd540201d 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
+ * Copyright (c) 2000, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -697,11 +697,16 @@ protected void storeProblemsFor(SourceFile sourceFile, CategorizedProblem[] prob
// but at the start of the next problem we should reset it to the source file's resource
IResource resource = sourceFile.resource;
- // handle missing classfile situation
+ // handle buildpath problems (missing classfile, unresolved add-reads...)
+ String buildPathProblemMessage = null;
if (id == IProblem.IsClassPathCorrect) {
- String missingClassfileName = problem.getArguments()[0];
+ buildPathProblemMessage = Messages.bind(Messages.build_incompleteClassPath, problem.getArguments()[0]);
+ } else if (id == IProblem.UndefinedModuleAddReads) {
+ buildPathProblemMessage = Messages.bind(Messages.build_errorOnModuleDirective, problem.getMessage());
+ }
+ if (buildPathProblemMessage != null) {
if (JavaBuilder.DEBUG)
- System.out.println(Messages.bind(Messages.build_incompleteClassPath, missingClassfileName));
+ System.out.println(buildPathProblemMessage);
boolean isInvalidClasspathError = JavaCore.ERROR.equals(this.javaBuilder.javaProject.getOption(JavaCore.CORE_INCOMPLETE_CLASSPATH, true));
// insert extra classpath problem, and make it the only problem for this project (optional)
if (isInvalidClasspathError && JavaCore.ABORT.equals(this.javaBuilder.javaProject.getOption(JavaCore.CORE_JAVA_BUILD_INVALID_CLASSPATH, true))) {
@@ -712,7 +717,7 @@ protected void storeProblemsFor(SourceFile sourceFile, CategorizedProblem[] prob
marker.setAttributes(
new String[] {IMarker.MESSAGE, IMarker.SEVERITY, IJavaModelMarker.CATEGORY_ID, IMarker.SOURCE_ID},
new Object[] {
- Messages.bind(Messages.build_incompleteClassPath, missingClassfileName),
+ buildPathProblemMessage,
Integer.valueOf(isInvalidClasspathError ? IMarker.SEVERITY_ERROR : IMarker.SEVERITY_WARNING),
Integer.valueOf(CategorizedProblem.CAT_BUILDPATH),
JavaBuilder.SOURCE_ID
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/Messages.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/Messages.java
index f1fe4d648a..a75bd65ad2 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/Messages.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/Messages.java
@@ -111,6 +111,7 @@ public final class Messages extends NLS {
public static String build_inconsistentClassFile;
public static String build_inconsistentProject;
public static String build_incompleteClassPath;
+ public static String build_errorOnModuleDirective;
public static String build_missingSourceFile;
public static String build_prereqProjectHasClasspathProblems;
public static String build_prereqProjectMustBeRebuilt;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/messages.properties b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/messages.properties
index 305dbb8237..ec02740544 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/messages.properties
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/messages.properties
@@ -103,6 +103,7 @@ build_duplicateResource = The resource is a duplicate of {0} and was not copied
build_inconsistentClassFile = A class file was not written. The project may be inconsistent, if so try refreshing this project and building it
build_inconsistentProject = The project was not built due to "{0}". Fix the problem, then try refreshing this project and building it since it may be inconsistent
build_incompleteClassPath = The project was not built since its build path is incomplete. Cannot find the class file for {0}. Fix the build path then try building this project
+build_errorOnModuleDirective = The project was not built since its build path has a problem: {0}. Fix the build path then try building this project
build_missingSourceFile = The project was not built since the source file {0} could not be read
build_prereqProjectHasClasspathProblems = The project was not built since it depends on {0}, which has build path errors
build_prereqProjectMustBeRebuilt = The project cannot be built until its prerequisite {0} is built. Cleaning and building all projects is recommended

Back to the top