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, Named, ExtensionAware, Task, PatternFilterable, Configurable<Task>
Direct Known Subclasses:
ProcessResources

@DisableCachingByDefault(because="Not worth caching") public abstract 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
}
Since:
0.7
  • Constructor Details

    • Copy

      public Copy()
  • Method Details

    • createCopyAction

      protected org.gradle.api.internal.file.copy.CopyAction createCopyAction()
      Description copied from class: AbstractCopyTask
      Create copy action.
      Specified by:
      createCopyAction in class AbstractCopyTask
    • createRootSpec

      protected org.gradle.api.internal.file.copy.CopySpecInternal createRootSpec()
      Description copied from class: AbstractCopyTask
      Create root spec.
      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
    • getDestinationDirectory

      @Incubating @OutputDirectory public DirectoryProperty getDestinationDirectory()
      The directory to copy files into.

      Setting this property is equivalent to calling AbstractCopyTask.into(Object) on this task, and reading it reflects the destination configured through AbstractCopyTask.into(Object) or setDestinationDir(File).

      Returns:
      the destination directory property
      Since:
      9.8.0
    • getDestinationDir

      @ReplacedBy("destinationDirectory") public File getDestinationDir()
      Returns the directory to copy files into.
      Returns:
      The destination dir.
      Since:
      0.7
    • 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.
      Since:
      0.7