diff --git a/compiler/ir/serialization.js/build.gradle.kts b/compiler/ir/serialization.js/build.gradle.kts index 74aa41b12a6..eaae5b1582e 100644 --- a/compiler/ir/serialization.js/build.gradle.kts +++ b/compiler/ir/serialization.js/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("jps-compatible") } +// Please make sure this module doesn't depend on `backend.js` (neither directly, nor transitively) dependencies { compile(project(":compiler:ir.psi2ir")) compile(project(":compiler:ir.serialization.common")) @@ -12,7 +13,7 @@ dependencies { testCompile(intellijCoreDep()) { includeJars("intellij-core") } testCompile(project(":compiler:frontend")) - testCompile(project(":compiler:cli-js")) + testCompile(project(":compiler:cli")) testCompile(project(":compiler:util")) testRuntime(project(":kotlin-reflect")) diff --git a/compiler/ir/serialization.js/test/GenerateIrRuntime.kt b/compiler/ir/serialization.js/test/GenerateIrRuntime.kt index 5d387fa008d..8f293616d8f 100644 --- a/compiler/ir/serialization.js/test/GenerateIrRuntime.kt +++ b/compiler/ir/serialization.js/test/GenerateIrRuntime.kt @@ -9,8 +9,9 @@ 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.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.GroupingMessageCollector 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.* @@ -19,6 +20,7 @@ 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 { @@ -121,3 +123,15 @@ fun main(args: Array) { buildKLib(File(outputPath).absolutePath, listOfKtFilesFrom(inputFiles), outputPath, resolvedLibraries, listOfKtFilesFrom(commonSources)) } + +// Copied here from `K2JsIrCompiler` instead of reusing in order to avoid circular dependencies between Gradle tasks +private 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 log(message: String) = collector.report(CompilerMessageSeverity.LOGGING, message) + override fun fatal(message: String): Nothing { + collector.report(CompilerMessageSeverity.ERROR, message) + (collector as? GroupingMessageCollector)?.flush() + kotlin.error(message) + } +} \ No newline at end of file