## org.apache.tools.ant.taskdefs.optional
Class Rpm

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.optional.Rpm

All Implemented Interfaces:
  java.lang.Cloneable

    public class Rpm

extends Task

Invokes the rpm tool to build a Linux installation file.

Field Summary

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
`Rpm()`

Method Summary
`void` `execute()` Execute the task
`protected Execute` `getExecute(Commandline toExecute, ExecuteStreamHandler streamhandler)` Get the execute object.
`protected java.lang.String` `guessRpmBuildCommand()` Checks whether `rpmbuild` is on the PATH and returns the absolute path to it - falls back to `rpm` otherwise.
`void` `setCleanBuildDir(boolean cbd)` Flag (optional, default=false) to remove the generated files in the BUILD directory
`void` `setCommand(java.lang.String c)` What command to issue to the rpm build tool; optional.
`void` `setError(java.io.File error)` Optional file to save stderr to
`void` `setFailOnError(boolean value)` If `true`, stop the build process when the rpmbuild command exits with an error status.
`void` `setOutput(java.io.File output)` Optional file to save stdout to.
`void` `setQuiet(boolean value)` If true, output from the RPM build command will only be logged to DEBUG.
`void` `setRemoveSource(boolean rs)` Flag (optional, default=false) to remove the sources after the build.
`void` `setRemoveSpec(boolean rs)` Flag (optional, default=false) to remove the spec file from SPECS
`void` `setRpmBuildCommand(java.lang.String c)` The executable to run when building; optional.
`void` `setSpecFile(java.lang.String sf)` The name of the spec File to use; required.
`void` `setTopDir(java.io.File td)` The directory which will have the expected subdirectories, SPECS, SOURCES, BUILD, SRPMS ; optional.

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`

Constructor Detail

### Rpm

    public Rpm()

Method Detail

### execute

    public void execute()
                 throws BuildException

  Execute the task

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - is there is a problem in the task execution.

### setTopDir

    public void setTopDir(java.io.File td)

  The directory which will have the expected subdirectories, SPECS, SOURCES, BUILD, SRPMS ; optional. If this isn't specified, the `baseDir` value is used

  Parameters:
    `td` - the directory containing the normal RPM directories.

### setCommand

    public void setCommand(java.lang.String c)

  What command to issue to the rpm build tool; optional. The default is "-bb"

  Parameters:
    `c` - the command to use.

### setSpecFile

    public void setSpecFile(java.lang.String sf)

  The name of the spec File to use; required.

  Parameters:
    `sf` - the spec file name to use.

### setCleanBuildDir

    public void setCleanBuildDir(boolean cbd)

  Flag (optional, default=false) to remove the generated files in the BUILD directory

  Parameters:
    `cbd` - a `boolean` value.

### setRemoveSpec

    public void setRemoveSpec(boolean rs)

  Flag (optional, default=false) to remove the spec file from SPECS

  Parameters:
    `rs` - a `boolean` value.

### setRemoveSource

    public void setRemoveSource(boolean rs)

  Flag (optional, default=false) to remove the sources after the build. See the `--rmsource` option of rpmbuild.

  Parameters:
    `rs` - a `boolean` value.

### setOutput

    public void setOutput(java.io.File output)

  Optional file to save stdout to.

  Parameters:
    `output` - the file to save stdout to.

### setError

    public void setError(java.io.File error)

  Optional file to save stderr to

  Parameters:
    `error` - the file to save error output to.

### setRpmBuildCommand

    public void setRpmBuildCommand(java.lang.String c)

  The executable to run when building; optional. The default is `rpmbuild`.

  Parameters:
    `c` - the rpm build executable
  Since:
    Ant 1.6

### setFailOnError

    public void setFailOnError(boolean value)

  If `true`, stop the build process when the rpmbuild command exits with an error status.

  Parameters:
    `value` - `true` if it should halt, otherwise `false`. The default is `false`.
  Since:
    Ant 1.6.3

### setQuiet

    public void setQuiet(boolean value)

  If true, output from the RPM build command will only be logged to DEBUG.

  Parameters:
    `value` - `false` if output should be logged, otherwise `true`. The default is `false`.
  Since:
    Ant 1.6.3

### guessRpmBuildCommand

    protected java.lang.String guessRpmBuildCommand()

  Checks whether `rpmbuild` is on the PATH and returns the absolute path to it - falls back to `rpm` otherwise.

  Returns:
    the command used to build RPM's
  Since:
    1.6

### getExecute

    protected Execute getExecute(Commandline toExecute,
                                 ExecuteStreamHandler streamhandler)

  Get the execute object.

  Parameters:
    `toExecute` - the command line to use.
    `streamhandler` - the stream handler to use.
  Returns:
    the execute object.
  Since:
    Ant 1.6.3