KLIB: Merge manifest for stdlib produced for different targets

(cherry picked from commit b7f12c9ae64f8a4a0785105a53f118083e660386)
This commit is contained in:
Dmitriy Dolovov
2020-04-06 11:53:28 +07:00
committed by Vasily Levchenko
parent 35e54cd8c8
commit bf9c66e275
2 changed files with 72 additions and 1 deletions
+10
View File
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.CollisionDetector
import org.jetbrains.kotlin.CollisionTransformer
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.apache.tools.ant.filters.ReplaceTokens
import org.jetbrains.kotlin.UtilsKt
buildscript {
apply from: "gradle/kotlinGradlePlugin.gradle"
@@ -465,6 +466,15 @@ targetList.each { target ->
from(project(':runtime').file("build/${target}Stdlib")) {
include('**')
into(stdlib)
eachFile {
if (name == 'manifest') {
def existingManifest = file("$destinationDir/$path")
if (existingManifest.exists()) {
UtilsKt.mergeManifestsByTargets(project, file, existingManifest)
exclude()
}
}
}
}
from(project(':runtime').file("build/$target")) {
include("runtime.bc")