// Boilerplate configuration that should be included whenever protobufs are used
// see e.g. index-api's build.gradle

protobuf {
    protoc {
        if (osdetector.os == "osx") {
            artifact = "com.google.protobuf:protoc:3.0.2:osx-x86_64"
        } else {
            artifact = "com.google.protobuf:protoc:3.0.2"
        }
    }
    plugins {
        grpc {
            if (osdetector.os == "osx") {
                artifact = "io.grpc:protoc-gen-grpc-java:1.1.2:osx-x86_64"
            } else {
                artifact = "io.grpc:protoc-gen-grpc-java:1.1.2"
            }
        }
    }

    generateProtoTasks {
        all().each { task ->
            task.plugins {
                grpc {}
            }
        }
    }
}

tasks.compileJava.dependsOn('generateProto')

sourceSets {
    main {
        proto {
            srcDirs += 'src/main/protobuf'
        }
    }
}
