JacocoTaskExtension (Gradle API 4.8)
Date: 2018-06-04

org.gradle.testing.jacoco.plugins

## Class JacocoTaskExtension

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

-     @Incubating
      public 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 and Description
    --- | ---
    `static class` | `JacocoTaskExtension.Output` The types of output that the agent can use for execution data.

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `File` | `getClassDumpDir()` Path to dump all class files the agent sees are dumped to.
    `File` | `getDestinationFile()` The path for the execution data to be written to.
    `List<String>` | `getExcludeClassLoaders()` List of classloader names that should be excluded from analysis.
    `List<String>` | `getExcludes()` List of class names that should be excluded from analysis.
    `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`.
    `String` | `getSessionId()` An identifier for the session written to the execution data.
    `boolean` | `isAppend()` Whether or not data should be appended if the `destinationFile` already exists.
    `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(String address)`
    `void` | `setAppend(boolean append)`
    `void` | `setClassDumpDir(File classDumpDir)` Sets path to dump all class files the agent sees are dumped to.
    `void` | `setDestinationFile(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(List<String> excludeClassLoaders)`
    `void` | `setExcludes(List<String> excludes)`
    `void` | `setIncludeNoLocationClasses(boolean includeNoLocationClasses)`
    `void` | `setIncludes(List<String> includes)`
    `void` | `setJmx(boolean jmx)`
    `void` | `setOutput(JacocoTaskExtension.Output output)`
    `void` | `setPort(int port)`
    `void` | `setSessionId(String sessionId)`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### JacocoTaskExtension

          public JacocoTaskExtension(Project project,
                                     org.gradle.internal.jacoco.JacocoAgentJar agent,
                                     JavaForkOptions task)

      Creates a Jacoco task extension.
      Parameters:
        `project` - the project
        `agent` - the agent JAR to use for analysis
        `task` - the task we extend

  - ### Method Detail

    - #### isEnabled

          @Input
          public boolean isEnabled()

      Whether or not the task should generate execution data. Defaults to `true`.

    - #### setEnabled

          public void setEnabled(boolean enabled)

    - #### getDestinationFile

          @Nullable
           @Optional
           @OutputFile
          public 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(File destinationFile)

    - #### isAppend

          @Input
          public boolean isAppend()

      Whether or not data should be appended if the `destinationFile` already exists. Defaults to `true`.

    - #### setAppend

          public void setAppend(boolean append)

    - #### getIncludes

          @Nullable
           @Optional
           @Input
          public 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

          @Nullable
           @Optional
           @Input
          public 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

          @Nullable
           @Optional
           @Input
          public 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

          @Nullable
           @Optional
           @Input
          public 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

          @Nullable
           @Optional
           @Input
          public 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

          @Nullable
           @Optional
           @LocalState
          public 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