[KLIB] Fix issues between directory and .klib modes

- use .klib extension explicitly
 - fix issue with `module.klib.klib` names
This commit is contained in:
Roman Artemev
2020-12-03 08:36:59 +03:00
parent 939da9dbc8
commit 37c7f60ae7
6 changed files with 35 additions and 33 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.konan.util.KlibMetadataFactories
import org.jetbrains.kotlin.library.*
import org.jetbrains.kotlin.library.impl.BuiltInsPlatform
import org.jetbrains.kotlin.library.impl.KotlinLibraryLayoutForWriter
import org.jetbrains.kotlin.library.impl.KotlinLibraryWriterImpl
import org.jetbrains.kotlin.library.metadata.NativeTypeTransformer
import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer
@@ -78,8 +79,10 @@ object KlibTestUtil {
val serializedMetadata = serializer.serializeModule(module)
val unzippedDir = org.jetbrains.kotlin.konan.file.createTempDir(libraryName)
val layout = KotlinLibraryLayoutForWriter(KFile(klibFile.path), unzippedDir)
val library = KotlinLibraryWriterImpl(
libDir = KFile(klibFile.path.removeSuffix(KLIB_FILE_EXTENSION_WITH_DOT)),
moduleName = libraryName,
versions = KotlinLibraryVersioning(
libraryVersion = null,
@@ -91,7 +94,8 @@ object KlibTestUtil {
builtInsPlatform = BuiltInsPlatform.COMMON,
nativeTargets = emptyList(),
nopack = false,
shortName = libraryName
shortName = libraryName,
layout = layout
)
library.addMetadata(serializedMetadata)