You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2008/07/23 15:18:12 UTC

svn commit: r679085 - /maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java

Author: vsiveton
Date: Wed Jul 23 06:18:12 2008
New Revision: 679085

URL: http://svn.apache.org/viewvc?rev=679085&view=rev
Log:
MJAVADOC-201: Links parameter should handle relative links

o handle relative links

Modified:
    maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java

Modified: maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev=679085&r1=679084&r2=679085&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java (original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java Wed Jul 23 06:18:12 2008
@@ -23,8 +23,8 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
@@ -3040,12 +3040,23 @@
 
                 try
                 {
-                    // XXX links can be relative paths or files - they're not necessarily URLs.
-                    URL linkUrl = new URL( link + "/package-list" );
-                    JavadocUtil.fetchURL( settings, linkUrl );
+                    URI linkUri;
+                    if ( link.trim().toLowerCase( Locale.ENGLISH ).startsWith( "http" )
+                        || link.trim().toLowerCase( Locale.ENGLISH ).startsWith( "https" )
+                        || link.trim().toLowerCase( Locale.ENGLISH ).startsWith( "ftp" )
+                        || link.trim().toLowerCase( Locale.ENGLISH ).startsWith( "file" ) )
+                    {
+                        linkUri = new URI( link + "/package-list" );
+                    }
+                    else
+                    {
+                        // links can be relative paths or files
+                        linkUri = new File( getOutputDirectory(), link + "/package-list" ).toURI();
+                    }
+                    JavadocUtil.fetchURL( settings, linkUri.toURL() );
                     addArgIfNotEmpty( arguments, "-link", JavadocUtil.quotedPathArgument( link ), true );
                 }
-                catch ( MalformedURLException e )
+                catch ( URISyntaxException e )
                 {
                     if ( getLog().isErrorEnabled() )
                     {