[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 ->
|
kotlin.sourceSets.forEach { sourceSet ->
|
||||||
val target = getCommonizerTarget(sourceSet) ?: return@forEach
|
val target = getCommonizerTarget(sourceSet) ?: return@forEach
|
||||||
addDependencies(sourceSet, getNativeDistributionDependencies(target))
|
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)
|
return project.filesProvider { targetOutputDirectory.listLibraryFiles() }.builtBy(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Project.addDependencies(sourceSet: KotlinSourceSet, libraries: FileCollection) {
|
private fun Project.addDependencies(
|
||||||
getMetadataCompilationForSourceSet(sourceSet)?.let { compilation ->
|
sourceSet: KotlinSourceSet, libraries: FileCollection, isCompilationDependency: Boolean = true, isIdeDependency: Boolean = true
|
||||||
compilation.compileDependencyFiles += libraries
|
) {
|
||||||
|
if (isCompilationDependency) {
|
||||||
|
getMetadataCompilationForSourceSet(sourceSet)?.let { compilation ->
|
||||||
|
compilation.compileDependencyFiles += libraries
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (sourceSet is DefaultKotlinSourceSet) {
|
|
||||||
|
if (isIdeDependency && sourceSet is DefaultKotlinSourceSet) {
|
||||||
val metadataConfigurationName =
|
val metadataConfigurationName =
|
||||||
if (project.isIntransitiveMetadataConfigurationEnabled) sourceSet.intransitiveMetadataConfigurationName
|
if (project.isIntransitiveMetadataConfigurationEnabled) sourceSet.intransitiveMetadataConfigurationName
|
||||||
else sourceSet.implementationMetadataConfigurationName
|
else sourceSet.implementationMetadataConfigurationName
|
||||||
|
|||||||
Reference in New Issue
Block a user