java protobuf генерирует дополнительные пакеты, которые не указаны - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь настроить свой проект для генерации Java-кода из прототипов в рамках сборки gradle.Он генерирует код, но не помещает сгенерированный код в ожидаемый пакет, что вызывает проблемы.

Верх одного из моих прототипов выглядит следующим образом:

syntax = "proto3";

import "google/protobuf/any.proto";

package gobgpapi;

option java_package = "com.foo";

При создании моего проекта дерево файлов выглядит следующим образом:

enter image description here

Вы видите, что в пакет был добавлен дополнительный файл main.java.Откуда это берется и настраивается ли оно?

Вот раздел protobuf {из моего build.gradle:

project(':foo-gobgp') {
protobuf {
    generatedFilesBaseDir = "$projectDir/src/main/java"
    protoc { 
        // The artifact spec for the Protobuf Compiler
        artifact = "com.google.protobuf:protoc:$protobufJavaVersion"
    }
    //noinspection GroovyAssignabilityCheck
    plugins {
        grpc {
            artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion"
        }
    }
    generateProtoTasks {
        ofSourceSet('main')*.plugins {
            // Apply the "grpc" plugin whose spec is defined above, without
            // options.  Note the braces cannot be omitted, otherwise the
            // plugin will not be added. This is because of the implicit way
            // NamedDomainObjectContainer binds the methods.
            grpc {}
        }
    }
}

}

...