// 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'
}

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