diff --git a/WHATSNEW b/WHATSNEW index e70a43da2..e90ba4611 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -544,6 +544,10 @@ Other changes: break the build if the archive doesn't exist. Bugzilla Report 46091. + * has new attributes that correspond to the + -docfilessubdirs and -excludedocfilessubdir command line arguments. + Bugzilla Report 34455. + Changes from Ant 1.7.0 TO Ant 1.7.1 ============================================= diff --git a/docs/manual/CoreTasks/javadoc.html b/docs/manual/CoreTasks/javadoc.html index 0f4736255..bfa70bfe3 100644 --- a/docs/manual/CoreTasks/javadoc.html +++ b/docs/manual/CoreTasks/javadoc.html @@ -487,6 +487,21 @@ to <javadoc> using classpath, classpathref attributes or all No + + docfilessubdirs + Enables deep-copying of doc-files + subdirectories. Defaults to false. since Ant 1.8.0. + 1.4 + No + + + excludedocfilessubdir + Colon-separated list of doc-files' + subdirectories to exclude if docfilessubdirs is + true. since Ant 1.8.0. + 1.4 + No +

Format of the group attribute

diff --git a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java index b121240a9..32e6d3544 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java +++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java @@ -449,6 +449,8 @@ public class Javadoc extends Task { private String noqualifier; private boolean includeNoSourcePackages = false; private String executable = null; + private boolean docFilesSubDirs = false; + private String excludeDocFilesSubDir = null; private ResourceCollectionContainer nestedSourceFiles = new ResourceCollectionContainer(); @@ -1632,6 +1634,25 @@ public class Javadoc extends Task { this.includeNoSourcePackages = b; } + /** + * Enables deep-copying of doc-files directories. + * + * @since Ant 1.8.0 + */ + public void setDocFilesSubDirs(boolean b) { + docFilesSubDirs = b; + } + + /** + * Colon-separated list of doc-files subdirectories + * to skip if {@link #setDocFilesSubDirs docFilesSubDirs is true}. + * + * @since Ant 1.8.0 + */ + public void setExcludeDocFilesSubDir(String s) { + excludeDocFilesSubDir = s; + } + /** * Execute the task. * @throws BuildException on error @@ -1673,6 +1694,7 @@ public class Javadoc extends Task { doLinks(toExecute); // links arguments doGroup(toExecute); // group attribute doGroups(toExecute); // groups attribute + doDocFilesSubDirs(toExecute); // docfilessubdir attribute doJava14(toExecute); if (breakiterator && (doclet == null || JAVADOC_5)) { @@ -2131,6 +2153,17 @@ public class Javadoc extends Task { } } + private void doDocFilesSubDirs(Commandline toExecute) { + if (docFilesSubDirs) { + toExecute.createArgument().setValue("-docfilessubdirs"); + if (excludeDocFilesSubDir != null + && excludeDocFilesSubDir.trim().length() > 0) { + toExecute.createArgument().setValue("-excludedocfilessubdir"); + toExecute.createArgument().setValue(excludeDocFilesSubDir); + } + } + } + private void doSourceAndPackageNames( Commandline toExecute, Vector packagesToDoc, diff --git a/src/tests/antunit/taskdefs/javadoc-test.xml b/src/tests/antunit/taskdefs/javadoc-test.xml index 3c6701006..01907477e 100644 --- a/src/tests/antunit/taskdefs/javadoc-test.xml +++ b/src/tests/antunit/taskdefs/javadoc-test.xml @@ -18,7 +18,7 @@ - + + + + + + + + + + + + Hello, world!

]]>
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +