org.apache.tools.ant.taskdefs.optional.jdepend

Class 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.

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