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);
}
}
}