ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From peter reilly <peter.rei...@corvil.com>
Subject Re: Conditionally passing property to <ant>
Date Tue, 29 Apr 2003 15:10:41 GMT
This solution is not scalable for multiple
properties.

The correct solution is to allow if and unless in
the property task (or more general in all tasks).

Peter

On Tuesday 29 April 2003 14:42, 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.


Mime
View raw message