[Linker] Extend KotlinIrLinker infrastructure to support libraries that
doesn't contain IR. Also bump ABI version because of addition of `ir_provider` property
This commit is contained in:
@@ -22,7 +22,7 @@ fun String.parseKonanAbiVersion(): KotlinAbiVersion {
|
||||
|
||||
data class KotlinAbiVersion(val version: Int) {
|
||||
companion object {
|
||||
val CURRENT = KotlinAbiVersion(18)
|
||||
val CURRENT = KotlinAbiVersion(19)
|
||||
}
|
||||
override fun toString() = "$version"
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.jetbrains.kotlin.library
|
||||
|
||||
import org.jetbrains.kotlin.konan.KonanVersion
|
||||
import org.jetbrains.kotlin.konan.file.File
|
||||
import org.jetbrains.kotlin.konan.properties.hasProperty
|
||||
import org.jetbrains.kotlin.library.impl.createKotlinLibrary
|
||||
import org.jetbrains.kotlin.util.*
|
||||
|
||||
@@ -170,7 +171,8 @@ abstract class KotlinLibraryProperResolverWithAttributes<L: KotlinLibrary>(
|
||||
distributionKlib: String?,
|
||||
localKotlinDir: String?,
|
||||
skipCurrentDir: Boolean,
|
||||
override val logger: Logger
|
||||
override val logger: Logger,
|
||||
private val knownIrProviders: List<String>
|
||||
) : KotlinLibrarySearchPathResolver<L>(repositories, directLibs, distributionKlib, localKotlinDir, skipCurrentDir, logger),
|
||||
SearchPathResolverWithAttributes<L>
|
||||
{
|
||||
@@ -209,6 +211,13 @@ abstract class KotlinLibraryProperResolverWithAttributes<L: KotlinLibrary>(
|
||||
return false
|
||||
}
|
||||
|
||||
candidate.manifestProperties["ir_provider"]?.let {
|
||||
if (it !in knownIrProviders) {
|
||||
logger.warning("skipping $candidatePath. The library requires unknown IR provider $it.")
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user