Package org.gradle.api.tasks.bundling

## Class Zip

- 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
          - - org.gradle.api.tasks.bundling.Zip

- 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`, `ExtensionAware`, `Task`, `PatternFilterable`, `Configurable<Task>`
  Direct Known Subclasses:
    `Jar`

      @DisableCachingByDefault(because="Not worth caching")
      public abstract class Zip
      extends AbstractArchiveTask

  Assembles a ZIP archive. The default is to compress the contents of the zip.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Task

      `Task.Namer`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `ZIP_EXTENSION` |

    - ### Fields inherited from interface org.gradle.api.Task

      `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Zip()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected org.gradle.api.internal.file.copy.CopyAction` | `createCopyAction()` |
    `protected org.gradle.api.internal.file.copy.ZipCompressor` | `getCompressor()` |
    `ZipEntryCompression` | `getEntryCompression()` | Returns the compression level of the entries of the archive.
    `java.lang.String` | `getMetadataCharset()` | The character set used to encode ZIP metadata like file names.
    `boolean` | `isZip64()` | Whether the zip can contain more than 65535 files and/or support files greater than 4GB in size.
    `void` | `setEntryCompression​(ZipEntryCompression entryCompression)` | Sets the compression level of the entries of the archive.
    `void` | `setMetadataCharset​(java.lang.String metadataCharset)` | The character set used to encode ZIP metadata like file names.
    `void` | `setZip64​(boolean allowZip64)` | Enables building zips with more than 65535 files or bigger than 4GB.

    - ### Methods inherited from class org.gradle.api.tasks.bundling.AbstractArchiveTask

      `createCopyActionExecuter, getArchiveAppendix, getArchiveBaseName, getArchiveClassifier, getArchiveExtension, getArchiveFile, getArchiveFileName, getArchivePath, getArchiveVersion, getDestinationDirectory, into, into, into, isPreserveFileTimestamps, isReproducibleFileOrder, setPreserveFileTimestamps, setReproducibleFileOrder`

    - ### Methods inherited from class org.gradle.api.tasks.AbstractCopyTask

      `copy, createRootSpec, dirPermissions, eachFile, eachFile, exclude, exclude, exclude, exclude, expand, expand, filePermissions, filesMatching, filesMatching, filesNotMatching, filesNotMatching, filter, filter, filter, filter, from, from, from, getDirectoryFileTreeFactory, getDirMode, getDirPermissions, getDocumentationRegistry, getDuplicatesStrategy, getExcludes, getFileLookup, getFileMode, getFilePermissions, getFileResolver, getFileSystem, getFilteringCharset, getIncludeEmptyDirs, getIncludes, getInstantiator, getMainSpec, getObjectFactory, getRootSpec, getSource, include, include, include, include, isCaseSensitive, rename, rename, rename, rename, setCaseSensitive, setDirMode, setDuplicatesStrategy, setExcludes, setFileMode, setFilteringCharset, setIncludeEmptyDirs, setIncludes, with`

    - ### Methods inherited from class org.gradle.api.internal.ConventionTask

      `conventionMapping, conventionMapping, getConventionMapping`

    - ### Methods inherited from class org.gradle.api.DefaultTask

      `compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

    - ### Methods inherited from class org.gradle.api.internal.AbstractTask

      `acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.gradle.api.Task

      `doNotTrackState, getConvention, notCompatibleWithConfigurationCache`

- - ### Field Detail

    - #### ZIP_EXTENSION

          public static final java.lang.String ZIP_EXTENSION

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Zip

          public Zip()

  - ### Method Detail

    - #### getCompressor

          @Internal
          protected org.gradle.api.internal.file.copy.ZipCompressor getCompressor()

    - #### createCopyAction

          protected org.gradle.api.internal.file.copy.CopyAction createCopyAction()

      Specified by:
        `createCopyAction` in class `AbstractCopyTask`

    - #### getEntryCompression

          @Input
          public ZipEntryCompression getEntryCompression()

      Returns the compression level of the entries of the archive. If set to `ZipEntryCompression.DEFLATED` (the default), each entry is compressed using the DEFLATE algorithm. If set to `ZipEntryCompression.STORED` the entries of the archive are left uncompressed.
      Returns:
        the compression level of the archive contents.

    - #### setEntryCompression

          public void setEntryCompression​(ZipEntryCompression entryCompression)

      Sets the compression level of the entries of the archive. If set to `ZipEntryCompression.DEFLATED` (the default), each entry is compressed using the DEFLATE algorithm. If set to `ZipEntryCompression.STORED` the entries of the archive are left uncompressed.
      Parameters:
        `entryCompression` - `STORED` or `DEFLATED`

    - #### setZip64

          public void setZip64​(boolean allowZip64)

      Enables building zips with more than 65535 files or bigger than 4GB.
      See Also:
        `isZip64()`

    - #### isZip64

          @Input
          public boolean isZip64()

      Whether the zip can contain more than 65535 files and/or support files greater than 4GB in size.

      The standard zip format has hard limits on file size and count. The Zip64 format extension practically removes these limits and is therefore required for building large zips.

      However, not all Zip readers support the Zip64 extensions. Notably, the `ZipInputStream` JDK class does not support Zip64 for versions earlier than Java 7. This means you should not enable this property if you are building JARs to be used with Java 6 and earlier runtimes.

    - #### getMetadataCharset

          @Nullable
          @Optional
          @Input
          public java.lang.String getMetadataCharset()

      The character set used to encode ZIP metadata like file names. Defaults to the platform's default character set.
      Returns:
        null if using the platform's default character set for ZIP metadata
      Since:
        2.14

    - #### setMetadataCharset

          public void setMetadataCharset​(java.lang.String metadataCharset)

      The character set used to encode ZIP metadata like file names. Defaults to the platform's default character set.
      Parameters:
        `metadataCharset` - the character set used to encode ZIP metadata like file names
      Since:
        2.14