package.html file. PR: 25339 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@278005 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -281,6 +281,10 @@ Other changes: | |||||
| This was confusing so the definitions are now treated as similar. | This was confusing so the definitions are now treated as similar. | ||||
| Bugzilla Report 31215. | Bugzilla Report 31215. | ||||
| * <javadoc> has a new attribute "includenosourcepackages" that can be | |||||
| used to document packages that don't hold source files but a | |||||
| package.html file. Bugzilla Report 25339. | |||||
| Fixed bugs: | Fixed bugs: | ||||
| ----------- | ----------- | ||||
| @@ -433,6 +433,14 @@ means any VM of at least version 1.2.</p> | |||||
| <td align="center" valign="top">1.4+</td> | <td align="center" valign="top">1.4+</td> | ||||
| <td align="center" valign="top">No</td> | <td align="center" valign="top">No</td> | ||||
| </tr> | </tr> | ||||
| <tr> | |||||
| <td valign="top">includenosourcepackages</td> | |||||
| <td valign="top">If set to true, packages that don't contain Java | |||||
| source but a package.html will get documented as well. | |||||
| <em>since Ant 1.6.3</em>.</td> | |||||
| <td align="center" valign="top">all</td> | |||||
| <td align="center" valign="top">No (default is <code>false</code>)</td> | |||||
| </tr> | |||||
| </table> | </table> | ||||
| <h4><a name="groupattribute">Format of the group attribute</a></h4> | <h4><a name="groupattribute">Format of the group attribute</a></h4> | ||||
| @@ -465,8 +473,9 @@ the nested <code><packageset></code> elements.</p> | |||||
| <p>A <a href="../CoreTypes/fileset.html">FileSet</a>. All matched | <p>A <a href="../CoreTypes/fileset.html">FileSet</a>. All matched | ||||
| files will be passed to javadoc as source files. Ant will | files will be passed to javadoc as source files. Ant will | ||||
| automatically add the include pattern <code>**/*.java</code> to these | |||||
| filesets.</p> | |||||
| automatically add the include pattern <code>**/*.java</code> (and | |||||
| <code>**/package.html</code> if inncludenosourcepackages is true) to | |||||
| these filesets.</p> | |||||
| <p>Nested filesets can be used to document sources that are in the | <p>Nested filesets can be used to document sources that are in the | ||||
| default package or if you want to exclude certain files from | default package or if you want to exclude certain files from | ||||
| @@ -434,6 +434,7 @@ public class Javadoc extends Task { | |||||
| private boolean linksource = false; | private boolean linksource = false; | ||||
| private boolean breakiterator = false; | private boolean breakiterator = false; | ||||
| private String noqualifier; | private String noqualifier; | ||||
| private boolean includeNoSourcePackages = false; | |||||
| private Vector fileSets = new Vector(); | private Vector fileSets = new Vector(); | ||||
| private Vector packageSets = new Vector(); | private Vector packageSets = new Vector(); | ||||
| @@ -1623,6 +1624,15 @@ public class Javadoc extends Task { | |||||
| this.noqualifier = noqualifier; | this.noqualifier = noqualifier; | ||||
| } | } | ||||
| /** | |||||
| * If set to true, Ant will also accept packages that only hold | |||||
| * package.html files but no Java sources. | |||||
| * @since Ant 1.6.3 | |||||
| */ | |||||
| public void setIncludeNoSourcePackages(boolean b) { | |||||
| this.includeNoSourcePackages = b; | |||||
| } | |||||
| /** | /** | ||||
| * Execute the task. | * Execute the task. | ||||
| * @throws BuildException on error | * @throws BuildException on error | ||||
| @@ -2080,6 +2090,9 @@ public class Javadoc extends Task { | |||||
| if (!fs.hasPatterns() && !fs.hasSelectors()) { | if (!fs.hasPatterns() && !fs.hasSelectors()) { | ||||
| fs = (FileSet) fs.clone(); | fs = (FileSet) fs.clone(); | ||||
| fs.createInclude().setName("**/*.java"); | fs.createInclude().setName("**/*.java"); | ||||
| if (includeNoSourcePackages) { | |||||
| fs.createInclude().setName("**/package.html"); | |||||
| } | |||||
| } | } | ||||
| File baseDir = fs.getDir(getProject()); | File baseDir = fs.getDir(getProject()); | ||||
| DirectoryScanner ds = fs.getDirectoryScanner(getProject()); | DirectoryScanner ds = fs.getDirectoryScanner(getProject()); | ||||
| @@ -2152,10 +2165,9 @@ public class Javadoc extends Task { | |||||
| File pd = new File(baseDir, dirs[i]); | File pd = new File(baseDir, dirs[i]); | ||||
| String[] files = pd.list(new FilenameFilter () { | String[] files = pd.list(new FilenameFilter () { | ||||
| public boolean accept(File dir1, String name) { | public boolean accept(File dir1, String name) { | ||||
| if (name.endsWith(".java")) { | |||||
| return true; | |||||
| } | |||||
| return false; // ignore dirs | |||||
| return name.endsWith(".java") | |||||
| || (includeNoSourcePackages | |||||
| && name.equals("package.html")); | |||||
| } | } | ||||
| }); | }); | ||||