Package 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

Constructors
`Rpm()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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