Hi,

I love the macrodef task. However, it has a weakness.  We must be very
careful if using property within the macrodef.  I face problem with a
macrodef that is more complicated than the following example.  I have
to use dirname and condition in my macrodef, but it cause problem if I
invoke macrodef for more than one time as the property has been set
for the first time.  Here is an example that trying to replay the
situation I face:

        <macrodef name="a">             
                <attribute name="module"/>
                <sequential>                                            
                        <property name="myvalue" value="@{module}"/>
                        <echo>${myvalue}</echo>
                </sequential>
        </macrodef>
        
        <target name="build">
                <a module="venus"/>
                <a module="mars"/>
        </target>

I expect the output should be

[echo] venus
[echo] mars

but it turn out:

[echo] venus
[echo] venus

I think this is a common issue using macrodef and there are some
temporary solution to pass a temporary property name to the macrodef.
This is not feasible in my situation as I need to pass more than 5 to
10 properties to my macrodef.

Some other solution is using local property but I couldn't find this
task.  I am using ANT 1.7.0.

Any solution?  Please advice.  Thank you very much.

-- 
Best regards,
Chau Chee Yang

E Stream Software Sdn Bhd
URL: www.sql.com.my
SQL Financial Accounting

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

Reply via email to