I see the interest of improving maintainability of build POM beyond what has 
already been 
achieved with inference (did I say I loved your presentation [4] and this term?)
But as already expressed, I fear the risk of confusion and time taken...


Your approach of not just discussing but providing concrete examples based on 
implementation makes me hope we can get some good learning from this 
re-launched 
discussion


This time, I promise myself I'll write a summary of useful feedback from 
everybody: I'll 
probably put in the Wiki, even if I know that such notes may not be easy to read


on XML vs JSON vs YAML vs ... I won't dig much for now: later


I'd like to point to a few concrete very original topics I saw in your examples:


- id vs groupId + artifactId + version + ..., and even id + other field = 
"overlapping fields"?: 
this could probably be applied in XML (base format independent in fact)


- in dependencies coordinates, to classical g:a:v:t:c, you added the dependency 
scope field 
(eg. provided): ouch! not convinced it is a good idea. But having dependencies 
sorted by 
scope first could be interesting. Or use a different separator than : would 
improve 
visibility, like g:a:v@scope, or scope|g:a:v (again base format independent)


These 2 aspects are interesting, IMHO, even in XML (that could be a faster 
first step)


In addition, I'd be interested in feedback on these 2 topics from people doing 
tools that 
update pom.xml file:
- maven plugins, like m-release-p or m-version-p (or ... please name others you 
know)
- IDEs


I hope we'll manage to keep a concise useful discussion, and make some progress 
on 
pom.xml maintenance


Regards,


Hervé


[4] https://gnodet.github.io/maven4-presentation/[1]


Le mercredi 5 mars 2025, 17:16:17 CET Guillaume Nodet a écrit :
> Hey !
> 
> A while ago, I created a Hocon based POM parser [1], leveraging Maven
> 4 new capabilities to support new syntaxes for POMs.
> However, as much as that syntax seems interesting, I've been pointed
> that it's not really supported. So I never actually released it.
> But I'd still like to get out a new syntax and so I wrote one to
> support the well known YAML syntax.  I thus created a small extension
> to support it [2].
> It's much more concise wrt GAV ids and especially dependencies [3].
> 
> So I'd like to get it into the Maven project and release it.
> 
> [1] https://github.com/apache/maven-hocon-extension
> [2] https://github.com/gnodet/maven-yaml-extension
> [3]
> https://github.com/gnodet/maven-yaml-extension/blob/master/src/test/resourc
> es/dependency-gav.yaml#L21-L30



--------
[1] https://gnodet.github.io/maven4-presentation/

Reply via email to