You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2005/11/02 09:36:50 UTC

svn commit: r330212 - /maven/components/trunk/maven-plugins/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java

Author: brett
Date: Wed Nov  2 00:36:44 2005
New Revision: 330212

URL: http://svn.apache.org/viewcvs?rev=330212&view=rev
Log:
PR: MNG-904
Submitted by: Allan Ramirez
exclude individual directories, but not generated sources
(applied with modifications)

Modified:
    maven/components/trunk/maven-plugins/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java

Modified: maven/components/trunk/maven-plugins/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java?rev=330212&r1=330211&r2=330212&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java Wed Nov  2 00:36:44 2005
@@ -34,6 +34,7 @@
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
@@ -306,6 +307,7 @@
             Xpp3Dom component = findComponent( module, "NewModuleRootManager" );
             Xpp3Dom output = findElement( component, "output" );
             output.setAttribute( "url", getModuleFileUrl( project.getBuild().getOutputDirectory() ) );
+
             Xpp3Dom outputTest = findElement( component, "output-test" );
             outputTest.setAttribute( "url", getModuleFileUrl( project.getBuild().getTestOutputDirectory() ) );
 
@@ -338,6 +340,41 @@
                 addSourceFolder( content, directory, true );
             }
 
+            removeOldElements( content, "excludeFolder" );
+
+            //For excludeFolder
+            File target = new File( project.getBuild().getDirectory() );
+
+            List excludeFolders = new ArrayList();
+            excludeFolders.add( new File( project.getBuild().getOutputDirectory() ).getAbsolutePath() );
+            excludeFolders.add( new File( project.getBuild().getTestOutputDirectory() ).getAbsolutePath() );
+
+            if ( target.exists() )
+            {
+                File[] fileNames = target.listFiles();
+
+                for ( int i = 0; i < fileNames.length; i++ )
+                {
+                    File fileName = fileNames[i];
+                    if ( fileName.isDirectory() )
+                    {
+                        String absolutePath = fileName.getAbsolutePath();
+                        if ( !executedProject.getCompileSourceRoots().contains( absolutePath ) )
+                        {
+                            if ( !excludeFolders.contains( absolutePath ) )
+                            {
+                                excludeFolders.add( absolutePath );
+                            }
+                        }
+                    }
+                }
+
+                for ( Iterator i = excludeFolders.iterator(); i.hasNext(); )
+                {
+                    addExcludeFolder( content, i.next().toString() );
+                }
+            }
+
             removeOldDependencies( component );
 
             List testClasspathElements = project.getTestArtifacts();
@@ -496,6 +533,15 @@
             Xpp3Dom sourceFolder = createElement( content, "sourceFolder" );
             sourceFolder.setAttribute( "url", getModuleFileUrl( directory ) );
             sourceFolder.setAttribute( "isTestSource", Boolean.toString( isTest ) );
+        }
+    }
+
+    private void addExcludeFolder( Xpp3Dom content, String directory )
+    {
+        if ( !StringUtils.isEmpty( directory ) && new File( directory ).isDirectory() )
+        {
+            Xpp3Dom excludeFolder = createElement( content, "excludeFolder" );
+            excludeFolder.setAttribute( "url", getModuleFileUrl( directory ) );
         }
     }