java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask
All Implemented Interfaces:
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

    • 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(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:
    • getTimeout

      public Long getTimeout()
      Returns:
      the timeout value
    • setOutputFile

      public void setOutputFile(File outputFile)
      The output file name.
      Parameters:
      outputFile - the output file name
    • getOutputFile

      public 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(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:
    • 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(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:
    • getDir

      public 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:
    • 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