Class FixCRLF
- All Implemented Interfaces:
Cloneable, ChainableReader, SelectorContainer
This task can take the following arguments:
- srcdir
- destdir
- include
- exclude
- cr
- eol
- tab
- eof
- encoding
- targetencoding
When this task executes, it will scan the srcdir based on the include and exclude properties.
This version generalises the handling of EOL characters, and allows for CR-only line endings (the standard on Mac systems prior to OS X). Tab handling has also been generalised to accommodate any tabwidth from 2 to 80, inclusive. Importantly, it will leave untouched any literal TAB characters embedded within string or character constants.
Warning: do not run on binary files. Caution: run with care on carefully formatted files. This may sound obvious, but if you don't specify asis, presume that your files are going to be modified. If "tabs" is "add" or "remove", whitespace characters may be added or removed as necessary. Similarly, for CR's - in fact "eol"="crlf" or cr="add" can result in cr characters being removed in one special case accommodated, i.e., CRCRLF is regarded as a single EOL to handle cases where other programs have converted CRLF into CRCRLF.
- Since:
- Ant 1.1
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classEnumerated attribute with the values "asis", "add" and "remove".static classEnumerated attribute with the values "asis", "cr", "lf", "crlf", "mac", "unix" and "dos.protected classDeprecated.since 1.7.0. -
Field Summary
FieldsFields inherited from class MatchingTask
filesetFields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal ReaderChain this task as a reader.voidexecute()Executes the task.voidsetCr(FixCRLF.AddAsisRemove attr) Deprecated.since 1.4.x.voidsetDestdir(File destDir) Set the destination where the fixed files should be placed.voidsetEncoding(String encoding) Specifies the encoding Ant expects the files to be in--defaults to the platforms default encoding.voidsetEof(FixCRLF.AddAsisRemove attr) Specify how DOS EOF (control-z) characters are to be handled.voidsetEol(FixCRLF.CrLf attr) Specify how EndOfLine characters are to be handled.voidSet a single file to convert.voidsetFixlast(boolean fixlast) Specify whether a missing EOL will be added to the final line of a file.voidsetJavafiles(boolean javafiles) Set to true if modifying Java source files.voidsetOutputEncoding(String outputEncoding) Specifies the encoding that the files are to be written in--same as input encoding by default.voidsetPreserveLastModified(boolean preserve) Set whether to preserve the last modified time as the original files.voidSet the source dir to find the source text files.voidsetTab(FixCRLF.AddAsisRemove attr) Specify how tab characters are to be handled.voidsetTablength(int tlength) Specify tab length in characters.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.
-
Field Details
-
ERROR_FILE_AND_SRCDIR
-
-
Constructor Details
-
FixCRLF
public FixCRLF()
-
-
Method Details
-
chain
Chain this task as a reader.- Specified by:
chainin interfaceChainableReader- Parameters:
rdr- Reader to chain.- Returns:
- a Reader.
- Since:
- Ant 1.7?
-
setSrcdir
Set the source dir to find the source text files.- Parameters:
srcDir- the source directory.
-
setDestdir
Set the destination where the fixed files should be placed. Default is to replace the original file.- Parameters:
destDir- the destination directory.
-
setJavafiles
public void setJavafiles(boolean javafiles) Set to true if modifying Java source files.- Parameters:
javafiles- whether modifying Java files.
-
setFile
Set a single file to convert.- Parameters:
file- the file to convert.- Since:
- Ant 1.6.3
-
setEol
Specify how EndOfLine characters are to be handled.- Parameters:
attr- valid values:- asis: leave line endings alone
- cr: convert line endings to CR
- lf: convert line endings to LF
- crlf: convert line endings to CRLF
-
setCr
Deprecated.since 1.4.x. UsesetEolinstead.Specify how carriage return (CR) characters are to be handled.- Parameters:
attr- valid values:- add: ensure that there is a CR before every LF
- asis: leave CR characters alone
- remove: remove all CR characters
-
setTab
Specify how tab characters are to be handled.- Parameters:
attr- valid values:- add: convert sequences of spaces which span a tab stop to tabs
- asis: leave tab and space characters alone
- remove: convert tabs to spaces
-
setTablength
Specify tab length in characters.- Parameters:
tlength- specify the length of tab in spaces.- Throws:
BuildException- on error.
-
setEof
Specify how DOS EOF (control-z) characters are to be handled.- Parameters:
attr- valid values:- add: ensure that there is an eof at the end of the file
- asis: leave eof characters alone
- remove: remove any eof character found at the end
-
setEncoding
Specifies the encoding Ant expects the files to be in--defaults to the platforms default encoding.- Parameters:
encoding- String encoding name.
-
setOutputEncoding
Specifies the encoding that the files are to be written in--same as input encoding by default.- Parameters:
outputEncoding- String outputEncoding name.
-
setFixlast
public void setFixlast(boolean fixlast) Specify whether a missing EOL will be added to the final line of a file.- Parameters:
fixlast- whether to fix the last line.
-
setPreserveLastModified
public void setPreserveLastModified(boolean preserve) Set whether to preserve the last modified time as the original files.- Parameters:
preserve- true if timestamps should be preserved.- Since:
- Ant 1.6.3
-
execute
Executes the task.- Overrides:
executein classTask- Throws:
BuildException- on error.
-