博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用gradle生成protobuf
阅读量:6710 次
发布时间:2019-06-25

本文共 1049 字,大约阅读时间需要 3 分钟。

之前介绍的都是使用protoc工具进行protobuf代码的生成,下面我们看下如何使用gradle插件进行proto文件的编译和代码生成。

protobuf-gradle-plugin

在google的github下有这个项目,这是用于生成protobuf的gradle官方插件(这个插件需要Gradle2.12版本以上),在gradle的build文件加上对应插件:

apply plugin: 'com.google.protobuf'buildscript {    repositories {        mavenCentral()    }    dependencies {        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.1'    }}

上面的插件将会添加extractIncludeProto(获得依赖proto),extractProto(获得编译的proto文件),generateProto(编译)任务,同时会将他们都配置进build,这样系统构建时都会重新运行这些任务。

自定义配置

设置生成的目标地址

protobuf {    generatedFilesBaseDir = "$projectDir/src/"}

该配置设置protoc生成代码的目标目录,生成的具体目录还会追加package的对应目录

设置proto文件目录

sourceSets {  main {    proto {      // 除了默认的'src/main/proto'目录新增proto文件的方法      srcDir 'src/main/protobuf'      include '**/*.protodevel'    }    java{    ...    }  }}

设置使用protoc的具体版本

默认使用系统path下设置的protoc,这里还可以定义特定的protoc程序

protobuf {  protoc {    path = '/usr/local/bin/protoc'  }}//或者protobuf {  protoc {    //从仓库下载    artifact = 'com.google.protobuf:protoc:3.0.0'  }}

转载于:https://www.cnblogs.com/resentment/p/6715124.html

你可能感兴趣的文章
智能指针shared_ptr(effective modern c++笔记)
查看>>
NSDate格式化小例
查看>>
spring 基础
查看>>
java中finally和return的执行顺序
查看>>
MySQL分区表(优化)
查看>>
XP与XP互连
查看>>
linux驱动杂谈2
查看>>
使用linux内核,打造自己的linux
查看>>
Nginx--安装和配置
查看>>
Spark 的 Shell操作,核心概念,构建独立应用
查看>>
安全圈老司机为什么会在这个游戏里翻车?(内附详细解谜攻略)
查看>>
边缘计算将蚕食云计算,可能吗?
查看>>
阿里云前端周刊 - 第 12 期
查看>>
《CCNP ROUTE (642-902 )认证考试指南》一第1章 CCNP考试中的规划任务
查看>>
《高可用架构·中国初创故事(第3期)》一1.6 了解客户
查看>>
CentOS 7 本地yum源配置
查看>>
设计模式系列-享元模式
查看>>
2. 使用指针操作数组
查看>>
oracle权限
查看>>
什么是顶尖的互联网产品经理?
查看>>