Author: fgiust
Date: Thu Dec 7 13:03:36 2006
New Revision: 483663
URL: http://svn.apache.org/viewvc?view=rev&rev=483663
Log:
The dependency location report is not compatible with any released version of
maven, since it requires wagon 1.0-beta-2. In order to avoid making all the
project info report plugin requiring maven 2.1 do a simple check on the wagon
version before enabling the dependency location section. Also add a check on to
be sure that the version of the wagon provider used supports this new method.
Maybe it's time to release wagon 1.0-beta-2 and include it in maven 2.0.5?
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java?view=diff&rev=483663&r1=483662&r2=483663
==============================================================================
---
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java
(original)
+++
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java
Thu Dec 7 13:03:36 2006
@@ -141,7 +141,6 @@
{
wagon.connect( repository, auth );
}
-
return ( wagon.resourceExists( repo.pathOf( artifact ) ) );
}
catch ( ConnectionException e )
@@ -162,6 +161,11 @@
catch ( AuthorizationException e )
{
log.error( "Unable to connect to: " + repo.getUrl(), e );
+ return false;
+ }
+ catch ( AbstractMethodError e )
+ {
+ log.error( "Wagon " + wagon.getClass().getName() + " does not
support the resourceExists method" );
return false;
}
finally
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java?view=diff&rev=483663&r1=483662&r2=483663
==============================================================================
---
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
(original)
+++
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
Thu Dec 7 13:03:36 2006
@@ -18,10 +18,12 @@
import org.apache.maven.shared.dependency.tree.DependencyNode;
import org.apache.maven.shared.dependency.tree.DependencyTree;
import org.apache.maven.shared.jar.JarAnalyzerException;
+import org.apache.maven.wagon.Wagon;
import org.codehaus.plexus.i18n.I18N;
import org.codehaus.plexus.util.StringUtils;
import java.io.File;
+import java.lang.reflect.Method;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
@@ -146,6 +148,21 @@
if ( configuration.getDependencyLocationsEnabled() )
{
+ // this reports requires Wagon 1.0-beta-2 and will not work with
maven <= 2.0.4
+ // since we don't want to make maven 2.0.5 a requirements for the
whole project info report plugin
+ // let's do a check here
+
+ // org.apache.maven.wagon.Wagon.resourceExists(Ljava/lang/String;)Z
+ try
+ {
+ Wagon.class.getDeclaredMethod( "resourceExists", new Class[] {
String.class } );
+ }
+ catch ( NoSuchMethodException e )
+ {
+ log.warn( "Dependency Locations report will not be anabled: it
requires wagon 1.0-beta-2" );
+ return;
+ }
+
// === Section: Dependency Repository Locations.
renderSectionDependencyRepositoryLocations();
}