You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Avery Marvin R <Ma...@irs.gov> on 2003/12/09 19:40:05 UTC

How to a act based on property value, _not_ if set [was: ANT copy on condition]

I've need to take an action based on the value of a property
(knowing that it's set does me no good). Jan's response to an
earlier question looks like a viable option, but is there an
easier way? For example if I have -

<input validargs="new,existing" addproperty="label_type" 
message="Is this ear file based on a new or existing label?"/>

I'd like to do, inside my ant script, as follows -

if(label_type == "new"){
 .....
 }
else{
 .....
 }

Thanks in advance.....

MRA

-----Original Message-----
From: Jan.Materne@rzf.fin-nrw.de [mailto:Jan.Materne@rzf.fin-nrw.de]
Sent: Tuesday, December 09, 2003 5:03 AM
To: user@ant.apache.org
Subject: RE: ANT copy on condition


And you can do it inside a <script>
Something like

    prop = project.getProperty("thePropertyName");
    if (prop != null) {
        copy = project.createTask("copy");
        copy.set....
        copy.perform();
    }


Jan

> -----Original Message-----
> From: Daniel Blaukopf [mailto:blaukopf@netbeans.org]
> Sent: Tuesday, December 09, 2003 11:02 AM
> To: Ant Users List
> Subject: Re: ANT copy on condition
> 
> 
> You can either put the copy operation in a separate target 
> (the Ant way) 
> or use the <if> task from ant-contrib.
> 
> <target name="copyFiles" if="myproperty">
>     <copy .../>
> </target>
> 
> Daniel
> 
> Matthew Oatham wrote:
> 
> > Hi,
> >
> > I was wondering if it is possible to combine the condition and copy 
> > tasks to only perfor the copoy task if a property is set?
> >
> > i.e.
> > if (property isset)  {
> >  copy file
> > }
> >
> > Cheers.
> >
> > Matt
> >
> > _________________________________________________________________
> > On the move? Get Hotmail on your mobile phone 
> > http://www.msn.co.uk/msnmobile
> >
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > For additional commands, e-mail: user-help@ant.apache.org
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
> 

Re: How to a act based on property value, _not_ if set [was: ANT copy on condition]

Posted by Daniel Blaukopf <bl...@netbeans.org>.
You can use the <condition> task with <equals> to make the test beforehand:

--------

<antcall target="mytarget"/>

...

<target name="checkLabelType">
    <condition property="labelTypeIsNew">
        <equals arg1="${label_type}" arg2="new"/>
    </condition>
</target>

<target name="mytarget" depends="checkLabelType" if="labelTypeIsNew">
...
</target>

--------

Daniel

Avery Marvin R wrote:

>I've need to take an action based on the value of a property
>(knowing that it's set does me no good). Jan's response to an
>earlier question looks like a viable option, but is there an
>easier way? For example if I have -
>
><input validargs="new,existing" addproperty="label_type" 
>message="Is this ear file based on a new or existing label?"/>
>
>I'd like to do, inside my ant script, as follows -
>
>if(label_type == "new"){
> .....
> }
>else{
> .....
> }
>
>Thanks in advance.....
>
>MRA
>
>-----Original Message-----
>From: Jan.Materne@rzf.fin-nrw.de [mailto:Jan.Materne@rzf.fin-nrw.de]
>Sent: Tuesday, December 09, 2003 5:03 AM
>To: user@ant.apache.org
>Subject: RE: ANT copy on condition
>
>
>And you can do it inside a <script>
>Something like
>
>    prop = project.getProperty("thePropertyName");
>    if (prop != null) {
>        copy = project.createTask("copy");
>        copy.set....
>        copy.perform();
>    }
>
>
>Jan
>
>  
>
>>-----Original Message-----
>>From: Daniel Blaukopf [mailto:blaukopf@netbeans.org]
>>Sent: Tuesday, December 09, 2003 11:02 AM
>>To: Ant Users List
>>Subject: Re: ANT copy on condition
>>
>>
>>You can either put the copy operation in a separate target 
>>(the Ant way) 
>>or use the <if> task from ant-contrib.
>>
>><target name="copyFiles" if="myproperty">
>>    <copy .../>
>></target>
>>
>>Daniel
>>
>>Matthew Oatham wrote:
>>
>>    
>>
>>>Hi,
>>>
>>>I was wondering if it is possible to combine the condition and copy 
>>>tasks to only perfor the copoy task if a property is set?
>>>
>>>i.e.
>>>if (property isset)  {
>>> copy file
>>>}
>>>
>>>Cheers.
>>>
>>>Matt
>>>      
>>>



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Re: How to a act based on property value, _not_ if set [was: ANT copy on condition]

Posted by Wascally Wabbit <wa...@earthling.net>.
You can use the "domatch" tasks from
the http://www.antxtras.info/ package.

For instance:
         <do the tasks that set "theproperty".../>
         <domatch haltifnomatch="yes|no" property="theproperty">
           <equals value="new">
                 <do the "new" tasks here/>
           </equals>
           <default>
                 <do the otherwise tasks here/>
           </default>
         </domatch>

If you want to match patterns use:
         <do the tasks that set the property.../>
         <domatch haltifnomatch="yes|no" property="theproperty">
           <like value="regular-expression">
           </like>
          <like value="other-regular-expression">
           </like>
         </domatch>

The Wabbit

-------------------------------------------------------
At 01:40 PM 12/9/2003, you wrote:
>I've need to take an action based on the value of a property
>(knowing that it's set does me no good). Jan's response to an
>earlier question looks like a viable option, but is there an
>easier way? For example if I have -
>
><input validargs="new,existing" addproperty="label_type"
>message="Is this ear file based on a new or existing label?"/>
>
>I'd like to do, inside my ant script, as follows -
>
>if(label_type == "new"){
>  .....
>  }
>else{
>  .....
>  }
>
>Thanks in advance.....
>
>MRA
>
>-----Original Message-----
>From: Jan.Materne@rzf.fin-nrw.de [mailto:Jan.Materne@rzf.fin-nrw.de]
>Sent: Tuesday, December 09, 2003 5:03 AM
>To: user@ant.apache.org
>Subject: RE: ANT copy on condition
>
>
>And you can do it inside a <script>
>Something like
>
>     prop = project.getProperty("thePropertyName");
>     if (prop != null) {
>         copy = project.createTask("copy");
>         copy.set....
>         copy.perform();
>     }
>
>
>Jan
>
> > -----Original Message-----
> > From: Daniel Blaukopf [mailto:blaukopf@netbeans.org]
> > Sent: Tuesday, December 09, 2003 11:02 AM
> > To: Ant Users List
> > Subject: Re: ANT copy on condition
> >
> >
> > You can either put the copy operation in a separate target
> > (the Ant way)
> > or use the <if> task from ant-contrib.
> >
> > <target name="copyFiles" if="myproperty">
> >     <copy .../>
> > </target>
> >
> > Daniel
> >
> > Matthew Oatham wrote:
> >
> > > Hi,
> > >
> > > I was wondering if it is possible to combine the condition and copy
> > > tasks to only perfor the copoy task if a property is set?
> > >
> > > i.e.
> > > if (property isset)  {
> > >  copy file
> > > }
> > >
> > > Cheers.
> > >
> > > Matt
> > >
>
> >



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org