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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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