Author: brett
Date: Tue May  9 01:37:31 2006
New Revision: 405342

URL: http://svn.apache.org/viewcvs?rev=405342&view=rev
Log:
[MIDEA-30] read warSourceDirectory from plugin configuration if present
Submitted by: Johann Reyes

Modified:
    
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/AbstractIdeaMojo.java
    
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java
    
maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/stubs/SimpleMavenProjectStub.java

Modified: 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/AbstractIdeaMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/AbstractIdeaMojo.java?rev=405342&r1=405341&r2=405342&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/AbstractIdeaMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/AbstractIdeaMojo.java
 Tue May  9 01:37:31 2006
@@ -31,12 +31,14 @@
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.Exclusion;
+import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.dom4j.Document;
 import org.dom4j.DocumentException;
 import org.dom4j.Element;
@@ -286,6 +288,26 @@
 
             getLog().warn( msg );
         }
+    }
+
+    /*
+    * @todo we need a more permanent feature that does this properly
+    */
+    protected String getPluginSetting( String artifactId, String optionName, 
String defaultValue )
+    {
+        for ( Iterator it = executedProject.getBuildPlugins().iterator(); 
it.hasNext(); )
+        {
+            Plugin plugin = (Plugin) it.next();
+            if ( plugin.getArtifactId().equals( artifactId ) )
+            {
+                Xpp3Dom o = (Xpp3Dom) plugin.getConfiguration();
+                if ( o != null && o.getChild( optionName ) != null )
+                {
+                    return o.getChild( optionName ).getValue();
+                }
+            }
+        }
+        return defaultValue;
     }
 
     private Set getProjectArtifacts()

Modified: 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java?rev=405342&r1=405341&r2=405342&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java
 Tue May  9 01:37:31 2006
@@ -673,7 +673,7 @@
         //       grab stuff from the mojo
 
         String warWebapp = executedProject.getBuild().getDirectory() + "/" + 
executedProject.getArtifactId();
-        String warSrc = "src/main/webapp";
+        String warSrc = getPluginSetting( "maven-war-plugin", 
"warSourceDirectory", "src/main/webapp" );
         String webXml = warSrc + "/WEB-INF/web.xml";
 
         module.addAttribute( "type", "J2EE_WEB_MODULE" );

Modified: 
maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/stubs/SimpleMavenProjectStub.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/stubs/SimpleMavenProjectStub.java?rev=405342&r1=405341&r2=405342&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/stubs/SimpleMavenProjectStub.java
 (original)
+++ 
maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/stubs/SimpleMavenProjectStub.java
 Tue May  9 01:37:31 2006
@@ -208,10 +208,15 @@
         artifact.setGroupId( groupId );
         artifact.setArtifactId( artifactId );
         artifact.setVersion( version );
-        artifact.setFile( new File( PlexusTestCase.getBasedir(), 
"target/local-repo/" + artifact.getGroupId().replace( '.', '/' ) +
-                          "/" + artifact.getArtifactId() + "/" + 
artifact.getVersion() +
-                          "/" + artifact.getArtifactId() + "-" + 
artifact.getVersion() + ".jar" ) );
+        artifact.setFile( new File( PlexusTestCase.getBasedir(), 
"target/local-repo/" +
+            artifact.getGroupId().replace( '.', '/' ) + "/" + 
artifact.getArtifactId() + "/" + artifact.getVersion() +
+            "/" + artifact.getArtifactId() + "-" + artifact.getVersion() + 
".jar" ) );
 
         return artifact;
+    }
+
+    public List getBuildPlugins()
+    {
+        return build.getPlugins();
     }
 }


Reply via email to