Browse Source

Complex example

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276813 13f79535-47bb-0310-9956-ffa450edef68
master
Jan Materne 21 years ago
parent
commit
e9044f6278
1 changed files with 68 additions and 6 deletions
  1. +68
    -6
      docs/manual/CoreTasks/subant.html

+ 68
- 6
docs/manual/CoreTasks/subant.html View File

@@ -1,4 +1,4 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
@@ -114,9 +114,9 @@
<font color="#000000" size="-1" face="arial,helvetica,sanserif"><b>Requirement</b></font>
</td>
</tr>
<!-- Attribute Group -->
<!-- Attribute Group -->
<!-- Attribute Group -->
<!-- Attribute Group -->
<!-- Attribute -->
<tr>
<td bgcolor="#eeeeee" valign="top" align="left">
@@ -410,6 +410,68 @@
setting the basedir to projects1, projects2, projects3
</p>

<!-- manually written -->
<p>Now a little more complex - but useful - scenario. Assume that we have
a directory structure like this:</p>
<pre>
root
| common.xml
| build.xml
|
+-- modules
+-- modA
| +-- src
+-- modB
+-- src

<u><b>common.xml:</b></u><br>
&lt;project&gt;
&lt;property name="src.dir" value="src"/&gt;
&lt;property name="build.dir" value="build"/&gt;
&lt;property name="classes.dir" value="${build.dir}/classes"/&gt;

&lt;target name="compile"&gt;
&lt;mkdir dir="${classes.dir}"/&gt;
&lt;javac srcdir="${src.dir}" destdir="${classes.dir}"/&gt;
&lt;/target&gt;

&lt;!-- more targets --&gt;
&lt;/project&gt;

<u><b>build.xml:</b></u><br>
&lt;project&gt;

&lt;macrodef name="iterate"&gt;
&lt;attribute name="target"/&gt;
&lt;sequential&gt;
&lt;subant target="@{target}"&gt;
&lt;fileset dir="modules" includes="*/build.xml"/&gt;
&lt;/subant&gt;
&lt;/sequential&gt;
&lt;/macrodef&gt;


&lt;target name="compile"&gt;
&lt;iterate target="compile"/&gt;
&lt;/target&gt;

&lt;!-- more targets --&gt;
&lt;/project&gt;

<u><b>modules/modA/build.xml:</b></u><br>
&lt;project name="modA"&gt;
&lt;import file="../../common.xml"/&gt;
&lt;/project&gt;
</pre>

<p>This results in very small buildfiles in the modules, maintainable
buildfile (common.xml) and a clear project structure. Additionally
the root buildfile is capable to run the whole build over all
modules.
</p>

<!-- manually written -->

</blockquote></td></tr>

</table>
@@ -429,7 +491,7 @@
<tr>
<td>
<div align="center"><font color="#525D76" size="-1"><em>
Copyright &#169; 2000-2003, Apache Software Foundation
Copyright &#169; 2000-2004, Apache Software Foundation
</em></font></div>
</td>
</tr>
@@ -437,4 +499,4 @@
</table>

</body>
</html>
</html>

Loading…
Cancel
Save