Groovy Documentation

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.0