Use compileClasspath configuration for native standard libraries

This commit is contained in:
Ilya Matveev
2018-09-27 15:47:44 +03:00
committed by Ilya Matveev
parent 5c4adc1100
commit 5140e674b4
2 changed files with 11 additions and 5 deletions
@@ -64,6 +64,10 @@ class NewMultiplatformIT : BaseGradleIT() {
"$pom should contain a name section.",
pom.readText().contains("<name>Sample MPP library</name>")
)
Assert.assertFalse(
"$pom should not contain standard K/N libraries as dependencies.",
pom.readText().contains("<groupId>Kotlin/Native</groupId>")
)
}
val jvmJarEntries = ZipFile(groupDir.resolve(jvmJarName)).entries().asSequence().map { it.name }.toSet()
@@ -316,11 +316,13 @@ class KotlinNativeTargetPreset(
// Allow IDE to resolve the libraries provided by the compiler by adding them into dependencies.
result.compilations.all { compilation ->
val target = compilation.target.konanTarget
compilation.dependencies {
// First, put common libs:
defaultLibs().forEach { implementation(it) }
// Then, platform-specific libs:
defaultLibs(target).forEach { implementation(it) }
// First, put common libs:
defaultLibs().forEach {
project.dependencies.add(compilation.compileDependencyConfigurationName, it)
}
// Then, platform-specific libs:
defaultLibs(target).forEach {
project.dependencies.add(compilation.compileDependencyConfigurationName, it)
}
}