ext {
    versions = [
            support       : "26.0.0-beta2",
            firebase      : '11.0.2',
            okHttp        : "3.8.1",
            retrofit      : '2.3.0',
            espresso      : '2.2.2',
            espressoRunner: '0.5',
            powerMock     : '1.6.6',
            hamcrest      : '1.3',
            restMock      : '0.2.1',
            dagger        : '2.11',
            butterKnife   : '8.6.0',
            leakcanary    : '1.5.1',
            robolectric   : '3.2.2',
            assertj       : '1.1.1',
            rxKotlin      : '2.1.0',
            rxAndroid     : '2.0.1',
            mockito       : '2.8.9',
            junit         : '4.12',
            sqlbrite      : '1.1.2',
            timber        : '4.5.1',
            stethOkhttp   : '1.5.0',
            multiDex      : '1.0.1'
    ]

    mockito = [mockito: "org.mockito:mockito-core:$versions.mockito"]
    junit = [junit: "junit:junit:$versions.junit"]
    restMock = [restMock: "com.github.andrzejchm.RESTMock:android:$versions.restMock"]

    supportDeps = [
            cardView         : "com.android.support:cardview-v7:$versions.support",
            appcompatV7      : "com.android.support:appcompat-v7:$versions.support",
            design           : "com.android.support:design:$versions.support",
            recyclerView     : "com.android.support:recyclerview-v7:$versions.support",
            supportAnnotation: "com.android.support:support-annotations:$versions.support",
            gridLayout       : "com.android.support:gridlayout-v7:$versions.support",
            multiDex         : "com.android.support:multidex:$versions.multiDex"
    ]

    rxJava = [
            rxKotlin : "io.reactivex.rxjava2:rxkotlin:$versions.rxKotlin",
            rxAndroid: "io.reactivex.rxjava2:rxandroid:$versions.rxAndroid"
    ]

    retrofit = [
            retrofit     : "com.squareup.retrofit2:retrofit:$versions.retrofit",
            rxAdapter    : "com.squareup.retrofit2:adapter-rxjava2:$versions.retrofit",
            gsonConverter: "com.squareup.retrofit2:converter-gson:$versions.retrofit",
            sqlbrite     : "com.squareup.sqlbrite:sqlbrite:$versions.sqlbrite"
    ]

    okHttp = [
            logger: "com.squareup.okhttp3:logging-interceptor:$versions.okHttp",
            okhttp  : "com.squareup.okhttp3:okhttp:$versions.okHttp"
    ]

    googlePlay = [
            maps             : "com.google.android.gms:play-services-maps:$versions.firebase",
            crash            : "com.google.firebase:firebase-crash:$versions.firebase",
            firebaseCore     : "com.google.firebase:firebase-core:$versions.firebase",
            firebaseMessaging: "com.google.firebase:firebase-messaging:$versions.firebase"
    ]

    unitTest = [
            harcrestCore        : "org.hamcrest:hamcrest-core:$versions.hamcrest",
            harmcrestLib        : "org.hamcrest:hamcrest-library:$versions.hamcrest",
            hamcrestIntegration : "org.hamcrest:hamcrest-integration:$versions.hamcrest",
            robolectric         : "org.robolectric:robolectric:$versions.robolectric",
            supportAnnotation   : "com.android.support:support-annotations:$versions.support",
            restMock            : "com.github.andrzejchm.RESTMock:android:$versions.restMock",
            assertj             : "com.squareup.assertj:assertj-android:$versions.assertj",
            kotlinTest          : "org.jetbrains.kotlin:kotlin-test:$kotlin_version",
            kotlinJunit         : "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"

    ] + junit + mockito + restMock

    androidTests = [
            espressoCore   : "com.android.support.test.espresso:espresso-core:$versions.espresso",
            espressoContrib: "com.android.support.test.espresso:espresso-contrib:$versions.espresso",
            espressoIntents: "com.android.support.test.espresso:espresso-intents:$versions.espresso",
            testRunner     : "com.android.support.test:runner:$versions.espressoRunner",
            testRules      : "com.android.support.test:rules:$versions.espressoRunner",
    ] + mockito + restMock

    supportLibs = supportDeps.values()
    networkLibs = retrofit.values() + okHttp.values()
    rxJavaLibs = rxJava.values()
    googlePlayLibs = googlePlay.values()
    unitTestLibs = unitTest.values()
    androidTestsLibs = androidTests.values() + supportLibs

    leakCannary = "com.squareup.leakcanary:leakcanary-android:$versions.leakcanary"
    daggerCompiler = "com.google.dagger:dagger-compiler:$versions.dagger"
}