Add MessageCollector#hasErrors, get rid of MessageSeverityCollector
Also fix duplicated wrapping of a message collector into a message severity collector (in CLICompiler and in the beginning of doExecute in K2JVMCompiler/K2JSCompiler)
This commit is contained in:
+8
-1
@@ -687,11 +687,18 @@ private fun <T: Any> ExtraPropertiesExtension.getOrNull(id: String): T? {
|
||||
}
|
||||
|
||||
class GradleMessageCollector(val logger: Logger, val outputCollector: OutputItemsCollector? = null) : MessageCollector {
|
||||
private var hasErrors = false
|
||||
|
||||
override fun hasErrors() = hasErrors
|
||||
|
||||
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation) {
|
||||
val text = with(StringBuilder()) {
|
||||
append(when (severity) {
|
||||
in CompilerMessageSeverity.VERBOSE -> "v"
|
||||
in CompilerMessageSeverity.ERRORS -> "e"
|
||||
in CompilerMessageSeverity.ERRORS -> {
|
||||
hasErrors = true
|
||||
"e"
|
||||
}
|
||||
CompilerMessageSeverity.INFO -> "i"
|
||||
CompilerMessageSeverity.WARNING -> "w"
|
||||
else -> throw IllegalArgumentException("Unknown CompilerMessageSeverity: $severity")
|
||||
|
||||
+1
-2
@@ -35,7 +35,6 @@ import org.apache.maven.plugins.annotations.ResolutionScope;
|
||||
import org.apache.maven.project.MavenProject;
|
||||
import org.codehaus.plexus.component.repository.ComponentDependency;
|
||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys;
|
||||
import org.jetbrains.kotlin.cli.common.messages.MessageSeverityCollector;
|
||||
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||
@@ -158,7 +157,7 @@ public class ExecuteKotlinScriptMojo extends AbstractMojo {
|
||||
|
||||
CompilerConfiguration configuration = new CompilerConfiguration();
|
||||
|
||||
configuration.put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, new MessageSeverityCollector(messageCollector));
|
||||
configuration.put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector);
|
||||
|
||||
List<File> deps = new ArrayList<File>();
|
||||
|
||||
|
||||
+7
@@ -24,11 +24,17 @@ import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
||||
|
||||
public class MavenPluginLogMessageCollector implements MessageCollector {
|
||||
private final Log log;
|
||||
private boolean hasErrors = false;
|
||||
|
||||
public MavenPluginLogMessageCollector(Log log) {
|
||||
this.log = log;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasErrors() {
|
||||
return hasErrors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void report(@NotNull CompilerMessageSeverity severity, @NotNull String message, @NotNull CompilerMessageLocation location) {
|
||||
String path = location.getPath();
|
||||
@@ -39,6 +45,7 @@ public class MavenPluginLogMessageCollector implements MessageCollector {
|
||||
if (CompilerMessageSeverity.VERBOSE.contains(severity)) {
|
||||
log.debug(text);
|
||||
} else if (CompilerMessageSeverity.ERRORS.contains(severity)) {
|
||||
hasErrors = true;
|
||||
log.error(text);
|
||||
} else if (severity == CompilerMessageSeverity.INFO) {
|
||||
log.info(text);
|
||||
|
||||
Reference in New Issue
Block a user