This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag slingstart-maven-plugin-1.3.0 in repository https://gitbox.apache.org/repos/asf/sling-slingstart-maven-plugin.git
commit f59b06d4a9f9879c2d82d479d4aef29b21fd3953 Author: Stefan Seifert <[email protected]> AuthorDate: Tue Jul 14 11:39:49 2015 +0000 SLING-4880 apply resolved dependencies to raw model instead of attaching effective model add new optional parameter "allowUnresolvedPomDependencies" (default: false) git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/tooling/maven/slingstart-maven-plugin@1690902 13f79535-47bb-0310-9956-ffa450edef68 --- .../sling/maven/slingstart/AbstractSlingStartMojo.java | 7 +++++++ .../apache/sling/maven/slingstart/AttachSlingStartModel.java | 2 +- .../maven/slingstart/DependencyLifecycleParticipant.java | 3 ++- .../sling/maven/slingstart/PomArtifactVersionResolver.java | 12 ++++++++++-- .../apache/sling/maven/slingstart/PreparePackageMojo.java | 2 +- 5 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java b/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java index 766e434..769e525 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java +++ b/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java @@ -60,6 +60,13 @@ public abstract class AbstractSlingStartMojo extends AbstractMojo { @Parameter(defaultValue="false") protected boolean usePomDependencies; + /** + * If set to true, an exception is throws when "usePomDependencies" is set to true and some + * dependency version could not be resolved in the Maven POM. + */ + @Parameter(defaultValue="false") + protected boolean allowUnresolvedPomDependencies; + protected File getTmpDir() { return new File(this.project.getBuild().getDirectory(), "slingstart-tmp"); } diff --git a/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java b/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java index d6eac24..331adf8 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java +++ b/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java @@ -49,7 +49,7 @@ public class AttachSlingStartModel extends AbstractSlingStartMojo { model = ModelUtility.applyVariables(model, new PomVariableResolver(project)); } if (usePomDependencies) { - // TODO: implement applyDependencies + model = ModelUtility.applyArtifactVersions(model, new PomArtifactVersionResolver(project, allowUnresolvedPomDependencies)); } // write the model diff --git a/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java b/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java index 0e58a18..172e3ed 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java +++ b/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java @@ -152,7 +152,8 @@ public class DependencyLifecycleParticipant extends AbstractMavenLifecyclePartic resolverOptions.variableResolver(new PomVariableResolver(info.project)); } if (nodeBooleanValue(info.plugin, "usePomDependencies", false)) { - resolverOptions.artifactVersionResolver(new PomArtifactVersionResolver(info.project)); + resolverOptions.artifactVersionResolver(new PomArtifactVersionResolver(info.project, + nodeBooleanValue(info.plugin, "allowUnresolvedPomDependencies", false))); } // we have to create an effective model to add the dependencies diff --git a/src/main/java/org/apache/sling/maven/slingstart/PomArtifactVersionResolver.java b/src/main/java/org/apache/sling/maven/slingstart/PomArtifactVersionResolver.java index 3c0a6d5..8fa941f 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/PomArtifactVersionResolver.java +++ b/src/main/java/org/apache/sling/maven/slingstart/PomArtifactVersionResolver.java @@ -33,12 +33,15 @@ import org.apache.sling.provisioning.model.ModelUtility.ArtifactVersionResolver; public class PomArtifactVersionResolver implements ArtifactVersionResolver { private final MavenProject project; + private final boolean allowUnresolvedPomDependencies; /** * @param project Maven project + * @param allowUnresolvedPomDependencies If true, no exception is thrown when resolving is not possible */ - public PomArtifactVersionResolver(MavenProject project) { + public PomArtifactVersionResolver(MavenProject project, boolean allowUnresolvedPomDependencies) { this.project = project; + this.allowUnresolvedPomDependencies = allowUnresolvedPomDependencies; } @Override @@ -53,7 +56,12 @@ public class PomArtifactVersionResolver implements ArtifactVersionResolver { return version; } } - return null; + if (allowUnresolvedPomDependencies) { + return null; + } + else { + throw new IllegalArgumentException("Unable to resolve dependency: " + artifact.toMvnUrl()); + } } private String findVersion(List<Dependency> dependencies, Artifact artifact) { diff --git a/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java b/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java index 677398f..a5967af 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java +++ b/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java @@ -108,7 +108,7 @@ public class PreparePackageMojo extends AbstractSlingStartMojo { options.variableResolver(new PomVariableResolver(project)); } if (usePomDependencies) { - options.artifactVersionResolver(new PomArtifactVersionResolver(project)); + options.artifactVersionResolver(new PomArtifactVersionResolver(project, allowUnresolvedPomDependencies)); } return options; } -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
