ProjectBuilder (Gradle API 5.0)
Date: 2018-11-26

Package org.gradle.testfixtures

## Class ProjectBuilder

- java.lang.Object
- - org.gradle.testfixtures.ProjectBuilder

-     public class ProjectBuilder
      extends java.lang.Object

  Creates dummy instances of `Project` which you can use in testing custom task and plugin implementations.

  To create a project instance:

  1. Create a `ProjectBuilder` instance by calling `builder()`.
  2. Optionally, configure the builder.
  3. Call `build()` to create the `Project` instance.

  You can reuse a builder to create multiple `Project` instances.

  The `ProjectBuilder` implementation bundled with Gradle 3.0 and 3.1 suffers from a binary compatibility issue exposed by applying plugins compiled with Gradle 2.7 and earlier. Applying those pre-compiled plugins in a ProjectBuilder context will result in a `ClassNotFoundException`.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ProjectBuilder​()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Project` | `build​()` | Creates the project.
    `static ProjectBuilder` | `builder​()` | Creates a project builder.
    `ProjectBuilder` | `withGradleUserHomeDir​(java.io.File dir)` | Specifies the Gradle user home for the builder.
    `ProjectBuilder` | `withName​(java.lang.String name)` | Specifies the name for the project
    `ProjectBuilder` | `withParent​(Project parent)` | Specifies the parent project.
    `ProjectBuilder` | `withProjectDir​(java.io.File dir)` | Specifies the project directory for the project to build.

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

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

- - ### Constructor Detail

    - #### ProjectBuilder

          public ProjectBuilder​()

  - ### Method Detail

    - #### builder

          public static ProjectBuilder builder​()

      Creates a project builder.
      Returns:
        The builder

    - #### withProjectDir

          public ProjectBuilder withProjectDir​(java.io.File dir)

      Specifies the project directory for the project to build.
      Parameters:
        `dir` - The project directory
      Returns:
        The builder

    - #### withGradleUserHomeDir

          public ProjectBuilder withGradleUserHomeDir​(java.io.File dir)

      Specifies the Gradle user home for the builder. If not set, an empty directory under the project directory will be used.
      Returns:
        The builder

    - #### withName

          public ProjectBuilder withName​(java.lang.String name)

      Specifies the name for the project
      Parameters:
        `name` - project name
      Returns:
        The builder

    - #### withParent

          public ProjectBuilder withParent​(Project parent)

      Specifies the parent project. Use it to create multi-module projects.
      Parameters:
        `parent` - parent project
      Returns:
        The builder

    - #### build

          public Project build​()

      Creates the project.
      Returns:
        The project