# CompareGradleBuilds

API Documentation: | `CompareGradleBuilds`

Note: This class is incubating and may change in a future version of Gradle.

Executes two Gradle builds (that can be the same build) with specified versions and compares the outcomes. Please see the “Comparing Builds” chapter of the Gradle User Guide for more information.

### Properties

Property | Description
`ignoreFailures` | Incubating Whether a comparison between non identical builds will fail the task execution.
`reportDir` | Incubating The directory that will contain the HTML comparison report and any other report files.
`sourceBuild` | Incubating The specification of how to invoke the source build. Defaults to `Project.getRootDir()` with the current Gradle version and the tasks “clean assemble”. The `projectDir` must be the project directory of the root project if this is a multi project build.
`targetBuild` | Incubating The specification of how to invoke the target build. Defaults to `Project.getRootDir()` with the current Gradle version and the tasks “clean assemble”. The `projectDir` must be the project directory of the root project if this is a multi project build.

### Property details

#### `boolean` `ignoreFailures`

Note: This property is incubating and may change in a future version of Gradle.

Whether a comparison between non identical builds will fail the task execution.

Default with `compare-gradle-builds` plugin:
  `false`

#### `File` `reportDir`

Note: This property is incubating and may change in a future version of Gradle.

The directory that will contain the HTML comparison report and any other report files.

Default with `compare-gradle-builds` plugin:
  `${project.reporting.file(this.name)}`

#### `GradleBuildInvocationSpec` `sourceBuild` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

The specification of how to invoke the source build. Defaults to `Project.getRootDir()` with the current Gradle version and the tasks “clean assemble”. The `projectDir` must be the project directory of the root project if this is a multi project build.

#### `GradleBuildInvocationSpec` `targetBuild` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

The specification of how to invoke the target build. Defaults to `Project.getRootDir()` with the current Gradle version and the tasks “clean assemble”. The `projectDir` must be the project directory of the root project if this is a multi project build.

### Script blocks

No script blocks

### Methods

Method | Description
`sourceBuild(config)` | Incubating Configures the source build. A Groovy closure can be used as the action.
`targetBuild(config)` | Incubating Configures the target build. A Groovy closure can be used as the action.

### Method details

#### `void` `sourceBuild`(``Action`<`GradleBuildInvocationSpec`>` config)

Note: This method is incubating and may change in a future version of Gradle.

Configures the source build. A Groovy closure can be used as the action.

    sourceBuild {
      gradleVersion = "1.1"
    }

#### `void` `targetBuild`(``Action`<`GradleBuildInvocationSpec`>` config)

Note: This method is incubating and may change in a future version of Gradle.

Configures the target build. A Groovy closure can be used as the action.

    targetBuild {
      gradleVersion = "1.1"
    }