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


Reply via email to