FWIW, I don't have an issue with XML in general, just the style we use. An as aside, I find it amusing to watch the JSON folks reinvent each and every wheel that XML has been using for decades.
Gary On Tue, Aug 22, 2023, 10:34 AM Romain Manni-Bucau <rmannibu...@gmail.com> wrote: > @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 >> > > >> > >> >