# Chapter 27. The Project Report Plugin

The Project report plugin is currently a work in progress, and at this stage doesn't do particularly much. We plan to add much more to these reports in the next release of Gradle.

The Project report plugin adds some tasks to your project which generate reports containing useful information about your build.

## 27.1. Tasks

The project report plugin defines the following tasks:

Table 27.1. Project report plugin - tasks

Task name | Depends on | Type | Description
`dependencyReport` | - | `DependencyReportTask` | Generates the project dependency report.
`propertyReport` | - | `PropertyReportTask` | Generates the project property report.
`taskReport` | - | `TaskReportTask` | Generates the project task report.
`projectReport` | `dependencyReport`, `propertyReport`, `taskReport` | `Task` | Generates all project reports.

## 27.2. Project layout

The project report plugin does not require any particular project layout.

## 27.3. Dependency management

The project report plugin does not define any dependency configurations.

## 27.4. Convention properties

The project report defines the following convention properties:

Table 27.2. Project report plugin - directory properties

Property name | Type | Default value | Description
`reportsDirName` | `String` | `reports` | The name of the directory to generate reports into, relative to the build directory.
`reportsDir` | `File` (read-only) | ``buildDir`/`reportsDirName`` | The directory to generate reports into.
`projectReportDirName` | `String` | `project` | The name of the directory to generate the project report into, relative to the reports directory.
`projectReportDir` | `File` (read-only) | ``reportsDir`/`projectReportDirName`` | The directory to generate the project report into.

These convention properties are provided by a convention object of type `ProjectReportsPluginConvention` .