[Tests] Add kotlin-stdlib dependency in KLIB metadata compile utility

It's necessary, for instance, to compile custom contracts in common

KTIJ-28668
KTIJ-26788
This commit is contained in:
Pavel Kirpichenkov
2024-02-21 19:56:58 +02:00
committed by Space Team
parent 3e5065fbba
commit 9373437cad
3 changed files with 6 additions and 9 deletions
@@ -1,7 +1,3 @@
// Issue: KTIJ-26788 (need stdlib for lazy)
// KNM_K2_IGNORE
// KNM_FE10_IGNORE
@a public class Annotations private @a constructor(private @property:a @param:a val c1: Int, @property:a @param:a val c2: Int) {
@a() val hasValueArguments = 42
@@ -1,7 +1,3 @@
// Issue: KTIJ-26788 (need stdlib for Continuation)
// KNM_K2_IGNORE
// KNM_FE10_IGNORE
package test
import kotlin.coroutines.*
@@ -16,6 +16,8 @@ import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
import org.jetbrains.kotlin.config.languageVersionSettings
@@ -50,6 +52,8 @@ object KlibTestUtil {
)
configuration.put(CommonConfigurationKeys.MODULE_NAME, libraryName)
configuration.addKotlinSourceRoots(sourceFiles.map { it.absolutePath })
val stdlibFile = ForTestCompileRuntime.stdlibCommonForTests()
configuration.addJvmClasspathRoot(stdlibFile)
val rootDisposable = Disposer.newDisposable("Disposable for ${KlibTestUtil::class.simpleName}.compileCommonSourcesToKlib")
val module = try {
@@ -100,7 +104,8 @@ object KlibTestUtil {
metadataVersion = KlibMetadataVersion.INSTANCE,
exportKDoc = false,
skipExpects = false,
project = null
project = null,
includeOnlyModuleContent = true,
)
val serializedMetadata = serializer.serializeModule(module)