Dropped outdated klib version compatibility mechanisms
This commit is contained in:
-6
@@ -19,8 +19,6 @@ import org.jetbrains.kotlin.util.Logger
|
||||
class JsLibraryResolver(
|
||||
repositories: List<String>,
|
||||
directLibs: List<String>,
|
||||
knownAbiVersions: List<KotlinAbiVersion>?,
|
||||
knownCompilerVersions: List<CompilerVersion>?,
|
||||
distributionKlib: String?,
|
||||
localKotlinDir: String?,
|
||||
skipCurrentDir: Boolean,
|
||||
@@ -28,8 +26,6 @@ class JsLibraryResolver(
|
||||
) : KotlinLibraryProperResolverWithAttributes<KotlinLibrary>(
|
||||
repositories,
|
||||
directLibs,
|
||||
knownAbiVersions,
|
||||
knownCompilerVersions,
|
||||
distributionKlib,
|
||||
localKotlinDir,
|
||||
skipCurrentDir,
|
||||
@@ -48,8 +44,6 @@ fun jsResolveLibraries(libraries: List<String>, logger: Logger): KotlinLibraryRe
|
||||
val libraryResolver = JsLibraryResolver(
|
||||
repositories = emptyList(),
|
||||
directLibs = libraryAbsolutePaths,
|
||||
knownAbiVersions = listOf(KotlinAbiVersion.CURRENT),
|
||||
knownCompilerVersions = emptyList<CompilerVersion>(),
|
||||
distributionKlib = null,
|
||||
localKotlinDir = null,
|
||||
skipCurrentDir = false,
|
||||
|
||||
-6
@@ -21,8 +21,6 @@ val jvmLibrariesProvidedByDefault = setOf("stdlib", "kotlin")
|
||||
class JvmLibraryResolver(
|
||||
repositories: List<String>,
|
||||
directLibs: List<String>,
|
||||
knownAbiVersions: List<KotlinAbiVersion>?,
|
||||
knownCompilerVersions: List<CompilerVersion>?,
|
||||
distributionKlib: String?,
|
||||
localKotlinDir: String?,
|
||||
skipCurrentDir: Boolean,
|
||||
@@ -30,8 +28,6 @@ class JvmLibraryResolver(
|
||||
) : KotlinLibraryProperResolverWithAttributes<KotlinLibrary>(
|
||||
repositories,
|
||||
directLibs,
|
||||
knownAbiVersions,
|
||||
knownCompilerVersions,
|
||||
distributionKlib,
|
||||
localKotlinDir,
|
||||
skipCurrentDir,
|
||||
@@ -54,8 +50,6 @@ fun jvmResolveLibraries(libraries: List<String>, logger: Logger): KotlinLibraryR
|
||||
val libraryResolver = JvmLibraryResolver(
|
||||
repositories = emptyList(),
|
||||
directLibs = libraryAbsolutePaths,
|
||||
knownAbiVersions = listOf(KotlinAbiVersion.CURRENT),
|
||||
knownCompilerVersions = emptyList<CompilerVersion>(),
|
||||
distributionKlib = null,
|
||||
localKotlinDir = null,
|
||||
skipCurrentDir = false,
|
||||
|
||||
@@ -20,11 +20,6 @@ interface SearchPathResolver<L : KotlinLibrary> : WithLogger {
|
||||
fun isProvidedByDefault(unresolved: UnresolvedLibrary): Boolean = false
|
||||
}
|
||||
|
||||
interface SearchPathResolverWithAttributes<L : KotlinLibrary> : SearchPathResolver<L> {
|
||||
val knownAbiVersions: List<KotlinAbiVersion>?
|
||||
val knownCompilerVersions: List<CompilerVersion>?
|
||||
}
|
||||
|
||||
// This is a simple library resolver that only cares for file names.
|
||||
abstract class KotlinLibrarySearchPathResolver<L : KotlinLibrary>(
|
||||
repositories: List<String>,
|
||||
@@ -215,15 +210,13 @@ fun CompilerVersion.compatible(other: CompilerVersion) =
|
||||
abstract class KotlinLibraryProperResolverWithAttributes<L : KotlinLibrary>(
|
||||
repositories: List<String>,
|
||||
directLibs: List<String>,
|
||||
override val knownAbiVersions: List<KotlinAbiVersion>?,
|
||||
override val knownCompilerVersions: List<CompilerVersion>?,
|
||||
distributionKlib: String?,
|
||||
localKotlinDir: String?,
|
||||
skipCurrentDir: Boolean,
|
||||
override val logger: Logger,
|
||||
private val knownIrProviders: List<String>
|
||||
) : KotlinLibrarySearchPathResolver<L>(repositories, directLibs, distributionKlib, localKotlinDir, skipCurrentDir, logger),
|
||||
SearchPathResolverWithAttributes<L> {
|
||||
SearchPathResolver<L> {
|
||||
override fun libraryMatch(candidate: L, unresolved: UnresolvedLibrary): Boolean {
|
||||
val candidatePath = candidate.libraryFile.absolutePath
|
||||
|
||||
@@ -231,13 +224,8 @@ abstract class KotlinLibraryProperResolverWithAttributes<L : KotlinLibrary>(
|
||||
val candidateAbiVersion = candidate.versions.abiVersion
|
||||
val candidateLibraryVersion = candidate.versions.libraryVersion
|
||||
|
||||
|
||||
val abiVersionMatch = candidateAbiVersion != null &&
|
||||
knownAbiVersions != null &&
|
||||
knownAbiVersions!!.contains(candidateAbiVersion)
|
||||
|
||||
if (!abiVersionMatch) {
|
||||
logger.warning("skipping $candidatePath. The abi versions don't match. Expected '${knownAbiVersions}', found '${candidateAbiVersion}'. The library produced by ${candidateCompilerVersion} compiler")
|
||||
if (candidateAbiVersion?.isCompatible() != true) {
|
||||
logger.warning("skipping $candidatePath. Incompatible abi version. Expected '${KotlinAbiVersion.CURRENT}', found '${candidateAbiVersion}'. The library produced by ${candidateCompilerVersion} compiler")
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -262,11 +250,10 @@ abstract class KotlinLibraryProperResolverWithAttributes<L : KotlinLibrary>(
|
||||
|
||||
class SingleKlibComponentResolver(
|
||||
klibFile: String,
|
||||
knownAbiVersions: List<KotlinAbiVersion>?,
|
||||
logger: Logger,
|
||||
knownIrProviders: List<String>
|
||||
) : KotlinLibraryProperResolverWithAttributes<KotlinLibrary>(
|
||||
emptyList(), listOf(klibFile), knownAbiVersions, emptyList(),
|
||||
emptyList(), listOf(klibFile),
|
||||
null, null, false, logger, knownIrProviders
|
||||
) {
|
||||
override fun libraryComponentBuilder(file: File, isDefault: Boolean) = createKotlinLibraryComponents(file, isDefault)
|
||||
@@ -287,7 +274,7 @@ class SingleKlibComponentResolver(
|
||||
object CompilerSingleFileKlibResolveStrategy : SingleFileKlibResolveStrategy {
|
||||
override fun resolve(libraryFile: File, logger: Logger) =
|
||||
SingleKlibComponentResolver(
|
||||
libraryFile.absolutePath, listOf(KotlinAbiVersion.CURRENT), logger, emptyList()
|
||||
libraryFile.absolutePath, logger, emptyList()
|
||||
).resolve(libraryFile.absolutePath)
|
||||
}
|
||||
|
||||
@@ -303,6 +290,6 @@ class CompilerSingleFileKlibResolveAllowingIrProvidersStrategy(
|
||||
) : SingleFileKlibResolveStrategy {
|
||||
override fun resolve(libraryFile: File, logger: Logger) =
|
||||
SingleKlibComponentResolver(
|
||||
libraryFile.absolutePath, listOf(KotlinAbiVersion.CURRENT), logger, knownIrProviders
|
||||
libraryFile.absolutePath, logger, knownIrProviders
|
||||
).resolve(libraryFile.absolutePath)
|
||||
}
|
||||
Reference in New Issue
Block a user