Class AbstractFindBugsTask

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
edu.umd.cs.findbugs.anttask.AbstractFindBugsTask
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
ComputeBugHistoryTask, ConvertXmlToTextTask, FilterBugsTask, FindBugsTask, MineBugHistoryTask, SetBugDatabaseInfoTask, UnionBugs2

public abstract class AbstractFindBugsTask extends org.apache.tools.ant.Task
Abstract base class for Ant tasks that run programs (main() methods) in findbugs.jar or findbugsGUI.jar.
  • Field Details

    • FINDBUGS_JAR

      public static final String FINDBUGS_JAR
      See Also:
    • DEFAULT_TIMEOUT

      public static final long DEFAULT_TIMEOUT
      See Also:
    • RESULT_PROPERTY_SUFFIX

      public static final String RESULT_PROPERTY_SUFFIX
      See Also:
    • mainClass

      private final String mainClass
    • debug

      private boolean debug
    • homeDir

      private File homeDir
    • jvm

      private String jvm
    • jvmargs

      private String jvmargs
    • timeout

      private long timeout
    • failOnError

      private boolean failOnError
    • errorProperty

      protected String errorProperty
    • systemPropertyList

      private final List<AbstractFindBugsTask.SystemProperty> systemPropertyList
    • classpath

      private org.apache.tools.ant.types.Path classpath
    • pluginList

      private org.apache.tools.ant.types.Path pluginList
    • findbugsEngine

      private org.apache.tools.ant.taskdefs.Java findbugsEngine
    • execResultProperty

      public String execResultProperty
  • Constructor Details

    • AbstractFindBugsTask

      protected AbstractFindBugsTask(String mainClass)
      Constructor.
  • Method Details

    • setHome

      public void setHome(File homeDir)
      Set the home directory into which findbugs was installed
      Parameters:
      homeDir - installation directory
    • setDebug

      public void setDebug(boolean flag)
      Set the debug flag
      Parameters:
      flag - true to enable debugging
    • getDebug

      protected boolean getDebug()
      Get the debug flag.
    • setJvmargs

      public void setJvmargs(String args)
      Set any specific jvm args
      Parameters:
      args - JVM arguments
    • setJvm

      public void setJvm(String jvm)
      Set the command used to start the VM
      Parameters:
      jvm - command used to start the VM
    • setTimeout

      public void setTimeout(long timeout)
      Set timeout in milliseconds.
      Parameters:
      timeout - the timeout
    • setFailOnError

      public void setFailOnError(boolean flag)
      Set the failOnError flag
      Parameters:
      flag - true to enable
    • setErrorProperty

      public void setErrorProperty(String name)
      Tells this task to set the property with the given name to "true" when there were errors.
      Parameters:
      name - property to set to "true" on errors
    • createSystemProperty

      public AbstractFindBugsTask.SystemProperty createSystemProperty()
      Create a SystemProperty (to handle <systemProperty> elements).
      Returns:
      new property
    • setClasspath

      public void setClasspath(org.apache.tools.ant.types.Path src)
      Set the classpath to use.
      Parameters:
      src - classpath to use
    • createClasspath

      public org.apache.tools.ant.types.Path createClasspath()
      Path to use for classpath.
      Returns:
      path to use for classpath
    • setClasspathRef

      public void setClasspathRef(org.apache.tools.ant.types.Reference r)
      Adds a reference to a classpath defined elsewhere.
      Parameters:
      r - reference to a classpath defined elsewhere
    • setPluginList

      public void setPluginList(org.apache.tools.ant.types.Path src)
      the plugin list to use.
      Parameters:
      src - plugin list to use
    • createPluginList

      public org.apache.tools.ant.types.Path createPluginList()
      Path to use for plugin list.
      Returns:
      path to use for plugin list
    • setPluginListRef

      public void setPluginListRef(org.apache.tools.ant.types.Reference r)
      Adds a reference to a plugin list defined elsewhere.
      Parameters:
      r - reference to a plugin list defined elsewhere
    • execute

      public void execute() throws org.apache.tools.ant.BuildException
      Overrides:
      execute in class org.apache.tools.ant.Task
      Throws:
      org.apache.tools.ant.BuildException
    • checkParameters

      protected void checkParameters()
      Check that all required attributes have been set.
    • createFindbugsEngine

      protected void createFindbugsEngine()
      Create the FindBugs engine (the Java process that will run whatever FindBugs-related program this task is going to execute).
    • getFindbugsEngine

      protected org.apache.tools.ant.taskdefs.Java getFindbugsEngine()
      Get the Findbugs engine.
    • addArg

      protected void addArg(String arg)
      Add an argument to the JVM used to execute FindBugs.
      Parameters:
      arg - the argument
    • setInputString

      protected void setInputString(String input)
      Sets the given string to be piped to standard input of the FindBugs JVM upon launching.
    • execFindbugs

      private void execFindbugs() throws org.apache.tools.ant.BuildException
      Create a new JVM to do the work.
      Throws:
      org.apache.tools.ant.BuildException
      Since:
      Ant 1.5
    • configureFindbugsEngine

      protected abstract void configureFindbugsEngine()
    • beforeExecuteJavaProcess

      protected abstract void beforeExecuteJavaProcess()
    • afterExecuteJavaProcess

      protected void afterExecuteJavaProcess(int rc)