diff --git a/buildSrc/src/main/kotlin/org/jetbrains/gradle/plugins/tools/NativePlugin.kt b/buildSrc/src/main/kotlin/org/jetbrains/gradle/plugins/tools/NativePlugin.kt index 3a2ea182e72..4d0c0480c2a 100644 --- a/buildSrc/src/main/kotlin/org/jetbrains/gradle/plugins/tools/NativePlugin.kt +++ b/buildSrc/src/main/kotlin/org/jetbrains/gradle/plugins/tools/NativePlugin.kt @@ -54,6 +54,7 @@ abstract class ToolExecutionTask : DefaultTask() { @TaskAction fun action() { + if (output.exists()) output.delete() project.exec { executable(cmd) args(*this@ToolExecutionTask.args.toTypedArray()) @@ -79,7 +80,7 @@ class ToolPatternImpl(val extension: NativeToolsExtension, val output:String, va override fun env(name: String) = emptyArray() fun configure(task: ToolExecutionTask, configureDepencies:Boolean) { - extension.cleanupfiles += output + extension.cleanupFiles += output task.input = input.map { extension.project.file(it) } @@ -184,7 +185,7 @@ class ToolConfigurationPatterns( open class NativeToolsExtension(val project: Project) { val sourceSets = SourceSets(project, this, mutableMapOf()) val toolPatterns = ToolConfigurationPatterns(this, mutableMapOf, ToolPatternConfiguration>()) - val cleanupfiles = mutableListOf() + val cleanupFiles = mutableListOf() fun sourceSet(configuration: SourceSets.() -> Unit) { sourceSets.configuration() } @@ -197,13 +198,13 @@ open class NativeToolsExtension(val project: Project) { fun suffixes(configuration: ToolConfigurationPatterns.() -> Unit) = toolPatterns.configuration() fun target(name: String, vararg objSet: SourceSet, configuration: ToolPatternConfiguration) { - project.tasks.withType().named(LifecycleBasePlugin.CLEAN_TASK_NAME).configure { + project.tasks.named(LifecycleBasePlugin.CLEAN_TASK_NAME, Delete::class.java).configure { doLast { - delete(*this@NativeToolsExtension.cleanupfiles.toTypedArray()) + delete(*this@NativeToolsExtension.cleanupFiles.toTypedArray()) } } - sourceSets.project.tasks.create(name, ToolExecutionTask::class.java) { + sourceSets.project.tasks.create(name, ToolExecutionTask::class.java) { objSet.forEach { dependsOn(it.implicitTasks()) } diff --git a/kotlin-native/libclangext/build.gradle.kts b/kotlin-native/libclangext/build.gradle.kts index 488d037d675..3ff984f8b04 100644 --- a/kotlin-native/libclangext/build.gradle.kts +++ b/kotlin-native/libclangext/build.gradle.kts @@ -48,6 +48,6 @@ native { val objSet = sourceSets["main"]!!.transform(".cpp" to ".$obj") target(lib("clangext"), objSet) { tool(*platformManager.hostPlatform.clangForJni.llvmAr("").toTypedArray()) - flags("-qv", ruleOut(), *ruleInAll()) + flags("-qcv", ruleOut(), *ruleInAll()) } } \ No newline at end of file diff --git a/kotlin-native/libllvmext/build.gradle.kts b/kotlin-native/libllvmext/build.gradle.kts index 6c9637710ee..bb7f3e8919d 100644 --- a/kotlin-native/libllvmext/build.gradle.kts +++ b/kotlin-native/libllvmext/build.gradle.kts @@ -59,7 +59,7 @@ native { target(lib("llvmext"), objSet) { tool(*platformManager.hostPlatform.clangForJni.llvmAr("").toTypedArray()) - flags("-qv", ruleOut(), *ruleInAll()) + flags("-qcv", ruleOut(), *ruleInAll()) } } diff --git a/kotlin-native/llvmDebugInfoC/build.gradle.kts b/kotlin-native/llvmDebugInfoC/build.gradle.kts index abb18fde198..093836ca0a3 100644 --- a/kotlin-native/llvmDebugInfoC/build.gradle.kts +++ b/kotlin-native/llvmDebugInfoC/build.gradle.kts @@ -49,6 +49,6 @@ native { target(lib("debugInfo"), objSet) { tool(*platformManager.hostPlatform.clangForJni.llvmAr("").toTypedArray()) - flags("-qv", ruleOut(), *ruleInAll()) + flags("-qcv", ruleOut(), *ruleInAll()) } }