apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {

    namespace 'com.ethan.psbc'
    compileSdk libs.versions.compileSdk.get().toInteger()

    defaultConfig {
        applicationId "com.ethan.psbc"
        minSdk libs.versions.minSdk.get().toInteger()
        targetSdk libs.versions.compileSdk.get().toInteger()
        versionCode 50
        versionName "1.1.6"
        setProperty('archivesBaseName', "PSBC-$versionName-$versionCode-" + (new Date()).format('yyyyMMdd'))
        ndk { abiFilters    "armeabi","x86","x86_64","armeabi-v7a","arm64-v8a" }
    }


    splits  {
        abi {
//            enable  true
//            reset()
            include "armeabi","x86","x86_64","armeabi-v7a","arm64-v8a"
//            universalApk   false
        }

    }


    signingConfigs {
        release {
            storeFile file('..\\keystore\\psbc.jks')
            storePassword '123456'
            keyAlias 'psbc'
            keyPassword '123456'
        }
        debug{
            storeFile file('..\\keystore\\psbc.jks')
            storePassword '123456'
            keyAlias 'psbc'
            keyPassword '123456'
        }
    }






    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.debug
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            debuggable  true
            testCoverageEnabled false
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        viewBinding true
        dataBinding false
        buildConfig true
    }
    packagingOptions {
        exclude 'META-INF/*.txt'
        exclude 'META-INF/*.version'
        exclude 'META-INF/*.kotlin_module'
        exclude 'kotlin/*'
        exclude 'kotlin/**/*.kotlin_builtins'
        exclude 'androidsupportmultidexversion.txt'
        exclude 'okhttp3/**'
        exclude 'com/**'
        exclude 'org/**'
        exclude '/*.properties'
        exclude "DebugProbesKt.bin"     // kotlin 协成调试
        exclude '/readme.md'            // library pinyin
        exclude '/README.md'            // library pinyin
    }
}

dependencies {

    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

    // modules

    // android
    implementation libs.core.ktx
    implementation libs.appcompat
    implementation libs.material
    implementation libs.constraint.layout

    implementation libs.kotlin.extension
    implementation libs.background.library
    implementation libs.mpchart
    implementation libs.xpopup
//    implementation libs.richtext
//    implementation libs.richtext.html
    // bundles
    implementation libs.bundles.slf4j
    implementation libs.bundles.koin
    implementation libs.bundles.qmui
    implementation libs.bundles.okhttp
    implementation libs.bundles.retrofit
    implementation libs.bundles.rxjava

    // commons
    implementation libs.common.glide
    implementation libs.common.gson
    implementation libs.common.guava
    implementation libs.common.lang
    implementation libs.common.io
    implementation libs.common.zip
    implementation libs.common.joor
    implementation libs.common.lua
    implementation libs.common.hide
    implementation libs.common.live
    implementation libs.okhttp.download.api
    implementation libs.okhttp.download.factory

    // widgets
    implementation libs.widget.recycler

    //cameraX
    implementation  libs.camera2
    implementation  libs.camera.core
    implementation  libs.camera.life
    implementation  libs.camera.video
    implementation  libs.camera.view
    implementation  libs.camera.mlkit
    implementation  libs.camera.ext

    // for debug
//    debugImplementation 'com.localebro:okhttpprofiler:1.0.8'



    // face
    implementation fileTree(dir: 'libs', include: ['CWFaceSDK.jar'])
}