# EclipseJdt

API Documentation: | `EclipseJdt`

Enables fine-tuning jdt details of the Eclipse plugin

    plugins {
        id 'java'
        id 'eclipse'
    }

    eclipse {
      jdt {
        //if you want to alter the java versions (by default they are configured with gradle java plugin settings):
        sourceCompatibility = 1.6
        targetCompatibility = 1.5
        javaRuntimeName = "J2SE-1.5"

        file {
          //whenMerged closure is the highest voodoo
          //and probably should be used only to solve tricky edge cases.
          //the type passed to the closure is Jdt

          //closure executed after jdt file content is loaded from existing file
          //and after gradle build information is merged
          whenMerged { jdt
            //you can tinker with the Jdt here
          }

          //withProperties allows addition of properties not currently
          //modeled by Gradle
          withProperties { properties ->
              //you can tinker with the Properties here
          }
        }
      }
    }

### Properties

Property | Description
`file` | Deprecated See `EclipseJdt.file(org.gradle.api.Action)`
`sourceCompatibility` | The source Java language level.
`targetCompatibility` | The target JVM to generate `.class` files for.

### Methods

Method | Description
`file(action)` | Deprecated Enables advanced configuration like affecting the way existing jdt file content is merged with gradle build information

### Script blocks

Block | Description
`file` | Deprecated Enables advanced configuration like affecting the way existing jdt file content is merged with gradle build information

### Property details

#### `PropertiesFileContentMerger` `file` (read-only)

Note: This property is deprecated and will be removed in the next major version of Gradle.

See `EclipseJdt.file(org.gradle.api.Action)`

#### `JavaVersion` `sourceCompatibility`

The source Java language level.

For example see docs for `EclipseJdt`

Default with `eclipse` and `java` plugins:
  `project.sourceCompatibility`

#### `JavaVersion` `targetCompatibility`

The target JVM to generate `.class` files for.

For example see docs for `EclipseJdt`

Default with `eclipse` and `java` plugins:
  `project.targetCompatibility`

### Method details

#### `void` `file`(``Action`<? super `PropertiesFileContentMerger`>` action)

Note: This method is deprecated and will be removed in the next major version of Gradle.

Enables advanced configuration like affecting the way existing jdt file content is merged with gradle build information

The object passed to whenMerged{} and beforeMerged{} actions is of type `Jdt`

The object passed to withProperties{} actions is of type `Properties`

For example see docs for `EclipseJdt`

### Script block details

#### `file` { }

Note: This script block is deprecated and will be removed in the next major version of Gradle.

Enables advanced configuration like affecting the way existing jdt file content is merged with gradle build information

The object passed to whenMerged{} and beforeMerged{} closures is of type `Jdt`

The object passed to withProperties{} closures is of type `Properties`

For example see docs for `EclipseJdt`

Delegates to:
  `PropertiesFileContentMerger` from `file`