plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'kotlin-kapt'
    id 'com.google.dagger.hilt.android'
    id 'kotlin-parcelize'
}

android {
    namespace 'com.king.template'
    compileSdk build_versions.compileSdk

    defaultConfig {
        applicationId "com.king.template"
        minSdk build_versions.minSdk
        targetSdk build_versions.targetSdk
        versionCode app_version.versionCode
        versionName app_version.versionName

        ndk {
            //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
            abiFilters "armeabi-v7a","x86_64" //, "arm64-v8a""x86",
        }

        vectorDrawables {
            useSupportLibrary true
        }
    }

    packagingOptions {
        exclude 'META-INF/*.kotlin_module'
    }

    if(rootProject.ext.signingEnabled){
        signingConfigs {
            config  {
                //加载配置资源
                Properties properties = new Properties()
                InputStream inputStream = rootProject.file('local.properties').newDataInputStream()
                properties.load( inputStream )

                //读取配置文件
                def storeFileDir = properties.getProperty('storeFile.file')
                storeFile file( storeFileDir )

                //读取配置字段
                def key_keyAlias = properties.getProperty('keyAlias')
                def key_keyPassword = properties.getProperty('keyPassword')
                def key_storePassword = properties.getProperty('storePassword')

                keyAlias key_keyAlias
                keyPassword key_keyPassword
                storePassword key_storePassword
            }

        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            if (rootProject.ext.signingEnabled) {
                signingConfig signingConfigs.config
            }
        }
    }

    lintOptions {
        abortOnError false
        warning 'InvalidPackage'
    }

    buildFeatures {
        dataBinding = true
    }

    compileOptions {
        targetCompatibility JavaVersion.VERSION_17
        sourceCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_17.toString()
    }

//    flavorDimensions "flavor"
//    productFlavors {
//        // 正式
//        flavors_release {
//            dimension "flavor"
//        }
//        // 开发
//        flavors_dev {
//            dimension "flavor"
//        }
//    }

}



dependencies {
    implementation "androidx.core:core-ktx:$versions.coreKtx"
    implementation "com.google.android.material:material:$versions.material"
    implementation "androidx.constraintlayout:constraintlayout:$versions.constraintlayout"
    implementation "androidx.recyclerview:recyclerview:$versions.recyclerview"

    testImplementation "junit:junit:$versions.junit"
    androidTestImplementation "androidx.test.ext:junit:$versions.androidExtJunit"
    androidTestImplementation "androidx.test.espresso:espresso-core:$versions.espressoCore"

//    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$versions.kotlinxCoroutines"
//    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$versions.kotlinxCoroutines"
//    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$versions.lifecycleKtx"
//    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$versions.lifecycleKtx"

    //room
    kapt "androidx.room:room-compiler:$versions.room"
    //hilt
    implementation "com.google.dagger:hilt-android:$versions.daggerHilt"
    kapt "com.google.dagger:hilt-compiler:$versions.daggerHilt"

    implementation "com.github.jenly1314:mvvmframe:$versions.mvvmframe"
    //app-updater
    implementation "com.github.jenly1314.AppUpdater:app-updater:$versions.appUpdater"
    //app-dialog
    implementation "com.github.jenly1314.AppUpdater:app-dialog:$versions.appUpdater"
    implementation "com.github.jenly1314:NeverCrash:$versions.nevercrash"
    implementation "com.github.jenly1314:BaseUrlManager:$versions.baseUrlManager"
    implementation "com.github.jenly1314:SuperTextView:$versions.superTextView"
    implementation "com.github.jenly1314:logx:$versions.logx"

    implementation "io.github.cymchad:BaseRecyclerViewAdapterHelper:$versions.brvah"

    implementation "io.github.scwang90:refresh-layout-kernel:$versions.smartRefreshLayout"
    implementation "io.github.scwang90:refresh-header-material:$versions.smartRefreshLayout"
    implementation "io.github.scwang90:refresh-footer-classics:$versions.smartRefreshLayout"
//    implementation "io.github.scwang90:SmartRefreshLayout:$versions.smartRefreshLayout"
//    implementation "io.github.scwang90:SmartRefreshHeader:$versions.smartRefreshLayout"

    implementation "com.github.bumptech.glide:glide:$versions.glide"
    kapt "com.github.bumptech.glide:compiler:$versions.glide"

    implementation "com.tencent:mmkv:$versions.mmkv"

    //leakCanary
    debugImplementation "com.squareup.leakcanary:leakcanary-android:$versions.leakcanary"

    implementation "de.hdodenhof:circleimageview:$versions.circleimageview"

    implementation "io.github.youth5201314:banner:$versions.banner"

    implementation "com.github.JessYanCoding:AndroidAutoSize:$versions.autosize"

    implementation "io.github.androidktx:android-ktx:$versions.androidktx"

    implementation "com.github.AndroidUtil:AndroidUtil:$versions.androidutil"

    implementation "androidx.startup:startup-runtime:$versions.startup"

    implementation "com.github.jenly1314:kvcache:$versions.kvcache"

    implementation "com.github.jenly1314:imageviewer:$versions.imageviewer"
//    implementation "com.github.jenly1314:GuidePage:$versions.guidepage"

//    implementation "de.hdodenhof:circleimageview:$versions.circleimageview"
//
//    implementation "com.github.chrisbanes:PhotoView:$versions.photoView"
//
//    debugImplementation "com.amitshekhar.android:debug-db:$versions.debugDb"

    implementation project(":lib-umeng")

}

if(rootProject.ext.tinkerEnabled){
    apply from: 'tinker-support.gradle'
}