You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ge...@apache.org on 2010/10/11 12:04:23 UTC

svn commit: r1021296 - /geronimo/server/trunk/framework/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java

Author: genspring
Date: Mon Oct 11 10:04:23 2010
New Revision: 1021296

URL: http://svn.apache.org/viewvc?rev=1021296&view=rev
Log:
GERONIMO-5404 Uninstallation does not remove the installed unique dependencies.

Modified:
    geronimo/server/trunk/framework/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java

Modified: geronimo/server/trunk/framework/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java?rev=1021296&r1=1021295&r2=1021296&view=diff
==============================================================================
--- geronimo/server/trunk/framework/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java (original)
+++ geronimo/server/trunk/framework/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PluginMetadataGeneratorMojo.java Mon Oct 11 10:04:23 2010
@@ -134,6 +134,15 @@ public class PluginMetadataGeneratorMojo
      * @parameter
      */
     private List<Dependency> dependencies = Collections.emptyList();
+    
+    
+    /**
+     * An {@link Dependency} to include as a module of the CAR. we need to exclude this 
+     * from the dependencies since we've included its content in the car directly.
+     *
+     * @parameter
+     */
+    private Dependency module = null;
 
     /**
      * Configuration of use of maven dependencies.  If missing or if value element is false, use the explicit list in the car-maven-plugin configuration.
@@ -251,10 +260,16 @@ public class PluginMetadataGeneratorMojo
             }
             instance.setModuleId(artifactType);
             addDependencies(instance);
+            
+            //this module is embeded into the car, we don't want to install it as a dependency again.
+            this.removeIncludedModule(instance.getDependency(), module);
+
+            
             targetDir.mkdirs();
             File targetFile = new File(targetDir.toURI().resolve(pluginMetadataFileName));
             targetFile.getParentFile().mkdirs();
             FileOutputStream out = new FileOutputStream(targetFile);
+
             try {
                 PluginXmlUtil.writePluginMetadata(metadata, out);
             } finally {
@@ -289,5 +304,19 @@ public class PluginMetadataGeneratorMojo
         LinkedHashSet<DependencyType> resolvedDependencies = toDependencies(dependencies, useMavenDependencies, false);
             instance.getDependency().addAll(resolvedDependencies);
     }
+    
+    private void removeIncludedModule(List<DependencyType> sourceList, Dependency removeTarget) {
+       
+        for (DependencyType dependencyType : sourceList) {
+            if ((dependencyType.getArtifactId().equals(removeTarget.artifactId))
+                    && (dependencyType.getGroupId().equals(removeTarget.groupId))
+                    && (dependencyType.getType().equals(removeTarget.type))
+                    && (dependencyType.getVersion().equals(removeTarget.version))) {
+
+                sourceList.remove(dependencyType);
+            }
+        }
+            
+    }
 
 }