2022-08-08 21:02:08 +00:00
|
|
|
import org.apache.tools.ant.taskdefs.condition.Os
|
|
|
|
|
2017-08-03 18:23:43 +00:00
|
|
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
|
|
buildscript {
|
2020-11-09 20:14:35 +00:00
|
|
|
def taskRequests = getGradle().getStartParameter().getTaskRequests().toString().toLowerCase()
|
|
|
|
def isPlay = !taskRequests.contains("foss")
|
|
|
|
|
2019-05-22 20:15:35 +00:00
|
|
|
ext {
|
2022-08-08 21:02:08 +00:00
|
|
|
buildToolsVersion = "31.0.0"
|
2020-11-03 14:18:15 +00:00
|
|
|
minSdkVersion = 23
|
2022-08-08 21:02:08 +00:00
|
|
|
compileSdkVersion = 31
|
2022-09-13 19:02:01 +00:00
|
|
|
targetSdkVersion = 31
|
2022-08-08 21:02:08 +00:00
|
|
|
if (System.properties['os.arch'] == "aarch64") {
|
|
|
|
// For M1 Users we need to use the NDK 24 which added support for aarch64
|
|
|
|
ndkVersion = "24.0.8215888"
|
|
|
|
} else {
|
|
|
|
// Otherwise we default to the side-by-side NDK version from AGP.
|
|
|
|
ndkVersion = "21.4.7075529"
|
|
|
|
}
|
2020-11-30 17:00:06 +00:00
|
|
|
glideVersion = "4.11.0"
|
2022-06-01 19:46:37 +00:00
|
|
|
kotlin_version = "1.6.10"
|
2022-08-08 21:02:08 +00:00
|
|
|
kotlinVersion = '1.6.10'
|
2019-09-17 19:24:47 +00:00
|
|
|
supportLibVersion = "28.0.0"
|
2020-11-09 20:14:35 +00:00
|
|
|
libre_build = !(isPlay.toBoolean())
|
2019-05-22 20:15:35 +00:00
|
|
|
}
|
2020-11-09 20:14:35 +00:00
|
|
|
|
2017-08-03 18:23:43 +00:00
|
|
|
repositories {
|
2018-07-10 13:40:32 +00:00
|
|
|
mavenLocal()
|
2018-10-23 21:39:48 +00:00
|
|
|
google()
|
2019-05-28 13:03:08 +00:00
|
|
|
maven {
|
|
|
|
url 'https://maven.fabric.io/public'
|
|
|
|
}
|
2022-08-08 21:02:08 +00:00
|
|
|
mavenCentral()
|
2017-08-03 18:23:43 +00:00
|
|
|
}
|
2020-08-24 12:24:10 +00:00
|
|
|
|
2017-08-03 18:23:43 +00:00
|
|
|
dependencies {
|
2020-08-24 12:24:10 +00:00
|
|
|
if (isPlay) {
|
2022-08-08 21:02:08 +00:00
|
|
|
classpath 'com.google.gms:google-services:4.3.8'
|
|
|
|
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.0'
|
|
|
|
classpath 'com.bugsnag:bugsnag-android-gradle-plugin:7.+'
|
2020-08-24 12:24:10 +00:00
|
|
|
}
|
2022-08-08 21:02:08 +00:00
|
|
|
classpath("com.android.tools.build:gradle:7.0.4")
|
|
|
|
classpath("com.facebook.react:react-native-gradle-plugin")
|
|
|
|
classpath("de.undercouch:gradle-download-task:4.1.2")
|
2019-09-16 20:26:32 +00:00
|
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
2017-08-03 18:23:43 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
allprojects {
|
|
|
|
repositories {
|
|
|
|
mavenLocal()
|
|
|
|
maven {
|
|
|
|
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
2019-08-07 13:51:34 +00:00
|
|
|
url("$rootDir/../node_modules/react-native/android")
|
2017-08-03 18:23:43 +00:00
|
|
|
}
|
2019-06-05 14:20:56 +00:00
|
|
|
maven {
|
2020-11-09 20:14:35 +00:00
|
|
|
// Android JSC is installed from npm
|
|
|
|
url("$rootDir/../node_modules/jsc-android/dist")
|
|
|
|
}
|
2020-12-04 22:18:55 +00:00
|
|
|
|
2021-12-02 13:19:15 +00:00
|
|
|
maven {
|
|
|
|
url "$rootDir/../node_modules/detox/Detox-android"
|
|
|
|
}
|
2023-03-02 14:15:47 +00:00
|
|
|
|
|
|
|
maven {
|
|
|
|
// expo-camera bundles a custom com.google.android:cameraview
|
|
|
|
url "$rootDir/../node_modules/expo-camera/android/maven"
|
|
|
|
}
|
2021-12-02 13:19:15 +00:00
|
|
|
|
2022-08-08 21:02:08 +00:00
|
|
|
mavenCentral {
|
|
|
|
content {
|
|
|
|
excludeGroup "com.facebook.react"
|
|
|
|
}
|
|
|
|
}
|
2019-08-07 13:51:34 +00:00
|
|
|
|
|
|
|
google()
|
|
|
|
maven { url 'https://maven.google.com' }
|
2020-05-08 16:37:49 +00:00
|
|
|
maven { url 'https://www.jitpack.io' }
|
2023-03-07 12:28:51 +00:00
|
|
|
|
|
|
|
// https://stackoverflow.com/a/74333788/5447468
|
|
|
|
// TODO: remove once we update RN
|
|
|
|
exclusiveContent {
|
|
|
|
// We get React Native's Android binaries exclusively through npm,
|
|
|
|
// from a local Maven repo inside node_modules/react-native/.
|
|
|
|
// (The use of exclusiveContent prevents looking elsewhere like Maven Central
|
|
|
|
// and potentially getting a wrong version.)
|
|
|
|
filter {
|
|
|
|
includeGroup "com.facebook.react"
|
|
|
|
}
|
|
|
|
forRepository {
|
|
|
|
maven {
|
|
|
|
// NOTE: if you are in a monorepo, you may have "$rootDir/../../../node_modules/react-native/android"
|
|
|
|
url "$rootDir/../node_modules/react-native/android"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
subprojects { subproject ->
|
|
|
|
afterEvaluate {
|
|
|
|
if (!project.name.equalsIgnoreCase("app") && project.hasProperty("android")) {
|
|
|
|
android {
|
|
|
|
compileSdkVersion 31
|
|
|
|
buildToolsVersion "31.0.0"
|
|
|
|
defaultConfig {
|
|
|
|
minSdkVersion 23
|
|
|
|
targetSdkVersion 31
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2017-08-03 18:23:43 +00:00
|
|
|
}
|
2022-08-08 21:02:08 +00:00
|
|
|
}
|