import groovy.json.JsonSlurper

apply plugin: 'com.android.library'

def safeExtGet(prop, fallback) {
    rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}

def computeVersionName() {
    // dynamically retrieve version from package.json
    def slurper = new JsonSlurper()
    def json = slurper.parse(file('../package.json'), "utf-8")
    return json.version
}

buildscript {
    repositories {
        jcenter()
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
    }
}

android {
    compileSdkVersion safeExtGet('compileSdkVersion', 25)

    // Android plugin for Gradle 3.0.0 or higher, automatically uses a default version 
    // buildToolsVersion safeExtGet('buildToolsVersion', '26.0.3')

    defaultConfig {
        minSdkVersion safeExtGet('minSdkVersion', 16)
        targetSdkVersion safeExtGet('targetSdkVersion', 25)
        versionCode 1
        versionName computeVersionName()
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }
    lintOptions {
        abortOnError false
    }
    sourceSets {
        main {
          jniLibs.srcDirs = ['libs']
        }
    }
}

repositories {
    mavenCentral()
    maven { url 'https://dl.bintray.com/sunmi/maven/' }
    maven { url "$rootDir/../node_modules/react-native/android" }
    maven { url "$projectDir/../Example/node_modules/react-native/android" }
    maven { url "$projectDir/../../react-native/android" }

}

allprojects {
    repositories {
        jcenter()
        google()
    }
}


repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.google.zxing:core:3.3.0'
    implementation 'com.google.code.gson:gson:2.8.1'
    implementation 'org.jsoup:jsoup:1.10.3'
    implementation 'com.sunmi:DS_Lib:latest.release'

    // From node_modules
    implementation "com.facebook.react:react-native:${safeExtGet('reactNativeVersion', '+')}"
}
