This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag slingstart-maven-plugin-1.0.0 in repository https://gitbox.apache.org/repos/asf/sling-slingstart-maven-plugin.git
commit cb347283a782edd0e5411e986360353779ee7a7e Author: Carsten Ziegeler <[email protected]> AuthorDate: Fri Sep 26 17:00:11 2014 +0000 Add merger utility and variable replacement git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/tooling/maven/slingstart-maven-plugin@1627827 13f79535-47bb-0310-9956-ffa450edef68 --- .../slingstart/DependencyLifecycleParticipant.java | 11 +++++++---- .../org/apache/sling/maven/slingstart/ModelUtils.java | 17 +++++++++-------- .../sling/maven/slingstart/PreparePackageMojo.java | 7 ++++--- 3 files changed, 20 insertions(+), 15 deletions(-) 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 5857fac..8e5d811 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java +++ b/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java @@ -41,6 +41,7 @@ import org.apache.sling.slingstart.model.SSMConstants; import org.apache.sling.slingstart.model.SSMDeliverable; import org.apache.sling.slingstart.model.SSMFeature; import org.apache.sling.slingstart.model.SSMStartLevel; +import org.apache.sling.slingstart.model.SSMUtil; import org.apache.sling.slingstart.model.txt.TXTSSMModelWriter; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; @@ -116,14 +117,16 @@ public class DependencyLifecycleParticipant extends AbstractMavenLifecyclePartic TXTSSMModelWriter.write(w, model); project.setContextValue(SSMDeliverable.class.getName() + "/text", w.toString()); + final SSMDeliverable effectiveModel = SSMUtil.getEffectiveModel(model); + // start with base artifact - final SSMArtifact base = ModelUtils.getBaseArtifact(model); + final SSMArtifact base = ModelUtils.getBaseArtifact(effectiveModel); final String[] classifiers = new String[] {null, BuildConstants.CLASSIFIER_APP, BuildConstants.CLASSIFIER_WEBAPP}; for(final String c : classifiers) { final Dependency dep = new Dependency(); dep.setGroupId(base.getGroupId()); dep.setArtifactId(base.getArtifactId()); - dep.setVersion(model.getValue(base.getVersion())); + dep.setVersion(base.getVersion()); dep.setType(base.getType()); dep.setClassifier(c); if ( BuildConstants.CLASSIFIER_WEBAPP.equals(c) ) { @@ -135,7 +138,7 @@ public class DependencyLifecycleParticipant extends AbstractMavenLifecyclePartic project.getDependencies().add(dep); } - addDependencies(model, log, project); + addDependencies(effectiveModel, log, project); } private static void addDependencies(final SSMDeliverable model, final Logger log, final MavenProject project) { @@ -149,7 +152,7 @@ public class DependencyLifecycleParticipant extends AbstractMavenLifecyclePartic final Dependency dep = new Dependency(); dep.setGroupId(a.getGroupId()); dep.setArtifactId(a.getArtifactId()); - dep.setVersion(model.getValue(a.getVersion())); + dep.setVersion(a.getVersion()); dep.setType(a.getType()); dep.setClassifier(a.getClassifier()); dep.setScope(PROVIDED); diff --git a/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java b/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java index 9ed721d..0b79a9e 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java +++ b/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java @@ -34,6 +34,7 @@ import org.apache.sling.slingstart.model.SSMArtifact; import org.apache.sling.slingstart.model.SSMConstants; import org.apache.sling.slingstart.model.SSMDeliverable; import org.apache.sling.slingstart.model.SSMFeature; +import org.apache.sling.slingstart.model.SSMMerger; import org.apache.sling.slingstart.model.SSMTraceable; import org.apache.sling.slingstart.model.SSMValidator; import org.apache.sling.slingstart.model.txt.TXTSSMModelReader; @@ -67,11 +68,11 @@ public abstract class ModelUtils { final FileReader reader = new FileReader(f); try { final SSMDeliverable current = TXTSSMModelReader.read(reader, f.getAbsolutePath()); - final Map<SSMTraceable, String> errors = new SSMValidator().validate(current); + final Map<SSMTraceable, String> errors = SSMValidator.validate(current); if (errors != null ) { throw new MojoExecutionException("Invalid model at " + name + " : " + errors); } - result.merge(current); + SSMMerger.merge(result, current); } finally { IOUtils.closeQuietly(reader); } @@ -80,7 +81,7 @@ public abstract class ModelUtils { } } - final Map<SSMTraceable, String> errors = new SSMValidator().validate(result); + final Map<SSMTraceable, String> errors = SSMValidator.validate(result); if (errors != null ) { throw new MojoExecutionException("Invalid assembled model : " + errors); } @@ -110,23 +111,23 @@ public abstract class ModelUtils { depModel = new SSMDeliverable(); } final SSMDeliverable readModel = TXTSSMModelReader.read(r, file.getAbsolutePath()); - final Map<SSMTraceable, String> errors = new SSMValidator().validate(readModel); + final Map<SSMTraceable, String> errors = SSMValidator.validate(readModel); if (errors != null ) { throw new MojoExecutionException("Invalid model at " + file + " : " + errors); } - depModel.merge(readModel); + SSMMerger.merge(depModel, readModel); } finally { IOUtils.closeQuietly(r); } } final SSMDeliverable result; if ( depModel != null ) { - Map<SSMTraceable, String> errors = new SSMValidator().validate(depModel); + Map<SSMTraceable, String> errors = SSMValidator.validate(depModel); if (errors != null ) { throw new MojoExecutionException("Invalid model : " + errors); } - depModel.merge(localModel); - errors = new SSMValidator().validate(depModel); + SSMMerger.merge(depModel, localModel); + errors = SSMValidator.validate(depModel); if (errors != null ) { throw new MojoExecutionException("Invalid model : " + errors); } 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 9d13ef3..9b7cc6b 100644 --- a/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java +++ b/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java @@ -41,6 +41,7 @@ import org.apache.sling.slingstart.model.SSMConstants; import org.apache.sling.slingstart.model.SSMDeliverable; import org.apache.sling.slingstart.model.SSMFeature; import org.apache.sling.slingstart.model.SSMStartLevel; +import org.apache.sling.slingstart.model.SSMUtil; import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.archiver.manager.ArchiverManager; @@ -78,7 +79,7 @@ public class PreparePackageMojo extends AbstractSlingStartMojo { @Override public void execute() throws MojoExecutionException, MojoFailureException { - final SSMDeliverable model = this.readModel(); + final SSMDeliverable model = SSMUtil.getEffectiveModel(this.readModel()); this.prepareGlobal(model); this.prepareStandaloneApp(model); @@ -176,7 +177,7 @@ public class PreparePackageMojo extends AbstractSlingStartMojo { throws MojoExecutionException{ for(final SSMStartLevel sl : runMode.getStartLevels()) { for(final SSMArtifact a : sl.getArtifacts()) { - final Artifact artifact = ModelUtils.getArtifact(this.project, a.getGroupId(), a.getArtifactId(), model.getValue(a.getVersion()), a.getType(), a.getClassifier()); + final Artifact artifact = ModelUtils.getArtifact(this.project, a.getGroupId(), a.getArtifactId(), a.getVersion(), a.getType(), a.getClassifier()); final File artifactFile = artifact.getFile(); contentsMap.put(getPathForArtifact(sl.getLevel(), artifactFile.getName(), runMode), artifactFile); } @@ -294,7 +295,7 @@ public class PreparePackageMojo extends AbstractSlingStartMojo { final Artifact a = ModelUtils.getArtifact(this.project, baseArtifact.getGroupId(), baseArtifact.getArtifactId(), - model.getValue(baseArtifact.getVersion()), + baseArtifact.getVersion(), type, classifier); if (a == null) { -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
