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