Package 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>`

      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 | Description
    --- | --- | ---
    `static List<String>` | `DEFAULT_TASKS` |

    - ### 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
    --- | ---
    `CompareGradleBuilds()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected org.gradle.internal.file.PathToFileResolver` | `getFileResolver()` |
    `boolean` | `getIgnoreFailures()` | Whether a comparison between non identical builds will fail the task execution.
    `protected ObjectFactory` | `getObjectFactory()` | Injects and returns an instance of `ObjectFactory`.
    `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​(File reportDir)` | Sets the directory that will contain the HTML comparison report and any other report files.
    `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.DefaultTask

      `newInputDirectory, newInputFile, newOutputDirectory, newOutputFile`

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

      `appendParallelSafeAction, compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTaskIdentity, getTemporaryDir, getTemporaryDirFactory, getTimeout, hasProperty, hasTaskActions, injectIntoNewInstance, isEnabled, isHasCustomActions, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, replaceLogger, setActions, setDependsOn, setDescription, setDidWork, setEnabled, 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()

    - #### getObjectFactory

          @Inject
          protected ObjectFactory getObjectFactory()

      Injects and returns an instance of `ObjectFactory`.
      Since:
        4.2

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

          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​(File reportDir)

      Sets the directory that will contain the HTML comparison report and any other report files.
      Parameters:
        `reportDir` - The directory that will contain the HTML comparison report and any other report files.
      Since:
        4.0

    - #### 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.