You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/09/25 04:51:47 UTC
svn commit: r291370 -
/maven/components/trunk/maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
Author: brett
Date: Sat Sep 24 19:51:44 2005
New Revision: 291370
URL: http://svn.apache.org/viewcvs?rev=291370&view=rev
Log:
put classpath in an external file
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=291370&r1=291369&r2=291370&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 Sat Sep 24 19:51:44 2005
@@ -16,24 +16,13 @@
* limitations under the License.
*/
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Calendar;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.StringTokenizer;
-import java.util.List;
-import java.util.ArrayList;
-
import org.apache.commons.lang.ClassUtils;
import org.apache.commons.lang.SystemUtils;
import org.apache.commons.lang.math.NumberUtils;
+import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.reporting.AbstractMavenReport;
import org.apache.maven.reporting.MavenReportException;
-import org.apache.maven.model.Model;
import org.codehaus.doxia.sink.Sink;
import org.codehaus.doxia.site.renderer.SiteRenderer;
import org.codehaus.plexus.util.FileUtils;
@@ -43,44 +32,65 @@
import org.codehaus.plexus.util.cli.Commandline;
import org.codehaus.plexus.util.cli.DefaultConsumer;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.StringTokenizer;
+
/**
* Generates documentation for the Java code in the project using the standard
* <a href="http://java.sun.com/j2se/javadoc/">Javadoc Tool</a> tool.
*
- * @goal javadoc
- * @requiresDependencyResolution compile
- * @phase generate-sources
- *
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- *
* @version $Id: DependenciesReport.java,v 1.2 2005/02/23 00:08:02 brett Exp $
- *
+ * @goal javadoc
+ * @requiresDependencyResolution compile
+ * @phase generate-sources
* @see <a href="http://java.sun.com/j2se/javadoc/">Javadoc Tool</a>
* @see <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#options">Javadoc Options </a>
*/
public class JavadocReport
extends AbstractMavenReport
{
- /** The current class directory */
+ /**
+ * The current class directory
+ */
private static final String RESOURCE_DIR = ClassUtils.getPackageName( JavadocReport.class ).replace( '.', '/' );
- /** Default location for css */
+ /**
+ * Default location for css
+ */
private static final String DEFAULT_CSS_NAME = "stylesheet.css";
private static final String RESOURCE_CSS_DIR = RESOURCE_DIR + "/css";
// Using for the plugin:xdoc goal. Best way?
- /** Default bottom */
+
+ /**
+ * Default bottom
+ */
private static final String DEFAULT_BOTTOM = "Copyright ${project.inceptionYear-currentYear} ${project.organization.name}. All Rights Reserved.";
- /** Default doctitle */
+ /**
+ * Default doctitle
+ */
private static final String DEFAULT_DOCTITLE = "${windowtitle}";
- /** Default organization name */
+ /**
+ * Default organization name
+ */
private static final String DEFAULT_ORGANIZATION_NAME = "The Apache Software Foundation";
- /** Default window title */
+ /**
+ * Default window title
+ */
private static final String DEFAULT_WINDOW_TITLE = "${project.name} ${project.version} API";
private static final String PATH_SEPARATOR = System.getProperty( "path.separator" );
@@ -99,9 +109,7 @@
private File outputDirectory;
/**
- * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
- * @required
- * @readonly
+ * @component
*/
private SiteRenderer siteRenderer;
@@ -114,6 +122,7 @@
// JavaDoc Options
// @see http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#options
+
/**
* Set an additional parameter on the command line.
*
@@ -267,6 +276,7 @@
// Options Provided by the Standard Doclet
// @see http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#standard
+
/**
* Specifies whether or not the author text is included in the generated Javadocs.
* See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#author">author</a>.
@@ -620,13 +630,26 @@
classpath.append( PATH_SEPARATOR );
}
}
+ if ( classpath.length() > 0 )
+ {
+ classpath.insert( 0, "-classpath " );
+ }
StringBuffer sourcePath = new StringBuffer();
- String[] fileList = new String[1];
+ StringBuffer files = new StringBuffer();
for ( Iterator i = getProject().getCompileSourceRoots().iterator(); i.hasNext(); )
{
String sourceDirectory = (String) i.next();
- fileList = FileUtils.getFilesFromExtension( sourceDirectory, new String[] { "java" } );
+ String[] fileList = FileUtils.getFilesFromExtension( sourceDirectory, new String[]{"java"} );
+ if ( fileList != null && fileList.length != 0 )
+ {
+ for ( int j = 0; j < fileList.length; j++ )
+ {
+ files.append( fileList[j] );
+ files.append( "\n" );
+ }
+ }
+
sourcePath.append( sourceDirectory );
if ( i.hasNext() )
@@ -635,6 +658,11 @@
}
}
+ if ( files.length() == 0 )
+ {
+ return;
+ }
+
File javadocDirectory = getReportOutputDirectory();
if ( !javadocDirectory.equals( getOutputDirectory() ) )
@@ -644,22 +672,11 @@
// Append 'apidocs'.
javadocDirectory = new File( javadocDirectory, "apidocs" );
}
+ javadocDirectory.mkdirs();
- if ( fileList != null && fileList.length != 0 )
- {
- StringBuffer files = new StringBuffer();
- for ( int i = 0; i < fileList.length; i++ )
- {
- files.append( fileList[i] );
- files.append( "\n" );
- }
- javadocDirectory.mkdirs();
- FileUtils.fileWrite( new File( javadocDirectory, "files" ).getAbsolutePath(), files.toString() );
- }
- else
- {
- return;
- }
+ File file = new File( javadocDirectory, "files" );
+ file.deleteOnExit();
+ FileUtils.fileWrite( file.getAbsolutePath(), files.toString() );
// Copy default style sheet
copyDefaultStylesheet( javadocDirectory );
@@ -691,14 +708,15 @@
}
else
{
- if ( ( NumberUtils.isDigits( maxmemory.substring( 0, maxmemory.length() - 1 ) ) )
- && ( maxmemory.toLowerCase().endsWith( "m" ) ) )
+ if ( ( NumberUtils.isDigits( maxmemory.substring( 0, maxmemory.length() - 1 ) ) ) &&
+ ( maxmemory.toLowerCase().endsWith( "m" ) ) )
{
addArgIf( arguments, true, "-J-Xmx" + maxmemory );
}
else
{
- getLog().error( "The maxmemory '" + maxmemory + "' is not a valid number. Ignore this option." );
+ getLog().error(
+ "The maxmemory '" + maxmemory + "' is not a valid number. Ignore this option." );
}
}
}
@@ -712,14 +730,15 @@
}
else
{
- if ( ( NumberUtils.isDigits( minmemory.substring( 0, minmemory.length() - 1 ) ) )
- && ( minmemory.toLowerCase().endsWith( "m" ) ) )
+ if ( ( NumberUtils.isDigits( minmemory.substring( 0, minmemory.length() - 1 ) ) ) &&
+ ( minmemory.toLowerCase().endsWith( "m" ) ) )
{
addArgIf( arguments, true, "-J-Xms" + minmemory );
}
else
{
- getLog().error( "The minmemory '" + minmemory + "' is not a valid number. Ignore this option." );
+ getLog().error(
+ "The minmemory '" + minmemory + "' is not a valid number. Ignore this option." );
}
}
}
@@ -744,7 +763,13 @@
addArgIfNotEmpty( arguments, "-additionalparam", additionalparam );
addArgIfNotEmpty( arguments, "-sourcePath", sourcePath.toString() );
- addArgIfNotEmpty( arguments, "-classpath", classpath.toString() );
+ if ( classpath.length() > 0 )
+ {
+ file = new File( javadocDirectory, "classpath" );
+ file.deleteOnExit();
+ FileUtils.fileWrite( file.getAbsolutePath(), classpath.toString() );
+ cmd.createArgument().setValue( "@classpath" );
+ }
// javadoc arguments for default doclet
if ( StringUtils.isEmpty( doclet ) )
@@ -754,8 +779,8 @@
{
bottom = "Copyright © " + year + " ";
- if ( ( model.getOrganization() != null )
- && ( !StringUtils.isEmpty( model.getOrganization().getName() ) ) )
+ if ( ( model.getOrganization() != null ) &&
+ ( !StringUtils.isEmpty( model.getOrganization().getName() ) ) )
{
bottom += model.getOrganization().getName();
}
@@ -772,8 +797,8 @@
}
if ( windowtitle.equals( DEFAULT_WINDOW_TITLE ) )
{
- windowtitle = ( model.getName() == null ? model.getArtifactId() : model.getName() ) + " "
- + model.getVersion() + " API";
+ windowtitle = ( model.getName() == null ? model.getArtifactId() : model.getName() ) + " " +
+ model.getVersion() + " API";
}
if ( doctitle.equals( DEFAULT_DOCTITLE ) )
{
@@ -896,12 +921,11 @@
* Convenience method to add an argument to the <code>command line</code>
* regarding the requested Java version.
*
- * @see #addArgIf(java.util.List,boolean,String)
- * @see <a href="http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/SystemUtils.html#isJavaVersionAtLeast(float)">SystemUtils.html#isJavaVersionAtLeast(float)</a>
- *
* @param b the flag which controls if the argument is added or not.
* @param value the argument value to be added.
* @param requiredJavaVersion the required Java version, for example 1.31f or 1.4f
+ * @see #addArgIf(java.util.List,boolean,String)
+ * @see <a href="http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/SystemUtils.html#isJavaVersionAtLeast(float)">SystemUtils.html#isJavaVersionAtLeast(float)</a>
*/
private void addArgIf( List arguments, boolean b, String value, float requiredJavaVersion )
{
@@ -921,11 +945,10 @@
* <p>
* Moreover, the value could be comma separated.
*
- * @see #addArgIfNotEmpty(java.util.List,String,String,boolean)
- *
* @param arguments
* @param key the argument name.
* @param value the argument value to be added.
+ * @see #addArgIfNotEmpty(java.util.List,String,String,boolean)
*/
private void addArgIfNotEmpty( List arguments, String key, String value )
{
@@ -971,12 +994,11 @@
* Convenience method to add an argument to the <code>command line</code>
* regarding the requested Java version.
*
- * @see #addArgIfNotEmpty(List, String, String, float, boolean)
- *
* @param arguments
* @param key the argument name.
* @param value the argument value to be added.
* @param requiredJavaVersion the required Java version, for example 1.31f or 1.4f
+ * @see #addArgIfNotEmpty(List, String, String, float, boolean)
*/
private void addArgIfNotEmpty( List arguments, String key, String value, float requiredJavaVersion )
{
@@ -987,16 +1009,15 @@
* Convenience method to add an argument to the <code>command line</code>
* regarding the requested Java version.
*
- * @see #addArgIfNotEmpty(java.util.List,String,String)
- * @see <a href="http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/SystemUtils.html#isJavaVersionAtLeast(float)">SystemUtils.html#isJavaVersionAtLeast(float)</a>
- *
* @param key the argument name.
* @param value the argument value to be added.
* @param requiredJavaVersion the required Java version, for example 1.31f or 1.4f
* @param repeatKey repeat or not the key in the command line
+ * @see #addArgIfNotEmpty(java.util.List,String,String)
+ * @see <a href="http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/SystemUtils.html#isJavaVersionAtLeast(float)">SystemUtils.html#isJavaVersionAtLeast(float)</a>
*/
private void addArgIfNotEmpty( List arguments, String key, String value, float requiredJavaVersion,
- boolean repeatKey )
+ boolean repeatKey )
{
if ( SystemUtils.isJavaVersionAtLeast( requiredJavaVersion ) )
{
@@ -1014,7 +1035,7 @@
*
* @param resource the resource
* @return InputStream An input stream for reading the resource, or <tt>null</tt>
- * if the resource could not be found
+ * if the resource could not be found
* @throws Exception if any
*/
private static InputStream getStream( String resource )
@@ -1027,10 +1048,9 @@
* Convenience method that copy the <code>DEFAULT_STYLESHEET_NAME</code> file from the current class
* loader to the output directory.
*
- * @see #DEFAULT_CSS_NAME
- *
* @param outputDirectory the output directory
* @throws Exception if any
+ * @see #DEFAULT_CSS_NAME
*/
private void copyDefaultStylesheet( File outputDirectory )
throws Exception
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org