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

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

### Field Summary

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

Constructors
Constructor and Description
`ManifestTask()` Default constructor

### Method Summary

Methods
`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.