// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/public'
            name '代替 jcenter()及mavenCentral()'
        }
        maven {
            url 'https://maven.aliyun.com/repository/jcenter'
            name '代替 jcenter()'
        }
        maven {
            url 'https://maven.aliyun.com/repository/google'
            name '代替 google()'
        }
        if (gradle.ext.depConfig.plugin_bus.useLocal) {
            maven() {
                // use for debug plugin local
                url new File("busMaven")
            }
        }
        google()
        jcenter()
    }

    dependencies {
        // 根据 config 来 configClasspath 各 plugin
        gradle.ext.depConfig.each { name, config ->
            if (name.startsWith("plugin_") && config.isApply) {
                classpath config.remotePath
            }
        }
    }
}

allprojects {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/public'
            name '代替 jcenter()及mavenCentral()'
        }
        maven {
            url 'https://maven.aliyun.com/repository/jcenter'
            name '代替 jcenter()'
        }
        maven {
            url 'https://maven.aliyun.com/repository/google'
            name '代替 google()'
        }
        google()
        jcenter()
    }

    configurations.all {
        resolutionStrategy.cacheChangingModulesFor 0, 'seconds'

        resolutionStrategy.eachDependency {
            if (it.requested.group == 'com.android.support'
                    && !it.requested.name.contains('multidex')) {
                it.useVersion gradle.ext.support_version
            }
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
