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 Modifier and Type Class Description static class
JDependTask.FormatAttribute
A class for the enumerated attribute format, values are xml and text. -
Field Summary
-
Constructor Summary
Constructors Constructor Description JDependTask()
-
Method Summary
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 listCommandline.Argument
createJvmarg(CommandlineJava commandline)
Create a new JVM argument.Path
createSourcespath()
Deprecated.since 1.6.x.protected ExecuteWatchdog
createWatchdog()
void
execute()
execute the taskint
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
-
Constructor Details
-
JDependTask
public JDependTask()
-
-
Method Details
-
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, otherwisefalse
-
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 isjava
. Ignored if no JVM is forked.- Parameters:
value
- the new VM to use instead ofjava
- See Also:
setFork(boolean)
-
createSourcespath
Deprecated.since 1.6.x.Adds a path to source code to analyze.- Returns:
- a source path
-
getSourcespath
Deprecated.since 1.6.x.Gets the sourcepath.- Returns:
- the sources path
-
createClassespath
Adds a path to class code to analyze.- Returns:
- a classes 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
Set the classpath to be used for this compilation.- Parameters:
classpath
- a class path to be used
-
getClasspath
Gets the classpath to be used for this compilation.- Returns:
- the class path used for compilation
-
createClasspath
Adds a path to the classpath.- Returns:
- a classpath
-
createJvmarg
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
Adds a reference to a classpath defined elsewhere.- Parameters:
r
- a classpath reference
-
createExclude
add a name entry on the exclude list- Returns:
- a pattern for the excludes
-
getExcludes
- Returns:
- the excludes patterns
-
setFormat
The format to write the output in, "xml" or "text".- Parameters:
ea
- xml or text
-
execute
execute the task- Overrides:
execute
in classTask
- Throws:
BuildException
- if an error occurs
-
executeInVM
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 BuildExceptionExecute the task by forking a new JVM. The command will block until it finishes. To know if the process was destroyed or not, use thekilledProcess()
method of the watchdog class.- Parameters:
commandline
- the commandline for forked jvmwatchdog
- the watchdog in charge of cancelling the test if it exceeds a certain amount of time. Can benull
.- Returns:
- the result of running the jdepend
- Throws:
BuildException
- in case of error
-
createWatchdog
- Returns:
null
if there is a timeout value, otherwise the watchdog instance.- Throws:
BuildException
- in case of error
-