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.aosp_kotlin_version = '1.3.61'
    ext.kotlin_version = '1.4.31'

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

ext {
    buildToolsVersion = '30.0.2'
    compileSdkVersion = 30
    minSdkVersion = 29
    targetSdkVersion = 30
}

apply from: 'gradle/dependencies.gradle'

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

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