[Gradle] Shared Native compilations: Don't explicitly add stdlib dependency
Shared Native Compilations seem to already implicitly add a dependency on the stdlib. Adding it again will result in a 'library included more than once' warning. ^KT-46257 Verification Pending
This commit is contained in:
committed by
Space
parent
8fe176f605
commit
1076654bd9
+17
-5
@@ -33,7 +33,14 @@ internal fun Project.setupKotlinNativePlatformDependencies() {
|
||||
kotlin.sourceSets.forEach { sourceSet ->
|
||||
val target = getCommonizerTarget(sourceSet) ?: return@forEach
|
||||
addDependencies(sourceSet, getNativeDistributionDependencies(target))
|
||||
addDependencies(sourceSet, project.filesProvider { setOf(konanDistribution.stdlib) })
|
||||
addDependencies(
|
||||
sourceSet, project.filesProvider { setOf(konanDistribution.stdlib) },
|
||||
/*
|
||||
Shared Native compilations already implicitly add this dependency.
|
||||
Adding it again will result in a warning
|
||||
*/
|
||||
isCompilationDependency = false
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,11 +60,16 @@ private fun NativeDistributionCommonizerTask.getCommonizedPlatformLibrariesFor(t
|
||||
return project.filesProvider { targetOutputDirectory.listLibraryFiles() }.builtBy(this)
|
||||
}
|
||||
|
||||
private fun Project.addDependencies(sourceSet: KotlinSourceSet, libraries: FileCollection) {
|
||||
getMetadataCompilationForSourceSet(sourceSet)?.let { compilation ->
|
||||
compilation.compileDependencyFiles += libraries
|
||||
private fun Project.addDependencies(
|
||||
sourceSet: KotlinSourceSet, libraries: FileCollection, isCompilationDependency: Boolean = true, isIdeDependency: Boolean = true
|
||||
) {
|
||||
if (isCompilationDependency) {
|
||||
getMetadataCompilationForSourceSet(sourceSet)?.let { compilation ->
|
||||
compilation.compileDependencyFiles += libraries
|
||||
}
|
||||
}
|
||||
if (sourceSet is DefaultKotlinSourceSet) {
|
||||
|
||||
if (isIdeDependency && sourceSet is DefaultKotlinSourceSet) {
|
||||
val metadataConfigurationName =
|
||||
if (project.isIntransitiveMetadataConfigurationEnabled) sourceSet.intransitiveMetadataConfigurationName
|
||||
else sourceSet.implementationMetadataConfigurationName
|
||||
|
||||
Reference in New Issue
Block a user