One thing to be aware of is the encoding type of a file.  Replace will only 
perform a replace on one encoding.  A default is used if not specified.
I had an issue where developers were using different text editors to edit text 
files.... and my replace didn't work initially.


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: 18 December 2006 13:35
To: user@ant.apache.org
Subject: AW: Replace Question

<replaceregexp><fileset><contains>



Jan
 

>-----Ursprüngliche Nachricht-----
>Von: Andrew Goktepe [mailto:[EMAIL PROTECTED]
>Gesendet: Freitag, 15. Dezember 2006 16:09
>An: Ant Users List
>Betreff: Re: Replace Question
>
>If you are running Ant 1.6.3 or later, you can use the <isfileselected>
>condition:
>
>    <condition property="skip.replacement">
>        <isfileselected file="bin/start.bat">
>            <contains text="set bar=foostart" />
>        </isfileselected>
>    </condition>
>
>The skip.replacement property will be set if the file already contains 
>the replacement text. You can then run <replace> conditionally on this 
>property.
>
>You could also use ant-contrib with <if> to combine the check with the
>execution:
>
>    <if>
>         <isfileselected file="bin/start.bat">
>            <contains text="set bar=foostart" />
>        </isfileselected>
>        <then/>
>         <else>
>             <replace dir="bin" file="bin/start.bat">
>                <replacetoken><![CDATA[start]]></replacetoken>
>                <replacevalue><![CDATA[set 
>bar=foostart]]></replacevalue>
>            </replace>
>         </else>
>    </if>
>
>-Andrew
>
>
>On 12/14/06, Fenlason, Josh <[EMAIL PROTECTED]> wrote:
>>
>> I want to add a line to a file, but only if the file doesn't already 
>> contain that line.  I can add the line fine, but I can't
>figure out how
>> to do it conditionally.  Is this possible?   Here's what I 
>have so far.
>> Any suggestions would be greatly appreciated.  Thanks in advance.
>> <target name="test">
>>     <!-- this replace works, but it adds the line every time -->
>>     <replace dir="bin" file="bin/start.bat">
>>         <replacetoken><![CDATA[start]]></replacetoken>
>>         <replacevalue><![CDATA[set bar=foo start]]></replacevalue>
>>      </replace>
>>
>>      <!-- this doesn't replace anything no matter if start.bat 
>> contains set bar=foo or not -->
>>      <replace dir="bin" includes="bin/start.bat">
>>         <not><contains text="set bar=foo" casesensitive="yes"/></not>
>>         <replacetoken><![CDATA[start]]></replacetoken>
>>         <replacevalue><![CDATA[set bar=foo start]]></replacevalue>
>>      </replace>
>>
>>   </target>
>> ,
>> Josh.
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: 
[EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to