org.gradle.api.artifacts.dsl
Interface DependencyHandler


public interface DependencyHandler

A DependencyHandler is used to declare artifact dependencies. Artifact dependencies are grouped into configurations (see Configuration), and a given dependency declarations is always attached to a single configuration.

To declare a specific dependency for a configuration you can use the following syntax:

 dependencies {
     configurationName dependencyNotation1, dependencyNotation2, ...
 }
 

or, to configure a dependency when it is declared, you can additionally pass a configuration closure:

 dependencies {
     configurationName dependencyNotation {
         configStatement1
         configStatement2
     }
 }
 

There are several supported dependency notations. These are described below. For each dependency declared this way, a Dependency object is created. You can use this object to query or further configure the dependency.

You can also always add instances of Dependency directly:

configurationName <instance>

External Modules

There are 2 notations supported for declaring a dependency on an external module. One is a string notation:

configurationName "group:name:version:classifier"

The other is a map notation:

configurationName group: group:, name: name, version: version, classifier: classifier

In both notations, all properties, except name, are optional.

External dependencies are represented by a ExternalModuleDependency.

Client Modules

To add a client module to a configuration you can use the notation:

 configurationName module(moduleNotation) {
     module dependencies
 }
 
The module notation is the same as the dependency notations described above, except that the classifier property is not available. Client modules are represented using a ClientModule.

Projects

To add a project dependency, you use the following notation

configurationName project(':someProject')

Project dependencies are represented using a ProjectDependency.

Files

You can also add a dependency using a FileCollection:

configurationName files('a file')

File dependencies are represented using a SelfResolvingDependency.


Method Summary
 Dependency add(String configurationName, Object dependencyNotation)
          Adds a dependency to the given configuration.
 Dependency add(String configurationName, Object dependencyNotation, Closure configureClosure)
          Adds a dependency to the given configuration, and configures the dependency using the given closure.
 Dependency gradleApi()
          Creates a dependency on the API of the current version of Gradle.
 Dependency module(Object notation)
          Creates a dependency on a client module.
 Dependency module(Object notation, Closure configureClosure)
          Creates a dependency on a client module.
 Dependency project(Map notation)
          Creates a dependency on a project.
 

Method Detail

add

Dependency add(String configurationName,
               Object dependencyNotation)
Adds a dependency to the given configuration.

Parameters:
configurationName - The name of the configuration.
dependencyNotation - The dependency notation, in one of the notations described above.
Returns:
The dependency.

add

Dependency add(String configurationName,
               Object dependencyNotation,
               Closure configureClosure)
Adds a dependency to the given configuration, and configures the dependency using the given closure.

Parameters:
configurationName - The name of the configuration.
dependencyNotation - The dependency notation, in one of the notations described above.
configureClosure - The closure to use to configure the dependency.
Returns:
The dependency.

module

Dependency module(Object notation)
Creates a dependency on a client module.

Parameters:
notation - The module notation, in one of the notations described above.
Returns:
The dependency.

module

Dependency module(Object notation,
                  Closure configureClosure)
Creates a dependency on a client module. The dependency is configured using the given closure before it is returned.

Parameters:
notation - The module notation, in one of the notations described above.
configureClosure - The closure to use to configure the dependency.
Returns:
The dependency.

project

Dependency project(Map notation)
Creates a dependency on a project.

Parameters:
notation - The project notation, in one of the notations described above.
Returns:
The dependency.

gradleApi

Dependency gradleApi()
Creates a dependency on the API of the current version of Gradle.

Returns:
The dependency.