On Thu, May 15, 2008 at 9:17 AM, Guy Catz <[EMAIL PROTECTED]> wrote:
> Thanks for the answer.
>
> I need to replace @token@ with <aa><bb></bb></aa>.
> But the ANT engine tells me that I can't use '<' or '>'.
You have to escape those with "<" and ">" for "<" and ">"
respectively. The build.xml file is a XML file, and in XML the greater
and less than signs have special meanings.
Another possibility is to use a *.properties file for the replacement
string. Imagine having a file called "replace.properties" with this
line.
token=<aa><bb></bb></aa>
This is legal in properties files and should work when reading it with
ant. You can use a <filtersfile> as my example above shows. In the
above example, I have a file called "${deploy.properties.file}" that
contains the tokens I want to filter.
>
> Please advice.
>
> Thanks.
>
> -----Original Message-----
> From: David Weintraub [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, May 13, 2008 8:27 PM
> To: Ant Users List
> Subject: Re: Replace string in file
>
> What type of replacement? You can do a filter on strings like @VERSION@,
> @DATE@, @FOO@, or whatever you want via filtersets and mappers when you
> copy. For example, I have some configuration files.
> They're called *.properties.template, and I replace the @xxx@ strings
> with values from a deploy.properties file and remove the *.template
> suffix. The filterset replaces the @xxx@ tokens with the correct values
> while the mapper renames the file by removing the *.template
> suffix:
>
> <!-- Copy the configuration files that don't contain tokens -->
> <copy todir="${local.jboss.home}/server/${jboss.instance}"
> verbose="${copy.verbose.flag}">
> <fileset dir="${jboss.install.home}/jbdev1">
> <exclude name="**/*.template"/>
> </fileset>
> </copy>
>
> <!-- Copy the configurable files and replace any tokens -->
> <copy todir="${local.jboss.home}/server/${jboss.instance}"
> overwrite="true"
> verbose="${copy.verbose.flag}">
> <fileset dir="${jboss.install.home}/jbdev1">
> <include name="**/*.template"/>
> </fileset>
> <mapper type="glob"
> from="*.template" to="*"/>
> <filterset begintoken="@" endtoken="@">
> <filter token="path_to_server_dir"
>
> value="${local.jboss.home}/server/${jboss.instance}"/>
> <filtersfile file="${deploy.properties.file}"/>
> </filterset>
> </copy>
>
> Is this what you're looking for?
>
> On Mon, May 12, 2008 at 9:18 AM, Guy Catz <[EMAIL PROTECTED]> wrote:
>> hey guys,
>>
>> Is it possible to replace a string in an existing file?
>>
>> Thanks,
>> Guy.
>>
>
>
>
> --
> --
> David Weintraub
> [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> 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]
>
>
--
--
David Weintraub
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]