// Generic Gradle project

apply plugin: 'java'
apply plugin: 'com.google.protobuf'

sourceCompatibility = '1.8'

repositories {
    jcenter()
}

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.11'
    }
}

dependencies {
    implementation 'com.google.protobuf:protobuf-javalite:3.8.0'
    testImplementation 'junit:junit:4.13'
    testImplementation 'org.bouncycastle:bcprov-jdk15on:1.68'
    testImplementation 'org.conscrypt:conscrypt-openjdk-uber:2.5.1'
}

protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:3.8.0'
    }
    generateProtoTasks {
        all().each { task ->
            task.builtins {
                java {
                    option "lite"
                }
            }
        }
    }
}