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()); }