Add minimal statistic report for JPS build

Fix build stat for gradle 8

#KT-56438 Fixed
This commit is contained in:
nataliya.valtman
2023-02-20 12:17:46 +01:00
committed by Space Team
parent f3ca465647
commit e34dd043da
59 changed files with 1176 additions and 789 deletions
@@ -87,7 +87,7 @@ fun <PathProvider : Any> getLibraryFromHome(
fun MessageCollector.toLogger(): Logger =
object : Logger {
override fun error(message: String) {
override fun error(message: String, throwable: Throwable?) {
report(CompilerMessageSeverity.ERROR, message)
}
@@ -103,5 +103,9 @@ fun MessageCollector.toLogger(): Logger =
override fun log(message: String) {
report(CompilerMessageSeverity.LOGGING, message)
}
override fun lifecycle(message: String) {
report(CompilerMessageSeverity.INFO, message)
}
}
@@ -18,6 +18,7 @@ dependencies {
api(project(":compiler:backend.jvm.entrypoint"))
api(project(":kotlin-build-common"))
api(project(":daemon-common"))
api(project(":kotlin-build-statistic"))
compileOnly(intellijCore())
testApi(commonDependency("junit:junit"))
@@ -28,6 +29,7 @@ dependencies {
testApi(intellijCore())
testApi(commonDependency("org.jetbrains.intellij.deps:log4j"))
testApi(commonDependency("org.jetbrains.intellij.deps:jdom"))
testApi(projectTests(":kotlin-build-statistic"))
testImplementation(commonDependency("com.google.code.gson:gson"))
testRuntimeOnly(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false }
@@ -106,8 +106,9 @@ val CompilerConfiguration.resolverLogger: Logger
null -> DummyLogger
else -> object : Logger {
override fun log(message: String) = messageLogger.report(IrMessageLogger.Severity.INFO, message, null)
override fun error(message: String) = messageLogger.report(IrMessageLogger.Severity.ERROR, message, null)
override fun error(message: String, throwable: Throwable?) = messageLogger.report(IrMessageLogger.Severity.ERROR, message, null)
override fun warning(message: String) = messageLogger.report(IrMessageLogger.Severity.WARNING, message, null)
override fun lifecycle(message: String) = messageLogger.report(IrMessageLogger.Severity.INFO, message, null)
override fun fatal(message: String): Nothing {
messageLogger.report(IrMessageLogger.Severity.ERROR, message, null)
@@ -175,8 +175,9 @@ object GenerationUtils {
fun messageCollectorLogger(collector: MessageCollector) = object : Logger {
override fun warning(message: String) = collector.report(CompilerMessageSeverity.STRONG_WARNING, message)
override fun error(message: String) = collector.report(CompilerMessageSeverity.ERROR, message)
override fun error(message: String, throwable: Throwable?) = collector.report(CompilerMessageSeverity.ERROR, message)
override fun log(message: String) = collector.report(CompilerMessageSeverity.LOGGING, message)
override fun lifecycle(message: String) = collector.report(CompilerMessageSeverity.INFO, message)
override fun fatal(message: String): Nothing {
collector.report(CompilerMessageSeverity.ERROR, message)
(collector as? GroupingMessageCollector)?.flush()
@@ -4,9 +4,10 @@ import kotlin.system.exitProcess
interface Logger {
fun log(message: String)
fun error(message: String)
fun error(message: String, throwable: Throwable? = null)
fun warning(message: String)
fun fatal(message: String): Nothing
fun lifecycle(message: String)
}
interface WithLogger {
@@ -15,10 +16,18 @@ interface WithLogger {
object DummyLogger : Logger {
override fun log(message: String) = println(message)
override fun error(message: String) = println("e: $message")
override fun error(message: String, throwable: Throwable?) {
println("e: $message")
throwable?.also {
println("${it.message}:\n${it.stackTraceToString()} ")
}
}
override fun warning(message: String) = println("w: $message")
override fun fatal(message: String): Nothing {
println("e: $message")
exitProcess(1)
}
override fun lifecycle(message: String) = println("i: $message")
}
@@ -16,9 +16,10 @@ fun resolveSingleFileKlib(
libraryFile: File,
logger: Logger = object : Logger {
override fun log(message: String) {}
override fun error(message: String) = kotlin.error("e: $message")
override fun error(message: String, throwable: Throwable?) = kotlin.error("e: $message")
override fun warning(message: String) {}
override fun fatal(message: String) = kotlin.error("e: $message")
override fun lifecycle(message: String) {}
},
strategy: SingleFileKlibResolveStrategy = CompilerSingleFileKlibResolveStrategy
): KotlinLibrary = strategy.resolve(libraryFile, logger)