[jboss-svn-commits] JBL Code SVN: r10734 - labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Apr 3 17:38:21 EDT 2007


Author: pgier
Date: 2007-04-03 17:38:20 -0400 (Tue, 03 Apr 2007)
New Revision: 10734

Modified:
   labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy/JBossDeployMojo.java
Log:
JBBUILD-355; Added checks to prevent duplicate entries in component-info.xml

Modified: labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy/JBossDeployMojo.java
===================================================================
--- labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy/JBossDeployMojo.java	2007-04-03 20:54:27 UTC (rev 10733)
+++ labs/jbossbuild/maven-plugins/trunk/jboss-deploy-maven-plugin/src/main/java/org/jboss/maven/plugins/deploy/JBossDeployMojo.java	2007-04-03 21:38:20 UTC (rev 10734)
@@ -4,6 +4,7 @@
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -115,7 +116,7 @@
          this.getLog().info("No artifacts to deploy for project:" + project.getName());
          return;
       }
-      
+
       // Initialize some local variables
       File deployToDir = new File(jbossDeployRoot + fileSep + project.getGroupId() + fileSep + project.getArtifactId()
             + fileSep + project.getVersion() + fileSep);
@@ -175,13 +176,14 @@
       }
 
       // Get the list of artifacts, copy them to the lib directory, and add them to component-info
-      StringBuffer artifacts = new StringBuffer();
+      HashSet<String> artifactSet = new HashSet<String>();
       Artifact projectArtifact = project.getArtifact();
       if (projectArtifact != null && projectArtifact.getFile() != null)
       {
-         artifacts.append("    <artifact id=\"" + projectArtifact.getFile().getName() + "\"/>\n");
+         artifactSet.add("    <artifact id=\"" + projectArtifact.getFile().getName() + "\"/>\n");
          try
          {
+            this.getLog().debug("Deploying file://" + deployToLibDir + fileSep + projectArtifact.getFile().getName());
             FileUtils.copyFileToDirectory(projectArtifact.getFile(), deployToLibDir);
          }
          catch (IOException ioe)
@@ -191,15 +193,23 @@
       }
 
       List list = project.getAttachedArtifacts();
-      this.getLog().debug("Number of artifacts: " + list.size());
+      this.getLog().debug("Number of attached artifacts: " + list.size());
       for (Object obj : list)
       {
          Artifact artifact = (Artifact) obj;
          this.getLog().debug(artifact.getArtifactId());
-         artifacts.append("    <artifact id=\"" + artifact.getArtifactId() + "-" + artifact.getClassifier() + ".jar"
-               + "\"/>\n");
+         String artifactLine = "    <artifact id=\"" + artifact.getArtifactId() + "-" + artifact.getClassifier()
+               + ".jar" + "\"/>\n";
+         if (artifactSet.contains(artifactLine))
+         {
+            this.getLog().warn(
+                  "Duplicate attached artifact found: " + artifact.getArtifactId() + "-" + artifact.getClassifier()
+                        + ".jar");
+         }
+         artifactSet.add(artifactLine);
          try
          {
+            this.getLog().debug("Deploying file://" + deployToLibDir + fileSep + artifact.getFile().getName());
             FileUtils.copyFileToDirectory(artifact.getFile(), deployToLibDir);
          }
          catch (IOException ioe)
@@ -208,6 +218,11 @@
          }
       }
 
+      StringBuffer artifacts = new StringBuffer();
+      for (String line : artifactSet)
+      {
+         artifacts.append(line);
+      }
       evaluateVariable(compInfoTemplate, "artifacts", artifacts.toString());
 
       // Create and set list of includes




More information about the jboss-svn-commits mailing list