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

`Task.Namer`

## Field Summary

### Fields inherited from interface Task

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

## Constructor Summary

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

## Method Summary

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 DefaultTask

`newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

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

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

### Methods inherited from class Object

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

## Constructor Details

### AbstractReportTask

protected AbstractReportTask()

## Method Details

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

@OutputFile @Optional 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(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.