From ff6889ea05a1480c172c879f14e2450f622e5acc Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Wed, 8 Dec 2021 20:17:50 +0700 Subject: [PATCH] [K/N][build] Drop srcRoot from CompileToBitcode --- .../kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcode.kt | 6 ++---- .../org/jetbrains/kotlin/bitcode/CompileToBitcodePlugin.kt | 5 ++++- .../org/jetbrains/kotlin/testing/native/NativeTest.kt | 5 +++-- kotlin-native/runtime/build.gradle.kts | 2 ++ 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcode.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcode.kt index 4550c0c8ff7..347ff2fbea3 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcode.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcode.kt @@ -62,9 +62,7 @@ abstract class CompileToBitcodeJob : WorkAction { } } -// TODO: Get rid of storing srcRoot in the task. abstract class CompileToBitcode @Inject constructor( - @Internal val srcRoot: File, @Input val folderName: String, @Input val target: String, @Input val outputGroup: String @@ -94,9 +92,9 @@ abstract class CompileToBitcode @Inject constructor( // Source files and headers are registered as inputs by the `inputFiles` and `headers` properties. @Internal - var srcDirs: FileCollection = project.files(srcRoot.resolve("cpp")) + var srcDirs: FileCollection = project.files() @Internal - var headersDirs: FileCollection = srcDirs + project.files(srcRoot.resolve("headers")) + var headersDirs: FileCollection = project.files() @Input var language = Language.CPP diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcodePlugin.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcodePlugin.kt index c9fc11fccb2..736437289e9 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcodePlugin.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/bitcode/CompileToBitcodePlugin.kt @@ -55,8 +55,11 @@ open class CompileToBitcodeExtension @Inject constructor(val project: Project) { project.tasks.register( "${targetName}${name.snakeCaseToCamelCase().capitalize()}${suffixForSanitizer(sanitizer)}", CompileToBitcode::class.java, - srcRoot, name, targetName, outputGroup + name, targetName, outputGroup ).configure { + srcDirs = project.files(srcRoot.resolve("cpp")) + headersDirs = srcDirs + project.files(srcRoot.resolve("headers")) + this.sanitizer = sanitizer group = BasePlugin.BUILD_GROUP val sanitizerDescription = when (sanitizer) { diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/testing/native/NativeTest.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/testing/native/NativeTest.kt index e298a1a0cb5..f7ec03824bd 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/testing/native/NativeTest.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/testing/native/NativeTest.kt @@ -241,17 +241,18 @@ private fun createTestTask( val task = project.tasks.findByName(name) as? CompileToBitcode ?: project.tasks.create(name, CompileToBitcode::class.java, - it.srcRoot, "${it.folderName}Tests", target, "test" ).apply { + srcDirs = it.srcDirs + headersDirs = it.headersDirs + googleTestExtension.headersDirs + this.sanitizer = sanitizer excludeFiles = emptyList() includeFiles = listOf("**/*Test.cpp", "**/*TestSupport.cpp", "**/*Test.mm", "**/*TestSupport.mm") dependsOn(it) dependsOn("downloadGoogleTest") compilerArgs.addAll(it.compilerArgs) - headersDirs += googleTestExtension.headersDirs this.configureCompileToBitcode() } if (task.inputFiles.count() == 0) diff --git a/kotlin-native/runtime/build.gradle.kts b/kotlin-native/runtime/build.gradle.kts index 90f56a76e7f..76b5699f680 100644 --- a/kotlin-native/runtime/build.gradle.kts +++ b/kotlin-native/runtime/build.gradle.kts @@ -69,6 +69,7 @@ bitcode { } create("mimalloc") { + val srcRoot = file("src/mimalloc") language = CompileToBitcode.Language.C includeFiles = listOf("**/*.c") excludeFiles += listOf("**/alloc-override*.c", "**/page-queue.c", "**/static.c", "**/bitmap.inc.c") @@ -82,6 +83,7 @@ bitcode { } create("libbacktrace") { + val srcRoot = file("src/libbacktrace") val targetInfo = HostManager().targetByName(target) language = CompileToBitcode.Language.C val useMachO = targetInfo.family.isAppleFamily