Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.gradle.api.tasks
Class AbstractCopyTask

    java.lang.Object
      org.gradle.api.internal.AbstractTask
          org.gradle.api.DefaultTask
              org.gradle.api.internal.ConventionTask
                  org.gradle.api.tasks.AbstractCopyTask

All Implemented Interfaces:
  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, Task, PatternFilterable, org.gradle.util.Configurable<Task>

Direct Known Subclasses:
  AbstractArchiveTask, Copy, Sync

    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.

Nested Class Summary

Nested classes/interfaces inherited from interface org.gradle.api.Task
`Task.Namer`

Field Summary

Fields inherited from interface org.gradle.api.Task
`TASK_ACTION, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

Constructor Summary
`AbstractCopyTask()`

Method Summary
`protected void` | `configureRootSpec()`
`protected void` | `copy()`
`AbstractCopyTask` | `eachFile(Action<? super FileCopyDetails> action)` Adds an action to be applied to each file as it about to be copied into its destination.
`AbstractCopyTask` | `eachFile(Closure closure)` Adds an action to be applied to each file as it about to be copied into its destination.
`AbstractCopyTask` | `exclude(Closure excludeSpec)` Adds an exclude spec.
`AbstractCopyTask` | `exclude(Iterable<String> excludes)` Adds an ANT style exclude pattern.
`AbstractCopyTask` | `exclude(Spec<FileTreeElement> excludeSpec)` Adds an exclude spec.
`AbstractCopyTask` | `exclude(String... excludes)` Adds an ANT style exclude pattern.
`AbstractCopyTask` | `expand(Map<String,?> properties)` Expands property references in each file as it is copied.
`AbstractCopyTask` | `filter(Class<? extends FilterReader> filterType)` Adds a content filter to be used during the copy.
`AbstractCopyTask` | `filter(Closure closure)` Adds a content filter based on the provided closure.
`AbstractCopyTask` | `filter(Map<String,?> properties, Class<? extends FilterReader> filterType)` Adds a content filter to be used during the copy.
`AbstractCopyTask` | `from(Object... sourcePaths)` Specifies source files or directories for a copy.
`AbstractCopyTask` | `from(Object sourcePath, Closure c)` Specifies the source files or directories for a copy and creates a child `CopySourceSpec`.
`protected abstract org.gradle.api.internal.file.copy.CopyActionImpl` | `getCopyAction()`
`FileCollection` | `getDefaultSource()`
`int` | `getDirMode()` Returns the Unix permissions to use for the target directories.
`Set<String>` | `getExcludes()` Returns the set of exclude patterns.
`int` | `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.
`protected CopySpec` | `getMainSpec()`
`org.gradle.api.internal.file.copy.ReadableCopySpec` | `getRootSpec()`
`FileCollection` | `getSource()` Returns the source files for this task.
`AbstractCopyTask` | `include(Closure includeSpec)` Adds an include spec.
`AbstractCopyTask` | `include(Iterable<String> includes)` Adds an ANT style include pattern.
`AbstractCopyTask` | `include(Spec<FileTreeElement> includeSpec)` Adds an include spec.
`AbstractCopyTask` | `include(String... includes)` Adds an ANT style include pattern.
`AbstractCopyTask` | `into(Object destDir)` Specifies the destination directory for a copy.
`AbstractCopyTask` | `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.
`AbstractCopyTask` | `rename(Closure closure)` Renames a source file to a different relative location under the target directory.
`AbstractCopyTask` | `rename(Pattern sourceRegEx, String replaceWith)` Renames files based on a regular expression.
`AbstractCopyTask` | `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.
`AbstractCopyTask` | `setDirMode(int mode)` Sets the Unix permissions to use for the target directories.
`AbstractCopyTask` | `setExcludes(Iterable<String> excludes)` Set the allowable exclude patterns.
`AbstractCopyTask` | `setFileMode(int 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.
`AbstractCopyTask` | `setIncludes(Iterable<String> includes)` Set the allowable include patterns.
`CopySpec` | `with(CopySpec... sourceSpecs)` Adds the given specs as a child of this spec.

Methods inherited from class org.gradle.api.internal.ConventionTask
`conventionMapping, getConventionMapping, setConventionMapping`

Methods inherited from class org.gradle.api.internal.AbstractTask
`addValidator, captureStandardOutput, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, disableStandardOutputCapture, doFirst, doFirst, doLast, doLast, execute, getActions, getAdditionalProperties, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDidWork, getDynamicObjectHelper, getEnabled, getExecuter, getGroup, getInputs, getLogger, getLogging, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getStandardOutputCapture, getState, getTaskDependencies, getTemporaryDir, getValidators, hasProperty, injectIntoNewInstance, isEnabled, leftShift, onlyIf, onlyIf, property, setActions, setConvention, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setGroup, setName, setOnlyIf, setOnlyIf, setProject, setProperty, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### AbstractCopyTask

    public AbstractCopyTask()

Method Detail

### copy

    protected void copy()

### configureRootSpec

    protected void configureRootSpec()

### getDefaultSource

    public FileCollection getDefaultSource()

### getSource

    public FileCollection getSource()

  Returns the source files for this task.

  Returns:
    The source files. Never returns null.

### getCopyAction

    protected abstract org.gradle.api.internal.file.copy.CopyActionImpl getCopyAction()

### getRootSpec

    public org.gradle.api.internal.file.copy.ReadableCopySpec getRootSpec()

  Specified by:
    `getRootSpec` in interface `org.gradle.api.internal.file.copy.CopySpecSource`

### getMainSpec

    protected CopySpec getMainSpec()

### isCaseSensitive

    public boolean isCaseSensitive()

  Specifies whether case-sensitive pattern matching should be used.

  Specified by:
    `isCaseSensitive` in interface `CopySpec`
  Returns:
    true for case-sensitive matching.

### setCaseSensitive

    public void setCaseSensitive(boolean caseSensitive)

  Specifies whether case-sensitive pattern matching should be used for this CopySpec.

  Specified by:
    `setCaseSensitive` in interface `CopySpec`
  Parameters:
    `caseSensitive` - true for case-sensitive matching.

### getIncludeEmptyDirs

    public boolean getIncludeEmptyDirs()

  Tells if empty target directories will be included in the copy.

  Specified by:
    `getIncludeEmptyDirs` in interface `CopySpec`
  Returns:
    `true` if empty target directories will be included in the copy, `false` otherwise

### setIncludeEmptyDirs

    public void setIncludeEmptyDirs(boolean includeEmptyDirs)

  Controls if empty target directories should be included in the copy.

  Specified by:
    `setIncludeEmptyDirs` in interface `CopySpec`
  Parameters:
    `includeEmptyDirs` - `true` if empty target directories should be included in the copy, `false` otherwise

### from

    public AbstractCopyTask from(Object... sourcePaths)

  Specifies source files or directories for a copy. The given paths are evaluated as for `Project.files(Object...)`.

  Specified by:
    `from` in interface `CopySourceSpec`
  Specified by:
    `from` in interface `CopySpec`
  Parameters:
    `sourcePaths` - Paths to source files for the copy

### from

    public AbstractCopyTask from(Object sourcePath,
                                 Closure c)

  Specifies the source files or directories for a copy and creates a child `CopySourceSpec`. The given source path is evaluated as for `Project.files(Object...)` .

  Specified by:
    `from` in interface `CopySourceSpec`
  Specified by:
    `from` in interface `CopySpec`
  Parameters:
    `sourcePath` - Path to source for the copy
    `c` - closure for configuring the child CopySourceSpec

### with

    public CopySpec with(CopySpec... sourceSpecs)

  Adds the given specs as a child of this spec.

  Specified by:
    `with` in interface `CopySpec`
  Parameters:
    `sourceSpecs` - The specs to add
  Returns:
    this

### into

    public AbstractCopyTask into(Object destDir)

  Specifies the destination directory for a copy. The destination is evaluated as for `Project.file(Object)`.

  Specified by:
    `into` in interface `CopyProcessingSpec`
  Specified by:
    `into` in interface `CopySpec`
  Parameters:
    `destDir` - Path to the destination directory for a Copy
  Returns:
    this

### into

    public AbstractCopyTask into(Object destPath,
                                 Closure configureClosure)

  Creates and configures a child `CopySpec` with the given destination path. The destination path is evaluated based on its type, as follows:
  - A closure: The return value of the closure is recursively evaluated.
  - Anything else: The `toString()` value of the given path.

  Specified by:
    `into` in interface `CopySpec`
  Parameters:
    `destPath` - Path to the destination directory for a Copy
    `configureClosure` - The closure to use to configure the child `CopySpec`.
  Returns:
    this

### include

    public AbstractCopyTask include(String... includes)

  Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. 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 to be processed.

  Specified by:
    `include` in interface `CopySpec`
  Specified by:
    `include` in interface `PatternFilterable`
  Parameters:
    `includes` - a vararg list of include patterns
  Returns:
    this
  See Also:
    `Pattern Format`

### include

    public AbstractCopyTask include(Iterable<String> includes)

  Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. 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 to be processed.

  Specified by:
    `include` in interface `CopySpec`
  Specified by:
    `include` in interface `PatternFilterable`
  Parameters:
    `includes` - a Iterable providing more include patterns
  Returns:
    this
  See Also:
    `Pattern Format`

### include

    public AbstractCopyTask include(Spec<FileTreeElement> includeSpec)

  Adds an include spec. This method may be called multiple times to append new specs. 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.

  Specified by:
    `include` in interface `CopySpec`
  Specified by:
    `include` in interface `PatternFilterable`
  Parameters:
    `includeSpec` - the spec to add
  Returns:
    this
  See Also:
    `Pattern Format`

### include

    public AbstractCopyTask include(Closure includeSpec)

  Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a `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.

  Specified by:
    `include` in interface `CopySpec`
  Specified by:
    `include` in interface `PatternFilterable`
  Parameters:
    `includeSpec` - the spec to add
  Returns:
    this
  See Also:
    `Pattern Format`

### exclude

    public AbstractCopyTask exclude(String... excludes)

  Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. 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.

  Specified by:
    `exclude` in interface `CopySpec`
  Specified by:
    `exclude` in interface `PatternFilterable`
  Parameters:
    `excludes` - a vararg list of exclude patterns
  Returns:
    this
  See Also:
    `Pattern Format`

### exclude

    public AbstractCopyTask exclude(Iterable<String> excludes)

  Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. 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.

  Specified by:
    `exclude` in interface `CopySpec`
  Specified by:
    `exclude` in interface `PatternFilterable`
  Parameters:
    `excludes` - a Iterable providing new exclude patterns
  Returns:
    this
  See Also:
    `Pattern Format`

### exclude

    public AbstractCopyTask exclude(Spec<FileTreeElement> excludeSpec)

  Adds an exclude spec. This method may be called multiple times to append new specs. 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.

  Specified by:
    `exclude` in interface `CopySpec`
  Specified by:
    `exclude` in interface `PatternFilterable`
  Parameters:
    `excludeSpec` - the spec to add
  Returns:
    this
  See Also:
    `Pattern Format`

### exclude

    public AbstractCopyTask exclude(Closure excludeSpec)

  Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a `FileTreeElement` 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.

  Specified by:
    `exclude` in interface `CopySpec`
  Specified by:
    `exclude` in interface `PatternFilterable`
  Parameters:
    `excludeSpec` - the spec to add
  Returns:
    this
  See Also:
    `Pattern Format`

### setIncludes

    public AbstractCopyTask setIncludes(Iterable<String> includes)

  Set the allowable include patterns. Note that unlike `PatternFilterable.include(Iterable)` this replaces any previously defined includes.

  Specified by:
    `setIncludes` in interface `CopySpec`
  Specified by:
    `setIncludes` in interface `PatternFilterable`
  Parameters:
    `includes` - an Iterable providing new include patterns
  Returns:
    this
  See Also:
    `Pattern Format`

### getIncludes

    public Set<String> getIncludes()

  Returns the set of include patterns.

  Specified by:
    `getIncludes` in interface `PatternFilterable`
  Returns:
    The include patterns. Returns an empty set when there are no include patterns.

### setExcludes

    public AbstractCopyTask setExcludes(Iterable<String> excludes)

  Set the allowable exclude patterns. Note that unlike `PatternFilterable.exclude(Iterable)` this replaces any previously defined excludes.

  Specified by:
    `setExcludes` in interface `CopySpec`
  Specified by:
    `setExcludes` in interface `PatternFilterable`
  Parameters:
    `excludes` - an Iterable providing new exclude patterns
  Returns:
    this
  See Also:
    `Pattern Format`

### getExcludes

    public Set<String> getExcludes()

  Returns the set of exclude patterns.

  Specified by:
    `getExcludes` in interface `PatternFilterable`
  Returns:
    The exclude patterns. Returns an empty set when there are no exclude patterns.

### rename

    public AbstractCopyTask rename(Closure closure)

  Renames a source file to a different relative location under the target directory. The closure will be called with a single parameter, the name of the file. The closure should return a String object with a new target name. The closure may return null, in which case the original name will be used.

  Specified by:
    `rename` in interface `CopyProcessingSpec`
  Specified by:
    `rename` in interface `CopySpec`
  Parameters:
    `closure` - rename closure
  Returns:
    this

### rename

    public AbstractCopyTask rename(String sourceRegEx,
                                   String replaceWith)

  Renames files based on a regular expression. Uses java.util.regex type of regular expressions. Note that the replace string should use the '$1' syntax to refer to capture groups in the source regular expression. Files that do not match the source regular expression will be copied with the original name.

  Example:

       rename '(.*)_OEM_BLUE_(.*)', '$1$2'

  would map the file 'style_OEM_BLUE_.css' to 'style.css'

  Specified by:
    `rename` in interface `CopyProcessingSpec`
  Specified by:
    `rename` in interface `CopySpec`
  Parameters:
    `sourceRegEx` - Source regular expression
    `replaceWith` - Replacement string (use $ syntax for capture groups)
  Returns:
    this

### rename

    public AbstractCopyTask rename(Pattern sourceRegEx,
                                   String replaceWith)

  Renames files based on a regular expression. See `CopyProcessingSpec.rename(String, String)`.

  Specified by:
    `rename` in interface `CopyProcessingSpec`
  Specified by:
    `rename` in interface `CopySpec`
  Parameters:
    `sourceRegEx` - Source regular expression
    `replaceWith` - Replacement string (use $ syntax for capture groups)
  Returns:
    this

### filter

    public AbstractCopyTask 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'])

  Specified by:
    `filter` in interface `ContentFilterable`
  Specified by:
    `filter` in interface `CopySpec`
  Parameters:
    `properties` - map of filter properties
    `filterType` - Class of filter to add
  Returns:
    this

### filter

    public AbstractCopyTask 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)

  Specified by:
    `filter` in interface `ContentFilterable`
  Specified by:
    `filter` in interface `CopySpec`
  Parameters:
    `filterType` - Class of filter to add
  Returns:
    this

### filter

    public AbstractCopyTask filter(Closure closure)

  Adds a content filter based on the provided closure. The Closure will be called with each line (stripped of line endings) and should return a String to replace the line.

  Specified by:
    `filter` in interface `ContentFilterable`
  Specified by:
    `filter` in interface `CopySpec`
  Parameters:
    `closure` - to implement line based filtering
  Returns:
    this

### expand

    public AbstractCopyTask 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(' ')}`

  Specified by:
    `expand` in interface `ContentFilterable`
  Specified by:
    `expand` in interface `CopySpec`
  Parameters:
    `properties` - to implement line based filtering
  Returns:
    this

### getDirMode

    public int getDirMode()

  Returns the Unix permissions to use for the target directories. It is dependent on the copy action implementation whether these permissions will actually be applied.

  Specified by:
    `getDirMode` in interface `CopyProcessingSpec`
  Returns:
    The directory permissions.

### getFileMode

    public int getFileMode()

  Returns the Unix permissions to use for the target files. It is dependent on the copy action implementation whether these permissions will actually be applied.

  Specified by:
    `getFileMode` in interface `CopyProcessingSpec`
  Returns:
    The file permissions.

### setDirMode

    public AbstractCopyTask setDirMode(int mode)

  Sets the Unix permissions to use for the target directories. It is dependent on the copy action implementation whether these permissions will actually be applied.

  Specified by:
    `setDirMode` in interface `CopyProcessingSpec`
  Parameters:
    `mode` - The directory permissions.
  Returns:
    this

### setFileMode

    public AbstractCopyTask setFileMode(int mode)

  Sets the Unix permissions to use for the target files. It is dependent on the copy action implementation whether these permissions will actually be applied.

  Specified by:
    `setFileMode` in interface `CopyProcessingSpec`
  Parameters:
    `mode` - The file permissions.
  Returns:
    this

### eachFile

    public AbstractCopyTask eachFile(Action<? super FileCopyDetails> action)

  Adds an action to be applied to each file as it about to be copied into its destination. The action can change the destination path of the file, filter the contents of the file, or exclude the file from the result entirely. Actions are executed in the order added, and are inherited from the parent spec.

  Specified by:
    `eachFile` in interface `CopyProcessingSpec`
  Specified by:
    `eachFile` in interface `CopySpec`
  Parameters:
    `action` - The action to execute.
  Returns:
    this

### eachFile

    public AbstractCopyTask eachFile(Closure closure)

  Adds an action to be applied to each file as it about to be copied into its destination. The given closure is called with a `FileCopyDetails` as its parameter. Actions are executed in the order added, and are inherited from the parent spec.

  Specified by:
    `eachFile` in interface `CopyProcessingSpec`
  Specified by:
    `eachFile` in interface `CopySpec`
  Parameters:
    `closure` - The action to execute.
  Returns:
    this

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD