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

buildscript {
    ext.kotlinVersion = '1.3.10'
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
        classpath 'io.fabric.tools:gradle:1.+'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://www.jitpack.io" }
    }
}

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

ext {
    // Sdk and tools
    minSdkVersion = 19
    targetSdkVersion = 28
    compileSdkVersion = 28
    buildToolsVersion = '28.0.3'

    // App dependencies
    supportLibraryVersion = '1.0.0'
    daggerVersion = '2.5'
    retrofitVersion = '2.4.0'
    okHttp3Version = '3.11.0'
    butterKnifeVersion = '10.1.0'
    lifecycleExtension = '2.0.0'

    // rxjava dependencies
    rxjavaVersion = '2.2.1'
    rxandroidVersion = '2.0.2'
    rxKotlinVersion = '2.2.0'

    //android-job
    androidJobVersion = '1.2.6'

    //db-flow
    dbflowVersion = "4.2.4"

    junitVersion = '4.12'
    mockitoVersion = '2.6.2'
    powerMockito = '1.6.2'
    hamcrestVersion = '1.3'
    runnerVersion = '1.1.0'
    rulesVersion = '1.1.0'
    espressoVersion = '3.2.0'
    sweetErrorVersion = '1.0.0'
    glideVersion = '3.7.0'
    materialStepperVersion = '3.3.0'
    sticyHeaderVersion = '0.7.6'
    roboElectricVersion = '3.1'
    circleImageviewVersion = '2.1.0'
    compressorVersion = '2.1.0'
    mifosPasscodeVersion = '1.0.0'
    easyValidationVersion = '1.0.1'
    version_kotlin_coroutines = '1.3.4'
    couchbase = '2.7.1'
    extJunit = "1.1.1"
    espressoCore = "3.2.0"
    espressonContribute = "3.2.0"
}
