diff --git a/java/maven/src/org/netbeans/modules/maven/problems/MavenModelProblemsProvider.java b/java/maven/src/org/netbeans/modules/maven/problems/MavenModelProblemsProvider.java index 333d7a9cdf15..8b6da8d7d23b 100644 --- a/java/maven/src/org/netbeans/modules/maven/problems/MavenModelProblemsProvider.java +++ b/java/maven/src/org/netbeans/modules/maven/problems/MavenModelProblemsProvider.java @@ -74,6 +74,7 @@ import org.openide.util.RequestProcessor; import org.openide.util.lookup.Lookups; import org.netbeans.modules.maven.InternalActionDelegate; +import org.netbeans.modules.maven.problems.SanityBuildAction.SanityBuildNeededChecker; import org.openide.util.Pair; /** @@ -85,9 +86,10 @@ @ProjectServiceProvider(service = { ProjectProblemsProvider.class, InternalActionDelegate.class, + SanityBuildNeededChecker.class, }, projectType = "org-netbeans-modules-maven" ) -public class MavenModelProblemsProvider implements ProjectProblemsProvider, InternalActionDelegate { +public class MavenModelProblemsProvider implements ProjectProblemsProvider, InternalActionDelegate, SanityBuildNeededChecker { static final RequestProcessor RP = new RequestProcessor(MavenModelProblemsProvider.class); private static final Logger LOG = Logger.getLogger(MavenModelProblemsProvider.class.getName()); diff --git a/java/maven/src/org/netbeans/modules/maven/problems/SanityBuildAction.java b/java/maven/src/org/netbeans/modules/maven/problems/SanityBuildAction.java index b05bf2dee293..d964f5f4a218 100644 --- a/java/maven/src/org/netbeans/modules/maven/problems/SanityBuildAction.java +++ b/java/maven/src/org/netbeans/modules/maven/problems/SanityBuildAction.java @@ -40,7 +40,6 @@ import org.netbeans.modules.maven.execute.BeanRunConfig; import org.netbeans.modules.maven.execute.MavenProxySupport; import org.netbeans.modules.maven.execute.MavenProxySupport.ProxyResult; -import org.netbeans.modules.maven.modelcache.MavenProjectCache; import org.netbeans.modules.maven.options.MavenSettings; import static org.netbeans.modules.maven.problems.Bundle.*; import org.netbeans.spi.project.ProjectServiceProvider; @@ -173,7 +172,10 @@ public void run() { if (et != null) { et.waitFinished(); ProjectProblemsProvider.Result r; - if (result.get() == 0) { + if (result.get() == 0 || + // if the build failed, the problem may be in user's sources, rather than in + // missing artifacts. Check if sanity build is still needed: + !nbproject.getLookup().lookup(SanityBuildNeededChecker.class).isSanityBuildNeeded()) { r = ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.RESOLVED, ACT_PrimingComplete()); } else { r = ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.UNRESOLVED, ACT_PrimingFailed()); @@ -238,4 +240,7 @@ public void executionResult(RunConfig config, ExecutionContext res, int resultCo } } + public interface SanityBuildNeededChecker { + public boolean isSanityBuildNeeded(); + } }