## org.apache.tools.ant.taskdefs
Class ManifestTask

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.ManifestTask

All Implemented Interfaces:
  java.lang.Cloneable

    public class ManifestTask

extends Task

Creates a manifest file for inclusion in a JAR, Ant task wrapper around `Manifest`. This task can be used to write a Manifest file, optionally replacing or updating an existing file.

Since:
  Ant 1.5

Nested Class Summary
`static class` `ManifestTask.Mode` Helper class for Manifest's mode attribute.

Field Summary
`static java.lang.String` `VALID_ATTRIBUTE_CHARS` Specifies the valid characters which can be used in attribute names.

Fields inherited from class org.apache.tools.ant.Task
`target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`description, location, project`

Constructor Summary
`ManifestTask()` Default constructor

Method Summary
`void` `addConfiguredAttribute(Manifest.Attribute attribute)` Add an attribute to the manifest - it is added to the main section.
`void` `addConfiguredSection(Manifest.Section section)` Add a section to the manifest
`void` `execute()` Create or update the Manifest when used as a task.
`void` `setEncoding(java.lang.String encoding)` The encoding to use for reading in an existing manifest file
`void` `setFile(java.io.File f)` The name of the manifest file to create/update.
`void` `setFlattenAttributes(boolean b)` Whether to flatten multi-valued attributes (i.e.
`void` `setMergeClassPathAttributes(boolean b)` Whether to merge Class-Path attributes.
`void` `setMode(ManifestTask.Mode m)` Update policy: either "update" or "replace"; default is "replace".

Methods inherited from class org.apache.tools.ant.Task
`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### VALID_ATTRIBUTE_CHARS

    public static final java.lang.String VALID_ATTRIBUTE_CHARS

  Specifies the valid characters which can be used in attribute names. "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"

  See Also:
    Constant Field Values

Constructor Detail

### ManifestTask

    public ManifestTask()

  Default constructor

Method Detail

### addConfiguredSection

    public void addConfiguredSection(Manifest.Section section)
                              throws ManifestException

  Add a section to the manifest

  Parameters:
    `section` - the manifest section to be added
  Throws:
    `ManifestException` - if the section is not valid.

### addConfiguredAttribute

    public void addConfiguredAttribute(Manifest.Attribute attribute)
                                throws ManifestException

  Add an attribute to the manifest - it is added to the main section.

  Parameters:
    `attribute` - the attribute to be added.
  Throws:
    `ManifestException` - if the attribute is not valid.

### setFile

    public void setFile(java.io.File f)

  The name of the manifest file to create/update. Required if used as a task.

  Parameters:
    `f` - the Manifest file to be written

### setEncoding

    public void setEncoding(java.lang.String encoding)

  The encoding to use for reading in an existing manifest file

  Parameters:
    `encoding` - the manifest file encoding.

### setMode

    public void setMode(ManifestTask.Mode m)

  Update policy: either "update" or "replace"; default is "replace".

  Parameters:
    `m` - the mode value - update or replace.

### setMergeClassPathAttributes

    public void setMergeClassPathAttributes(boolean b)

  Whether to merge Class-Path attributes.

  Since:
    Ant 1.8.0

### setFlattenAttributes

    public void setFlattenAttributes(boolean b)

  Whether to flatten multi-valued attributes (i.e. Class-Path) into a single one.

  Since:
    Ant 1.8.0

### execute

    public void execute()
                 throws BuildException

  Create or update the Manifest when used as a task.

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - if the manifest cannot be written.