org.gradle.tooling.model

## Interface GradleProject

- All Superinterfaces:
    BuildableElement, Element, HierarchicalElement, Model, ProjectModel

      public interface GradleProject
      extends HierarchicalElement, BuildableElement, ProjectModel

  Represents a Gradle project.
  Since:
    1.0-milestone-5

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `GradleProject` | `findByPath(String path)` Searches all descendants (children, grand-children, etc.), including self, by given path.
    `File` | `getBuildDirectory()` Returns the build directory for this project.
    `GradleScript` | `getBuildScript()` Returns the build script for this project.
    `DomainObjectSet<? extends GradleProject>` | `getChildren()` Returns the child elements, or the empty set if there are no child elements.
    `GradleProject` | `getParent()` Returns the parent of this element, or `null` if there is no parent.
    `String` | `getPath()` Returns the path of this project.
    `File` | `getProjectDirectory()` Returns the project directory for this project.
    `ProjectIdentifier` | `getProjectIdentifier()` Returns the identifier for this Gradle project.
    `DomainObjectSet<? extends GradleTask>` | `getTasks()` Returns the tasks of this project.

    - ### Methods inherited from interface org.gradle.tooling.model.Element

      `getDescription, getName`

- - ### Method Detail

    - #### getProjectIdentifier

          @Incubating
          ProjectIdentifier getProjectIdentifier()

      Returns the identifier for this Gradle project.
      Specified by:
        `getProjectIdentifier` in interface `ProjectModel`
      Since:
        2.13

    - #### getTasks

          DomainObjectSet<? extends GradleTask> getTasks()

      Returns the tasks of this project.
      Specified by:
        `getTasks` in interface `BuildableElement`
      Returns:
        The tasks of this project.

    - #### getParent

          GradleProject getParent()

      Returns the parent of this element, or `null` if there is no parent.
      Specified by:
        `getParent` in interface `HierarchicalElement`
      Returns:
        The parent of this element, or `null` if there is no parent.

    - #### getChildren

          DomainObjectSet<? extends GradleProject> getChildren()

      Returns the child elements, or the empty set if there are no child elements.
      Specified by:
        `getChildren` in interface `HierarchicalElement`
      Returns:
        The child elements, or the empty set if there are no child elements.

    - #### getPath

          String getPath()

      Returns the path of this project. This is a unique identifier for this project within the build.
      Returns:
        The path.

    - #### findByPath

          @Nullable
          GradleProject findByPath(String path)

      Searches all descendants (children, grand-children, etc.), including self, by given path.
      Returns:
        Gradle project with matching path or `null` if not found.

    - #### getBuildScript

          @Incubating
          GradleScript getBuildScript()
                                           throws UnsupportedMethodException

      Returns the build script for this project.
      Returns:
        The build script.
      Throws:
        `UnsupportedMethodException` - For Gradle versions older than 1.8, where this method is not supported.
      Since:
        1.8

    - #### getBuildDirectory

          @Incubating
          File getBuildDirectory()
                                      throws UnsupportedMethodException

      Returns the build directory for this project.
      Returns:
        The build directory.
      Throws:
        `UnsupportedMethodException` - For Gradle versions older than 2.0, where this method is not supported.
      Since:
        2.0

    - #### getProjectDirectory

          @Incubating
          File getProjectDirectory()
                                        throws UnsupportedMethodException

      Returns the project directory for this project.
      Returns:
        The project directory.
      Throws:
        `UnsupportedMethodException` - For Gradle versions older than 2.4, where this method is not supported.
      Since:
        2.4