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

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