jhm         2004/09/01 09:10:57

  Modified:    docs/manual/CoreTasks Tag: ANT_16_BRANCH subant.html
  Log:
  Complex example
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.7.2.5   +68 -6     ant/docs/manual/CoreTasks/subant.html
  
  Index: subant.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTasks/subant.html,v
  retrieving revision 1.7.2.4
  retrieving revision 1.7.2.5
  diff -u -r1.7.2.4 -r1.7.2.5
  --- subant.html       12 Dec 2003 10:52:18 -0000      1.7.2.4
  +++ subant.html       1 Sep 2004 16:10:57 -0000       1.7.2.5
  @@ -1,4 +1,4 @@
  -    
  +
   <html>
   <head>
     <meta http-equiv="Content-Language" content="en-us">
  @@ -115,9 +115,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">
  @@ -411,6 +411,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>
  @@ -430,7 +492,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>
  @@ -438,4 +500,4 @@
   </table>
   
   </body>
  -</html>
  +</html>
  \ No newline at end of file
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to