1d34224416
Look, this will make the git history look funny, but trimming unnecessary depth from the source tree is a very necessary sanity-preserving measure when dealing with a super-modularized codebase like this one. While it makes the project configuration a bit less conventional, it will save you several clicks every time you jump between modules. Which you'll do a lot, because it's *modul*ar. The src/main/java convention makes a lot of sense for a non-modular project though. This ain't that.
40 lines
888 B
Groovy
40 lines
888 B
Groovy
// 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'
|
|
}
|
|
}
|
|
}
|