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>.