老师教我们使用protobuf代码生成插件protobuf-gradle-plugin来创建proto接口。
根据github页面的README:
compile 'io.grpc:grpc-netty-shaded:1.19.0'
compile 'io.grpc:grpc-protobuf:1.19.0'
compile 'io.grpc:grpc-stub:1.19.0'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.8'
}
}
以及
plugins {
id "com.google.protobuf" version "0.8.8"
id "java"
}
和
protobuf {
protoc {
artifact = "com.google.protobuf:protoc:3.6.1"
}
plugins {
grpc {
artifact = 'io.grpc:protoc-gen-grpc-java:1.19.0'
}
}
generateProtoTasks {
all()*.plugins {
grpc {}
}
}
}
sourceSets {
main {
proto {
// 默认'src/main/proto',可再定义其它目录
srcDir 'src/main/protobuf'
srcDir 'src/main/protocolbuffers'
// 默认后缀名为.proto,不建议修改
include '**/*.protodevel'
}
java {
...
}
}
test {
proto {
// 默认是 'src/test/proto',可添加其它目录
srcDir 'src/test/protocolbuffers'
}
}
}
然后代码都在build/generated/source/proto/main
中放置。