Package org.gradle.api.artifacts.dsl

## Interface DependencyFactory

-     @NonExtensible
      @Incubating
      public interface DependencyFactory

  Factory class for creating `Dependency` instances, with strong typing.

  An instance of the factory can be injected into a task, plugin or other object by annotating a public constructor or property getter method with `javax.inject.Inject`. It is also available via `Project.getDependencyFactory()`.

  Note: This interface is not intended for implementation by build script or plugin authors.

  Since:
    7.6

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ExternalModuleDependency` | `create​(java.lang.CharSequence dependencyNotation)` | Create an `ExternalModuleDependency` from the `"group:name:version:classifier@extension"` notation.
    `ExternalModuleDependency` | `create​(java.lang.String group, java.lang.String name, java.lang.String version)` | Create an `ExternalModuleDependency` from a series of strings.
    `ExternalModuleDependency` | `create​(java.lang.String group, java.lang.String name, java.lang.String version, java.lang.String classifier, java.lang.String extension)` | Create an `ExternalModuleDependency` from a series of strings.
    `FileCollectionDependency` | `create​(FileCollection fileCollection)` | Create a `FileCollectionDependency` from a `FileCollection`.
    `ProjectDependency` | `create​(Project project)` | Create a `ProjectDependency` from a `Project`.
    `Dependency` | `gradleApi()` | Creates a dependency on the API of the current version of Gradle.
    `Dependency` | `gradleTestKit()` | Creates a dependency on the Gradle test-kit API.
    `Dependency` | `localGroovy()` | Creates a dependency on the version of Groovy that is distributed with the current version of Gradle.

- - ### Method Detail

    - #### create

          ExternalModuleDependency create​(java.lang.CharSequence dependencyNotation)

      Create an `ExternalModuleDependency` from the `"group:name:version:classifier@extension"` notation.

      Classifier and extension may each separately be omitted. Version may be omitted if there is no classifier.

      Parameters:
        `dependencyNotation` - the dependency notation
      Returns:
        the new dependency

    - #### create

          ExternalModuleDependency create​(@Nullable
                                          java.lang.String group,
                                          java.lang.String name,
                                          @Nullable
                                          java.lang.String version)

      Create an `ExternalModuleDependency` from a series of strings.
      Parameters:
        `group` - the group (optional)
        `name` - the name
        `version` - the version (optional)
      Returns:
        the new dependency

    - #### create

          ExternalModuleDependency create​(@Nullable
                                          java.lang.String group,
                                          java.lang.String name,
                                          @Nullable
                                          java.lang.String version,
                                          @Nullable
                                          java.lang.String classifier,
                                          @Nullable
                                          java.lang.String extension)

      Create an `ExternalModuleDependency` from a series of strings.
      Parameters:
        `group` - the group (optional)
        `name` - the name
        `version` - the version (optional)
        `classifier` - the classifier (optional)
        `extension` - the extension (optional)
      Returns:
        the new dependency

    - #### create

          FileCollectionDependency create​(FileCollection fileCollection)

      Create a `FileCollectionDependency` from a `FileCollection`.
      Parameters:
        `fileCollection` - the file collection
      Returns:
        the new dependency

    - #### create

          ProjectDependency create​(Project project)

      Create a `ProjectDependency` from a `Project`.
      Parameters:
        `project` - the project
      Returns:
        the new dependency

    - #### gradleApi

          Dependency gradleApi()

      Creates a dependency on the API of the current version of Gradle.
      Returns:
        The dependency.
      Since:
        7.6

    - #### gradleTestKit

          Dependency gradleTestKit()

      Creates a dependency on the Gradle test-kit API.
      Returns:
        The dependency.
      Since:
        7.6

    - #### localGroovy

          Dependency localGroovy()

      Creates a dependency on the version of Groovy that is distributed with the current version of Gradle.
      Returns:
        The dependency.
      Since:
        7.6