Skip to content

Commit 209b7ee

Browse files
committed
Use tasks.withType<Task>().configureEach for CMake task dependencies
- more reliable for AGP 9.1+ lazy task creation - ensures generateReactAndroidConfig runs before CMake tasks
1 parent 76f4e3a commit 209b7ee

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

packages/react-native/ReactAndroid/build.gradle.kts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -795,11 +795,10 @@ android {
795795

796796
// Ensure the config file is generated before external native build
797797
// The CMake tasks are created lazily by AGP with names like "configureCMake<Variant>"
798-
// We use task graph callback to find and configure CMake tasks
799-
// whenTaskAdded registers callbacks for tasks as they are created (handles lazy tasks)
800-
tasks.whenTaskAdded { task ->
801-
if (task.name.startsWith("configureCMake")) {
802-
task.dependsOn(generateReactAndroidConfig)
798+
// We use configureEach to handle lazily created tasks in AGP 9.1+
799+
tasks.withType<Task>().configureEach {
800+
if (name.startsWith("configureCMake")) {
801+
dependsOn(generateReactAndroidConfig)
803802
}
804803
}
805804
}

packages/rn-tester/android/app/build.gradle.kts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,9 @@ tasks.withType<com.facebook.react.tasks.BundleHermesCTask>().configureEach {
201201

202202
// As RN-Tester uses CMake, we need to make sure the ReactAndroidConfig.cmake file is
203203
// generated before CMake runs. This file is generated by ReactAndroid:generateReactAndroidConfig
204-
tasks.whenTaskAdded { task ->
205-
if (task.name.startsWith("configureCMake")) {
206-
task.dependsOn(":packages:react-native:ReactAndroid:generateReactAndroidConfig")
204+
// We use configureEach to handle lazily created CMake tasks in AGP 9.1+
205+
tasks.withType<Task>().configureEach {
206+
if (name.startsWith("configureCMake")) {
207+
dependsOn(":packages:react-native:ReactAndroid:generateReactAndroidConfig")
207208
}
208209
}

0 commit comments

Comments
 (0)