info message for situations when full chunk rebuild is requested by a builder

This commit is contained in:
Eugene Zhuravlev
2018-02-07 17:17:34 +01:00
parent a34db23e8e
commit 93d533e430
@@ -2,7 +2,10 @@
package org.jetbrains.jps.incremental;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.*;
import com.intellij.openapi.util.LowMemoryWatcher;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.UserDataHolder;
import com.intellij.openapi.util.UserDataHolderBase;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.Function;
@@ -1302,7 +1305,20 @@ public class IncProjectBuilder {
}
else if (buildResult == ModuleLevelBuilder.ExitCode.CHUNK_REBUILD_REQUIRED) {
if (!rebuildFromScratchRequested && !JavaBuilderUtil.isForcedRecompilationAllJavaModules(context)) {
LOG.info("Builder " + builder.getPresentableName() + " requested rebuild of module chunk " + chunk.getName());
String infoMessage = "Builder \"" + builder.getPresentableName() + "\" requested rebuild of module chunk \"" + chunk.getName() + "\"";
LOG.info(infoMessage);
BuildMessage.Kind kind = BuildMessage.Kind.JPS_INFO;
final CompileScope scope = context.getScope();
for (ModuleBuildTarget target : chunk.getTargets()) {
if (!scope.isWholeTargetAffected(target)) {
infoMessage += ".\nConsider building whole project or rebuilding the module.";
kind = BuildMessage.Kind.INFO;
break;
}
}
context.processMessage(new CompilerMessage("", kind, infoMessage));
// allow rebuild from scratch only once per chunk
rebuildFromScratchRequested = true;
try {