Package 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:
    `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>`
  Direct Known Subclasses:
    `Jar`

      @DisableCachingByDefault(because="Not worth caching")
      public abstract 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 | Description
    --- | --- | ---
    `static java.lang.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_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

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

  - ### Method Summary

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

    - #### DEFAULT_EXTENSION

          public static final java.lang.String DEFAULT_EXTENSION

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Jar

          public Jar()

  - ### Method Detail

    - #### getMetadataCharset

          public java.lang.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​(java.lang.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
          public java.lang.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

          public void setManifestContentCharset​(java.lang.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​(@DelegatesTo(Manifest.class)
                              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​(@DelegatesTo(CopySpec.class)
                                  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