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/01/15 01:09:29 UTC
svn commit: r496197 - in /maven/plugins/trunk/maven-dependency-plugin/src:
main/java/org/apache/maven/plugin/dependency/ site/apt/
test/java/org/apache/maven/plugin/dependency/
Author: brianf
Date: Sun Jan 14 16:09:28 2007
New Revision: 496197
URL: http://svn.apache.org/viewvc?view=rev&rev=496197
Log:
MDEP-26: added site info
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/BuildClasspathMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/site/apt/index.apt
maven/plugins/trunk/maven-dependency-plugin/src/site/apt/usage.apt
maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestBuildClasspathMojo.java
Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java?view=diff&rev=496197&r1=496196&r2=496197
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/AbstractDependencyMojo.java Sun Jan 14 16:09:28 2007
@@ -21,6 +21,7 @@
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Field;
import java.util.List;
import org.apache.maven.plugin.AbstractMojo;
@@ -33,6 +34,7 @@
import org.codehaus.plexus.archiver.manager.ArchiverManager;
import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.ReflectionUtils;
/**
* @author brianf
@@ -203,6 +205,11 @@
unArchiver.setDestDirectory( location );
+ if (this.silent)
+ {
+ silenceUnarchiver(unArchiver);
+ }
+
unArchiver.extract();
}
catch ( NoSuchArchiverException e )
@@ -221,6 +228,24 @@
e.printStackTrace();
throw new MojoExecutionException( "Error unpacking file: " + file + " to: " + location + "\r\n"
+ e.toString(), e );
+ }
+ }
+
+ private void silenceUnarchiver( UnArchiver unArchiver )
+ {
+ // dangerous but handle any errors. It's the only way to silence the
+ // unArchiver.
+ try
+ {
+ Field field = ReflectionUtils.getFieldByNameIncludingSuperclasses( "logger", unArchiver.getClass() );
+
+ field.setAccessible( true );
+
+ field.set( unArchiver, this.getLog() );
+ }
+ catch ( Exception e )
+ {
+ // was a nice try. Don't bother logging because the log is silent.
}
}
Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/BuildClasspathMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/BuildClasspathMojo.java?view=diff&rev=496197&r1=496196&r2=496197
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/BuildClasspathMojo.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/BuildClasspathMojo.java Sun Jan 14 16:09:28 2007
@@ -27,7 +27,6 @@
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
@@ -39,13 +38,13 @@
import org.apache.maven.plugin.dependency.utils.filters.ArtifactsFilter;
/**
- * Goal that copies the project dependencies from the repository to a defined
- * location.
+ * This goal will output a classpath string of dependencies from the local repository to a file or log.
*
* @goal build-classpath
* @requiresDependencyResolution compile
- * @phase process-sources
+ * @phase generate-sources
* @author ankostis
+ * @since 2.0-alpha-2
*/
public class BuildClasspathMojo
extends AbstractDependencyFilterMojo
@@ -53,7 +52,7 @@
{
/**
- * Strip artifact version during copy
+ * Strip artifact version during copy (only works if prefix is set)
*
* @parameter expression="${stripVersion}" default-value="false"
* @parameter
Modified: maven/plugins/trunk/maven-dependency-plugin/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/site/apt/index.apt?view=diff&rev=496197&r1=496196&r2=496197
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/site/apt/index.apt (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/site/apt/index.apt Sun Jan 14 16:09:28 2007
@@ -21,7 +21,7 @@
Allan Ramirez
Brian Fox
------
- Nov 2006
+ Jan 2007
------
Maven Dependency Plugin
@@ -32,7 +32,7 @@
* Goals Overview
- Dependency plugin has 9 goals:
+ Dependency plugin has 10 goals:
*{{{copy-mojo.html}dependency:copy}} takes a list of artifacts defined in
the plugin configuration section and copies them to a specified location,
@@ -63,6 +63,10 @@
*{{{purge-local-repository-mojo.html}dependency:purge-local-repository}} tells
Maven to clear all dependency-artifact files out of the local repository,
and optionally re-resolve them.
+
+ *{{{build-classpath-mojo.html}dependency:build-classpath}} tells
+ Maven to output the path of the dependencies from the local repository in a classpath format to be used in java -cp
+
[]
Modified: maven/plugins/trunk/maven-dependency-plugin/src/site/apt/usage.apt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/site/apt/usage.apt?view=diff&rev=496197&r1=496196&r2=496197
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/site/apt/usage.apt (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/site/apt/usage.apt Sun Jan 14 16:09:28 2007
@@ -402,3 +402,60 @@
correct resolution.
+* The <<<dependency:build-classpath>>> mojo
+
+ Since: 2.0-alpha-2
+
+ This goal will output a classpath string of dependencies from the local repository to a file or log. For instance, the file would contain a classpath string like this:
+
++---+
+/home/foo/.m2/repository/org/java/utils/util/util-1.0.jar:/home/foo/.m2/ ....
++---+
+
+ The resulting file could then be used like this:
+
++---+
+java -cp `cat resultFile` MyClass
++---+
+
+ In its simplest form, to output the classpath to the log, the mojo can be called like this:
+
++---+
+mvn dependency:build-classpath
++---+
+
+ or to write the classpath to cp.txt.:
+
++---+
+mvn dependency:build-classpath -Dmaven.dep.cpFile=cp.txt
++---+
+
+ The goal can also be bound to a lifecycle phase with the following configuration:
+
++---+
+ <project>
+ [...]
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>build-classpath</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>build-classpath</goal>
+ </goals>
+ <configuration>
+ <!-- configure the plugin here -->
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ [...]
+</project>
++---+
+
Modified: maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestBuildClasspathMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestBuildClasspathMojo.java?view=diff&rev=496197&r1=496196&r2=496197
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestBuildClasspathMojo.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/test/java/org/apache/maven/plugin/dependency/TestBuildClasspathMojo.java Sun Jan 14 16:09:28 2007
@@ -22,9 +22,6 @@
import java.io.File;
import java.util.Set;
-import org.apache.maven.plugin.dependency.resolvers.ResolveDependenciesMojo;
-import org.apache.maven.plugin.dependency.utils.DependencyStatusSets;
-import org.apache.maven.plugin.dependency.utils.SilentLog;
import org.apache.maven.project.MavenProject;
public class TestBuildClasspathMojo