Package 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:
  `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
Modifier and Type
Class
Description
`static class`
`ManifestTask.Mode`
Helper class for Manifest's mode attribute.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final 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
Description
`ManifestTask()`
Default constructor

## Method Summary

Modifier and Type
Method
Description
`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(String encoding)`
The encoding to use for reading in an existing manifest file
`void`
`setFile(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 Details

### VALID_ATTRIBUTE_CHARS

public static final String VALID_ATTRIBUTE_CHARS
Specifies the valid characters which can be used in attribute names. "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"

See Also:
  - Constant Field Values

## Constructor Details

### ManifestTask

public ManifestTask()
Default constructor

## Method Details

### 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(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(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.

Parameters:
  `b` - boolean
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.

Parameters:
  `b` - boolean
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.