A set of specifications for copying files. This includes:
def myCopySpec = project.copySpec { into('webroot') exclude('**/.data/**') 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 specs can be reused in other copy specs via with(CopySpec...) method. This enables reuse of the copy spec instances.
def contentSpec = copySpec { from("content") { include "**/*.txt" } } task copy(type: Copy) { into "$buildDir/copy" with contentSpec }
Type | Name and description |
---|---|
CopySpec |
eachFile(Action<? super FileCopyDetails> action) {@inheritDoc} |
CopySpec |
eachFile(Closure closure) {@inheritDoc} |
CopySpec |
exclude(String... excludes) {@inheritDoc} |
CopySpec |
exclude(Iterable<String> excludes) {@inheritDoc} |
CopySpec |
exclude(Spec<FileTreeElement> excludeSpec) {@inheritDoc} |
CopySpec |
exclude(Closure excludeSpec) {@inheritDoc} |
CopySpec |
expand(Map<String, ?> properties) {@inheritDoc} |
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(Map<String, ?> properties, Class<? extends FilterReader> filterType) {@inheritDoc} |
CopySpec |
filter(Class<? extends FilterReader> filterType) {@inheritDoc} |
CopySpec |
filter(Closure closure) {@inheritDoc} |
CopySpec |
from(Object... sourcePaths) {@inheritDoc} |
CopySpec |
from(Object sourcePath, Closure c) {@inheritDoc} |
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(String... includes) {@inheritDoc} |
CopySpec |
include(Iterable<String> includes) {@inheritDoc} |
CopySpec |
include(Spec<FileTreeElement> includeSpec) {@inheritDoc} |
CopySpec |
include(Closure includeSpec) {@inheritDoc} |
CopySpec |
into(Object destPath) {@inheritDoc} |
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) {@inheritDoc} |
CopySpec |
rename(String sourceRegEx, String replaceWith) {@inheritDoc} |
CopyProcessingSpec |
rename(Pattern sourceRegEx, String replaceWith) {@inheritDoc} |
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) {@inheritDoc} |
void |
setIncludeEmptyDirs(boolean includeEmptyDirs) Controls if empty target directories should be included in the copy. |
CopySpec |
setIncludes(Iterable<String> includes) {@inheritDoc} |
CopySpec |
with(CopySpec... sourceSpecs) Adds the given specs as a child of this spec. |
Methods inherited from class | Name |
---|---|
interface CopyProcessingSpec |
eachFile, eachFile, getDirMode, getFileMode, into, rename, rename, rename, setDirMode, setFileMode |
interface CopySourceSpec |
from, from |
interface PatternFilterable |
exclude, exclude, exclude, exclude, getExcludes, getIncludes, include, include, include, include, setExcludes, setIncludes |
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
Configure the 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 patternConfigure the 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 pattern{@inheritDoc}
{@inheritDoc}
Returns the strategy to use when trying to copy more than one file to the same destination.
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).
Tells if empty target directories will be included in the copy.
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
{@inheritDoc}
Creates and configures a child CopySpec
with the given destination path.
The destination is evaluated as per Project.file.
destPath
- Path to the destination directory for a CopyconfigureClosure
- The closure to use to configure the child CopySpec
.Specifies whether case-sensitive pattern matching should be used.
{@inheritDoc}
Specifies whether case-sensitive pattern matching should be used for this CopySpec.
caseSensitive
- true for case-sensitive matching. The strategy to use when trying to copy more than one file to the same destination. Set to 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.
{@inheritDoc}
Controls if empty target directories should be included in the copy.
includeEmptyDirs
- true if empty target directories should be included in the copy, false otherwise{@inheritDoc}