public class EclipseClasspath extends Object
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.
plugins { id 'java' id '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 //if you want to expose test classes to dependent projects containsTestFixtures = true } }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:
plugins { id 'java' id '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 theClasspath
here } //closure executed after .classpath content is loaded from existing file //and after gradle build information is merged whenMerged { classpath -> //you can tinker with theClasspath
here } } } }
Constructor | Description |
---|---|
EclipseClasspath(Project project) |
Modifier and Type | Method | Description |
---|---|---|
void |
containers(String... containers) |
Further classpath containers to be added.
|
void |
file(Closure closure) |
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.
|
void |
file(Action<? super XmlFileContentMerger> action) |
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.
|
List<File> |
getClassFolders() |
|
Set<String> |
getContainers() |
The classpath containers to be added.
|
Property<Boolean> |
getContainsTestFixtures() |
Returns
true if the classpath contains test fixture classes that should be visible
through incoming project dependencies. |
File |
getDefaultOutputDir() |
The default output directory where Eclipse puts compiled classes.
|
XmlFileContentMerger |
getFile() |
See
file(Action) . |
org.gradle.plugins.ide.eclipse.model.internal.FileReferenceFactory |
getFileReferenceFactory() |
|
Collection<Configuration> |
getMinusConfigurations() |
The configurations whose files are to be excluded from the classpath entries.
|
Map<String,File> |
getPathVariables() |
|
Collection<Configuration> |
getPlusConfigurations() |
The configurations whose files are to be added as classpath entries.
|
Project |
getProject() |
|
Iterable<SourceSet> |
getSourceSets() |
The source sets to be added.
|
boolean |
isDownloadJavadoc() |
Whether to download and associate Javadoc Jars with the dependency Jars.
|
boolean |
isDownloadSources() |
Whether to download and associate source Jars with the dependency Jars.
|
boolean |
isProjectDependenciesOnly() |
|
void |
mergeXmlClasspath(Classpath xmlClasspath) |
|
List<ClasspathEntry> |
resolveDependencies() |
Calculates, resolves and returns dependency entries of this classpath.
|
void |
setClassFolders(List<File> classFolders) |
|
void |
setContainers(Set<String> containers) |
|
void |
setDefaultOutputDir(File defaultOutputDir) |
|
void |
setDownloadJavadoc(boolean downloadJavadoc) |
|
void |
setDownloadSources(boolean downloadSources) |
|
void |
setFile(XmlFileContentMerger file) |
|
void |
setMinusConfigurations(Collection<Configuration> minusConfigurations) |
|
void |
setPathVariables(Map<String,File> pathVariables) |
|
void |
setPlusConfigurations(Collection<Configuration> plusConfigurations) |
|
void |
setProjectDependenciesOnly(boolean projectDependenciesOnly) |
|
void |
setSourceSets(Iterable<SourceSet> sourceSets) |
@Inject public EclipseClasspath(Project project)
public Iterable<SourceSet> getSourceSets()
See EclipseClasspath
for an example.
public Collection<Configuration> getPlusConfigurations()
See EclipseClasspath
for an example.
public void setPlusConfigurations(Collection<Configuration> plusConfigurations)
public Collection<Configuration> getMinusConfigurations()
See EclipseClasspath
for an example.
public void setMinusConfigurations(Collection<Configuration> minusConfigurations)
public Set<String> getContainers()
See EclipseClasspath
for an example.
public File getDefaultOutputDir()
See EclipseClasspath
for an example.
public void setDefaultOutputDir(File defaultOutputDir)
public boolean isDownloadSources()
See EclipseClasspath
for an example.
public void setDownloadSources(boolean downloadSources)
public boolean isDownloadJavadoc()
See EclipseClasspath
for an example.
public void setDownloadJavadoc(boolean downloadJavadoc)
public XmlFileContentMerger getFile()
file(Action)
.public void setFile(XmlFileContentMerger file)
public boolean isProjectDependenciesOnly()
public void setProjectDependenciesOnly(boolean projectDependenciesOnly)
public Project getProject()
public void containers(String... containers)
See EclipseClasspath
for an example.
containers
- the classpath containers to be addedpublic void file(Closure closure)
Classpath
.
See EclipseProject
for an example.
public void file(Action<? super XmlFileContentMerger> action)
Classpath
.
See EclipseProject
for an example.
public List<ClasspathEntry> resolveDependencies()
public void mergeXmlClasspath(Classpath xmlClasspath)
public org.gradle.plugins.ide.eclipse.model.internal.FileReferenceFactory getFileReferenceFactory()
@Incubating public Property<Boolean> getContainsTestFixtures()
true
if the classpath contains test fixture classes that should be visible
through incoming project dependencies.