// 通用配置
android {

    // 编译源码版本
    compileSdk 31
    defaultConfig {
        // 最低安装版本
        minSdk 12
        // Android 版本适配指南：https://github.com/getActivity/AndroidVersionAdapter
        targetSdk 31
        versionCode 1030
        versionName "10.3"
    }

    // 支持 Java JDK 8
    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }

    // 读取 local.properties 文件配置
    def properties = new Properties()
    def localPropertiesFile = rootProject.file("local.properties")
    if (localPropertiesFile.exists()) {
        localPropertiesFile.withInputStream { inputStream ->
            properties.load(inputStream)
        }
    }

    String buildDirPath = properties.getProperty("build.dir")
    if (buildDirPath != null && buildDirPath != "") {
        // 将构建文件统一输出到指定的目录下
        setBuildDir(new File(buildDirPath, rootProject.name + "/build/${path.replaceAll(':', '/')}"))
    } else {
        // 将构建文件统一输出到项目根目录下的 build 文件夹
        setBuildDir(new File(rootDir, "build/${path.replaceAll(':', '/')}"))
    }
}

dependencies {
    // 解决升级到 Gson 2.13.0 版本之后，出现 jetified-error_prone_annotations 编译报错的问题
    // https://stackoverflow.com/questions/79408107/gradle-build-failed-nullpointerexception-in-error-prone-annotations-2-36-0-jar
    configurations.configureEach {
        exclude group: 'com.google.errorprone', module: 'error_prone_annotations'
    }
}