One of Maven's pain points (a criticism hear at least) it's verbosity due to the XML style where almost everything is an element. If I can more succinctly list my dependencies, I would consider that a first win in this new Era that will be highly visible to even the most casual user :-) Hopefully this feature will be documented.
Gary On Tue, Aug 22, 2023, 9:35 AM Romain Manni-Bucau <rmannibu...@gmail.com> wrote: > @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 > > >