# EclipseModel

API Documentation: | `EclipseModel`

DSL-friendly model of the Eclipse project information. First point of entry for customizing Eclipse project generation.

    plugins {
        id 'java'
        id 'eclipse'
        id 'eclipse-wtp' // for web projects only
    }

    eclipse {
      pathVariables 'GRADLE_HOME': file('/best/software/gradle'), 'TOMCAT_HOME': file('../tomcat')

      project {
        //see docs for EclipseProject
      }

      classpath {
        //see docs for EclipseClasspath
      }

      wtp {
        //see docs for EclipseWtp
      }
    }

More examples in docs for `EclipseProject`, `EclipseClasspath`, `EclipseWtp`

### Properties

Property | Description
`classpath` | Configures eclipse classpath information
`jdt` | Configures eclipse java compatibility information (jdt)
`project` | Configures eclipse project information
`wtp` | Configures eclipse wtp information

### Methods

Method | Description
`classpath(action)` | Configures eclipse classpath information
`jdt(action)` | Configures eclipse java compatibility information (jdt)
`pathVariables(pathVariables)` | Adds path variables to be used for replacing absolute paths in classpath entries.
`project(action)` | Configures eclipse project information
`wtp(action)` | Configures eclipse wtp information

### Script blocks

Block | Description
`classpath` | Configures eclipse classpath information
`jdt` | Configures eclipse java compatibility information (jdt)
`project` | Configures eclipse project information
`wtp` | Configures eclipse wtp information

### Property details

#### `EclipseClasspath` `classpath`

Configures eclipse classpath information

For examples see docs for `EclipseClasspath`

#### `EclipseJdt` `jdt`

Configures eclipse java compatibility information (jdt)

For examples see docs for `EclipseProject`

#### `EclipseProject` `project`

Configures eclipse project information

For examples see docs for `EclipseProject`

#### `EclipseWtp` `wtp`

Configures eclipse wtp information

For examples see docs for `EclipseWtp`

### Method details

#### `void` `classpath`(``Action`<? super `EclipseClasspath`>` action)

Configures eclipse classpath information

For examples see docs for `EclipseClasspath`

#### `void` `jdt`(``Action`<? super `EclipseJdt`>` action)

Configures eclipse java compatibility information (jdt)

For examples see docs for `EclipseProject`

#### `void` `pathVariables`(``Map`<`String`, `File`>` pathVariables)

Adds path variables to be used for replacing absolute paths in classpath entries.

If the beginning of the absolute path of a library or other path-related element matches a value of a variable, a variable entry is used. The matching part of the library path is replaced with the variable name.

For example see docs for `EclipseModel`

#### `void` `project`(``Action`<? super `EclipseProject`>` action)

Configures eclipse project information

For examples see docs for `EclipseProject`

#### `void` `wtp`(``Action`<? super `EclipseWtp`>` action)

Configures eclipse wtp information

For examples see docs for `EclipseWtp`

### Script block details

#### `classpath` { }

Configures eclipse classpath information

For examples see docs for `EclipseClasspath`

Delegates to:
  `EclipseClasspath` from `classpath`

#### `jdt` { }

Configures eclipse java compatibility information (jdt)

For examples see docs for `EclipseProject`

Delegates to:
  `EclipseJdt` from `jdt`

#### `project` { }

Configures eclipse project information

For examples see docs for `EclipseProject`

Delegates to:
  `EclipseProject` from `project`

#### `wtp` { }

Configures eclipse wtp information

For examples see docs for `EclipseWtp`

Delegates to:
  `EclipseWtp` from `wtp`