Skip to content

Commit

Permalink
Copy bundled resources and js in Android App Bundle builds (#21738)
Browse files Browse the repository at this point in the history
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: #21738

Differential Revision: D13669288

Pulled By: cpojer

fbshipit-source-id: 0e985983f04504b69e447dbc1f3f34cf8f4eb927
  • Loading branch information
edilaic authored and facebook-github-bot committed Jan 15, 2019
1 parent 19d04a3 commit abfd563
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions react.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,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(
Expand All @@ -119,6 +122,9 @@ afterEvaluate {
}

packageTask.dependsOn(currentCopyResTask)
if (buildPreBundleTask != null) {
buildPreBundleTask.dependsOn(currentCopyResTask)
}
}

def currentAssetsCopyTask = tasks.create(
Expand Down Expand Up @@ -149,5 +155,8 @@ afterEvaluate {
}

packageTask.dependsOn(currentAssetsCopyTask)
if (buildPreBundleTask != null) {
buildPreBundleTask.dependsOn(currentAssetsCopyTask)
}
}
}

0 comments on commit abfd563

Please sign in to comment.