Replies: 1 comment 1 reply
-
/cc @glefloch, @quarkusio/devtools |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello,
I am working with Kafka and wanted to try out the Quarkus Apicurio Registry Avro extension. I am using Gradle and following their recommendation to structure the project as a multi-subproject build.
Here is an MCVE. Give me a shout if something is missing from it!
As stated by the official guide, the
avsc
schema file needs to be located insrc/main/avro
, and when building, class files will be automatically generated from this schema file and put into the correspondingbuild
folder. When working with a Gradle multi-subproject build, that would be thesrc
andbuild
folders of the Gradle subproject where the Quarkus Gradle plugin is applied, if I have understood things correctly. In the MCVE, that is theapplication
subproject.However, as displayed by the MCVE, it would not be an unusual requirement to have to separate this out into a specific subproject, perhaps based on a design pattern or the desire to group different technical tools separately.
In the MCVE, since the
application
subproject is meant to assemble the Quarkus application it needs to specify dependencies on all other subprojects. But, for theadapters
subproject to be able to use the generated classes, it would have to depend on theapplication
subproject where they get generated, causing a circular dependency. Also, it would not be far fetched to wish for theavsc
files to be located in theadapters
subproject, where the resulting classes are going to be used. Is there any way I can achieve having both the schema file and the generated classes in theadapters
subproject?Beta Was this translation helpful? Give feedback.
All reactions