It could do that as well. On Thu, Feb 6, 2020 at 11:25 AM Kenneth Knowles <k...@apache.org> wrote:
> That XML-generating code should be able to traverse project.repositories > and add them on a per-module basis, no? > > On Thu, Feb 6, 2020 at 9:47 AM Luke Cwik <lc...@google.com> wrote: > >> We generate the pom using Gradle here[1]. >> >> The issue is that it applies to all beam modules and what you are asking >> for isn't currently plumbed through. You could try adding an option to >> the JavaNatureConfiguration[2] and then specify the additional repository >> in your module. >> >> 1: >> https://github.com/apache/beam/blob/2473792306879e3fa6c5ab1f95523c7b44b4e288/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L1142 >> 2: >> https://github.com/apache/beam/blob/2473792306879e3fa6c5ab1f95523c7b44b4e288/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L81 >> >> On Thu, Feb 6, 2020 at 9:38 AM Jean-Baptiste Onofre <j...@nanthrax.net> >> wrote: >> >>> Like this: >>> repositories { >>> jcenter() >>> maven { url "https://plugins.gradle.org/m2/" } >>> maven { >>> url "https://repo.spring.io/plugins-release/" >>> content { includeGroup "io.spring.gradle" } >>> } maven { url "foo" } >>> } >>> >>> >>> Le 6 févr. 2020 à 18:37, Jean-Baptiste Onofre <j...@nanthrax.net> a écrit >>> : >>> >>> Great, thanks ! >>> >>> Back on your question, I guess we can add the repository in >>> buildSrc/build.gradle (repositories property). >>> >>> Regards >>> JB >>> >>> Le 6 févr. 2020 à 18:33, Alexey Romanenko <aromanenko....@gmail.com> a >>> écrit : >>> >>> Yes, it's Apache License 2.0 >>> >>> >>> https://packages.confluent.io/maven/io/confluent/kafka-avro-serializer/5.4.0/kafka-avro-serializer-5.4.0.pom >>> >>> On 6 Feb 2020, at 18:12, Jean-Baptiste Onofre <j...@nanthrax.net> wrote: >>> >>> Hi, >>> >>> Just a side note: did you check the license of the dependency (just to >>> be sure it’s not a Cat X dependency) ? >>> >>> Regards >>> JB >>> >>> Le 6 févr. 2020 à 18:06, Alexey Romanenko <aromanenko....@gmail.com> a >>> écrit : >>> >>> 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 >>> <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/ >>> >>> >>> >>> >>> >>>