Я пытаюсь настроить свой проект для генерации Java-кода из прототипов в рамках сборки gradle.Он генерирует код, но не помещает сгенерированный код в ожидаемый пакет, что вызывает проблемы.
Верх одного из моих прототипов выглядит следующим образом:
syntax = "proto3";
import "google/protobuf/any.proto";
package gobgpapi;
option java_package = "com.foo";
При создании моего проекта дерево файлов выглядит следующим образом:
Вы видите, что в пакет был добавлен дополнительный файл 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 {}
}
}
}
}