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.

  • Constructor Details

  • 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, 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