Package org.gradle.testing.jacoco.plugins

## Class JacocoTaskExtension

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

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

  - ### Constructor Summary

    Constructors
    Constructor | 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 Deprecated Methods
    Modifier and Type | Method | 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()` | Deprecated. The Jacoco plugin now deletes the old coverage file before task execution, so the data will never be appended to an existing coverage file from another task.
    `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)` | Deprecated.
    `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

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

          @Deprecated
          @Input
          public boolean isAppend()

      Deprecated.
      The Jacoco plugin now deletes the old coverage file before task execution, so the data will never be appended to an existing coverage file from another task. Use `JacocoMerge` to merge different execution files or use `JacocoReportBase.setExecutionData(FileCollection)` to generate a report from multiple execution files at once. Append is set to true for the agent since this allows multiple JVMs spawned by one task to write to the same `destination file`.
      Whether or not data should be appended if the `getDestinationFile()` already exists. Defaults to `true`.

    - #### setAppend

          @Deprecated
          public void setAppend​(boolean append)

      Deprecated.

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

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