Package org.gradle.api.tasks.diagnostics

## 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:
    `java.lang.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 class` | `ProjectReportTask.ProjectReportModel` | Report model.

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    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​(java.util.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.
    `org.gradle.internal.build.BuildStateRegistry` | `getBuildStateRegistry()` |
    `protected org.gradle.api.tasks.diagnostics.internal.TextReportRenderer` | `getRenderer()` |
    `protected abstract org.gradle.plugin.software.internal.SoftwareTypeRegistry` | `getSoftwareTypeRegistry()` |

    - ### Methods inherited from class org.gradle.api.tasks.diagnostics.AbstractProjectBasedReportTask

      `generateReportFooterFor`

    - ### Methods inherited from class org.gradle.api.tasks.diagnostics.ConventionReportTask

      `getClientMetaData, getOutputFile, getProjectReportDirectory, getProjects, getTextOutputFactory, setOutputFile, setProjects`

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

      `conventionMapping, conventionMapping, getConventionMapping`

    - ### Methods inherited from class org.gradle.api.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, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects`

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

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

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

      `doNotTrackState, getConvention, notCompatibleWithConfigurationCache`

- - ### Constructor Detail

    - #### ProjectReportTask

          public ProjectReportTask()

  - ### Method Detail

    - #### getRenderer

          protected org.gradle.api.tasks.diagnostics.internal.TextReportRenderer getRenderer()

      Specified by:
        `getRenderer` in class `ConventionReportTask`

    - #### getBuildStateRegistry

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

    - #### getSoftwareTypeRegistry

          @Inject
          protected abstract org.gradle.plugin.software.internal.SoftwareTypeRegistry getSoftwareTypeRegistry()

    - #### calculateReportModelFor

          protected ProjectReportTask.ProjectReportModel calculateReportModelFor​(Project project)

      Specified by:
        `calculateReportModelFor` in class `AbstractProjectBasedReportTask<ProjectReportTask.ProjectReportModel>`

    - #### generateReportHeaderFor

          protected void generateReportHeaderFor​(java.util.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>`