apply plugin: 'kotlin-android'

// 通用配置
android {

    // 编译源码版本
    compileSdkVersion 34
    defaultConfig {
        // 最低安装版本
        minSdkVersion 21
        // 目标适配版本
        targetSdkVersion 33
        versionName '5.4.0'
        versionCode 21
    }

    // 支持 Java JDK 21
    compileOptions {
        targetCompatibility JavaVersion.VERSION_21
        sourceCompatibility JavaVersion.VERSION_21
    }

    buildFeatures {
        viewBinding true
        buildConfig true
    }

    kotlinOptions {
        freeCompilerArgs = ["-Xcontext-receivers"]
    }

    // 设置存放 so 文件的目录
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

    // 可在 Studio 最左侧中的 Build Variants 选项中切换默认的构建类型
    buildTypes {
        // 调试版本
        debug {}
        // 预览版本
        preview {}
        // 正式版本
        release {}
    }

    // 代码警告配置
    lint {
        // 禁用文本硬编码警告
        // 禁用图片描述警告
        disable 'HardcodedText', 'ContentDescription'
    }
}

afterEvaluate {
    // 前提条件是这个 Module 工程必须是 Library 类型，并且排除名为 umeng 的 Module 工程
    if (android.defaultConfig.applicationId == null && "umeng" != getName()) {
        // 排除 BuildConfig.class
        generateReleaseBuildConfig.enabled = false
        generatePreviewBuildConfig.enabled = false
        generateDebugBuildConfig.enabled = false
    }
}

dependencies {
    // 依赖 libs 目录下所有的 jar 和 aar 包
    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

    // AndroidX 库：https://github.com/androidx/androidx
    implementation 'androidx.appcompat:appcompat:1.6.1'
    // Material 库：https://github.com/material-components/material-components-android
    implementation 'com.google.android.material:material:1.11.0'

    // Kotlin 协程：https://github.com/Kotlin/kotlinx.coroutines
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0'
    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.7'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7'
}