Fix Release build of RNTester

Summary:
Currently the release build of RNTester is broken
as it's loading the debug native libraries. I had to create
separate tasks for the two variants as we can't benefit
of automatic variant matching between project (as of now till
we use prefabs or find another approach).

Changelog:
[Internal] [Fixed] - Fix Release build of RNTester

Reviewed By: ShikaSD

Differential Revision: D32203637

fbshipit-source-id: 5c260a365626e9b3c66e76166086711236a38264
This commit is contained in:
Nicola Corti
2021-11-08 04:33:33 -08:00
committed by Facebook GitHub Bot
parent ec84a56da6
commit d70555ff0e
2 changed files with 26 additions and 4 deletions
+13 -1
View File
@@ -232,7 +232,11 @@ def ndkBuildJobs() {
return project.findProperty("jobs") ?: Runtime.runtime.availableProcessors()
}
tasks.register("packageReactNdkLibsForBuck", Copy) {
tasks.register("packageReactNdkLibsForBuck") {
dependsOn("packageReactNdkDebugLibsForBuck")
}
tasks.register("packageReactNdkDebugLibsForBuck", Copy) {
dependsOn("mergeDebugNativeLibs")
from("$buildDir/intermediates/merged_native_libs/debug/out/lib/")
exclude("**/libjsc.so")
@@ -240,6 +244,14 @@ tasks.register("packageReactNdkLibsForBuck", Copy) {
into("src/main/jni/prebuilt/lib")
}
tasks.register("packageReactNdkReleaseLibsForBuck", Copy) {
dependsOn("mergeReleaseNativeLibs")
from("$buildDir/intermediates/merged_native_libs/release/out/lib/")
exclude("**/libjsc.so")
exclude("**/libhermes.so")
into("src/main/jni/prebuilt/lib")
}
final def extractNativeDependencies = tasks.register('extractNativeDependencies', ExtractJniAndHeadersTask) {
it.extractHeadersConfiguration.setFrom(configurations.extractHeaders)
it.extractJniConfiguration.setFrom(configurations.extractJNI)
+13 -3
View File
@@ -286,9 +286,16 @@ if (enableCodegen) {
}
}
def packageReactNdkLibs = tasks.register("packageReactNdkLibs", Copy) {
def packageReactDebugNdkLibs = tasks.register("packageReactDebugNdkLibs", Copy) {
// TODO: handle extracting .so from prebuilt :ReactAndroid.
dependsOn(":ReactAndroid:packageReactNdkLibsForBuck")
dependsOn(":ReactAndroid:packageReactNdkDebugLibsForBuck")
dependsOn("generateCodegenSchemaFromJavaScript")
from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
into("$buildDir/react-ndk/exported")
}
def packageReactReleaseNdkLibs = tasks.register("packageReactReleaseNdkLibs", Copy) {
// TODO: handle extracting .so from prebuilt :ReactAndroid.
dependsOn(":ReactAndroid:packageReactNdkReleaseLibsForBuck")
dependsOn("generateCodegenSchemaFromJavaScript")
from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
into("$buildDir/react-ndk/exported")
@@ -308,7 +315,10 @@ if (enableCodegen) {
}
afterEvaluate {
preBuild.dependsOn(packageReactNdkLibs)
preHermesReleaseBuild.dependsOn(packageReactReleaseNdkLibs)
preJscReleaseBuild.dependsOn(packageReactReleaseNdkLibs)
preHermesDebugBuild.dependsOn(packageReactDebugNdkLibs)
preJscDebugBuild.dependsOn(packageReactDebugNdkLibs)
clean.dependsOn(cleanProjectNdkBuild)
}
}