Author: vsiveton
Date: Wed Jul 30 04:26:56 2008
New Revision: 680983

URL: http://svn.apache.org/viewvc?rev=680983&view=rev
Log:
MJAVADOC-208: Added bootclasspath javadoc option

o added new option

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

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=680983&r1=680982&r2=680983&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 30 04:26:56 2008
@@ -56,6 +56,7 @@
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.javadoc.options.BootclasspathArtifact;
 import org.apache.maven.plugin.javadoc.options.DocletArtifact;
 import org.apache.maven.plugin.javadoc.options.Group;
 import org.apache.maven.plugin.javadoc.options.JavadocPathArtifact;
@@ -386,6 +387,41 @@
     // ----------------------------------------------------------------------
 
     /**
+     * Specifies the paths where the boot classes reside.
+     * <br/>
+     * See <a 
href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#bootclasspath";>bootclasspath</a>.
+     * <br/>
+     *
+     * @parameter expression="${bootclasspath}"
+     * @since 2.5
+     */
+    private String bootclasspath;
+
+    /**
+     * Specifies the artifacts where the boot classes reside.
+     * <br/>
+     * See <a 
href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#bootclasspath";>bootclasspath</a>.
+     * <br/>
+     * Example:
+     * <pre>
+     * &lt;bootclasspathArtifacts&gt;
+     * &nbsp;&nbsp;&lt;bootclasspathArtifact&gt;
+     * &nbsp;&nbsp;&nbsp;&nbsp;&lt;groupId&gt;my-groupId&lt;/groupId&gt;
+     * 
&nbsp;&nbsp;&nbsp;&nbsp;&lt;artifactId&gt;my-artifactId&lt;/artifactId&gt;
+     * &nbsp;&nbsp;&nbsp;&nbsp;&lt;version&gt;my-version&lt;/version&gt;
+     * &nbsp;&nbsp;&lt;/bootclasspathArtifact&gt;
+     * &lt;/bootclasspathArtifacts&gt;
+     * </pre>
+     * <br/>
+     * See <a 
href="./apidocs/org/apache/maven/plugin/javadoc/options/BootclasspathArtifact.html">Javadoc</a>.
+     * <br/>
+     *
+     * @parameter expression="${bootclasspathArtifacts}"
+     * @since 2.5
+     */
+    private BootclasspathArtifact[] bootclasspathArtifacts;
+
+    /**
      * Uses the sentence break iterator to determine the end of the first 
sentence.
      * <br/>
      * See <a 
href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#breakiterator";>breakiterator</a>.
@@ -2007,6 +2043,46 @@
     }
 
     /**
+     * Method to get the path of the bootclass artifacts used in the 
-bootclasspath option.
+     *
+     * @return the path to jar file that contains taglet class file separated 
with a colon (<code>:</code>)
+     * on Solaris and a semi-colon (<code>;</code>) on Windows
+     * @throws MavenReportException if any
+     */
+    private String getBootclassPath()
+        throws MavenReportException
+    {
+        StringBuffer path = new StringBuffer();
+
+        if ( bootclasspathArtifacts != null )
+        {
+            List bootclassPath = new ArrayList();
+            for ( int i = 0; i < bootclasspathArtifacts.length; i++ )
+            {
+                BootclasspathArtifact aBootclasspathArtifact = 
bootclasspathArtifacts[i];
+
+                if ( ( StringUtils.isNotEmpty( 
aBootclasspathArtifact.getGroupId() ) )
+                    && ( StringUtils.isNotEmpty( 
aBootclasspathArtifact.getArtifactId() ) )
+                    && ( StringUtils.isNotEmpty( 
aBootclasspathArtifact.getVersion() ) ) )
+                {
+                    bootclassPath.addAll( getArtifactsAbsolutePath( 
aBootclasspathArtifact ) );
+                }
+            }
+
+            bootclassPath = JavadocUtil.pruneFiles( bootclassPath );
+
+            path.append( StringUtils.join( bootclassPath.iterator(), 
File.pathSeparator ) );
+        }
+
+        if ( StringUtils.isNotEmpty( bootclasspath ) )
+        {
+            path.append( bootclasspath );
+        }
+
+        return path.toString();
+    }
+
+    /**
      * Method to get the path of the doclet artifacts used in the -docletpath 
option.
      *
      * Either docletArtifact or doclectArtifacts can be defined and used, not 
both, docletArtifact
@@ -3396,6 +3472,9 @@
         // see com.sun.tools.javadoc.Start#parseAndExecute(String argv[])
         addArgIfNotEmpty( arguments, "-locale", JavadocUtil.quotedArgument( 
this.locale ) );
 
+
+        addArgIfNotEmpty( arguments, "-bootclasspath", 
JavadocUtil.quotedPathArgument( getBootclassPath() ) );
+
         addArgIfNotEmpty( arguments, "-classpath", 
JavadocUtil.quotedPathArgument( getClasspath() ) );
 
         if ( StringUtils.isNotEmpty( doclet ) )

Modified: 
maven/plugins/trunk/maven-javadoc-plugin/src/main/javadoc/org/apache/maven/plugin/javadoc/package.html
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/javadoc/org/apache/maven/plugin/javadoc/package.html?rev=680983&r1=680982&r2=680983&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/main/javadoc/org/apache/maven/plugin/javadoc/package.html
 (original)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/main/javadoc/org/apache/maven/plugin/javadoc/package.html
 Wed Jul 30 04:26:56 2008
@@ -75,7 +75,7 @@
           1.4
         </td>
         <td>
-          -
+          &lt;bootclasspath/&gt;, &lt;bootclasspathArtifacts/&gt;
         </td>
       </tr>
       <tr class="b">

Modified: 
maven/plugins/trunk/maven-javadoc-plugin/src/main/mdo/javadocOptions.mdo
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/mdo/javadocOptions.mdo?rev=680983&r1=680982&r2=680983&view=diff
==============================================================================
--- maven/plugins/trunk/maven-javadoc-plugin/src/main/mdo/javadocOptions.mdo 
(original)
+++ maven/plugins/trunk/maven-javadoc-plugin/src/main/mdo/javadocOptions.mdo 
Wed Jul 30 04:26:56 2008
@@ -185,6 +185,13 @@
     </class>
 
     <class>
+      <name>BootclasspathArtifact</name>
+      <description>A bootclasspath parameter as artifact.</description>
+      <version>1.0.0</version>
+      <superClass>JavadocPathArtifact</superClass>
+    </class>
+
+    <class>
       <name>Taglet</name>
       <description>A Taglet parameter.</description>
       <version>1.0.0</version>


Reply via email to