Class Sync

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

    public class Sync
    extends AbstractCopyTask
    Synchronizes the contents of a destination directory with some source directories and files.

    This task is like the Copy task, except the destination directory will only contain the files copied. All files that exist in the destination directory will be deleted before copying files, unless a preserve(Action) is specified.

    Examples:

    
     // Sync can be used like a Copy task
     // See the Copy documentation for more examples
     task syncDependencies(type: Sync) {
         from 'my/shared/dependencyDir'
         into 'build/deps/compile'
     }
    
     // You can preserve output that already exists in the
     // destination directory. Files matching the preserve
     // filter will not be deleted.
     task sync(type: Sync) {
         from 'source'
         into 'dest'
         preserve {
             include 'extraDir/**'
             include 'dir1/**'
             exclude 'dir1/extra.txt'
         }
     }
     
    • Constructor Detail

      • Sync

        public Sync()
    • 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 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.
      • preserve

        @Incubating
        public Sync preserve​(Action<? super PatternFilterable> action)
        Configures the filter that defines which files to preserve in the destination directory.
        Parameters:
        action - Action for configuring the preserve filter
        Returns:
        this
        See Also:
        getDestinationDir()