Class Replace
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.MatchingTask
org.apache.tools.ant.taskdefs.Replace
- All Implemented Interfaces:
Cloneable, SelectorContainer
Replaces all occurrences of one or more string tokens with given
values in the indicated files. Each value can be either a string
or the value of a property available in a designated property file.
If you want to replace a text that crosses line boundaries, you
must use a nested
<replacetoken> element.- Since:
- Ant 1.1
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassAn inline string to use as the replacement text.classA filter to apply. -
Field Summary
Fields inherited from class MatchingTask
filesetFields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidSupport arbitrary file system based resource collections.Add a nested <replacefilter> element.Create a token to filter as the text of a nested element.Create a string to replace the token as the text of a nested element.voidexecute()Do the execution.getProperties(File propertyFile) Load a properties file.getProperties(Resource propertyResource) Load a properties resource.voidThe base directory to use when replacing a token in multiple files; required iffileis not defined.voidsetEncoding(String encoding) Set the file encoding to use on the files read and written by the task; optional, defaults to default JVM encoding.voidsetFailOnNoReplacements(boolean b) Whether the build should fail if nothing has been replaced.voidSet the source file; required unlessdiris set.voidsetPreserveLastModified(boolean b) Whether the file timestamp shall be preserved even if the file is modified.voidsetPropertyFile(File propertyFile) The name of a property file from which properties specified using nested<replacefilter>elements are drawn; required only if the property attribute of<replacefilter>is used.voidsetPropertyResource(Resource propertyResource) A resource from which properties specified using nested<replacefilter>elements are drawn; required only if the property attribute of<replacefilter>is used.voidsetReplaceFilterFile(File replaceFilterFile) Sets the name of a property file containing filters; optional.voidsetReplaceFilterResource(Resource replaceFilter) Sets the name of a resource containing filters; optional.voidsetSummary(boolean summary) Indicates whether a summary of the replace operation should be produced, detailing how many token occurrences and files were processed; optional, default=false.voidSet the string token to replace; required unless a nestedreplacetokenelement or thereplacefilterresourceattribute is used.voidSet the string value to use as token replacement; optional, default is the empty string "".voidValidate attributes provided for this task in .xml build file.voidValidate nested elements.Methods inherited from class MatchingTask
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItemsModifier and TypeMethodDescriptionvoidadd(FileSelector selector) add an arbitrary selectorvoidaddAnd(AndSelector selector) add an "And" selector entry on the selector listvoidaddContains(ContainsSelector selector) add a contains selector entry on the selector listvoidaddContainsRegexp(ContainsRegexpSelector selector) add a regular expression selector entry on the selector listvoidaddCustom(ExtendSelector selector) add an extended selector entry on the selector listvoidaddDate(DateSelector selector) add a selector date entry on the selector listvoidaddDepend(DependSelector selector) add a depends selector entry on the selector listvoidaddDepth(DepthSelector selector) add a depth selector entry on the selector listvoidaddDifferent(DifferentSelector selector) add a type selector entry on the type listvoidaddFilename(FilenameSelector selector) add a selector filename entry on the selector listvoidaddMajority(MajoritySelector selector) add a majority selector entry on the selector listvoidaddModified(ModifiedSelector selector) add the modified selectorvoidaddNone(NoneSelector selector) add a "None" selector entry on the selector listvoidaddNot(NotSelector selector) add a "Not" selector entry on the selector listvoidaddOr(OrSelector selector) add an "Or" selector entry on the selector listvoidaddPresent(PresentSelector selector) add a present selector entry on the selector listvoidaddSelector(SelectSelector selector) add a "Select" selector entry on the selector listvoidaddSize(SizeSelector selector) add a selector size entry on the selector listvoidaddType(TypeSelector selector) add a type selector entry on the type listvoidappendSelector(FileSelector selector) Add a new selector into this container.add a name entry on the exclude listadd a name entry on the include files listadd a name entry on the include listadd a name entry on the include files listadd a set of patternsprotected DirectoryScannergetDirectoryScanner(File baseDir) Returns the directory scanner needed to access the files to process.protected final FileSetAccessor for the implicit fileset.Returns the set of selectors as an array.booleanIndicates whether there are any selectors here.intGives the count of the number of selectors in this containerReturns an enumerator for accessing the set of selectors.voidsetCaseSensitive(boolean isCaseSensitive) Sets case sensitivity of the file systemvoidsetDefaultexcludes(boolean useDefaultExcludes) Sets whether default exclusions should be used or not.voidsetExcludes(String excludes) Sets the set of exclude patterns.voidsetExcludesfile(File excludesfile) Sets the name of the file containing the includes patterns.voidsetFollowSymlinks(boolean followSymlinks) Sets whether or not symbolic links or Windows junctions should be followed.voidsetIncludes(String includes) Sets the set of include patterns.voidsetIncludesfile(File includesfile) Sets the name of the file containing the includes patterns.voidsetProject(Project project) Sets the project object of this component.voidXsetIgnore(String ignoreString) List of filenames and directory names to not include.voidSet this to be the items in the base directory that you want to be included.Methods inherited from class Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeModifier and TypeMethodDescriptionfinal voidbindToOwner(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurableReturn the runtime configurable structure for this task.protected voidhandleErrorFlush(String output) Handles an error line by logging it with the WARN priority.protected voidhandleErrorOutput(String output) Handles an error output by logging it with the WARN priority.protected voidhandleFlush(String output) Handles output by logging it with the INFO priority.protected inthandleInput(byte[] buffer, int offset, int length) Handle an input request by this task.protected voidhandleOutput(String output) Handles output by logging it with the INFO priority.voidinit()Called by the project to let the task initialize properly.protected final booleanHas this task been marked invalid?voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidConfigures this task - if it hasn't been done already.final voidperform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise.voidForce the task to be reconfigured from its RuntimeConfigurable.voidsetOwningTarget(Target target) Sets the target container of this task.voidSets the wrapper to be used for runtime configuration.voidsetTaskName(String name) Sets the name to use in logging messages.voidsetTaskType(String type) Sets the name with which the task has been invoked.Methods inherited from class ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocationModifier and TypeMethodDescriptionclone()Returns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.
-
Constructor Details
-
Replace
public Replace()
-
-
Method Details
-
execute
Do the execution.- Overrides:
executein classTask- Throws:
BuildException- if we can't build
-
validateAttributes
Validate attributes provided for this task in .xml build file.- Throws:
BuildException- if any supplied attribute is invalid or any mandatory attribute is missing.
-
validateReplacefilters
Validate nested elements.- Throws:
BuildException- if any supplied attribute is invalid or any mandatory attribute is missing.
-
getProperties
Load a properties file.- Parameters:
propertyFile- the file to load the properties from.- Returns:
- loaded
Propertiesobject. - Throws:
BuildException- if the file could not be found or read.
-
getProperties
Load a properties resource.- Parameters:
propertyResource- the resource to load the properties from.- Returns:
- loaded
Propertiesobject. - Throws:
BuildException- if the resource could not be found or read.- Since:
- Ant 1.8.0
-
setFile
Set the source file; required unlessdiris set.- Parameters:
file- sourceFile.
-
setSummary
public void setSummary(boolean summary) Indicates whether a summary of the replace operation should be produced, detailing how many token occurrences and files were processed; optional, default=false.- Parameters:
summary-booleanwhether a summary of the replace operation should be logged.
-
setReplaceFilterFile
Sets the name of a property file containing filters; optional. Each property will be treated as a replacefilter where token is the name of the property and value is the value of the property.- Parameters:
replaceFilterFile-Fileto load.
-
setReplaceFilterResource
Sets the name of a resource containing filters; optional. Each property will be treated as a replacefilter where token is the name of the property and value is the value of the property.- Parameters:
replaceFilter-Resourceto load.- Since:
- Ant 1.8.0
-
setDir
The base directory to use when replacing a token in multiple files; required iffileis not defined.- Parameters:
dir-Filerepresenting the base directory.
-
setToken
Set the string token to replace; required unless a nestedreplacetokenelement or thereplacefilterresourceattribute is used.- Parameters:
token- tokenString.
-
setValue
Set the string value to use as token replacement; optional, default is the empty string "".- Parameters:
value- replacement value.
-
setEncoding
Set the file encoding to use on the files read and written by the task; optional, defaults to default JVM encoding.- Parameters:
encoding- the encoding to use on the files.
-
createReplaceToken
Create a token to filter as the text of a nested element.- Returns:
- nested token
NestedStringto configure.
-
createReplaceValue
Create a string to replace the token as the text of a nested element.- Returns:
- replacement value
NestedStringto configure.
-
setPropertyFile
The name of a property file from which properties specified using nested<replacefilter>elements are drawn; required only if the property attribute of<replacefilter>is used.- Parameters:
propertyFile-Fileto load.
-
setPropertyResource
A resource from which properties specified using nested<replacefilter>elements are drawn; required only if the property attribute of<replacefilter>is used.- Parameters:
propertyResource-Resourceto load.- Since:
- Ant 1.8.0
-
createReplacefilter
Add a nested <replacefilter> element.- Returns:
- a nested
Replacefilterobject to be configured.
-
addConfigured
Support arbitrary file system based resource collections.- Parameters:
rc- ResourceCollection- Since:
- Ant 1.8.0
-
setPreserveLastModified
public void setPreserveLastModified(boolean b) Whether the file timestamp shall be preserved even if the file is modified.- Parameters:
b- boolean- Since:
- Ant 1.8.0
-
setFailOnNoReplacements
public void setFailOnNoReplacements(boolean b) Whether the build should fail if nothing has been replaced.- Parameters:
b- boolean- Since:
- Ant 1.8.0
-