The only way I could figure to do it is to put both into a property.  Why it's 
acceptable to have \'s in properties escapes me.  Once you do the getProperty 
on it, it's a string, but works.  It has to have something to do with how Ant 
handles "attribute".  Thanks for all the help Scot!

<project default="main">
  <taskdef resource="net/sf/antcontrib/antlib.xml"/>
  <taskdef name="unset" classname="ise.antelope.tasks.Unset"/>
  <property name="myProp" value="C:\noDog\Hates\Big\Juicy\Bones"/>
  <property name="myOtherProp" value="C:\noDog\Hates"/>
  <target name="main">
    <md.isStringInProp mySubstringPropName="myOtherProp" myPropName="myProp"/>
    <echo message="myResult is: ${isSubstring}"/>
  </target>

  <macrodef name="md.isStringInProp">
    <attribute name="mySubstringPropName"/>
    <attribute name="myPropName"/>
    <sequential>
      <unset name="isSubstring"/>
      <script language="javascript"> <![CDATA[
        propValue=project.getProperty("@{myPropName}");
        substringValue=project.getProperty("@{mySubstringPropName}");
        i=propValue.indexOf(substringValue);
        self.log(i);
        if (i >= 0)
        {
          project.setProperty("isSubstring","true");
        }
        ]]>
      </script>
    </sequential>
  </macrodef>
</project>




________________________________
From: Scot P. Floess <sflo...@nc.rr.com>
To: Eric Fetzer <elstonk...@yahoo.com>
Sent: Thu, January 21, 2010 12:48:23 PM
Subject: Re: AppendToProperty MacroDef


Hmm - yeah see your pt.  That was sorta what I was alluding to earlier :(

I hope to look at this tomorrow or Sat ...

On Thu, 21 Jan 2010, Eric Fetzer wrote:

> This is just plain silly.  It looks like it's fine if a property has \'s in 
> it, but not strings:
>  
> <project default="main">
>   <taskdef resource="net/sf/antcontrib/antlib.xml"/>
>   <taskdef name="unset" classname="ise.antelope.tasks.Unset"/>
>   <property name="myProp" value="C:\noDog\Hates\Big\Juicy\Bones"/>
>   <target name="main">
>     <md.isStringInProp myString="C:\noDog\Hates" myPropName="myProp"/>
>     <echo message="myResult is: ${isSubstring}"/>
>   </target>
> 
>   <macrodef name="md.isStringInProp">
>     <attribute name="myString"/>
>     <attribute name="myPropName"/>
>     <sequential>
>       <unset name="isSubstring"/>
>       <script language="javascript"> <![CDATA[
>         propValue=project.getProperty("@{myPropName}");
>         myString = "@{myString}";
>         newString = myString.replace("\\","\\\\");
>         i=propValue.indexOf(newString);
>         self.log("propValue is: " + propValue);
>         self.log("newString is: " + newString);
>         self.log(i);
>         if (i >= 0)
>         {
>           project.setProperty("isSubstring","true");
>         }
>         ]]>
>       </script>
>     </sequential>
>   </macrodef>
> </project>
>  
> This returns:
>  
> main:
>    [script] propValue is: C:\noDog\Hates\Big\Juicy\Bones
>    [script] newString is: C:
>    [script] oDogHates
>    [script] -1
>      [echo] myResult is: ${isSubstring}
> BUILD SUCCESSFUL
> Total time: 0 seconds
> 
>  
> 
> _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
> From: Scot P. Floess <sflo...@nc.rr.com>
> To: Eric Fetzer <elstonk...@yahoo.com>
> Sent: Thu, January 21, 2010 11:20:33 AM
> Subject: Re: AppendToProperty MacroDef
> 
> Eric:
> 
> I didn't get a chance to look into any of this today.  Making up some
> hours for coming in late on Monday :(  Well, that and I just got a last
> minute feature thrown into my day :)
> 
> Your append question - I am going to through a macrodef for that and
> prepend into my open source project - thanks!
> 
> This one, if I can figure out the regex - I will throw in as a macrodef
> too...so thanks again!
> 
> On Thu, 21 Jan 2010, Eric Fetzer wrote:
> 
> > How do you say in JavaScript, treat the following string as a literal 
> > string?  In C# you can escape out the characters one at a time the same way 
> > as you do in JavaScript:
> >
> > string myString = "C:\\Program Files\\JavaScript\\is\\goofy";
> >
> > or you can tell it that the entire string is literal with an @:
> >
> > string myString = @"C:\Program Files\JavaScript\is\goofy";
> >
> > Thanks,
> > Eric
> >
> >
> >
> > ________________________________
> > From: Scot P. Floess <sflo...@nc.rr.com>
> > To: Ant Users List <user@ant.apache.org>
> > Sent: Thu, January 21, 2010 9:08:03 AM
> > Subject: Re: AppendToProperty MacroDef
> >
> > Interesting... OK :(
> >
> > On Thu, 21 Jan 2010, Eric Fetzer wrote:
> >
> >> Same as tmpProp on the other side:
> >>
> >> main:
> >>      [echo] myProp is:  C:\noDog\Hates\Big\Juicy\Bones
> >>      [echo] tmpProp is:  C:\noDog\Hates\Big\Juicy\Bones
> >>
> >>
> >>
> >>
> >> ________________________________
> >> From: Scot P. Floess <sflo...@nc.rr.com>
> >> To: Ant Users List <user@ant.apache.org>
> >> Sent: Thu, January 21, 2010 8:48:29 AM
> >> Subject: Re: AppendToProperty MacroDef
> >>
> >>
> >> Will you echo ${myProp} itself?  For example before the first
> >> propertyregex...
> >>
> >> Sorry, I don't have time right this minute to look at this and type in the
> >> example :)
> >>
> >>
> >>
> >> On Thu, 21 Jan 2010, Eric Fetzer wrote:
> >>
> >>> And to leverage your \n example:
> >>>
> >>> <project default="main">
> >>> <taskdef resource="net/sf/antcontrib/antlib.xml"/>
> >>> <property name="myProp" value="C:\noDog\Hates\Big\Juicy\Bones"/>
> >>> <property name="myProp2" value="C:\\noDog\\Hates\\Big\\Juicy\\Bones"/>
> >>> <property name="myProp3" value="C:\noDog\\Hates\Big\\Juicy\Bones"/>
> >>>   <target name="main">
> >>>     <propertyregex property="tmpProp" input="${myProp}" override="true" 
> >>> regexp="\\" replace="\\\\" global="true"/>
> >>>     <echo message="tmpProp is:  ${tmpProp}"/>
> >>>     <propertyregex property="tmpProp2" input="${myProp2}" override="true" 
> >>> regexp="\\" replace="\\\\" global="true"/>
> >>>     <echo message="tmpProp is:  ${tmpProp2}"/>
> >>>     <propertyregex property="tmpProp3" input="${myProp3}" override="true" 
> >>> regexp="\\" replace="\\\\" global="true"/>
> >>>     <echo message="tmpProp is:  ${tmpProp3}"/>
> >>>     <propertyregex property="tmpProp4" input="${myProp}" override="true" 
> >>> regexp="\" replace="\\" global="true"/>
> >>>     <echo message="tmpProp is:  ${tmpProp4}"/>
> >>>   </target>
> >>> </project>
> >>>
> >>> Produces:
> >>>
> >>> main:
> >>>      [echo] tmpProp is:  C:\noDog\Hates\Big\Juicy\Bones
> >>>      [echo] tmpProp is:  C:\\noDog\\Hates\\Big\\Juicy\\Bones
> >>>      [echo] tmpProp is:  C:\noDog\\Hates\Big\\Juicy\Bones
> >>> BUILD FAILED
> >>> java.util.regex.PatternSyntaxException: Unexpected internal error near 
> >>> index 1
> >>> \
> >>>  ^
> >>>         at java.util.regex.Pattern.error(Pattern.java:1650)
> >>>         at java.util.regex.Pattern.compile(Pattern.java:1403)
> >>>         at java.util.regex.Pattern.<init>(Pattern.java:1124)
> >>>         at java.util.regex.Pattern.compile(Pattern.java:840)
> >>>         at 
> >>> org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher.getCompiledPatter
> >>> n(Jdk14RegexpMatcher.java:67)
> >>>         at 
> >>> org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher.matches(Jdk14Rege
> >>> xpMatcher.java:94)
> >>>         at 
> >>> net.sf.antcontrib.property.RegexTask.doReplace(RegexTask.java:135)
> >>>         at 
> >>> net.sf.antcontrib.property.RegexTask.execute(RegexTask.java:192)
> >>>         at 
> >>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> >>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>         at 
> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> >>> java:39)
> >>>         at 
> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> >>> sorImpl.java:25)
> >>>         at java.lang.reflect.Method.invoke(Method.java:585)
> >>>         at 
> >>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
> >>> a:106)
> >>>         at org.apache.tools.ant.Task.perform(Task.java:348)
> >>>         at org.apache.tools.ant.Target.execute(Target.java:357)
> >>>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
> >>>         at 
> >>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
> >>>         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
> >>>         at 
> >>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
> >>> cutor.java:41)
> >>>         at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
> >>>         at org.apache.tools.ant.Main.runBuild(Main.java:758)
> >>>         at org.apache.tools.ant.Main.startAnt(Main.java:217)
> >>>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
> >>>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> >>> Total time: 0 seconds
> >>>
> >>>
> >>>
> >>>
> >>> ________________________________
> >>> From: Eric Fetzer <elstonk...@yahoo.com>
> >>> To: Ant Users List <user@ant.apache.org>
> >>> Sent: Thu, January 21, 2010 8:28:07 AM
> >>> Subject: Re: AppendToProperty MacroDef
> >>>
> >>> Let me give you a better example Scot.  Substitution seems to ignore 
> >>> escape characters entirely.  As the task is written now, I don't imagine 
> >>> there is a way to replace \'s.
> >>>
> >>> <project default="main">
> >>> <taskdef resource="net/sf/antcontrib/antlib.xml"/>
> >>> <property name="myProp" value="C:\myDog\Loves\Big\Juicy\Bones"/>
> >>> <property name="myProp2" value="C:\\myDog\\Loves\\Big\\Juicy\\Bones"/>
> >>> <property name="myProp3" value="C:\myDog\\Loves\Big\\Juicy\Bones"/>
> >>>   <target name="main">
> >>>     <propertyregex property="tmpProp" input="${myProp}" override="true" 
> >>> regexp="\\" replace="\\\\" global="true"/>
> >>>     <echo message="tmpProp is:  ${tmpProp}"/>
> >>>     <propertyregex property="tmpProp2" input="${myProp2}" override="true" 
> >>> regexp="\\" replace="\\\\" global="true"/>
> >>>     <echo message="tmpProp2 is:  ${tmpProp2}"/>
> >>>     <propertyregex property="tmpProp3" input="${myProp3}" override="true" 
> >>> regexp="\\" replace="\\\\" global="true"/>
> >>>     <echo message="tmpProp3 is:  ${tmpProp3}"/>
> >>>     <propertyregex property="tmpProp4" input="${myProp}" override="true" 
> >>> regexp="\" replace="\\" global="true"/>
> >>>     <echo message="tmpProp4 is:  ${tmpProp4}"/>
> >>>   </target>
> >>> </project>
> >>>
> >>> Produces:
> >>>
> >>> main:
> >>>      [echo] tmpProp is:  C:\myDog\Loves\Big\Juicy\Bones
> >>>      [echo] tmpProp2 is:  C:\\myDog\\Loves\\Big\\Juicy\\Bones
> >>>      [echo] tmpProp3 is:  C:\myDog\\Loves\Big\\Juicy\Bones
> >>> BUILD FAILED
> >>> java.util.regex.PatternSyntaxException: Unexpected internal error near 
> >>> index 1
> >>> \
> >>>  ^
> >>>         at java.util.regex.Pattern.error(Pattern.java:1650)
> >>>         at java.util.regex.Pattern.compile(Pattern.java:1403)
> >>>         at java.util.regex.Pattern.<init>(Pattern.java:1124)
> >>>         at java.util.regex.Pattern.compile(Pattern.java:840)
> >>>         at 
> >>> org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher.getCompiledPatter
> >>> n(Jdk14RegexpMatcher.java:67)
> >>>         at 
> >>> org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher.matches(Jdk14Rege
> >>> xpMatcher.java:94)
> >>>         at 
> >>> net.sf.antcontrib.property.RegexTask.doReplace(RegexTask.java:135)
> >>>         at 
> >>> net.sf.antcontrib.property.RegexTask.execute(RegexTask.java:192)
> >>>         at 
> >>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> >>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>         at 
> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> >>> java:39)
> >>>         at 
> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> >>> sorImpl.java:25)
> >>>         at java.lang.reflect.Method.invoke(Method.java:585)
> >>>         at 
> >>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
> >>> a:106)
> >>>         at org.apache.tools.ant.Task.perform(Task.java:348)
> >>>         at org.apache.tools.ant.Target.execute(Target.java:357)
> >>>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
> >>>         at 
> >>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
> >>>         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
> >>>         at 
> >>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
> >>> cutor.java:41)
> >>>         at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
> >>>         at org.apache.tools.ant.Main.runBuild(Main.java:758)
> >>>         at org.apache.tools.ant.Main.startAnt(Main.java:217)
> >>>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
> >>>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> >>> Total time: 0 seconds
> >>>
> >>>
> >>>
> >>>
> >>> ________________________________
> >>> From: Scot P. Floess <sflo...@nc.rr.com>
> >>> To: Ant Users List <user@ant.apache.org>
> >>> Sent: Thu, January 21, 2010 8:09:33 AM
> >>> Subject: Re: AppendToProperty MacroDef
> >>>
> >>>
> >>> I might be wrong but I think the output you are seeing is correct - as in
> >>> the \ is escapeed thereby printing only 1 \ not 2...  For example if you
> >>> consider \n it is emitted as a newline...but if you do \\n the output will
> >>> be a literal \n (as in a backslash followed by the letter n)...  Try
> >>> printing out the property when you don't do the regex for \\\\ - for
> >>> example something like:
> >>>
> >>> C:\foo\nbar
> >>>
> >>> I bet the output has a new line in it ;)
> >>>
> >>> On Thu, 21 Jan 2010, Eric Fetzer wrote:
> >>>
> >>>> Yeah, that's what I did.  The small repro just shows that it doesn't 
> >>>> affect the string with the \'s whatsoever...  If there were actual 
> >>>> instances of \\ in there maybe it would do something, but there are only 
> >>>> \'s.  Seems like for the saving down of the property,
> it uses escape characters, but for the substitution part, it doesn't.  I'd 
> call it a bug I think.
> >>>>
> >>>>
> >>>>
> >>>> On Jan 21, 2010, at 7:10 AM, "Scot P. Floess" <sflo...@nc.rr.com> wrote:
> >>>>
> >>>>
> >>>> OK, so in looking more closely, what I meant to say was to do the 
> >>>> <propertyregex property="tmpProp"  first and then the one you had 
> >>>> initially afterward using the first :)
> >>>>
> >>>> If I get a free moment today I'll see if I can get it to work...  Little 
> >>>> busy at the moment - maybe at lunch today :)
> >>>>
> >>>> On Wed, 20 Jan 2010, Scot P. Floess wrote:
> >>>>
> >>>>
> >>>> Yeah, I'll give it some thought and see if there is something I can 
> >>>> think of tomorrow as well :)
> >>>>
> >>>> On Wed, 20 Jan 2010, Eric Fetzer wrote:
> >>>>
> >>>> I tried this Scot, but it didn't do it.  So here's an easy repro:
> >>>> <project default="main">
> >>>> <taskdef resource="net/sf/antcontrib/antlib.xml"/>
> >>>> <property name="myProp" value="C:\myDog\Loves\Big\Juicy\Bones"/>
> >>>>   <target name="main">
> >>>>     <propertyregex property="tmpProp" input="${myProp}" override="true" 
> >>>> regexp="\\" replace="\\\\" global="true"/>
> >>>>     <echo message="tmpProp is:  ${tmpProp}"/>
> >>>>   </target>
> >>>> </project>
> >>>> It produces:
> >>>> [echo] tmpProp is:  C:\myDog\Loves\Big\Juicy\Bones
> >>>> If I change it to:
> >>>> <project default="main">
> >>>> <taskdef resource="net/sf/antcontrib/antlib.xml"/>
> >>>> <property name="myProp" value="C:\myDog\Loves\Big\Juicy\Bones"/>
> >>>>   <target name="main">
> >>>>     <propertyregex property="tmpProp" input="${myProp}" override="true" 
> >>>> regexp="\" replace="\\" global="true"/>
> >>>>     <echo message="tmpProp is:  ${tmpProp}"/>
> >>>>   </target>
> >>>> </project>
> >>>> it crashes with:
> >>>> java.util.regex.PatternSyntaxException: Unexpected internal error near 
> >>>> index 1
> >>>> \
> >>>> ^
> >>>>         at java.util.regex.Pattern.error(Pattern.java:1650)
> >>>>         at java.util.regex.Pattern.compile(Pattern.java:1403)
> >>>>         at java.util.regex.Pattern.<init>(Pattern.java:1124)
> >>>>         at java.util.regex.Pattern.compile(Pattern.java:840)
> >>>>         at 
> >>>> org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher.getCompiledPatter
> >>>> n(Jdk14RegexpMatcher.java:67)
> >>>>         at 
> >>>> org.apache.tools.ant.util.regexp.Jdk14RegexpMatcher.matches(Jdk14Rege
> >>>> xpMatcher.java:94)
> >>>>         at 
> >>>> net.sf.antcontrib.property.RegexTask.doReplace(RegexTask.java:135)
> >>>>         at 
> >>>> net.sf.antcontrib.property.RegexTask.execute(RegexTask.java:192)
> >>>>         at 
> >>>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> >>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>>         at 
> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> >>>> java:39)
> >>>>         at 
> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> >>>> sorImpl.java:25)
> >>>>         at java.lang.reflect.Method.invoke(Method.java:585)
> >>>>         at 
> >>>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
> >>>> a:106)
> >>>>         at org.apache.tools.ant.Task.perform(Task.java:348)
> >>>>         at org.apache.tools.ant.Target.execute(Target.java:357)
> >>>>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
> >>>>         at 
> >>>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
> >>>>         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
> >>>>         at 
> >>>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
> >>>> cutor.java:41)
> >>>>         at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
> >>>>         at org.apache.tools.ant.Main.runBuild(Main.java:758)
> >>>>         at org.apache.tools.ant.Main.startAnt(Main.java:217)
> >>>>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
> >>>>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> >>>> I don't know that what we're trying to do is possible with 
> >>>> propertyregex.  It seems it may need some scripting.  All I'm really 
> >>>> trying to do is:
> >>>> if(property1.indexOf(string1) >= 0) then return true;
> >>>> I'll take a look at how to achieve this tomorrow.  Thanks!
> >>>> Eric
> >>>> ________________________________
> >>>> From: Scot P. Floess <sflo...@nc.rr.com>
> >>>> To: Ant Users List <user@ant.apache.org>
> >>>> Sent: Wed, January 20, 2010 2:21:41 PM
> >>>> Subject: Re: AppendToProperty MacroDef
> >>>> 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 <elstonk...@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" <sflo...@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-unsubscr...@ant.apache.org
> >>>> For additional commands, e-mail: user-h...@ant.apache.org
> >>>>       
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> >>>> For additional commands, e-mail: user-h...@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
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> >>>> For additional commands, e-mail: user-h...@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
> >>>>
> >>>>
> >>>> 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-unsubscr...@ant.apache.org
> >>>> For additional commands, e-mail: user-h...@ant.apache.org
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> >>>> For additional commands, e-mail: user-h...@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
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> >>> For additional commands, e-mail: user-h...@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
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> >> For additional commands, e-mail: user-h...@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
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
> > For additional commands, e-mail: user-h...@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
> 
> 
>

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


      

Reply via email to