# Class ConventionReportTask

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

All Implemented Interfaces:
  `Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, Configurable<Task>`

Direct Known Subclasses:
  `AbstractProjectBasedReportTask, ProjectBasedReportTask, TaskReportTask`

@DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly") public abstract class ConventionReportTask extends org.gradle.api.internal.ConventionTask
The base class for all project based report tasks with custom task actions.

Since:
  6.9

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  ### Fields inherited from interface 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`
  `ConventionReportTask()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `(package private) String`
  `clickableOutputFileUrl()`
  `protected abstract org.gradle.initialization.BuildClientMetaData`
  `getClientMetaData()`
  `@Nullable File`
  `getOutputFile()`
  Returns the file which the report will be written to.
  `abstract DirectoryProperty`
  `getProjectReportDirectory()`
  Returns the project report directory.
  `Set<Project>`
  `getProjects()`
  Returns the set of project to generate this report for.
  `protected abstract org.gradle.api.tasks.diagnostics.internal.ReportRenderer`
  `getRenderer()`
  `protected abstract org.gradle.internal.logging.text.StyledTextOutputFactory`
  `getTextOutputFactory()`
  `(package private) void`
  `logClickableOutputFileUrl()`
  `(package private) org.gradle.api.tasks.diagnostics.internal.ReportGenerator`
  `reportGenerator()`
  `void`
  `setOutputFile(@Nullable 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.
  `(package private) boolean`
  `shouldCreateReportFile()`

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

  `conventionMapping, conventionMapping, getConventionMapping`

  ### Methods inherited from class DefaultTask

  `compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

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

  `acceptServiceReferences, appendParallelSafeAction, doNotTrackState, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, setImpliesSubProjects`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Task

  `doNotTrackState, notCompatibleWithConfigurationCache`

- ## Constructor Details

  - ### ConventionReportTask

    protected ConventionReportTask()

- ## Method Details

  - ### getProjectReportDirectory

    @Internal public abstract DirectoryProperty getProjectReportDirectory()
    Returns the project report directory.

    The `project-report` plugin sets the default value for all tasks of this type to `buildDir/project`.

    Note, that if the `project-report` plugin is not applied then this property is ignored.

    Returns:
      the directory to store project reports
    Since:
      7.1

  - ### getRenderer

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

  - ### getOutputFile

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

  - ### reportGenerator

    org.gradle.api.tasks.diagnostics.internal.ReportGenerator reportGenerator()

  - ### logClickableOutputFileUrl

    void logClickableOutputFileUrl()

  - ### clickableOutputFileUrl

    String clickableOutputFileUrl()

  - ### shouldCreateReportFile

    boolean shouldCreateReportFile()

  - ### getClientMetaData

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

  - ### getTextOutputFactory

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