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 );