[
https://issues.apache.org/jira/browse/MNG-8537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17916430#comment-17916430
]
Guillaume Nodet edited comment on MNG-8537 at 1/23/25 2:59 PM:
---------------------------------------------------------------
bq. If Maven 4 still isn't checking for the right namespace when processing,
then that's something else that needs to be fixed before release.
That may break a bunch of things. The namespace has never been mandatory
afaik.
Maven Central Repository contains POM files which have no namespaces:
https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom
We do need to support those, so the only thing we could do for now would be to
log a warning, but given our policy to only log warnings in case the user can
do something about it, I don't see any good solution.
bq. And now that I think about it, this might be a huge issue for XInclude if
it's trying to include pom 4 content into pom 4.1. I need to take a look at
that.
The fact that the namespace is not enforced does not mean it cannot be used.
If you try to include pom 4 content into pom 4.1 or even the opposite, it will
just work, because namespaces aren't enforcer for now.
was (Author: gnt):
> If Maven 4 still isn't checking for the right namespace when processing, then
> that's something else that needs to be fixed before release.
That may break a bunch of things. The namespace has never been mandatory
afaik.
Maven Central Repository contains POM files which have no namespaces:
https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom
We do need to support those, so the only thing we could do for now would be to
log a warning, but given our policy to only log warnings in case the user can
do something about it, I don't see any good solution.
> And now that I think about it, this might be a huge issue for XInclude if
> it's trying to include pom 4 content into pom 4.1. I need to take a look at
> that.
The fact that the namespace is not enforced does not mean it cannot be used.
If you try to include pom 4 content into pom 4.1 or even the opposite, it will
just work, because namespaces aren't enforcer for now.
> Maven 4 namespace should not change
> -----------------------------------
>
> Key: MNG-8537
> URL: https://issues.apache.org/jira/browse/MNG-8537
> Project: Maven
> Issue Type: Bug
> Reporter: Elliotte Rusty Harold
> Priority: Blocker
>
> Just noticed that Maven 4 has a new namespace URL. The old namespace was
>
> [http://maven.apache.org/POM/4.0.0]
>
> The new one is
>
> [http://maven.apache.org/POM/4.1.0]
>
> Putting version numbers in namespaces is a known XML antipattern because it
> makes it extremely difficult and inconvenient to write tools that process
> both, even when they are much the same. XSLT, DOM, XQuery, JDOM, etc. —
> really any XML aware tool — is going to have problems with this.
> Model version 4.1.0 is not a new and different schema that completely breaks
> with the past. Most old elements from 4.0.0 are still present and still mean
> exactly the same thing: groupId, artifactId, name, dependency, and most
> others. There are new elements but that doesn't imply a new namespace. Adding
> a new namespace is asserting that all the elements are different.
> IMHO Maven 4 should not change the namespace URL.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)