diff --git a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/AbstractFullPipelineModularizedTest.kt b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/AbstractFullPipelineModularizedTest.kt index a2fe6fc84f5..09c36a0a01c 100644 --- a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/AbstractFullPipelineModularizedTest.kt +++ b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/AbstractFullPipelineModularizedTest.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.fir +import org.jetbrains.kotlin.build.JvmSourceRoot import org.jetbrains.kotlin.cli.common.* import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity @@ -14,6 +15,7 @@ import org.jetbrains.kotlin.cli.common.messages.MessageRenderer import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler import org.jetbrains.kotlin.config.Services import org.jetbrains.kotlin.fir.scopes.ProcessorAction +import org.jetbrains.kotlin.modules.KotlinModuleXmlBuilder import org.jetbrains.kotlin.util.PerformanceCounter import java.io.FileOutputStream import java.io.PrintStream @@ -124,14 +126,27 @@ abstract class AbstractFullPipelineModularizedTest : AbstractModularizedTest() { } private fun configureBaseArguments(args: K2JVMCompilerArguments, moduleData: ModuleData, tmp: Path) { + val builder = KotlinModuleXmlBuilder() + builder.addModule( + moduleData.name, + tmp.toAbsolutePath().toFile().toString(), + sourceFiles = moduleData.sources, + javaSourceRoots = moduleData.javaSourceRoots.map { JvmSourceRoot(it.path, it.packagePrefix) }, + classpathRoots = moduleData.classpath, + commonSourceFiles = emptyList(), + modularJdkRoot = moduleData.modularJdkRoot, + "java-production", + isTests = false, + emptySet(), + friendDirs = moduleData.friendDirs + ) + val modulesFile = tmp.toFile().resolve("modules.xml") + modulesFile.writeText(builder.asText().toString()) + args.reportPerf = true args.jvmTarget = "1.8" - args.classpath = moduleData.classpath.joinToString(separator = ":") { it.absolutePath } - args.javaSourceRoots = moduleData.javaSourceRoots.map { it.path.absolutePath }.toTypedArray() args.allowKotlinPackage = true - args.freeArgs = moduleData.sources.map { it.absolutePath } - args.destination = tmp.toAbsolutePath().toFile().toString() - args.friendPaths = moduleData.friendDirs.map { it.canonicalPath }.toTypedArray() + args.buildFile = modulesFile.absolutePath } abstract fun configureArguments(args: K2JVMCompilerArguments, moduleData: ModuleData)