The openwire generator is executed by the activemq-client project when the "
openwire-generate" build profile is enabled and the "antrun:run" goal is
executed (according to the comments in the pom):

mvn -P openwire-generate antrun:run


This runs a complex script that appears to ultimately boil down to the
following process:

   - Scan all java files in the activemq-client src folder
   - For all of the files that contain the comment "openwire:marshaller":
      - Generate a class with the same name plus the suffix *Marshaller*
      - Place the generated class in the packace
      org.apache.activemq.openwire.v<version-num>


Looking through the code, it appears that all of the sources that feed this
process are in the org.apache.activemq.command package.

Note this same process is used to generate C++ and C# code - at least, I
see references to such.

For more details of the process itself, see the activemq-openwire-generator
project.  JavaGeneratorTask is the main class.

Art


On Thu, Aug 9, 2018 at 7:40 PM, Andreas Junius <andreas.jun...@gmail.com>
wrote:

> Thanks Tim. It appears that the code is generated from some groovy
> scripts, the javadocs says "NOTE!: This file is auto generated - do
> not modify! if you need to make a change, please see the modify the
> groovy scripts in the under src/gram/script and then use maven
> openwire:generate to regenerate this file."
>
> I got the source via
> https://git-wip-us.apache.org/repos/asf/activemq.git and I can't find
> those scripts there. I found older ones here:
> https://svn.apache.org/repos/asf/activemq/tags/activemq-4.
> 0.2/activemq-core/src/gram/script/
> but this version (4.0.2) seems to be the last one that contains the
> groovy scripts. Does anyone know where the actual source of truth is
> for the OpenWire protocol code?
>
> Cheers,
> Andreas
>
>
>
> >Your best source of documentation on the protocol is the code itself,
> >that will be the ultimate source of truth.  The latest version if I
> >recall correctly is v12.  Most of the code for the protocol is in the
> >activemq-client module.
> >
> >--
> >Tim Bish
>
>
> On Thu, Aug 9, 2018 at 1:08 PM, andreas.junius [via ActiveMQ]
> <ml+s2283324n4742252...@n4.nabble.com> wrote:
> > Hi,
> >
> > This page
> > http://activemq.apache.org/openwire-version-2-specification.html
> > claims that "OpenWire Version 2 is not the latest version". It links
> > to another page that shows a table that lists configuration parameters
> > but none of the "additional fields in the OpenWire commands" promised
> > on the page that linked to it.
> >
> > My question: what is the latest version of OpenWire and where can I
> > find a complete and authoritative specification?
> >
> > Cheers,
> > Andreas
> >
> >
> > ________________________________
> > If you reply to this email, your message will be added to the discussion
> > below:
> > http://activemq.2283324.n4.nabble.com/OpenWire-Version-2-
> is-not-the-latest-version-tp4742252.html
> > To unsubscribe from ActiveMQ - Dev, click here.
> > NAML
>

Reply via email to