api / org.gradle.plugins.ide.eclipse.model / EclipseClasspath

EclipseClasspath

open class EclipseClasspath

The build path settings for the generated Eclipse project. Used by the org.gradle.plugins.ide.eclipse.GenerateEclipseClasspath task to generate an Eclipse .classpath file.

The following example demonstrates the various configuration options. Keep in mind that all properties have sensible defaults; only configure them explicitly if the defaults don't match your needs.

 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 want to append extra containers: containers 'someFriendlyContainer', 'andYetAnotherContainer' //customizing the classes output directory: defaultOutputDir = file('build-eclipse') //default settings for downloading sources and Javadoc: downloadSources = true downloadJavadoc = false } } 
For tackling edge cases, users can perform advanced configuration on the resulting XML file. It is also possible to affect the way that the Eclipse plugin merges the existing configuration via beforeMerged and whenMerged closures.

The beforeMerged and whenMerged closures receive a 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 } } } } 

Constructors

<init>

EclipseClasspath(project: Project)

Functions

containers

open fun containers(vararg containers: String): Unit

Further classpath containers to be added.

See EclipseClasspath for an example.

file

open fun file(closure: Closure<Any>): Unit
open fun file(action: Action<in XmlFileContentMerger>): Unit

Enables advanced configuration like tinkering with the output XML or affecting the way that the contents of an existing .classpath file is merged with Gradle build information. The object passed to the whenMerged{} and beforeMerged{} closures is of type Classpath.

See EclipseProject for an example.

getClassFolders

open fun getClassFolders(): MutableList<File>

getContainers

open fun getContainers(): MutableSet<String>

The classpath containers to be added.

See EclipseClasspath for an example.

getDefaultOutputDir

open fun getDefaultOutputDir(): File

The default output directory where Eclipse puts compiled classes.

See EclipseClasspath for an example.

getFile

open fun getFile(): XmlFileContentMerger

See #file(Action).

getFileReferenceFactory

open fun getFileReferenceFactory(): FileReferenceFactory

getMinusConfigurations

open fun getMinusConfigurations(): MutableCollection<Configuration>

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

See EclipseClasspath for an example.

getPathVariables

open fun getPathVariables(): MutableMap<String, File>

getPlusConfigurations

open fun getPlusConfigurations(): MutableCollection<Configuration>

The configurations whose files are to be added as classpath entries.

See EclipseClasspath for an example.

getProject

open fun getProject(): Project

getSourceSets

open fun getSourceSets(): MutableIterable<SourceSet>

The source sets to be added.

See EclipseClasspath for an example.

isDownloadJavadoc

open fun isDownloadJavadoc(): Boolean

Whether to download and associate Javadoc Jars with the dependency Jars. Defaults to false.

See EclipseClasspath for an example.

isDownloadSources

open fun isDownloadSources(): Boolean

Whether to download and associate source Jars with the dependency Jars. Defaults to true.

See EclipseClasspath for an example.

isProjectDependenciesOnly

open fun isProjectDependenciesOnly(): Boolean

mergeXmlClasspath

open fun mergeXmlClasspath(xmlClasspath: Classpath): Unit

resolveDependencies

open fun resolveDependencies(): MutableList<ClasspathEntry>

Calculates, resolves and returns dependency entries of this classpath.

setClassFolders

open fun setClassFolders(classFolders: MutableList<File>): Unit

setContainers

open fun setContainers(containers: MutableSet<String>): Unit

setDefaultOutputDir

open fun setDefaultOutputDir(defaultOutputDir: File): Unit

setDownloadJavadoc

open fun setDownloadJavadoc(downloadJavadoc: Boolean): Unit

setDownloadSources

open fun setDownloadSources(downloadSources: Boolean): Unit

setFile

open fun setFile(file: XmlFileContentMerger): Unit

setMinusConfigurations

open fun setMinusConfigurations(minusConfigurations: MutableCollection<Configuration>): Unit

setPathVariables

open fun setPathVariables(pathVariables: MutableMap<String, File>): Unit

setPlusConfigurations

open fun setPlusConfigurations(plusConfigurations: MutableCollection<Configuration>): Unit

setProjectDependenciesOnly

open fun setProjectDependenciesOnly(projectDependenciesOnly: Boolean): Unit

setSourceSets

open fun setSourceSets(sourceSets: MutableIterable<SourceSet>): Unit