// 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 = "27.0.3" minSdkVersion = 16 compileSdkVersion = 27 targetSdkVersion = 26 supportLibVersion = "27.1.1" } repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.4' // Add this line classpath 'com.google.gms:google-services:4.0.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { mavenLocal() google() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" } maven { url 'https://maven.google.com' } maven { url "https://jitpack.io" } } } subprojects {project -> if (project.name.contains('react-native-fast-image')|| project.name.contains('realm')) { buildscript { repositories { maven { url "https://dl.bintray.com/android/android-tools/" } } } } ext { def npmVersion = getNpmVersionArray() versionMajor = npmVersion[0] versionMinor = npmVersion[1] versionPatch = npmVersion[2] } } task wrapper(type: Wrapper) { gradleVersion = '4.4' distributionUrl = distributionUrl.replace("bin", "all") }