JDependTask (Apache Ant API)
Date: 2015-06-29

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 and 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.Task

      `target, taskName, taskType, wrapper`

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

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JDependTask()`

  - ### Method Summary

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

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

          public Path createSourcespath()

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

    - #### getSourcespath

          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