Package org.gradle.api.plugins.jvm

## Interface JvmComponentDependencies

-     @Incubating
      public interface JvmComponentDependencies

  This DSL element is used to add dependencies to a component, like `JvmTestSuite`.
  - `implementation` dependencies are used at compilation and runtime.
  - `compileOnly` dependencies are used only at compilation and are not available at runtime.
  - `runtimeOnly` dependencies are not available at compilation and are used only at runtime.
  Since:
    7.3
  See Also:
    `For more information.`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `annotationProcessor​(Object dependencyNotation)` | Add a dependency to the set of annotationProcessor dependencies.
    `void` | `annotationProcessor​(Object dependencyNotation, Action<? super Dependency> configuration)` | Add a dependency to the set of annotationProcessor dependencies.
    `void` | `compileOnly​(Object dependencyNotation)` | Add a dependency to the set of compileOnly dependencies.
    `void` | `compileOnly​(Object dependencyNotation, Action<? super Dependency> configuration)` | Add a dependency to the set of compileOnly dependencies with additional configuration.
    `void` | `implementation​(Object dependencyNotation)` | Add a dependency to the set of implementation dependencies.
    `void` | `implementation​(Object dependencyNotation, Action<? super Dependency> configuration)` | Add a dependency to the set of implementation dependencies with additional configuration.
    `void` | `runtimeOnly​(Object dependencyNotation)` | Add a dependency to the set of runtimeOnly dependencies.
    `void` | `runtimeOnly​(Object dependencyNotation, Action<? super Dependency> configuration)` | Add a dependency to the set of runtimeOnly dependencies with additional configuration.

- - ### Method Detail

    - #### implementation

          void implementation​(Object dependencyNotation)

      Add a dependency to the set of implementation dependencies.

      `implementation` dependencies are used at compilation and runtime.

      Parameters:
        `dependencyNotation` - dependency to add
      See Also:
        `Valid dependency notations.`

    - #### implementation

          void implementation​(Object dependencyNotation,
                              Action<? super Dependency> configuration)

      Add a dependency to the set of implementation dependencies with additional configuration.

      `implementation` dependencies are used at compilation and runtime.

      Parameters:
        `dependencyNotation` - dependency to add
        `configuration` - additional configuration for the provided dependency
      See Also:
        `Valid dependency notations.`

    - #### compileOnly

          void compileOnly​(Object dependencyNotation)

      Add a dependency to the set of compileOnly dependencies.

      `compileOnly` dependencies are used only at compilation and are not available at runtime.

      Parameters:
        `dependencyNotation` - dependency to add
      See Also:
        `Valid dependency notations.`

    - #### compileOnly

          void compileOnly​(Object dependencyNotation,
                           Action<? super Dependency> configuration)

      Add a dependency to the set of compileOnly dependencies with additional configuration.

      `compileOnly` dependencies are used only at compilation and are not available at runtime.

      Parameters:
        `dependencyNotation` - dependency to add
        `configuration` - additional configuration for the provided dependency
      See Also:
        `Valid dependency notations.`

    - #### runtimeOnly

          void runtimeOnly​(Object dependencyNotation)

      Add a dependency to the set of runtimeOnly dependencies.

      `runtimeOnly` dependencies are not available at compilation and are used only at runtime.

      Parameters:
        `dependencyNotation` - dependency to add
      See Also:
        `Valid dependency notations.`

    - #### runtimeOnly

          void runtimeOnly​(Object dependencyNotation,
                           Action<? super Dependency> configuration)

      Add a dependency to the set of runtimeOnly dependencies with additional configuration.

      `runtimeOnly` dependencies are not available at compilation and are used only at runtime.

      Parameters:
        `dependencyNotation` - dependency to add
        `configuration` - additional configuration for the provided dependency
      See Also:
        `Valid dependency notations.`

    - #### annotationProcessor

          void annotationProcessor​(Object dependencyNotation)

      Add a dependency to the set of annotationProcessor dependencies.

      `annotationProcessor` dependencies containing annotation processors to be run at compile time.

      Parameters:
        `dependencyNotation` - dependency to add
      Since:
        7.5
      See Also:
        `Valid dependency notations.`

    - #### annotationProcessor

          void annotationProcessor​(Object dependencyNotation,
                                   Action<? super Dependency> configuration)

      Add a dependency to the set of annotationProcessor dependencies.

      `annotationProcessor` dependencies containing annotation processors to be run at compile time.

      Parameters:
        `dependencyNotation` - dependency to add
        `configuration` - additional configuration for the provided dependency
      Since:
        7.5
      See Also:
        `Valid dependency notations.`