Author: epunzalan
Date: Wed Mar 29 01:22:20 2006
New Revision: 389723

URL: http://svn.apache.org/viewcvs?rev=389723&view=rev
Log:
PR: MIDEA-42

Added dependency filter to filter out excluded deps also made some changes to 
make it compatible with the latest test-harness library

Modified:
    maven/plugins/trunk/maven-idea-plugin/pom.xml
    
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/main/java/org/apache/maven/plugin/idea/IdeaMojo.java
    
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaProjectMojo.java
    
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaWorkspaceMojo.java
    
maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/IdeaProjectTest.java

Modified: maven/plugins/trunk/maven-idea-plugin/pom.xml
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-idea-plugin/pom.xml?rev=389723&r1=389722&r2=389723&view=diff
==============================================================================
--- maven/plugins/trunk/maven-idea-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-idea-plugin/pom.xml Wed Mar 29 01:22:20 2006
@@ -1,4 +1,5 @@
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
   <parent>
     <artifactId>maven-plugins</artifactId>
     <groupId>org.apache.maven.plugins</groupId>
@@ -16,12 +17,12 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>2.0</version>
+      <version>2.0.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-project</artifactId>
-      <version>2.0</version>
+      <version>2.0.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
@@ -41,7 +42,7 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>1.0.4</version>
+      <version>1.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>

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=389723&r1=389722&r2=389723&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
 Wed Mar 29 01:22:20 2006
@@ -24,30 +24,35 @@
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
 import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.Exclusion;
 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.dom4j.Element;
-import org.dom4j.DocumentException;
 import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
 import org.dom4j.io.SAXReader;
 import org.dom4j.io.XMLWriter;
-import org.dom4j.io.OutputFormat;
 
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -96,7 +101,7 @@
     protected ArtifactResolver artifactResolver;
 
     /**
-     * @parameter 
expression="${component.org.apache.maven.artifact.metadata.ArtifactMetadataSource}"
+     * @component 
role="org.apache.maven.artifact.metadata.ArtifactMetadataSource" hint="maven"
      */
     protected ArtifactMetadataSource artifactMetadataSource;
 
@@ -239,9 +244,7 @@
         }
     }
 
-    protected void doDependencyResolution( MavenProject project, 
ArtifactFactory artifactFactory,
-                                           ArtifactResolver artifactResolver, 
ArtifactRepository localRepo,
-                                           ArtifactMetadataSource 
artifactMetadataSource )
+    protected void doDependencyResolution( MavenProject project, 
ArtifactRepository localRepo )
         throws InvalidDependencyVersionException, ProjectBuildingException
     {
         if ( project.getDependencies() != null )
@@ -320,6 +323,17 @@
             {
                 artifact.setFile( new File( dep.getSystemPath() ) );
             }
+
+            List exclusions = new ArrayList();
+            for ( Iterator j = dep.getExclusions().iterator(); j.hasNext(); )
+            {
+                Exclusion e = (Exclusion) j.next();
+                exclusions.add( e.getGroupId() + ":" + e.getArtifactId() );
+            }
+
+            ArtifactFilter newFilter = new ExcludesArtifactFilter( exclusions 
);
+
+            artifact.setDependencyFilter( newFilter );
 
             artifacts.add( artifact );
         }

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=389723&r1=389722&r2=389723&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
 Wed Mar 29 01:22:20 2006
@@ -17,9 +17,9 @@
  */
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.manager.WagonManager;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.model.Resource;
@@ -29,9 +29,9 @@
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 import org.apache.maven.wagon.TransferFailedException;
 import org.codehaus.plexus.util.StringUtils;
-import org.dom4j.Element;
 import org.dom4j.Document;
 import org.dom4j.DocumentException;
+import org.dom4j.Element;
 
 import java.io.File;
 import java.io.IOException;
@@ -203,7 +203,7 @@
     {
         try
         {
-            doDependencyResolution( project, artifactFactory, 
artifactResolver, localRepo, artifactMetadataSource );
+            doDependencyResolution( project, localRepo );
         }
         catch ( Exception e )
         {

Modified: 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java?rev=389723&r1=389722&r2=389723&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java
 Wed Mar 29 01:22:20 2006
@@ -172,7 +172,7 @@
     {
         try
         {
-            doDependencyResolution( project, artifactFactory, 
artifactResolver, localRepo, artifactMetadataSource );
+            doDependencyResolution( project, localRepo );
         }
         catch ( Exception e )
         {

Modified: 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaProjectMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaProjectMojo.java?rev=389723&r1=389722&r2=389723&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaProjectMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaProjectMojo.java
 Wed Mar 29 01:22:20 2006
@@ -17,9 +17,9 @@
  */
 
 import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
@@ -113,7 +113,7 @@
     {
         try
         {
-            doDependencyResolution( project, artifactFactory, 
artifactResolver, localRepo, artifactMetadataSource );
+            doDependencyResolution( project, localRepo );
         }
         catch ( Exception e )
         {

Modified: 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaWorkspaceMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaWorkspaceMojo.java?rev=389723&r1=389722&r2=389723&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaWorkspaceMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-idea-plugin/src/main/java/org/apache/maven/plugin/idea/IdeaWorkspaceMojo.java
 Wed Mar 29 01:22:20 2006
@@ -43,7 +43,7 @@
     {
         try
         {
-            doDependencyResolution( project, artifactFactory, 
artifactResolver, localRepo, artifactMetadataSource );
+            doDependencyResolution( project, localRepo );
         }
         catch ( Exception e )
         {

Modified: 
maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/IdeaProjectTest.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/IdeaProjectTest.java?rev=389723&r1=389722&r2=389723&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/IdeaProjectTest.java
 (original)
+++ 
maven/plugins/trunk/maven-idea-plugin/src/test/java/org/apache/maven/plugin/idea/IdeaProjectTest.java
 Wed Mar 29 01:22:20 2006
@@ -16,8 +16,8 @@
  * limitations under the License.
  */
 
-import org.apache.maven.plugins.testing.AbstractMojoTestCase;
 import org.apache.maven.plugin.idea.stubs.SimpleMavenProjectStub;
+import org.apache.maven.plugins.testing.AbstractMojoTestCase;
 
 import java.io.File;
 
@@ -36,6 +36,15 @@
 
         assertNotNull( "Get project mojo instance using " + 
testPom.getAbsolutePath() , mojo );
 
+        setVariableValueToObject( mojo, "artifactMetadataSource",
+                                  lookup( 
"org.apache.maven.artifact.metadata.ArtifactMetadataSource", "maven" ) );
+
+        setVariableValueToObject( mojo, "artifactFactory",
+                                  lookup( 
"org.apache.maven.artifact.factory.ArtifactFactory" ) );
+
+        setVariableValueToObject( mojo, "artifactResolver",
+                                  lookup( 
"org.apache.maven.artifact.resolver.ArtifactResolver" ) );
+
         mojo.execute();
 
         int testCounter = SimpleMavenProjectStub.getUsageCounter();
@@ -53,6 +62,15 @@
 
         assertNotNull( "Get project mojo instance using " + 
testPom.getAbsolutePath() , mojo );
 
+        setVariableValueToObject( mojo, "artifactMetadataSource",
+                                  lookup( 
"org.apache.maven.artifact.metadata.ArtifactMetadataSource", "maven" ) );
+
+        setVariableValueToObject( mojo, "artifactFactory",
+                                  lookup( 
"org.apache.maven.artifact.factory.ArtifactFactory" ) );
+
+        setVariableValueToObject( mojo, "artifactResolver",
+                                  lookup( 
"org.apache.maven.artifact.resolver.ArtifactResolver" ) );
+
         mojo.execute();
 
         int testCounter = SimpleMavenProjectStub.getUsageCounter();
@@ -67,6 +85,15 @@
         File testPom = new File( getBasedir(), 
"src/test/plugin-configs/plugin-config-jdkName.xml" );
 
         IdeaProjectMojo mojo = (IdeaProjectMojo) lookupMojo( "project", 
testPom );
+
+        setVariableValueToObject( mojo, "artifactMetadataSource",
+                                  lookup( 
"org.apache.maven.artifact.metadata.ArtifactMetadataSource", "maven" ) );
+
+        setVariableValueToObject( mojo, "artifactFactory",
+                                  lookup( 
"org.apache.maven.artifact.factory.ArtifactFactory" ) );
+
+        setVariableValueToObject( mojo, "artifactResolver",
+                                  lookup( 
"org.apache.maven.artifact.resolver.ArtifactResolver" ) );
 
         assertNotNull( "Get project mojo instance using " + 
testPom.getAbsolutePath() , mojo );
 


Reply via email to