# Class JacocoTaskExtension

java.lang.Object
org.gradle.testing.jacoco.plugins.JacocoTaskExtension

public abstract class JacocoTaskExtension extends Object
Extension for tasks that should run with a Jacoco agent to generate coverage execution data.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `JacocoTaskExtension.Output`
  The types of output that the agent can use for execution data.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JacocoTaskExtension(ObjectFactory objects, org.gradle.internal.jacoco.JacocoAgentJar agent, JavaForkOptions task)`
  Creates a Jacoco task extension.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `@Nullable String`
  `getAddress()`
  IP address or hostname to use with `JacocoTaskExtension.Output.TCP_SERVER` or `JacocoTaskExtension.Output.TCP_CLIENT`.
  `FileCollection`
  `getAgentClasspath()`
  The Jacoco agent classpath.
  `String`
  `getAsJvmArg()`
  Gets all properties in the format expected of the agent JVM argument.
  `@Nullable File`
  `getClassDumpDir()`
  Path to dump all class files the agent sees are dumped to.
  `@Nullable File`
  `getDestinationFile()`
  The path for the execution data to be written to.
  `@Nullable List<String>`
  `getExcludeClassLoaders()`
  List of classloader names that should be excluded from analysis.
  `@Nullable List<String>`
  `getExcludes()`
  List of class names that should be excluded from analysis.
  `@Nullable List<String>`
  `getIncludes()`
  List of class names that should be included in analysis.
  `JacocoTaskExtension.Output`
  `getOutput()`
  The type of output to generate.
  `int`
  `getPort()`
  Port to bind to for `JacocoTaskExtension.Output.TCP_SERVER` or `JacocoTaskExtension.Output.TCP_CLIENT`.
  `@Nullable String`
  `getSessionId()`
  An identifier for the session written to the execution data.
  `boolean`
  `isDumpOnExit()`
  Whether or not to dump the coverage data at VM shutdown.
  `boolean`
  `isEnabled()`
  Whether or not the task should generate execution data.
  `boolean`
  `isIncludeNoLocationClasses()`
  Whether or not classes without source location should be instrumented.
  `boolean`
  `isJmx()`
  Whether or not to expose functionality via JMX under `org.jacoco:type=Runtime`.
  `void`
  `setAddress(@Nullable String address)`
  `void`
  `setClassDumpDir(@Nullable File classDumpDir)`
  Sets path to dump all class files the agent sees are dumped to.
  `void`
  `setDestinationFile(@Nullable File destinationFile)`
  `void`
  `setDestinationFile(Provider<File> destinationFile)`
  Set the provider for calculating the destination file.
  `void`
  `setDumpOnExit(boolean dumpOnExit)`
  `void`
  `setEnabled(boolean enabled)`
  `void`
  `setExcludeClassLoaders(@Nullable List<String> excludeClassLoaders)`
  `void`
  `setExcludes(@Nullable List<String> excludes)`
  `void`
  `setIncludeNoLocationClasses(boolean includeNoLocationClasses)`
  `void`
  `setIncludes(@Nullable List<String> includes)`
  `void`
  `setJmx(boolean jmx)`
  `void`
  `setOutput(JacocoTaskExtension.Output output)`
  `void`
  `setPort(int port)`
  `void`
  `setSessionId(@Nullable String sessionId)`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### JacocoTaskExtension

    @Inject public JacocoTaskExtension(ObjectFactory objects, org.gradle.internal.jacoco.JacocoAgentJar agent, JavaForkOptions task)
    Creates a Jacoco task extension.
    Parameters:
      `objects` - the object factory
      `agent` - the agent JAR to use for analysis
      `task` - the task we extend

- ## Method Details

  - ### isEnabled

    @Input public boolean isEnabled()
    Whether or not the task should generate execution data. Defaults to `true`.

  - ### setEnabled

    public void setEnabled(boolean enabled)

  - ### getDestinationFile

    @Optional @OutputFile public @Nullable File getDestinationFile()
    The path for the execution data to be written to.

  - ### setDestinationFile

    public void setDestinationFile(Provider<File> destinationFile)
    Set the provider for calculating the destination file.
    Parameters:
      `destinationFile` - Destination file provider
    Since:
      4.0

  - ### setDestinationFile

    public void setDestinationFile(@Nullable File destinationFile)

  - ### getIncludes

    @Optional @Input public @Nullable List<String> getIncludes()
    List of class names that should be included in analysis. Names can use wildcards (* and ?). If left empty, all classes will be included. Defaults to an empty list.

  - ### setIncludes

    public void setIncludes(@Nullable List<String> includes)

  - ### getExcludes

    @Optional @Input public @Nullable List<String> getExcludes()
    List of class names that should be excluded from analysis. Names can use wildcard (* and ?). Defaults to an empty list.

  - ### setExcludes

    public void setExcludes(@Nullable List<String> excludes)

  - ### getExcludeClassLoaders

    @Optional @Input public @Nullable List<String> getExcludeClassLoaders()
    List of classloader names that should be excluded from analysis. Names can use wildcards (* and ?). Defaults to an empty list.

  - ### setExcludeClassLoaders

    public void setExcludeClassLoaders(@Nullable List<String> excludeClassLoaders)

  - ### isIncludeNoLocationClasses

    @Input public boolean isIncludeNoLocationClasses()
    Whether or not classes without source location should be instrumented. Defaults to `false`. This property is only taken into account if the used JaCoCo version supports this option (JaCoCo version >= 0.7.6)

  - ### setIncludeNoLocationClasses

    public void setIncludeNoLocationClasses(boolean includeNoLocationClasses)

  - ### getSessionId

    @Optional @Input public @Nullable String getSessionId()
    An identifier for the session written to the execution data. Defaults to an auto-generated identifier.

  - ### setSessionId

    public void setSessionId(@Nullable String sessionId)

  - ### isDumpOnExit

    @Input public boolean isDumpOnExit()
    Whether or not to dump the coverage data at VM shutdown. Defaults to `true`.

  - ### setDumpOnExit

    public void setDumpOnExit(boolean dumpOnExit)

  - ### getOutput

    @Input public JacocoTaskExtension.Output getOutput()
    The type of output to generate. Defaults to `JacocoTaskExtension.Output.FILE`.

  - ### setOutput

    public void setOutput(JacocoTaskExtension.Output output)

  - ### getAddress

    @Optional @Input public @Nullable String getAddress()
    IP address or hostname to use with `JacocoTaskExtension.Output.TCP_SERVER` or `JacocoTaskExtension.Output.TCP_CLIENT`. Defaults to localhost.

  - ### setAddress

    public void setAddress(@Nullable String address)

  - ### getPort

    @Input public int getPort()
    Port to bind to for `JacocoTaskExtension.Output.TCP_SERVER` or `JacocoTaskExtension.Output.TCP_CLIENT`. Defaults to 6300.

  - ### setPort

    public void setPort(int port)

  - ### getClassDumpDir

    @Optional @LocalState public @Nullable File getClassDumpDir()
    Path to dump all class files the agent sees are dumped to. Defaults to no dumps.
    Since:
      3.4

  - ### setClassDumpDir

    public void setClassDumpDir(@Nullable File classDumpDir)
    Sets path to dump all class files the agent sees are dumped to. Defaults to no dumps.
    Since:
      3.4

  - ### isJmx

    @Input public boolean isJmx()
    Whether or not to expose functionality via JMX under `org.jacoco:type=Runtime`. Defaults to `false`. The configuration of the jmx property is only taken into account if the used JaCoCo version supports this option (JaCoCo version >= 0.6.2)

  - ### setJmx

    public void setJmx(boolean jmx)

  - ### getAgentClasspath

    @Classpath public FileCollection getAgentClasspath()
    The Jacoco agent classpath. This contains only one file - the agent jar.
    Since:
      4.6

  - ### getAsJvmArg

    @Internal public String getAsJvmArg()
    Gets all properties in the format expected of the agent JVM argument.
    Returns:
      state of extension in a JVM argument