public class CopyActionImpl extends Object implements CopyAction, CopySpecSource
| Constructor and Description |
|---|
CopyActionImpl(FileResolver resolver,
CopySpecVisitor visitor) |
| Modifier and Type | Method and Description |
|---|---|
CopySpec |
eachFile(Action<? super FileCopyDetails> action)
Adds an action to be applied to each file as it is about to be copied into its destination.
|
CopySpec |
eachFile(Closure closure)
Adds an action to be applied to each file as it about to be copied into its destination.
|
CopySpec |
exclude(Closure excludeSpec)
Adds an exclude spec.
|
CopySpec |
exclude(Iterable<String> excludes)
Adds an ANT style exclude pattern.
|
CopySpec |
exclude(Spec<FileTreeElement> excludeSpec)
Adds an exclude spec.
|
CopySpec |
exclude(String... excludes)
Adds an ANT style exclude pattern.
|
void |
execute() |
CopySpec |
expand(Map<String,?> properties)
Expands property references in each file as it is copied.
|
CopySpec |
filter(Class<? extends FilterReader> filterType)
Adds a content filter to be used during the copy.
|
CopySpec |
filter(Closure closure)
Adds a content filter based on the provided closure.
|
CopySpec |
filter(Map<String,?> properties,
Class<? extends FilterReader> filterType)
Adds a content filter to be used during the copy.
|
CopySpec |
from(Object... sourcePaths)
Specifies source files or directories for a copy.
|
CopySpec |
from(Object sourcePath,
Closure c)
Specifies the source files or directories for a copy and creates a child
CopySourceSpec. |
FileTree |
getAllSource() |
boolean |
getDidWork() |
Integer |
getDirMode()
Returns the Unix permissions to use for the target directories.
|
Set<String> |
getExcludes()
Returns the set of exclude patterns.
|
Integer |
getFileMode()
Returns the Unix permissions to use for the target files.
|
boolean |
getIncludeEmptyDirs()
Tells if empty target directories will be included in the copy.
|
Set<String> |
getIncludes()
Returns the set of include patterns.
|
CopySpecImpl |
getMainSpec() |
FileResolver |
getResolver() |
CopySpecImpl |
getRootSpec() |
boolean |
hasSource() |
CopySpec |
include(Closure includeSpec)
Adds an include spec.
|
CopySpec |
include(Iterable<String> includes)
Adds an ANT style include pattern.
|
CopySpec |
include(Spec<FileTreeElement> includeSpec)
Adds an include spec.
|
CopySpec |
include(String... includes)
Adds an ANT style include pattern.
|
CopySpec |
into(Object destDir)
Specifies the destination directory for a copy.
|
CopySpec |
into(Object destPath,
Closure configureClosure)
Creates and configures a child
CopySpec with the given destination path. |
boolean |
isCaseSensitive()
Specifies whether case-sensitive pattern matching should be used.
|
CopySpec |
rename(Closure closure)
Renames a source file to a different relative location under the target directory.
|
CopySpec |
rename(Pattern sourceRegEx,
String replaceWith)
Renames files based on a regular expression.
|
CopySpec |
rename(String sourceRegEx,
String replaceWith)
Renames files based on a regular expression.
|
void |
setCaseSensitive(boolean caseSensitive)
Specifies whether case-sensitive pattern matching should be used for this CopySpec.
|
CopyProcessingSpec |
setDirMode(Integer mode)
Sets the Unix permissions to use for the target directories.
|
CopySpec |
setExcludes(Iterable<String> excludes)
Set the allowable exclude patterns.
|
CopyProcessingSpec |
setFileMode(Integer mode)
Sets the Unix permissions to use for the target files.
|
void |
setIncludeEmptyDirs(boolean includeEmptyDirs)
Controls if empty target directories should be included in the copy.
|
CopySpec |
setIncludes(Iterable<String> includes)
Set the allowable include patterns.
|
CopySpec |
with(CopySpec... copySpecs)
Adds the given specs as a child of this spec.
|
public CopyActionImpl(FileResolver resolver, CopySpecVisitor visitor)
public FileResolver getResolver()
public CopySpecImpl getRootSpec()
getRootSpec in interface CopySpecSourcepublic CopySpecImpl getMainSpec()
public void execute()
public boolean getDidWork()
getDidWork in interface WorkResultpublic FileTree getAllSource()
public boolean hasSource()
public CopySpec eachFile(Action<? super FileCopyDetails> action)
CopySpeceachFile in interface CopyProcessingSpeceachFile in interface CopySpecaction - The action to execute.public CopySpec eachFile(Closure closure)
CopySpecFileCopyDetails as its parameter. Actions are executed in the order
added, and are inherited from the parent spec.eachFile in interface CopyProcessingSpeceachFile in interface CopySpecclosure - The action to execute.public CopySpec exclude(Iterable<String> excludes)
CopySpecexclude in interface CopySpecexclude in interface PatternFilterableexcludes - a Iterable providing new exclude patternsPattern Formatpublic CopySpec exclude(String... excludes)
CopySpecexclude in interface CopySpecexclude in interface PatternFilterableexcludes - a vararg list of exclude patternsPattern Formatpublic CopySpec exclude(Closure excludeSpec)
CopySpecFileTreeElement as its parameter.
If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match
any exclude pattern to be processed.exclude in interface CopySpecexclude in interface PatternFilterableexcludeSpec - the spec to addPattern Formatpublic CopySpec exclude(Spec<FileTreeElement> excludeSpec)
CopySpecexclude in interface CopySpecexclude in interface PatternFilterableexcludeSpec - the spec to addPattern Formatpublic CopySpec expand(Map<String,?> properties)
CopySpecExpands property references in each file as it is copied. More specifically, each file is transformed using
Groovy's SimpleTemplateEngine. This means you can use simple property references, such as
$property or ${property} in the file. You can also include arbitrary Groovy code in the
file, such as ${version ?: 'unknown'} or ${classpath*.name.join(' ')}
expand in interface ContentFilterableexpand in interface CopySpecproperties - to implement line based filteringpublic CopySpec filter(Closure closure)
CopySpecfilter in interface ContentFilterablefilter in interface CopySpecclosure - to implement line based filteringpublic CopySpec filter(Class<? extends FilterReader> filterType)
CopySpecAdds a content filter to be used during the copy. Multiple calls to filter, add additional filters to the
filter chain. Each filter should implement java.io.FilterReader. Include org.apache.tools.ant.filters.* for access to all the standard Ant filters.
Examples:
filter(StripJavaComments)
filter(com.mycompany.project.CustomFilter)
filter in interface ContentFilterablefilter in interface CopySpecfilterType - Class of filter to addpublic CopySpec filter(Map<String,?> properties, Class<? extends FilterReader> filterType)
CopySpecAdds a content filter to be used during the copy. Multiple calls to filter, add additional filters to the
filter chain. Each filter should implement java.io.FilterReader. Include org.apache.tools.ant.filters.* for access to all the standard Ant filters.
Filter properties may be specified using groovy map syntax.
Examples:
filter(HeadFilter, lines:25, skip:2)
filter(ReplaceTokens, tokens:[copyright:'2009', version:'2.3.1'])
filter in interface ContentFilterablefilter in interface CopySpecproperties - map of filter propertiesfilterType - Class of filter to addpublic CopySpec from(Object sourcePath, Closure c)
CopySpecCopySourceSpec. The given source
path is evaluated as for Project.files(Object...) .from in interface CopySourceSpecfrom in interface CopySpecsourcePath - Path to source for the copyc - closure for configuring the child CopySourceSpecpublic CopySpec from(Object... sourcePaths)
CopySpecProject.files(Object...).from in interface CopySourceSpecfrom in interface CopySpecsourcePaths - Paths to source files for the copypublic Set<String> getExcludes()
PatternFilterablegetExcludes in interface PatternFilterablepublic Set<String> getIncludes()
PatternFilterablegetIncludes in interface PatternFilterablepublic CopySpec include(Iterable<String> includes)
CopySpecinclude in interface CopySpecinclude in interface PatternFilterableincludes - a Iterable providing more include patternsPattern Formatpublic CopySpec include(String... includes)
CopySpecinclude in interface CopySpecinclude in interface PatternFilterableincludes - a vararg list of include patternsPattern Formatpublic CopySpec include(Closure includeSpec)
CopySpecFileTreeElement as its parameter.
If includes are not provided, then all files in this container will be included. If includes are provided, then a
file must match at least one of the include patterns or specs to be included.include in interface CopySpecinclude in interface PatternFilterableincludeSpec - the spec to addPattern Formatpublic CopySpec include(Spec<FileTreeElement> includeSpec)
CopySpecinclude in interface CopySpecinclude in interface PatternFilterableincludeSpec - the spec to addPattern Formatpublic CopySpec into(Object destDir)
CopySpecProject.file(Object).into in interface CopyProcessingSpecinto in interface CopySpecdestDir - Path to the destination directory for a Copypublic CopySpec into(Object destPath, Closure configureClosure)
CopySpecCopySpec with the given destination path.
The destination is evaluated as for Project.file(Object).public boolean isCaseSensitive()
CopySpecisCaseSensitive in interface CopySpecpublic boolean getIncludeEmptyDirs()
CopySpecgetIncludeEmptyDirs in interface CopySpecpublic void setIncludeEmptyDirs(boolean includeEmptyDirs)
CopySpecsetIncludeEmptyDirs in interface CopySpecincludeEmptyDirs - true if empty target directories should be included in the copy, false otherwisepublic CopySpec rename(Closure closure)
CopySpecrename in interface CopyProcessingSpecrename in interface CopySpecclosure - rename closurepublic CopySpec rename(Pattern sourceRegEx, String replaceWith)
CopySpecCopyProcessingSpec.rename(String, String).rename in interface CopyProcessingSpecrename in interface CopySpecsourceRegEx - Source regular expressionreplaceWith - Replacement string (use $ syntax for capture groups)public CopySpec rename(String sourceRegEx, String replaceWith)
CopySpecExample:
rename '(.*)_OEM_BLUE_(.*)', '$1$2'would map the file 'style_OEM_BLUE_.css' to 'style.css'
rename in interface CopyProcessingSpecrename in interface CopySpecsourceRegEx - Source regular expressionreplaceWith - Replacement string (use $ syntax for capture groups)public void setCaseSensitive(boolean caseSensitive)
CopySpecsetCaseSensitive in interface CopySpeccaseSensitive - true for case-sensitive matching.public Integer getDirMode()
CopyProcessingSpecnull means that existing
permissions are preserved. It is dependent on the copy action implementation whether these permissions
will actually be applied.getDirMode in interface CopyProcessingSpecnull if existing permissions should be preserved.public CopyProcessingSpec setDirMode(Integer mode)
CopyProcessingSpecnull means that existing
permissions are preserved. It is dependent on the copy action implementation whether these permissions
will actually be applied.setDirMode in interface CopyProcessingSpecmode - The directory permissions.public CopySpec setExcludes(Iterable<String> excludes)
CopySpecPatternFilterable.exclude(Iterable) this replaces any previously
defined excludes.setExcludes in interface CopySpecsetExcludes in interface PatternFilterableexcludes - an Iterable providing new exclude patternsPattern Formatpublic Integer getFileMode()
CopyProcessingSpecnull means that existing
permissions are preserved. It is dependent on the copy action implementation whether these permissions
will actually be applied.getFileMode in interface CopyProcessingSpecnull if existing permissions should be preserved.public CopyProcessingSpec setFileMode(Integer mode)
CopyProcessingSpecnull means that existing
permissions are preserved. It is dependent on the copy action implementation whether these permissions
will actually be applied.setFileMode in interface CopyProcessingSpecmode - The file permissions.public CopySpec setIncludes(Iterable<String> includes)
CopySpecPatternFilterable.include(Iterable) this replaces any previously
defined includes.setIncludes in interface CopySpecsetIncludes in interface PatternFilterableincludes - an Iterable providing new include patternsPattern FormatCopyright © 2013. All rights reserved