Dropped outdated klib version compatibility mechanisms
This commit is contained in:
@@ -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