打卡日期(2019-07-22)
学习要点
- 1.修改proto文件生成的目标文件目录位置
原来的gradle生成目标文件的方式
gradle默认生成文件的路径
$buildDir/generated/source/proto
默认生成的路径有两个缺点
- 生成的java文件还需要拷贝到项目中去,这样就会产生2份同样的代码,即便是拷贝完成删除生成的文件,这样也会很麻烦
- 拷贝完成之后如果没有将build目录清理干净,再次运行gradle build命令的时候会报类已经存在错误信息
基于上面两个缺点,急需我们自己定义自己需要的grpc生成目录,自动将代码拷贝到项目当中,并且不留任何遗憾
修改文件生成路径
protobuf {
generatedFilesBaseDir = "$projectDir/src" // 输出目录的根目录名,可以自己改变名字查看效果,将生成的文件包放在src下
protoc {
artifact = "com.google.protobuf:protoc:3.7.1"
}
plugins {
grpc {
artifact = 'io.grpc:protoc-gen-grpc-java:1.22.1'
}
}
generateProtoTasks {
all()*.plugins {
grpc {
outputSubDir = 'java' // 输出目录的子目录名,可以自己改变名字查看效果,将生成的文件存放在src/main/java下
}
}
}
}
注意这两句话
- generatedFilesBaseDir = "$projectDir/src" // 输出目录的根目录名,可以自己改变名字查看效果,将生成的文件包放在src下
- outputSubDir = 'java' // 输出目录的子目录名,可以自己改变名字查看效果,将生成的文件存放在src/main/java下
当再次运行gradle generateProto命令的时候,就会看到效果