git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270363 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -0,0 +1,20 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import org.apache.tools.ant.types.EnumeratedAttribute; | |||||
| public class AccessType extends EnumeratedAttribute | |||||
| { | |||||
| public String[] getValues() | |||||
| { | |||||
| // Protected first so if any GUI tool offers a default | |||||
| // based on enum #0, it will be right. | |||||
| return new String[]{"protected", "public", "package", "private"}; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,83 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import java.util.ArrayList; | |||||
| import java.util.Iterator; | |||||
| import org.apache.myrmidon.api.TaskException; | |||||
| import org.apache.tools.ant.types.Path; | |||||
| import org.apache.tools.ant.types.Reference; | |||||
| public class DocletInfo | |||||
| { | |||||
| private ArrayList m_params = new ArrayList(); | |||||
| private String m_name; | |||||
| private Path m_path; | |||||
| public void setName( String name ) | |||||
| { | |||||
| m_name = name; | |||||
| } | |||||
| public void setPath( Path path ) | |||||
| throws TaskException | |||||
| { | |||||
| if( m_path == null ) | |||||
| { | |||||
| m_path = path; | |||||
| } | |||||
| else | |||||
| { | |||||
| m_path.append( path ); | |||||
| } | |||||
| } | |||||
| /** | |||||
| * Adds a reference to a CLASSPATH defined elsewhere. | |||||
| * | |||||
| * @param r The new PathRef value | |||||
| */ | |||||
| public void setPathRef( Reference r ) | |||||
| throws TaskException | |||||
| { | |||||
| createPath().setRefid( r ); | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return m_name; | |||||
| } | |||||
| public Iterator getParams() | |||||
| { | |||||
| return m_params.iterator(); | |||||
| } | |||||
| public Path getPath() | |||||
| { | |||||
| return m_path; | |||||
| } | |||||
| public DocletParam createParam() | |||||
| { | |||||
| DocletParam param = new DocletParam(); | |||||
| m_params.add( param ); | |||||
| return param; | |||||
| } | |||||
| public Path createPath() | |||||
| throws TaskException | |||||
| { | |||||
| if( m_path == null ) | |||||
| { | |||||
| m_path = new Path( null ); | |||||
| } | |||||
| return m_path.createPath(); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,34 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| public class DocletParam | |||||
| { | |||||
| private String m_name; | |||||
| private String m_value; | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.m_name = name; | |||||
| } | |||||
| public void setValue( String value ) | |||||
| { | |||||
| this.m_value = value; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return m_name; | |||||
| } | |||||
| public String getValue() | |||||
| { | |||||
| return m_value; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,23 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| public class Html | |||||
| { | |||||
| private StringBuffer m_text = new StringBuffer(); | |||||
| public String getText() | |||||
| { | |||||
| return m_text.toString(); | |||||
| } | |||||
| public void addText( final String text ) | |||||
| { | |||||
| m_text.append( text ); | |||||
| } | |||||
| } | |||||
| @@ -5,7 +5,7 @@ | |||||
| * version 1.1, a copy of which has been included with this distribution in | * version 1.1, a copy of which has been included with this distribution in | ||||
| * the LICENSE.txt file. | * the LICENSE.txt file. | ||||
| */ | */ | ||||
| package org.apache.tools.ant.taskdefs; | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import java.io.File; | import java.io.File; | ||||
| import java.io.FileWriter; | import java.io.FileWriter; | ||||
| @@ -21,9 +21,7 @@ import org.apache.tools.ant.DirectoryScanner; | |||||
| import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
| import org.apache.tools.ant.Task; | import org.apache.tools.ant.Task; | ||||
| import org.apache.tools.ant.taskdefs.exec.Execute; | import org.apache.tools.ant.taskdefs.exec.Execute; | ||||
| import org.apache.tools.ant.taskdefs.exec.LogOutputStream; | |||||
| import org.apache.tools.ant.types.Commandline; | import org.apache.tools.ant.types.Commandline; | ||||
| import org.apache.tools.ant.types.EnumeratedAttribute; | |||||
| import org.apache.tools.ant.types.FileSet; | import org.apache.tools.ant.types.FileSet; | ||||
| import org.apache.tools.ant.types.Path; | import org.apache.tools.ant.types.Path; | ||||
| import org.apache.tools.ant.types.Reference; | import org.apache.tools.ant.types.Reference; | ||||
| @@ -68,30 +66,29 @@ public class Javadoc extends Task | |||||
| private Commandline cmd = new Commandline(); | private Commandline cmd = new Commandline(); | ||||
| private boolean foundJavaFile = false; | |||||
| private boolean failOnError = false; | |||||
| private Path sourcePath = null; | |||||
| private File destDir = null; | |||||
| private boolean foundJavaFile; | |||||
| private Path sourcePath; | |||||
| private File destDir; | |||||
| private ArrayList sourceFiles = new ArrayList(); | private ArrayList sourceFiles = new ArrayList(); | ||||
| private ArrayList packageNames = new ArrayList( 5 ); | private ArrayList packageNames = new ArrayList( 5 ); | ||||
| private ArrayList excludePackageNames = new ArrayList( 1 ); | private ArrayList excludePackageNames = new ArrayList( 1 ); | ||||
| private boolean author = true; | private boolean author = true; | ||||
| private boolean version = true; | private boolean version = true; | ||||
| private DocletInfo doclet = null; | |||||
| private Path classpath = null; | |||||
| private Path bootclasspath = null; | |||||
| private String group = null; | |||||
| private DocletInfo doclet; | |||||
| private Path classpath; | |||||
| private Path bootclasspath; | |||||
| private String group; | |||||
| private ArrayList compileList = new ArrayList( 10 ); | private ArrayList compileList = new ArrayList( 10 ); | ||||
| private String packageList = null; | |||||
| private String packageList; | |||||
| private ArrayList links = new ArrayList( 2 ); | private ArrayList links = new ArrayList( 2 ); | ||||
| private ArrayList groups = new ArrayList( 2 ); | private ArrayList groups = new ArrayList( 2 ); | ||||
| private boolean useDefaultExcludes = true; | private boolean useDefaultExcludes = true; | ||||
| private Html doctitle = null; | |||||
| private Html header = null; | |||||
| private Html footer = null; | |||||
| private Html bottom = null; | |||||
| private boolean useExternalFile = false; | |||||
| private File tmpList = null; | |||||
| private Html doctitle; | |||||
| private Html header; | |||||
| private Html footer; | |||||
| private Html bottom; | |||||
| private boolean useExternalFile; | |||||
| private File tmpList; | |||||
| public void setAccess( AccessType at ) | public void setAccess( AccessType at ) | ||||
| { | { | ||||
| @@ -256,19 +253,6 @@ public class Javadoc extends Task | |||||
| } | } | ||||
| } | } | ||||
| /** | |||||
| * Should the build process fail if javadoc fails (as indicated by a non | |||||
| * zero return code)? <p> | |||||
| * | |||||
| * Default is false.</p> | |||||
| * | |||||
| * @param b The new Failonerror value | |||||
| */ | |||||
| public void setFailonerror( boolean b ) | |||||
| { | |||||
| failOnError = b; | |||||
| } | |||||
| public void setFooter( String src ) | public void setFooter( String src ) | ||||
| { | { | ||||
| Html h = new Html(); | Html h = new Html(); | ||||
| @@ -913,8 +897,8 @@ public class Javadoc extends Task | |||||
| log( "Javadoc execution", Project.MSG_INFO ); | log( "Javadoc execution", Project.MSG_INFO ); | ||||
| JavadocOutputStream out = new JavadocOutputStream( Project.MSG_INFO ); | |||||
| JavadocOutputStream err = new JavadocOutputStream( Project.MSG_WARN ); | |||||
| JavadocOutputStream out = new JavadocOutputStream( this, Project.MSG_INFO ); | |||||
| JavadocOutputStream err = new JavadocOutputStream( this, Project.MSG_WARN ); | |||||
| Execute exe = new Execute(); | Execute exe = new Execute(); | ||||
| exe.setOutput( out ); | exe.setOutput( out ); | ||||
| exe.setError( err ); | exe.setError( err ); | ||||
| @@ -929,8 +913,8 @@ public class Javadoc extends Task | |||||
| try | try | ||||
| { | { | ||||
| exe.setCommandline( toExecute.getCommandline() ); | exe.setCommandline( toExecute.getCommandline() ); | ||||
| int ret = exe.execute(); | |||||
| if( ret != 0 && failOnError ) | |||||
| final int ret = exe.execute(); | |||||
| if( ret != 0 ) | |||||
| { | { | ||||
| throw new TaskException( "Javadoc returned " + ret ); | throw new TaskException( "Javadoc returned " + ret ); | ||||
| } | } | ||||
| @@ -948,10 +932,10 @@ public class Javadoc extends Task | |||||
| tmpList = null; | tmpList = null; | ||||
| } | } | ||||
| out.logFlush(); | |||||
| err.logFlush(); | |||||
| try | try | ||||
| { | { | ||||
| out.flush(); | |||||
| err.flush(); | |||||
| out.close(); | out.close(); | ||||
| err.close(); | err.close(); | ||||
| } | } | ||||
| @@ -1180,162 +1164,6 @@ public class Javadoc extends Task | |||||
| } | } | ||||
| } | } | ||||
| public static class AccessType extends EnumeratedAttribute | |||||
| { | |||||
| public String[] getValues() | |||||
| { | |||||
| // Protected first so if any GUI tool offers a default | |||||
| // based on enum #0, it will be right. | |||||
| return new String[]{"protected", "public", "package", "private"}; | |||||
| } | |||||
| } | |||||
| public static class Html | |||||
| { | |||||
| private StringBuffer text = new StringBuffer(); | |||||
| public String getText() | |||||
| { | |||||
| return text.toString(); | |||||
| } | |||||
| public void addText( String t ) | |||||
| { | |||||
| text.append( t ); | |||||
| } | |||||
| } | |||||
| public static class PackageName | |||||
| { | |||||
| private String name; | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.name = name; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return name; | |||||
| } | |||||
| public String toString() | |||||
| { | |||||
| return getName(); | |||||
| } | |||||
| } | |||||
| public static class SourceFile | |||||
| { | |||||
| private File file; | |||||
| public void setFile( File file ) | |||||
| { | |||||
| this.file = file; | |||||
| } | |||||
| public File getFile() | |||||
| { | |||||
| return file; | |||||
| } | |||||
| } | |||||
| public class DocletInfo | |||||
| { | |||||
| private ArrayList params = new ArrayList(); | |||||
| private String name; | |||||
| private Path path; | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.name = name; | |||||
| } | |||||
| public void setPath( Path path ) | |||||
| throws TaskException | |||||
| { | |||||
| if( this.path == null ) | |||||
| { | |||||
| this.path = path; | |||||
| } | |||||
| else | |||||
| { | |||||
| this.path.append( path ); | |||||
| } | |||||
| } | |||||
| /** | |||||
| * Adds a reference to a CLASSPATH defined elsewhere. | |||||
| * | |||||
| * @param r The new PathRef value | |||||
| */ | |||||
| public void setPathRef( Reference r ) | |||||
| throws TaskException | |||||
| { | |||||
| createPath().setRefid( r ); | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return name; | |||||
| } | |||||
| public Iterator getParams() | |||||
| { | |||||
| return params.iterator(); | |||||
| } | |||||
| public Path getPath() | |||||
| { | |||||
| return path; | |||||
| } | |||||
| public DocletParam createParam() | |||||
| { | |||||
| DocletParam param = new DocletParam(); | |||||
| params.add( param ); | |||||
| return param; | |||||
| } | |||||
| public Path createPath() | |||||
| throws TaskException | |||||
| { | |||||
| if( path == null ) | |||||
| { | |||||
| path = new Path( getProject() ); | |||||
| } | |||||
| return path.createPath(); | |||||
| } | |||||
| } | |||||
| public class DocletParam | |||||
| { | |||||
| private String name; | |||||
| private String value; | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.name = name; | |||||
| } | |||||
| public void setValue( String value ) | |||||
| { | |||||
| this.value = value; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return name; | |||||
| } | |||||
| public String getValue() | |||||
| { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| public class GroupArgument | public class GroupArgument | ||||
| { | { | ||||
| private ArrayList packages = new ArrayList( 3 ); | private ArrayList packages = new ArrayList( 3 ); | ||||
| @@ -1394,94 +1222,4 @@ public class Javadoc extends Task | |||||
| } | } | ||||
| } | } | ||||
| public class LinkArgument | |||||
| { | |||||
| private boolean offline = false; | |||||
| private String href; | |||||
| private File packagelistLoc; | |||||
| public LinkArgument() | |||||
| { | |||||
| } | |||||
| public void setHref( String hr ) | |||||
| { | |||||
| href = hr; | |||||
| } | |||||
| public void setOffline( boolean offline ) | |||||
| { | |||||
| this.offline = offline; | |||||
| } | |||||
| public void setPackagelistLoc( File src ) | |||||
| { | |||||
| packagelistLoc = src; | |||||
| } | |||||
| public String getHref() | |||||
| { | |||||
| return href; | |||||
| } | |||||
| public File getPackagelistLoc() | |||||
| { | |||||
| return packagelistLoc; | |||||
| } | |||||
| public boolean isLinkOffline() | |||||
| { | |||||
| return offline; | |||||
| } | |||||
| } | |||||
| private class JavadocOutputStream extends LogOutputStream | |||||
| { | |||||
| // | |||||
| // Override the logging of output in order to filter out Generating | |||||
| // messages. Generating messages are set to a priority of VERBOSE | |||||
| // unless they appear after what could be an informational message. | |||||
| // | |||||
| private String queuedLine = null; | |||||
| JavadocOutputStream( int level ) | |||||
| { | |||||
| super( Javadoc.this, level ); | |||||
| } | |||||
| protected void logFlush() | |||||
| { | |||||
| if( queuedLine != null ) | |||||
| { | |||||
| super.processLine( queuedLine, Project.MSG_VERBOSE ); | |||||
| queuedLine = null; | |||||
| } | |||||
| } | |||||
| protected void processLine( String line, int messageLevel ) | |||||
| { | |||||
| if( messageLevel == Project.MSG_INFO && line.startsWith( "Generating " ) ) | |||||
| { | |||||
| if( queuedLine != null ) | |||||
| { | |||||
| super.processLine( queuedLine, Project.MSG_VERBOSE ); | |||||
| } | |||||
| queuedLine = line; | |||||
| } | |||||
| else | |||||
| { | |||||
| if( queuedLine != null ) | |||||
| { | |||||
| if( line.startsWith( "Building " ) ) | |||||
| super.processLine( queuedLine, Project.MSG_VERBOSE ); | |||||
| else | |||||
| super.processLine( queuedLine, Project.MSG_INFO ); | |||||
| queuedLine = null; | |||||
| } | |||||
| super.processLine( line, messageLevel ); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,53 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import org.apache.tools.ant.Project; | |||||
| import org.apache.tools.ant.Task; | |||||
| import org.apache.tools.ant.taskdefs.exec.LogOutputStream; | |||||
| class JavadocOutputStream | |||||
| extends LogOutputStream | |||||
| { | |||||
| // | |||||
| // Override the logging of output in order to filter out Generating | |||||
| // messages. Generating messages are set to a priority of VERBOSE | |||||
| // unless they appear after what could be an informational message. | |||||
| // | |||||
| private String m_queuedLine; | |||||
| JavadocOutputStream( Task javadoc, int level ) | |||||
| { | |||||
| super( javadoc, level ); | |||||
| } | |||||
| protected void processLine( String line, int messageLevel ) | |||||
| { | |||||
| if( messageLevel == Project.MSG_INFO && line.startsWith( "Generating " ) ) | |||||
| { | |||||
| if( m_queuedLine != null ) | |||||
| { | |||||
| super.processLine( m_queuedLine, Project.MSG_VERBOSE ); | |||||
| } | |||||
| m_queuedLine = line; | |||||
| } | |||||
| else | |||||
| { | |||||
| if( m_queuedLine != null ) | |||||
| { | |||||
| if( line.startsWith( "Building " ) ) | |||||
| super.processLine( m_queuedLine, Project.MSG_VERBOSE ); | |||||
| else | |||||
| super.processLine( m_queuedLine, Project.MSG_INFO ); | |||||
| m_queuedLine = null; | |||||
| } | |||||
| super.processLine( line, messageLevel ); | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,47 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import java.io.File; | |||||
| public class LinkArgument | |||||
| { | |||||
| private boolean m_offline; | |||||
| private String m_href; | |||||
| private File m_packagelistLoc; | |||||
| public void setHref( String hr ) | |||||
| { | |||||
| m_href = hr; | |||||
| } | |||||
| public void setOffline( boolean offline ) | |||||
| { | |||||
| this.m_offline = offline; | |||||
| } | |||||
| public void setPackagelistLoc( File src ) | |||||
| { | |||||
| m_packagelistLoc = src; | |||||
| } | |||||
| public String getHref() | |||||
| { | |||||
| return m_href; | |||||
| } | |||||
| public File getPackagelistLoc() | |||||
| { | |||||
| return m_packagelistLoc; | |||||
| } | |||||
| public boolean isLinkOffline() | |||||
| { | |||||
| return m_offline; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,28 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| public class PackageName | |||||
| { | |||||
| private String m_name; | |||||
| public void setName( final String name ) | |||||
| { | |||||
| m_name = name; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return m_name; | |||||
| } | |||||
| public String toString() | |||||
| { | |||||
| return getName(); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,25 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import java.io.File; | |||||
| public class SourceFile | |||||
| { | |||||
| private File m_file; | |||||
| public void setFile( File file ) | |||||
| { | |||||
| this.m_file = file; | |||||
| } | |||||
| public File getFile() | |||||
| { | |||||
| return m_file; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,20 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import org.apache.tools.ant.types.EnumeratedAttribute; | |||||
| public class AccessType extends EnumeratedAttribute | |||||
| { | |||||
| public String[] getValues() | |||||
| { | |||||
| // Protected first so if any GUI tool offers a default | |||||
| // based on enum #0, it will be right. | |||||
| return new String[]{"protected", "public", "package", "private"}; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,83 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import java.util.ArrayList; | |||||
| import java.util.Iterator; | |||||
| import org.apache.myrmidon.api.TaskException; | |||||
| import org.apache.tools.ant.types.Path; | |||||
| import org.apache.tools.ant.types.Reference; | |||||
| public class DocletInfo | |||||
| { | |||||
| private ArrayList m_params = new ArrayList(); | |||||
| private String m_name; | |||||
| private Path m_path; | |||||
| public void setName( String name ) | |||||
| { | |||||
| m_name = name; | |||||
| } | |||||
| public void setPath( Path path ) | |||||
| throws TaskException | |||||
| { | |||||
| if( m_path == null ) | |||||
| { | |||||
| m_path = path; | |||||
| } | |||||
| else | |||||
| { | |||||
| m_path.append( path ); | |||||
| } | |||||
| } | |||||
| /** | |||||
| * Adds a reference to a CLASSPATH defined elsewhere. | |||||
| * | |||||
| * @param r The new PathRef value | |||||
| */ | |||||
| public void setPathRef( Reference r ) | |||||
| throws TaskException | |||||
| { | |||||
| createPath().setRefid( r ); | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return m_name; | |||||
| } | |||||
| public Iterator getParams() | |||||
| { | |||||
| return m_params.iterator(); | |||||
| } | |||||
| public Path getPath() | |||||
| { | |||||
| return m_path; | |||||
| } | |||||
| public DocletParam createParam() | |||||
| { | |||||
| DocletParam param = new DocletParam(); | |||||
| m_params.add( param ); | |||||
| return param; | |||||
| } | |||||
| public Path createPath() | |||||
| throws TaskException | |||||
| { | |||||
| if( m_path == null ) | |||||
| { | |||||
| m_path = new Path( null ); | |||||
| } | |||||
| return m_path.createPath(); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,34 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| public class DocletParam | |||||
| { | |||||
| private String m_name; | |||||
| private String m_value; | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.m_name = name; | |||||
| } | |||||
| public void setValue( String value ) | |||||
| { | |||||
| this.m_value = value; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return m_name; | |||||
| } | |||||
| public String getValue() | |||||
| { | |||||
| return m_value; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,23 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| public class Html | |||||
| { | |||||
| private StringBuffer m_text = new StringBuffer(); | |||||
| public String getText() | |||||
| { | |||||
| return m_text.toString(); | |||||
| } | |||||
| public void addText( final String text ) | |||||
| { | |||||
| m_text.append( text ); | |||||
| } | |||||
| } | |||||
| @@ -5,7 +5,7 @@ | |||||
| * version 1.1, a copy of which has been included with this distribution in | * version 1.1, a copy of which has been included with this distribution in | ||||
| * the LICENSE.txt file. | * the LICENSE.txt file. | ||||
| */ | */ | ||||
| package org.apache.tools.ant.taskdefs; | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import java.io.File; | import java.io.File; | ||||
| import java.io.FileWriter; | import java.io.FileWriter; | ||||
| @@ -21,9 +21,7 @@ import org.apache.tools.ant.DirectoryScanner; | |||||
| import org.apache.tools.ant.Project; | import org.apache.tools.ant.Project; | ||||
| import org.apache.tools.ant.Task; | import org.apache.tools.ant.Task; | ||||
| import org.apache.tools.ant.taskdefs.exec.Execute; | import org.apache.tools.ant.taskdefs.exec.Execute; | ||||
| import org.apache.tools.ant.taskdefs.exec.LogOutputStream; | |||||
| import org.apache.tools.ant.types.Commandline; | import org.apache.tools.ant.types.Commandline; | ||||
| import org.apache.tools.ant.types.EnumeratedAttribute; | |||||
| import org.apache.tools.ant.types.FileSet; | import org.apache.tools.ant.types.FileSet; | ||||
| import org.apache.tools.ant.types.Path; | import org.apache.tools.ant.types.Path; | ||||
| import org.apache.tools.ant.types.Reference; | import org.apache.tools.ant.types.Reference; | ||||
| @@ -68,30 +66,29 @@ public class Javadoc extends Task | |||||
| private Commandline cmd = new Commandline(); | private Commandline cmd = new Commandline(); | ||||
| private boolean foundJavaFile = false; | |||||
| private boolean failOnError = false; | |||||
| private Path sourcePath = null; | |||||
| private File destDir = null; | |||||
| private boolean foundJavaFile; | |||||
| private Path sourcePath; | |||||
| private File destDir; | |||||
| private ArrayList sourceFiles = new ArrayList(); | private ArrayList sourceFiles = new ArrayList(); | ||||
| private ArrayList packageNames = new ArrayList( 5 ); | private ArrayList packageNames = new ArrayList( 5 ); | ||||
| private ArrayList excludePackageNames = new ArrayList( 1 ); | private ArrayList excludePackageNames = new ArrayList( 1 ); | ||||
| private boolean author = true; | private boolean author = true; | ||||
| private boolean version = true; | private boolean version = true; | ||||
| private DocletInfo doclet = null; | |||||
| private Path classpath = null; | |||||
| private Path bootclasspath = null; | |||||
| private String group = null; | |||||
| private DocletInfo doclet; | |||||
| private Path classpath; | |||||
| private Path bootclasspath; | |||||
| private String group; | |||||
| private ArrayList compileList = new ArrayList( 10 ); | private ArrayList compileList = new ArrayList( 10 ); | ||||
| private String packageList = null; | |||||
| private String packageList; | |||||
| private ArrayList links = new ArrayList( 2 ); | private ArrayList links = new ArrayList( 2 ); | ||||
| private ArrayList groups = new ArrayList( 2 ); | private ArrayList groups = new ArrayList( 2 ); | ||||
| private boolean useDefaultExcludes = true; | private boolean useDefaultExcludes = true; | ||||
| private Html doctitle = null; | |||||
| private Html header = null; | |||||
| private Html footer = null; | |||||
| private Html bottom = null; | |||||
| private boolean useExternalFile = false; | |||||
| private File tmpList = null; | |||||
| private Html doctitle; | |||||
| private Html header; | |||||
| private Html footer; | |||||
| private Html bottom; | |||||
| private boolean useExternalFile; | |||||
| private File tmpList; | |||||
| public void setAccess( AccessType at ) | public void setAccess( AccessType at ) | ||||
| { | { | ||||
| @@ -256,19 +253,6 @@ public class Javadoc extends Task | |||||
| } | } | ||||
| } | } | ||||
| /** | |||||
| * Should the build process fail if javadoc fails (as indicated by a non | |||||
| * zero return code)? <p> | |||||
| * | |||||
| * Default is false.</p> | |||||
| * | |||||
| * @param b The new Failonerror value | |||||
| */ | |||||
| public void setFailonerror( boolean b ) | |||||
| { | |||||
| failOnError = b; | |||||
| } | |||||
| public void setFooter( String src ) | public void setFooter( String src ) | ||||
| { | { | ||||
| Html h = new Html(); | Html h = new Html(); | ||||
| @@ -913,8 +897,8 @@ public class Javadoc extends Task | |||||
| log( "Javadoc execution", Project.MSG_INFO ); | log( "Javadoc execution", Project.MSG_INFO ); | ||||
| JavadocOutputStream out = new JavadocOutputStream( Project.MSG_INFO ); | |||||
| JavadocOutputStream err = new JavadocOutputStream( Project.MSG_WARN ); | |||||
| JavadocOutputStream out = new JavadocOutputStream( this, Project.MSG_INFO ); | |||||
| JavadocOutputStream err = new JavadocOutputStream( this, Project.MSG_WARN ); | |||||
| Execute exe = new Execute(); | Execute exe = new Execute(); | ||||
| exe.setOutput( out ); | exe.setOutput( out ); | ||||
| exe.setError( err ); | exe.setError( err ); | ||||
| @@ -929,8 +913,8 @@ public class Javadoc extends Task | |||||
| try | try | ||||
| { | { | ||||
| exe.setCommandline( toExecute.getCommandline() ); | exe.setCommandline( toExecute.getCommandline() ); | ||||
| int ret = exe.execute(); | |||||
| if( ret != 0 && failOnError ) | |||||
| final int ret = exe.execute(); | |||||
| if( ret != 0 ) | |||||
| { | { | ||||
| throw new TaskException( "Javadoc returned " + ret ); | throw new TaskException( "Javadoc returned " + ret ); | ||||
| } | } | ||||
| @@ -948,10 +932,10 @@ public class Javadoc extends Task | |||||
| tmpList = null; | tmpList = null; | ||||
| } | } | ||||
| out.logFlush(); | |||||
| err.logFlush(); | |||||
| try | try | ||||
| { | { | ||||
| out.flush(); | |||||
| err.flush(); | |||||
| out.close(); | out.close(); | ||||
| err.close(); | err.close(); | ||||
| } | } | ||||
| @@ -1180,162 +1164,6 @@ public class Javadoc extends Task | |||||
| } | } | ||||
| } | } | ||||
| public static class AccessType extends EnumeratedAttribute | |||||
| { | |||||
| public String[] getValues() | |||||
| { | |||||
| // Protected first so if any GUI tool offers a default | |||||
| // based on enum #0, it will be right. | |||||
| return new String[]{"protected", "public", "package", "private"}; | |||||
| } | |||||
| } | |||||
| public static class Html | |||||
| { | |||||
| private StringBuffer text = new StringBuffer(); | |||||
| public String getText() | |||||
| { | |||||
| return text.toString(); | |||||
| } | |||||
| public void addText( String t ) | |||||
| { | |||||
| text.append( t ); | |||||
| } | |||||
| } | |||||
| public static class PackageName | |||||
| { | |||||
| private String name; | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.name = name; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return name; | |||||
| } | |||||
| public String toString() | |||||
| { | |||||
| return getName(); | |||||
| } | |||||
| } | |||||
| public static class SourceFile | |||||
| { | |||||
| private File file; | |||||
| public void setFile( File file ) | |||||
| { | |||||
| this.file = file; | |||||
| } | |||||
| public File getFile() | |||||
| { | |||||
| return file; | |||||
| } | |||||
| } | |||||
| public class DocletInfo | |||||
| { | |||||
| private ArrayList params = new ArrayList(); | |||||
| private String name; | |||||
| private Path path; | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.name = name; | |||||
| } | |||||
| public void setPath( Path path ) | |||||
| throws TaskException | |||||
| { | |||||
| if( this.path == null ) | |||||
| { | |||||
| this.path = path; | |||||
| } | |||||
| else | |||||
| { | |||||
| this.path.append( path ); | |||||
| } | |||||
| } | |||||
| /** | |||||
| * Adds a reference to a CLASSPATH defined elsewhere. | |||||
| * | |||||
| * @param r The new PathRef value | |||||
| */ | |||||
| public void setPathRef( Reference r ) | |||||
| throws TaskException | |||||
| { | |||||
| createPath().setRefid( r ); | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return name; | |||||
| } | |||||
| public Iterator getParams() | |||||
| { | |||||
| return params.iterator(); | |||||
| } | |||||
| public Path getPath() | |||||
| { | |||||
| return path; | |||||
| } | |||||
| public DocletParam createParam() | |||||
| { | |||||
| DocletParam param = new DocletParam(); | |||||
| params.add( param ); | |||||
| return param; | |||||
| } | |||||
| public Path createPath() | |||||
| throws TaskException | |||||
| { | |||||
| if( path == null ) | |||||
| { | |||||
| path = new Path( getProject() ); | |||||
| } | |||||
| return path.createPath(); | |||||
| } | |||||
| } | |||||
| public class DocletParam | |||||
| { | |||||
| private String name; | |||||
| private String value; | |||||
| public void setName( String name ) | |||||
| { | |||||
| this.name = name; | |||||
| } | |||||
| public void setValue( String value ) | |||||
| { | |||||
| this.value = value; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return name; | |||||
| } | |||||
| public String getValue() | |||||
| { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| public class GroupArgument | public class GroupArgument | ||||
| { | { | ||||
| private ArrayList packages = new ArrayList( 3 ); | private ArrayList packages = new ArrayList( 3 ); | ||||
| @@ -1394,94 +1222,4 @@ public class Javadoc extends Task | |||||
| } | } | ||||
| } | } | ||||
| public class LinkArgument | |||||
| { | |||||
| private boolean offline = false; | |||||
| private String href; | |||||
| private File packagelistLoc; | |||||
| public LinkArgument() | |||||
| { | |||||
| } | |||||
| public void setHref( String hr ) | |||||
| { | |||||
| href = hr; | |||||
| } | |||||
| public void setOffline( boolean offline ) | |||||
| { | |||||
| this.offline = offline; | |||||
| } | |||||
| public void setPackagelistLoc( File src ) | |||||
| { | |||||
| packagelistLoc = src; | |||||
| } | |||||
| public String getHref() | |||||
| { | |||||
| return href; | |||||
| } | |||||
| public File getPackagelistLoc() | |||||
| { | |||||
| return packagelistLoc; | |||||
| } | |||||
| public boolean isLinkOffline() | |||||
| { | |||||
| return offline; | |||||
| } | |||||
| } | |||||
| private class JavadocOutputStream extends LogOutputStream | |||||
| { | |||||
| // | |||||
| // Override the logging of output in order to filter out Generating | |||||
| // messages. Generating messages are set to a priority of VERBOSE | |||||
| // unless they appear after what could be an informational message. | |||||
| // | |||||
| private String queuedLine = null; | |||||
| JavadocOutputStream( int level ) | |||||
| { | |||||
| super( Javadoc.this, level ); | |||||
| } | |||||
| protected void logFlush() | |||||
| { | |||||
| if( queuedLine != null ) | |||||
| { | |||||
| super.processLine( queuedLine, Project.MSG_VERBOSE ); | |||||
| queuedLine = null; | |||||
| } | |||||
| } | |||||
| protected void processLine( String line, int messageLevel ) | |||||
| { | |||||
| if( messageLevel == Project.MSG_INFO && line.startsWith( "Generating " ) ) | |||||
| { | |||||
| if( queuedLine != null ) | |||||
| { | |||||
| super.processLine( queuedLine, Project.MSG_VERBOSE ); | |||||
| } | |||||
| queuedLine = line; | |||||
| } | |||||
| else | |||||
| { | |||||
| if( queuedLine != null ) | |||||
| { | |||||
| if( line.startsWith( "Building " ) ) | |||||
| super.processLine( queuedLine, Project.MSG_VERBOSE ); | |||||
| else | |||||
| super.processLine( queuedLine, Project.MSG_INFO ); | |||||
| queuedLine = null; | |||||
| } | |||||
| super.processLine( line, messageLevel ); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,53 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import org.apache.tools.ant.Project; | |||||
| import org.apache.tools.ant.Task; | |||||
| import org.apache.tools.ant.taskdefs.exec.LogOutputStream; | |||||
| class JavadocOutputStream | |||||
| extends LogOutputStream | |||||
| { | |||||
| // | |||||
| // Override the logging of output in order to filter out Generating | |||||
| // messages. Generating messages are set to a priority of VERBOSE | |||||
| // unless they appear after what could be an informational message. | |||||
| // | |||||
| private String m_queuedLine; | |||||
| JavadocOutputStream( Task javadoc, int level ) | |||||
| { | |||||
| super( javadoc, level ); | |||||
| } | |||||
| protected void processLine( String line, int messageLevel ) | |||||
| { | |||||
| if( messageLevel == Project.MSG_INFO && line.startsWith( "Generating " ) ) | |||||
| { | |||||
| if( m_queuedLine != null ) | |||||
| { | |||||
| super.processLine( m_queuedLine, Project.MSG_VERBOSE ); | |||||
| } | |||||
| m_queuedLine = line; | |||||
| } | |||||
| else | |||||
| { | |||||
| if( m_queuedLine != null ) | |||||
| { | |||||
| if( line.startsWith( "Building " ) ) | |||||
| super.processLine( m_queuedLine, Project.MSG_VERBOSE ); | |||||
| else | |||||
| super.processLine( m_queuedLine, Project.MSG_INFO ); | |||||
| m_queuedLine = null; | |||||
| } | |||||
| super.processLine( line, messageLevel ); | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,47 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import java.io.File; | |||||
| public class LinkArgument | |||||
| { | |||||
| private boolean m_offline; | |||||
| private String m_href; | |||||
| private File m_packagelistLoc; | |||||
| public void setHref( String hr ) | |||||
| { | |||||
| m_href = hr; | |||||
| } | |||||
| public void setOffline( boolean offline ) | |||||
| { | |||||
| this.m_offline = offline; | |||||
| } | |||||
| public void setPackagelistLoc( File src ) | |||||
| { | |||||
| m_packagelistLoc = src; | |||||
| } | |||||
| public String getHref() | |||||
| { | |||||
| return m_href; | |||||
| } | |||||
| public File getPackagelistLoc() | |||||
| { | |||||
| return m_packagelistLoc; | |||||
| } | |||||
| public boolean isLinkOffline() | |||||
| { | |||||
| return m_offline; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,28 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| public class PackageName | |||||
| { | |||||
| private String m_name; | |||||
| public void setName( final String name ) | |||||
| { | |||||
| m_name = name; | |||||
| } | |||||
| public String getName() | |||||
| { | |||||
| return m_name; | |||||
| } | |||||
| public String toString() | |||||
| { | |||||
| return getName(); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,25 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.javadoc; | |||||
| import java.io.File; | |||||
| public class SourceFile | |||||
| { | |||||
| private File m_file; | |||||
| public void setFile( File file ) | |||||
| { | |||||
| this.m_file = file; | |||||
| } | |||||
| public File getFile() | |||||
| { | |||||
| return m_file; | |||||
| } | |||||
| } | |||||