# Class ProjectReportTask

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.api.internal.ConventionTask
org.gradle.api.tasks.diagnostics.ConventionReportTask
org.gradle.api.tasks.diagnostics.AbstractProjectBasedReportTask<ProjectReportTask.ProjectReportModel>
org.gradle.api.tasks.diagnostics.ProjectReportTask

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

@DisableCachingByDefault(because="Not worth caching") public abstract class ProjectReportTask extends AbstractProjectBasedReportTask<ProjectReportTask.ProjectReportModel>

Displays a list of projects in the build. An instance of this type is used when you execute the `projects` task from the command-line.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static final class`
  `ProjectReportTask.ProjectReportModel`
  Report model.

  ### 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
  Constructor
  Description
  `ProjectReportTask()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected ProjectReportTask.ProjectReportModel`
  `calculateReportModelFor(Project project)`
  `protected void`
  `generateReportFor(org.gradle.api.tasks.diagnostics.internal.ProjectDetails project, ProjectReportTask.ProjectReportModel model)`
  `protected void`
  `generateReportHeaderFor(Map<org.gradle.api.tasks.diagnostics.internal.ProjectDetails, ProjectReportTask.ProjectReportModel> modelsByProjectDetails)`
  Provides a means of printing a customizable header section above the per-project details body of the report.
  `abstract org.gradle.internal.build.BuildStateRegistry`
  `getBuildStateRegistry()`
  `protected org.gradle.api.tasks.diagnostics.internal.TextReportRenderer`
  `getRenderer()`

  ### Methods inherited from class AbstractProjectBasedReportTask

  `action, generateReportFooterFor`

  ### Methods inherited from class ConventionReportTask

  `clickableOutputFileUrl, getClientMetaData, getOutputFile, getProjectReportDirectory, getProjects, getTextOutputFactory, logClickableOutputFileUrl, reportGenerator, setOutputFile, setProjects, 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

  - ### ProjectReportTask

    public ProjectReportTask()

- ## Method Details

  - ### getRenderer

    protected org.gradle.api.tasks.diagnostics.internal.TextReportRenderer getRenderer()
    Specified by:
      `getRenderer` in class `ConventionReportTask`

  - ### getBuildStateRegistry

    @Inject public abstract org.gradle.internal.build.BuildStateRegistry getBuildStateRegistry()

  - ### calculateReportModelFor

    protected ProjectReportTask.ProjectReportModel calculateReportModelFor(Project project)
    Specified by:
      `calculateReportModelFor` in class `AbstractProjectBasedReportTask<ProjectReportTask.ProjectReportModel>`

  - ### generateReportHeaderFor

    protected void generateReportHeaderFor(Map<org.gradle.api.tasks.diagnostics.internal.ProjectDetails, ProjectReportTask.ProjectReportModel> modelsByProjectDetails)
    Description copied from class: `AbstractProjectBasedReportTask`
    Provides a means of printing a customizable header section above the per-project details body of the report.

    By default, there is no header information printed.

    Overrides:
      `generateReportHeaderFor` in class `AbstractProjectBasedReportTask<ProjectReportTask.ProjectReportModel>`
    Parameters:
      `modelsByProjectDetails` - information about the projects under report

  - ### generateReportFor

    protected void generateReportFor(org.gradle.api.tasks.diagnostics.internal.ProjectDetails project, ProjectReportTask.ProjectReportModel model)
    Specified by:
      `generateReportFor` in class `AbstractProjectBasedReportTask<ProjectReportTask.ProjectReportModel>`