public interface CopySpec extends CopySourceSpec, CopyProcessingSpec, PatternFilterable
into('webroot')
exclude('**/.svn/**')
from('src/main/webapp') {
include '**/*.jsp'
}
from('src/main/js') {
include '**/*.js'
}
In this example, the into and exclude specifications at the root level are inherited by the
two child CopySpecs.Copy Task,
Project.copy()| 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.
|
CopySpec |
expand(Map<String,?> properties)
Expands property references in each file as it is copied.
|
CopySpec |
filesMatching(String pattern,
Action<? super FileCopyDetails> action)
Configure the
FileCopyDetails for each file whose path matches the specified Ant-style pattern. |
CopySpec |
filesNotMatching(String pattern,
Action<? super FileCopyDetails> action)
Configure the
FileCopyDetails for each file whose path does not match the specified
Ant-style pattern. |
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. |
DuplicatesStrategy |
getDuplicatesStrategy()
Returns the strategy to use when trying to copy more than one file to the same destination.
|
boolean |
getIncludeEmptyDirs()
Tells if empty target directories will be included in the copy.
|
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 destPath)
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.
|
CopyProcessingSpec |
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.
|
void |
setDuplicatesStrategy(DuplicatesStrategy strategy)
The strategy to use when trying to copy more than one file to the same destination.
|
CopySpec |
setExcludes(Iterable<String> excludes)
Set the allowable exclude patterns.
|
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... sourceSpecs)
Adds the given specs as a child of this spec.
|
getDirMode, getFileMode, setDirMode, setFileModegetExcludes, getIncludesboolean isCaseSensitive()
void setCaseSensitive(boolean caseSensitive)
caseSensitive - true for case-sensitive matching.boolean getIncludeEmptyDirs()
void setIncludeEmptyDirs(boolean includeEmptyDirs)
includeEmptyDirs - true if empty target directories should be included in the copy, false otherwise@Incubating DuplicatesStrategy getDuplicatesStrategy()
The value can be set with a case insensitive string of the enum value (e.g. 'exclude' for DuplicatesStrategy.EXCLUDE).
This strategy can be overridden for individual files by using eachFile(org.gradle.api.Action) or filesMatching(String, org.gradle.api.Action).
DuplicatesStrategy@Incubating void setDuplicatesStrategy(@Nullable DuplicatesStrategy strategy)
null to use the default strategy, which is inherited
from the parent copy spec, if any, or DuplicatesStrategy.INCLUDE if this copy spec has no parent.@Incubating CopySpec filesMatching(String pattern, Action<? super FileCopyDetails> action)
FileCopyDetails for each file whose path matches the specified Ant-style pattern.
This is equivalent to using eachFile() and selectively applying a configuration based on the file's path.pattern - Ant-style pattern used to match against files' relative pathsaction - action called for the FileCopyDetails of each file matching pattern@Incubating CopySpec filesNotMatching(String pattern, Action<? super FileCopyDetails> action)
FileCopyDetails for each file whose path does not match the specified
Ant-style pattern. This is equivalent to using eachFile() and selectively applying a configuration based on the
file's path.pattern - Ant-style pattern used to match against files' relative pathsaction - action called for the FileCopyDetails of each file that does not match patternCopySpec with(CopySpec... sourceSpecs)
sourceSpecs - The specs to addCopySpec from(Object... sourcePaths)
Project.files(Object...).from in interface CopySourceSpecsourcePaths - Paths to source files for the copyCopySpec from(Object sourcePath, Closure c)
CopySourceSpec. The given source
path is evaluated as per Project.files(Object...) .from in interface CopySourceSpecsourcePath - Path to source for the copyc - closure for configuring the child CopySourceSpecCopySpec setIncludes(Iterable<String> includes)
PatternFilterable.include(Iterable) this replaces any previously
defined includes.setIncludes in interface PatternFilterableincludes - an Iterable providing new include patternsPattern FormatCopySpec setExcludes(Iterable<String> excludes)
PatternFilterable.exclude(Iterable) this replaces any previously
defined excludes.setExcludes in interface PatternFilterableexcludes - an Iterable providing new exclude patternsPattern FormatCopySpec include(String... includes)
include in interface PatternFilterableincludes - a vararg list of include patternsPattern FormatCopySpec include(Iterable<String> includes)
include in interface PatternFilterableincludes - a Iterable providing more include patternsPattern FormatCopySpec include(Spec<FileTreeElement> includeSpec)
include in interface PatternFilterableincludeSpec - the spec to addPattern FormatCopySpec include(Closure includeSpec)
FileTreeElement 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 PatternFilterableincludeSpec - the spec to addPattern FormatCopySpec exclude(String... excludes)
exclude in interface PatternFilterableexcludes - a vararg list of exclude patternsPattern FormatCopySpec exclude(Iterable<String> excludes)
exclude in interface PatternFilterableexcludes - a Iterable providing new exclude patternsPattern FormatCopySpec exclude(Spec<FileTreeElement> excludeSpec)
exclude in interface PatternFilterableexcludeSpec - the spec to addPattern FormatCopySpec exclude(Closure excludeSpec)
FileTreeElement as its parameter. The closure should return true or false. Example:
copySpec {
from 'source'
into 'destination'
//an example of excluding files from certain configuration:
exclude { it.file in configurations.someConf.files }
}
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 PatternFilterableexcludeSpec - the spec to addPattern FormatCopySpec into(Object destPath)
Project.file(Object).into in interface CopyProcessingSpecdestPath - Path to the destination directory for a CopyCopySpec into(Object destPath, Closure configureClosure)
CopySpec with the given destination path.
The destination is evaluated as per Project.file(Object).destPath - Path to the destination directory for a CopyconfigureClosure - The closure to use to configure the child CopySpec.CopySpec rename(Closure closure)
rename in interface CopyProcessingSpecclosure - rename closureCopySpec rename(String sourceRegEx, String replaceWith)
Example:
rename '(.*)_OEM_BLUE_(.*)', '$1$2'would map the file 'style_OEM_BLUE_.css' to 'style.css'
rename in interface CopyProcessingSpecsourceRegEx - Source regular expressionreplaceWith - Replacement string (use $ syntax for capture groups)CopyProcessingSpec rename(Pattern sourceRegEx, String replaceWith)
CopyProcessingSpec.rename(String, String).rename in interface CopyProcessingSpecsourceRegEx - Source regular expressionreplaceWith - Replacement string (use $ syntax for capture groups)CopySpec filter(Map<String,?> properties, Class<? extends FilterReader> filterType)
Adds 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 ContentFilterableproperties - map of filter propertiesfilterType - Class of filter to addCopySpec filter(Class<? extends FilterReader> filterType)
Adds 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 ContentFilterablefilterType - Class of filter to addCopySpec filter(Closure closure)
filter in interface ContentFilterableclosure - to implement line based filteringCopySpec expand(Map<String,?> properties)
Expands 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 ContentFilterableproperties - to implement line based filteringCopySpec eachFile(Action<? super FileCopyDetails> action)
eachFile in interface CopyProcessingSpecaction - The action to execute.CopySpec eachFile(Closure closure)
FileCopyDetails as its parameter. Actions are executed in the order
added, and are inherited from the parent spec.eachFile in interface CopyProcessingSpecclosure - The action to execute.