allprojects { project ->
    buildscript {
        ext.booster_version = '4.9.0'
        ext.plugin_version = "0.3.0"

        repositories {
            mavenLocal()
            google()
            mavenCentral()
            jcenter()
            maven { url 'https://oss.sonatype.org/content/repositories/public' }
            maven { url "https://artifact.bytedance.com/repository/byteX/" }
            maven { url 'https://maven.aliyun.com/repository/public' }
        }

        dependencies {
            // byteX
            classpath "com.bytedance.android.byteX:base-plugin:${plugin_version}"
            classpath "com.bytedance.android.byteX:const-inline-plugin:${plugin_version}"
            classpath "com.bytedance.android.byteX:method-call-opt-plugin:${plugin_version}"
            classpath "com.bytedance.android.byteX:field-assign-opt-plugin:${plugin_version}"

            // booster
            classpath "com.didiglobal.booster:booster-gradle-plugin:$booster_version"
//            classpath "com.didiglobal.booster:booster-transform-shared-preferences:$booster_version"
//            classpath "com.didiglobal.booster:booster-transform-r-inline:$booster_version"
            classpath "com.didiglobal.booster:booster-transform-finalizer-watchdog-daemon:$booster_version"
            classpath "com.didiglobal.booster:booster-transform-res-check:$booster_version"
            classpath "com.didiglobal.booster:booster-transform-activity-thread:$booster_version"
        }
    }
    repositories {
        mavenLocal()
        google()
        mavenCentral()
        jcenter()
        maven { url 'https://oss.sonatype.org/content/repositories/public' }
        maven { url "https://artifact.bytedance.com/repository/byteX/" }
        maven { url 'https://maven.aliyun.com/repository/public' }
    }

    project.afterEvaluate {
        // apply plugin only with this init script
        if (project.name == "app") {
            project.apply plugin: 'com.didiglobal.booster'

            project.apply plugin: "com.gh.gamecenter.plugin"

            project.apply plugin: 'bytex'
            project.apply plugin: 'bytex.field_assign_opt' //去除重复的赋值 https://github.com/bytedance/ByteX/blob/master/field-assign-opt-plugin/README-zh.md

            project.field_assign_opt {
                enable false
                enableInDebug false
                logLevel "INFO"
                removeLineNumber true // 同时移除赋值对应的行号信息(如果有的话),默认true。
                whiteList = [
                        //白名单，ClassName.FieldName 。不支持模式匹配
                        //"android.support.constraint.solver.ArrayRow.isSimpleDefinition"
                ]
            }
        }

    }
}