// Top-level build file where you can add configuration options common to all sub-projects/modules.

apply plugin: 'com.github.ben-manes.versions'

buildscript {
    repositories {
        jcenter()

        maven {
            url 'https://jitpack.io'
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
        classpath 'com.github.ben-manes:gradle-versions-plugin:0.13.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()

        maven {
            url 'https://jitpack.io'
        }
    }
}

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