You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ju...@apache.org on 2010/01/25 23:45:17 UTC
svn commit: r903004 -
/sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
Author: justin
Date: Mon Jan 25 22:45:16 2010
New Revision: 903004
URL: http://svn.apache.org/viewvc?rev=903004&view=rev
Log:
SLING-1323 - adding "bundlesToRemove" option
Modified:
sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
Modified: sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java?rev=903004&r1=903003&r2=903004&view=diff
==============================================================================
--- sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java (original)
+++ sling/trunk/maven/maven-launchpad-plugin/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java Mon Jan 25 22:45:16 2010
@@ -23,7 +23,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.DirectoryScanner;
import org.codehaus.plexus.util.FileUtils;
/**
@@ -45,6 +45,13 @@
private ArtifactDefinition[] additionalBundles;
/**
+ * Bundles which should be removed from the project's bundles directory.
+ *
+ * @parameter
+ */
+ private ArtifactDefinition[] bundlesToRemove;
+
+ /**
* If true, install the default bundles.
*
* @parameter default-value="true"
@@ -97,11 +104,30 @@
}
copyAdditionalBundles();
copyWebSupportBundle();
+ removeBundles();
if (JAR.equals(packaging)) {
unpackBaseArtifact();
}
}
+ private void removeBundles() throws MojoExecutionException {
+ if (bundlesToRemove != null) {
+ File bundleBaseDir = new File(getOutputDirectory(), String.format(
+ "%s/%s", baseDestination, bundlesDirectory));
+
+ for (ArtifactDefinition def : bundlesToRemove) {
+ DirectoryScanner scanner = new DirectoryScanner();
+ scanner.setBasedir(bundleBaseDir);
+ scanner.setIncludes(new String[] { "**/" + def.getArtifactId() + "-*.*"});
+ scanner.scan();
+ for (String toRemove : scanner.getIncludedFiles()) {
+ getLog().info("Deleting " + toRemove);
+ new File(toRemove).delete();
+ }
+ }
+ }
+ }
+
private void copyAdditionalBundles() throws MojoExecutionException {
if (additionalBundles != null) {
for (int i = 0; i < additionalBundles.length; i++) {