You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2009/11/08 03:31:00 UTC

svn commit: r833806 - /myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/BuildMetaDataMojo.java

Author: lu4242
Date: Sun Nov  8 02:31:00 2009
New Revision: 833806

URL: http://svn.apache.org/viewvc?rev=833806&view=rev
Log:
MYFACES-2400 Allow choose directories when building myfaces-metadata.xml with myfaces-builder-plugin

Modified:
    myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/BuildMetaDataMojo.java

Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/BuildMetaDataMojo.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/BuildMetaDataMojo.java?rev=833806&r1=833805&r2=833806&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/BuildMetaDataMojo.java (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/BuildMetaDataMojo.java Sun Nov  8 02:31:00 2009
@@ -246,6 +246,14 @@
     private String excludes;
     
     /**
+     * This param is used to search in this folder if some file to
+     * be generated exists and avoid generation and duplicate exception.
+     * 
+     * @parameter
+     */    
+    private List sourceDirectories;
+        
+    /**
      * Create a metadata file containing information imported from other projects
      * plus data extracted from annotated classes in this project.
      */
@@ -287,7 +295,14 @@
             }
         }
 
-        buildModel(model, project);
+        if (sourceDirectories == null)
+        {
+            buildModel(model, project);
+        }
+        else
+        {
+            buildModel(model, sourceDirectories);
+        }
         resolveReplacePackage(model);
         
         IOUtils.saveModel(model, new File(targetDirectory, outputFile));
@@ -392,6 +407,30 @@
         }
     }
     
+    private Model buildModel(Model model, List dirs)
+        throws MojoExecutionException
+    {
+        try
+        {
+            QdoxModelBuilder builder = new QdoxModelBuilder();
+            model.setModelId(modelId);
+            if (StringUtils.isNotEmpty(includes) || 
+                    StringUtils.isNotEmpty(excludes))
+            {
+                builder.buildModel(model, dirs, includes, excludes);
+            }
+            else
+            {
+                builder.buildModel(model, dirs);
+            }
+            return model;
+        }
+        catch (BuildException e)
+        {
+            throw new MojoExecutionException("Unable to build metadata", e);
+        }
+    }
+    
     protected void addResourceRoot(MavenProject project, String resourceRoot)
     {
         List resources = project.getBuild().getResources();