Class AbstractArchiveTask

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.bundling.AbstractArchiveTask
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:
Tar, Zip

public abstract class AbstractArchiveTask extends AbstractCopyTask
AbstractArchiveTask is the base class for all archive tasks.
  • Constructor Details

    • AbstractArchiveTask

      public AbstractArchiveTask()
  • Method Details

    • getArchiveName

      @Internal("Represented as part of archivePath") public String getArchiveName()
      Returns the archive name. If the name has not been explicitly set, the pattern for the name is: [baseName]-[appendix]-[version]-[classifier].[extension]
      Returns:
      the archive name.
    • setArchiveName

      public void setArchiveName(String name)
      Sets the archive name.
      Parameters:
      name - the archive name.
    • getArchivePath

      @OutputFile public File getArchivePath()
      The path where the archive is constructed. The path is simply the destinationDir plus the archiveName.
      Returns:
      a File object with the path to the archive
    • getDestinationDir

      @Internal("Represented as part of archivePath") public File getDestinationDir()
      Returns the directory where the archive is generated into.
      Returns:
      the directory
    • setDestinationDir

      public void setDestinationDir(File destinationDir)
    • getBaseName

      @Internal("Represented as part of archiveName") public String getBaseName()
      Returns the base name of the archive.
      Returns:
      the base name.
    • setBaseName

      public void setBaseName(String baseName)
    • getAppendix

      @Internal("Represented as part of archiveName") public String getAppendix()
      Returns the appendix part of the archive name, if any.
      Returns:
      the appendix. May be null
    • setAppendix

      public void setAppendix(String appendix)
    • getVersion

      @Internal("Represented as part of archiveName") public String getVersion()
      Returns the version part of the archive name, if any.
      Returns:
      the version. May be null.
    • setVersion

      public void setVersion(String version)
    • getExtension

      @Internal("Represented as part of archiveName") public String getExtension()
      Returns the extension part of the archive name.
    • setExtension

      public void setExtension(String extension)
    • getClassifier

      @Internal("Represented as part of archiveName") public String getClassifier()
      Returns the classifier part of the archive name, if any.
      Returns:
      The classifier. May be null.
    • setClassifier

      public void setClassifier(String classifier)
    • into

      public AbstractArchiveTask into(Object destPath)
      Specifies the destination directory *inside* the archive for the files. The destination is evaluated as per Project.file(Object). Don't mix it up with getDestinationDir() which specifies the output directory for the archive.
      Specified by:
      into in interface CopyProcessingSpec
      Specified by:
      into in interface CopySpec
      Overrides:
      into in class AbstractCopyTask
      Parameters:
      destPath - destination directory *inside* the archive for the files
      Returns:
      this
    • into

      public AbstractArchiveTask into(Object destPath, Closure configureClosure)
      Creates and configures a child CopySpec with a destination directory *inside* the archive for the files. The destination is evaluated as per Project.file(Object). Don't mix it up with getDestinationDir() which specifies the output directory for the archive.
      Specified by:
      into in interface CopySpec
      Overrides:
      into in class AbstractCopyTask
      Parameters:
      destPath - destination directory *inside* the archive for the files
      configureClosure - The closure to use to configure the child CopySpec.
      Returns:
      this
    • into

      public CopySpec into(Object destPath, Action<? super CopySpec> copySpec)
      Creates and configures a child CopySpec with a destination directory *inside* the archive for the files. The destination is evaluated as per Project.file(Object). Don't mix it up with getDestinationDir() which specifies the output directory for the archive.
      Specified by:
      into in interface CopySpec
      Overrides:
      into in class AbstractCopyTask
      Parameters:
      destPath - destination directory *inside* the archive for the files
      copySpec - The closure to use to configure the child CopySpec.
      Returns:
      this
    • isPreserveFileTimestamps

      @Input @Incubating public boolean isPreserveFileTimestamps()
      Specifies whether file timestamps should be preserved in the archive.

      If false this ensures that archive entries have the same time for builds between different machines, Java versions and operating systems.

      Returns:
      true if file timestamps should be preserved for archive entries
      Since:
      3.4
    • setPreserveFileTimestamps

      @Incubating public void setPreserveFileTimestamps(boolean preserveFileTimestamps)
      Specifies whether file timestamps should be preserved in the archive.

      If false this ensures that archive entries have the same time for builds between different machines, Java versions and operating systems.

      Parameters:
      preserveFileTimestamps - true if file timestamps should be preserved for archive entries
      Since:
      3.4
    • isReproducibleFileOrder

      @Input @Incubating public boolean isReproducibleFileOrder()
      Specifies whether to enforce a reproducible file order when reading files from directories.

      Gradle will then walk the directories on disk which are part of this archive in a reproducible order independent of file systems and operating systems. This helps Gradle reliably produce byte-for-byte reproducible archives.

      Returns:
      true if the files should read from disk in a reproducible order.
      Since:
      3.4
    • setReproducibleFileOrder

      @Incubating public void setReproducibleFileOrder(boolean reproducibleFileOrder)
      Specifies whether to enforce a reproducible file order when reading files from directories.

      Gradle will then walk the directories on disk which are part of this archive in a reproducible order independent of file systems and operating systems. This helps Gradle reliably produce byte-for-byte reproducible archives.

      Parameters:
      reproducibleFileOrder - true if the files should read from disk in a reproducible order.
      Since:
      3.4
    • createCopyActionExecuter

      protected org.gradle.api.internal.file.copy.CopyActionExecuter createCopyActionExecuter()
      Overrides:
      createCopyActionExecuter in class AbstractCopyTask