From 32ee37d01563d462563947d6ceec662cd3f08f91 Mon Sep 17 00:00:00 2001 From: Edward Karuna Date: Tue, 15 Jan 2019 02:11:11 -0800 Subject: [PATCH] Copy bundled resources and js in Android App Bundle builds (#21738) Summary: Android App Bundle builds use the packageBundle and bundle tasks instead of the package and assemble tasks the APK builds use. Because of this, the resources and js bundles weren't getting copied into the final artifact. In an App Bundle build, the merged assets must be present during the buildPreBundle step in order to arrive in the App Bundle. Pull Request resolved: https://github.com/facebook/react-native/pull/21738 Differential Revision: D13669288 Pulled By: cpojer fbshipit-source-id: 0e985983f04504b69e447dbc1f3f34cf8f4eb927 --- react.gradle | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/react.gradle b/react.gradle index 74fd2306adb3f5..af5f2aef87e790 100644 --- a/react.gradle +++ b/react.gradle @@ -97,6 +97,9 @@ afterEvaluate { packageTask = variant.packageLibrary } + // pre bundle build task for Android plugin 3.2+ + def buildPreBundleTask = tasks.findByName("build${targetName}PreBundle") + def resourcesDirConfigValue = config."resourcesDir${targetName}" if (resourcesDirConfigValue) { def currentCopyResTask = tasks.create( @@ -114,6 +117,9 @@ afterEvaluate { } packageTask.dependsOn(currentCopyResTask) + if (buildPreBundleTask != null) { + buildPreBundleTask.dependsOn(currentCopyResTask) + } } def currentAssetsCopyTask = tasks.create( @@ -144,5 +150,8 @@ afterEvaluate { } packageTask.dependsOn(currentAssetsCopyTask) + if (buildPreBundleTask != null) { + buildPreBundleTask.dependsOn(currentAssetsCopyTask) + } } }