Split klib and cinterop outputs.
So Gradle 7 will not complain that some tasks using klib or cinterop should depend on both tasks producing klib and cinterop, while they don't need both. ^KT-44949 In Progress
This commit is contained in:
+1
-1
@@ -174,7 +174,7 @@ class KlibBasedMppIT : BaseGradleIT() {
|
||||
|
||||
assertFileExists("build/classes/kotlin/metadata/commonMain/default/manifest")
|
||||
assertFileExists("build/classes/kotlin/metadata/jvmAndJsMain/default/manifest")
|
||||
assertFileExists("build/classes/kotlin/metadata/linuxMain/${projectName}_linuxMain.klib")
|
||||
assertFileExists("build/classes/kotlin/metadata/linuxMain/klib/${projectName}_linuxMain.klib")
|
||||
|
||||
// Check that the common and JVM+JS source sets don't receive the Kotlin/Native stdlib in the classpath:
|
||||
run {
|
||||
|
||||
+3
-3
@@ -1628,7 +1628,7 @@ class NewMultiplatformIT : BaseGradleIT() {
|
||||
)
|
||||
|
||||
// Native:
|
||||
assertFileExists("build/classes/kotlin/linux64/integrationTest/new-mpp-associate-compilations_integrationTest.klib")
|
||||
assertFileExists("build/classes/kotlin/linux64/integrationTest/klib/new-mpp-associate-compilations_integrationTest.klib")
|
||||
}
|
||||
|
||||
gradleBuildScript().appendText(
|
||||
@@ -1706,10 +1706,10 @@ class NewMultiplatformIT : BaseGradleIT() {
|
||||
}
|
||||
}
|
||||
|
||||
val interopManifest = getManifest("foo/build/classes/kotlin/linux/main/foo-cinterop-bar.klib")
|
||||
val interopManifest = getManifest("foo/build/classes/kotlin/linux/main/cinterop/foo-cinterop-bar.klib")
|
||||
assertEquals("org.sample.one:foo-cinterop-bar", interopManifest[KLIB_PROPERTY_UNIQUE_NAME])
|
||||
|
||||
val nativeManifest = getManifest("foo/build/classes/kotlin/linux/main/foo.klib")
|
||||
val nativeManifest = getManifest("foo/build/classes/kotlin/linux/main/klib/foo.klib")
|
||||
assertEquals("org.sample.one:foo", nativeManifest[KLIB_PROPERTY_UNIQUE_NAME])
|
||||
// Check the short name that is used as a prefix in generated ObjC headers.
|
||||
assertEquals("foo", nativeManifest[KLIB_PROPERTY_SHORT_NAME])
|
||||
|
||||
+4
-4
@@ -166,7 +166,7 @@ class GeneralNativeIT : BaseGradleIT() {
|
||||
|
||||
val klibPrefix = CompilerOutputKind.LIBRARY.prefix(HostManager.host)
|
||||
val klibSuffix = CompilerOutputKind.LIBRARY.suffix(HostManager.host)
|
||||
val klibPath = "${targetClassesDir("host")}${klibPrefix}native-library$klibSuffix"
|
||||
val klibPath = "${targetClassesDir("host")}${klibPrefix}/klib/native-library$klibSuffix"
|
||||
|
||||
val linkTasks = listOf(
|
||||
":linkDebugSharedHost",
|
||||
@@ -772,9 +772,9 @@ class GeneralNativeIT : BaseGradleIT() {
|
||||
@Test
|
||||
fun testCinterop() = with(transformNativeTestProjectWithPluginDsl("native-cinterop")) {
|
||||
fun libraryFiles(projectName: String, cinteropName: String) = listOf(
|
||||
"$projectName/build/classes/kotlin/host/main/${projectName}-cinterop-$cinteropName.klib",
|
||||
"$projectName/build/classes/kotlin/host/main/${projectName}.klib",
|
||||
"$projectName/build/classes/kotlin/host/test/${projectName}_test.klib",
|
||||
"$projectName/build/classes/kotlin/host/main/cinterop/${projectName}-cinterop-$cinteropName.klib",
|
||||
"$projectName/build/classes/kotlin/host/main/klib/${projectName}.klib",
|
||||
"$projectName/build/classes/kotlin/host/test/klib/${projectName}_test.klib",
|
||||
)
|
||||
|
||||
// Enable info log to see cinterop environment variables.
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ tasks {
|
||||
if (target in skipCompilationOfTargets) {
|
||||
actions.clear()
|
||||
doLast {
|
||||
val destinationFile = project.buildDir.resolve("classes/kotlin/$target/main/${project.name}.klib")
|
||||
val destinationFile = project.buildDir.resolve("classes/kotlin/$target/main/klib/${project.name}.klib")
|
||||
destinationFile.parentFile.mkdirs()
|
||||
println("Writing a dummy klib to $destinationFile")
|
||||
destinationFile.createNewFile()
|
||||
|
||||
+2
-2
@@ -260,7 +260,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget>(
|
||||
"compilation for target '${compilation.platformType.name}'."
|
||||
it.enabled = compilation.konanTarget.enabledOnCurrentHost
|
||||
|
||||
it.destinationDir = klibOutputDirectory(compilation)
|
||||
it.destinationDir = klibOutputDirectory(compilation).resolve("klib")
|
||||
}
|
||||
|
||||
|
||||
@@ -292,7 +292,7 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget>(
|
||||
compilation.cinterops.all { interop ->
|
||||
val interopTask = registerTask<CInteropProcess>(interop.interopProcessingTaskName) {
|
||||
it.settings = interop
|
||||
it.destinationDir = provider { klibOutputDirectory(compilation) }
|
||||
it.destinationDir = provider { klibOutputDirectory(compilation).resolve("cinterop") }
|
||||
it.group = INTEROP_GROUP
|
||||
it.description = "Generates Kotlin/Native interop library '${interop.name}' " +
|
||||
"for compilation '${compilation.name}'" +
|
||||
|
||||
Reference in New Issue
Block a user