# Class AbstractConfigurationReportTask

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

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

Direct Known Subclasses:
  `OutgoingVariantsReportTask, ResolvableConfigurationsReportTask`

@Incubating @DisableCachingByDefault(because="Produces only non-cacheable console output") public abstract class AbstractConfigurationReportTask extends DefaultTask implements Reporting<ConfigurationReports>
Base class for reporting tasks which display information about attributes and related data associated to a variant/configuration. This class implements `Reporting` to make configuring additional file output formats simple.

Since:
  7.5

- ## 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
  Constructor
  Description
  `AbstractConfigurationReportTask()`
  Creates a new `AbstractConfigurationReportTask`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract org.gradle.api.tasks.diagnostics.internal.configurations.spec.AbstractConfigurationReportSpec`
  `buildReportSpec()`
  Build report spec.
  `protected abstract org.gradle.api.internal.file.FileResolver`
  `getFileResolver()`
  `protected abstract ObjectFactory`
  `getObjectFactory()`
  `final ConfigurationReports`
  `getReports()`
  The reports to be generated by this task.
  `protected abstract org.gradle.internal.logging.text.StyledTextOutputFactory`
  `getTextOutputFactory()`
  `final void`
  `report()`
  Report.
  `ConfigurationReports`
  `reports(Closure closure)`
  Configures the reports to be generated by this task.
  `ConfigurationReports`
  `reports(Action<? super ConfigurationReports> configureAction)`
  Configures the reports to be generated by this task.

  ### 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, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, service, setImpliesSubProjects`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Task

  `doNotTrackState, notCompatibleWithConfigurationCache, service`

- ## Constructor Details

  - ### AbstractConfigurationReportTask

    public AbstractConfigurationReportTask()
    Creates a new `AbstractConfigurationReportTask`.
    Since:
      7.5

- ## Method Details

  - ### getObjectFactory

    @Inject protected abstract ObjectFactory getObjectFactory()

  - ### getTextOutputFactory

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

  - ### getFileResolver

    @Inject protected abstract org.gradle.api.internal.file.FileResolver getFileResolver()

  - ### buildReportSpec

    protected abstract org.gradle.api.tasks.diagnostics.internal.configurations.spec.AbstractConfigurationReportSpec buildReportSpec()
    Build report spec.
    Since:
      7.5

  - ### getReports

    public final ConfigurationReports getReports()
    The reports to be generated by this task.
    Specified by:
      `getReports` in interface `Reporting<ConfigurationReports>`
    Returns:
      The report container

  - ### reports

    public ConfigurationReports reports(@DelegatesTo(value=ConfigurationReports.class,strategy=1) Closure closure)
    Configures the reports to be generated by this task. The contained reports can be configured by task name and closures.
    Specified by:
      `reports` in interface `Reporting<ConfigurationReports>`
    Parameters:
      `closure` - The configuration
    Returns:
      The reports container

  - ### reports

    public ConfigurationReports reports(Action<? super ConfigurationReports> configureAction)
    Configures the reports to be generated by this task. The contained reports can be configured by task name and closures.
    Specified by:
      `reports` in interface `Reporting<ConfigurationReports>`
    Parameters:
      `configureAction` - The configuration
    Returns:
      The reports container

  - ### report

    public final void report()
    Report.
    Since:
      7.5