buildscript {
    // Define versions in a single place
    ext {
        // Sdk and tools
        compileSdkVersion = 28
        minSdkVersion = 21
        targetSdkVersion = 28

        // App dependencies
        appCompatVersion = '1.1.0-beta01'
        constraintLayoutVersion = '2.0.0-beta1'
        coroutinesVersion = "1.3.0-RC"
        fragmentVersion = '1.1.0-alpha09'
        glideVersion = '4.9.0'
        gradleVersion = '3.5.0'
        kotlinVersion = '1.3.41'
        ktlintVersion = '0.30.0'
        ktxVersion = '1.0.2'
        lifecycleVersion = '2.2.0-alpha02'
        materialVersion = '1.0.0'
        navigationVersion = '2.0.0'
        recyclerViewVersion = '1.1.0-alpha05'
        roomVersion = '2.2.0-alpha01'
        workVersion = '2.1.0'
        pagingVersion = '2.1.0'
        gsonVersion = '2.8.2'
        okhttp = '3.10.0'
        retrofit = '2.6.0'
        stetho = '1.5.1'
        timberVersion = '4.7.1'
        daggerVersion = '2.23.2'

        // Testing dependencies
        junitVersion = '4.12'
        espressoVersion = '3.1.1'
        coreTestingVersion = '2.0.0'
        jacocoVersion = '0.8.4'
        runnerVersion = '1.0.1'
        testExtJunit = '1.1.0'
        uiAutomatorVersion = '2.2.0'
        mockitoVersion = "2.25.0"
        mockitoAllVersion = "1.10.19"
        mockitoAndroidVersion = "2.25.0"
        mockwebserverVersion = "3.8.1"
        testCoreVersion = "1.1.0"
        testRunnerVersion = "1.1.1"
        testRulesVersion = "1.1.1"

    }

    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath "com.android.tools.build:gradle:$gradleVersion"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlinVersion"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigationVersion"
    }
}

plugins {
    id "com.diffplug.gradle.spotless" version "3.13.0"
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

spotless {
    kotlin {
        target "**/*.kt"
        ktlint(ktlintVersion)
    }
}
