You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2015/07/14 12:17:42 UTC

svn commit: r1690898 - in /sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart: AbstractSlingStartMojo.java AttachSlingStartModel.java PreparePackageMojo.java

Author: sseifert
Date: Tue Jul 14 10:17:41 2015
New Revision: 1690898

URL: http://svn.apache.org/r1690898
Log:
SLING-4879 update variables section in feature for attached artifact instead of using effective model

Modified:
    sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
    sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java
    sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java

Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java?rev=1690898&r1=1690897&r2=1690898&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java Tue Jul 14 10:17:41 2015
@@ -24,7 +24,6 @@ import org.apache.maven.plugins.annotati
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
-import org.apache.sling.provisioning.model.ModelUtility.ResolverOptions;
 
 /**
  * Base class for all slingstart mojos.
@@ -48,39 +47,21 @@ public abstract class AbstractSlingStart
 
     /**
      * If set to true, properties from the Maven POM can be used as variables in the provisioning files.
+     * The resolved variables are added to the generated provisioning file, so other tools using this model
+     * do not have to resolve them themselves.
      */
     @Parameter(defaultValue="false")
     protected boolean usePomVariables;
         
     /**
-     * If set to true, Artifact dependencies from provisioning file without explict version are tried 
+     * If set to true, Artifact dependencies from provisioning file without explicit version are tried 
      * to be resolved against the dependency versions from the Maven POM.
      */
     @Parameter(defaultValue="false")
     protected boolean usePomDependencies;
         
-    /**
-     * If set to true, the effective provisioning models with all variables replaced is attached instead of the raw model.
-     */
-    @Parameter(defaultValue="false")
-    protected boolean attachEffectiveModel;
-        
     protected File getTmpDir() {
         return new File(this.project.getBuild().getDirectory(), "slingstart-tmp");
     }
     
-    /**
-     * @return Variable to be used when building an effective provisioning model.
-     */
-    protected ResolverOptions getResolverOptions() {
-        ResolverOptions options = new ResolverOptions();
-        if (usePomVariables) {
-            options.variableResolver(new PomVariableResolver(project));
-        }
-        if (usePomDependencies) {
-            options.artifactVersionResolver(new PomArtifactVersionResolver(project));
-        }
-        return options;
-    }
-    
 }

Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java?rev=1690898&r1=1690897&r2=1690898&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AttachSlingStartModel.java Tue Jul 14 10:17:41 2015
@@ -28,6 +28,7 @@ import org.apache.maven.plugins.annotati
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.sling.provisioning.model.Model;
+import org.apache.sling.provisioning.model.ModelUtility;
 import org.apache.sling.provisioning.model.io.ModelWriter;
 
 /**
@@ -43,12 +44,12 @@ public class AttachSlingStartModel exten
 
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
-        final Model model;
-        if (attachEffectiveModel) {
-            model = ProjectHelper.getEffectiveModel(this.project, getResolverOptions());
+        Model model = ProjectHelper.getRawModel(this.project);
+        if (usePomVariables) {
+            model = ModelUtility.applyVariables(model, new PomVariableResolver(project));
         }
-        else {
-            model = ProjectHelper.getRawModel(this.project);
+        if (usePomDependencies) {
+            // TODO: implement applyDependencies
         }
 
         // write the model

Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java?rev=1690898&r1=1690897&r2=1690898&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java Tue Jul 14 10:17:41 2015
@@ -43,6 +43,7 @@ import org.apache.sling.provisioning.mod
 import org.apache.sling.provisioning.model.Feature;
 import org.apache.sling.provisioning.model.Model;
 import org.apache.sling.provisioning.model.ModelConstants;
+import org.apache.sling.provisioning.model.ModelUtility.ResolverOptions;
 import org.apache.sling.provisioning.model.RunMode;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.UnArchiver;
@@ -98,6 +99,20 @@ public class PreparePackageMojo extends
         this.prepareWebapp(model);
     }
 
+    /**
+     * @return Resolving options to be used when building an effective provisioning model.
+     */
+    protected ResolverOptions getResolverOptions() {
+        ResolverOptions options = new ResolverOptions();
+        if (usePomVariables) {
+            options.variableResolver(new PomVariableResolver(project));
+        }
+        if (usePomDependencies) {
+            options.artifactVersionResolver(new PomArtifactVersionResolver(project));
+        }
+        return options;
+    }
+    
     protected File getStandaloneOutputDirectory() {
         return new File(this.project.getBuild().getOutputDirectory());
     }