I inspected the java core artifact and confirm that Beam's usage of antlr is vendored, in principle it should not leak antlr runtime class dependencies.
Specifically, I checked that only java-core used antlr, and the classes are relocated: https://github.com/apache/beam/blob/1e279788027ffa031f634a538908d508fb1d15be/sdks/java/core/build.gradle#L37 This is reflected in the released Beam java-core as org/apache/beam/repackaged/org/antlr/v4/runtime I also checked the packaged generated class (e.g. FieldSpecifierNotationBaseListener) indeed imports vendored antlr: ``` import org.apache.beam.repackaged.core.org.antlr.v4.runtime.ParserRuleContext; ``` On Wed, Oct 16, 2024 at 6:00 PM Ahmet Altay <al...@google.com> wrote: > HI @Yi Hu <ya...@google.com> - Do you know the answer to this question? > And if it is not vendored, should it be? > > On Wed, Oct 9, 2024 at 5:17 PM XQ Hu <x...@google.com> wrote: > >> I do not think ANLTR is vendored. +Yi here. >> >> On Wed, Oct 9, 2024 at 4:35 PM Reuven Lax <re...@google.com> wrote: >> >>> Is our usage of ANLTR not vendored? >>> >>> On Wed, Oct 9, 2024 at 1:12 PM Ahmet Altay via dev <dev@beam.apache.org> >>> wrote: >>> >>>> Adding some relevant folks, in case they have an ideas: @XQ Hu >>>> <x...@google.com> @Danny McCormick <dannymccorm...@google.com> >>>> >>>> On Thu, Oct 3, 2024 at 9:16 AM Frédéric Pin <frederic....@behavox.com> >>>> wrote: >>>> >>>>> Hi Dev team, >>>>> >>>>> I am using Apache Beam with Google Dataflow in Java and I am trying to >>>>> migrate the java lib from v2.51.0 to v2.59.0 >>>>> >>>>> We are using ANTLR v4.11.1 as a dependency of our Beam Pipeline. >>>>> >>>>> With the v2.59.0 the pipeline fails to start with the error >>>>> >>>>>> ANTLR Tool version 4.7 used for code generation does not match the >>>>>> current runtime version 4.11.1 >>>>>> >>>>> >>>>> I can see both Apache Beam v2.51.0 and v2.59.0 are compiled with ANTLR >>>>> v4.7 as a dependency HERE >>>>> <https://github.com/apache/beam/blob/v2.51.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L652C66-L652C71> >>>>> and HERE >>>>> <https://github.com/apache/beam/blob/v2.59.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L667> >>>>> >>>>> My questions are the following: >>>>> >>>>> - Why do I suddenly get an exception at runtime with v2.59.0 when >>>>> the v2.51.0 was working correctly? >>>>> - I am not very confident to downgrade our version of ANTLR >>>>> just because Apache Beam uses the v4.7. What if you upgrade it to >>>>> v4.13? I >>>>> would need to adapt again... this problem can be met by a lot of users >>>>> of >>>>> Apache Beam, is it possible to get rid of this dependency on your side? >>>>> >>>>> >>>>> Thanks a lot for your support! >>>>> >>>>> -- >>>>> >>>>> Regards, >>>>> >>>>> Frédéric Pin >>>>> >>>>> Java Developer >>>>> >>>>> +1 (438) 270 6010 <(438)%20270-6010> >>>>> >>>>> >>>>> >>>>> The information contained in this email, including any attachments, is >>>>> intended solely for use by the individual or entity named above and may be >>>>> confidential. If you have received this email in error please delete it >>>>> and >>>>> notify the sender immediately; you should not retain the message or >>>>> disclose its contents to anyone. Behavox is a trademark of Behavox >>>>> Limited, >>>>> a company registered in England under number 09066452 whose registered >>>>> office is at Alto Tower, 30 Stamford Street, London, SE1 9LQ ©2024 >>>>> Behavox Ltd. All rights reserved. >>>>> >>>>