import org.apache.tools.ant.taskdefs.condition.Os // Top-level build file where you can add configuration options common to all sub-projects/modules. /** * Project-wide gradle configuration properties for use by all modules */ ext { // kotlin_version is needed for react-native-camera-kit library kotlin_version = project.kotlinVersion RNNKotlinVersion = "1.6.20" RNGH_kotlinVersion = "1.6.20" buildToolsVersion = project.buildToolsVersion minSdkVersion = Integer.valueOf(project.minSdkVersion) compileSdkVersion = Integer.valueOf(project.compileSdkVersion) targetSdkVersion = Integer.valueOf(project.targetSdkVersion) supportLibVersion = project.supportLibVersion gradlePluginVersion = project.gradlePluginVersion kotlinPluginVersion = project.kotlinPluginVersion 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" } } buildscript { repositories { flatDir { dirs "libs", "${rootDir}/app/libs" } google() mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${project.ext.kotlinPluginVersion}" classpath "com.android.tools.build:gradle:${project.ext.gradlePluginVersion}" classpath("com.facebook.react:react-native-gradle-plugin") classpath("de.undercouch:gradle-download-task:5.0.1") // WARNING: Do not place your application dependencies here! // They belong in the individual module build.gradle files. } } subprojects { afterEvaluate { if (project.hasProperty("android")) { android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { targetSdkVersion rootProject.ext.targetSdkVersion } } } } } allprojects { beforeEvaluate { if (System.env.STATUS_GO_ANDROID_LIBDIR == null || System.env.STATUS_GO_ANDROID_LIBDIR == "") { throw new GradleException('STATUS_GO_ANDROID_LIBDIR environment variable is not valid!') } } repositories { 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 { url "$rootDir/../node_modules/react-native/android" } } } mavenLocal() // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm maven { url("$rootDir/../node_modules/react-native/android") } // Android JSC is installed from npm maven { url("$rootDir/../node_modules/jsc-android/dist") } // For geth, function, and status-go flatDir { dirs "libs", System.env.STATUS_GO_ANDROID_LIBDIR } // Everything Else google() jcenter() // Required for @react-native-community/blur:3.6.1, can be removed after updating to 3.6.1+ mavenCentral() // maven { url "https://www.jitpack.io" } maven { url 'https://mvnrepository.com/artifact/com.github.gundy/semver4j'} } }