Class Copy

  • All Implemented Interfaces:
    java.lang.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
     }
     
    • Constructor Detail

      • Copy

        public Copy()
    • Method Detail

      • 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 java.io.File getDestinationDir()
        Returns the directory to copy files into.
        Returns:
        The destination dir.
      • setDestinationDir

        public void setDestinationDir​(java.io.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.