# Class ProjectDependency

java.lang.Object
org.gradle.plugins.ide.eclipse.model.AbstractClasspathEntry
org.gradle.plugins.ide.eclipse.model.ProjectDependency

All Implemented Interfaces:
  `ClasspathEntry`

public class ProjectDependency extends AbstractClasspathEntry
A classpath entry representing a project dependency.

Since:
  1.0

- ## Field Summary

  ### Fields inherited from class AbstractClasspathEntry

  `accessRules, COMPONENT_DEPENDENCY_ATTRIBUTE, COMPONENT_NON_DEPENDENCY_ATTRIBUTE, entryAttributes, exported, path`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ProjectDependency(Node node)`
  Creates a new `ProjectDependency`.
  `ProjectDependency(String path)`
  Create a dependency on another Eclipse project.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `buildDependencies(Object... buildDependencies)`
  Sets the tasks to be executed to build the file returned by `getPublication()`
  `boolean`
  `equals(Object o)`
  `TaskDependency`
  `getBuildDependencies()`
  Returns the tasks to be executed to build the file returned by `getPublication()`
  `String`
  `getKind()`
  Returns the kind.
  `FileReference`
  `getPublication()`
  Returns the file that can replace this ProjectDependency
  `FileReference`
  `getPublicationJavadocPath()`
  Returns the javadoc artifact of the project publication
  `FileReference`
  `getPublicationSourcePath()`
  Returns the source artifact of the project publication
  `int`
  `hashCode()`
  `void`
  `setPublication(FileReference publication)`
  Sets the file that can replace this ProjectDependency
  `void`
  `setPublicationJavadocPath(FileReference publicationJavadocPath)`
  Sets the javadoc artifact of the project publication
  `void`
  `setPublicationSourcePath(FileReference publicationSourcePath)`
  Sets the source artifact of the project publication
  `String`
  `toString()`

  ### Methods inherited from class AbstractClasspathEntry

  `addClasspathEntry, appendNode, getAccessRules, getEntryAttributes, getNativeLibraryLocation, getPath, isExported, normalizePath, setAccessRules, setExported, setNativeLibraryLocation, setPath, writeEntryAttributes`

  ### Methods inherited from class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### ProjectDependency

    public ProjectDependency(Node node)
    Creates a new `ProjectDependency`.
    Since:
      1.0

  - ### ProjectDependency

    public ProjectDependency(String path)
    Create a dependency on another Eclipse project.
    Parameters:
      `path` - The path to the Eclipse project, which is the name of the eclipse project preceded by "/".
    Since:
      3.1

- ## Method Details

  - ### getPublication

    public FileReference getPublication()
    Returns the file that can replace this ProjectDependency
    Since:
      5.6

  - ### setPublication

    public void setPublication(FileReference publication)
    Sets the file that can replace this ProjectDependency
    Since:
      5.6

  - ### getPublicationSourcePath

    public FileReference getPublicationSourcePath()
    Returns the source artifact of the project publication
    Since:
      5.6
    See Also:
      - `getPublication()`

  - ### setPublicationSourcePath

    public void setPublicationSourcePath(FileReference publicationSourcePath)
    Sets the source artifact of the project publication
    Since:
      5.6
    See Also:
      - `getPublication()`

  - ### getPublicationJavadocPath

    public FileReference getPublicationJavadocPath()
    Returns the javadoc artifact of the project publication
    Since:
      5.6
    See Also:
      - `getPublication()`

  - ### setPublicationJavadocPath

    public void setPublicationJavadocPath(FileReference publicationJavadocPath)
    Sets the javadoc artifact of the project publication
    Since:
      5.6
    See Also:
      - `getPublication()`

  - ### getBuildDependencies

    public TaskDependency getBuildDependencies()
    Returns the tasks to be executed to build the file returned by `getPublication()`

    This property doesn't have a direct effect to the Gradle Eclipse plugin's behaviour. It is used, however, by Buildship to execute the configured tasks each time before the user imports the project or before a project synchronization starts in case this project is closed to build the substitute jar.

    Since:
      5.6

  - ### buildDependencies

    public void buildDependencies(Object... buildDependencies)
    Sets the tasks to be executed to build the file returned by `getPublication()`
    Since:
      5.6
    See Also:
      - `getBuildDependencies()`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `AbstractClasspathEntry`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `AbstractClasspathEntry`

  - ### getKind

    public String getKind()
    Description copied from interface: `ClasspathEntry`
    Returns the kind.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `AbstractClasspathEntry`