[Gradle] Put stdlib in K/Native classpath in first position
And stop doing so on Compiler Side. ^KT-61430 Verification Pending ^KT-61559 Verification Pending
This commit is contained in:
committed by
Space Team
parent
71a03a7c7d
commit
e4b760370f
+2
-6
@@ -54,13 +54,9 @@ object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
|||||||
bindSession(session)
|
bindSession(session)
|
||||||
}
|
}
|
||||||
val resolvedKotlinLibraries = resolvedLibraries.map { it.library }
|
val resolvedKotlinLibraries = resolvedLibraries.map { it.library }
|
||||||
// KT-61645: stdlib-native must appear before stdlib-common metadata in the dependency list
|
|
||||||
// TODO: Consider not reordering libraries after KT-61430 is fixed, and Gradle plugin determines full order of dependencies.
|
|
||||||
val (stdlib, otherDeps) = resolvedKotlinLibraries.partition { it.isNativeStdlib }
|
|
||||||
val kotlinLibraries = stdlib + otherDeps
|
|
||||||
listOfNotNull(
|
listOfNotNull(
|
||||||
KlibBasedSymbolProvider(session, moduleDataProvider, kotlinScopeProvider, kotlinLibraries),
|
KlibBasedSymbolProvider(session, moduleDataProvider, kotlinScopeProvider, resolvedKotlinLibraries),
|
||||||
NativeForwardDeclarationsSymbolProvider(session, forwardDeclarationsModuleData, kotlinScopeProvider, kotlinLibraries),
|
NativeForwardDeclarationsSymbolProvider(session, forwardDeclarationsModuleData, kotlinScopeProvider, resolvedKotlinLibraries),
|
||||||
FirBuiltinSyntheticFunctionInterfaceProvider(session, builtinsModuleData, kotlinScopeProvider),
|
FirBuiltinSyntheticFunctionInterfaceProvider(session, builtinsModuleData, kotlinScopeProvider),
|
||||||
syntheticFunctionInterfaceProvider,
|
syntheticFunctionInterfaceProvider,
|
||||||
)
|
)
|
||||||
|
|||||||
+8
-3
@@ -30,10 +30,15 @@ internal val SetupKotlinNativePlatformDependenciesAndStdlib =
|
|||||||
// Commonizer target must not be null for AbstractKotlinNativeCompilation, but we are graceful here and just return
|
// Commonizer target must not be null for AbstractKotlinNativeCompilation, but we are graceful here and just return
|
||||||
val commonizerTarget = compilation.commonizerTarget.await() ?: return@KotlinCompilationSideEffectCoroutine
|
val commonizerTarget = compilation.commonizerTarget.await() ?: return@KotlinCompilationSideEffectCoroutine
|
||||||
val nativeDistributionDependencies = project.getNativeDistributionDependencies(commonizerTarget)
|
val nativeDistributionDependencies = project.getNativeDistributionDependencies(commonizerTarget)
|
||||||
compilation.compileDependencyFiles += nativeDistributionDependencies
|
|
||||||
|
|
||||||
val stdlib = project.files(project.konanDistribution.stdlib)
|
val stdlib = project.files(project.konanDistribution.stdlib)
|
||||||
compilation.compileDependencyFiles += stdlib
|
|
||||||
|
val updatedCompileDependencyFiles = project.files().from(
|
||||||
|
stdlib,
|
||||||
|
nativeDistributionDependencies,
|
||||||
|
compilation.compileDependencyFiles
|
||||||
|
)
|
||||||
|
|
||||||
|
compilation.compileDependencyFiles = updatedCompileDependencyFiles
|
||||||
}
|
}
|
||||||
|
|
||||||
internal val ExcludeDefaultPlatformDependenciesFromKotlinNativeCompileTasks = KotlinProjectSetupAction {
|
internal val ExcludeDefaultPlatformDependenciesFromKotlinNativeCompileTasks = KotlinProjectSetupAction {
|
||||||
|
|||||||
Reference in New Issue
Block a user