diff --git a/packages/react-native-nitro-modules/android/fix-prefab.gradle b/packages/react-native-nitro-modules/android/fix-prefab.gradle index d6c010ef7..f69940440 100644 --- a/packages/react-native-nitro-modules/android/fix-prefab.gradle +++ b/packages/react-native-nitro-modules/android/fix-prefab.gradle @@ -14,6 +14,12 @@ tasks.configureEach { task -> afterEvaluate { def abis = reactNativeArchitectures() + def prepareHeadersTask = tasks.named("prepareHeaders") + + prepareHeadersTask.configure { + mustRunAfter(tasks.named("clean")) + } + rootProject.allprojects.each { proj -> if (proj === rootProject) return @@ -28,6 +34,12 @@ afterEvaluate { return } + if (proj != project) { + proj.tasks.matching { it.name.startsWith("externalNativeBuildClean") }.configureEach { cleanTask -> + cleanTask.dependsOn(prepareHeadersTask) + } + } + def variants = proj.android.hasProperty('applicationVariants') ? proj.android.applicationVariants : proj.android.libraryVariants // Touch the prefab_config.json files to ensure that in ExternalNativeJsonGenerator.kt we will re-trigger the prefab CLI to // generate a libnameConfig.cmake file that will contain our native library (.so).