Hi Fabrice, how changing the tag definitions doesn't break them? intent of changing the version (namespace or modelversion) is to enable scripts or apps to handle it cleanly and not in a hacky way.
Romain Manni-Bucau @rmannibucau <https://x.com/rmannibucau> | .NET Blog <https://dotnetbirdie.github.io/> | Blog <https://rmannibucau.github.io/> | Old Blog <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book <https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064> Javaccino founder (Java/.NET service - contact via linkedin) Le sam. 28 mars 2026 à 19:04, Fabrice Bauzac <[email protected]> a écrit : > Le sam. 28 mars 2026 à 17:16, Mirko Friedenhagen > <[email protected]> a écrit : > > > > Am 28.03.2026 um 16:40 schrieb Fabrice Bauzac <[email protected]>: > > > The problem if you change the namespace, is that certain tools that > > > are currently tuned and working well with {MavenModel4.0.0}dependency > > > will need changes when told to work on a different element like > > > {MavenModel4.1.0}dependency. That seems like unnecessary breakage, > > > burden and additional work to me, especially if you want 4.0.0 and > > > 4.1.0 to have the same general structure... > > Hi, > > > > I would think this is an advantage. They are basically not the same > though they look similar. > > Theoretically 4.2.x could finally use a shortened dependency definition, > which seems to be one of the major things people find ugly compared to e.g. > gradle. > > You can change parts of the structure indeed, e.g. instead of > > #+begin_src xml > <dependency> > <groupId>g</groupId> > <artifactId>a</artifactId> > <version>v</version> > </dependency> > #+end_src > > have > > #+begin_src xml > <dependency>g:a:v</dependency> > #+end_src > > Which is fine. But please note that doing so does not require a > change of namespace. > > What I mean is that given the age of Maven, there are probably many > scripts and tools that use an XML library to look for information, for > example if I want to look for the name of a project in a Python script: > > #+begin_src python > #!/usr/bin/python3 > > import xml.etree.ElementTree as ET > > tree = ET.parse('pom.xml') > project_element = tree.getroot() > namespace = "http://maven.apache.org/POM/4.0.0" > name_element = "{"+namespace+"}name" > print(project_element.findall("./"+name_element)[0].text) > #+end_src > > I suspect there are many small or bigger programs like this floating > around. > > Changing the namespace to http://maven.apache.org/POM/4.1.0 would > break all such existing programs... > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
