Author: jdcasey
Date: Thu Mar 16 12:06:21 2006
New Revision: 386447

URL: http://svn.apache.org/viewcvs?rev=386447&view=rev
Log:
(Merged from 386445.)

>From the original revision log:
--------------------------------------

o Fixed formatting of lines in DefaultMaven to ensure that the output:

[INFO] ----------------------------------------------------------------------

doesn't exceed 80 columns, for readability.

o Fixed error reporting when building a POM's parent, in cases where:

  - relativePath refers to a directory, but there is no pom.xml in that 
directory...in
    this case, simply set the parentDescriptor == null, and allow repository 
resolution
    to proceed.

  - attempt to resolve parent POM from repository fails...in this case, we need 
to tell
    the user which project specified the missing parent.

Neither of these had any impact on existing tests, and should only improve the 
user
experience. I don't believe they introduce any ambiguous behavior.


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

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=386447&r1=386446&r2=386447&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
 Thu Mar 16 12:06:21 2006
@@ -382,7 +382,7 @@
 
         messageBuffer.append( name );
 
-        int dotCount = 55;
+        int dotCount = 54;
 
         dotCount -= name.length();
 
@@ -760,9 +760,9 @@
 
     protected void line()
     {
-        getLogger().info( 
"----------------------------------------------------------------------------" 
);
+        getLogger().info( 
"------------------------------------------------------------------------" );
     }
-
+    
     protected static String formatTime( long ms )
     {
         long secs = ms / MS_PER_SEC;

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=386447&r1=386446&r2=386447&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
 Thu Mar 16 12:06:21 2006
@@ -1024,6 +1024,11 @@
             if ( model == null && projectDir != null && 
StringUtils.isNotEmpty( parentRelativePath ) )
             {
                 parentDescriptor = new File( projectDir, parentRelativePath );
+                
+                if ( getLogger().isDebugEnabled() )
+                {
+                    getLogger().debug( "Searching for parent-POM: " + 
parentModel.getId() + " of project: " + project.getId() + " in relative path: " 
+ parentRelativePath );
+                }
 
                 if ( parentDescriptor.isDirectory() )
                 {
@@ -1037,8 +1042,12 @@
 
                     if ( !parentDescriptor.exists() )
                     {
-                        throw new ProjectBuildingException( projectId, 
"missing parent project descriptor: " +
-                            parentDescriptor.getAbsolutePath() );
+                        if ( getLogger().isDebugEnabled() )
+                        {
+                            getLogger().debug( "Parent-POM: " + 
parentModel.getId() + " for project: " + project.getId() + " cannot be loaded 
from relative path: " + parentDescriptor + "; path does not exist." );
+                        }
+                        
+                        parentDescriptor = null;
                     }
                 }
 
@@ -1085,6 +1094,10 @@
                             "\n  Specified: " + parentModel.getId() + "\n  
Found:     " + candidateParent.getId() );
                     }
                 }
+                else if ( getLogger().isDebugEnabled() )
+                {
+                    getLogger().debug( "Parent-POM: " + parentModel.getId() + 
" not found in relative path: " + parentRelativePath );
+                }
             }
 
             Artifact parentArtifact = null;
@@ -1101,17 +1114,30 @@
                 // as we go in order to do this.
                 // 
----------------------------------------------------------------------
 
-                getLogger().debug( "Retrieving parent-POM from the repository 
for project: " + project.getId() );
-
-                parentArtifact = artifactFactory.createParentArtifact( 
parentModel.getGroupId(),
-                                                                       
parentModel.getArtifactId(),
-                                                                       
parentModel.getVersion() );
-
                 // we must add the repository this POM was found in too, by 
chance it may be located where the parent is
                 // we can't query the parent to ask where it is :)
                 List remoteRepositories = new ArrayList( 
aggregatedRemoteWagonRepositories );
                 remoteRepositories.addAll( parentSearchRepositories );
-                model = findModelFromRepository( parentArtifact, 
remoteRepositories, localRepository, false );
+                
+                if ( getLogger().isDebugEnabled() )
+                {
+                    getLogger().debug(
+                                       "Retrieving parent-POM: " + 
parentModel.getId() + " for project: "
+                                           + project.getId() + " from the 
repository." );
+                }
+                
+                parentArtifact = artifactFactory.createParentArtifact( 
parentModel.getGroupId(),
+                                                                       
parentModel.getArtifactId(),
+                                                                       
parentModel.getVersion() );
+
+                try
+                {
+                    model = findModelFromRepository( parentArtifact, 
remoteRepositories, localRepository, false );
+                }
+                catch( ProjectBuildingException e )
+                {
+                    throw new ProjectBuildingException( project.getId(), 
"Cannot find parent: " + e.getProjectId() + " for project: " + project.getId(), 
e );
+                }
             }
 
             if ( model != null && !"pom".equals( model.getPackaging() ) )


Reply via email to