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 https://github.com/clarkware/jdepend. The current implementation spawn a new Java VM.

### Nested Class Summary

Nested Classes
`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
`JDependTask()`

### Method Summary

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

    @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