buildscript {
  if (project == rootProject) {
    repositories {
      google()
      mavenLocal()
      mavenCentral()
      jcenter()
    }

    dependencies {
      classpath 'com.android.tools.build:gradle:4.2.2'
      classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
      classpath 'com.viettel.vcar.xsign:xvision:0.0.4'
    }
  }
}

apply plugin: 'com.android.library'
apply plugin: 'com.google.protobuf'
apply plugin: 'idea'

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

android {
//  compileSdkPreview 24

  defaultConfig {
    compileSdkVersion 24
    minSdkVersion safeExtGet('XsignPostProcessing_minSdkVersion', 24)
    targetSdkVersion safeExtGet('XsignPostProcessing_targetSdkVersion', 29)
    versionCode 1
    versionName "1.0"
  }

  buildTypes {
    release {
      minifyEnabled false
    }
  }
  lintOptions {
    disable 'GradleCompatible'
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }

  sourceSets {
    main.java.srcDirs += "${protobuf.generatedFilesBaseDir}"
  }
}

repositories {
  mavenLocal()
  maven {
    // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
    url("$rootDir/../node_modules/react-native/android")
  }
  google()
  mavenCentral()
  jcenter()
}

dependencies {
  //noinspection GradleDynamicVersion
  implementation "com.facebook.react:react-native:+"  // From node_modules
//    implementation "com.google.protobuf:protobuf-lite:3.0.0"
//  implementation 'com.google.protobuf:protobuf-javalite:3.18.0'
  implementation "com.jsoniter:jsoniter:0.9.19"
  implementation "com.viettel.vcar.xsign:xvision:0.0.4"
}

//protobuf {
//  protoc {
//    artifact = 'com.google.protobuf:protoc:3.18.0'
//  }
//  generatedFilesBaseDir = "$projectDir/src/main/java"
//  generateProtoTasks {
//    all().each { task ->
//      task.builtins {
//        java {
//          option "lite"
//        }
//      }
//    }
//  }
//}
