org.gradle.api.plugins.buildcomparison.gradle

## Class CompareGradleBuilds

- java.lang.Object
- - org.gradle.api.internal.AbstractTask
  - - org.gradle.api.DefaultTask
    - - org.gradle.api.plugins.buildcomparison.gradle.CompareGradleBuilds

- All Implemented Interfaces:
    Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Task, VerificationTask, org.gradle.util.Configurable<Task>

      @Incubating
      public class CompareGradleBuilds
      extends DefaultTask
      implements VerificationTask

  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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Task

      `Task.Namer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static List<String>` | `DEFAULT_TASKS`

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

      `TASK_ACTION, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CompareGradleBuilds()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected org.gradle.internal.file.PathToFileResolver` | `getFileResolver()`
    `boolean` | `getIgnoreFailures()` Whether a comparison between non identical builds will fail the task execution.
    `protected org.gradle.internal.reflect.Instantiator` | `getInstantiator()`
    `protected org.gradle.internal.logging.progress.ProgressLoggerFactory` | `getProgressLoggerFactory()`
    `File` | `getReportDir()` The directory that will contain the HTML comparison report and any other report files.
    `GradleBuildInvocationSpec` | `getSourceBuild()` The specification of how to invoke the source build.
    `GradleBuildInvocationSpec` | `getTargetBuild()` The specification of how to invoke the target build.
    `void` | `setIgnoreFailures(boolean ignoreFailures)` Sets whether a comparison between non identical builds will fail the task execution.
    `void` | `setReportDir(Object reportDir)` Sets the directory that will contain the HTML comparison report and any other report files.
    `void` | `sourceBuild(Action<GradleBuildInvocationSpec> config)` Configures the source build.
    `void` | `targetBuild(Action<GradleBuildInvocationSpec> config)` Configures the target build.

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

      `addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doLast, doLast, execute, finalizedBy, getActionClassLoaders, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString`

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

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

- - ### Field Detail

    - #### DEFAULT_TASKS

          public static final List<String> DEFAULT_TASKS

  - ### Constructor Detail

    - #### CompareGradleBuilds

          public CompareGradleBuilds()

  - ### Method Detail

    - #### getFileResolver

          @Inject
          protected org.gradle.internal.file.PathToFileResolver getFileResolver()

    - #### getProgressLoggerFactory

          @Inject
          protected org.gradle.internal.logging.progress.ProgressLoggerFactory getProgressLoggerFactory()

    - #### getInstantiator

          @Inject
          protected org.gradle.internal.reflect.Instantiator getInstantiator()

    - #### getSourceBuild

          public GradleBuildInvocationSpec getSourceBuild()

      The specification of how to invoke the source build. Defaults to `project.rootDir` 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.
      Returns:
        The specification of how to invoke the source build.

    - #### sourceBuild

          public void sourceBuild(Action<GradleBuildInvocationSpec> config)

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

           sourceBuild {
             gradleVersion = "1.1"
           }

      Parameters:
        `config` - The configuration action.

    - #### getTargetBuild

          public GradleBuildInvocationSpec getTargetBuild()

      The specification of how to invoke the target build. Defaults to `project.rootDir` 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.
      Returns:
        The specification of how to invoke the target build.

    - #### targetBuild

          public void targetBuild(Action<GradleBuildInvocationSpec> config)

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

           targetBuild {
             gradleVersion = "1.1"
           }

      Parameters:
        `config` - The configuration action.

    - #### getIgnoreFailures

          @Input
          public boolean getIgnoreFailures()

      Whether a comparison between non identical builds will fail the task execution.
      Specified by:
        `getIgnoreFailures` in interface `VerificationTask`
      Returns:
        True if a comparison between non identical builds will fail the task execution, otherwise false.

    - #### setIgnoreFailures

          public void setIgnoreFailures(boolean ignoreFailures)

      Sets whether a comparison between non identical builds will fail the task execution.
      Specified by:
        `setIgnoreFailures` in interface `VerificationTask`
      Parameters:
        `ignoreFailures` - false to fail the task on non identical builds, true to not fail the task. The default is false.

    - #### getReportDir

          @OutputDirectory
          public File getReportDir()

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

    - #### setReportDir

          public void setReportDir(Object reportDir)

      Sets the directory that will contain the HTML comparison report and any other report files. The value will be evaluated by `project.file()`.
      Parameters:
        `reportDir` - The directory that will contain the HTML comparison report and any other report files.