You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2019/01/14 13:30:22 UTC

[maven] branch MNG-6533-2 updated: [MNG-6533] catch InvalidArtifactRTException runtime exception

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch MNG-6533-2
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/MNG-6533-2 by this push:
     new 24c762d  [MNG-6533] catch InvalidArtifactRTException runtime exception
24c762d is described below

commit 24c762d7c3d66607e620fddb0743c7eadd041107
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Mon Jan 14 14:30:06 2019 +0100

    [MNG-6533] catch InvalidArtifactRTException runtime exception
    
    instead of global Exception that may hide too many cases
---
 .../java/org/apache/maven/project/DefaultProjectBuilder.java  |  9 +++++----
 .../java/org/apache/maven/project/ProjectBuilderTest.java     | 11 +++++++++++
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index df2aac9..4309688 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@ -33,6 +33,7 @@ import java.util.Set;
 
 import org.apache.maven.RepositoryUtils;
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.InvalidArtifactRTException;
 import org.apache.maven.artifact.InvalidRepositoryException;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.LegacyLocalRepositoryManager;
@@ -464,10 +465,10 @@ public class DefaultProjectBuilder
             // first pass: build without building parent.
             initProject( project, projectIndex, false, result, new HashMap<File, Boolean>( 0 ), config.request );
         }
-        catch ( Exception e )
+        catch ( InvalidArtifactRTException iarte )
         {
             result.getProblems().add( new DefaultModelProblem( null, ModelProblem.Severity.ERROR, null, model, -1, -1,
-                  e ) );
+                  iarte ) );
         }
 
         projectIndex.put( result.getModelIds().get( 0 ), project );
@@ -619,10 +620,10 @@ public class DefaultProjectBuilder
                 {
                     initProject( project, projectIndex, true, result, profilesXmls, request );
                 }
-                catch ( Exception e )
+                catch ( InvalidArtifactRTException iarte )
                 {
                     result.getProblems().add( new DefaultModelProblem( null, ModelProblem.Severity.ERROR, null,
-                            result.getEffectiveModel(), -1, -1, e ) );
+                            result.getEffectiveModel(), -1, -1, iarte ) );
                 }
 
                 List<MavenProject> modules = new ArrayList<>();
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
index 624a9d1..a7ed939 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.Properties;
 
 import org.apache.maven.AbstractCoreMavenComponentTestCase;
+import org.apache.maven.artifact.InvalidArtifactRTException;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.building.FileModelSource;
 import org.apache.maven.model.building.ModelBuildingRequest;
@@ -220,6 +221,16 @@ public class ProjectBuilderTest
         org.apache.maven.project.ProjectBuilder projectBuilder =
             lookup( org.apache.maven.project.ProjectBuilder.class );
 
+        // single project build entry point
+        try
+        {
+            projectBuilder.build( pomFile, configuration );
+        }
+        catch ( InvalidArtifactRTException iarte )
+        {
+            assertTrue( iarte.getMessage().contains( "The groupId cannot be empty." ) );
+        }
+
         // multi projects build entry point
         try
         {