bodewig 01/11/12 03:26:48 Modified: . bootstrap.bat bootstrap.sh build.bat build.sh docs/manual optionaltasklist.html Added: docs/manual/OptionalTasks replaceregexp.html Log: Add documentation for the replaceregexp task Submitted by: Matthew Inger Revision Changes Path 1.41 +1 -1 jakarta-ant/bootstrap.bat Index: bootstrap.bat =================================================================== RCS file: /home/cvs/jakarta-ant/bootstrap.bat,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- bootstrap.bat 2001/10/23 06:10:50 1.40 +++ bootstrap.bat 2001/11/12 11:26:47 1.41 @@ -23,7 +23,7 @@ if "%OS%" == "Windows_NT" if exist build\classes\nul rmdir/s/q build\classes if not "%OS%" == "Windows_NT" if exist build\classes\nul deltree/y build\classes -SET LOCALCLASSPATH=lib\crimson.jar;lib\jaxp.jar; +SET LOCALCLASSPATH=lib\crimson.jar for %%i in (lib\optional\*.jar) do call src\script\lcp.bat %%i if exist "%JAVA_HOME%\lib\tools.jar" call src\script\lcp.bat %JAVA_HOME%\lib\tools.jar if exist "%JAVA_HOME%\lib\classes.zip" call src\script\lcp.bat %JAVA_HOME%\lib\classes.zip 1.54 +1 -1 jakarta-ant/bootstrap.sh Index: bootstrap.sh =================================================================== RCS file: /home/cvs/jakarta-ant/bootstrap.sh,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- bootstrap.sh 2001/10/23 06:10:50 1.53 +++ bootstrap.sh 2001/11/12 11:26:47 1.54 @@ -68,7 +68,7 @@ rm -r build/classes fi -CLASSPATH=lib/crimson.jar:lib/jaxp.jar:${CLASSPATH} +CLASSPATH=lib/crimson.jar:${CLASSPATH} DIRLIBS=lib/optional/*.jar for i in ${DIRLIBS} 1.31 +1 -1 jakarta-ant/build.bat Index: build.bat =================================================================== RCS file: /home/cvs/jakarta-ant/build.bat,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- build.bat 2001/08/30 13:29:20 1.30 +++ build.bat 2001/11/12 11:26:47 1.31 @@ -10,7 +10,7 @@ goto cleanup :runAnt -set LOCALCLASSPATH=lib\crimson.jar;lib\jaxp.jar;bootstrap\lib\ant.jar +set LOCALCLASSPATH=lib\crimson.jar;bootstrap\lib\ant.jar for %%i in (lib\optional\*.jar) do call bootstrap\bin\lcp.bat %%i set CLASSPATH=lib\optional\xalanj1compat.jar;%LOCALCLASSPATH%;%CLASSPATH% set LOCALCLASSPATH= 1.24 +1 -1 jakarta-ant/build.sh Index: build.sh =================================================================== RCS file: /home/cvs/jakarta-ant/build.sh,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- build.sh 2001/08/06 10:24:02 1.23 +++ build.sh 2001/11/12 11:26:47 1.24 @@ -13,7 +13,7 @@ exit fi -LOCALCLASSPATH=lib/crimson.jar:lib/jaxp.jar +LOCALCLASSPATH=lib/crimson.jar # add in the dependency .jar files DIRLIBS=lib/optional/*.jar for i in ${DIRLIBS} 1.21 +1 -0 jakarta-ant/docs/manual/optionaltasklist.html Index: optionaltasklist.html =================================================================== RCS file: /home/cvs/jakarta-ant/docs/manual/optionaltasklist.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- optionaltasklist.html 2001/11/02 23:30:44 1.20 +++ optionaltasklist.html 2001/11/12 11:26:48 1.21 @@ -39,6 +39,7 @@ PropertyFile
Pvcs
RenameExtensions
+ReplaceRegExp
Rpm
Script
Sound
1.1 jakarta-ant/docs/manual/OptionalTasks/replaceregexp.html Index: replaceregexp.html =================================================================== Ant User Manual

ReplaceRegExp

Description

ReplaceRegExp is a directory based task for replacing the occurrence of a given regular expression with a substitution pattern in a selected file or set of files.

Similar to regexp type mappers this task needs a supporting regular expression library and an implementation of org.apache.tools.ant.util.regexp.Regexp. Ant comes with implementations for the java.util.regex package of JDK 1.4, jakarta-regexp and jakarta-ORO, but you will still need the library itself.

Parameters

Attribute Description Required
file file for which the regular expression should be replaced. Yes if no nested <fileset> is used
match The regular expression pattern to match in the file(s) Yes, if no nested <regularexpression> is used
replace The substition pattern to place in the file(s) in place of the regular expression. Yes, if no nested <substitution> is used
flags The flags to use when matching the regular expression. For more information, consult the Perl5 syntax
g --> Global replacement. Replace all occurances found
i --> Case Insensitive. Do not consider case in the match
m --> Multiline. Treat the string as multiple lines of input, using "^" and "$" as the start or end of any line, respectively, rather than start or end of string.
s --> Singleline. Treat the string as a single line of input, using "." to match any character, including a newline, which normally, it would not match.
No
byline Process the file(s) one line at a time, executing the replacement on one line at a time (true/false). This is useful if you want to only replace the first occurance of a regular expression on each line, which is not easy to do when processing the file as a whole. Defaults to false. No

Examples

  <replaceregexp file="${src}/build.properties" 
                           match="OldProperty=(.*)"
                           replace="NewProperty=\1"
                           byline="true" />
  

replaces occurrences of the property name "OldProperty" with "NewProperty" in a properties file, preserving the existing value, in the file ${src}/build.properties

Parameters specified as nested elements

This task supports a nested FileSet element.

This task supports a nested RegularExpression element to specify the regular expression. You can use this element to refer to a previously defined regular expression datatype instance.

<regularexpression id="id" pattern="expression" />
<regularexpression refid="id" />

This task supports a nested Substitution element to specify the substitution pattern. You can use this element to refer to a previously defined substition pattern datatype instance.

<substitution id="id" pattern="expression" />
<substitution refid="id" />

Examples

  <replaceregexp byline="true">
    <regularexpression expression="OldProperty=(.*)" />
    <substitution expression="NewProperty=\1" />
    <fileset dir=".">
     <includes="*.properties" />
    </fileset>
   </replaceregexp>
  

replaces occurrences of the property name "OldProperty" with "NewProperty" in a properties file, preserving the existing value, in all files ending in .properties in the current directory


Copyright © 2000,2001 Apache Software Foundation. All rights Reserved.

-- To unsubscribe, e-mail: For additional commands, e-mail: