So far so good, I can parse POM files and read data. This works fine as
long as I don't have to access a parent POM.

@Robert: I suspect your first suggestion may be needed in order to resolve
parent POM files as artifacts, isn't that right?

Best,
Andres

-------------------------------------------
Java Champion; Groovy Enthusiast
JCP EC Associate Seat
http://andresalmiray.com
http://www.linkedin.com/in/aalmiray
--
What goes up, must come down. Ask any system administrator.
There are 10 types of people in the world: Those who understand binary, and
those who don't.
To understand recursion, we must first understand recursion.


On Sat, Dec 8, 2018 at 7:22 PM Robert Scholte <rfscho...@apache.org> wrote:

> Ah, you might be lucky with this solution :)
>
> On Sat, 08 Dec 2018 19:20:59 +0100, Andres Almiray <aalmi...@gmail.com>
> wrote:
>
> > Looks like I found the answer to instantiating the ModelBuilder
> >
> >     new DefaultModelBuilderFactory().newInstance()
> >
> > From the javadoc:
> >
> >  * A factory to create model builder instances when no dependency
> > injection
> > is available. <em>Note:</em> This class is
> >  * only meant as a utility for developers that want to employ the model
> > builder outside of the Maven build system, Maven
> >  * plugins should always acquire model builder instances via dependency
> > injection. Developers might want to subclass
> >  * this factory to provide custom implementations for some of the
> > components used by the model builder.
> >
> > Great, I think this will work :-)
> >
> > Best,
> > Andres
> >
> > -------------------------------------------
> > Java Champion; Groovy Enthusiast
> > JCP EC Associate Seat
> > http://andresalmiray.com
> > http://www.linkedin.com/in/aalmiray
> > --
> > What goes up, must come down. Ask any system administrator.
> > There are 10 types of people in the world: Those who understand binary,
> > and
> > those who don't.
> > To understand recursion, we must first understand recursion.
> >
> >
> > On Sat, Dec 8, 2018 at 6:47 PM Andres Almiray <aalmi...@gmail.com>
> wrote:
> >
> >> Thank you Robert!
> >>
> >> It looks like org.apache.maven.model.Model.DefaultModelBuilder provides
> >> the behavior I need given this method found in its contract
> >>
> >>    ModelBuildingResult build( ModelBuildingRequest request )
> >>         throws ModelBuildingException;
> >>
> >> ModelBuildingResult gives me access to the raw model (as read form the
> >> pom.xml file) and the effective model. This is exactly what I need :-)
> >>
> >> Is there a special way to initialize an instance of such type?
> >> Theoretically I'd like to call something like
> >>
> >>     ModelBuildingRequest request = new DefaultModelBuildingRequest();
> >>     request.setPomFile(...);
> >>     ModelBuilder builder = ... // instantiate builder (??)
> >>     ModelBuldingResult result = builder.build(request);
> >>
> >> Thanks for your help.
> >>
> >> Best,
> >> Andres
> >>
> >> -------------------------------------------
> >> Java Champion; Groovy Enthusiast
> >> JCP EC Associate Seat
> >> http://andresalmiray.com
> >> http://www.linkedin.com/in/aalmiray
> >> --
> >> What goes up, must come down. Ask any system administrator.
> >> There are 10 types of people in the world: Those who understand binary,
> >> and those who don't.
> >> To understand recursion, we must first understand recursion.
> >>
> >>
> >> On Sat, Dec 8, 2018 at 6:33 PM Robert Scholte <rfscho...@apache.org>
> >> wrote:
> >>
> >>> The ModelBuilder[1] is what you are looking for, and yes it does a
> LOT
> >>> :)
> >>>
> >>> Be aware that it is using CDI, so to make use of it you'll need
> >>> sisu/guice
> >>> too.
> >>>
> >>> Robert
> >>>
> >>> [1] https://maven.apache.org/ref/3.6.0/maven-model-builder/
> >>>
> >>> On Sat, 08 Dec 2018 18:20:51 +0100, Andres Almiray <aalmi...@gmail.com
> >
> >>> wrote:
> >>>
> >>> > Of course.
> >>> >
> >>> > This is definitely not a plugin project. My goal is to have an
> >>> in-memory
> >>> > representation of the POM as defined by a source pom.xml, to later
> >>> > transform/enrich it and write it back.
> >>> > As a side effect this tool can calculate statics on usage patterns
> >>> and
> >>> > recommend some others.
> >>> >
> >>> > Best,
> >>> > Andres
> >>> >
> >>> > -------------------------------------------
> >>> > Java Champion; Groovy Enthusiast
> >>> > JCP EC Associate Seat
> >>> > http://andresalmiray.com
> >>> > http://www.linkedin.com/in/aalmiray
> >>> > --
> >>> > What goes up, must come down. Ask any system administrator.
> >>> > There are 10 types of people in the world: Those who understand
> >>> binary,
> >>> > and
> >>> > those who don't.
> >>> > To understand recursion, we must first understand recursion.
> >>> >
> >>> >
> >>> > On Sat, Dec 8, 2018 at 6:17 PM Enrico Olivelli <eolive...@gmail.com>
> >>> > wrote:
> >>> >
> >>> >> Il sab 8 dic 2018, 18:09 Andres Almiray <aalmi...@gmail.com> ha
> >>> scritto:
> >>> >>
> >>> >> > Hello everyone,
> >>> >> >
> >>> >> > I have the need of building a model based on the data defined in a
> >>> >> pom.xml
> >>> >> > file.
> >>> >> > What would be the best way to read, parse, and obtain such model
> >>> using
> >>> >> > standard Maven APIs?
> >>> >> >
> >>> >>
> >>> >> Could you given some more context?
> >>> >>
> >>> >> I guess you are not writing a plugin.
> >>> >>
> >>> >> Using the internal API may be useful depending on your case.
> >>> >>
> >>> >> Enrico
> >>> >>
> >>> >> >
> >>> >> > Best,
> >>> >> > Andres
> >>> >> >
> >>> >> > -------------------------------------------
> >>> >> > Java Champion; Groovy Enthusiast
> >>> >> > JCP EC Associate Seat
> >>> >> > http://andresalmiray.com
> >>> >> > http://www.linkedin.com/in/aalmiray
> >>> >> > --
> >>> >> > What goes up, must come down. Ask any system administrator.
> >>> >> > There are 10 types of people in the world: Those who understand
> >>> >> binary,
> >>> >> and
> >>> >> > those who don't.
> >>> >> > To understand recursion, we must first understand recursion.
> >>> >> >
> >>> >> --
> >>> >>
> >>> >>
> >>> >> -- Enrico Olivelli
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >>> For additional commands, e-mail: dev-h...@maven.apache.org
> >>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

Reply via email to