Class Sync

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.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, Named, ExtensionAware, Task, PatternFilterable, Configurable<Task>

@DisableCachingByDefault(because="Not worth caching") public abstract 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 Details

    • Sync

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

      @Internal public PatternFilterable getPreserve()
      Returns the filter that defines which files to preserve in the destination directory.
      Returns:
      the filter defining the files to preserve
      See Also:
    • preserve

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

      @Inject protected org.gradle.internal.file.Deleter getDeleter()