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.
+ * 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 @@