Package 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.AbstractCopyTask
org.gradle.api.tasks.Copy

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`, `ExtensionAware`, `Task`, `PatternFilterable`, `org.gradle.util.Configurable<Task>`

Direct Known Subclasses:
  `ProcessResources`

public class Copy extends AbstractCopyTask
Copies files into a destination directory. This task can also rename and filter files as it copies. The task implements `CopySpec` for specifying what to copy.

Examples:

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

     //for Ant filter
     import org.apache.tools.ant.filters.ReplaceTokens

     //for including in the copy task
     def dataContent = copySpec {
         from 'src/data'
         include '*.data'
     }

     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'

         includeEmptyDirs = false

         with dataContent
     }

## 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

Constructors
Constructor
Description
`Copy()`

## Method Summary

Modifier and Type
Method
Description
`protected org.gradle.api.internal.file.copy.CopyAction`
`createCopyAction()`
`protected org.gradle.api.internal.file.copy.CopySpecInternal`
`createRootSpec()`
`File`
`getDestinationDir()`
Returns the directory to copy files into.
`org.gradle.api.internal.file.copy.DestinationRootCopySpec`
`getRootSpec()`
`void`
`setDestinationDir(File destinationDir)`
Sets the directory to copy files into.

### Methods inherited from class org.gradle.api.tasks.AbstractCopyTask

`copy, createCopyActionExecuter, eachFile, eachFile, exclude, exclude, exclude, exclude, expand, filesMatching, filesMatching, filesNotMatching, filesNotMatching, filter, filter, filter, filter, from, from, from, getDirectoryFileTreeFactory, getDirMode, getDuplicatesStrategy, getExcludes, getFileLookup, getFileMode, getFileResolver, getFileSystem, getFilteringCharset, getIncludeEmptyDirs, getIncludes, getInstantiator, getMainSpec, getSource, include, include, include, include, into, into, into, isCaseSensitive, rename, rename, rename, rename, setCaseSensitive, setDirMode, setDuplicatesStrategy, setExcludes, setFileMode, setFilteringCharset, setIncludeEmptyDirs, setIncludes, with`

### Methods inherited from class org.gradle.api.internal.ConventionTask

`conventionMapping, conventionMapping, getConventionMapping`

### Methods inherited from class org.gradle.api.DefaultTask

`newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

### Methods inherited from class org.gradle.api.internal.AbstractTask

`addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Copy

public Copy()

## Method Details

### createCopyAction

protected org.gradle.api.internal.file.copy.CopyAction createCopyAction()

Specified by:
  `createCopyAction` in class `AbstractCopyTask`

### createRootSpec

protected org.gradle.api.internal.file.copy.CopySpecInternal createRootSpec()

Overrides:
  `createRootSpec` in class `AbstractCopyTask`

### getRootSpec

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

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

### getDestinationDir

@OutputDirectory public File getDestinationDir()
Returns the directory to copy files into.

Returns:
  The destination dir.

### setDestinationDir

public void setDestinationDir(File destinationDir)
Sets the directory to copy files into. This is the same as calling `AbstractCopyTask.into(Object)` on this task.

Parameters:
  `destinationDir` - The destination directory. Must not be null.