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

simonetripodi pushed a commit to branch apisjar_sources
in repository 
https://gitbox.apache.org/repos/asf/sling-slingfeature-maven-plugin.git


The following commit(s) were added to refs/heads/apisjar_sources by this push:
     new b1d6b13  SLING-8253 - Make the APIs JARs source collector able to 
checkout SCMs if -sources artifacts are not available
b1d6b13 is described below

commit b1d6b130b94ef3b3bca794e115ba66316fffd827
Author: Simo Tripodi <[email protected]>
AuthorDate: Wed Jan 30 17:20:31 2019 +0100

    SLING-8253 - Make the APIs JARs source collector able to checkout SCMs
    if -sources artifacts are not available
    
    better corner cases hanling
---
 .../sling/feature/maven/mojos/ApisJarMojo.java     | 28 +++++++++++++++++-----
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java 
b/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
index 477b64c..de209fd 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
+++ b/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
@@ -49,6 +49,7 @@ import org.apache.maven.model.Scm;
 import org.apache.maven.model.building.DefaultModelBuildingRequest;
 import org.apache.maven.model.building.FileModelSource;
 import org.apache.maven.model.building.ModelBuilder;
+import org.apache.maven.model.building.ModelBuildingException;
 import org.apache.maven.model.building.ModelBuildingRequest;
 import org.apache.maven.model.building.ModelBuildingResult;
 import org.apache.maven.model.building.ModelSource;
@@ -62,13 +63,16 @@ import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
+import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmRevision;
 import org.apache.maven.scm.ScmTag;
 import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
+import org.apache.maven.scm.manager.NoSuchScmProviderException;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
+import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.shared.utils.StringUtils;
 import org.apache.maven.shared.utils.io.DirectoryScanner;
 import org.apache.maven.shared.utils.io.FileUtils;
@@ -408,10 +412,18 @@ public class ApisJarMojo extends 
AbstractIncludingFeatureMojo implements ModelRe
                 ScmFileSet fileSet = new ScmFileSet(basedir);
 
                 CheckOutScmResult result = null;
-                if (scmVersion != null) {
-                    result = scmManager.checkOut(repository, fileSet, true);
-                } else {
-                    result = scmManager.checkOut(repository, fileSet, 
scmVersion, true);
+                try {
+                    if (scmVersion != null) {
+                        result = scmManager.checkOut(repository, fileSet, 
true);
+                    } else {
+                        result = scmManager.checkOut(repository, fileSet, 
scmVersion, true);
+                    }
+                } catch (ScmException se) {
+                    throw new MojoExecutionException("An error occurred while 
checking sources from "
+                                                     + repository
+                                                     + " for artifact "
+                                                     + pomArtifactId
+                                                     + " model", se);
                 }
 
                 if (!result.isSuccess()) {
@@ -464,8 +476,12 @@ public class ApisJarMojo extends 
AbstractIncludingFeatureMojo implements ModelRe
                         throw new MojoExecutionException("An error occurred 
while copying sources from " + source + " to " + destination, e);
                     }
                 }
-            } catch (Exception e) {
-                throw new MojoExecutionException("An error occurred while 
processing SCM by reading " + pomArtifactId + " model", e);
+            } catch (ModelBuildingException mbe) {
+                throw new MojoExecutionException("An error occurred while 
building " + pomArtifactId + " model", mbe);
+            } catch (ScmRepositoryException se) {
+                throw new MojoExecutionException("An error occurred while 
reading SCM from " + pomArtifactId + " model", se);
+            } catch (NoSuchScmProviderException nsspe) {
+                getLog().error(pomArtifactId + " model does not specify SCM 
provider", nsspe);
             }
         }
     }

Reply via email to