diff --git a/docs/manual/CoreTasks/ant.html b/docs/manual/CoreTasks/ant.html index b8b35e1b7..50e7eb589 100644 --- a/docs/manual/CoreTasks/ant.html +++ b/docs/manual/CoreTasks/ant.html @@ -180,8 +180,16 @@ targets so specified, in the order specified.
The basedir value of the new project is affected by the two -attributes dir and inheritall, see the following table for -details:
+ attributes dir and inheritall as well as + the<ant>
task's history. The current behaviour
+ is known to be confusing but cannot be changed without breaking
+ backwards compatibility in subtle ways.
+
+If the <ant>
task is in a "top level" build
+ file, i.e. the project containing the <ant>
task
+ has not itself been invoked as part of a
+ different <ant>
(or <antcall>
)
+ task "higher up", the following table shows the details:
If on the other hand the <ant>
task is already
+ nested into another invocation, the parent invocation's settings
+ affect the outcome of the basedir value. The current task's dir
+ attribute will always win, but if the dir attribute has been omitted
+ an even more complex situation arises:
parent dir attribute | +parent inheritAll attribute | +current inheritAll attribute | +new project's basedir | +
value provided | +any | +any | +value of parent's dir attribute | +
omitted | +true | +true | +basedir of parent project (the one whose build
+ file called the build file that contains
+ the current <ant> task). |
+
omitted | +true | +false | +basedir of parent project (the one whose build
+ file called the build file that contains
+ the current <ant> task). |
+
omitted | +false | +true | +basedir of calling project (the one whose build
+ file contains the current <ant> task). |
+
omitted | +false | +false | +basedir attribute of the <project> element
+ of the new project |
+
If you add even deeper levels of nesting, things get even more + complicated and you need to apply the above table recursively.
+<ant antfile="subproject/subbuild.xml" target="compile"/>