[K/N] Use Gradle configurations for CompileToBitcode modules ^KT-53776

This commit is contained in:
Alexander Shabalin
2022-12-07 13:56:42 +01:00
committed by Space Team
parent 584280bdd4
commit f2835f3534
5 changed files with 163 additions and 40 deletions
+16 -3
View File
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.CopySamples
import org.jetbrains.kotlin.CopyCommonSources
import org.jetbrains.kotlin.PlatformInfo
import org.jetbrains.kotlin.KotlinBuildPusher
import org.jetbrains.kotlin.bitcode.CompileToBitcodeExtension
import org.jetbrains.kotlin.cpp.CompilationDatabasePlugin
import org.jetbrains.kotlin.cpp.GitClangFormatPlugin
import org.jetbrains.kotlin.CompareDistributionSignatures
@@ -140,6 +141,14 @@ configurations {
ftpAntTask
distPack
commonSources
runtimeBitcode {
canBeConsumed = false
canBeResolved = true
attributes {
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, CompileToBitcodeExtension.USAGE))
}
}
}
apply plugin: CompilationDatabasePlugin
@@ -161,6 +170,7 @@ dependencies {
commonSources project(path: ':kotlin-test:kotlin-test-annotations-common', configuration: 'sources')
compilationDatabase project(":kotlin-native:common")
compilationDatabase project(":kotlin-native:runtime")
runtimeBitcode project(":kotlin-native:runtime")
}
apply plugin: GitClangFormatPlugin
@@ -438,11 +448,15 @@ targetList.each { target ->
}
task("${target}CrossDistBitcodeCopy", type: Copy) {
dependsOn ":kotlin-native:runtime:${target}Runtime"
def bitcodeFiles = configurations.runtimeBitcode.incoming.artifactView {
attributes {
attribute(TargetWithSanitizer.TARGET_ATTRIBUTE, new TargetWithSanitizer(platformManager.targetByName(target), null))
}
}.files
destinationDir project.file("$distDir/konan/targets/")
from(project(':kotlin-native:runtime').file("build/bitcode/main/$target")) {
from(bitcodeFiles) {
include("*.bc")
exclude("runtime.bc")
into("$target/native")
@@ -450,7 +464,6 @@ targetList.each { target ->
}
task("${target}CrossDistRuntime", type: Copy) {
dependsOn ":kotlin-native:runtime:${target}Runtime"
dependsOn ":kotlin-native:${target}CrossDistStdlib"
dependsOn "${target}CrossDistBitcodeCopy"