maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William L. Thomson Jr." <wlt...@o-sinc.com>
Subject Re: Process maven mdo files via ModelloCLI
Date Mon, 25 Jun 2018 14:28:20 GMT
Hi Robert,

On Sun, 24 Jun 2018 11:42:25 +0200
"Robert Scholte" <rfscholte@apache.org> wrote:

> Hi William,
> 
> I fully agree with you that Maven developers should know about Plexus
> and Modello, and in fact if you compare the names of the developers
> of both projects, you should recognize an overlap.

It is just strange given Maven's popularity and years of use that
underlying things are not more known. I may have to start hunting down
some of those developers directly...

The other option is to move away from the mdo files, Which would drop
the dependency on Modello at least. That is my biggest issue,
processing the mdo files into java files for compile. Plexus can
remain, as its a runtime depdenency. Modello I believe is just a build
one. Or move to something else, antlr, javacc, jaxb, xlc, etc Tons of
things to generate Java files. 

Seems like nothing other than Maven uses Modello. And few are familiar
with that. I have less issues with Plexus. Though I believe my issues
with Modello come from it being built on top of Plexus. It uses Plexus
for loading plugins, etc.

> For me this case is too specific, it would take quite some time to
> dive into, while many, many other issues are waiting as well to be
> fixed. And in fact, your issue starts with this sentence "I am doing
> abnormal things!" :)

Abnormal, meaning I am building maven from source. Which most
do not do. Those who do, likely use Maven to build Maven... Which I
cannot do, thus the dilemma.

People have tried and failed at integrating Maven with Gentoo's
Portage. They are conflicting technologies same with Gradle. At least
Ant + Ivy, the ivy parts could be bypassed and if any did any
downloading stop that. That is not really an option with Maven or
Gradle. Not to mention the whole bootstrapping issue to build using
provided build systems.

That said, Modello has a CLI. Using ModelloCLI to process mdo files
should not really require voodoo or be considered anything that
abnormal. It just seems like no one uses the mdo format outside of
Maven. Anyone who does likely uses the Modello Maven Plugin.
https://github.com/codehaus-plexus/modello/blob/master/modello-core/src/main/java/org/codehaus/modello/ModelloCli.java
https://github.com/codehaus-plexus/modello/tree/master/modello-maven-plugin

I was happy to see ModelloCLI, sad it does not work. I made a similar
CLI for jaxb. Which I use to process files for Jersey.
https://github.com/javaee/jaxb-istack-commons/pull/2

> Based on the analysis in the comments the issue does seem to be
> having 2 instances instead of 1. I would try to figure out where and
> why this is happening.

That I have been doing for sometime. Its rare for me to reach out for
help in building stuff. I have all sorts of Java code generators to
generate Java code from some other format. Nothing has ever stumped me
like this. I have put in all sorts of debugging code. Tons of various
trial and error. None have shown any signs of progress even.

> If you find the bug and are able to fix it, please provide a PR so we
> can improve Modello.

I cannot tell if its a bug, or a design change. It seems like the CLI
does not fully load all plugins. Not sure if that is a code issue,
something in the plexus component.xml files, not having a plexus.xml,
or some other issue like the versions in use.

-- 
William L. Thomson Jr.

Mime
View raw message