@Gary it is the stage "you can do whatever you like on your side", even a
pom.properties flavor would work. I assume one of the most requested
feature will be to flatten attributes more than inlining them
("org.apache.foo:bar:1.2.3") but on the core side the challenge can be to
not break too fast all the "quick parsers" out there so likely staged for
v5 more than v4?

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>


Le mar. 22 août 2023 à 14:58, Guillaume Nodet <gno...@apache.org> a écrit :

> Not directly, but a simple extension could allow that...
>
> Le mar. 22 août 2023 à 12:33, Gary Gregory <garydgreg...@gmail.com> a
> écrit :
>
> > Hi all,
> >
> > Would any of these changes allow me to write my POM's XML dependencies
> in a
> > single element where the GID, AID, and version are attributes (and not
> > child elements)?
> >
> > <dependency groupId="org.apache..." artifactId="commons-io"
> > version="2.13.0" ... />
> >
> > In general, I want the XML to more OO, where XML elements are objects and
> > attributes are, well, attributes.
> >
> > Gary
> >
> > On Tue, Aug 22, 2023, 3:36 AM Guillaume Nodet <gno...@apache.org> wrote:
> >
> > > Hi everyone,
> > >
> > > I hope you guys have been able to rest a bit during the summer (for
> those
> > > that are back to work already)...
> > >
> > > I've pushed a few important PRs in the past months and I'd really like
> to
> > > get the discussion going around those.  Those are major changes that I
> > > think we should introduce in Maven 4 asap:
> > >   * Better support for alternative POM syntaxes
> > >   * Needed infrastructure to evolve the model
> > >   * POM mixins
> > >   * Support for XML entities / XInclude
> > >
> > > The first 3 changes are stacked onto each other. The first one is the
> > > support for alternative POM syntaxes [2].  Note that no syntax is
> > provided
> > > by the PR, but an example extension is provided in the IT PR [3], the
> > > reader being generated using the maven model and the IT's project is
> > using
> > > it [4].  The main idea is to provide an enhanced XML syntax if we want,
> > as
> > > it was discussed for the POM 5.0 [5].
> > >
> > > The second one provides the ability to make evolution to the model
> > without
> > > breaking the maven ecosystem.  The model has been stuck in 4.0.0
> version
> > > for 15 years or so, most of the things that would have required a
> change
> > > have been delayed or worked around.  The consumer POM that has been
> > > introduced in Maven 4 is a first step, but I think we should go
> further.
> > > Please read the details in the PR [6].
> > >
> > > The third one is the support for POM mixins [7].  That one is still a
> > > draft.  Two ITs have been written to leverage mixins using GAV or as
> > > relative paths [8].  This definitely needs some work, but the current
> > state
> > > definitely shows that it can be implemented and introduced in the next
> > > alphas.
> > >
> > > The last one is a relatively small PR [9] which brings support for XML
> > > entities and XInclude loaded from external files.  All loaded files are
> > > loaded using relative URLs (absolute URLs are rejected for security
> > > reasons). The entities and xinclude bits are all inlined during the raw
> > ->
> > > consumer POM transformation so that they don't appear in
> repositories.  I
> > > wrote this PR as a possible alternative for mixins, that's the main
> > reason
> > > why I include it in this discussion.
> > >
> > > I'm not necessarily looking for in-depth reviews of the PRs, but at
> least
> > > to find a consensus and general agreement on the way forward.
> > >
> > > Cheers,
> > > Guillaume
> > >
> > > [2] https://github.com/apache/maven/pull/1197
> > > [3]
> > >
> > >
> >
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-ffb3dec529cab94ebf3c5830444275ad2b2e4826fe1df843454882efadd2446c
> > > [4]
> > >
> > >
> >
> https://github.com/apache/maven-integration-testing/pull/276/files#diff-8d7362e60d231ad8c5d4b7746873da2855d9cf1fd5aeeca9c143ed942bd94b38
> > > [5]
> > >
> >
> https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0
> > > [6] https://github.com/apache/maven/pull/1160
> > > [7]
> > >
> > >
> >
> https://github.com/apache/maven/pull/1209/commits/211e27acd21a6cb8cee30ccd066499fc613a5c82
> > > [8]
> > >
> > >
> >
> https://github.com/apache/maven-integration-testing/tree/b2642d74caae854051dc77acd19b972dfe66b1cd/core-it-suite/src/test/resources/mng-5102-mixins
> > > [9] https://github.com/apache/maven/pull/1205
> > >
> > > --
> > > ------------------------
> > > Guillaume Nodet
> > >
> >
>
>
> --
> ------------------------
> Guillaume Nodet
>

Reply via email to