You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2005/10/13 21:06:32 UTC

svn commit: r320874 - in /maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc: JavadocReport.java OfflineLink.java

Author: jdcasey
Date: Thu Oct 13 12:06:28 2005
New Revision: 320874

URL: http://svn.apache.org/viewcvs?rev=320874&view=rev
Log:
Resolving: MNG-968

Applied patches from Lester Ecarma (Thanks, Lester!), and refactored the location property of OfflineLink to be a File type, since this will work more readily for locations on the filesystem. Tested on a local variant of maven-core/pom.xml, and it appears to work fine.


Added:
    maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/OfflineLink.java   (with props)
Modified:
    maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java

Modified: maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java?rev=320874&r1=320873&r2=320874&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java (original)
+++ maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java Thu Oct 13 12:06:28 2005
@@ -80,7 +80,7 @@
     // ----------------------------------------------------------------------
     // Mojo Parameters
     // ----------------------------------------------------------------------
-    
+
     /**
      * @parameter default-value="${settings.offline}"
      * @required
@@ -360,18 +360,18 @@
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#link">link</a>.
      * It is a comma separated String.
      *
-     * @parameter expression="${link}"
+     * @parameter expression="${links}"
      */
-    private String link;
+    private ArrayList links;
 
     /**
      * This option is a variation of -link; they both create links to javadoc-generated documentation for external referenced classes.
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#linkoffline">linkoffline</a>.
      * It is a comma separated String.
      *
-     * @parameter expression="${linkoffline}"
+     * @parameter expression="${offlineLinks}"
      */
-    private String linkoffline;
+    private ArrayList offlineLinks;
 
     /**
      * Creates an HTML version of each source file (with line numbers) and adds links to them from the standard HTML documentation.
@@ -805,14 +805,14 @@
             addArgIfNotEmpty( arguments, "-group", quotedArgument( group ), true );
             addArgIfNotEmpty( arguments, "-header", quotedArgument( header ) );
             addArgIfNotEmpty( arguments, "-helpfile", quotedPathArgument( helpfile ) );
-            
+
             if ( !isOffline )
             {
-                addArgIfNotEmpty( arguments, "-link", quotedPathArgument( link ), true );
-                addArgIfNotEmpty( arguments, "-linkoffline", quotedPathArgument( linkoffline ), true );
+                addLinkArguments( arguments );
+                addLinkofflineArguments( arguments );
                 addArgIf( arguments, linksource, "-linksource", 1.4f );
             }
-            
+
             addArgIf( arguments, nodeprecated, "-nodeprecated" );
             addArgIf( arguments, nodeprecatedlist, "-nodeprecatedlist" );
             addArgIf( arguments, nocomment, "-nocomment", 1.4f );
@@ -1068,6 +1068,40 @@
         }
 
         return value;
+    }
+
+    /**
+     * Convenience method to process offlineLink values as individual -linkoffline javadoc options
+     *
+     * @param arguments argument list
+     */
+    private void addLinkofflineArguments( List arguments )
+    {
+        if ( offlineLinks != null )
+        {
+            for ( int i = 0; i < offlineLinks.size(); i++ )
+            {
+                OfflineLink offlineLink = (OfflineLink)offlineLinks.get(i);
+                addArgIfNotEmpty( arguments, "-linkoffline",
+                                  quotedPathArgument( offlineLink.getUrl() ) + " " + quotedPathArgument( offlineLink.getLocation().getAbsolutePath() ), true );
+            }
+        }
+    }
+
+    /**
+     * Convenience method to process link values as individual -link javadoc options
+     *
+     * @param arguments argument list
+     */
+    private void addLinkArguments( List arguments )
+    {
+        if ( links != null )
+        {
+            for ( int i = 0; i < links.size(); i++ )
+            {
+                addArgIfNotEmpty( arguments, "-link", quotedPathArgument( (String)links.get(i) ), true );
+            }
+        }
     }
 
     /**

Added: maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/OfflineLink.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/OfflineLink.java?rev=320874&view=auto
==============================================================================
--- maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/OfflineLink.java (added)
+++ maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/OfflineLink.java Thu Oct 13 12:06:28 2005
@@ -0,0 +1,45 @@
+package org.apache.maven.plugin.javadoc;
+
+import java.io.File;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class OfflineLink
+{
+    private String url;
+    private File location;
+
+    public String getUrl()
+    {
+        return url;
+    }
+
+    public void setUrl( String url )
+    {
+        this.url = url;
+    }
+
+    public File getLocation()
+    {
+        return location;
+    }
+
+    public void setLocation( File location )
+    {
+        this.location = location;
+    }
+}

Propchange: maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/OfflineLink.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/OfflineLink.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"