[ https://issues.apache.org/jira/browse/MNG-7044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17241299#comment-17241299 ]
Maarten Mulders commented on MNG-7044: -------------------------------------- I'm sorry for the early closure. Indeed I should've double-checked if it was the same proposal or not. I don't hold a strong opinion in favour of or against this idea, it's just me being too lazy and not checking. Again, please apologise. You can find the Modello model in [Maven Core|https://github.com/apache/maven], under [maven-model/src/main/mdo|https://github.com/apache/maven/tree/master/maven-model/src/main/mdo]. I am not familiar with how it works or how it transforms into Java code, so I'm afraid I won't be of much help in that part. I do know some parts of Maven from my recent work on Maven, just not these parts. As far as I understand, with the new build/consumer feature that will ship in Maven 4, it will be possible to deploy a different POM than the one that is used to build the project. Maybe that would provide the foundation for what you're suggesting - rewriting those attributes into the more verbose element-based structure so all tools that support Model version 4 will be able to understand. But again, I'm not sure about this, we would need to investigate. > Allow use of attributes in Maven pom.xml > ---------------------------------------- > > Key: MNG-7044 > URL: https://issues.apache.org/jira/browse/MNG-7044 > Project: Maven > Issue Type: New Feature > Components: core, POM > Reporter: Will Iverson > Priority: Minor > Labels: features > > Proposal: The current pom.xml file is very verbose due to the exclusive use > of XML elements. This makes even simple declarations such as dependencies > unnecessarily verbose. > I would propose that a future version of Maven allow for the use of > attributes as an alternative declaration for pom.xml configuration. This > would only affect how Maven ingests project files - for consistency and > backward compatibility all generated pom.xml files would continue to be > element based. > Projects that declared a conflicting/duplicate attribute/element pairing > would be considered to be malformed, and would result in a built break. > By way of example of the benefit of this proposal, this declaration would be > reduced from: > <dependency> > <groupId>commons-cli</groupId> > <artifactId>commons-cli</artifactId> > <version>1.4</version> > </dependency> > ...to... > <dependency groupId="commons-cli" artifactId="commons-cli" version="1.4" /> > This would allow many Maven projects to *dramatically* decrease the total > line count, which is one of the frequent criticisms of Maven compared with > other build tools. > If there is interest, I would be happy to help support this. My > hope/expectation is that the changes required to support this in Maven itself > would be quite minor - simply adding a bit of additional logic to look for > attributes in the XML parse and error reporting in the event of a duplication > (as well as supporting test cases). That said, I don't want to send in > patches for a change like this that would be dead on arrival. > This would, of course, represent a potentially large impact on the user and > tooling space (in particular, IDEs that integrate Maven support). As the > emitted files for resolved pom.xml files (those that are published in repos) > would remain the same, hopefully the overall impacts would be manageable. -- This message was sent by Atlassian Jira (v8.3.4#803005)