From 7f238785ec898560c276d1d37b4c88b7018c245b Mon Sep 17 00:00:00 2001 From: Dulmandakh Sukhbaatar Date: Tue, 3 Sep 2019 22:17:51 +0200 Subject: [PATCH] lazy configure ReactAndroid gradle tasks --- ReactAndroid/build.gradle | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/ReactAndroid/build.gradle b/ReactAndroid/build.gradle index 47f6c74a07acfb..13e97af5db0eed 100644 --- a/ReactAndroid/build.gradle +++ b/ReactAndroid/build.gradle @@ -210,14 +210,9 @@ def findNdkBuildFullPath() { def ndkDir = property("ndk.path") return new File(ndkDir, getNdkBuildName()).getAbsolutePath() } - if (System.getenv("ANDROID_NDK") != null) { - def ndkDir = System.getenv("ANDROID_NDK") - return new File(ndkDir, getNdkBuildName()).getAbsolutePath() - } - def ndkDir = android.hasProperty("plugin") ? android.plugin.ndkFolder : - plugins.getPlugin("com.android.library").hasProperty("sdkHandler") ? - plugins.getPlugin("com.android.library").sdkHandler.getNdkFolder() : - android.ndkDirectory ? android.ndkDirectory.absolutePath : null + + def ndkDir = android.ndkDirectory ? android.ndkDirectory.absolutePath : null + if (ndkDir) { return new File(ndkDir, getNdkBuildName()).getAbsolutePath() } @@ -253,7 +248,8 @@ def getNdkBuildFullPath() { return ndkBuildFullPath } -task buildReactNdkLib(dependsOn: [prepareJSC, prepareHermes, prepareBoost, prepareDoubleConversion, prepareFolly, prepareGlog], type: Exec) { +def buildReactNdkLib = tasks.register("buildReactNdkLib", Exec) { + dependsOn(prepareJSC, prepareHermes, prepareBoost, prepareDoubleConversion, prepareFolly, prepareGlog) inputs.dir("$projectDir/../ReactCommon") inputs.dir("src/main/jni") outputs.dir("$buildDir/react-ndk/all") @@ -271,7 +267,7 @@ task buildReactNdkLib(dependsOn: [prepareJSC, prepareHermes, prepareBoost, prepa ) } -task cleanReactNdkLib(type: Exec) { +def cleanReactNdkLib = tasks.register("cleanReactNdkLib", Exec) { ignoreExitValue(true) errorOutput(new ByteArrayOutputStream()) commandLine(getNdkBuildFullPath(), @@ -286,14 +282,16 @@ task cleanReactNdkLib(type: Exec) { } } -task packageReactNdkLibs(dependsOn: buildReactNdkLib, type: Copy) { +def packageReactNdkLibs = tasks.register("packageReactNdkLibs", Copy) { + dependsOn(buildReactNdkLib) from("$buildDir/react-ndk/all") into("$buildDir/react-ndk/exported") exclude("**/libjsc.so") exclude("**/libhermes.so") } -task packageReactNdkLibsForBuck(dependsOn: packageReactNdkLibs, type: Copy) { +def packageReactNdkLibsForBuck = tasks.register("packageReactNdkLibsForBuck", Copy) { + dependsOn(packageReactNdkLibs) from("$buildDir/react-ndk/exported") into("src/main/jni/prebuilt/lib") }