java.lang.Comparable<Task>, ContentFilterable, CopyProcessingSpec, CopySourceSpec, CopySpec, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.file.copy.CopySpecSource, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Task, PatternFilterable, Configurable<Task>AbstractArchiveTask, Copy, Sync@NonNullApi @DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly") public abstract class AbstractCopyTask extends org.gradle.api.internal.ConventionTask implements CopySpec, org.gradle.api.internal.file.copy.CopySpecSource
AbstractCopyTask is the base class for all copy tasks.Task.NamerTASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE| Modifier | Constructor | Description |
|---|---|---|
protected |
AbstractCopyTask() |
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
copy() |
|
protected abstract org.gradle.api.internal.file.copy.CopyAction |
createCopyAction() |
|
protected org.gradle.api.internal.file.copy.CopyActionExecuter |
createCopyActionExecuter() |
|
protected org.gradle.api.internal.file.copy.CopySpecInternal |
createRootSpec() |
|
AbstractCopyTask |
eachFile(Closure closure) |
Adds an action to be applied to each file as it about to be copied into its destination.
|
AbstractCopyTask |
eachFile(Action<? super FileCopyDetails> action) |
Adds an action to be applied to each file as it is about to be copied into its destination.
|
AbstractCopyTask |
exclude(Closure excludeSpec) |
Adds an exclude spec.
|
AbstractCopyTask |
exclude(java.lang.Iterable<java.lang.String> excludes) |
Adds an ANT style exclude pattern.
|
AbstractCopyTask |
exclude(java.lang.String... excludes) |
Adds an ANT style exclude pattern.
|
AbstractCopyTask |
exclude(Spec<FileTreeElement> excludeSpec) |
Adds an exclude spec.
|
AbstractCopyTask |
expand(java.util.Map<java.lang.String,?> properties) |
Expands property references in each file as it is copied.
|
AbstractCopyTask |
expand(java.util.Map<java.lang.String,?> properties,
Action<? super ExpandDetails> action) |
Expands property references in each file as it is copied.
|
AbstractCopyTask |
filesMatching(java.lang.Iterable<java.lang.String> patterns,
Action<? super FileCopyDetails> action) |
Configure the
FileCopyDetails for each file whose path matches any of the specified Ant-style patterns. |
AbstractCopyTask |
filesMatching(java.lang.String pattern,
Action<? super FileCopyDetails> action) |
Configure the
FileCopyDetails for each file whose path matches the specified Ant-style pattern. |
AbstractCopyTask |
filesNotMatching(java.lang.Iterable<java.lang.String> patterns,
Action<? super FileCopyDetails> action) |
Configure the
FileCopyDetails for each file whose path does not match any of the specified
Ant-style patterns. |
AbstractCopyTask |
filesNotMatching(java.lang.String pattern,
Action<? super FileCopyDetails> action) |
Configure the
FileCopyDetails for each file whose path does not match the specified
Ant-style pattern. |
AbstractCopyTask |
filter(Closure closure) |
Adds a content filter based on the provided closure.
|
AbstractCopyTask |
filter(java.lang.Class<? extends java.io.FilterReader> filterType) |
Adds a content filter to be used during the copy.
|
AbstractCopyTask |
filter(java.util.Map<java.lang.String,?> properties,
java.lang.Class<? extends java.io.FilterReader> filterType) |
Adds a content filter to be used during the copy.
|
AbstractCopyTask |
filter(Transformer<java.lang.String,java.lang.String> transformer) |
Adds a content filter based on the provided transformer.
|
AbstractCopyTask |
from(java.lang.Object... sourcePaths) |
Specifies source files or directories for a copy.
|
AbstractCopyTask |
from(java.lang.Object sourcePath,
Closure c) |
Specifies the source files or directories for a copy and creates a child
CopySourceSpec. |
AbstractCopyTask |
from(java.lang.Object sourcePath,
Action<? super CopySpec> configureAction) |
Specifies the source files or directories for a copy and creates a child
CopySpec. |
protected org.gradle.api.internal.file.collections.DirectoryFileTreeFactory |
getDirectoryFileTreeFactory() |
|
java.lang.Integer |
getDirMode() |
Returns the Unix permissions to use for the target directories.
|
protected org.gradle.api.internal.DocumentationRegistry |
getDocumentationRegistry() |
|
DuplicatesStrategy |
getDuplicatesStrategy() |
Returns the strategy to use when trying to copy more than one file to the same destination.
|
java.util.Set<java.lang.String> |
getExcludes() |
Returns the set of exclude patterns.
|
protected org.gradle.api.internal.file.FileLookup |
getFileLookup() |
|
java.lang.Integer |
getFileMode() |
Returns the Unix permissions to use for the target files.
|
protected org.gradle.api.internal.file.FileResolver |
getFileResolver() |
|
protected org.gradle.internal.nativeintegration.filesystem.FileSystem |
getFileSystem() |
|
java.lang.String |
getFilteringCharset() |
Gets the charset used to read and write files when filtering.
|
boolean |
getIncludeEmptyDirs() |
Tells if empty target directories will be included in the copy.
|
java.util.Set<java.lang.String> |
getIncludes() |
Returns the set of include patterns.
|
protected org.gradle.internal.reflect.Instantiator |
getInstantiator() |
|
protected org.gradle.api.internal.file.copy.CopySpecInternal |
getMainSpec() |
|
protected ObjectFactory |
getObjectFactory() |
|
org.gradle.api.internal.file.copy.CopySpecInternal |
getRootSpec() |
|
FileCollection |
getSource() |
Returns the source files for this task.
|
AbstractCopyTask |
include(Closure includeSpec) |
Adds an include spec.
|
AbstractCopyTask |
include(java.lang.Iterable<java.lang.String> includes) |
Adds an ANT style include pattern.
|
AbstractCopyTask |
include(java.lang.String... includes) |
Adds an ANT style include pattern.
|
AbstractCopyTask |
include(Spec<FileTreeElement> includeSpec) |
Adds an include spec.
|
AbstractCopyTask |
into(java.lang.Object destDir) |
Specifies the destination directory for a copy.
|
AbstractCopyTask |
into(java.lang.Object destPath,
Closure configureClosure) |
Creates and configures a child
CopySpec with the given destination path. |
CopySpec |
into(java.lang.Object destPath,
Action<? super CopySpec> copySpec) |
Creates and configures a child
CopySpec with the given destination path. |
boolean |
isCaseSensitive() |
Specifies whether case-sensitive pattern matching should be used.
|
AbstractCopyTask |
rename(Closure closure) |
Renames a source file.
|
AbstractCopyTask |
rename(java.lang.String sourceRegEx,
java.lang.String replaceWith) |
Renames files based on a regular expression.
|
AbstractCopyTask |
rename(java.util.regex.Pattern sourceRegEx,
java.lang.String replaceWith) |
Renames files based on a regular expression.
|
AbstractCopyTask |
rename(Transformer<java.lang.String,java.lang.String> renamer) |
Renames a source file.
|
void |
setCaseSensitive(boolean caseSensitive) |
Specifies whether case-sensitive pattern matching should be used for this CopySpec.
|
AbstractCopyTask |
setDirMode(java.lang.Integer mode) |
Sets the Unix permissions to use for the target directories.
|
void |
setDuplicatesStrategy(DuplicatesStrategy strategy) |
The strategy to use when trying to copy more than one file to the same destination.
|
AbstractCopyTask |
setExcludes(java.lang.Iterable<java.lang.String> excludes) |
Set the allowable exclude patterns.
|
AbstractCopyTask |
setFileMode(java.lang.Integer mode) |
Sets the Unix permissions to use for the target files.
|
void |
setFilteringCharset(java.lang.String charset) |
Specifies the charset used to read and write files when filtering.
|
void |
setIncludeEmptyDirs(boolean includeEmptyDirs) |
Controls if empty target directories should be included in the copy.
|
AbstractCopyTask |
setIncludes(java.lang.Iterable<java.lang.String> includes) |
Set the allowable include patterns.
|
CopySpec |
with(CopySpec... sourceSpecs) |
Adds the given specs as a child of this spec.
|
conventionMapping, conventionMapping, getConventionMappingcompareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesServiceappendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjectsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdoNotTrackState, getConvention, notCompatibleWithConfigurationCacheprotected org.gradle.api.internal.file.copy.CopySpecInternal createRootSpec()
protected abstract org.gradle.api.internal.file.copy.CopyAction createCopyAction()
@Inject protected org.gradle.internal.reflect.Instantiator getInstantiator()
@Inject protected org.gradle.internal.nativeintegration.filesystem.FileSystem getFileSystem()
@Inject protected org.gradle.api.internal.file.FileResolver getFileResolver()
@Inject protected org.gradle.api.internal.file.FileLookup getFileLookup()
@Inject protected org.gradle.api.internal.file.collections.DirectoryFileTreeFactory getDirectoryFileTreeFactory()
@Inject protected org.gradle.api.internal.DocumentationRegistry getDocumentationRegistry()
@Inject protected ObjectFactory getObjectFactory()
protected void copy()
protected org.gradle.api.internal.file.copy.CopyActionExecuter createCopyActionExecuter()
@Internal public FileCollection getSource()
@Internal public org.gradle.api.internal.file.copy.CopySpecInternal getRootSpec()
getRootSpec in interface org.gradle.api.internal.file.copy.CopySpecSource@Internal protected org.gradle.api.internal.file.copy.CopySpecInternal getMainSpec()
@Internal public boolean isCaseSensitive()
isCaseSensitive in interface CopySpecpublic void setCaseSensitive(boolean caseSensitive)
setCaseSensitive in interface CopySpeccaseSensitive - true for case-sensitive matching.@Internal public boolean getIncludeEmptyDirs()
getIncludeEmptyDirs in interface CopySpectrue if empty target directories will be included in the copy, false otherwisepublic void setIncludeEmptyDirs(boolean includeEmptyDirs)
setIncludeEmptyDirs in interface CopySpecincludeEmptyDirs - true if empty target directories should be included in the copy, false otherwisepublic void setDuplicatesStrategy(DuplicatesStrategy strategy)
DuplicatesStrategy.INHERIT, the default strategy, to use
the strategy inherited from the parent copy spec, if any, or DuplicatesStrategy.INCLUDE if this copy spec has no parent.setDuplicatesStrategy in interface CopySpec@Internal public 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 CopySpec.eachFile(org.gradle.api.Action) or CopySpec.filesMatching(String, org.gradle.api.Action).
getDuplicatesStrategy in interface CopySpecDuplicatesStrategypublic AbstractCopyTask from(java.lang.Object... sourcePaths)
Project.files(Object...).from in interface CopySourceSpecfrom in interface CopySpecsourcePaths - Paths to source files for the copypublic AbstractCopyTask filesMatching(java.lang.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.filesMatching in interface CopySpecpattern - Ant-style pattern used to match against files' relative pathsaction - action called for the FileCopyDetails of each file matching patternpublic AbstractCopyTask filesMatching(java.lang.Iterable<java.lang.String> patterns, Action<? super FileCopyDetails> action)
FileCopyDetails for each file whose path matches any of the specified Ant-style patterns.
This is equivalent to using eachFile() and selectively applying a configuration based on the file's path.filesMatching in interface CopySpecpatterns - Ant-style patterns used to match against files' relative pathsaction - action called for the FileCopyDetails of each file matching patternpublic AbstractCopyTask filesNotMatching(java.lang.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.filesNotMatching in interface CopySpecpattern - Ant-style pattern used to match against files' relative pathsaction - action called for the FileCopyDetails of each file that does not match patternpublic AbstractCopyTask filesNotMatching(java.lang.Iterable<java.lang.String> patterns, Action<? super FileCopyDetails> action)
FileCopyDetails for each file whose path does not match any of the specified
Ant-style patterns. This is equivalent to using eachFile() and selectively applying a configuration based on the
file's path.filesNotMatching in interface CopySpecpatterns - Ant-style patterns used to match against files' relative pathsaction - action called for the FileCopyDetails of each file that does not match any patternpublic AbstractCopyTask from(java.lang.Object sourcePath, Closure c)
CopySourceSpec. The given source
path is evaluated as per Project.files(Object...) .from in interface CopySourceSpecfrom in interface CopySpecsourcePath - Path to source for the copyc - closure for configuring the child CopySourceSpecpublic AbstractCopyTask from(java.lang.Object sourcePath, Action<? super CopySpec> configureAction)
CopySpec. The given source
path is evaluated as per Project.files(Object...) .from in interface CopySourceSpecfrom in interface CopySpecsourcePath - Path to source for the copyconfigureAction - action for configuring the child CopySpecpublic CopySpec with(CopySpec... sourceSpecs)
def contentSpec = copySpec {
from("content") {
include "**/*.txt"
}
}
task copy(type: Copy) {
into "$buildDir/copy"
with contentSpec
}
public AbstractCopyTask into(java.lang.Object destDir)
Project.file(Object).into in interface CopyProcessingSpecinto in interface CopySpecdestDir - Path to the destination directory for a Copypublic AbstractCopyTask into(java.lang.Object destPath, Closure configureClosure)
CopySpec with the given destination path.
The destination is evaluated as per Project.file(Object).public CopySpec into(java.lang.Object destPath, Action<? super CopySpec> copySpec)
CopySpec with the given destination path.
The destination is evaluated as per Project.file(Object).public AbstractCopyTask include(java.lang.String... includes)
include in interface CopySpecinclude in interface PatternFilterableincludes - a vararg list of include patternsPattern Formatpublic AbstractCopyTask include(java.lang.Iterable<java.lang.String> includes)
include in interface CopySpecinclude in interface PatternFilterableincludes - a Iterable providing more include patternsPattern Formatpublic AbstractCopyTask include(Spec<FileTreeElement> includeSpec)
include in interface CopySpecinclude in interface PatternFilterableincludeSpec - the spec to addPattern Formatpublic AbstractCopyTask 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 CopySpecinclude in interface PatternFilterableincludeSpec - the spec to addPattern Formatpublic AbstractCopyTask exclude(java.lang.String... excludes)
exclude in interface CopySpecexclude in interface PatternFilterableexcludes - a vararg list of exclude patternsPattern Formatpublic AbstractCopyTask exclude(java.lang.Iterable<java.lang.String> excludes)
exclude in interface CopySpecexclude in interface PatternFilterableexcludes - a Iterable providing new exclude patternsPattern Formatpublic AbstractCopyTask exclude(Spec<FileTreeElement> excludeSpec)
exclude in interface CopySpecexclude in interface PatternFilterableexcludeSpec - the spec to addPattern Formatpublic AbstractCopyTask 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 CopySpecexclude in interface PatternFilterableexcludeSpec - the spec to addPattern Formatpublic AbstractCopyTask setIncludes(java.lang.Iterable<java.lang.String> includes)
PatternFilterable.include(Iterable) this replaces any previously
defined includes.setIncludes in interface CopySpecsetIncludes in interface PatternFilterableincludes - an Iterable providing new include patternsPattern Format@Internal public java.util.Set<java.lang.String> getIncludes()
getIncludes in interface PatternFilterablepublic AbstractCopyTask setExcludes(java.lang.Iterable<java.lang.String> excludes)
PatternFilterable.exclude(Iterable) this replaces any previously
defined excludes.setExcludes in interface CopySpecsetExcludes in interface PatternFilterableexcludes - an Iterable providing new exclude patternsPattern Format@Internal public java.util.Set<java.lang.String> getExcludes()
getExcludes in interface PatternFilterablepublic AbstractCopyTask rename(Closure closure)
rename in interface CopyProcessingSpecrename in interface CopySpecclosure - rename closurepublic AbstractCopyTask rename(Transformer<java.lang.String,java.lang.String> renamer)
rename in interface CopyProcessingSpecrename in interface CopySpecrenamer - rename functionpublic AbstractCopyTask rename(java.lang.String sourceRegEx, java.lang.String replaceWith)
Example:
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 AbstractCopyTask rename(java.util.regex.Pattern sourceRegEx, java.lang.String replaceWith)
CopyProcessingSpec.rename(String, String).rename in interface CopyProcessingSpecrename in interface CopySpecsourceRegEx - Source regular expressionreplaceWith - Replacement string (use $ syntax for capture groups)public AbstractCopyTask filter(java.util.Map<java.lang.String,?> properties, java.lang.Class<? extends java.io.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 ContentFilterablefilter in interface CopySpecproperties - map of filter propertiesfilterType - Class of filter to addpublic AbstractCopyTask filter(java.lang.Class<? extends java.io.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 ContentFilterablefilter in interface CopySpecfilterType - Class of filter to addpublic AbstractCopyTask filter(Closure closure)
null to remove the line. If every line is
removed, the result will be an empty file, not an absent one.filter in interface ContentFilterablefilter in interface CopySpecclosure - to implement line based filteringpublic AbstractCopyTask filter(Transformer<java.lang.String,java.lang.String> transformer)
null to remove the line. If every line is
removed, the result will be an empty file, not an absent one.filter in interface ContentFilterablefilter in interface CopySpectransformer - to implement line based filteringpublic AbstractCopyTask expand(java.util.Map<java.lang.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(' ')}
Note that all escape sequences (\n, \t, \\, etc) are converted to the symbols
they represent, so, for example, \n becomes newline. If this is undesirable then ContentFilterable.expand(Map, Action)
should be used to disable this behavior.
expand in interface ContentFilterableexpand in interface CopySpecproperties - reference-to-value map for substitutionpublic AbstractCopyTask expand(java.util.Map<java.lang.String,?> properties, Action<? super ExpandDetails> action)
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(' ')}. The template
engine can be configured with the provided action.
Note that by default all escape sequences (\n, \t, \\, etc) are converted to the symbols
they represent, so, for example, \n becomes newline. This behavior is controlled by
ExpandDetails.getEscapeBackslash() property. It should be set to true to disable escape sequences
conversion:
expand(one: '1', two: 2) {
escapeBackslash = true
}
expand in interface ContentFilterableexpand in interface CopySpecproperties - reference-to-value map for substitutionaction - action to perform additional configuration of the underlying template engine@Internal public java.lang.Integer getDirMode()
null 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.@Internal public java.lang.Integer getFileMode()
null 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 AbstractCopyTask setDirMode(@Nullable java.lang.Integer mode)
null 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 AbstractCopyTask setFileMode(@Nullable java.lang.Integer mode)
null 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 AbstractCopyTask eachFile(Action<? super FileCopyDetails> action)
eachFile in interface CopyProcessingSpeceachFile in interface CopySpecaction - The action to execute.public AbstractCopyTask eachFile(Closure closure)
FileCopyDetails 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.@Internal public java.lang.String getFilteringCharset()
getFilteringCharset in interface CopySpecpublic void setFilteringCharset(java.lang.String charset)
setFilteringCharset in interface CopySpeccharset - the name of the charset to use when filtering files