ecency-mobile/android/build.gradle
2022-10-21 18:09:38 +05:00

97 lines
3.3 KiB
Groovy

// Top-level build file where you can add configuration options common to all sub-projects/modules.
import groovy.json.JsonSlurper
def getNpmVersion() {
def inputFile = new File(projectDir.getPath() + "/../package.json")
def packageJson = new JsonSlurper().parseText(inputFile.text)
return packageJson["version"]
}
def getNpmVersionArray() { // major [0], minor [1], patch [2]
def (major, minor, patch) = getNpmVersion().tokenize('.')
return [Integer.parseInt(major), Integer.parseInt(minor), Integer.parseInt(patch)] as int[]
}
buildscript {
ext {
buildToolsVersion = "31.0.0"
minSdkVersion = 21
compileSdkVersion = 31
targetSdkVersion = 31
googlePlayServicesVisionVersion = "17.0.2"
googlePlayServicesVersion = "16.+"
firebaseVersion = "17.3.4"
kotlinVersion = "1.6.0"
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"
}
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:7.2.1")
classpath 'com.google.gms:google-services:4.3.10'
classpath("com.facebook.react:react-native-gradle-plugin")
classpath("de.undercouch:gradle-download-task:5.0.1")
classpath 'com.bugsnag:bugsnag-android-gradle-plugin:7.+'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
maven { url "https://www.jitpack.io" }
mavenCentral {
// We don't want to fetch react-native from Maven Central as there are
// older versions over there.
content {
excludeGroup "com.facebook.react"
}
}
//TODO: remove when replacement for selective groups is available
//the jcenter will be accessible as read-only indefinitely so we should be
//good for now with these selective packages as they are not available off of
//jCenter
jcenter() {
content {
// these groups only available in jcenter otherwise we don't want to rely on jcenter.
includeGroup("com.facebook.yoga")
includeGroup("com.facebook.fbjni")
includeGroup("com.henninghall.android")
includeModule("com.yqritc", "android-scalablevideoview")
includeModule("com.wei.android.lib", "fingerprintidentify")
}
}
}
}
subprojects {project ->
ext {
def npmVersion = getNpmVersionArray()
versionMajor = npmVersion[0]
versionMinor = npmVersion[1]
versionPatch = npmVersion[2]
}
}