From d5507734e88e37ef14aad457b7fdd0504f490f41 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Wed, 13 Feb 2019 20:00:54 +0300 Subject: [PATCH] Fix maven plugin after IC build reports were introduced to Gradle --- .../kotlin/maven/K2JVMCompileMojo.java | 2 +- .../maven/incremental/MavenICReporter.java | 139 +++++++----------- 2 files changed, 52 insertions(+), 89 deletions(-) diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java index 2f6ea7d7458..d3964e03e4e 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java @@ -253,7 +253,7 @@ public class K2JVMCompileMojo extends KotlinCompileMojoBase compiledKotlinFiles = new HashSet<>(); - protected boolean isLogEnabled() { - return false; - } + public MavenICReporter(@NotNull final Log log) { + super(null); - protected void log(String str) { - } + LogLevel logLevel; + if (log.isDebugEnabled()) { + logLevel = LogLevel.DEBUG; + } else if (log.isInfoEnabled()) { + logLevel = LogLevel.INFO; + } else { + logLevel = LogLevel.NONE; + } - private MavenICReporter() { + String userLogLevel = System.getProperty(IC_LOG_LEVEL_PROPERTY_NAME); + if (userLogLevel != null) { + for (LogLevel enumEntry : LogLevel.values()) { + if (enumEntry.name().equalsIgnoreCase(userLogLevel)) { + logLevel = enumEntry; + break; + } + } + + log.warn("Unknown incremental compilation log level '" + logLevel + "'," + + "possible values: " + "'none', 'info', 'debug'"); + } + + this.logLevel = logLevel; + this.log = log; } @Override - public void report(Function0 getMessage) { - if (isLogEnabled()) { - log(getMessage.invoke()); + public void report(@NotNull Function0 getMessage) { + switch (logLevel) { + case NONE: + break; + case INFO: + log.info(getMessage.invoke()); + break; + case DEBUG: + log.debug(getMessage.invoke()); + break; } } @Override - public void reportCompileIteration(Collection sourceFiles, ExitCode exitCode) { - compiledKotlinFiles.addAll(sourceFiles); - if (isLogEnabled()) { - log("Kotlin compile iteration: " + pathsAsString(sourceFiles)); - log("Exit code: " + exitCode.toString()); + public void reportVerbose(@NotNull Function0 getMessage) { + if (logLevel == LogLevel.DEBUG) { + log.debug(getMessage.invoke()); } } - @NotNull - @Override - public String pathsAsString(Iterable files) { - return ICReporter.DefaultImpls.pathsAsString(this, files); - } - - @NotNull - @Override - public String pathsAsString(File... files) { - return ICReporter.DefaultImpls.pathsAsString(this, files); - } - @NotNull public Set getCompiledKotlinFiles() { return compiledKotlinFiles; } + + @Override + public void reportCompileIteration(boolean b, @NotNull Collection sourceFiles, @NotNull ExitCode exitCode) { + compiledKotlinFiles.addAll(sourceFiles); + report(() -> "Kotlin compile iteration: " + pathsAsString(sourceFiles)); + report(() -> "Exit code: " + exitCode.toString()); + } }