apply plugin: 'com.android.application'
apply plugin: 'com.google.protobuf'

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    compileSdkVersion 33

    defaultConfig {
        applicationId "io.grpc.clientcacheexample"
        minSdkVersion 19
        targetSdkVersion 33
        multiDexEnabled true
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        debug { minifyEnabled false }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        disable 'GoogleAppIndexingWarning', 'HardcodedText', 'InvalidPackage'
        textReport true
        textOutput "stdout"
    }
}

protobuf {
    protoc { artifact = 'com.google.protobuf:protoc:3.22.3' }
    plugins {
        grpc { artifact = 'io.grpc:protoc-gen-grpc-java:1.56.1-SNAPSHOT' // CURRENT_GRPC_VERSION
        }
    }
    generateProtoTasks {
        all().each { task ->
            task.builtins {
                java { option 'lite' }
            }
            task.plugins {
                grpc { // Options added to --grpc_out
                    option 'lite' }
            }
        }
    }
}

dependencies {
    implementation 'com.android.support:appcompat-v7:27.0.2'

    // You need to build grpc-java to obtain these libraries below.
    implementation 'io.grpc:grpc-okhttp:1.56.1-SNAPSHOT' // CURRENT_GRPC_VERSION
    implementation 'io.grpc:grpc-protobuf-lite:1.56.1-SNAPSHOT' // CURRENT_GRPC_VERSION
    implementation 'io.grpc:grpc-stub:1.56.1-SNAPSHOT' // CURRENT_GRPC_VERSION
    implementation 'org.apache.tomcat:annotations-api:6.0.53'

    testImplementation 'junit:junit:4.13.2'
    testImplementation 'com.google.truth:truth:1.0.1'
    testImplementation 'io.grpc:grpc-testing:1.56.1-SNAPSHOT' // CURRENT_GRPC_VERSION
}
