Hi, To add support of Confluent Registry Schema in KafkaIO we added new dependency on “io.confluent:kafka-avro-serializer”. The artifacts of this dependency exist in external repository [1]. So, it should not be a problem to add this repository into the list of available repositories of Beam build system - it works fine to build Beam KafkaIO artifacts.
The actual problem is with transitive dependency of “io.confluent:kafka-avro-serializer” in user code. We add this dependency into generated and then published KafkaIO's pom.xml but, to successfully resolve it, we need to add a new repository [1] as well (or user should add that manually in its pom which is definitevly not a perfect solution). So, my questions to grade/build experts: 1) How to add more repositories into published pom.xml with gradle, like we do it in maven? For example: <repositories> <repository> <id>confluent</id> <url>https://packages.confluent.io/maven/</url> </repository> </repositories> I tried several ways to do that, like adding "repositories { maven { url "https://packages.confluent.io/maven/“ } }” into KafkaIO build.gradle but seems it doesn’t work (I don’t see any additional repositories in published pom file). 2) Another option - would it better to vendor “io.confluent:kafka-avro-serializer” along with KafkaIO and do not add an addition dependency? Wdyt? 3) Any other recommendations of better solution for such case? Any help on this topic will be very appreciated. Alexey [1] https://packages.confluent.io/maven/