Package org.gradle.api.tasks.diagnostics

## Class AbstractReportTask

- java.lang.Object
- - org.gradle.api.internal.AbstractTask
  - - org.gradle.api.DefaultTask
    - - org.gradle.api.internal.ConventionTask
      - - org.gradle.api.tasks.diagnostics.AbstractReportTask

- All Implemented Interfaces:
    `Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.IConventionAware`, `org.gradle.api.internal.TaskInternal`, `ExtensionAware`, `Task`, `org.gradle.util.Configurable<Task>`
  Direct Known Subclasses:
    `AbstractDependencyReportTask`, `ProjectReportTask`, `PropertyReportTask`, `TaskReportTask`

      public abstract class AbstractReportTask
      extends org.gradle.api.internal.ConventionTask

  The base class for all project report tasks.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Task

      `Task.Namer`

  - ### Field Summary

    - ### Fields inherited from interface org.gradle.api.Task

      `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractReportTask()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `generate()` |
    `protected abstract void` | `generate​(Project project)` |
    `protected org.gradle.initialization.BuildClientMetaData` | `getClientMetaData()` |
    `File` | `getOutputFile()` | Returns the file which the report will be written to.
    `Set<Project>` | `getProjects()` | Returns the set of project to generate this report for.
    `protected abstract org.gradle.api.tasks.diagnostics.internal.ReportRenderer` | `getRenderer()` |
    `protected org.gradle.internal.logging.text.StyledTextOutputFactory` | `getTextOutputFactory()` |
    `void` | `setOutputFile​(File outputFile)` | Sets the file which the report will be written to.
    `void` | `setProjects​(Set<Project> projects)` | Specifies the set of projects to generate this report for.

    - ### Methods inherited from class org.gradle.api.internal.ConventionTask

      `conventionMapping, conventionMapping, getConventionMapping`

    - ### Methods inherited from class org.gradle.api.DefaultTask

      `newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

    - ### Methods inherited from class org.gradle.api.internal.AbstractTask

      `appendParallelSafeAction, compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTaskIdentity, getTemporaryDir, getTemporaryDirFactory, getTimeout, hasProperty, hasTaskActions, injectIntoNewInstance, isEnabled, isHasCustomActions, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, replaceLogger, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString`

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

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

- - ### Constructor Detail

    - #### AbstractReportTask

          protected AbstractReportTask()

  - ### Method Detail

    - #### getClientMetaData

          @Inject
          protected org.gradle.initialization.BuildClientMetaData getClientMetaData()

    - #### getTextOutputFactory

          @Inject
          protected org.gradle.internal.logging.text.StyledTextOutputFactory getTextOutputFactory()

    - #### generate

          public void generate()

    - #### getRenderer

          @Internal
          protected abstract org.gradle.api.tasks.diagnostics.internal.ReportRenderer getRenderer()

    - #### generate

          protected abstract void generate​(Project project)
                                    throws IOException

      Throws:
        `IOException`

    - #### getOutputFile

          @Nullable
          @Optional
          @OutputFile
          public File getOutputFile()

      Returns the file which the report will be written to. When set to `null`, the report is written to `System.out`. Defaults to `null`.
      Returns:
        The output file. May be null.

    - #### setOutputFile

          public void setOutputFile​(@Nullable
                                    File outputFile)

      Sets the file which the report will be written to. Set this to `null` to write the report to `System.out`.
      Parameters:
        `outputFile` - The output file. May be null.

    - #### getProjects

          @Internal
          public Set<Project> getProjects()

      Returns the set of project to generate this report for. By default, the report is generated for the task's containing project.
      Returns:
        The set of files.

    - #### setProjects

          public void setProjects​(Set<Project> projects)

      Specifies the set of projects to generate this report for.
      Parameters:
        `projects` - The set of projects. Must not be null.