apply plugin: 'com.android.library'
import groovy.json.JsonSlurper

def DEFAULT_COMPILE_SDK_VERSION = 29
def DEFAULT_MIN_SDK_VERSION = 16
def DEFAULT_TARGET_SDK_VERSION = 29

def getNpmVersion() {
    def packageJsonFile = file('../package.json')
    def packageJson = new JsonSlurper().parseText(packageJsonFile.text)
    return packageJson.version
}

repositories {
    mavenLocal()
    mavenCentral()
    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"
    }
    google()
}

def safeExtGet(prop, fallback) {
    rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.

    android {
        compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)

        defaultConfig {
            minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION)
            targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION)

            versionCode 1
            versionName "1.0"

            buildConfigField("String", "RNBRANCH_VERSION", "\"${getNpmVersion()}\"")
        }
    }

dependencies {
    implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
    implementation 'com.facebook.react:react-native:+' // From node_modules
    api 'io.branch.sdk.android:library:5.21.1'
}
