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

Eclipse not showing generateProto task under a gradle project

我正在开发一个基于 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项目来创建我的项目。

可以找到他们未出现的原因

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

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