Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | PROPERTY | CONSTR | METHOD | DETAIL: FIELD | PROPERTY | CONSTR | METHOD

## org.gradle.plugins.ide.eclipse.model
[Groovy] Class EclipseClasspath

    java.lang.Object
      org.gradle.plugins.ide.eclipse.model.EclipseClasspath

    class EclipseClasspath

Enables fine-tuning classpath details (.classpath file) of the Eclipse plugin

Example of use with a blend of all possible properties. Bear in mind that usually you don't have configure eclipse classpath directly because Gradle configures it for free!

     apply plugin: 'java'
     apply plugin: 'eclipse'

     configurations {
       provided
       someBoringConfig
     }

     eclipse {

       //if you want parts of paths in resulting file to be replaced by variables (files):
       pathVariables 'GRADLE_HOME': file('/best/software/gradle'), 'TOMCAT_HOME': file('../tomcat')

       classpath {
         //you can tweak the classpath of the eclipse project by adding extra configurations:
         plusConfigurations += configurations.provided

         //you can also remove configurations from the classpath:
         minusConfigurations += configurations.someBoringConfig

         //if you don't want some classpath entries 'exported' in eclipse
         noExportConfigurations += configurations.provided

         //if you want to append extra containers:
         containers 'someFriendlyContainer', 'andYetAnotherContainer'

         //customizing the classes output directory:
         defaultOutputDir = file('build-eclipse')

         //default settings for dependencies sources/javadoc download:
         downloadSources = true
         downloadJavadoc = false
       }
     }

For tackling edge cases users can perform advanced configuration on resulting xml file. It is also possible to affect the way eclipse plugin merges the existing configuration via beforeMerged and whenMerged closures.

beforeMerged and whenMerged closures receive Classpath object

Examples of advanced configuration:

     apply plugin: 'java'
     apply plugin: 'eclipse'

     eclipse {
       classpath {
         file {
           //if you want to mess with the resulting xml in whatever way you fancy
           withXml {
             def node = it.asNode()
             node.appendNode('xml', 'is what I love')
           }

           //closure executed after .classpath content is loaded from existing file
           //but before gradle build information is merged
           beforeMerged { classpath ->
             //you can tinker with the Classpath here
           }

           //closure executed after .classpath content is loaded from existing file
           //and after gradle build information is merged
           whenMerged { classpath ->
             //you can tinker with the Classpath here
           }
         }
       }
     }

Authors:
  Szczepan Faber, created at: 4/16/11

Property Summary
`List` | `classFolders`
`Set` | `containers` Containers to be added to the classpath
`File` | `defaultOutputDir` The default output directory where eclipse puts compiled classes
`boolean` | `downloadJavadoc` Whether to download and add javadocs associated with the dependency jars.
`boolean` | `downloadSources` Whether to download and add sources associated with the dependency jars.
`XmlFileContentMerger` | `file` See file(Closure)
`Collection` | `minusConfigurations` The configurations which files are to be excluded from the classpath entries.
`Collection` | `noExportConfigurations` The included configurations (plusConfigurations) which files will not be exported.
`Map` | `pathVariables`
`Collection` | `plusConfigurations` The configurations which files are to be transformed into classpath entries.
`org` | `project` *
`boolean` | `projectDependenciesOnly`
`Iterable` | `sourceSets` The source sets to be added to the classpath.

Constructor Summary
`EclipseClasspath(Project project)`

Method Summary
`void` | `containers(String... containers)` Adds containers to the .classpath.
`void` | `file(Closure closure)` Enables advanced configuration like tinkering with the output xml or affecting the way existing .classpath content is merged with gradle build information
`FileReferenceFactory` | `getFileReferenceFactory()`
`void` | `mergeXmlClasspath(Classpath xmlClasspath)`
`List` | `resolveDependencies()` Calculates, resolves & returns dependency entries of this classpath

Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Property Detail

### classFolders

    List classFolders

### containers

    Set containers

  Containers to be added to the classpath

  For example see docs for EclipseClasspath

### defaultOutputDir

    File defaultOutputDir

  The default output directory where eclipse puts compiled classes

  For example see docs for EclipseClasspath

### downloadJavadoc

    boolean downloadJavadoc

  Whether to download and add javadocs associated with the dependency jars. Defaults to false.

  For example see docs for EclipseClasspath

### downloadSources

    boolean downloadSources

  Whether to download and add sources associated with the dependency jars. Defaults to true.

  For example see docs for EclipseClasspath

### file

    XmlFileContentMerger file

  See file(Closure)

### minusConfigurations

    Collection minusConfigurations

  The configurations which files are to be excluded from the classpath entries.

  For example see docs for EclipseClasspath

### noExportConfigurations

    Collection noExportConfigurations

  The included configurations (plusConfigurations) which files will not be exported. Only make sense if those configurations are also a part of plusConfigurations

  For example see docs for EclipseClasspath

### pathVariables

    Map pathVariables

### plusConfigurations

    Collection plusConfigurations

  The configurations which files are to be transformed into classpath entries.

  For example see docs for EclipseClasspath

### project

    final org project

  **

### projectDependenciesOnly

    boolean projectDependenciesOnly

### sourceSets

    Iterable sourceSets

  The source sets to be added to the classpath.

  For example see docs for EclipseClasspath

Constructor Detail

### EclipseClasspath

    EclipseClasspath(Project project)

Method Detail

### containers

    void containers(String... containers)

  Adds containers to the .classpath.

  For example see docs for EclipseClasspath

  Parameters:
    `containers` - the container names to be added to the .classpath.

### file

    void file(Closure closure)

  Enables advanced configuration like tinkering with the output xml or affecting the way existing .classpath content is merged with gradle build information

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

  For example see docs for EclipseProject

### getFileReferenceFactory

    FileReferenceFactory getFileReferenceFactory()

### mergeXmlClasspath

    void mergeXmlClasspath(Classpath xmlClasspath)

### resolveDependencies

    List resolveDependencies()

  Calculates, resolves & returns dependency entries of this classpath

Gradle API 1.1-rc-1