2019-10-22 17:43:51 +03:00
|
|
|
/*
|
2021-12-31 02:08:43 +03:00
|
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
2019-10-22 17:43:51 +03:00
|
|
|
*
|
|
|
|
* This source code is licensed under the MIT license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree.
|
|
|
|
*/
|
2015-09-14 17:35:58 +03:00
|
|
|
|
2022-04-07 20:55:32 +03:00
|
|
|
val ndkPath by extra(System.getenv("ANDROID_NDK"))
|
|
|
|
val ndkVersion by extra(System.getenv("ANDROID_NDK_VERSION"))
|
|
|
|
|
2015-09-14 17:35:58 +03:00
|
|
|
buildscript {
|
2022-06-09 12:50:45 +03:00
|
|
|
repositories {
|
|
|
|
google()
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
dependencies {
|
2022-07-12 13:57:14 +03:00
|
|
|
classpath("com.android.tools.build:gradle:7.2.1")
|
2022-06-09 12:50:45 +03:00
|
|
|
classpath("de.undercouch:gradle-download-task:5.0.1")
|
|
|
|
// NOTE: Do not place your application dependencies here; they belong
|
|
|
|
// in the individual module build.gradle files
|
|
|
|
}
|
2015-09-14 17:35:58 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
allprojects {
|
2022-06-09 12:50:45 +03:00
|
|
|
repositories {
|
|
|
|
maven { url = uri("$rootDir/node_modules/jsc-android/dist") }
|
|
|
|
maven { url = uri("$rootDir/android") }
|
|
|
|
google()
|
|
|
|
mavenCentral {
|
|
|
|
// We don't want to fetch react-native from Maven Central as there are
|
|
|
|
// older versions over there.
|
|
|
|
content { excludeGroup("com.facebook.react") }
|
2015-09-14 17:35:58 +03:00
|
|
|
}
|
2022-06-09 12:50:45 +03:00
|
|
|
}
|
2015-09-14 17:35:58 +03:00
|
|
|
}
|
2021-11-30 12:51:38 +03:00
|
|
|
|
|
|
|
tasks.register("cleanAll", Delete::class.java) {
|
2022-06-09 12:50:45 +03:00
|
|
|
description = "Remove all the build files and intermediate build outputs"
|
|
|
|
dependsOn(gradle.includedBuild("react-native-gradle-plugin").task(":clean"))
|
|
|
|
delete(allprojects.map { it.buildDir })
|
|
|
|
delete(rootProject.file("./ReactAndroid/.cxx"))
|
|
|
|
delete(rootProject.file("./ReactAndroid/hermes-engine/.cxx"))
|
|
|
|
delete(rootProject.file("./sdks/download/"))
|
|
|
|
delete(rootProject.file("./sdks/hermes/"))
|
|
|
|
delete(rootProject.file("./ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/"))
|
|
|
|
delete(rootProject.file("./ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/"))
|
|
|
|
delete(rootProject.file("./ReactAndroid/src/main/jni/prebuilt/lib/x86/"))
|
|
|
|
delete(rootProject.file("./ReactAndroid/src/main/jni/prebuilt/lib/x86_64/"))
|
|
|
|
delete(rootProject.file("./packages/react-native-codegen/lib"))
|
|
|
|
delete(rootProject.file("./packages/rn-tester/android/app/.cxx"))
|
2021-11-30 12:51:38 +03:00
|
|
|
}
|
2022-05-16 19:27:54 +03:00
|
|
|
|
|
|
|
tasks.register("buildAll") {
|
2022-06-09 12:50:45 +03:00
|
|
|
description = "Build and test all the React Native relevant projects."
|
|
|
|
dependsOn(gradle.includedBuild("react-native-gradle-plugin").task(":build"))
|
|
|
|
// This builds both the React Native framework for both debug and release
|
|
|
|
dependsOn(":ReactAndroid:assemble")
|
|
|
|
// This creates all the Maven artifacts and makes them available in the /android folder
|
|
|
|
dependsOn(":ReactAndroid:installArchives")
|
|
|
|
// This builds RN Tester for Hermes/JSC for debug only
|
|
|
|
dependsOn(":packages:rn-tester:android:app:assembleDebug")
|
2022-05-16 19:27:54 +03:00
|
|
|
}
|
2022-05-18 01:31:48 +03:00
|
|
|
|
|
|
|
tasks.register("downloadAll") {
|
2022-06-09 12:50:45 +03:00
|
|
|
description = "Download all the depedencies needed locally so they can be cached on CI."
|
|
|
|
dependsOn(gradle.includedBuild("react-native-gradle-plugin").task(":dependencies"))
|
|
|
|
dependsOn(":ReactAndroid:downloadNdkBuildDependencies")
|
|
|
|
dependsOn(":ReactAndroid:dependencies")
|
|
|
|
dependsOn(":ReactAndroid:androidDependencies")
|
|
|
|
dependsOn(":ReactAndroid:hermes-engine:dependencies")
|
|
|
|
dependsOn(":ReactAndroid:hermes-engine:androidDependencies")
|
2022-05-18 01:31:48 +03:00
|
|
|
}
|