JDependTask (Apache Ant API)
Date: 2018-09-11

Package org.apache.tools.ant.taskdefs.optional.jdepend

## Class JDependTask

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask

- All Implemented Interfaces:
    `java.lang.Cloneable`

      public class JDependTask
      extends Task

  Runs JDepend tests.

  JDepend is a tool to generate design quality metrics for each Java package. It has been initially created by Mike Clark. JDepend can be found at http://www.clarkware.com/software/JDepend.html. The current implementation spawn a new Java VM.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `JDependTask.FormatAttribute` | A class for the enumerated attribute format, values are xml and text.

  - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JDependTask()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Path` | `createClassespath()` | Adds a path to class code to analyze.
    `Path` | `createClasspath()` | Adds a path to the classpath.
    `PatternSet.NameEntry` | `createExclude()` | add a name entry on the exclude list
    `Commandline.Argument` | `createJvmarg​(CommandlineJava commandline)` | Create a new JVM argument.
    `Path` | `createSourcespath()` | Deprecated. since 1.6.x.
    `protected ExecuteWatchdog` | `createWatchdog()` |
    `void` | `execute()` | execute the task
    `int` | `executeAsForked​(CommandlineJava commandline, ExecuteWatchdog watchdog)` | Execute the task by forking a new JVM.
    `int` | `executeInVM​(CommandlineJava commandline)` | Execute inside VM.
    `Path` | `getClassespath()` | Gets the classespath.
    `Path` | `getClasspath()` | Gets the classpath to be used for this compilation.
    `java.io.File` | `getDir()` |
    `PatternSet` | `getExcludes()` |
    `boolean` | `getFork()` |
    `boolean` | `getHaltonerror()` |
    `java.io.File` | `getOutputFile()` |
    `Path` | `getSourcespath()` | Deprecated. since 1.6.x.
    `java.lang.Long` | `getTimeout()` |
    `void` | `setClasspath​(Path classpath)` | Set the classpath to be used for this compilation.
    `void` | `setClasspathRef​(Reference r)` | Adds a reference to a classpath defined elsewhere.
    `void` | `setDir​(java.io.File dir)` | The directory to invoke the VM in.
    `void` | `setFork​(boolean value)` | If true, forks into a new JVM.
    `void` | `setFormat​(JDependTask.FormatAttribute ea)` | The format to write the output in, "xml" or "text".
    `void` | `setHaltonerror​(boolean haltonerror)` | Whether or not to halt on failure.
    `void` | `setIncluderuntime​(boolean b)` | If true, include jdepend.jar in the forked VM.
    `void` | `setJvm​(java.lang.String value)` | The command used to invoke a forked Java Virtual Machine.
    `void` | `setOutputFile​(java.io.File outputFile)` | The output file name.
    `void` | `setTimeout​(java.lang.Long value)` | Set the timeout value (in milliseconds).

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### 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`

- - ### Constructor Detail

    - #### JDependTask

          public JDependTask()

  - ### Method Detail

    - #### setIncluderuntime

          public void setIncluderuntime​(boolean b)

      If true, include jdepend.jar in the forked VM.
      Parameters:
        `b` - include ant run time yes or no
      Since:
        Ant 1.6

    - #### setTimeout

          public void setTimeout​(java.lang.Long value)

      Set the timeout value (in milliseconds).

      If the operation is running for more than this value, the jdepend will be canceled. (works only when in 'fork' mode).

      Parameters:
        `value` - the maximum time (in milliseconds) allowed before declaring the test as 'timed-out'
      See Also:
        `setFork(boolean)`

    - #### getTimeout

          public java.lang.Long getTimeout()

      Returns:
        the timeout value

    - #### setOutputFile

          public void setOutputFile​(java.io.File outputFile)

      The output file name.
      Parameters:
        `outputFile` - the output file name

    - #### getOutputFile

          public java.io.File getOutputFile()

      Returns:
        the output file name

    - #### setHaltonerror

          public void setHaltonerror​(boolean haltonerror)

      Whether or not to halt on failure. Default: false.
      Parameters:
        `haltonerror` - the value to set

    - #### getHaltonerror

          public boolean getHaltonerror()

      Returns:
        the value of the haltonerror attribute

    - #### setFork

          public void setFork​(boolean value)

      If true, forks into a new JVM. Default: false.
      Parameters:
        `value` - `true` if a JVM should be forked, otherwise `false`

    - #### getFork

          public boolean getFork()

      Returns:
        the value of the fork attribute

    - #### setJvm

          public void setJvm​(java.lang.String value)

      The command used to invoke a forked Java Virtual Machine. Default is `java`. Ignored if no JVM is forked.
      Parameters:
        `value` - the new VM to use instead of `java`
      See Also:
        `setFork(boolean)`

    - #### createSourcespath

          @Deprecated
          public Path createSourcespath()

      Deprecated.
      since 1.6.x.
      Adds a path to source code to analyze.
      Returns:
        a source path

    - #### getSourcespath

          @Deprecated
          public Path getSourcespath()

      Deprecated.
      since 1.6.x.
      Gets the sourcepath.
      Returns:
        the sources path

    - #### createClassespath

          public Path createClassespath()

      Adds a path to class code to analyze.
      Returns:
        a classes path

    - #### getClassespath

          public Path getClassespath()

      Gets the classespath.
      Returns:
        the classes path

    - #### setDir

          public void setDir​(java.io.File dir)

      The directory to invoke the VM in. Ignored if no JVM is forked.
      Parameters:
        `dir` - the directory to invoke the JVM from.
      See Also:
        `setFork(boolean)`

    - #### getDir

          public java.io.File getDir()

      Returns:
        the dir attribute

    - #### setClasspath

          public void setClasspath​(Path classpath)

      Set the classpath to be used for this compilation.
      Parameters:
        `classpath` - a class path to be used

    - #### getClasspath

          public Path getClasspath()

      Gets the classpath to be used for this compilation.
      Returns:
        the class path used for compilation

    - #### createClasspath

          public Path createClasspath()

      Adds a path to the classpath.
      Returns:
        a classpath

    - #### createJvmarg

          public Commandline.Argument createJvmarg​(CommandlineJava commandline)

      Create a new JVM argument. Ignored if no JVM is forked.
      Parameters:
        `commandline` - the commandline to create the argument on
      Returns:
        create a new JVM argument so that any argument can be passed to the JVM.
      See Also:
        `setFork(boolean)`

    - #### setClasspathRef

          public void setClasspathRef​(Reference r)

      Adds a reference to a classpath defined elsewhere.
      Parameters:
        `r` - a classpath reference

    - #### createExclude

          public PatternSet.NameEntry createExclude()

      add a name entry on the exclude list
      Returns:
        a pattern for the excludes

    - #### getExcludes

          public PatternSet getExcludes()

      Returns:
        the excludes patterns

    - #### setFormat

          public void setFormat​(JDependTask.FormatAttribute ea)

      The format to write the output in, "xml" or "text".
      Parameters:
        `ea` - xml or text

    - #### execute

          public void execute()
                       throws BuildException

      execute the task
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - if an error occurs

    - #### executeInVM

          public int executeInVM​(CommandlineJava commandline)
                          throws BuildException

      Execute inside VM.
      Parameters:
        `commandline` - the command line
      Returns:
        the return value of the mvm
      Throws:
        `BuildException` - if an error occurs

    - #### executeAsForked

          public int executeAsForked​(CommandlineJava commandline,
                                     ExecuteWatchdog watchdog)
                              throws BuildException

      Execute the task by forking a new JVM. The command will block until it finishes. To know if the process was destroyed or not, use the `killedProcess()` method of the watchdog class.
      Parameters:
        `commandline` - the commandline for forked jvm
        `watchdog` - the watchdog in charge of cancelling the test if it exceeds a certain amount of time. Can be `null`.
      Returns:
        the result of running the jdepend
      Throws:
        `BuildException` - in case of error

    - #### createWatchdog

          protected ExecuteWatchdog createWatchdog()
                                            throws BuildException

      Returns:
        `null` if there is a timeout value, otherwise the watchdog instance.
      Throws:
        `BuildException` - in case of error