
buildscript {
    repositories {
        mavenLocal()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
    }
}

plugins {
    id "de.undercouch.download" version "3.2.0"
//    id "com.github.dcendents.android-maven" version "1.5"
}

repositories {
    mavenLocal()
    jcenter()
}

subprojects {
    repositories {
        mavenLocal()
        jcenter()
    }
    buildscript {
        repositories {
            mavenLocal()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
            classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        }
    }
    ext {
        compileSdkVersion=25
        buildToolsVersion="25.0.3"
        minSdkVersion=14
        appMinSdkVersion=15
        targetSdkVersion=25
        supportLibVersion="25.3.1"
        fastjsonLibVersion="1.1.46.android"
    }
}

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