buildscript {

    // 1.3.21 Android 10
    // 1.3.61 Android 11
    // Check:
    // https://android.googlesource.com/platform/external/kotlinc/+/refs/tags/android-11.0.0_r3/build.txt
    ext.kotlin_version = '1.3.61'

    repositories {
        jcenter()
        google()
    }
    dependencies {
        //noinspection DifferentKotlinGradleVersion
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.android.tools.build:gradle:4.1.0'
    }
}

allprojects {
    repositories {
        mavenCentral()
        jcenter()
        google()
        maven { url 'https://jitpack.io' }
    }
}

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