Use null instead of CompilerMessageLocation.NO_LOCATION in MessageCollector
This commit is contained in:
+4
-4
@@ -33,10 +33,10 @@ internal open class GradleCompilerServicesFacadeImpl(
|
||||
|
||||
when (reportCategory) {
|
||||
ReportCategory.OUTPUT_MESSAGE -> {
|
||||
compilerMessageCollector.report(CompilerMessageSeverity.OUTPUT, message!!, CompilerMessageLocation.NO_LOCATION)
|
||||
compilerMessageCollector.report(CompilerMessageSeverity.OUTPUT, message!!)
|
||||
}
|
||||
ReportCategory.EXCEPTION -> {
|
||||
compilerMessageCollector.report(CompilerMessageSeverity.EXCEPTION, message!!, CompilerMessageLocation.NO_LOCATION)
|
||||
compilerMessageCollector.report(CompilerMessageSeverity.EXCEPTION, message!!)
|
||||
}
|
||||
ReportCategory.COMPILER_MESSAGE -> {
|
||||
val compilerSeverity = when (ReportSeverity.fromCode(severity)) {
|
||||
@@ -46,7 +46,7 @@ internal open class GradleCompilerServicesFacadeImpl(
|
||||
ReportSeverity.DEBUG -> CompilerMessageSeverity.LOGGING
|
||||
else -> throw IllegalStateException("Unexpected compiler message report severity $severity")
|
||||
}
|
||||
if (message != null && attachment is CompilerMessageLocation) {
|
||||
if (message != null && attachment is CompilerMessageLocation?) {
|
||||
compilerMessageCollector.report(compilerSeverity, message, attachment)
|
||||
}
|
||||
else {
|
||||
@@ -117,4 +117,4 @@ internal class GradleIncrementalCompilerServicesFacadeImpl(
|
||||
registry.add(artifactFile, ArtifactDifference(timestamp, DirtyData()))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -402,8 +402,8 @@ internal class GradleMessageCollector(val logger: Logger) : MessageCollector {
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation) {
|
||||
val text = with(StringBuilder()) {
|
||||
override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) {
|
||||
val text = buildString {
|
||||
append(when (severity) {
|
||||
in CompilerMessageSeverity.VERBOSE -> "v"
|
||||
in CompilerMessageSeverity.ERRORS -> {
|
||||
@@ -416,18 +416,18 @@ internal class GradleMessageCollector(val logger: Logger) : MessageCollector {
|
||||
})
|
||||
append(": ")
|
||||
|
||||
val (path, line, column) = location
|
||||
if (path != null) {
|
||||
append(path)
|
||||
append(": ")
|
||||
if (line > 0 && column > 0) {
|
||||
append("($line, $column): ")
|
||||
if (location != null) {
|
||||
val (path, line, column) = location
|
||||
if (path != null) {
|
||||
append(path)
|
||||
append(": ")
|
||||
if (line > 0 && column > 0) {
|
||||
append("($line, $column): ")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
append(message)
|
||||
|
||||
toString()
|
||||
}
|
||||
when (severity) {
|
||||
in CompilerMessageSeverity.VERBOSE -> logger.debug(text)
|
||||
|
||||
+3
-3
@@ -35,7 +35,7 @@ class TestKotlinPluginRegistrar : ComponentRegistrar {
|
||||
val collector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)!!
|
||||
val option = configuration.get(TestPluginKeys.TestOption)!!
|
||||
|
||||
collector.report(CompilerMessageSeverity.INFO, "Plugin applied", CompilerMessageLocation.NO_LOCATION)
|
||||
collector.report(CompilerMessageSeverity.INFO, "Option value: $option", CompilerMessageLocation.NO_LOCATION)
|
||||
collector.report(CompilerMessageSeverity.INFO, "Plugin applied")
|
||||
collector.report(CompilerMessageSeverity.INFO, "Option value: $option")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+7
-3
@@ -22,6 +22,7 @@ import kotlin.jvm.functions.Function1;
|
||||
import org.apache.maven.plugin.logging.Log;
|
||||
import org.codehaus.plexus.compiler.CompilerMessage;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation;
|
||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity;
|
||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
||||
@@ -56,9 +57,8 @@ public class MavenPluginLogMessageCollector implements MessageCollector {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void report(@NotNull CompilerMessageSeverity severity, @NotNull String message, @NotNull CompilerMessageLocation location) {
|
||||
String path = location.getPath();
|
||||
String position = path == null ? "" : path + ": (" + (location.getLine() + ", " + location.getColumn()) + ") ";
|
||||
public void report(@NotNull CompilerMessageSeverity severity, @NotNull String message, @Nullable CompilerMessageLocation location) {
|
||||
String position = location == null ? "" : location.getPath() + ": (" + (location.getLine() + ", " + location.getColumn()) + ") ";
|
||||
|
||||
String text = position + message;
|
||||
|
||||
@@ -81,6 +81,10 @@ public class MavenPluginLogMessageCollector implements MessageCollector {
|
||||
public CompilerMessage invoke(Pair<CompilerMessageLocation, String> pair) {
|
||||
CompilerMessageLocation location = pair.getFirst();
|
||||
String message = pair.getSecond();
|
||||
if (location == null) {
|
||||
return new CompilerMessage(null, CompilerMessage.Kind.ERROR, 0, 0, 0, 0, message);
|
||||
}
|
||||
|
||||
String lineContent = location.getLineContent();
|
||||
int lineContentLength = lineContent == null ? 0 : lineContent.length();
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ public class KotlinCompilationFailureExceptionTest {
|
||||
@Test
|
||||
public void testNoLocation() throws Exception {
|
||||
MavenPluginLogMessageCollector collector = new MavenPluginLogMessageCollector(new SilentLog());
|
||||
collector.report(CompilerMessageSeverity.ERROR, "Something went wrong", CompilerMessageLocation.NO_LOCATION);
|
||||
collector.report(CompilerMessageSeverity.ERROR, "Something went wrong", null);
|
||||
|
||||
try {
|
||||
collector.throwKotlinCompilerException();
|
||||
|
||||
Reference in New Issue
Block a user