# JvmClasses

API Documentation: | `JvmClasses`

Note: This class is incubating and may change in a future version of Gradle.

A set of classes and resources that operate together.

### Properties

Property | Description
`buildDependencies` | Returns a dependency which contains the tasks which build this artifact. All `Buildable` implementations must ensure that the returned dependency object is live, so that it tracks changes to the dependencies of this buildable.
`buildTask` | Incubating The 'lifecycle' task associated with the construction of this element.
`classesDir` | Incubating The classes directory for this binary.
`resourceDirs` | Incubating A set of resource directories for this binary.

### Methods

Method | Description
`addResourceDir(resourceDir)` | Incubating Add a resource directory to this binary.
`builtBy(tasks)` | Incubating Adds a task that is required for the construction of this element. A task added this way is then added as a dependency of the associated lifecycle task.

### Script blocks

No script blocks

### Property details

#### `TaskDependency` `buildDependencies` (read-only)

Returns a dependency which contains the tasks which build this artifact. All `Buildable` implementations must ensure that the returned dependency object is live, so that it tracks changes to the dependencies of this buildable.

#### `Task` `buildTask`

Note: This property is incubating and may change in a future version of Gradle.

The 'lifecycle' task associated with the construction of this element.

#### `File` `classesDir`

Note: This property is incubating and may change in a future version of Gradle.

The classes directory for this binary.

#### ``Set`<`File`>` `resourceDirs` (read-only)

Note: This property is incubating and may change in a future version of Gradle.

A set of resource directories for this binary.

### Method details

#### `void` `addResourceDir`(`File` resourceDir)

Note: This method is incubating and may change in a future version of Gradle.

Add a resource directory to this binary.

#### `void` `builtBy`(``Object`...` tasks)

Note: This method is incubating and may change in a future version of Gradle.

Adds a task that is required for the construction of this element. A task added this way is then added as a dependency of the associated lifecycle task.