Package org.gradle.api.initialization

## Interface ProjectDescriptor

-     public interface ProjectDescriptor

  A `ProjectDescriptor` declares the configuration required to create and evaluate a `Project`.

  A `ProjectDescriptor` is created when you add a project to the build from the settings script, using `Settings.include(String...)` or `Settings.includeFlat(String...)`. You can access the descriptors using one of the lookup methods on the `Settings` object.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `File` | `getBuildFile()` | Returns the build file for this project.
    `String` | `getBuildFileName()` | Returns the name of the build file for this project.
    `Set<ProjectDescriptor>` | `getChildren()` | Returns the children of this project, if any.
    `String` | `getName()` | Returns the name of this project.
    `ProjectDescriptor` | `getParent()` | Returns the parent of this project, if any.
    `String` | `getPath()` | Returns the path of this project.
    `File` | `getProjectDir()` | Returns the project directory of this project.
    `void` | `setBuildFileName​(String name)` | Sets the name of the build file.
    `void` | `setName​(String name)` | Sets the name of this project.
    `void` | `setProjectDir​(File dir)` | Sets the project directory of this project.

- - ### Method Detail

    - #### getName

          String getName()

      Returns the name of this project.
      Returns:
        The name of the project. Never returns null.

    - #### setName

          void setName​(String name)

      Sets the name of this project.
      Parameters:
        `name` - The new name for the project. Should not be null

    - #### getProjectDir

          File getProjectDir()

      Returns the project directory of this project.
      Returns:
        The project directory. Never returns null.

    - #### setProjectDir

          void setProjectDir​(File dir)

      Sets the project directory of this project.
      Parameters:
        `dir` - The new project directory. Should not be null.

    - #### getBuildFileName

          String getBuildFileName()

      Returns the name of the build file for this project. This name is interpreted relative to the project directory.
      Returns:
        The build file name.

    - #### setBuildFileName

          void setBuildFileName​(String name)

      Sets the name of the build file. This name is interpreted relative to the project directory.
      Parameters:
        `name` - The build file name. Should not be null.

    - #### getBuildFile

          File getBuildFile()

      Returns the build file for this project.
      Returns:
        The build file. Never returns null.

    - #### getParent

          @Nullable
          ProjectDescriptor getParent()

      Returns the parent of this project, if any. Returns null if this project is the root project.
      Returns:
        The parent, or null if this is the root project.

    - #### getChildren

          Set<ProjectDescriptor> getChildren()

      Returns the children of this project, if any.
      Returns:
        The children. Returns an empty set if this project does not have any children.

    - #### getPath

          String getPath()

      Returns the path of this project. The path can be used as a unique identifier for this project.
      Returns:
        The path. Never returns null.