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.