ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "CheeYang Chau" <>
Subject Having problem using property to in macrodef if invoke for more than one time
Date Thu, 27 Mar 2008 05:51:23 GMT

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"/>
			<property name="myvalue" value="@{module}"/>
	<target name="build">
		<a module="venus"/>
		<a module="mars"/>

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
SQL Financial Accounting

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message