Package org.gradle.api.file

# Interface ProjectLayout

@Incubating public interface ProjectLayout
Provides access to several important locations for a project. An instance of the factory can be injected into a task or plugin by annotating a public constructor or method with `javax.inject.Inject`. It is also available via `Project.getLayout()`.

Since:
  4.1

## Method Summary

Modifier and Type
Method
Description
`DirectoryProperty`
`directoryProperty()`
Creates a new `DirectoryProperty` that uses the project directory to resolve paths, if required.
`DirectoryProperty`
`directoryProperty(Provider<? extends Directory> initialProvider)`
Creates a new `DirectoryProperty` that uses the project directory to resolve paths, if required.
`Provider<RegularFile>`
`file(Provider<File> file)`
Creates a `RegularFile` provider whose location is calculated from the given `Provider`.
`RegularFileProperty`
`fileProperty()`
Creates a new `RegularFileProperty` that uses the project directory to resolve paths, if required.
`RegularFileProperty`
`fileProperty(Provider<? extends RegularFile> initialProvider)`
Creates a new `RegularFileProperty` that uses the project directory to resolve paths, if required.
`DirectoryProperty`
`getBuildDirectory()`
Returns the build directory for the project.
`Directory`
`getProjectDirectory()`
Returns the project directory.
`DirectoryVar`
`newDirectoryVar()`
Deprecated.
Use `directoryProperty()` instead.
`RegularFileVar`
`newFileVar()`
Deprecated.
Use `fileProperty()` instead.

## Method Details

### getProjectDirectory

Directory getProjectDirectory()
Returns the project directory.

### getBuildDirectory

DirectoryProperty getBuildDirectory()
Returns the build directory for the project.

### newDirectoryVar

@Deprecated DirectoryVar newDirectoryVar()
Deprecated.
Use `directoryProperty()` instead.
Creates a new `DirectoryVar` that uses the project directory to resolve paths, if required. The var has no initial value.

### directoryProperty

DirectoryProperty directoryProperty()
Creates a new `DirectoryProperty` that uses the project directory to resolve paths, if required. The property has no initial value.

Since:
  4.3

### directoryProperty

DirectoryProperty directoryProperty(Provider<? extends Directory> initialProvider)
Creates a new `DirectoryProperty` that uses the project directory to resolve paths, if required. The property has the initial provider specified.

Parameters:
  `initialProvider` - initial provider for the property
Since:
  4.4

### newFileVar

@Deprecated RegularFileVar newFileVar()
Deprecated.
Use `fileProperty()` instead.
Creates a new `RegularFileVar` that uses the project directory to resolve paths, if required. The var has no initial value.

### fileProperty

RegularFileProperty fileProperty()
Creates a new `RegularFileProperty` that uses the project directory to resolve paths, if required. The property has no initial value.

Since:
  4.3

### fileProperty

RegularFileProperty fileProperty(Provider<? extends RegularFile> initialProvider)
Creates a new `RegularFileProperty` that uses the project directory to resolve paths, if required. The property has the initial provider specified.

Parameters:
  `initialProvider` - initial provider for the property
Since:
  4.4

### file

Provider<RegularFile> file(Provider<File> file)
Creates a `RegularFile` provider whose location is calculated from the given `Provider`.