ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Lenz <cml...@gmx.de>
Subject Re: Conditionally passing property to <ant>
Date Tue, 29 Apr 2003 14:52:10 GMT
Jesse Stockall wrote:
> On Tue, 2003-04-29 at 06:57, Christopher Lenz wrote:
> 
>>Hi folks,
>>
>>I'd like to call another build file with a set of optional properties. 
>>If defined, those properties point to directories. In addition, I cannot 
>>use property inheritance.
>>
>>The naive attempt
>>
>>   <ant dir="${the.dir}" inheritAll="false">
>>     <property name="mydir" value="${mydir}"/>
>>   </ant>
>>
>>works fine if 'mydir' has been defined, but of course fails when it 
>>hasn't -- because the property is set to the literal ${mydir}. The 
>>called script checks whether the property has been set, and only 
>>executes some tasks if it has.
>>
>>So what I'd need would basically be:
>>
>>   <ant dir="${the.dir}" inheritAll="false">
>>     <property name="mydir" value="${mydir}" if="mydir"/>
>>   </ant>
>>
>>Any ideas?
>>
> 
> 
> In your main build file have 3 targets
> 
> <target name="callantwithdir" if="mydir">
>   <ant dir="${the.dir}" inheritAll="false">
>     <property name="mydir" value="${mydir}"/>
>   </ant>
> </target>
> 
> and
> 
> <target name="callantnodir" unless="mydir">
>   <ant dir="${the.dir}" inheritAll="false"/>
> </target>
> 
> and
> 
> <target name="callant" depends="callantwithdir, callantnodir"/>
> 
> Use the 'callant' target and it will execute other build file with the
> desired properties. 
> 

Yeah, I thought of that. The problem's that I have 7 or so of those 
properties that I want to pass at once, so that would lots of targets :-P

-chris


Mime
View raw message