You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:25:37 UTC

[sling-slingstart-maven-plugin] 08/27: Add merger utility and variable replacement

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 <cz...@apache.org>
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
"commits@sling.apache.org" <co...@sling.apache.org>.