ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scot P. Floess" <sflo...@nc.rr.com>
Subject Re: AppendToProperty MacroDef
Date Wed, 20 Jan 2010 21:21:41 GMT

Mmm - you may need to do this before your first propertyregex

<propertyregex property="tmpProp" input="${propertyList}" override="true" 
regexp="\\" replace="\\\\" globale="true"/>

Basically the above will escape the \


On Wed, 20 Jan 2010, Eric Fetzer wrote:

> Well, out of that error and on to the next.  It seems that PropertyRegEx has an issue
with the "\" as well.  I wrote a different macrodef that works without slashes, but not with
slashes.  Anyone see a better way?
>
>   <macrodef name="md.isInPropList" description="Find if a dir is a subdir of any
dir in the list">
>     <attribute name="var.item"/>
>     <attribute name="var.itemList"/>
>     <sequential>
>       <!--First get rid of any values left from previous calls to this md and
set to false-->
>       <unset name="isInList"/>
>       <property name="isInList" value="false"/>
>       <!--For loop on each item in itemlist to see if any of them are true-->
>       <for list="@{var.itemList}" param="item">
>         <sequential>
>           <!--Make sure regExResult isn't left over-->
>           <unset name="regExResult"/>
>           <!--Regex expression that will result in the value if it is in
there-->
>           <propertyregex property="regExResult"
>             input="${propertyList}"
>             override="true"
>             regexp=".*(@{item})"
>             select="\1"
>             casesensitive="false"
>           />
>           <!--If regExResult is set to the value of the item, we have a match-->
>           <if>
>             <equals arg1="${regExResult}" arg2="${item}"/>
>             <then>
>               <unset name="isInList"/>
>               <property name="isInList" value="true"/>
>             </then>
>           </if>
>         </sequential>
>       </for>
>     </sequential>
>   </macrodef>
>
>
> Thanks,
> Eric
>
>
>
>
> ________________________________
> From: Eric Fetzer <elstonkers@yahoo.com>
> To: Ant Users List <user@ant.apache.org>
> Sent: Wed, January 20, 2010 1:40:34 PM
> Subject: Re: AppendToProperty MacroDef
>
> Beautiful, thanks Scott!
>
>
>
> On Jan 20, 2010, at 1:18 PM, "Scot P. Floess" <sfloess@nc.rr.com> wrote:
>
>
> You could use Ant Contrib's var task - probably be a little easier :)
>
> <macrodef name="md.AppendProperty">
> <attribute name="var.propertyName"/>
> <attribute name="var.stringAppend"/>
> <sequential>
>   <var name="@{var.propertyName}" value="${@{var.propertyName}}@{var.stringAppend}"/>
> </sequential>
> </macrodef>
>
> On Wed, 20 Jan 2010, Eric Fetzer wrote:
>
> Hi all.  I wrote a MacroDef to append a string to a property.  All works as planned
until you slip a "\" in there and then it gets jacked up.  My javascripting has MUCH to be
desired.  Any help?
>
>   <macrodef name="md.AppendProperty">
>     <attribute name="var.propertyName"/>
>     <attribute name="var.stringAppend"/>
>     <sequential>
>       <script language="javascript"> <![CDATA[
>         curVal=project.getProperty("@{var.propertyName}");
>         project.setProperty("@{var.propertyName}",curVal+"@{var.stringAppend}");
>         ]]>
>       </script>
>     </sequential>
>   </macrodef>
>
> Thanks,
> Eric
>
> Scot P. Floess
> 27 Lake Royale
> Louisburg, NC  27549
>
> 252-478-8087 (Home)
> 919-890-8117 (Work)
>
> Chief Architect JPlate  http://sourceforge.net/projects/jplate
> Chief Architect JavaPIM  http://sourceforge.net/projects/javapim
>
> Architect Keros          http://sourceforge.net/projects/keros
>
> ---------------------------------------------------------------------
> 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

Scot P. Floess
27 Lake Royale
Louisburg, NC  27549

252-478-8087 (Home)
919-890-8117 (Work)

Chief Architect JPlate   http://sourceforge.net/projects/jplate
Chief Architect JavaPIM  http://sourceforge.net/projects/javapim

Architect Keros          http://sourceforge.net/projects/keros

Mime
View raw message