Add minimal statistic report for JPS build
Fix build stat for gradle 8 #KT-56438 Fixed
This commit is contained in:
committed by
Space Team
parent
f3ca465647
commit
e34dd043da
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user