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
 }
 
  • 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.