Class EclipseClasspath
- java.lang.Object
-
- org.gradle.plugins.ide.eclipse.model.EclipseClasspath
-
public class EclipseClasspath extends Object
The build path settings for the generated Eclipse project. Used by theGenerateEclipseClasspathtask 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
Classpathobject.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 theClasspathhere } //closure executed after .classpath content is loaded from existing file //and after gradle build information is merged whenMerged { classpath -> //you can tinker with theClasspathhere } } } }
-
-
Constructor Summary
Constructors Constructor Description EclipseClasspath(Project project)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcontainers(String... containers)Further classpath containers to be added.voidfile(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.voidfile(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.FilegetDefaultOutputDir()The default output directory where Eclipse puts compiled classes.XmlFileContentMergergetFile()Seefile(Action).org.gradle.plugins.ide.eclipse.model.internal.FileReferenceFactorygetFileReferenceFactory()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.ProjectgetProject()Iterable<SourceSet>getSourceSets()The source sets to be added.booleanisDownloadJavadoc()Whether to download and associate Javadoc Jars with the dependency Jars.booleanisDownloadSources()Whether to download and associate source Jars with the dependency Jars.booleanisProjectDependenciesOnly()voidmergeXmlClasspath(Classpath xmlClasspath)List<ClasspathEntry>resolveDependencies()Calculates, resolves and returns dependency entries of this classpath.voidsetClassFolders(List<File> classFolders)voidsetContainers(Set<String> containers)voidsetDefaultOutputDir(File defaultOutputDir)voidsetDownloadJavadoc(boolean downloadJavadoc)voidsetDownloadSources(boolean downloadSources)voidsetFile(XmlFileContentMerger file)voidsetMinusConfigurations(Collection<Configuration> minusConfigurations)voidsetPathVariables(Map<String,File> pathVariables)voidsetPlusConfigurations(Collection<Configuration> plusConfigurations)voidsetProjectDependenciesOnly(boolean projectDependenciesOnly)voidsetSourceSets(Iterable<SourceSet> sourceSets)
-
-
-
Constructor Detail
-
EclipseClasspath
@Inject public EclipseClasspath(Project project)
-
-
Method Detail
-
getSourceSets
public Iterable<SourceSet> getSourceSets()
The source sets to be added.See
EclipseClasspathfor an example.
-
getPlusConfigurations
public Collection<Configuration> getPlusConfigurations()
The configurations whose files are to be added as classpath entries.See
EclipseClasspathfor an example.
-
setPlusConfigurations
public void setPlusConfigurations(Collection<Configuration> plusConfigurations)
-
getMinusConfigurations
public Collection<Configuration> getMinusConfigurations()
The configurations whose files are to be excluded from the classpath entries.See
EclipseClasspathfor an example.
-
setMinusConfigurations
public void setMinusConfigurations(Collection<Configuration> minusConfigurations)
-
getContainers
public Set<String> getContainers()
The classpath containers to be added.See
EclipseClasspathfor an example.
-
getDefaultOutputDir
public File getDefaultOutputDir()
The default output directory where Eclipse puts compiled classes.See
EclipseClasspathfor an example.
-
setDefaultOutputDir
public void setDefaultOutputDir(File defaultOutputDir)
-
isDownloadSources
public boolean isDownloadSources()
Whether to download and associate source Jars with the dependency Jars. Defaults to true.See
EclipseClasspathfor an example.
-
setDownloadSources
public void setDownloadSources(boolean downloadSources)
-
isDownloadJavadoc
public boolean isDownloadJavadoc()
Whether to download and associate Javadoc Jars with the dependency Jars. Defaults to false.See
EclipseClasspathfor an example.
-
setDownloadJavadoc
public void setDownloadJavadoc(boolean downloadJavadoc)
-
getFile
public XmlFileContentMerger getFile()
Seefile(Action).
-
setFile
public void setFile(XmlFileContentMerger file)
-
isProjectDependenciesOnly
public boolean isProjectDependenciesOnly()
-
setProjectDependenciesOnly
public void setProjectDependenciesOnly(boolean projectDependenciesOnly)
-
getProject
public Project getProject()
-
containers
public void containers(String... containers)
Further classpath containers to be added.See
EclipseClasspathfor an example.- Parameters:
containers- the classpath containers to be added
-
file
public 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. The object passed to the whenMerged{} and beforeMerged{} closures is of typeClasspath.See
EclipseProjectfor an example.
-
file
public 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. The object passed to the whenMerged{} and beforeMerged{} closures is of typeClasspath.See
EclipseProjectfor an example.- Since:
- 3.5
-
resolveDependencies
public List<ClasspathEntry> resolveDependencies()
Calculates, resolves and returns dependency entries of this classpath.
-
mergeXmlClasspath
public void mergeXmlClasspath(Classpath xmlClasspath)
-
getFileReferenceFactory
public org.gradle.plugins.ide.eclipse.model.internal.FileReferenceFactory getFileReferenceFactory()
-
-