# Interface ComponentDependencies

All Known Subinterfaces:
  `LibraryDependencies`

public interface ComponentDependencies
Allows the implementation dependencies of a component to be specified.

Since:
  4.6

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `implementation(Object notation)`
  Adds an implementation dependency to this component.
  `void`
  `implementation(Object notation, Action<? super ExternalModuleDependency> action)`
  Adds an implementation dependency to this component.
  `ProjectDependency`
  `project(String projectPath)`
  Creates a dependency on a project by path.

- ## Method Details

  - ### project

    @Incubating ProjectDependency project(String projectPath)
    Creates a dependency on a project by path.
    Parameters:
      `projectPath` - the path of the project, e.g. ":sub-project"
    Returns:
      The dependency.
    Since:
      9.6.0
    See Also:
      - `Project.getPath()`

  - ### implementation

    void implementation(Object notation)
    Adds an implementation dependency to this component. An implementation dependency is not visible to consumers that are compiled against this component.
    Parameters:
      `notation` - The dependency notation, as per `DependencyHandler.create(Object)`.
    Since:
      4.6

  - ### implementation

    void implementation(Object notation, Action<? super ExternalModuleDependency> action)
    Adds an implementation dependency to this component. An implementation dependency is not visible to consumers that are compiled against this component.
    Parameters:
      `notation` - The dependency notation, as per `DependencyHandler.create(Object)`.
      `action` - The action to run to configure the dependency.
    Since:
      4.6