@Gary Gregory <garydgreg...@gmail.com> thing is that we regularly hear that but nobody (as in "not significantly enough") embraced polyglot so means the verbosity is something you note but don't really care after all probably (not 100% sure it would help to solve that since attributes have kind of the same cons, ie make the parsing harder for generic consumers - and yes, in 202x xml is still not a first citizen in all languages ;)).
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 à 15:55, Gary Gregory <garydgreg...@gmail.com> a écrit : > 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 > > > > > >