plc4x-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Otto Fowler <ottobackwa...@gmail.com>
Subject Re: [generation] Progress on the code generation ...
Date Wed, 10 Apr 2019 18:33:51 GMT
Having it separate is the way that Apache Nifi for example does it, down to
it’s own git repo as well.


On April 10, 2019 at 14:27:25, Christofer Dutz (christofer.dutz@c-ware.de)
wrote:

Hi all,

just wanted to keep you all in the loop (I’ll try to use the [generation]
as marker for this topic).

I just committed some changes to the “plc4x-maven-plugin”.

And I also noticed I should explain why this module is not integrated into
the build.
Maven is quite good at resolving dependencies at runtime and ordering the
reactor order accordingly to build what’s needed before it’s needed.
Unfortunately this doesn’t work for plugins. So if we use the
“plc4x-maven-plugin” in the rest of the build, building will fail
guaranteed and especially during releases get really nasty.
So some time in the future we will have to release this plugin
independently from the rest of PLC4X (Hopefully we’ll not have to
re-release it too often though).
And being able to release it separately is also the reason why it directly
references the Apache parent and not any PLC4X parent.

So now to the plugin … if you want to see a first draft, simply run at
least a “mvn package” build inside the “sandbox/plc4x-maven-plugin”
directory.
Part of the build is a maven plugin unit test, that executes the build
defined in “plc4x-maven-plugin/src/test/projects” in the directory
“plc4x-maven-plugin/target/test-projects”.
Please have a look at the later directory to see what it generates in
“plc4x-maven-plugin/target/test-projects/GenerateMojoTest_testSomething_simple-embedded-schema/target/generated-sources/plc4x”


Yeah … a lot of directories … but this way you can at least see what I’m up
to :)

But still a lot of cleaning up to do … especially the handling of datatypes
… currently the xml simpleTypes defined in the schema are used, I have to
translate them into language-dependent types …

Chris

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message