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 2007/03/12 04:28:11 UTC

svn commit: r517089 - in /maven/plugins/trunk/maven-dependency-plugin/src: it/mdep-66/ it/mdep-66/pom.xml main/java/org/apache/maven/plugin/dependency/resolvers/ResolveDependencySourcesMojo.java

Author: brianf
Date: Sun Mar 11 20:28:10 2007
New Revision: 517089

URL: http://svn.apache.org/viewvc?view=rev&rev=517089
Log:
MDEP-66 - implemented dependency:sources

Added:
    maven/plugins/trunk/maven-dependency-plugin/src/it/mdep-66/
    maven/plugins/trunk/maven-dependency-plugin/src/it/mdep-66/pom.xml
Modified:
    maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/resolvers/ResolveDependencySourcesMojo.java

Added: maven/plugins/trunk/maven-dependency-plugin/src/it/mdep-66/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/mdep-66/pom.xml?view=auto&rev=517089
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/it/mdep-66/pom.xml (added)
+++ maven/plugins/trunk/maven-dependency-plugin/src/it/mdep-66/pom.xml Sun Mar 11 20:28:10 2007
@@ -0,0 +1,53 @@
+<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">
+	<modelVersion>4.0.0</modelVersion>
+	<name>Copy Dependencies IT</name>
+	<groupId>org.apache.maven.plugins.maven-dependency-plugin-it</groupId>
+	<artifactId>mdep-66-it</artifactId>
+	<version>1</version>
+	<packaging>jar</packaging>
+	<dependencies>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.1</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>ant</groupId>
+			<artifactId>ant</artifactId>
+			<version>1.6.5</version>
+			<scope>compile</scope>
+		</dependency>
+	</dependencies>
+	<build>
+		<defaultGoal>generate-sources</defaultGoal>
+		<plugins>
+			<plugin>
+         		<groupId>org.apache.maven.plugins</groupId>
+          			<artifactId>maven-dependency-plugin</artifactId>
+		              <executions>
+		                    <execution>
+		                        <id>compile-sources</id>
+								<phase>generate-sources</phase>
+		                        <goals>
+		                            <goal>sources</goal>
+		                        </goals>
+		                        <configuration>
+									<includeScope>compile</includeScope>
+		                        </configuration>
+		                    </execution>
+							<execution>
+		                        <id>test-sources</id>
+								<phase>generate-sources</phase>
+		                        <goals>
+		                            <goal>sources</goal>
+		                        </goals>
+		                        <configuration>
+									<includeScope>test</includeScope>
+		                        </configuration>
+		                    </execution>
+		                </executions>
+            		</plugin>
+		</plugins>
+	</build>
+</project>

Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/resolvers/ResolveDependencySourcesMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/resolvers/ResolveDependencySourcesMojo.java?view=diff&rev=517089&r1=517088&r2=517089
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/resolvers/ResolveDependencySourcesMojo.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/resolvers/ResolveDependencySourcesMojo.java Sun Mar 11 20:28:10 2007
@@ -25,7 +25,10 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.dependency.AbstractResolveMojo;
+import org.apache.maven.plugin.dependency.utils.DependencyStatusSets;
 import org.apache.maven.plugin.dependency.utils.filters.ArtifactsFilter;
+import org.apache.maven.plugin.dependency.utils.filters.ResolveFileFilter;
+import org.apache.maven.plugin.dependency.utils.markers.SourcesFileMarkerHandler;
 
 /**
  * Goal that resolves the project source dependencies from the repository.
@@ -34,45 +37,21 @@
  * @phase generate-sources
  * @requiresDependencyResolution test
  * @author brianf
- * @since 2.0
+ * @since 2.0-alpha2
  */
 public class ResolveDependencySourcesMojo
     extends AbstractResolveMojo
 {
 
-    // private static final String SOURCE_TYPE = "java-source";
+    private static final String SOURCE_TYPE = "java-source";
 
-    // private static final String SOURCE_CLASSIFIER = "sources";
+    private static final String SOURCE_CLASSIFIER = "sources";
 
     /**
-     * If the plugin should exclude Transitive dependencies.
-     * 
-     * @parameter expression="${excludeTransitive}" default-value="false"
-     */
-    private boolean excludeTransitive;
-
-    /**
-     * The mojo compares artifact groupIds against this string using
-     * string.startsWith to see if they should be resolved.
-     * 
-     * @parameter expression="${groupId}" default-value=""
+     * Only used to store results for integration test validation
      */
-    private String groupId;
-
-    /**
-     * Directory to store flag files
-     * 
-     * @parameter expression="${dependency.resolveMarkersDirectory}"
-     *            default-value="${project.build.directory}/dependency-maven-plugin-markers"
-     * @required
-     */
-    // private File markersDirectory;
-    /**
-     * Use Marker Files
-     * 
-     * @parameter expression="${dependency.useMarkers}" default-value="false"
-     */
-    // private boolean useMarkers;
+    DependencyStatusSets results;
+    
     /**
      * Main entry into mojo. Gets the list of dependencies and iterates through
      * resolving the source jars.
@@ -84,34 +63,36 @@
     public void execute()
         throws MojoExecutionException
     {
-        // Loop through all artifacts
-        Set artifacts;
-        if ( !excludeTransitive )
+        this.classifier = SOURCE_CLASSIFIER;
+        this.type = SOURCE_TYPE;
+        // get sets of dependencies
+        results = this.getDependencySets( false );
+        
+        SourcesFileMarkerHandler handler = new SourcesFileMarkerHandler(this.markersDirectory);
+        handler.setResolved( true );
+        
+        Iterator iter = results.getResolvedDependencies().iterator();
+        while (iter.hasNext())
         {
-            artifacts = project.getArtifacts();
+            Artifact artifact = (Artifact) iter.next();
+            handler.setArtifact( artifact );
+            handler.setMarker();
         }
-        else
-        {
-            artifacts = project.getDependencyArtifacts();
-        }
-
-        if ( groupId != null && !"".equals( groupId ) )
+        
+        handler.setResolved( false );
+        iter = results.getUnResolvedDependencies().iterator();
+        while (iter.hasNext())
         {
-            Iterator iter = artifacts.iterator();
-            while ( iter.hasNext() )
-            {
-                Artifact artifact = (Artifact) iter.next();
-                if ( !artifact.getGroupId().startsWith( groupId ) )
-                {
-                    iter.remove();
-                }
-            }
+            Artifact artifact = (Artifact) iter.next();
+            handler.setArtifact( artifact );
+            handler.setMarker();
         }
 
+        results.logStatus( getLog(), outputAbsoluteArtifactFilename, false );
     }
 
     protected ArtifactsFilter getMarkedArtifactFilter()
     {
-        return null;
+        return new ResolveFileFilter( new SourcesFileMarkerHandler( this.markersDirectory ) );
     }
 }