[ 
https://issues.apache.org/jira/browse/MNG-6261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16569474#comment-16569474
 ] 

Robert Scholte commented on MNG-6261:
-------------------------------------

Comparisson is done in 
org.apache.maven.model.building.DefaultModelBuilder.readParent(), and the 
following code now returns {{false}} when there's a difference between the 
drive letter:

{code}
else
            {
                /*
                 * NOTE: This is a sanity check of the cache hit. If the cached 
parent POM was locally resolved, the
                 * child's <relativePath> should point at that parent, too. If 
it doesn't, we ignore the cache and
                 * resolve externally, to mimic the behavior if the cache 
didn't exist in the first place. Otherwise,
                 * the cache would obscure a bad POM.
                 */

                File pomFile = parentData.getModel().getPomFile();
                if ( pomFile != null )
                {
                    ModelSource expectedParentSource = getParentPomFile( 
childModel, childSource );

                    if ( expectedParentSource instanceof ModelSource2
                        && !pomFile.toURI().equals( ( (ModelSource2) 
expectedParentSource ).getLocationURI() ) )
                    {
                        parentData = readParentExternally( childModel, request, 
problems );
                    }
                }
            }
{code}

> Relative parent POM resolution failing in 3.5.0 with complex multimodule 
> builds
> -------------------------------------------------------------------------------
>
>                 Key: MNG-6261
>                 URL: https://issues.apache.org/jira/browse/MNG-6261
>             Project: Maven
>          Issue Type: Bug
>    Affects Versions: 3.5.0
>            Reporter: Dawid Weiss
>            Assignee: Robert Scholte
>            Priority: Minor
>              Labels: up-for-grabs
>             Fix For: 3.6.x-candidate
>
>         Attachments: capture-6.png, repro.zip
>
>
> In my effort to upgrade an existing (fairly complex) Maven build to Java 
> 1.9.0 I updated Maven to 3.5.0 (from 3.3.9). Unfortunately I get errors when 
> the project's modules are resolved:
> {noformat}
> > mvn validate
> [FATAL] Non-resolvable parent POM for 
> com.carrotsearch.lingo4g:lingo4g-public-bom:[unknown-version]: Could not find 
> artifact com.carrotsearch.lingo4g:lingo4g-public:pom:1.6.0-SNAPSHOT and 
> 'parent.relativePath' points at wrong local POM @ line 5, column 11
> ...
> (and many follow).
> {noformat}
> This build has a correct pom parent-structure (a tree), but is fairly complex 
> -- the submodule hierarchy is not aligned with parent-child pom hierarchy 
> (it's best to look at the repro code to understand how it's structured).
> However, it's been working correctly with all prior Maven versions and I 
> wonder if it's a regression bug or maybe underspecified Maven requirement 
> (that should be enforced with a warning and not lead to this odd runtime 
> message).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to