You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2017/02/28 10:35:00 UTC
svn commit: r1784720 -
/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/RepositoryMojo.java
Author: cziegeler
Date: Tue Feb 28 10:35:00 2017
New Revision: 1784720
URL: http://svn.apache.org/viewvc?rev=1784720&view=rev
Log:
SLING-6573 : Repository goal should not require a launchpad feature
Modified:
sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/RepositoryMojo.java
Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/RepositoryMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/RepositoryMojo.java?rev=1784720&r1=1784719&r2=1784720&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/RepositoryMojo.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/RepositoryMojo.java Tue Feb 28 10:35:00 2017
@@ -32,10 +32,12 @@ import org.apache.maven.plugin.MojoExecu
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
import org.apache.sling.provisioning.model.ArtifactGroup;
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;
import org.apache.sling.provisioning.model.RunMode;
import org.apache.sling.provisioning.model.io.ModelWriter;
@@ -62,6 +64,12 @@ public class RepositoryMojo extends Abst
@Component
private ArtifactResolver resolver;
+ /**
+ * This is the name of the final model as written to the target directory.
+ */
+ @Parameter(defaultValue="slingstart.txt")
+ private String repositoryModelName;
+
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
final File artifactDir = new File(this.project.getBuild().getDirectory(), DIR_NAME);
@@ -79,18 +87,20 @@ public class RepositoryMojo extends Abst
}
}
}
- // base artifact
- try {
- final org.apache.sling.provisioning.model.Artifact baseArtifact = ModelUtils.findBaseArtifact(model);
- final org.apache.sling.provisioning.model.Artifact appArtifact =
- new org.apache.sling.provisioning.model.Artifact(baseArtifact.getGroupId(),
- baseArtifact.getArtifactId(),
- baseArtifact.getVersion(),
- BuildConstants.CLASSIFIER_APP,
- BuildConstants.TYPE_JAR);
- copyArtifactToRepository(appArtifact, artifactDir);
- } catch ( final MavenExecutionException mee) {
- throw new MojoExecutionException(mee.getMessage(), mee.getCause());
+ // base artifact - only if launchpad feature is available
+ if (model.getFeature(ModelConstants.FEATURE_LAUNCHPAD) != null) {
+ try {
+ final org.apache.sling.provisioning.model.Artifact baseArtifact = ModelUtils.findBaseArtifact(model);
+ final org.apache.sling.provisioning.model.Artifact appArtifact =
+ new org.apache.sling.provisioning.model.Artifact(baseArtifact.getGroupId(),
+ baseArtifact.getArtifactId(),
+ baseArtifact.getVersion(),
+ BuildConstants.CLASSIFIER_APP,
+ BuildConstants.TYPE_JAR);
+ copyArtifactToRepository(appArtifact, artifactDir);
+ } catch ( final MavenExecutionException mee) {
+ throw new MojoExecutionException(mee.getMessage(), mee.getCause());
+ }
}
// models
Model rawModel = ProjectHelper.getRawModel(this.project);
@@ -117,6 +127,17 @@ public class RepositoryMojo extends Abst
ModelWriter.write(writer, rawModel);
} catch (IOException e) {
throw new MojoExecutionException("Unable to write model to " + rawModelFile, e);
+ } finally {
+ IOUtils.closeQuietly(writer);
+ }
+
+ // and write model to target
+ writer = null;
+ try {
+ writer = new FileWriter(new File(this.project.getBuild().getDirectory(), repositoryModelName));
+ ModelWriter.write(writer, rawModel);
+ } catch (IOException e) {
+ throw new MojoExecutionException("Unable to write model to " + rawModelFile, e);
} finally {
IOUtils.closeQuietly(writer);
}