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