This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag maven-launchpad-plugin-2.0.10
in repository 
https://gitbox.apache.org/repos/asf/sling-maven-launchpad-plugin.git

commit b8899de2ac5c61237781df83a1bbd9fdb8903e99
Author: Justin Edelson <[email protected]>
AuthorDate: Mon Jan 25 22:45:16 2010 +0000

    SLING-1323 - adding "bundlesToRemove" option
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/maven/maven-launchpad-plugin@903004
 13f79535-47bb-0310-9956-ffa450edef68
---
 .../maven/projectsupport/PreparePackageMojo.java   | 28 +++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java 
b/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
index 3449740..262a6fa 100644
--- 
a/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
+++ 
b/src/main/java/org/apache/sling/maven/projectsupport/PreparePackageMojo.java
@@ -23,7 +23,7 @@ import java.util.Properties;
 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 @@ public class PreparePackageMojo extends 
AbstractBundleListMojo {
        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 @@ public class PreparePackageMojo extends 
AbstractBundleListMojo {
                }
                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++) {

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to