# 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

Modifier and Type
Method
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 Element

`getDescription, getName`

## Method Details

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