CInteropCommonization: Filter out illegal dependencies
^KT-45832 Fixed
This commit is contained in:
committed by
Space
parent
c775508f64
commit
3f3e51f36e
+1
@@ -8,6 +8,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
kotlin {
|
||||||
|
jvm() // https://youtrack.jetbrains.com/issue/KT-45832
|
||||||
val targetA = <targetA>("targetA")
|
val targetA = <targetA>("targetA")
|
||||||
val targetB = <targetB>("targetB")
|
val targetB = <targetB>("targetB")
|
||||||
|
|
||||||
|
|||||||
+6
-1
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.gradle.plugin.sources.resolveAllDependsOnSourceSets
|
|||||||
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerTask.CInteropGist
|
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerTask.CInteropGist
|
||||||
import org.jetbrains.kotlin.gradle.tasks.CInteropProcess
|
import org.jetbrains.kotlin.gradle.tasks.CInteropProcess
|
||||||
import org.jetbrains.kotlin.gradle.utils.transitiveClosure
|
import org.jetbrains.kotlin.gradle.utils.transitiveClosure
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.fileProvider
|
||||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@@ -170,7 +171,7 @@ private fun CInteropProcess.toGist(): CInteropGist {
|
|||||||
konanTarget = konanTarget,
|
konanTarget = konanTarget,
|
||||||
sourceSets = project.provider { settings.compilation.kotlinSourceSetsIncludingDefault },
|
sourceSets = project.provider { settings.compilation.kotlinSourceSetsIncludingDefault },
|
||||||
libraryFile = outputFileProvider,
|
libraryFile = outputFileProvider,
|
||||||
dependencies = project.files(project.provider { settings.dependencyFiles })
|
dependencies = project.fileProvider { settings.dependencyFiles }.filter(File::isValidDependency)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,3 +237,7 @@ private fun Project.getDependingNativeCompilations(compilation: KotlinSharedNati
|
|||||||
.filter { nativeCompilation -> nativeCompilation.allParticipatingSourceSets().containsAll(allParticipatingSourceSetsOfCompilation) }
|
.filter { nativeCompilation -> nativeCompilation.allParticipatingSourceSets().containsAll(allParticipatingSourceSetsOfCompilation) }
|
||||||
.toSet()
|
.toSet()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun File.isValidDependency(): Boolean {
|
||||||
|
return this.exists() && (this.isDirectory || this.extension == "klib")
|
||||||
|
}
|
||||||
|
|||||||
+6
-1
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.gradle.utils
|
package org.jetbrains.kotlin.gradle.utils
|
||||||
|
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.api.file.FileCollection
|
||||||
import org.gradle.api.file.RegularFileProperty
|
import org.gradle.api.file.RegularFileProperty
|
||||||
import org.gradle.api.provider.Property
|
import org.gradle.api.provider.Property
|
||||||
import org.gradle.api.provider.Provider
|
import org.gradle.api.provider.Provider
|
||||||
@@ -46,4 +47,8 @@ internal fun Project.newFileProperty(initialize: (() -> File)? = null): RegularF
|
|||||||
set(project.layout.file(project.provider(initialize)))
|
set(project.layout.file(project.provider(initialize)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun Project.fileProvider(provider: () -> Any) : FileCollection {
|
||||||
|
return project.files(project.provider(provider))
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user