[
https://issues.apache.org/jira/browse/MNG-7044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17241081#comment-17241081
]
Will Iverson commented on MNG-7044:
-----------------------------------
Hi!
# This is not a duplicate, it's a different approach. Issue MNG-5653 is
proposing a new syntax, which is completely different.
# This approach would require adding attribute declarations to the Maven to
the Maven XSD to allow for attribute declarations. I have looked at the
existing xsd and adding the attribute declarations could be done in a day - I
would be happy to do this and would propose it as a transitional Maven .xsd
with a 4.0.1 version number. Users would be able to update their existing
pom.xml to the 4.0.1 with zero breakage.
# This proposal would have Maven continue to emit the existing 4.0.0 pom.xml
with adherence to the existing xsd.
I appreciate that this seems at first blush to be a big change, but it's also
the most incremental way to support the end goal (allowing end users to use a
more concise syntax) while maintaining backward compatibility.
Please reconsider this closure - this is a very different proposal from
MNG-5653, which I will note is already a dead proposal.
> 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)