Return-Path: Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 19362 invoked by uid 500); 14 Aug 2003 12:48:08 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 19344 invoked by uid 500); 14 Aug 2003 12:48:08 -0000 Received: (qmail 19341 invoked from network); 14 Aug 2003 12:48:07 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 14 Aug 2003 12:48:07 -0000 Received: (qmail 78805 invoked by uid 1539); 14 Aug 2003 12:48:10 -0000 Date: 14 Aug 2003 12:48:10 -0000 Message-ID: <20030814124810.78804.qmail@minotaur.apache.org> From: peterreilly@apache.org To: ant-cvs@apache.org Subject: cvs commit: ant/docs/manual/CoreTasks presetdef.html macrodef.html X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N peterreilly 2003/08/14 05:48:10 Modified: docs/manual coretasklist.html Added: docs/manual/CoreTasks presetdef.html macrodef.html Log: adding doc for presetdef and macrodef Revision Changes Path 1.50 +2 -0 ant/docs/manual/coretasklist.html Index: coretasklist.html =================================================================== RCS file: /home/cvs/ant/docs/manual/coretasklist.html,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- coretasklist.html 9 Jul 2003 16:24:35 -0000 1.49 +++ coretasklist.html 14 Aug 2003 12:48:10 -0000 1.50 @@ -60,12 +60,14 @@ LoadFile
LoadProperties
Mail
+MacroDef
Manifest
Mkdir
Move
Parallel
Patch
PathConvert
+PreSetDef
Property
Record
Rename
1.1 ant/docs/manual/CoreTasks/presetdef.html Index: presetdef.html =================================================================== PreSetDef Task

PreSetDef

Description

The preset definition generates a new definition based on a current definition with some attributes or elements preset.

Introduced in ant1.6 Experimental.

Parameters

Attribute Description Required
name the name of the new definition Yes
uri The uri that this definition should live in. No

Parameters specified as nested elements

another type with attributes or elements set

The <presetdef> task takes one nested element as a parameter. This nested element can be any other type or task. The attributes and elements that need to be preset are placed here.

Examples

The following fragment defines a javac task with the debug and deprecation attributes set. It also has a src element to source files from a generated directory.

  <presetdef name="my.javac">
     <javac debug="${debug}" deprecation="${deprecation}">
        <src path="${gen.dir}"/>
     </javac>
  </presetdef>
        

This can be used as a normal javac task - example:

  <my.javac src="${src.dir}" destdir="${classes.dir}"/>
        

Copyright © 2003 Apache Software Foundation. All rights Reserved.

1.1 ant/docs/manual/CoreTasks/macrodef.html Index: macrodef.html =================================================================== MacroDef Task

MacroDef

Description

This defines a new task using a <sequential> or <parallel> nested task as a template. Nested elements <param> and <element> are used to specify attributes and elements of the new task. These get substituted into the <sequential> or <parallel> task when the new task is run.

Introduced in ant1.6 Experimental.

Parameters

Attribute Description Required
name the name of the new definition Yes
uri The uri that this definition should live in. No

Parameters specified as nested elements

param

This is used to specify attributes of the new task. The values of the attributes get substituted into the templated task. The attributes will be required attributes unless a default value has been set.

This attribute is placed in the body of the templated task using the ant property notation - ${attribute name}. Note that is not an actual ant property.

Parameters

Attribute Description Required
name the name of the new attribute Yes
default the default value of the attribute. No

element

This is used to specify nested elements of the new task. The contents of the nested elements of the task instance are placed in the templated task at the tag name.

Parameters

Attribute Description Required
name the name of the new attribute Yes
optional if true this nested element is optional. Default is false - i.e the nested element is required in the new task. No

Examples

The following example defined a task called testing and runs it.

  <macrodef name="testing">
     <param name="v" default="NOT SET"/>
     <element name="some-tasks" optional="yes"/>
     <sequential>
        <echo>v is ${v}</echo>
        <some-tasks/>
     </sequential>
  </macrodef>
  
  <testing v="This is v">
     <some-tasks>
        <echo>this is a test</echo>
     </some-tasks>
  </testing>
        

The following fragment defines a task called <call-cc> which take the attributes "target", "link" and "target.dir" and the nested element "cc-elements". The body of the task uses the <cc> task from the ant-contrib project.

  <macrodef name="call-cc">
     <param name="target"/>
     <param name="link"/>
     <param name="target.dir"/>
     <element name="cc-elements"/>
     <sequential>
        <mkdir dir="${obj.dir}/${target}"/>
        <mkdir dir="${target.dir}"/>
           <cc link="${link}" objdir="${obj.dir}/${target}"
               outfile="${target.dir}/${target}">
              <compiler refid="compiler.options"/>
              <cc-elements/>
           </cc>
        </sequential>
  </macrodef>
        

This then can be used as follows:

  <call-cc target="unittests" link="executable"
           target.dir="${build.bin.dir}">
     <cc-elements>
        <includepath location="${gen.dir}"/>
        <includepath location="test"/>
        <fileset dir="test/unittest" includes = "**/*.cpp"/>
        <fileset dir="${gen.dir}" includes = "*.cpp"/>
        <linker refid="linker-libs"/>
     </cc-elements>
  </call-cc>
        

Copyright © 2003 Apache Software Foundation. All rights Reserved.

--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org