That is very helpful, thank you Tim. I heard that generator didn't work, but haven't yet tried it myself.
Art On Wed, Aug 23, 2023 at 11:59 AM Timothy Bish <tabish...@gmail.com> wrote: > On 8/23/23 13:11, Arthur Naseef wrote: > > That sounds right. My 2cents - it would be nice to figure out the > closest > > thing to a working flow that we can get, and then worry about cleanup. > > > > Art > > I spent a little time just to resurrect some knowledge on this, here's > the basics > > To run the generator in the ActiveMQ source tree you need to enable the > profile in the activemq-client module for the openwire generator and use > the generate sources goal: > > mvn -P openwire-generate generate-sources > > This will at least try and generate the sources, the profile > configuration tells it what the highest version is to generate in an ant > task which needs to be moved to an ant target now as task is deprecated > and will fall on its face until you do so. Then it will actually try > and do something, so if you added openwire v13 you'd change it or leave > it at v12 and see if you can generate matching output and run the above > command at which point it will fall on its face if you are on JDK 17 as > the underlying javadoc types used by the generator are relocated to > 'jdk.javadoc.doclet' and renamed or refactored into something close but > not quite the same. So then you run it on JDK 11 and it will fall on > its face with an NPE that I didn't bother to look deeper into but at > least you have a starting point. > > Likely the ancient annogen and gram stuff just won't work on a newer > JDK, you could try running it on lower versions but the maven > configuration will likely be unhappy as the compiler configuration is > set to target 11 currently. > > Hopefully that at least gets you pointed in the right direction, > frustrating as it may be. > > > > > > On Wed, Aug 23, 2023 at 4:30 AM Christopher Shannon < > > christopher.l.shan...@gmail.com> wrote: > > > >> So maybe the activemq-openwire project should just be deprecated and go > >> away since it is not used or maintained. > >> > >> It has been several years now but I'm pretty sure I just used the > >> activemq-openwire-generator 5.x module (as Tim mentioned) to generate > the > >> latest v12 Openwire version that is in use today. > >> > >> > https://github.com/apache/activemq/commit/3953b9aaefaee914bdd0702f27aef47c021ceb27 > >> > >> On Tue, Aug 22, 2023 at 5:49 PM Arthur Naseef <a...@amlinv.com> wrote: > >> > >>> Thank you Tim. That helps. > >>> > >>> Art > >>> > >>> > >>> On Tue, Aug 22, 2023 at 2:23 PM Timothy Bish <tabish...@gmail.com> > >> wrote: > >>>> On 8/22/23 15:28, Arthur Naseef wrote: > >>>>> I'd like to ask first to get some clarification. > >>>>> > >>>>> Using the activemq-openwire project, I was able to get it to generate > >>>>> openwire Java code, but that code did not exactly match the code in > >> the > >>>>> activemq codebase. It appeared to be mostly non-functional > >>> differences, > >>>>> such as packages being renamed, and import statements vs. > >>> full-qualified > >>>>> class names in the code. > >>>>> > >>>>> Here are my questions: > >>>>> > >>>>> - What is the process for building and releasing a new version > of > >>> the > >>>>> openwire protocol? > >>>> There is no process other than running the generator in the ActiveMQ > >>>> tree if you can get it to run, I don't recall if there's anything > >>>> written down now that explains it as it has been years since I touched > >>>> it and my memory is foggy. I vaguely recall there being an antrun > >>>> target in the pom file to run the generator so something like 'mvn > >>>> antrun:run'. > >>>> > >>>> possibly some insights here: > >>>> > >>>> > >> > https://github.com/apache/activemq-nms-openwire-generator/blob/d16ff371fecade87f97942cdf0174ab790bc999c/pom.xml#L172 > >>>> > >>>>> - Where are the NMS and C++ parts generated? Are there others > >>>> generated > >>>>> as well? > >>>> I already answered this, please read my previous response. > >>>> > >>>> > >>>>> - How much manual intervention is needed in that process (e.g. > >> are > >>>> the > >>>>> java files generated, then copied and editted before being > >>> committed > >>>> in the > >>>>> main project)? > >>>> I don't recall anymore if there is much intervention needed other than > >>>> generating the new marshallers but I do recall that KahaDB has some > >>>> settings that indicate which version it uses as a baseline. I'd look > >> at > >>>> git commits in the 5.x code around the marshaller version code and see > >>>> what was touched in the commit. > >>>> > >>>> > >>>>> Art > >>>>> > >>>>> > >>>>> On Tue, Aug 22, 2023 at 12:22 PM Matt Pavlovich <mattr...@gmail.com> > >>>> wrote: > >>>>>> Hi- > >>>>>> > >>>>>> The activmeq-openwire project is currently hosted in a separate git > >>>>>> repository. The project is used to generate marshaller classes for > >>>> multiple > >>>>>> languages and would be suitable for supporting multi-broker openwire > >>>>>> support as well (5.x and Artemis). However, it does not appear to be > >>>> active > >>>>>> in any build lifecycle or toolchain for any of the ActiveMQ > >> projects. > >>>>>> I propose that we host the activemq-openwire project in the main 5.x > >>>> tree > >>>>>> for a couple reasons: > >>>>>> > >>>>>> 1. JDK changes and overall maintenance is easier from a single repo. > >>> We > >>>>>> can add notes able compatibility or a README-VERSIONS.md to note > >> what > >>>>>> product releases go to which protocol versions, and when those > >>> protocol > >>>>>> versions changed. > >>>>>> > >>>>>> 2. ActiveMQ 5.x uses openwire as its internal native protocol. It > >>> makes > >>>>>> sense to host it there, especially of things like enhancements to > >>>> network > >>>>>> connector commands, which other client libraries and brokers usually > >>> do > >>>> not > >>>>>> adopt fully. > >>>>>> > >>>>>> 3. There are planned enhancements coming that most likely require > >>>> openwire > >>>>>> version bumps: > >>>>>> - JMS 2.0 support features > >>>>>> - Replication support (using Network Connectors) > >>>>>> > >>>>>> Discuss. > >>>>>> > >>>>>> Thank you, > >>>>>> Matt Pavlovich > >>>>>> > >>>>>> > >>>> -- > >>>> Tim Bish > >>>> > >>>> > > -- > Tim Bish > >