org.gradle.jvm.tasks

## Class Jar

- 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
            - - org.gradle.jvm.tasks.Jar

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

      @Incubating
      public class Jar
      extends Zip

  Assembles a JAR archive.

- - ### Nested Class Summary

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

      `Task.Namer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_EXTENSION`

    - ### Fields inherited from class org.gradle.api.tasks.bundling.Zip

      `ZIP_EXTENSION`

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

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Jar()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Manifest` | `getManifest()` Returns the manifest for this JAR archive.
    `String` | `getManifestContentCharset()` The character set used to encode the manifest content.
    `String` | `getMetadataCharset()` The character set used to encode JAR metadata like file names.
    `CopySpec` | `getMetaInf()`
    `Jar` | `manifest(Action<? super Manifest> configureAction)` Configures the manifest for this JAR archive.
    `Jar` | `manifest(Closure<?> configureClosure)` Configures the manifest for this JAR archive.
    `CopySpec` | `metaInf(Action<? super CopySpec> configureAction)` Adds content to this JAR archive's META-INF directory.
    `CopySpec` | `metaInf(Closure<?> configureClosure)` Adds content to this JAR archive's META-INF directory.
    `void` | `setManifest(Manifest manifest)` Sets the manifest for this JAR archive.
    `void` | `setManifestContentCharset(String manifestContentCharset)` The character set used to encode the manifest content.
    `void` | `setMetadataCharset(String metadataCharset)` The character set used to encode JAR metadata like file names.

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

      `createCopyAction, getCompressor, getEntryCompression, isZip64, setEntryCompression, setZip64`

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

      `createCopyActionExecuter, getAppendix, getArchiveName, getArchivePath, getBaseName, getClassifier, getDestinationDir, getExtension, getVersion, into, into, into, isPreserveFileTimestamps, isReproducibleFileOrder, setAppendix, setArchiveName, setBaseName, setClassifier, setDestinationDir, setExtension, setPreserveFileTimestamps, setReproducibleFileOrder, setVersion`

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

      `copy, createRootSpec, eachFile, eachFile, exclude, exclude, exclude, exclude, expand, filesMatching, filesMatching, filesNotMatching, filesNotMatching, filter, filter, filter, filter, from, from, from, getDirectoryFileTreeFactory, getDirMode, getDuplicatesStrategy, getExcludes, getFileLookup, getFileMode, getFileResolver, getFileSystem, getFilteringCharset, getIncludeEmptyDirs, getIncludes, getInstantiator, getMainSpec, 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

      `newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

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

      `addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString`

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

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

- - ### Field Detail

    - #### DEFAULT_EXTENSION

          public static final String DEFAULT_EXTENSION

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Jar

          public Jar()

  - ### Method Detail

    - #### getMetadataCharset

          public String getMetadataCharset()

      The character set used to encode JAR metadata like file names. Defaults to UTF-8. You can change this property but it is not recommended as JVMs expect JAR metadata to be encoded using UTF-8
      Overrides:
        `getMetadataCharset` in class `Zip`
      Returns:
        the character set used to encode JAR metadata like file names
      Since:
        2.14

    - #### setMetadataCharset

          public void setMetadataCharset(String metadataCharset)

      The character set used to encode JAR metadata like file names. Defaults to UTF-8. You can change this property but it is not recommended as JVMs expect JAR metadata to be encoded using UTF-8
      Overrides:
        `setMetadataCharset` in class `Zip`
      Parameters:
        `metadataCharset` - the character set used to encode JAR metadata like file names
      Since:
        2.14

    - #### getManifestContentCharset

          @Input
           @Incubating
          public String getManifestContentCharset()

      The character set used to encode the manifest content. Defaults to UTF-8. You can change this property but it is not recommended as JVMs expect manifests content to be encoded using UTF-8.
      Returns:
        the character set used to encode the manifest content
      Since:
        2.14

    - #### setManifestContentCharset

          @Incubating
          public void setManifestContentCharset(String manifestContentCharset)

      The character set used to encode the manifest content.
      Parameters:
        `manifestContentCharset` - the character set used to encode the manifest content
      Since:
        2.14
      See Also:
        `getManifestContentCharset()`

    - #### getManifest

          @Internal
          public Manifest getManifest()

      Returns the manifest for this JAR archive.
      Returns:
        The manifest

    - #### setManifest

          public void setManifest(Manifest manifest)

      Sets the manifest for this JAR archive.
      Parameters:
        `manifest` - The manifest. May be null.

    - #### manifest

          public Jar manifest(Closure<?> configureClosure)

      Configures the manifest for this JAR archive.

      The given closure is executed to configure the manifest. The `Manifest` is passed to the closure as its delegate.

      Parameters:
        `configureClosure` - The closure.
      Returns:
        This.

    - #### manifest

          public Jar manifest(Action<? super Manifest> configureAction)

      Configures the manifest for this JAR archive.

      The given action is executed to configure the manifest.

      Parameters:
        `configureAction` - The action.
      Returns:
        This.
      Since:
        3.5

    - #### getMetaInf

          @Internal
          public CopySpec getMetaInf()

    - #### metaInf

          public CopySpec metaInf(Closure<?> configureClosure)

      Adds content to this JAR archive's META-INF directory.

      The given closure is executed to configure a `CopySpec`. The `CopySpec` is passed to the closure as its delegate.

      Parameters:
        `configureClosure` - The closure.
      Returns:
        The created `CopySpec`

    - #### metaInf

          public CopySpec metaInf(Action<? super CopySpec> configureAction)

      Adds content to this JAR archive's META-INF directory.

      The given action is executed to configure a `CopySpec`.

      Parameters:
        `configureAction` - The action.
      Returns:
        The created `CopySpec`
      Since:
        3.5