为 Quarkus Gradle 插件生成的 gRPC 类 设置目标目录
Setting target directory for gRPC classes generated by Quarkus Gradle plugin
运行 ./gradlew quarkusGenerateCode
运行良好,但是生成的源代码位于 build
目录下:
我不想将此路径设置为 Gradle SourcesSet、“将目录标记为”在 Intellij 中生成的源根等,因为它位于构建目录下。
有没有办法将输出目录设置为 src/quarkus-generated-sources
之类的东西? Quarkus 用户指南和 gradle 插件文档没有提供太多有关该主题的信息。
有 build.gradle
,没什么特别的
plugins {
id 'io.quarkus'
}
dependencies {
implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
implementation 'io.quarkus:quarkus-grpc'
...
}
无法为内置代码生成机制指定替代路径。
Quarkus 从您的 *.proto
文件生成的 类 可能会经常更改。如果您在开发模式下 运行 Quarkus,它们将在每次更改时重新生成(在 *.proto
文件中)。在这样的设置中,这是构建的结果而不是来源,这就是为什么我把它放在 build
.
中的原因
我认为你可以使用 Gradle protobuf plugin to generate the java files. It has an option to specify the output directory. Don't forget to register quarkus-grpc-protoc-plugin
similarly to Maven protobuf plugin configuration。
切换到它的缺点是在修改 *.proto
文件时将无法使用开发模式的全部功能。
运行 ./gradlew quarkusGenerateCode
运行良好,但是生成的源代码位于 build
目录下:
我不想将此路径设置为 Gradle SourcesSet、“将目录标记为”在 Intellij 中生成的源根等,因为它位于构建目录下。
有没有办法将输出目录设置为 src/quarkus-generated-sources
之类的东西? Quarkus 用户指南和 gradle 插件文档没有提供太多有关该主题的信息。
有 build.gradle
,没什么特别的
plugins {
id 'io.quarkus'
}
dependencies {
implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
implementation 'io.quarkus:quarkus-grpc'
...
}
无法为内置代码生成机制指定替代路径。
Quarkus 从您的 *.proto
文件生成的 类 可能会经常更改。如果您在开发模式下 运行 Quarkus,它们将在每次更改时重新生成(在 *.proto
文件中)。在这样的设置中,这是构建的结果而不是来源,这就是为什么我把它放在 build
.
我认为你可以使用 Gradle protobuf plugin to generate the java files. It has an option to specify the output directory. Don't forget to register quarkus-grpc-protoc-plugin
similarly to Maven protobuf plugin configuration。
切换到它的缺点是在修改 *.proto
文件时将无法使用开发模式的全部功能。