# EclipseJdt

API Documentation: | `EclipseJdt`

Enables fine-tuning jdt details of the Eclipse plugin

    apply plugin: 'java'
    apply plugin: '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` | 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)` | Enables advanced configuration like affecting the way existing jdt file content is merged with gradle build information

### Script blocks

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

### Property details

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

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)

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` { }

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`