> From: Conor MacNeill [mailto:[EMAIL PROTECTED]
>
> Perhaps we should look at it the other way around. We almost have a
> mechanism in place for saying which properties we want to pass to a
> subbuild (namely nested <property> elements). Perhaps only those
> properties should be passed to the subbuild. The only change
> would be to
> not require a property value. Something like
>
> <ant antfile="subproject/property_based_subbuild.xml">
> <property name="param1"/>
> </ant>
>
> Marking a property as "not to be passed" may be putting the
> restriction
> in the wrong place. What if I want to call two subbuilds and pass some
> properties to one and not the other. In other words the restriction
> should be at the call not the property definition (if I understood you
> correctly).
>
> An <allprops> nested element (or attribute) could provide the current
> behaviour.
>
> As usual I prefer things to be explicit.
>
I really think that we are on the right track here. We could even have a
switch
for backward compatibility that causes "allprops" (or maybe "inheritprops"
is a
better name) to default to true.
Which can be used by old build files. Or a property, but I guess we should
try to move away from magic properties. In other words:
<ant antfile="subproject/property_based_subbuild.xml" inheritprops="true"
>
<property name="param1"/>
</ant>
I may want a MORE clear way to say undefine a property:
<property name="param1" undefined="true" />
as you said the more explicit the better.