P24
老师教我们使用protobuf代码生成插件protobuf-gradle-plugin来创建proto接口。
根据github页面的README:
- 添加grpc依赖
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'
- 在gradle配置文件中添加如下代码:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.8'
}
}
以及
代码语言:javascript复制plugins {
id "com.google.protobuf" version "0.8.8"
id "java"
}
和
代码语言:javascript复制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 {}
}
}
}
- 如果要配置proto输入目录,可在gradle配置文件添加:(也可以不添加,都使用默认值即可)
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'
}
}
}
- 在src/main/proto中编写你的proto文件, 如下图点击,即可生成代码:
然后代码都在build/generated/source/proto/main
中放置。