张龙netty学习笔记 P24 proto代码生成插件

2019-05-25 09:15:16 浏览数 (1)

P24

老师教我们使用protobuf代码生成插件protobuf-gradle-plugin来创建proto接口。

根据github页面的README:

  1. 添加grpc依赖
代码语言:javascript复制
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'
  1. 在gradle配置文件中添加如下代码:
代码语言:javascript复制
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 {}
        }
    }
}
  1. 如果要配置proto输入目录,可在gradle配置文件添加:(也可以不添加,都使用默认值即可)
代码语言:javascript复制
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'
    }
  }
}
  1. 在src/main/proto中编写你的proto文件, 如下图点击,即可生成代码:

然后代码都在build/generated/source/proto/main中放置。

0 人点赞