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:
  `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
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 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 | 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​(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 Details

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

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.