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, Named, ExtensionAware, Task, PatternFilterable, Configurable<Task>
Direct Known Subclasses:
Tar, Zip

@DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly") public abstract class AbstractArchiveTask extends AbstractCopyTask
AbstractArchiveTask is the base class for all archive tasks.
  • Constructor Details

    • AbstractArchiveTask

      public AbstractArchiveTask()
  • Method Details

    • getArchiveFileName

      @Internal("Represented as part of archiveFile") public Property<String> getArchiveFileName()
      Returns the archive name. If the name has not been explicitly set, the pattern for the name is: [archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension]
      Returns:
      the archive name.
      Since:
      5.1
    • getArchiveFile

      @OutputFile public Provider<RegularFile> getArchiveFile()
      The RegularFile where the archive is constructed. The path is simply the destinationDirectory plus the archiveFileName.
      Returns:
      a RegularFile object with the path to the archive
      Since:
      5.1
    • getDestinationDirectory

      @Internal("Represented by the archiveFile") public DirectoryProperty getDestinationDirectory()
      The directory where the archive will be placed.
      Since:
      5.1
    • getArchivePath

      @Deprecated @ReplacedBy("archiveFile") public File getArchivePath()
      Deprecated.
      The path where the archive is constructed. The path is simply the destinationDirectory plus the archiveFileName.
      Returns:
      a File object with the path to the archive
    • getArchiveBaseName

      @Internal("Represented as part of archiveFile") public Property<String> getArchiveBaseName()
      Returns the base name of the archive.
      Returns:
      the base name. Internal property may be null.
      Since:
      5.1
    • getArchiveAppendix

      @Internal("Represented as part of archiveFile") public Property<String> getArchiveAppendix()
      Returns the appendix part of the archive name, if any.
      Returns:
      the appendix. May be null
      Since:
      5.1
    • getArchiveVersion

      @Internal("Represented as part of archiveFile") public Property<String> getArchiveVersion()
      Returns the version part of the archive name.
      Returns:
      the version. Internal property may be null.
      Since:
      5.1
    • getArchiveExtension

      @Internal("Represented as part of archiveFile") public Property<String> getArchiveExtension()
      Returns the extension part of the archive name.
      Since:
      5.1
    • getArchiveClassifier

      @Internal("Represented as part of archiveFile") public Property<String> getArchiveClassifier()
      Returns the classifier part of the archive name, if any.
      Returns:
      The classifier. Internal property may be null.
      Since:
      5.1
    • 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 getDestinationDirectory() 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 getDestinationDirectory() 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 getDestinationDirectory() 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 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

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

      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