Use MessageCollector.NONE as a dummy logger collector for js library resolver

This commit is contained in:
Alexander Gorshenev
2019-10-07 17:19:36 +03:00
committed by alexander-gorshenev
parent 71eb413350
commit c2c88a9ee6
4 changed files with 11 additions and 13 deletions
@@ -142,7 +142,10 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
// TODO: Handle non-empty main call arguments
val mainCallArguments = if (K2JsArgumentConstants.NO_CALL == arguments.main) null else emptyList<String>()
val resolvedLibraries = jsResolveLibraries(libraries, messageCollectorLogger(configuration))
val resolvedLibraries = jsResolveLibraries(
libraries,
messageCollectorLogger(configuration[CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY] ?: error("Could not find message collector"))
)
val friendAbsolutePaths = friendLibraries.map { File(it).absolutePath }
val friendDependencies = resolvedLibraries.getFullList().filter {
@@ -337,8 +340,7 @@ class K2JsIrCompiler : CLICompiler<K2JSCompilerArguments>() {
}
}
fun messageCollectorLogger(configuration: CompilerConfiguration) = object : Logger {
val collector = configuration[CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY]!!
fun messageCollectorLogger(collector: MessageCollector) = object : Logger {
override fun warning(message: String)= collector.report(STRONG_WARNING, message)
override fun error(message: String) = collector.report(ERROR, message)
override fun log(message: String) = collector.report(LOGGING, message)
@@ -12,7 +12,7 @@ dependencies {
testCompile(intellijCoreDep()) { includeJars("intellij-core") }
testCompile(project(":compiler:frontend"))
testCompile(project(":compiler:cli"))
testCompile(project(":compiler:cli-js"))
testCompile(project(":compiler:util"))
testRuntime(project(":kotlin-reflect"))
@@ -9,6 +9,8 @@ import com.intellij.openapi.Disposable
import com.intellij.openapi.vfs.StandardFileSystems
import com.intellij.openapi.vfs.VirtualFileManager
import com.intellij.psi.PsiManager
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.cli.js.messageCollectorLogger
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.config.*
@@ -17,7 +19,6 @@ import org.jetbrains.kotlin.library.resolver.KotlinLibraryResolveResult
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.multiplatform.isCommonSource
import org.jetbrains.kotlin.serialization.js.ModuleKind
import org.jetbrains.kotlin.util.Logger
import java.io.File
fun buildConfiguration(environment: KotlinCoreEnvironment, moduleName: String): CompilerConfiguration {
@@ -115,13 +116,7 @@ fun main(args: Array<String>) {
}
val resolvedLibraries = jsResolveLibraries(
dependencies,
object : Logger {
override fun log(message: String) = println(message)
override fun error(message: String) = kotlin.error(message)
override fun warning(message: String) = println(message)
override fun fatal(message: String) = kotlin.error(message)
}
dependencies, messageCollectorLogger(MessageCollector.NONE)
)
buildKLib(File(outputPath).absolutePath, listOfKtFilesFrom(inputFiles), outputPath, resolvedLibraries, listOfKtFilesFrom(commonSources))
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.js.test
import org.jetbrains.kotlin.backend.common.phaser.PhaseConfig
import org.jetbrains.kotlin.backend.common.phaser.toPhaseMap
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.cli.js.messageCollectorLogger
import org.jetbrains.kotlin.ir.backend.js.compile
import org.jetbrains.kotlin.ir.backend.js.generateKLib
@@ -85,7 +86,7 @@ abstract class BasicIrBoxTest(
compilationCache[it] ?: error("Can't find compiled module for dependency $it")
}).map { File(it).absolutePath }
val resolvedLibraries = jsResolveLibraries(allKlibPaths, messageCollectorLogger(config.configuration))
val resolvedLibraries = jsResolveLibraries(allKlibPaths, messageCollectorLogger(MessageCollector.NONE))
val actualOutputFile = outputFile.absolutePath.let {
if (!isMainModule) it.replace("_v5.js", "/") else it