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 and Description
    `Copy()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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, 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.internal.AbstractTask

      `addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doLast, doLast, execute, finalizedBy, getActionClassLoaders, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, 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 Detail

    - #### Copy

          public Copy()

  - ### Method Detail

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