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 Copy

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

All Implemented Interfaces:
  groovy.lang.GroovyObject, java.lang.Comparable<Task>, CopyAction, CopyProcessingSpec, CopySourceSpec, CopySpec, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, Task, PatternFilterable, WorkResult

    public class Copy

extends org.gradle.api.internal.ConventionTask
implements CopyAction

Task for copying files. This task can also rename and filter files as it copies. The task implements `CopySpec` for specifying what to copy.

Examples:

     task(mydoc, type:Copy) {
        from 'src/main/doc'
        into 'build/target/doc'
     }

     task(initconfig, type:Copy) {
        from('src/main/config') {
           include '**/*.properties'
           include '**/*.xml'
           filter(ReplaceTokens, tokens:[version:'2.3.1'])
        }
        from('src/main/config') {
           exclude '**/*.properties', '**/*.xml'
        }
        from('src/main/languages') {
           rename 'EN_US_(*.)', '$1'
        }
        into 'build/target/config'
        exclude '**/*.bak'
     }

Field Summary

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

Constructor Summary
`Copy()`

Method Summary
`CopySpec` | `exclude(java.lang.Iterable<java.lang.String> excludes)` Adds an ANT style exclude pattern.
`CopySpec` | `exclude(java.lang.String... excludes)` Adds an ANT style exclude pattern.
`CopySpec` | `filter(java.lang.Class<java.io.FilterReader> filterType)` Adds a content filter to be used during the copy.
`CopySpec` | `filter(groovy.lang.Closure closure)` Adds a content filter based on the provided closure.
`CopySpec` | `filter(java.util.Map<java.lang.String,java.lang.Object> map, java.lang.Class<java.io.FilterReader> filterType)` Adds a content filter to be used during the copy.
`CopySpec` | `from(java.lang.Object... sourcePaths)` Specifies source files or directories for a copy.
`CopySpec` | `from(java.lang.Object sourcePath, groovy.lang.Closure c)` Specifies the source for a copy and creates a child CopySourceSpec.
`org.gradle.api.internal.file.CopyActionImpl` | `getCopyAction()`
`java.io.File` | `getDestinationDir()`
`java.util.Set<java.lang.String>` | `getExcludes()` Get the set of exclude patterns.
`java.util.Set<java.lang.String>` | `getIncludes()` Get the set of include patterns.
`java.util.List<? extends CopySpec>` | `getLeafSyncSpecs()`
`java.lang.Object` | `getSrcDirs()`
`CopySpec` | `include(java.lang.Iterable<java.lang.String> includes)` Adds an ANT style include pattern.
`CopySpec` | `include(java.lang.String... includes)` Adds an ANT style include pattern.
`CopySpec` | `into(java.lang.Object destDir)` Specifies the destination directory for a copy.
`CopySpec` | `remapTarget(groovy.lang.Closure closure)` Maps a source file to a different relative location under the target directory.
`CopySpec` | `rename(java.lang.String sourceRegEx, java.lang.String replaceWith)` Renames files based on a regular expression.
`void` | `setCaseSensitive(boolean caseSensitive)` Set case sensitivity for comparisons.
`void` | `setCopyAction(org.gradle.api.internal.file.CopyActionImpl copyAction)`
`void` | `setDestinationDir(java.io.File destinationDir)`
`CopySpec` | `setExcludes(java.lang.Iterable<java.lang.String> excludes)` Set the allowable exclude patterns.
`CopySpec` | `setIncludes(java.lang.Iterable<java.lang.String> includes)` Set the allowable include patterns.
`void` | `setSrcDirs(java.lang.Object srcDirs)`

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

Methods inherited from class org.gradle.api.DefaultTask
`configure, doFirst, doLast, leftShift`

Methods inherited from class org.gradle.api.internal.AbstractTask
`captureStandardOutput, compareTo, defineProperty, deleteAllActions, dependsOn, dependsOnTaskDidWork, disableStandardOutputCapture, doFirst, doLast, equals, execute, getActions, getAdditionalProperties, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDidWork, getDynamicObjectHelper, getEnabled, getExecuted, getLogger, getName, getOutput, getPath, getProject, getStandardOutputCapture, getTaskDependencies, hashCode, hasProperty, injectIntoNextInstance, isDidWork, isEnabled, isExecuted, onlyIf, onlyIf, property, setActions, setAdditionalProperties, setConvention, setDependsOn, setDescription, setDidWork, setEnabled, setExecuted, setName, setOutputHandler, setProject, setProperty, setStandardOutputCapture, toString`

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

Methods inherited from interface org.gradle.api.file.CopyAction
`execute`

Methods inherited from interface org.gradle.api.tasks.WorkResult
`getDidWork`

Methods inherited from interface groovy.lang.GroovyObject
`getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty`

Constructor Detail

### Copy

    public Copy()

Method Detail

### getCopyAction

    public org.gradle.api.internal.file.CopyActionImpl getCopyAction()

### setCopyAction

    public void setCopyAction(org.gradle.api.internal.file.CopyActionImpl copyAction)

### getSrcDirs

    public java.lang.Object getSrcDirs()

### setSrcDirs

    public void setSrcDirs(java.lang.Object srcDirs)

### getDestinationDir

    public java.io.File getDestinationDir()

### setDestinationDir

    public void setDestinationDir(java.io.File destinationDir)

### setCaseSensitive

    public void setCaseSensitive(boolean caseSensitive)

  Set case sensitivity for comparisons.

  Specified by:
    `setCaseSensitive` in interface `CopyAction`

### getLeafSyncSpecs

    public java.util.List<? extends CopySpec> getLeafSyncSpecs()

### from

    public CopySpec from(java.lang.Object... sourcePaths)

  Specifies source files or directories for a copy. The toString() method of each sourcePath is used to get a path. The paths are evaluated like `Project.file()` . Relative paths will be evaluated relative to the project directory.

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

### from

    public CopySpec from(java.lang.Object sourcePath,
                         groovy.lang.Closure c)

  Specifies the source for a copy and creates a child CopySourceSpec. SourcePath.toString is used as the path. The source is set on the child CopySourceSpec, not on this one. This may be a path to a single file to copy or to a directory. If the path is to a directory, then the contents of the directory will be copied. The paths are evaluated like `Project.file()` .

  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

### into

    public CopySpec into(java.lang.Object destDir)

  Specifies the destination directory for a copy. The path is evaluated relative to the project directory.

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

### include

    public CopySpec include(java.lang.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 beneath the base directory 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
  See Also:
    `Pattern Format`

### include

    public CopySpec include(java.lang.Iterable<java.lang.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 beneath the base directory 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
  See Also:
    `Pattern Format`

### exclude

    public CopySpec exclude(java.lang.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
  See Also:
    `Pattern Format`

### exclude

    public CopySpec exclude(java.lang.Iterable<java.lang.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
  See Also:
    `Pattern Format`

### setIncludes

    public CopySpec setIncludes(java.lang.Iterable<java.lang.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
  See Also:
    `Pattern Format`

### getIncludes

    public java.util.Set<java.lang.String> getIncludes()

  Get the set of include patterns.

  Specified by:
    `getIncludes` in interface `PatternFilterable`

### setExcludes

    public CopySpec setExcludes(java.lang.Iterable<java.lang.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
  See Also:
    `Pattern Format`

### getExcludes

    public java.util.Set<java.lang.String> getExcludes()

  Get the set of exclude patterns.

  Specified by:
    `getExcludes` in interface `PatternFilterable`

### remapTarget

    public CopySpec remapTarget(groovy.lang.Closure closure)

  Maps a source file to a different relative location under the target directory. The closure will be called with a single parameter, the File object for the default location of the copy. This File will have the same relative path from the destination directory that the source file has from its source directory. The closure should return a File object with a new target destination.

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

### rename

    public CopySpec rename(java.lang.String sourceRegEx,
                           java.lang.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

### filter

    public CopySpec filter(java.util.Map<java.lang.String,java.lang.Object> map,
                           java.lang.Class<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 parameters 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 `CopyProcessingSpec`
  Specified by:
    `filter` in interface `CopySpec`
  Parameters:
    `map` - map of filter parameters
    `filterType` - Class of filter to add
  Returns:
    this

### filter

    public CopySpec filter(java.lang.Class<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)

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

### filter

    public CopySpec filter(groovy.lang.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 `CopyProcessingSpec`
  Specified by:
    `filter` in interface `CopySpec`
  Parameters:
    `closure` - to implement line based filtering
  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