You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by ke...@apache.org on 2005/09/13 13:22:43 UTC

svn commit: r280537 - /maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Author: kenney
Date: Tue Sep 13 04:22:39 2005
New Revision: 280537

URL: http://svn.apache.org/viewcvs?rev=280537&view=rev
Log:
Fix missing 'groupId' tag in parent model, for instance
when the parent model also has a <parent> and doesn't specify a groupId.

This would also be resolved if maven-model would just have getVersion
and getGroupId implementations that check for the <parent> tag's 
versions of these attributes when the current ones are null.

Modified:
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=280537&r1=280536&r2=280537&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Tue Sep 13 04:22:39 2005
@@ -754,14 +754,17 @@
                 {
                     Model candidateParent = readModel( parentDescriptor );
 
-                    // this works because parent-version is still required...
-                    boolean versionMatches = parentModel.getVersion().equals( candidateParent.getVersion() );
-                    if ( !versionMatches && candidateParent.getParent() != null )
-                    {
-                        versionMatches = parentModel.getVersion().equals( candidateParent.getParent().getVersion() );
-                    }
-                    if ( parentModel.getGroupId().equals( candidateParent.getGroupId() ) &&
-                        parentModel.getArtifactId().equals( candidateParent.getArtifactId() ) && versionMatches )
+                    String candidateParentGroupId = candidateParent.getGroupId();
+                    if ( candidateParentGroupId == null && candidateParent.getParent() != null )
+                        candidateParentGroupId = candidateParent.getParent().getGroupId();
+
+                    String candidateParentVersion = candidateParent.getVersion();
+                    if ( candidateParentVersion == null && candidateParent.getParent() != null )
+                        candidateParentVersion = candidateParent.getParent().getVersion();
+
+                    if ( parentModel.getGroupId().equals( candidateParentGroupId ) &&
+                        parentModel.getArtifactId().equals( candidateParent.getArtifactId() ) &&
+                        parentModel.getVersion().equals( candidateParentVersion ) )
                     {
                         model = candidateParent;
 
@@ -770,9 +773,11 @@
                     }
                     else
                     {
-                        getLogger().debug( "Invalid parent-POM referenced by relative path: \'" +
-                            parentModel.getRelativePath() + "\'. It did not match parent specification in " +
-                            project.getId() );
+                        getLogger().debug( "Invalid parent-POM referenced by relative path '" +
+                            parentModel.getRelativePath() + "' in parent specification in " + project.getId() + ":" +
+                            "\n  Specified: " + parentModel.getId() +
+                            "\n  Found:     " + candidateParent.getId()
+                        );
                     }
                 }
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org