@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 >