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]>.
