Package org.gradle.api.tasks.diagnostics

## Class AbstractProjectBasedReportTask<T>

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

- Type Parameters:
    `T` - The report model type
  All Implemented Interfaces:
    `java.lang.Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.IConventionAware`, `org.gradle.api.internal.TaskInternal`, `ExtensionAware`, `Task`, `Configurable<Task>`
  Direct Known Subclasses:
    `AbstractDependencyReportTask`, `ProjectReportTask`, `PropertyReportTask`

      @Incubating
      @DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly")
      public abstract class AbstractProjectBasedReportTask<T>
      extends ConventionReportTask

  The base class for all Project based project report tasks.
  Since:
    7.6

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract T` | `calculateReportModelFor​(Project project)` |
    `protected abstract void` | `generateReportFor​(org.gradle.api.tasks.diagnostics.internal.ProjectDetails project, T model)` |

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

      `getClientMetaData, getOutputFile, getProjectReportDirectory, getProjects, getRenderer, 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

      `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

    - #### AbstractProjectBasedReportTask

          public AbstractProjectBasedReportTask()

  - ### Method Detail

    - #### calculateReportModelFor

          protected abstract T calculateReportModelFor​(Project project)

    - #### generateReportFor

          protected abstract void generateReportFor​(org.gradle.api.tasks.diagnostics.internal.ProjectDetails project,
                                                    T model)