Eclipse未在gradle项目下显示generateProto任务

时间:2018-07-29 13:55:24

标签: eclipse gradle build.gradle protocol-buffers grpc

我正在研究一个基于GRPC的项目,并且正在使用gradle获取所有依赖关系并从我的原始文件中生成Java文件。

这是我的build.gradle文件,

apply plugin: 'java-library'
apply plugin: 'java'
apply plugin: 'com.google.protobuf'

// In this section you declare where to find the dependencies of your project
repositories {
    // Use mavenCentral for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    mavenCentral()
}

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    // ASSUMES GRADLE 2.12 OR HIGHER. Use plugin version 0.7.5 with earlier
    // gradle versions
    classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.5'
  }
}

dependencies {
    // This dependency is exported to consumers, that is to say found on their compile classpath.
    api 'org.apache.commons:commons-math3:3.6.1'

    // This dependency is used internally, and not exposed to consumers on their own compile classpath.
    implementation 'com.google.guava:guava:23.0'

    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'

    //grpc
    compile 'io.grpc:grpc-netty:1.13.1'
    compile 'io.grpc:grpc-protobuf:1.13.1'
    compile 'io.grpc:grpc-stub:1.13.1'
}

protobuf {
  protoc {
    artifact = "com.google.protobuf:protoc:3.5.1-1"
  }
  plugins {
    grpc {
      artifact = 'io.grpc:protoc-gen-grpc-java:1.13.1'
    }
  }
  generateProtoTasks {
    all()*.plugins {
      grpc {}
    }
  }
}

刷新gradle项目之后,我在Eclipse的gradle任务下看不到generateProto。我选择了eclipse下的Gradle项目来创建我的项目。

enter image description here

1 个答案:

答案 0 :(得分:2)

他们没有出现的原因可以找到here

基本上,generate{*}Prooto任务没有组名,因此Eclipse Gradle Tasks视图不会显示它们。您可以为他们添加一个组名,然后他们就会出现。

protobuf {
  generateProtoTasks {
    all().each {
      it.group = 'my gen proto group'
    }
  }
}