Thanks Tim!

I added these notes and created a new ticket to modernize the tooling.

https://issues.apache.org/jira/browse/AMQ-9302

Thanks,
Matt Pavlovich

> On Aug 23, 2023, at 1:59 PM, 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
> 

Reply via email to