Class Sync

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

    @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 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 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.
      • 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:
        getDestinationDir()
      • 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:
        getDestinationDir()
      • getDeleter

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